From 6b6b3cb3d67141c4b02c692d6a9ce5d59ae61e9d Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 12 Aug 2022 14:41:33 +0200 Subject: [PATCH 01/35] dev-util/bpftool: Sync with Gentoo It's from Gentoo commit 1065f5bd4dca20a1e68bb6ecc83b03f54d53bca1. --- .../portage-stable/dev-util/bpftool/Manifest | 11 ++++++----- .../{bpftool-5.15.8.ebuild => bpftool-5.18.11.ebuild} | 2 +- ...bpftool-5.16.2.ebuild => bpftool-5.19.2-r1.ebuild} | 10 +++++++++- .../{bpftool-5.16.4.ebuild => bpftool-5.19.8.ebuild} | 10 +++++++++- 4 files changed, 25 insertions(+), 8 deletions(-) rename sdk_container/src/third_party/portage-stable/dev-util/bpftool/{bpftool-5.15.8.ebuild => bpftool-5.18.11.ebuild} (98%) rename sdk_container/src/third_party/portage-stable/dev-util/bpftool/{bpftool-5.16.2.ebuild => bpftool-5.19.2-r1.ebuild} (88%) rename sdk_container/src/third_party/portage-stable/dev-util/bpftool/{bpftool-5.16.4.ebuild => bpftool-5.19.8.ebuild} (88%) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/Manifest index c967ee4514..a54bc76395 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/Manifest @@ -1,5 +1,6 @@ -DIST linux-5.15.tar.xz 121913744 BLAKE2B 3921274b23f7938abdf3ed9334534b4581e13d7484303d3a5280eddb038999aaa8b836666a487472d9c4a219af0f06b9fecccaf348fb5510ab8762f4ef4b7e83 SHA512 d25ad40b5bcd6a4c6042fd0fd84e196e7a58024734c3e9a484fd0d5d54a0c1d87db8a3c784eff55e43b6f021709dc685eb0efa18d2aec327e4f88a79f405705a -DIST linux-5.16.tar.xz 123114100 BLAKE2B 07a90cc640ff89e1359c06cee8c38abd33e51f9b9a89833e31a1d2750526fda4a59e8884db3c1ea63df0a37f0d3de6b5a922b014b7313d8abce20d90ac08adcb SHA512 7a257dd576bc8493595ec7d6f3c9cb6e22c772a8b2dbe735d2485c4f5c56e26a08695546e7e0f1f1cd04a533f25e829361958d4da0b98bf0ba8094dd57a85aaf -DIST patch-5.15.8.xz 537596 BLAKE2B 0f431804d406c4bbb09c44826fe1018b0bca94018337b73387d44ff3e25e6b90e2ec10cf9935847786e4dac6e1523e8e7daeaedb4f854d20a155bd13b29a0c72 SHA512 ef6d0841033fecba7c4aa25f5249a1e532a0d95f4b7e7048357ff00277d9abc11897f92d05d4a2cb90372da9cec8aa6664ce1058f71a6cae6bc647649787667d -DIST patch-5.16.2.xz 20432 BLAKE2B 9c9f697e4dd0a78a94ac0bd361ec69683c6904d9af02da55c3001394e6a6efcc1fccd5d44747fff6ea47271b7655bd7866d161a90196cecaddde1c630ef5c425 SHA512 50d3c386e391603fbfe86780bbfa69c3a7caa83a7eea6c239af133dde3a7aa4746f4a3f1483589018d5ac27caa7ee69d869f8f64f4b5121ddab52224f5302222 -DIST patch-5.16.4.xz 343964 BLAKE2B 1fa1b90cecafe11ea0be1c099c4e2b4775ab87fd204a3ab2985e1ed479866763663db62a4de15c6aae243c0c34356f72c51df7437ce9a8fa8e257c4b3bc6cf20 SHA512 504d02a825dc9e06f2f6802567f179d5b956f3be4ccf3dae97ec31eefb0826f784292215e85fbb51ea98198288db9735de8d87f84551ff85f389cb713ee1cff5 +DIST linux-5.18.tar.xz 129790264 BLAKE2B e2745a69eb70169e90505a9318a3993046eab3020496eecde7d8352ecda0eb71a25b21becf7ce93fc593507dce7d1cd61b94ddcdf82b3094d79c0d3d48508eeb SHA512 dbbc9d1395898a498fa4947fceda1781344fa5d360240f753810daa4fa88e519833e2186c4e582a8f1836e6413e9e85f6563c7770523b704e8702d67622f98b5 +DIST linux-5.19.tar.xz 131581464 BLAKE2B 4db03a6830a3b3bbf0837e1912182a443d9a4aa8af20a12e6ec814ed708038452d3c0ccee1258cca671c464d76461536363a8adc56e9d098c9a44ae3484a297a SHA512 00313b2f9b82d2dc3fb8294007cf7d7599d254b717ed2de23c81fa7a1bbcbc2798ad286cb94e2f7f5bd54132d1d764facd90d30f79dbcc6616cc7f926adc2623 +DIST patch-5.18.11.xz 595980 BLAKE2B 74b305bd21c71c9328f02183c3b098ee1e476c1d58e79120b5d9e9ab53da5c32ffe4bba6f4e4c0d75188f187b81fc898fe9fd29762695254e23702caa824f0aa SHA512 5a4972b96438b38aa2bd6b1893557aab528bc465464613ba2c1ef069e501761d995efb26b9a910f638383a821d249d1f6c748e1da993b428c0c4bcbb24621415 +DIST patch-5.19.2.xz 475316 BLAKE2B e1a3238a1cfb33178d1d9608821ad1f275165b0df0f4883dfd136ebe2ff31839d4cb82af60a874673b256653a0eca625dcb9016179ae9d1522099465b2014642 SHA512 53aecf0c08ce7bbd10e8f7a75397155054badeedbd20a2ef228c6726436e701095a79ae5322c8052550cbd79b8dc02b7caa30c8916cae5733a2bc04ed3157299 +DIST patch-5.19.8.xz 695676 BLAKE2B 3b661fec35c883a97f2f2b489e43cb276eb7cfe6818d37cc3482c880d8c52d3f4ce740b9791d30095d21146ae842988f684c2f7bd153359ba8d2adaaef71221c SHA512 16ee25c1a215a9a14e6bcc4ce6b1a7a83cb99c2ea7754974e247e7a84b21cab8d9f56f174fb49fc682f6a79507c0d7dc3c1162226680364eaa2e632bfb52b161 +DIST perf-5.19-binutils-2.39-patches.tar.xz 5612 BLAKE2B ec3aeadc3e2508f33dddbb419f434885b39b8220d294f3845f0bc96282923ff46dca126a04c732b8286752e56087ba5b2c5ad9526884f6d0b8b6df5665121e5e SHA512 af676e5a600e227d85f89a5ee0cfacfe1845aa56c27ef9da3ebaf578362d7e741375d30565759123b33b86d36bc9981c8c4cda113af32745cc59cf4a9275e73b diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-5.15.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-5.18.11.ebuild similarity index 98% rename from sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-5.15.8.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-5.18.11.ebuild index 6e1462d1df..fe50840026 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-5.15.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-5.18.11.ebuild @@ -25,7 +25,7 @@ S="${S_K}/tools/bpf/bpftool" LICENSE="GPL-2" SLOT="0" -KEYWORDS="amd64 ~x86" +KEYWORDS="amd64 ~riscv ~x86" IUSE="caps" RDEPEND=" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-5.16.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-5.19.2-r1.ebuild similarity index 88% rename from sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-5.16.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-5.19.2-r1.ebuild index d4a6b89268..3b2b5a406a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-5.16.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-5.19.2-r1.ebuild @@ -20,12 +20,14 @@ SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}" LINUX_SOURCES="linux-${LINUX_VER}.tar.xz" SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/dev-util/perf/perf-5.19-binutils-2.39-patches.tar.xz" + S_K="${WORKDIR}/linux-${LINUX_VER}" S="${S_K}/tools/bpf/bpftool" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64 ~riscv ~x86" IUSE="caps" RDEPEND=" @@ -86,6 +88,12 @@ src_prepare() { popd || die fi + pushd "${S_K}" >/dev/null || die + # Used `git format-patch 00b32625982e0c796f0abb8effcac9c05ef55bd3...600b7b26c07a070d0153daa76b3806c1e52c9e00` + # bug #868123 + eapply "${WORKDIR}"/perf-5.19-binutils-2.39-patches + popd || die + # dev-python/docutils installs rst2man.py, not rst2man sed -i -e 's/rst2man/rst2man.py/g' Documentation/Makefile || die } diff --git a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-5.16.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-5.19.8.ebuild similarity index 88% rename from sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-5.16.4.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-5.19.8.ebuild index d4a6b89268..3b2b5a406a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-5.16.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/bpftool/bpftool-5.19.8.ebuild @@ -20,12 +20,14 @@ SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}" LINUX_SOURCES="linux-${LINUX_VER}.tar.xz" SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" +SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/dev-util/perf/perf-5.19-binutils-2.39-patches.tar.xz" + S_K="${WORKDIR}/linux-${LINUX_VER}" S="${S_K}/tools/bpf/bpftool" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~x86" +KEYWORDS="~amd64 ~riscv ~x86" IUSE="caps" RDEPEND=" @@ -86,6 +88,12 @@ src_prepare() { popd || die fi + pushd "${S_K}" >/dev/null || die + # Used `git format-patch 00b32625982e0c796f0abb8effcac9c05ef55bd3...600b7b26c07a070d0153daa76b3806c1e52c9e00` + # bug #868123 + eapply "${WORKDIR}"/perf-5.19-binutils-2.39-patches + popd || die + # dev-python/docutils installs rst2man.py, not rst2man sed -i -e 's/rst2man/rst2man.py/g' Documentation/Makefile || die } From 439a2882394b2367cd3b07c0de23a7bfcdf47740 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Mon, 26 Sep 2022 14:04:28 +0200 Subject: [PATCH 02/35] dev-python/fasteners: Add from Gentoo It's from Gentoo commit 607b8ff663461e081bc51e82102dbd60b383fcdb. It's a dependency of dev-util/catalyst. --- .../dev-python/fasteners/Manifest | 2 ++ .../fasteners/fasteners-0.17.3.ebuild | 27 ++++++++++++++++ .../fasteners/fasteners-0.18.ebuild | 31 +++++++++++++++++++ .../dev-python/fasteners/metadata.xml | 17 ++++++++++ 4 files changed, 77 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/fasteners/Manifest create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.17.3.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.18.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-python/fasteners/metadata.xml diff --git a/sdk_container/src/third_party/portage-stable/dev-python/fasteners/Manifest b/sdk_container/src/third_party/portage-stable/dev-python/fasteners/Manifest new file mode 100644 index 0000000000..80d0684cea --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/fasteners/Manifest @@ -0,0 +1,2 @@ +DIST fasteners-0.17.3.gh.tar.gz 29409 BLAKE2B b4cd5c2f5dcd87808b4edf42ba160eb6b0bf08df544cbe1cc96ab3dd43f8fee02342a56a8b9529354e102f8e4280f9375f89f58318e46f2e8d52fa49bdb0f5ac SHA512 bed890d674bbb8d0442cb0a36c81bd5d1b4e555534ce4451f1cf70dcf72e222d52ae98154d09ac0ad1e52d1a2026c532fd40df715fbbd6bc95f874a916911ec7 +DIST fasteners-0.18.gh.tar.gz 42343 BLAKE2B 702ca6a68733ed202ae0f8a2d9d430012c5786ef8d779903186815f9250ed7b2ccf781694aa57ef230009a470ef7c6bd0e83cc7bc9fcb809d2335542e799e3d6 SHA512 40928e93fa94ca9e67335d15acede73b70906885f8cc34262b00e2dfba9dfed8647f11490ab0df4c8fcfd94778362cfdc4bd0053063660b962202524dd5bda18 diff --git a/sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.17.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.17.3.ebuild new file mode 100644 index 0000000000..3ee13b9161 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.17.3.ebuild @@ -0,0 +1,27 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8..11} ) +inherit distutils-r1 + +DESCRIPTION="Python package that provides useful locks" +HOMEPAGE="https://github.com/harlowja/fasteners/" +SRC_URI=" + https://github.com/harlowja/fasteners/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos" + +BDEPEND=" + test? ( + dev-python/diskcache[${PYTHON_USEDEP}] + dev-python/more-itertools[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest diff --git a/sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.18.ebuild b/sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.18.ebuild new file mode 100644 index 0000000000..202225cc48 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/fasteners/fasteners-0.18.ebuild @@ -0,0 +1,31 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DISTUTILS_USE_PEP517=setuptools +PYTHON_COMPAT=( python3_{8..11} ) +inherit distutils-r1 + +DESCRIPTION="Python package that provides useful locks" +HOMEPAGE="https://github.com/harlowja/fasteners/" +SRC_URI=" + https://github.com/harlowja/fasteners/archive/${PV}.tar.gz + -> ${P}.gh.tar.gz" + +LICENSE="Apache-2.0" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos" + +BDEPEND=" + test? ( + dev-python/diskcache[${PYTHON_USEDEP}] + dev-python/more-itertools[${PYTHON_USEDEP}] + ) +" + +distutils_enable_tests pytest + +EPYTEST_IGNORE=( + tests_eventlet/test_eventlet.py +) diff --git a/sdk_container/src/third_party/portage-stable/dev-python/fasteners/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-python/fasteners/metadata.xml new file mode 100644 index 0000000000..5d535b8499 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-python/fasteners/metadata.xml @@ -0,0 +1,17 @@ + + + + + prometheanfire@gentoo.org + Matthew Thode + + + python@gentoo.org + Python + + + + fasteners + harlowja/fasteners + + From 9b7c1fbd58003c124c759de7da018c5ef5d7d1f6 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 12 Aug 2022 14:41:43 +0200 Subject: [PATCH 03/35] dev-util/catalyst: Sync with Gentoo It's from Gentoo commit b69d9ce8ab378268442900dc477e516e870576be. --- .../portage-stable/dev-util/catalyst/Manifest | 1 - .../dev-util/catalyst/catalyst-3.0.18.ebuild | 73 ------------------- .../dev-util/catalyst/catalyst-3.0.21.ebuild | 2 +- 3 files changed, 1 insertion(+), 75 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-3.0.18.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/Manifest index b5babf4abe..02379c1ffa 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/Manifest @@ -1,2 +1 @@ -DIST catalyst-3.0.18.tar.bz2 621208 BLAKE2B 63f76634b96006ef4a751b0ce166ab36dcba3016234251b2e44e89b43b0c6909e57914007d6287e54584094ff7f064c0251a79f095c87e4c7957925e9d4605cd SHA512 94a30304b242b4e63cc14f34916acd68c03700876ba1cc2f516880f4e8365258de8b62db85cddc9492229414484ba6908edc91991b70b13da0578792b8b96aa3 DIST catalyst-3.0.21.tar.bz2 620472 BLAKE2B 6ecf59edde24cbec6d072a31680b75e2e7f142e267b43783473dc607b189d5091b6ca2b7bd02e88a6528a7bccea8441fce21c74aed6623ec14d701557fb4d267 SHA512 e2c58a562508e25465186a5d9771040ddb9f00104943a6434489e5ef01da220ac0330339f741d023717c8d1df6ec2bf765654fabe4097d93d3086ef9005a294c diff --git a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-3.0.18.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-3.0.18.ebuild deleted file mode 100644 index 3a8a525c1c..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/catalyst/catalyst-3.0.18.ebuild +++ /dev/null @@ -1,73 +0,0 @@ -# Copyright 1999-2022 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=6 - -if [[ ${PV} == *9999* ]]; then - SRC_ECLASS="git-r3" - EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/catalyst.git" - EGIT_BRANCH="master" -else - SRC_URI="https://gitweb.gentoo.org/proj/catalyst.git/snapshot/${P}.tar.bz2" - KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86" -fi - -PYTHON_COMPAT=( python3_{8,9} ) -DISTUTILS_USE_SETUPTOOLS=no - -inherit distutils-r1 ${SRC_ECLASS} - -DESCRIPTION="Release metatool used for creating releases based on Gentoo Linux" -HOMEPAGE="https://wiki.gentoo.org/wiki/Catalyst" - -LICENSE="GPL-2+" -SLOT="0" -IUSE="ccache doc +iso system-bootloader" - -DEPEND=" - app-text/asciidoc - >=dev-python/snakeoil-0.6.5[${PYTHON_USEDEP}] - Date: Fri, 12 Aug 2022 14:42:08 +0200 Subject: [PATCH 04/35] dev-util/checkbashisms: Sync with Gentoo It's from Gentoo commit e09c85b030751cd96677344118f25c2be97457c5. --- .../portage-stable/dev-util/checkbashisms/Manifest | 4 ++-- ...hisms-2.21.4.ebuild => checkbashisms-2.22.1.ebuild} | 4 ++-- ...hisms-2.21.2.ebuild => checkbashisms-2.22.2.ebuild} | 10 ++++------ 3 files changed, 8 insertions(+), 10 deletions(-) rename sdk_container/src/third_party/portage-stable/dev-util/checkbashisms/{checkbashisms-2.21.4.ebuild => checkbashisms-2.22.1.ebuild} (89%) rename sdk_container/src/third_party/portage-stable/dev-util/checkbashisms/{checkbashisms-2.21.2.ebuild => checkbashisms-2.22.2.ebuild} (88%) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/checkbashisms/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/checkbashisms/Manifest index fdcf0a4005..78ff5a9b36 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/checkbashisms/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/checkbashisms/Manifest @@ -1,2 +1,2 @@ -DIST devscripts_2.21.2.tar.xz 980516 BLAKE2B 907f2f4e258a8396ad0a28eead1e2058b8e19be205f024ea80c0fbd9621d5ca4299844fe83d66cac7f653a917705d9c36eddb9d51454a7fbb9d7e2b52bc994ff SHA512 a6765d807dc0c2ef7a3d8c59e1262bfe7542c3ca52cda3c1910af253925cb105a9d1bf272c76a86f0b3cdda9c8a4e2d29a660437f73087dd70ee8a444bbedb01 -DIST devscripts_2.21.4.tar.xz 981488 BLAKE2B 29339490586a66c6360f599a90e23452fd1e99fd01757e258e082b9550731b3e443b12fb9ce9b8fe6fb229f228a115f87a9b91b8769000afd741eb77e9e7a4a4 SHA512 99250737cabc24bbd21e20de7c787e182492e15cad4288226ed497349cbf3dd45927e1c501d73341e48dfd14ee2285c8cca8ac3b2145c2f02ce4d04ddb881e50 +DIST devscripts_2.22.1.tar.xz 989556 BLAKE2B 2a2e3ca9757c710e181e807f0369c137f21070d86b4c51d8b5132ca4add33677edbd26e04a2faae93e9e4586080286888880ce450119579aa40ad205c8e5d857 SHA512 260603e1a655035c5aca3c9734db1bc6aa7e9aa017ece7e9158c57e06a1ee548922ec2defdd9dcb4560743d78aef08d30695b1bc833bd4d77fe1c7497d157c45 +DIST devscripts_2.22.2.tar.xz 995524 BLAKE2B a7649ea5b790a64b5470a66425e487959b058e9af34be173210277765c8610f7d6da1b9105f97e1da2f84a578ca7514b1dabaa7c38a88c9b1eef29c2f34f97a1 SHA512 d6c47f604a252f58e1cf8ea9fe7387a390683757144bb76cce6915fca1ff7ccb71ce6c87d829f874097d869172774a806b506dc7fb4187876d14e50eaaf92593 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/checkbashisms/checkbashisms-2.21.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/checkbashisms/checkbashisms-2.22.1.ebuild similarity index 89% rename from sdk_container/src/third_party/portage-stable/dev-util/checkbashisms/checkbashisms-2.21.4.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/checkbashisms/checkbashisms-2.22.1.ebuild index 0c7a74637d..d9192e5dd2 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/checkbashisms/checkbashisms-2.21.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/checkbashisms/checkbashisms-2.22.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -13,7 +13,7 @@ S="${WORKDIR}/${MY_P}/scripts" LICENSE="GPL-2" SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86" +KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86" # Requires python packages to check tools we don't need anyway RESTRICT="test" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/checkbashisms/checkbashisms-2.21.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/checkbashisms/checkbashisms-2.22.2.ebuild similarity index 88% rename from sdk_container/src/third_party/portage-stable/dev-util/checkbashisms/checkbashisms-2.21.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/checkbashisms/checkbashisms-2.22.2.ebuild index 8078bd1b9a..80c4ac6c7c 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/checkbashisms/checkbashisms-2.21.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/checkbashisms/checkbashisms-2.22.2.ebuild @@ -1,7 +1,7 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 MY_PN="devscripts" MY_P="${MY_PN}-${PV}" @@ -9,11 +9,11 @@ MY_P="${MY_PN}-${PV}" DESCRIPTION="Perl script to check for commonly used bash features not defined by POSIX" HOMEPAGE="https://packages.debian.org/devscripts https://salsa.debian.org/debian/devscripts" SRC_URI="mirror://debian/pool/main/d/${MY_PN}/${MY_P/-/_}.tar.xz" +S="${WORKDIR}/${MY_P}/scripts" LICENSE="GPL-2" SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86" -IUSE="" +KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86" # Requires python packages to check tools we don't need anyway RESTRICT="test" @@ -21,8 +21,6 @@ RESTRICT="test" RDEPEND="dev-lang/perl virtual/perl-Getopt-Long" -S="${WORKDIR}/${MY_P}/scripts" - src_prepare() { default From 62141c3d78f3b371956d2ddd3cb902559f130c74 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 12 Aug 2022 14:42:12 +0200 Subject: [PATCH 05/35] dev-util/cmake: Sync with Gentoo It's from Gentoo commit cace9da3e438db8d92102b7c3c963c874115a9ba. --- .../portage-stable/dev-util/cmake/Manifest | 10 +- ...make-3.22.1.ebuild => cmake-3.23.3.ebuild} | 103 +++++++----- ...make-3.20.5.ebuild => cmake-3.24.2.ebuild} | 157 ++++++++++++------ ...{cmake-3.21.4.ebuild => cmake-9999.ebuild} | 157 ++++++++++++------ .../dev-util/cmake/metadata.xml | 4 + 5 files changed, 295 insertions(+), 136 deletions(-) rename sdk_container/src/third_party/portage-stable/dev-util/cmake/{cmake-3.22.1.ebuild => cmake-3.23.3.ebuild} (73%) rename sdk_container/src/third_party/portage-stable/dev-util/cmake/{cmake-3.20.5.ebuild => cmake-3.24.2.ebuild} (60%) rename sdk_container/src/third_party/portage-stable/dev-util/cmake/{cmake-3.21.4.ebuild => cmake-9999.ebuild} (60%) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/cmake/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/cmake/Manifest index 08f0bfe8bc..c78232995d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/cmake/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/cmake/Manifest @@ -1,3 +1,7 @@ -DIST cmake-3.20.5.tar.gz 9441947 BLAKE2B f073d7c3968c714be315f5014076c785790ed47e9a746f2d16bc59769fb6862009f67c2e118038c6c9d8390b709f2b4ed4a4dfc41a93996fedd9d7d77111b84a SHA512 4ad7f194353be291e76d86d95928633daea653a0bd8d35369ac6ee2bb3f811c3a1aabe6a2bd51c6d5b07af2c6edc7e38d8b347ded32ab1ddcf331dbfce40c008 -DIST cmake-3.21.4.tar.gz 9630991 BLAKE2B ca6b6c50d984cc6713f3e88e1a6438c360d80c34927e60a20cc006ba47df2b91a290f1578d556f58d2d40711848a9b9caf36f65a043df892b81c1d48e3edb0d8 SHA512 0262a666f6da106576c26215580c40b54497bcdac400e847e1799716c31c71068293e719416338132a7da6122826c08ff50ac23dfed2711ab42631e96303f544 -DIST cmake-3.22.1.tar.gz 9778031 BLAKE2B 8c91e9e666ece94e0cfb5868ad257b1de824206b6f5420a5f516f684e4fd655e634918c59955f41a3f27b604b76946d86ab51cf975de7052c067a9dc4f952400 SHA512 b1e900fe573cd1cc76d26386f2298d7722737c9ff67930ee108994972b4561ef69caeb537177c9b95b7f17b755e20e034825d3807ea0d2dd4c391310b03adc11 +DIST cmake-3.23.3-SHA-256.txt 1452 BLAKE2B aa2e2dfb2757210688a5a9131ca1fffdf6617a52219d373fd908c08e52b7d77f0e980086561a083cabaf8d9f3e24b15064bb74ad2737fcbfe11c8aba5814eb4e SHA512 22808c050e8927867fc5d2daa6999d9eed53e99015f89d1f5bef61397d1b2a9888728e86fdca8716c47f8133e02b3fa726d0cc97c0bb4ab5f5ff16a1fc0ae82f +DIST cmake-3.23.3-SHA-256.txt.asc 833 BLAKE2B 10f61d7cfaa5c86d0e372f33d9ba0dbe7ae9cbfe17669107167b3ae72d0e337c63fb1c27a528dcda804323a1f0d4843b630e15427c33e0f5d5c568e27cea769d SHA512 75ff4b25fdd71bc05a7d6fec3c72ec5b8d6ed7ac980d533e6c820855c74a1a58f52d53c1a454dffe1a15568445c4c1c805891997e5709567c9e7709ba1c5e4d9 +DIST cmake-3.23.3.tar.gz 9988050 BLAKE2B 55105ce380e5e9f1839fc38cc0eaefe505d58bffa60feab9813a36c7cac92f4fb6aa6b6aaad899f1e8d58cfa5ececb9e7335a470244ccc06848d833b1eddf224 SHA512 75f86abe60ef28ba9bd06546c0c24578921621fb4be942171e629366a759cf1469e430945addc85f8ce977920883c063ed26de1b78fd24dfd98d0eb604800632 +DIST cmake-3.24.2-SHA-256.txt 1646 BLAKE2B 3c48226c96844c5ddd8567637a61eca697425021735d5dc8613a1fd7a68887f6707b6030c1e4476af5e4bdb4830cc4ff3d8708f4bdf557ba94508086e0447030 SHA512 f7500d8c9a500c9ad2679a68d6343cbbbae1483014ab2cd48a056e1e9591b6edd0d712e9ff5441e19c05284696e6c52ebdc3cf1efc61432f2764da7703816b49 +DIST cmake-3.24.2-SHA-256.txt.asc 833 BLAKE2B fe6a3caa3db7b6be186e49ee5d86706f2cda9a45858bc964be5407f577195d0af74c10e66ea30faa0a35280f1c9f927732f9cc7fcb9dae8e521882955b6ef617 SHA512 a0fa1a002f2f23e8b3b8fb2689905ac618ca423b96f904bee172d6a62e6fb0c0a46394ce57474be9c9810e1d09abf3b192f595cb0e92d5c62d11b60f0c572b82 +DIST cmake-3.24.2-docs.tar.xz 492188 BLAKE2B 64e0d69ce8e739e6622b0cfde8956cb2bf67f9bf412b8d98afa1657bd30d8a2a1cf874e6422c78c222199616aac85d472ef398c83da29d5d64516384e9ed69aa SHA512 d0ef81dfe37ac2a225fe795fd3e6780e3b8fd5caa472a14ff8d036917172efd13126897c7a2a78d8269aa20e4f35c7b9be7bed14ecbfb24df332c332a4ff16c4 +DIST cmake-3.24.2.tar.gz 10396126 BLAKE2B fcfdbbce94ce6cdb3fa478afe591bc63ba25104a32edc3dd9395d7b6bd16e222f41428ef4f9982061d6d1e69b10efbc2a33cc9df4573400612b4b756b80ec348 SHA512 6f0e8e29bf0336f555ba72c4d83f35d820f8a5159cc999d48795dc57a6627b4ee3966dda84ca97d39906e35dd476ea00cf80023672cc0fad862e2996194c0674 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-3.22.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-3.23.3.ebuild similarity index 73% rename from sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-3.22.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-3.23.3.ebuild index a9b3de7323..01a0ab8891 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-3.22.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-3.23.3.ebuild @@ -1,9 +1,12 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -CMAKE_MAKEFILE_GENERATOR="emake" # TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja +# 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 elisp-common flag-o-matic multiprocessing \ toolchain-funcs virtualx xdg-utils @@ -12,12 +15,28 @@ MY_P="${P/_/-}" DESCRIPTION="Cross platform Make" HOMEPAGE="https://cmake.org/" -SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz" +if [[ ${PV} == 9999 ]] ; then + inherit git-r3 + EGIT_REPO_URI="https://gitlab.kitware.com/cmake/cmake.git" +else + SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz" + if [[ ${PV} != *_rc* ]] ; then + VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/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 ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bradking )" + fi +fi LICENSE="CMake" SLOT="0" -[[ "${PV}" = *_rc* ]] || \ -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="doc emacs ncurses qt5 test" RESTRICT="!test? ( test )" @@ -39,7 +58,7 @@ RDEPEND=" ) " DEPEND="${RDEPEND}" -BDEPEND=" +BDEPEND+=" doc? ( dev-python/requests dev-python/sphinx @@ -91,39 +110,22 @@ cmake_src_bootstrap() { || die "Bootstrap failed" } -cmake_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 +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + elif ! use verify-sig || [[ ${PV} == *_rc ]] ; then + default + else + cd "${DISTDIR}" || die - pushd "${BUILD_DIR}" > /dev/null + # 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 - local ctestargs - [[ -n ${TEST_VERBOSE} ]] && ctestargs="--extra-verbose --output-on-failure" + cd "${WORKDIR}" || die - # Excluded tests: - # BootstrapTest: we actually bootstrap it every time so why test it. - # BundleUtilities: bundle creation broken - # CMakeOnly.AllFindModules: pthread issues - # CTest.updatecvs: 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 - # RunCMake.{IncompatibleQt,ObsoleteQtMacros}: Require Qt4 - # TestUpload: requires network access - "${BUILD_DIR}"/bin/ctest \ - -j "$(makeopts_jobs)" \ - --test-load "$(makeopts_loadavg)" \ - ${ctestargs} \ - -E "(BootstrapTest|BundleUtilities|ConfigSources|CMakeOnly.AllFindModules|CPackComponentsDEB-components-depend2|CompileOptions|CTest.UpdateCVS|DependencyGraph|Fortran|RunCMake.CompilerLauncher|RunCMake.IncompatibleQt|RunCMake.ObsoleteQtMacros|RunCMake.PrecompileHeaders|RunCMake.CPack_(DEB|RPM)|TestUpload)" \ - || die "Tests failed" - - popd > /dev/null + default + fi } src_prepare() { @@ -159,7 +161,8 @@ src_prepare() { -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" - if ! has_version -b \>=${CATEGORY}/${PN}-3.4.0_rc1 || ! cmake --version &>/dev/null ; then + + if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" cmake_src_bootstrap fi @@ -190,6 +193,32 @@ src_compile() { } 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 actualy bootstrap it every time so why test it. + # BundleUtilities: bundle creation broken + # CMakeOnly.AllFindModules: pthread issues + # CTest.updatecvs: which fails to commit as root + # Fortran: requires fortran + # RunCMake.CompilerLauncher: also requires fortran + # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because + # debugedit binary is not in the expected location + # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because + # it can't find a deb package that owns libc + # TestUpload, which requires network access + # RunCMake.CMP0125, known failure reported upstream (bug #829414) + local myctestargs=( + --output-on-failure + -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \ + ) + virtx cmake_src_test } diff --git a/sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-3.20.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-3.24.2.ebuild similarity index 60% rename from sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-3.20.5.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-3.24.2.ebuild index 466c27ca2e..9491df325a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-3.20.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-3.24.2.ebuild @@ -1,9 +1,23 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -CMAKE_MAKEFILE_GENERATOR="emake" # TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja +# 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-3) +# 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 elisp-common flag-o-matic multiprocessing \ toolchain-funcs virtualx xdg-utils @@ -12,13 +26,40 @@ MY_P="${P/_/-}" DESCRIPTION="Cross platform Make" HOMEPAGE="https://cmake.org/" -SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz" +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="${BROOT}"/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 ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bradking )" + fi +fi + +[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc" + +S="${WORKDIR}/${MY_P}" LICENSE="CMake" SLOT="0" -[[ "${PV}" = *_rc* ]] || \ -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="doc emacs ncurses qt5 test" +IUSE="${CMAKE_DOCS_USEFLAG} emacs ncurses qt5 test" RESTRICT="!test? ( test )" RDEPEND=" @@ -39,7 +80,7 @@ RDEPEND=" ) " DEPEND="${RDEPEND}" -BDEPEND=" +BDEPEND+=" doc? ( dev-python/requests dev-python/sphinx @@ -47,23 +88,21 @@ BDEPEND=" test? ( app-arch/libarchive[zstd] ) " -S="${WORKDIR}/${MY_P}" - SITEFILE="50${PN}-gentoo.el" PATCHES=( - # prefix + # Prefix "${FILESDIR}"/${PN}-3.16.0_rc4-darwin-bundle.patch "${FILESDIR}"/${PN}-3.14.0_rc3-prefix-dirs.patch "${FILESDIR}"/${PN}-3.19.1-darwin-gcc.patch - # handle gentoo packaging in find modules + # Handle gentoo packaging in find modules "${FILESDIR}"/${PN}-3.17.0_rc1-FindBLAS.patch # Next patch needs to be reworked #"${FILESDIR}"/${PN}-3.17.0_rc1-FindLAPACK.patch "${FILESDIR}"/${PN}-3.5.2-FindQt4.patch - # respect python eclasses + # Respect python eclasses "${FILESDIR}"/${PN}-2.8.10.2-FindPythonLibs.patch "${FILESDIR}"/${PN}-3.9.0_rc2-FindPythonInterp.patch @@ -91,59 +130,43 @@ cmake_src_bootstrap() { || die "Bootstrap failed" } -cmake_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 +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + elif ! use verify-sig || [[ ${PV} == *_rc* ]] ; then + default + else + cd "${DISTDIR}" || die - pushd "${BUILD_DIR}" > /dev/null + # 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 - local ctestargs - [[ -n ${TEST_VERBOSE} ]] && ctestargs="--extra-verbose --output-on-failure" + cd "${WORKDIR}" || die - # Excluded tests: - # BootstrapTest: we actually bootstrap it every time so why test it. - # BundleUtilities: bundle creation broken - # CMakeOnly.AllFindModules: pthread issues - # CTest.updatecvs: 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 - # RunCMake.{IncompatibleQt,ObsoleteQtMacros}: Require Qt4 - # TestUpload: requires network access - "${BUILD_DIR}"/bin/ctest \ - -j "$(makeopts_jobs)" \ - --test-load "$(makeopts_loadavg)" \ - ${ctestargs} \ - -E "(BootstrapTest|BundleUtilities|ConfigSources|CMakeOnly.AllFindModules|CPackComponentsDEB-components-depend2|CompileOptions|CTest.UpdateCVS|DependencyGraph|Fortran|RunCMake.CompilerLauncher|RunCMake.IncompatibleQt|RunCMake.ObsoleteQtMacros|RunCMake.PrecompileHeaders|RunCMake.CPack_(DEB|RPM)|TestUpload)" \ - || die "Tests failed" - - popd > /dev/null + default + fi } src_prepare() { cmake_src_prepare if [[ ${CHOST} == *-darwin* ]] ; then - # disable Xcode hooks, bug #652134 + # 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 + + # 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 + # 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 + # 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 \ @@ -159,7 +182,8 @@ src_prepare() { -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" - if ! has_version -b \>=${CATEGORY}/${PN}-3.4.0_rc1 || ! cmake --version &>/dev/null ; then + + if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" cmake_src_bootstrap fi @@ -169,6 +193,10 @@ src_configure() { # Fix linking on Solaris [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl + # ODR warnings, bug #858335 + # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 + filter-lto + local mycmakeargs=( -DCMAKE_USE_SYSTEM_LIBRARIES=ON -DCMAKE_DOC_DIR=/share/doc/${PF} @@ -190,12 +218,43 @@ src_compile() { } 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 actualy bootstrap it every time so why test it. + # BundleUtilities: bundle creation broken + # CMakeOnly.AllFindModules: pthread issues + # CTest.updatecvs: which fails to commit as root + # Fortran: requires fortran + # RunCMake.CompilerLauncher: also requires fortran + # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because + # debugedit binary is not in the expected location + # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because + # it can't find a deb package that owns libc + # TestUpload, which requires network access + # RunCMake.CMP0125, known failure reported upstream (bug #829414) + local myctestargs=( + --output-on-failure + -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \ + ) + virtx 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 + if use emacs; then elisp-install ${PN} Auxiliary/cmake-mode.el Auxiliary/cmake-mode.elc elisp-site-file-install "${FILESDIR}/${SITEFILE}" @@ -215,6 +274,7 @@ src_install() { pkg_postinst() { use emacs && elisp-site-regen + if use qt5; then xdg_icon_cache_update xdg_desktop_database_update @@ -224,6 +284,7 @@ pkg_postinst() { pkg_postrm() { use emacs && elisp-site-regen + if use qt5; then xdg_icon_cache_update xdg_desktop_database_update diff --git a/sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-3.21.4.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-9999.ebuild similarity index 60% rename from sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-3.21.4.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-9999.ebuild index 466c27ca2e..9491df325a 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-3.21.4.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/cmake/cmake-9999.ebuild @@ -1,9 +1,23 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -CMAKE_MAKEFILE_GENERATOR="emake" # TODO RunCMake.LinkWhatYouUse fails consistently w/ ninja +# 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-3) +# 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 elisp-common flag-o-matic multiprocessing \ toolchain-funcs virtualx xdg-utils @@ -12,13 +26,40 @@ MY_P="${P/_/-}" DESCRIPTION="Cross platform Make" HOMEPAGE="https://cmake.org/" -SRC_URI="https://cmake.org/files/v$(ver_cut 1-2)/${MY_P}.tar.gz" +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="${BROOT}"/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 ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + + BDEPEND="verify-sig? ( sec-keys/openpgp-keys-bradking )" + fi +fi + +[[ ${CMAKE_DOCS_PREBUILT} == 1 ]] && CMAKE_DOCS_USEFLAG="doc" + +S="${WORKDIR}/${MY_P}" LICENSE="CMake" SLOT="0" -[[ "${PV}" = *_rc* ]] || \ -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -IUSE="doc emacs ncurses qt5 test" +IUSE="${CMAKE_DOCS_USEFLAG} emacs ncurses qt5 test" RESTRICT="!test? ( test )" RDEPEND=" @@ -39,7 +80,7 @@ RDEPEND=" ) " DEPEND="${RDEPEND}" -BDEPEND=" +BDEPEND+=" doc? ( dev-python/requests dev-python/sphinx @@ -47,23 +88,21 @@ BDEPEND=" test? ( app-arch/libarchive[zstd] ) " -S="${WORKDIR}/${MY_P}" - SITEFILE="50${PN}-gentoo.el" PATCHES=( - # prefix + # Prefix "${FILESDIR}"/${PN}-3.16.0_rc4-darwin-bundle.patch "${FILESDIR}"/${PN}-3.14.0_rc3-prefix-dirs.patch "${FILESDIR}"/${PN}-3.19.1-darwin-gcc.patch - # handle gentoo packaging in find modules + # Handle gentoo packaging in find modules "${FILESDIR}"/${PN}-3.17.0_rc1-FindBLAS.patch # Next patch needs to be reworked #"${FILESDIR}"/${PN}-3.17.0_rc1-FindLAPACK.patch "${FILESDIR}"/${PN}-3.5.2-FindQt4.patch - # respect python eclasses + # Respect python eclasses "${FILESDIR}"/${PN}-2.8.10.2-FindPythonLibs.patch "${FILESDIR}"/${PN}-3.9.0_rc2-FindPythonInterp.patch @@ -91,59 +130,43 @@ cmake_src_bootstrap() { || die "Bootstrap failed" } -cmake_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 +src_unpack() { + if [[ ${PV} == 9999 ]] ; then + git-r3_src_unpack + elif ! use verify-sig || [[ ${PV} == *_rc* ]] ; then + default + else + cd "${DISTDIR}" || die - pushd "${BUILD_DIR}" > /dev/null + # 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 - local ctestargs - [[ -n ${TEST_VERBOSE} ]] && ctestargs="--extra-verbose --output-on-failure" + cd "${WORKDIR}" || die - # Excluded tests: - # BootstrapTest: we actually bootstrap it every time so why test it. - # BundleUtilities: bundle creation broken - # CMakeOnly.AllFindModules: pthread issues - # CTest.updatecvs: 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 - # RunCMake.{IncompatibleQt,ObsoleteQtMacros}: Require Qt4 - # TestUpload: requires network access - "${BUILD_DIR}"/bin/ctest \ - -j "$(makeopts_jobs)" \ - --test-load "$(makeopts_loadavg)" \ - ${ctestargs} \ - -E "(BootstrapTest|BundleUtilities|ConfigSources|CMakeOnly.AllFindModules|CPackComponentsDEB-components-depend2|CompileOptions|CTest.UpdateCVS|DependencyGraph|Fortran|RunCMake.CompilerLauncher|RunCMake.IncompatibleQt|RunCMake.ObsoleteQtMacros|RunCMake.PrecompileHeaders|RunCMake.CPack_(DEB|RPM)|TestUpload)" \ - || die "Tests failed" - - popd > /dev/null + default + fi } src_prepare() { cmake_src_prepare if [[ ${CHOST} == *-darwin* ]] ; then - # disable Xcode hooks, bug #652134 + # 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 + + # 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 + # 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 + # 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 \ @@ -159,7 +182,8 @@ src_prepare() { -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" - if ! has_version -b \>=${CATEGORY}/${PN}-3.4.0_rc1 || ! cmake --version &>/dev/null ; then + + if ! has_version -b \>=${CATEGORY}/${PN}-3.13 || ! cmake --version &>/dev/null ; then CMAKE_BINARY="${S}/Bootstrap.cmk/cmake" cmake_src_bootstrap fi @@ -169,6 +193,10 @@ src_configure() { # Fix linking on Solaris [[ ${CHOST} == *-solaris* ]] && append-ldflags -lsocket -lnsl + # ODR warnings, bug #858335 + # https://gitlab.kitware.com/cmake/cmake/-/issues/20740 + filter-lto + local mycmakeargs=( -DCMAKE_USE_SYSTEM_LIBRARIES=ON -DCMAKE_DOC_DIR=/share/doc/${PF} @@ -190,12 +218,43 @@ src_compile() { } 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 actualy bootstrap it every time so why test it. + # BundleUtilities: bundle creation broken + # CMakeOnly.AllFindModules: pthread issues + # CTest.updatecvs: which fails to commit as root + # Fortran: requires fortran + # RunCMake.CompilerLauncher: also requires fortran + # RunCMake.CPack_RPM: breaks if app-arch/rpm is installed because + # debugedit binary is not in the expected location + # RunCMake.CPack_DEB: breaks if app-arch/dpkg is installed because + # it can't find a deb package that owns libc + # TestUpload, which requires network access + # RunCMake.CMP0125, known failure reported upstream (bug #829414) + local myctestargs=( + --output-on-failure + -E "(BootstrapTest|BundleUtilities|CMakeOnly.AllFindModules|CompileOptions|CTest.UpdateCVS|Fortran|RunCMake.CompilerLauncher|RunCMake.CPack_(DEB|RPM)|TestUpload|RunCMake.CMP0125)" \ + ) + virtx 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 + if use emacs; then elisp-install ${PN} Auxiliary/cmake-mode.el Auxiliary/cmake-mode.elc elisp-site-file-install "${FILESDIR}/${SITEFILE}" @@ -215,6 +274,7 @@ src_install() { pkg_postinst() { use emacs && elisp-site-regen + if use qt5; then xdg_icon_cache_update xdg_desktop_database_update @@ -224,6 +284,7 @@ pkg_postinst() { pkg_postrm() { use emacs && elisp-site-regen + if use qt5; then xdg_icon_cache_update xdg_desktop_database_update diff --git a/sdk_container/src/third_party/portage-stable/dev-util/cmake/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-util/cmake/metadata.xml index 6c0ea812d0..058bbe2d74 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/cmake/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-util/cmake/metadata.xml @@ -1,6 +1,10 @@ + + base-system@gentoo.org + Gentoo Base System + kde@gentoo.org Gentoo KDE Project From 7bc105aee174d5472f81ab636585c558a2b32bbf Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 12 Aug 2022 14:42:22 +0200 Subject: [PATCH 06/35] dev-util/cmocka: Sync with Gentoo It's from Gentoo commit 3695e0a4f79c1022a2d2421860b645afc0ead16f. --- .../dev-util/cmocka/cmocka-1.1.5.ebuild | 13 +++++-------- 1 file changed, 5 insertions(+), 8 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/cmocka/cmocka-1.1.5.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/cmocka/cmocka-1.1.5.ebuild index 23ce594bd8..b2f60df8bd 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/cmocka/cmocka-1.1.5.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/cmocka/cmocka-1.1.5.ebuild @@ -1,24 +1,21 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -CMAKE_ECLASS=cmake inherit cmake-multilib DESCRIPTION="Unit testing framework for C" HOMEPAGE="https://cmocka.org/" -SRC_URI="https://cmocka.org/files/1.1/${P}.tar.xz" +SRC_URI="https://cmocka.org/files/$(ver_cut 1-2)/${P}.tar.xz" LICENSE="Apache-2.0" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" IUSE="doc examples static-libs test" RESTRICT="!test? ( test )" -BDEPEND=" - doc? ( app-doc/doxygen[dot] ) -" +BDEPEND="doc? ( app-doc/doxygen[dot] )" multilib_src_configure() { local mycmakeargs=( From e7ceb9d097575ef54e809065dc9b04e7b6f11915 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 12 Aug 2022 14:42:39 +0200 Subject: [PATCH 07/35] dev-util/desktop-file-utils: Sync with Gentoo It's from Gentoo commit a4fc9d0dfd88d22bc8e727d79d701ae22d2e1d38. --- .../desktop-file-utils-0.26-r2.ebuild | 50 +++++++++++ ...-file-utils-0.26-support-version-1.5.patch | 88 +++++++++++++++++++ 2 files changed, 138 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/desktop-file-utils/desktop-file-utils-0.26-r2.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/desktop-file-utils/files/desktop-file-utils-0.26-support-version-1.5.patch diff --git a/sdk_container/src/third_party/portage-stable/dev-util/desktop-file-utils/desktop-file-utils-0.26-r2.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/desktop-file-utils/desktop-file-utils-0.26-r2.ebuild new file mode 100644 index 0000000000..341610f8b3 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/desktop-file-utils/desktop-file-utils-0.26-r2.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 +inherit elisp-common meson + +DESCRIPTION="Command line utilities to work with desktop menu entries" +HOMEPAGE="https://freedesktop.org/wiki/Software/desktop-file-utils/" +SRC_URI="https://www.freedesktop.org/software/${PN}/releases/${P}.tar.xz" + +LICENSE="GPL-2+" +SLOT="0" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris" +IUSE="emacs" + +RDEPEND=">=dev-libs/glib-2.12:2" +DEPEND="${RDEPEND}" +BDEPEND=" + app-arch/xz-utils + virtual/pkgconfig + emacs? ( >=app-editors/emacs-23.1:* ) +" + +SITEFILE="50${PN}-gentoo.el" + +DOCS=( AUTHORS ChangeLog HACKING NEWS README ) + +# Will be in next release +PATCHES=( "${FILESDIR}/${P}-support-version-1.5.patch" ) + +src_compile() { + meson_src_compile + use emacs && elisp-compile misc/desktop-entry-mode.el +} + +src_install() { + meson_src_install + if use emacs; then + elisp-install ${PN} misc/*.el misc/*.elc || die + elisp-site-file-install "${FILESDIR}"/${SITEFILE} || die + fi +} + +pkg_postinst() { + use emacs && elisp-site-regen +} + +pkg_postrm() { + use emacs && elisp-site-regen +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/desktop-file-utils/files/desktop-file-utils-0.26-support-version-1.5.patch b/sdk_container/src/third_party/portage-stable/dev-util/desktop-file-utils/files/desktop-file-utils-0.26-support-version-1.5.patch new file mode 100644 index 0000000000..f4b57d8f25 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/desktop-file-utils/files/desktop-file-utils-0.26-support-version-1.5.patch @@ -0,0 +1,88 @@ +# Adds support for Desktop Entry Specification 1.5. Gentoo bug 795570. +# Upstream commit URLs: +# https://gitlab.freedesktop.org/xdg/desktop-file-utils/-/commit/425177a28b6215e0745f95100160a08e810fd47c +# https://gitlab.freedesktop.org/xdg/desktop-file-utils/-/commit/56d220dd679c7c3a8f995a41a27a7d6f3df49dea + +From 425177a28b6215e0745f95100160a08e810fd47c Mon Sep 17 00:00:00 2001 +From: David King +Date: Tue, 15 Feb 2022 10:54:40 +0000 +Subject: [PATCH 1/2] validate: support SingleMainWindow key from 1.5 + +Fixes https://gitlab.freedesktop.org/xdg/desktop-file-utils/-/issues/59 +--- + src/validate.c | 3 +++ + 1 file changed, 3 insertions(+) + +diff --git a/src/validate.c b/src/validate.c +index 62406ab..ebb03b5 100644 +--- a/src/validate.c ++++ b/src/validate.c +@@ -326,6 +326,9 @@ static DesktopKeyDefinition registered_desktop_keys[] = { + /* Since 1.4 */ + { DESKTOP_BOOLEAN_TYPE, "PrefersNonDefaultGPU", FALSE, FALSE, FALSE, NULL }, + ++ /* Since 1.5 */ ++ { DESKTOP_BOOLEAN_TYPE, "SingleMainWindow", FALSE, FALSE, FALSE, NULL }, ++ + /* Keys reserved for KDE */ + + /* since 0.9.4 */ +-- +GitLab + + +From 56d220dd679c7c3a8f995a41a27a7d6f3df49dea Mon Sep 17 00:00:00 2001 +From: David King +Date: Tue, 15 Feb 2022 10:56:04 +0000 +Subject: [PATCH 2/2] validate: Support version 1.5 + +Bump CURRENT_SPEC_VERSION to 1.5. +--- + man/desktop-file-validate.1 | 2 +- + src/validate.c | 3 +++ + src/validate.h | 2 +- + 3 files changed, 5 insertions(+), 2 deletions(-) + +diff --git a/man/desktop-file-validate.1 b/man/desktop-file-validate.1 +index 8e17411..ce87c47 100644 +--- a/man/desktop-file-validate.1 ++++ b/man/desktop-file-validate.1 +@@ -9,7 +9,7 @@ desktop-file-validate \- Validate desktop entry files + .B desktop-file-validate [\-\-no-hints] [\-\-no-warn-deprecated] [\-\-warn-kde] FILE... + .SH DESCRIPTION + The \fIdesktop-file-validate\fP program is a tool to validate desktop +-entry files according to the Desktop Entry specification 1.4. ++entry files according to the Desktop Entry specification 1.5. + .PP + The specification describes a file format to provide information such as + name, icon and description for an application. Such a file can then be +diff --git a/src/validate.c b/src/validate.c +index ebb03b5..f9eedee 100644 +--- a/src/validate.c ++++ b/src/validate.c +@@ -961,6 +961,9 @@ handle_version_key (kf_validator *kf, + const char *locale_key, + const char *value) + { ++ if (!strcmp (value, "1.5")) ++ return TRUE; ++ + if (!strcmp (value, "1.4")) + return TRUE; + +diff --git a/src/validate.h b/src/validate.h +index e6efd93..a7952cd 100644 +--- a/src/validate.h ++++ b/src/validate.h +@@ -30,7 +30,7 @@ + + #include + +-#define CURRENT_SPEC_VERSION "1.4" ++#define CURRENT_SPEC_VERSION "1.5" + + #define GROUP_KDE_DESKTOP_ENTRY "KDE Desktop Entry" + #define GROUP_DESKTOP_ACTION "Desktop Action " +-- +GitLab + From 5a5d253f7c3a074bf8c894400d403d0d4f6841be Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 12 Aug 2022 14:43:07 +0200 Subject: [PATCH 08/35] dev-util/gperf: Sync with Gentoo It's from Gentoo commit ef010d11cc42876bedb1ac51427e1700ab5492e0. --- .../gperf-3.1-strncmp-decl-mismatch.patch | 28 +++++++++++++++++++ .../dev-util/gperf/gperf-3.1-r1.ebuild | 24 ++++++++++++++++ .../dev-util/gperf/gperf-3.1.ebuild | 4 +-- 3 files changed, 54 insertions(+), 2 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/gperf/files/gperf-3.1-strncmp-decl-mismatch.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.1-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gperf/files/gperf-3.1-strncmp-decl-mismatch.patch b/sdk_container/src/third_party/portage-stable/dev-util/gperf/files/gperf-3.1-strncmp-decl-mismatch.patch new file mode 100644 index 0000000000..67380fb027 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/gperf/files/gperf-3.1-strncmp-decl-mismatch.patch @@ -0,0 +1,28 @@ +https://bugs.gentoo.org/869134 + +From 09844ce4ca3d5975469640cea9c5414d5c0baa44 Mon Sep 17 00:00:00 2001 +From: Bruno Haible +Date: Thu, 8 Sep 2022 04:45:03 +0200 +Subject: [PATCH] Fix a warning regarding strncmp. + +Reported by Sam James in . + +* lib/getopt.c (strncmp): Declare with a prototype. +--- a/lib/getopt.c ++++ b/lib/getopt.c +@@ -194,7 +194,6 @@ static char *posixly_correct; + whose names are inconsistent. */ + + extern char *getenv (); +-extern int strncmp (); + + static char * + my_index (const char *str, int chr) +@@ -209,6 +208,7 @@ my_index (const char *str, int chr) + } + + extern int strcmp (const char *, const char *); ++extern int strncmp (const char *, const char *, size_t); + extern size_t strlen (const char *); + + #endif /* not __GNU_LIBRARY__ */ diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.1-r1.ebuild new file mode 100644 index 0000000000..bdabce4d84 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.1-r1.ebuild @@ -0,0 +1,24 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +DESCRIPTION="A perfect hash function generator" +HOMEPAGE="https://www.gnu.org/software/gperf/" +SRC_URI="mirror://gnu/gperf/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" + +PATCHES=( + "${FILESDIR}"/${P}-strncmp-decl-mismatch.patch +) + +src_prepare() { + sed -i \ + -e "/^CPPFLAGS /s:=:+=:" \ + */Makefile.in || die #444078 + + default +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.1.ebuild index 1a22bfa1dc..6825ce198e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/gperf/gperf-3.1.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -9,7 +9,7 @@ SRC_URI="mirror://gnu/gperf/${P}.tar.gz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt" src_prepare() { sed -i \ From ecf99c5606f2c097f5dd48247440f6a672d85e33 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 12 Aug 2022 14:43:20 +0200 Subject: [PATCH 09/35] dev-util/gtk-doc-am: Sync with Gentoo It's from Gentoo commit d5e0e285e6174e80e663d307364b14d50a927303. --- .../dev-util/gtk-doc-am/gtk-doc-am-1.33.2.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/gtk-doc-am/gtk-doc-am-1.33.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/gtk-doc-am/gtk-doc-am-1.33.2.ebuild index 303d509eb3..512107ce56 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/gtk-doc-am/gtk-doc-am-1.33.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/gtk-doc-am/gtk-doc-am-1.33.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gnome.org/DocumentationProject/GtkDoc" LICENSE="GPL-2 FDL-1.1" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" RDEPEND="! Date: Fri, 12 Aug 2022 14:43:30 +0200 Subject: [PATCH 10/35] dev-util/meson: Sync with Gentoo It's from Gentoo commit 536391904a220878a2eb1b082b2229f6fd70ca84. --- .../portage-stable/dev-util/meson/Manifest | 5 +- .../meson-0.60.2-check-module-linking.patch | 28 ----- .../files/meson-0.63-xtools-support.patch | 26 ++++ ...ompile-treat-load-average-as-a-float.patch | 28 ----- ...eson-0.60.3.ebuild => meson-0.62.2.ebuild} | 21 ++-- .../dev-util/meson/meson-0.63.0.ebuild | 110 +++++++++++++++++ .../dev-util/meson/meson-0.63.1.ebuild | 110 +++++++++++++++++ .../dev-util/meson/meson-0.63.2-r1.ebuild | 114 ++++++++++++++++++ .../dev-util/meson/meson-9999.ebuild | 31 +++-- .../dev-util/meson/metadata.xml | 1 + 10 files changed, 401 insertions(+), 73 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-util/meson/files/meson-0.60.2-check-module-linking.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/meson/files/meson-0.63-xtools-support.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-util/meson/files/meson-mcompile-treat-load-average-as-a-float.patch rename sdk_container/src/third_party/portage-stable/dev-util/meson/{meson-0.60.3.ebuild => meson-0.62.2.ebuild} (81%) create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.63.0.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.63.1.ebuild create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.63.2-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-util/meson/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/meson/Manifest index 176d826508..eed114b412 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/meson/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/meson/Manifest @@ -1 +1,4 @@ -DIST meson-0.60.3.tar.gz 2001124 BLAKE2B f66fb29d309f5dea9c0b1934e8b5dfc2b33586e06c6a2d616798d5724216035fe03a3f9b1c6976546d5d5c069734357d61a92aa43de01161cf1fe4297a1d1f2e SHA512 0aa6ef71c20cd899ebb0b202c6319e093e1df1c39fa58c94a1bb479efe630213272127346eab589948898d115d02d64f4bdffd892fbb9700884c1edf2dc6c6dc +DIST meson-0.62.2.tar.gz 2038542 BLAKE2B 51446cd348f3e8681a61ebecf95f5aafcafd90654e3c86d87ee2b68239237bd889b667f3c6543faba7d4b98d7e0ed73d96c6a988913e5262d3b9611b80ff8db2 SHA512 4089588701f0f702eb3b794e0ede78b99f13ec7545d1a7470c7bfd6a857de59673684a543928dd578402578c53f38365a3a59e3e29022fd30a525353818a4195 +DIST meson-0.63.0.tar.gz 2060688 BLAKE2B 763d35a6dee42d7ef61b00c472681042289f38737374178d43eb8e66c3abe38affd372fca7aea4f4c7cd52f25ad3754485f54f24ac5e453b7a58011397ddbbb8 SHA512 8d427261bb42d2bd1da7d4f7b5f53908044aa2cea6d020fb320b0ab9d9848e17cf28deb12ae6dc139807f9e377db0c8a546561e94301216b634bd77703f17cea +DIST meson-0.63.1.tar.gz 2064118 BLAKE2B 2d7bf439ed096cc38d9e676a8837069d10f34299cc5a61773df7a27d9a67fd33ce3b4193f33b35e5d77dc5cc346098e427f70f0dc0eafcebce055940420c785e SHA512 25f96e18bcdbb6346c44d9f8e63035d6cb3d8f781cf43ac5530ddd6f8090f4d16d192f8d331240154602e92b498b410fabb1381dc5f39db1dfb9da05a964d44e +DIST meson-0.63.2.tar.gz 2063397 BLAKE2B 765ef8994168bb149cce4dbbbdab4a5531b1c1119db5dace1a66c2728241830c7de075d586187d3f987fcc99e4181176a5910da56552ba735dda110a641d2541 SHA512 770d8d82502c5cd419123e09f6a445d2cbaea4463c5fa79f1497c868bf5defc5e5779a6e550ef5fcf75d57322d2b25b61574f4df0cbf001c4325c6abdbbc30b4 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/meson/files/meson-0.60.2-check-module-linking.patch b/sdk_container/src/third_party/portage-stable/dev-util/meson/files/meson-0.60.2-check-module-linking.patch deleted file mode 100644 index b192a454c2..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/meson/files/meson-0.60.2-check-module-linking.patch +++ /dev/null @@ -1,28 +0,0 @@ -From df7ddc7ec19886ccdc433f42379c04c1df793565 Mon Sep 17 00:00:00 2001 -From: Mike Gilbert -Date: Thu, 25 Nov 2021 21:19:32 -0500 -Subject: [PATCH] Remove premature return in build.check_module_linking() - -We want to loop over all link_targets to update -backwards_compat_want_soname if necessary. - -Fixes: ec9bdc6edb17d1d9da5df2d6525025242c119f3a ---- - mesonbuild/build.py | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/mesonbuild/build.py b/mesonbuild/build.py -index ad18a7f6a..263942556 100644 ---- a/mesonbuild/build.py -+++ b/mesonbuild/build.py -@@ -1601,7 +1601,6 @@ You probably should put it in link_with instead.''') - '\n ' - 'use shared_libary() with `override_options: [\'b_lundef=false\']` instead.') - link_target.backwards_compat_want_soname = True -- return - - class Generator(HoldableObject): - def __init__(self, exe: T.Union['Executable', programs.ExternalProgram], --- -2.34.0 - diff --git a/sdk_container/src/third_party/portage-stable/dev-util/meson/files/meson-0.63-xtools-support.patch b/sdk_container/src/third_party/portage-stable/dev-util/meson/files/meson-0.63-xtools-support.patch new file mode 100644 index 0000000000..ea1e8597b0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/meson/files/meson-0.63-xtools-support.patch @@ -0,0 +1,26 @@ +linkers_detect: detect xtools (Apple ld64 derivative) + +xtools is in use on x86_64 and ppc based darwin Prefix installs. Pick +it up as a valid linker. + +Meson is the only thing known at this point to try and figure out what +linker is in use exactly, so instead of changing the linker (xtools), +just teach Meson about xtools. + +Author: Fabian Groffen +Bug: https://bugs.gentoo.org/868516 + +--- a/mesonbuild/linkers/detect.py ++++ b/mesonbuild/linkers/detect.py +@@ -188,6 +188,11 @@ + v = search_version(o) + + linker = LLVMDynamicLinker(compiler, for_machine, comp_class.LINKER_PREFIX, override, version=v) ++ # detect xtools first, bug #868516 ++ elif 'xtools-' in o.split('\n')[0]: ++ xtools = o.split(' ')[0] ++ v = xtools.split('-')[1] ++ linker = AppleDynamicLinker(compiler, for_machine, comp_class.LINKER_PREFIX, override, version=v) + # first might be apple clang, second is for real gcc, the third is icc + elif e.endswith('(use -v to see invocation)\n') or 'macosx_version' in e or 'ld: unknown option:' in e: + if isinstance(comp_class.LINKER_PREFIX, str): diff --git a/sdk_container/src/third_party/portage-stable/dev-util/meson/files/meson-mcompile-treat-load-average-as-a-float.patch b/sdk_container/src/third_party/portage-stable/dev-util/meson/files/meson-mcompile-treat-load-average-as-a-float.patch deleted file mode 100644 index 9effb382be..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/meson/files/meson-mcompile-treat-load-average-as-a-float.patch +++ /dev/null @@ -1,28 +0,0 @@ -From bb07c850c77e2bd07e1261547bc6b1e6b024f31d Mon Sep 17 00:00:00 2001 -From: Mike Gilbert -Date: Fri, 27 Aug 2021 10:17:14 -0400 -Subject: [PATCH] mcompile: treat load-average as a float - -`ninja -l` accepts a double. We should do the same. - -Bug: https://bugs.gentoo.org/810655 ---- - mesonbuild/mcompile.py | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/mesonbuild/mcompile.py b/mesonbuild/mcompile.py -index bb7ecae9b..e20485c76 100644 ---- a/mesonbuild/mcompile.py -+++ b/mesonbuild/mcompile.py -@@ -305,7 +305,7 @@ def add_arguments(parser: 'argparse.ArgumentParser') -> None: - '-l', '--load-average', - action='store', - default=0, -- type=int, -+ type=float, - help='The system load average to try to maintain (if supported).' - ) - parser.add_argument( --- -2.33.0 - diff --git a/sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.60.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.62.2.ebuild similarity index 81% rename from sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.60.3.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.62.2.ebuild index 55dd71fc82..f424a7baab 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.60.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.62.2.ebuild @@ -2,17 +2,19 @@ # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{7,8,9,10} ) + +PYTHON_COMPAT=( python3_{8..11} ) +DISTUTILS_USE_PEP517=setuptools if [[ ${PV} = *9999* ]]; then EGIT_REPO_URI="https://github.com/mesonbuild/meson" inherit git-r3 else SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" fi -inherit distutils-r1 toolchain-funcs +inherit bash-completion-r1 distutils-r1 toolchain-funcs DESCRIPTION="Open source build system" HOMEPAGE="https://mesonbuild.com/" @@ -50,7 +52,7 @@ python_prepare_all() { -e 's/test_python_module/_&/' ) - sed -i "${disable_unittests[@]}" run_unittests.py || die + 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 @@ -63,8 +65,6 @@ src_test() { if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then ewarn "Found Qt5Core but not Qt5Gui; skipping tests" else - # https://bugs.gentoo.org/687792 - unset PKG_CONFIG distutils-r1_src_test fi } @@ -74,6 +74,9 @@ python_test() { # test_meson_installed unset PYTHONDONTWRITEBYTECODE + # https://bugs.gentoo.org/687792 + unset PKG_CONFIG + # test_cross_file_system_paths unset XDG_DATA_HOME @@ -87,7 +90,8 @@ python_test() { # value in JAVA_HOME, and the tests should get skipped. export JAVA_HOME=$(java-config -O 2>/dev/null) - ${EPYTHON} -u run_tests.py + # Call python3 instead of EPYTHON to satisfy test_meson_uninstalled. + python3 run_tests.py ) || die "Testing failed with ${EPYTHON}" } @@ -96,6 +100,9 @@ python_install_all() { insinto /usr/share/vim/vimfiles doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax} + insinto /usr/share/zsh/site-functions doins data/shell-completions/zsh/_meson + + dobashcomp data/shell-completions/bash/meson } diff --git a/sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.63.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.63.0.ebuild new file mode 100644 index 0000000000..14ecaa4f46 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.63.0.ebuild @@ -0,0 +1,110 @@ +# Copyright 2016-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..11} ) +DISTUTILS_USE_PEP517=setuptools + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="https://github.com/mesonbuild/meson" + inherit git-r3 +else + MY_P=${P/_/} + S=${WORKDIR}/${MY_P} + SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +inherit bash-completion-r1 distutils-r1 toolchain-funcs + +DESCRIPTION="Open source build system" +HOMEPAGE="https://mesonbuild.com/" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND=" + test? ( + dev-libs/glib:2 + dev-libs/gobject-introspection + dev-util/ninja + dev-vcs/git + sys-libs/zlib[static-libs(+)] + virtual/pkgconfig + ) +" + +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/_&/' + + # ASAN is unsupported on some targets + # https://bugs.gentoo.org/692822 + -e 's/test_pch_with_address_sanitizer/_&/' + + # https://github.com/mesonbuild/meson/issues/7203 + -e 's/test_templates/_&/' + + # Broken due to python2 wrapper + -e 's/test_python_module/_&/' + ) + + 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 + + distutils-r1_python_prepare_all +} + +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() { + ( + # 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) + + # Call python3 instead of EPYTHON to satisfy test_meson_uninstalled. + python3 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} + + insinto /usr/share/zsh/site-functions + doins data/shell-completions/zsh/_meson + + dobashcomp data/shell-completions/bash/meson +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.63.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.63.1.ebuild new file mode 100644 index 0000000000..14ecaa4f46 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.63.1.ebuild @@ -0,0 +1,110 @@ +# Copyright 2016-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..11} ) +DISTUTILS_USE_PEP517=setuptools + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="https://github.com/mesonbuild/meson" + inherit git-r3 +else + MY_P=${P/_/} + S=${WORKDIR}/${MY_P} + SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +inherit bash-completion-r1 distutils-r1 toolchain-funcs + +DESCRIPTION="Open source build system" +HOMEPAGE="https://mesonbuild.com/" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND=" + test? ( + dev-libs/glib:2 + dev-libs/gobject-introspection + dev-util/ninja + dev-vcs/git + sys-libs/zlib[static-libs(+)] + virtual/pkgconfig + ) +" + +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/_&/' + + # ASAN is unsupported on some targets + # https://bugs.gentoo.org/692822 + -e 's/test_pch_with_address_sanitizer/_&/' + + # https://github.com/mesonbuild/meson/issues/7203 + -e 's/test_templates/_&/' + + # Broken due to python2 wrapper + -e 's/test_python_module/_&/' + ) + + 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 + + distutils-r1_python_prepare_all +} + +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() { + ( + # 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) + + # Call python3 instead of EPYTHON to satisfy test_meson_uninstalled. + python3 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} + + insinto /usr/share/zsh/site-functions + doins data/shell-completions/zsh/_meson + + dobashcomp data/shell-completions/bash/meson +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.63.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.63.2-r1.ebuild new file mode 100644 index 0000000000..f2e31397c0 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/meson/meson-0.63.2-r1.ebuild @@ -0,0 +1,114 @@ +# Copyright 2016-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +PYTHON_COMPAT=( python3_{8..11} ) +DISTUTILS_USE_PEP517=setuptools + +if [[ ${PV} = *9999* ]]; then + EGIT_REPO_URI="https://github.com/mesonbuild/meson" + inherit git-r3 +else + MY_P=${P/_/} + S=${WORKDIR}/${MY_P} + SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +fi + +inherit bash-completion-r1 distutils-r1 toolchain-funcs + +DESCRIPTION="Open source build system" +HOMEPAGE="https://mesonbuild.com/" + +LICENSE="Apache-2.0" +SLOT="0" +IUSE="test" +RESTRICT="!test? ( test )" + +DEPEND=" + test? ( + dev-libs/glib:2 + dev-libs/gobject-introspection + dev-util/ninja + dev-vcs/git + sys-libs/zlib[static-libs(+)] + virtual/pkgconfig + ) +" + +PATCHES=( + "${FILESDIR}"/${PN}-0.63-xtools-support.patch +) + +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/_&/' + + # ASAN is unsupported on some targets + # https://bugs.gentoo.org/692822 + -e 's/test_pch_with_address_sanitizer/_&/' + + # https://github.com/mesonbuild/meson/issues/7203 + -e 's/test_templates/_&/' + + # Broken due to python2 wrapper + -e 's/test_python_module/_&/' + ) + + 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 + + distutils-r1_python_prepare_all +} + +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() { + ( + # 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) + + # Call python3 instead of EPYTHON to satisfy test_meson_uninstalled. + python3 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} + + insinto /usr/share/zsh/site-functions + doins data/shell-completions/zsh/_meson + + dobashcomp data/shell-completions/bash/meson +} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/meson/meson-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/meson/meson-9999.ebuild index b1532c0364..f2e31397c0 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/meson/meson-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/meson/meson-9999.ebuild @@ -1,18 +1,22 @@ -# Copyright 2016-2021 Gentoo Authors +# Copyright 2016-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -PYTHON_COMPAT=( python3_{7,8,9,10} ) + +PYTHON_COMPAT=( python3_{8..11} ) +DISTUTILS_USE_PEP517=setuptools if [[ ${PV} = *9999* ]]; then EGIT_REPO_URI="https://github.com/mesonbuild/meson" inherit git-r3 else - SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + MY_P=${P/_/} + S=${WORKDIR}/${MY_P} + SRC_URI="mirror://pypi/${PN:0:1}/${PN}/${MY_P}.tar.gz" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" fi -inherit distutils-r1 toolchain-funcs +inherit bash-completion-r1 distutils-r1 toolchain-funcs DESCRIPTION="Open source build system" HOMEPAGE="https://mesonbuild.com/" @@ -33,6 +37,10 @@ DEPEND=" ) " +PATCHES=( + "${FILESDIR}"/${PN}-0.63-xtools-support.patch +) + python_prepare_all() { local disable_unittests=( # ASAN and sandbox both want control over LD_PRELOAD @@ -50,7 +58,7 @@ python_prepare_all() { -e 's/test_python_module/_&/' ) - sed -i "${disable_unittests[@]}" run_unittests.py || die + 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 @@ -63,8 +71,6 @@ src_test() { if ${PKG_CONFIG} --exists Qt5Core && ! ${PKG_CONFIG} --exists Qt5Gui; then ewarn "Found Qt5Core but not Qt5Gui; skipping tests" else - # https://bugs.gentoo.org/687792 - unset PKG_CONFIG distutils-r1_src_test fi } @@ -74,6 +80,9 @@ python_test() { # test_meson_installed unset PYTHONDONTWRITEBYTECODE + # https://bugs.gentoo.org/687792 + unset PKG_CONFIG + # test_cross_file_system_paths unset XDG_DATA_HOME @@ -87,7 +96,8 @@ python_test() { # value in JAVA_HOME, and the tests should get skipped. export JAVA_HOME=$(java-config -O 2>/dev/null) - ${EPYTHON} -u run_tests.py + # Call python3 instead of EPYTHON to satisfy test_meson_uninstalled. + python3 run_tests.py ) || die "Testing failed with ${EPYTHON}" } @@ -96,6 +106,9 @@ python_install_all() { insinto /usr/share/vim/vimfiles doins -r data/syntax-highlighting/vim/{ftdetect,indent,syntax} + insinto /usr/share/zsh/site-functions doins data/shell-completions/zsh/_meson + + dobashcomp data/shell-completions/bash/meson } diff --git a/sdk_container/src/third_party/portage-stable/dev-util/meson/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-util/meson/metadata.xml index caecf6010d..b3ededb7ea 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/meson/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-util/meson/metadata.xml @@ -10,6 +10,7 @@ William Hubbs + mesonbuild/meson meson From 69a628f291c0749b814a2e48424b98c2f8928d7b Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 12 Aug 2022 14:43:40 +0200 Subject: [PATCH 11/35] dev-util/meson-format-array: Sync with Gentoo It's from Gentoo commit 91dc6350e05582abba13f76c9734d1faef2183cd. --- .../dev-util/meson-format-array/meson-format-array-0.ebuild | 6 +++--- .../portage-stable/dev-util/meson-format-array/metadata.xml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/meson-format-array/meson-format-array-0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/meson-format-array/meson-format-array-0.ebuild index 55a0dfec5d..208d82af4e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/meson-format-array/meson-format-array-0.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/meson-format-array/meson-format-array-0.ebuild @@ -1,8 +1,8 @@ -# Copyright 2020-2021 Gentoo Authors +# Copyright 2020-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{6..9} ) +PYTHON_COMPAT=( python3_{8..11} ) inherit python-r1 @@ -11,7 +11,7 @@ HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" REQUIRED_USE="${PYTHON_REQUIRED_USE}" RDEPEND="${PYTHON_DEPS}" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/meson-format-array/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-util/meson-format-array/metadata.xml index d35a395549..f684895450 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/meson-format-array/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-util/meson-format-array/metadata.xml @@ -1,5 +1,5 @@ - + floppym@gentoo.org From 5a1e156e82e00b966307b98ecc58ff04b3e17eff Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 12 Aug 2022 14:43:53 +0200 Subject: [PATCH 12/35] dev-util/ninja: Sync with Gentoo It's from Gentoo commit ff37eeaa0f2e43d1f5b3f681ad0dc8b2556b4877. --- .../portage-stable/dev-util/ninja/Manifest | 5 +- .../ninja/files/ninja-1.10.0-readme.patch | 38 ----- .../dev-util/ninja/metadata.xml | 2 +- .../dev-util/ninja/ninja-1.10.0.ebuild | 133 ----------------- .../dev-util/ninja/ninja-1.10.2-r1.ebuild | 136 ------------------ ...inja-1.10.2.ebuild => ninja-1.11.0.ebuild} | 7 +- ...inja-1.10.1.ebuild => ninja-1.11.1.ebuild} | 45 +++--- .../dev-util/ninja/ninja-9999.ebuild | 45 +++--- 8 files changed, 45 insertions(+), 366 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-util/ninja/files/ninja-1.10.0-readme.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.10.0.ebuild delete mode 100644 sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.10.2-r1.ebuild rename sdk_container/src/third_party/portage-stable/dev-util/ninja/{ninja-1.10.2.ebuild => ninja-1.11.0.ebuild} (88%) rename sdk_container/src/third_party/portage-stable/dev-util/ninja/{ninja-1.10.1.ebuild => ninja-1.11.1.ebuild} (68%) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/ninja/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/ninja/Manifest index 8bc1a878f9..b62f6953ec 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/ninja/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/ninja/Manifest @@ -1,3 +1,2 @@ -DIST ninja-1.10.0.tar.gz 210313 BLAKE2B 0a3db145deaea8a990958ad2e812bc18ed014aaba94911a2905b082745a0d08f10ce1113badabaa362f3834540b7bd3858f07e2a5fce268c66d3d6c73e974e76 SHA512 5ed47ef1ff18a03eb73296629679a8617a08ee443e10e28ae9cb24e4506f84fe1eb142888adea9a62364b626b35817def8c55ba956c9b3cbc7b82d3e62293044 -DIST ninja-1.10.1.tar.gz 211216 BLAKE2B cb27beeef903ff7c5a00f2ac85b36e66d9c41bcb271edbb6c6d827d5b2b652bacfe3d429a3f966d22fd97495323f83692abf7835f3d6ed3af51a3df9fef180c1 SHA512 9915767a6ffc7147903f346082b5c31fcaeb1e45742754cfaaa642e8ec4c1bd9ec26692a59eb4e2118c397336712a6548e6a16408e094001f8f0c173e67afcc2 -DIST ninja-1.10.2.tar.gz 213959 BLAKE2B b8160ca6d58cfa0edb93d16b7dfb9776d290c42e54b33b78cd925f167c80f8794e4cc30af984a526b8263c7904a734cf0770d3c27283d21d02f18d3e2eb70032 SHA512 895412ae1cbc83c656e92f282602a29300e08274e9dea0da4464202ae556e7a1ab03bec057f23da4756bbd91bd2d744cd7a64b336740fd2782bb4db5c3b7b496 +DIST ninja-1.11.0.tar.gz 229475 BLAKE2B 71c8b6cf9524bdc11cf73f7e761f0d7deef2498a970c1439c10cc7d361e31fed1e3b54bcb185f3c7ed041f15704851a96e42560058af61b8a5df6e918d52ebf3 SHA512 9b9c8dae2251f9ddba50680911271b8504c292994fd90a0da94902f64c69a9edc72212217df5c651ddfc2f79c2ae03e84c99b805497dcd7497c53a1617de83e7 +DIST ninja-1.11.1.tar.gz 229479 BLAKE2B c96cf7c319b7abd65f644465688d256f8b3a576c4616d0c63852e25dd0dc5f63c66708d429d8dddb6228502eb147211a86a5dd369b80ec2228902b370d2343e5 SHA512 1bca38877c70ee6613f347ffccef5adc02ba0a3947c62ae004ea97f918442b5a3de92378e4f820ae2a7676bc7609d25fbc7d41f6cfb3a61e5e4b26ec3639e403 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/ninja/files/ninja-1.10.0-readme.patch b/sdk_container/src/third_party/portage-stable/dev-util/ninja/files/ninja-1.10.0-readme.patch deleted file mode 100644 index 1d84f123da..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/ninja/files/ninja-1.10.0-readme.patch +++ /dev/null @@ -1,38 +0,0 @@ -From b748d085618bf5e802de6a13b07d632d20ab04bf Mon Sep 17 00:00:00 2001 -From: Mike Gilbert -Date: Fri, 20 Mar 2020 19:36:01 -0400 -Subject: [PATCH] Replace references to README with README.md - -The README file was renamed to README.md in commit -a37da20ae74c81703b1c811182fc154d95ed46fe. ---- - configure.py | 2 +- - misc/packaging/ninja.spec | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/configure.py b/configure.py -index 7d8ce9045..8eef7e6eb 100755 ---- a/configure.py -+++ b/configure.py -@@ -649,7 +649,7 @@ def has_re2c(): - command='$doxygen_mainpage_generator $in > $out', - description='DOXYGEN_MAINPAGE $out') - mainpage = n.build(built('doxygen_mainpage'), 'doxygen_mainpage', -- ['README', 'COPYING'], -+ ['README.md', 'COPYING'], - implicit=['$doxygen_mainpage_generator']) - n.build('doxygen', 'doxygen', doc('doxygen.config'), - implicit=mainpage) -diff --git a/misc/packaging/ninja.spec b/misc/packaging/ninja.spec -index 05f5a079a..36e518186 100644 ---- a/misc/packaging/ninja.spec -+++ b/misc/packaging/ninja.spec -@@ -32,7 +32,7 @@ cp -p ninja %{buildroot}%{_bindir}/ - - %files - %defattr(-, root, root) --%doc COPYING README doc/manual.html -+%doc COPYING README.md doc/manual.html - %{_bindir}/* - - %clean diff --git a/sdk_container/src/third_party/portage-stable/dev-util/ninja/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-util/ninja/metadata.xml index 35d4f61939..500b650605 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/ninja/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-util/ninja/metadata.xml @@ -6,6 +6,6 @@ Chromium in Gentoo Project - martine/ninja + ninja-build/ninja diff --git a/sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.10.0.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.10.0.ebuild deleted file mode 100644 index 65080c06b8..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.10.0.ebuild +++ /dev/null @@ -1,133 +0,0 @@ -# Copyright 2012-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7,8} ) - -inherit bash-completion-r1 elisp-common python-any-r1 toolchain-funcs - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/ninja-build/ninja.git" -else - SRC_URI="https://github.com/ninja-build/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -fi - -DESCRIPTION="A small build system similar to make" -HOMEPAGE="https://ninja-build.org/" - -LICENSE="Apache-2.0" -SLOT="0" - -IUSE="doc emacs test vim-syntax" -RESTRICT="!test? ( test )" - -BDEPEND=" - ${PYTHON_DEPS} - dev-util/re2c - doc? ( - app-text/asciidoc - app-doc/doxygen - dev-libs/libxslt - ) - test? ( dev-cpp/gtest ) -" -RDEPEND=" - emacs? ( >=app-editors/emacs-23.1:* ) - vim-syntax? ( - || ( - app-editors/vim - app-editors/gvim - ) - ) -" - -PATCHES=( - "${FILESDIR}"/ninja-cflags.patch - "${FILESDIR}"/ninja-1.10.0-readme.patch -) - -run_for_build() { - if tc-is-cross-compiler; then - local -x AR=$(tc-getBUILD_AR) - local -x CXX=$(tc-getBUILD_CXX) - local -x CFLAGS= - local -x CXXFLAGS=${BUILD_CXXFLAGS} - local -x LDFLAGS=${BUILD_LDFLAGS} - fi - echo "$@" >&2 - "$@" -} - -src_compile() { - tc-export AR CXX - - # configure.py appends CFLAGS to CXXFLAGS - unset CFLAGS - - run_for_build ${EPYTHON} configure.py --bootstrap --verbose || die - - if tc-is-cross-compiler; then - mv ninja ninja-build || die - ${EPYTHON} configure.py || die - ./ninja-build -v ninja || die - else - ln ninja ninja-build || die - fi - - if use doc; then - ./ninja-build -v doxygen manual || die - fi - - if use emacs; then - elisp-compile misc/ninja-mode.el || die - fi -} - -src_test() { - if ! tc-is-cross-compiler; then - # Bug 485772 - ulimit -n 2048 - ./ninja -v ninja_test || die - ./ninja_test || die - fi -} - -src_install() { - dodoc README.md CONTRIBUTING.md - if use doc; then - docinto html - dodoc -r doc/doxygen/html/. - dodoc doc/manual.html - fi - dobin ninja - - newbashcomp misc/bash-completion "${PN}" - - if use vim-syntax; then - insinto /usr/share/vim/vimfiles/syntax/ - doins misc/ninja.vim - - echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}/ninja.vim" - insinto /usr/share/vim/vimfiles/ftdetect - doins "${T}/ninja.vim" - fi - - insinto /usr/share/zsh/site-functions - newins misc/zsh-completion _ninja - - if use emacs; then - cd misc || die - elisp-install ninja ninja-mode.el* || die - fi -} - -pkg_postinst() { - use emacs && elisp-site-regen -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.10.2-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.10.2-r1.ebuild deleted file mode 100644 index 6fec467506..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.10.2-r1.ebuild +++ /dev/null @@ -1,136 +0,0 @@ -# Copyright 2012-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{8..10} ) - -inherit bash-completion-r1 elisp-common python-any-r1 toolchain-funcs - -if [[ ${PV} == 9999 ]]; then - inherit git-r3 - EGIT_REPO_URI="https://github.com/ninja-build/ninja.git" -else - SRC_URI="https://github.com/ninja-build/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" -fi - -DESCRIPTION="A small build system similar to make" -HOMEPAGE="https://ninja-build.org/" - -LICENSE="Apache-2.0" -SLOT="0" - -IUSE="doc emacs test vim-syntax" -RESTRICT="!test? ( test )" - -BDEPEND=" - ${PYTHON_DEPS} - dev-util/re2c - doc? ( - app-text/asciidoc - app-doc/doxygen - dev-libs/libxslt - ) - test? ( dev-cpp/gtest ) -" -RDEPEND=" - emacs? ( >=app-editors/emacs-23.1:* ) - vim-syntax? ( - || ( - app-editors/vim - app-editors/gvim - ) - ) -" - -PATCHES=( - "${FILESDIR}"/ninja-cflags.patch -) - -run_for_build() { - if tc-is-cross-compiler; then - local -x AR=$(tc-getBUILD_AR) - local -x CXX=$(tc-getBUILD_CXX) - local -x CFLAGS= - local -x CXXFLAGS=${BUILD_CXXFLAGS} - local -x LDFLAGS=${BUILD_LDFLAGS} - fi - echo "$@" >&2 - "$@" -} - -src_compile() { - tc-export AR CXX - - # configure.py appends CFLAGS to CXXFLAGS - unset CFLAGS - - # enable LFS, bug #760848 - export CXXFLAGS+=" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" - BUILD_CXXFLAGS+=" -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" - - run_for_build ${EPYTHON} configure.py --bootstrap --verbose || die - - if tc-is-cross-compiler; then - mv ninja ninja-build || die - ${EPYTHON} configure.py || die - ./ninja-build -v ninja || die - else - ln ninja ninja-build || die - fi - - if use doc; then - ./ninja-build -v doxygen manual || die - fi - - if use emacs; then - elisp-compile misc/ninja-mode.el || die - fi -} - -src_test() { - if ! tc-is-cross-compiler; then - # Bug 485772 - ulimit -n 2048 - ./ninja -v ninja_test || die - ./ninja_test || die - fi -} - -src_install() { - dodoc README.md CONTRIBUTING.md - if use doc; then - docinto html - dodoc -r doc/doxygen/html/. - dodoc doc/manual.html - fi - dobin ninja - - newbashcomp misc/bash-completion "${PN}" - - if use vim-syntax; then - insinto /usr/share/vim/vimfiles/syntax/ - doins misc/ninja.vim - - echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}/ninja.vim" - insinto /usr/share/vim/vimfiles/ftdetect - doins "${T}/ninja.vim" - fi - - insinto /usr/share/zsh/site-functions - newins misc/zsh-completion _ninja - - if use emacs; then - cd misc || die - elisp-install ninja ninja-mode.el* || die - fi -} - -pkg_postinst() { - use emacs && elisp-site-regen -} - -pkg_postrm() { - use emacs && elisp-site-regen -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.10.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.11.0.ebuild similarity index 88% rename from sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.10.2.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.11.0.ebuild index 409cf49a8a..815e93ce74 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.10.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.11.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 2012-2021 Gentoo Authors +# Copyright 2012-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{8..11} ) inherit bash-completion-r1 elisp-common python-any-r1 toolchain-funcs @@ -12,7 +12,7 @@ if [[ ${PV} == 9999 ]]; then EGIT_REPO_URI="https://github.com/ninja-build/ninja.git" else SRC_URI="https://github.com/ninja-build/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" fi DESCRIPTION="A small build system similar to make" @@ -31,6 +31,7 @@ BDEPEND=" app-text/asciidoc app-doc/doxygen dev-libs/libxslt + media-gfx/graphviz ) test? ( dev-cpp/gtest ) " diff --git a/sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.10.1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.11.1.ebuild similarity index 68% rename from sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.10.1.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.11.1.ebuild index dc00405e44..bedb66f577 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.10.1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-1.11.1.ebuild @@ -1,18 +1,18 @@ -# Copyright 2012-2021 Gentoo Authors +# Copyright 2012-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{8..11} ) -inherit bash-completion-r1 elisp-common python-any-r1 toolchain-funcs +inherit edo bash-completion-r1 elisp-common python-any-r1 toolchain-funcs if [[ ${PV} == 9999 ]]; then - inherit git-r3 EGIT_REPO_URI="https://github.com/ninja-build/ninja.git" + inherit git-r3 else SRC_URI="https://github.com/ninja-build/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" fi DESCRIPTION="A small build system similar to make" @@ -21,7 +21,7 @@ HOMEPAGE="https://ninja-build.org/" LICENSE="Apache-2.0" SLOT="0" -IUSE="doc emacs test vim-syntax" +IUSE="doc emacs test" RESTRICT="!test? ( test )" BDEPEND=" @@ -31,18 +31,11 @@ BDEPEND=" app-text/asciidoc app-doc/doxygen dev-libs/libxslt + media-gfx/graphviz ) test? ( dev-cpp/gtest ) " -RDEPEND=" - emacs? ( >=app-editors/emacs-23.1:* ) - vim-syntax? ( - || ( - app-editors/vim - app-editors/gvim - ) - ) -" +RDEPEND="emacs? ( >=app-editors/emacs-23.1:* )" PATCHES=( "${FILESDIR}"/ninja-cflags.patch @@ -89,30 +82,30 @@ src_test() { if ! tc-is-cross-compiler; then # Bug 485772 ulimit -n 2048 - ./ninja -v ninja_test || die - ./ninja_test || die + edo ./ninja -v ninja_test + edo ./ninja_test fi } src_install() { dodoc README.md CONTRIBUTING.md + if use doc; then docinto html dodoc -r doc/doxygen/html/. dodoc doc/manual.html fi + dobin ninja - newbashcomp misc/bash-completion "${PN}" + newbashcomp misc/bash-completion ${PN} - if use vim-syntax; then - insinto /usr/share/vim/vimfiles/syntax/ - doins misc/ninja.vim + insinto /usr/share/vim/vimfiles/syntax/ + doins misc/ninja.vim - echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}/ninja.vim" - insinto /usr/share/vim/vimfiles/ftdetect - doins "${T}/ninja.vim" - fi + echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}"/ninja.vim || die + insinto /usr/share/vim/vimfiles/ftdetect + doins "${T}"/ninja.vim insinto /usr/share/zsh/site-functions newins misc/zsh-completion _ninja diff --git a/sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-9999.ebuild index 72b8e4d9e8..bedb66f577 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/ninja/ninja-9999.ebuild @@ -1,18 +1,18 @@ -# Copyright 2012-2021 Gentoo Authors +# Copyright 2012-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -PYTHON_COMPAT=( python3_{8..10} ) +PYTHON_COMPAT=( python3_{8..11} ) -inherit bash-completion-r1 elisp-common python-any-r1 toolchain-funcs +inherit edo bash-completion-r1 elisp-common python-any-r1 toolchain-funcs if [[ ${PV} == 9999 ]]; then - inherit git-r3 EGIT_REPO_URI="https://github.com/ninja-build/ninja.git" + inherit git-r3 else SRC_URI="https://github.com/ninja-build/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" fi DESCRIPTION="A small build system similar to make" @@ -21,7 +21,7 @@ HOMEPAGE="https://ninja-build.org/" LICENSE="Apache-2.0" SLOT="0" -IUSE="doc emacs test vim-syntax" +IUSE="doc emacs test" RESTRICT="!test? ( test )" BDEPEND=" @@ -31,18 +31,11 @@ BDEPEND=" app-text/asciidoc app-doc/doxygen dev-libs/libxslt + media-gfx/graphviz ) test? ( dev-cpp/gtest ) " -RDEPEND=" - emacs? ( >=app-editors/emacs-23.1:* ) - vim-syntax? ( - || ( - app-editors/vim - app-editors/gvim - ) - ) -" +RDEPEND="emacs? ( >=app-editors/emacs-23.1:* )" PATCHES=( "${FILESDIR}"/ninja-cflags.patch @@ -89,30 +82,30 @@ src_test() { if ! tc-is-cross-compiler; then # Bug 485772 ulimit -n 2048 - ./ninja -v ninja_test || die - ./ninja_test || die + edo ./ninja -v ninja_test + edo ./ninja_test fi } src_install() { dodoc README.md CONTRIBUTING.md + if use doc; then docinto html dodoc -r doc/doxygen/html/. dodoc doc/manual.html fi + dobin ninja - newbashcomp misc/bash-completion "${PN}" + newbashcomp misc/bash-completion ${PN} - if use vim-syntax; then - insinto /usr/share/vim/vimfiles/syntax/ - doins misc/ninja.vim + insinto /usr/share/vim/vimfiles/syntax/ + doins misc/ninja.vim - echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}/ninja.vim" - insinto /usr/share/vim/vimfiles/ftdetect - doins "${T}/ninja.vim" - fi + echo 'au BufNewFile,BufRead *.ninja set ft=ninja' > "${T}"/ninja.vim || die + insinto /usr/share/vim/vimfiles/ftdetect + doins "${T}"/ninja.vim insinto /usr/share/zsh/site-functions newins misc/zsh-completion _ninja From a764045f5bc409d0796f3dcedc47a3af3160c301 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 12 Aug 2022 14:45:22 +0200 Subject: [PATCH 13/35] dev-util/pahole: Sync with Gentoo It's from Gentoo commit 3ac329dff93414ea355abc86e157b489a6f029dc. --- .../portage-stable/dev-util/pahole/Manifest | 5 +- .../dev-util/pahole/pahole-1.22.ebuild | 52 ------------------- ...{pahole-1.20.ebuild => pahole-1.23.ebuild} | 6 +-- ...{pahole-1.21.ebuild => pahole-1.24.ebuild} | 8 +-- .../dev-util/pahole/pahole-9999.ebuild | 6 +-- 5 files changed, 12 insertions(+), 65 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.22.ebuild rename sdk_container/src/third_party/portage-stable/dev-util/pahole/{pahole-1.20.ebuild => pahole-1.23.ebuild} (89%) rename sdk_container/src/third_party/portage-stable/dev-util/pahole/{pahole-1.21.ebuild => pahole-1.24.ebuild} (85%) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pahole/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/pahole/Manifest index 795a1994d3..b232c9e09f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pahole/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/pahole/Manifest @@ -1,3 +1,2 @@ -DIST dwarves-1.20.tar.xz 688728 BLAKE2B c57f390f7e1d20c861a4acb8cd7fe238a3f7c3f2d915d96fc051dba2587942e8fabfa4f524d18555c486863fa02bc4ab63d90e90d477f376dc5e547aa36cccac SHA512 306bb74c498527a5a9bdae4d304e90511336cab627d9acad5237d93cbb48efe11dbca4418c540fa03e3ecdd168ce224cabe9fd2f6fbb50520d0dd17741c80817 -DIST dwarves-1.21.tar.xz 910480 BLAKE2B b6dcdaf008a7714838904b0bc1050e6af4617e00e168f45a3f1a5d4611a05c898182f3395b2f10478240e05c22ce82a3a7381a1ea7ab41684e3b05ea6e73620c SHA512 69f510025f5790a004c356546f7d92996ad84c4ff1636876b48f1c7d81bf66c83da70f11a1912d65b46f81bea79418782021396a018e74baae5cad9221af14e1 -DIST dwarves-1.22.tar.xz 922016 BLAKE2B 79ba94bcbec6ddc9ebcc6d9e72ed63c8704ca9a97bb3df1910114e89cdd4e7cc75024e4281f15f06be8f5b4656dd957a44d561a16beff1af14d8c7dc32fbd184 SHA512 d45b19505cd59eb2cbb42304ab599661355a4085262cb202757822ec1c05476c851dea85e922f9421efb8a978ab475a6a6545757c6ab080f13ac77c5f7186606 +DIST dwarves-1.23.tar.xz 815076 BLAKE2B 2d89ac2d8cacb70a322b1c946356c0b18a2276f7a549efc2cf530c087dd718c7d01f5bcf8b9208965e066770064b6d8db7a9f6ab9a3f3a4612f6fcc8d146c1e8 SHA512 5255930d6898ce35a41e3e553363964663d2b686d12732ff6140fa1d06fcc3806adf28e24ec35ab0712eec0562c52c3943afe9ecce468b0053b852ffeb04c3dc +DIST dwarves-1.24.tar.xz 875744 BLAKE2B 6766b5a5ecbf64013227e7cd459af662fc213f230b5b1279354fcaaccebfa3d74f9a2254542dc4f3f1bb4a5def1d4c77e2445fa8b531fa8b9e331cdfc23155fe SHA512 3cdca183cf68ec46fd9a0301ae4a8a30b23a8139c65ffba64ae11f85f9e942f7341dca6f88a4a3b49f32bfd880927193a80fa011726e4a33d3e5a1a146326c06 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.22.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.22.ebuild deleted file mode 100644 index 6e645bb830..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.22.ebuild +++ /dev/null @@ -1,52 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -PYTHON_COMPAT=( python3_{7,8,9} ) -inherit multilib cmake python-single-r1 - -DESCRIPTION="pahole (Poke-a-Hole) and other DWARF2 utilities" -HOMEPAGE="https://git.kernel.org/cgit/devel/pahole/pahole.git/" - -LICENSE="GPL-2" # only -SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" -IUSE="debug" -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND="${PYTHON_DEPS} - >=dev-libs/elfutils-0.178 - sys-libs/zlib" -DEPEND="${RDEPEND}" - -MY_PN=dwarves -MY_P=${MY_PN}-${PV} -S=${WORKDIR}/${MY_P} -if [[ ${PV//_p} == ${PV} ]]; then - SRC_URI="http://fedorapeople.org/~acme/${MY_PN}/${MY_P}.tar.xz" -else - SRC_URI="https://dev.gentoo.org/~zzam/${PN}/${P}.tar.xz" -fi - -DOCS=( README README.ctracer NEWS ) - -PATCHES=( - "${FILESDIR}"/${PN}-1.10-python-import.patch -) - -src_prepare() { - cmake_src_prepare - python_fix_shebang ostra/ostra-cg ostra/python/ostra.py -} - -src_configure() { - local mycmakeargs=( "-D__LIB=$(get_libdir)" ) - cmake_src_configure -} - -src_test() { :; } - -src_install() { - cmake_src_install -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.20.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.23.ebuild similarity index 89% rename from sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.20.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.23.ebuild index 40eb52fc5c..0787ab642d 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.20.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.23.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{7,8,9} ) +PYTHON_COMPAT=( python3_{8..11} ) inherit multilib cmake python-single-r1 DESCRIPTION="pahole (Poke-a-Hole) and other DWARF2 utilities" @@ -11,7 +11,7 @@ HOMEPAGE="https://git.kernel.org/cgit/devel/pahole/pahole.git/" LICENSE="GPL-2" # only SLOT="0" -KEYWORDS="amd64 ~arm ~arm64 ppc64 x86" +KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86" IUSE="debug" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.21.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.24.ebuild similarity index 85% rename from sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.21.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.24.ebuild index 6e645bb830..8a8a28a9f3 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.21.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-1.24.ebuild @@ -1,17 +1,17 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{7,8,9} ) -inherit multilib cmake python-single-r1 +PYTHON_COMPAT=( python3_{8..11} ) +inherit cmake python-single-r1 DESCRIPTION="pahole (Poke-a-Hole) and other DWARF2 utilities" HOMEPAGE="https://git.kernel.org/cgit/devel/pahole/pahole.git/" LICENSE="GPL-2" # only SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86" +KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86" IUSE="debug" REQUIRED_USE="${PYTHON_REQUIRED_USE}" diff --git a/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-9999.ebuild index 7ce8b9b051..d93d2d7a75 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/pahole/pahole-9999.ebuild @@ -1,10 +1,10 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{7,8,9} ) -inherit multilib cmake python-single-r1 git-r3 +PYTHON_COMPAT=( python3_{8..11} ) +inherit cmake python-single-r1 git-r3 DESCRIPTION="pahole (Poke-a-Hole) and other DWARF2 utilities" HOMEPAGE="https://git.kernel.org/cgit/devel/pahole/pahole.git/" From b274ed6eaba3335b56a45cf9c5801d47f2efbaf7 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 12 Aug 2022 14:45:53 +0200 Subject: [PATCH 14/35] dev-util/patchelf: Sync with Gentoo It's from Gentoo commit b0dfc9160b045a6c9f17e40cf26989209c3bf02d. --- .../portage-stable/dev-util/patchelf/Manifest | 5 ++-- .../dev-util/patchelf/patchelf-0.10.ebuild | 30 ------------------- ...elf-0.13.ebuild => patchelf-0.14.5.ebuild} | 4 +-- ...f-0.14.3.ebuild => patchelf-0.15.0.ebuild} | 4 +-- 4 files changed, 6 insertions(+), 37 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.10.ebuild rename sdk_container/src/third_party/portage-stable/dev-util/patchelf/{patchelf-0.13.ebuild => patchelf-0.14.5.ebuild} (80%) rename sdk_container/src/third_party/portage-stable/dev-util/patchelf/{patchelf-0.14.3.ebuild => patchelf-0.15.0.ebuild} (77%) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/patchelf/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/patchelf/Manifest index 247fe251e9..6709bd2b29 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/patchelf/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/patchelf/Manifest @@ -1,3 +1,2 @@ -DIST patchelf-0.10.tar.bz2 158604 BLAKE2B 6aed9c2e7f37ff0330ca517a9491c46a93212140367b720bf94da4e4ec29a4978c920b53ce306ec333b3f7ac0216ff59637048c6997cfea4a34a87f2a0448796 SHA512 647ad13b7d45b3c5d20683ef8fe9760cb7f213e879231b6c5780bf32771adfbf7c5e5ce694c08e5681dceda63857d7d8a2d53efb60f799d3e7290cebc02ab501 -DIST patchelf-0.13.tar.gz 117997 BLAKE2B 5db88c9ff9103f2e4b8e15d7dc0d677c3956a85ce5e86e371c4c32a21c3bc219990edd71a20a6b650342eff1068c0ba0976529d62d21dcc17dfc020abf7167ec SHA512 0b4cb41dc1b76d1c0f46655d8b1c56187d2bf18fa12fad9ad6e8acd321a98df372713a92c6649479498bb5939c91ce16a1032ec03afc5a2f7c92cd68882c2bd9 -DIST patchelf-0.14.3.tar.gz 123722 BLAKE2B ca9c28c88ff6a5eb37a8cb9010642f04335b74e2132987f34bc167c140dc95cd4ac7a3ed71b7287d952a0201b12148a15f3066e5c7d3d453cc18a1e97b6283ed SHA512 2f5caa6b038e630896dc0cebaf4d6f88d91f6dee7f2ffa2fc6b90d199b3a0140b7fe39ea43e582f7ac1145309a61e11fb7ce36c579ad217c48f1b189738f79c8 +DIST patchelf-0.14.5.tar.gz 124767 BLAKE2B f2e02fb468db7c8c0c4270c7f95ea6c8dc6ffab7ddb0a6479bd5d1dd0481cbc55982af21a13f42076504417264a11e74d50a9f15d3d5735e47019001abf33e41 SHA512 1b7eca84f6fe2d6f6d4469ca1ccdf35dc920d2052ba94b7daeba6c8cb41fdaff20b1e5bac7c8a7650ff12bf4156da87f84d32e75b09958636dc992a1b7b1a59d +DIST patchelf-0.15.0.tar.gz 125803 BLAKE2B 08fc2cffd7d9e835c01c828c16762fb0b3c3e422990f2d0028a65a3e0ec849d01bdef699b6f68afa6bf307e34f5e76121fc94460793c95c055552e1d8a68d772 SHA512 3b2d3d6458be5b2d43cd2878dfb1a185a95cc13cd4c94abd0ee79979afb36f46e347acc292b8d9c2954a342b7291774e6a1b63930e9f90a1cf4179ec075ab046 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.10.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.10.ebuild deleted file mode 100644 index 481b26d569..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.10.ebuild +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright 1999-2019 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools - -DESCRIPTION="Small utility to modify the dynamic linker and RPATH of ELF executables" -HOMEPAGE="https://nixos.org/patchelf.html" -SRC_URI="https://nixos.org/releases/${PN}/${P}/${P}.tar.bz2" -SLOT="0" -KEYWORDS="amd64 arm64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux" -LICENSE="GPL-3" - -src_prepare() { - default - rm src/elf.h || die - - sed -i \ - -e 's:-Werror::g' \ - configure.ac || die - - eautoreconf -} - -src_test() { - emake check \ - CFLAGS+=" -no-pie" \ - CXXFLAGS+=" -no-pie" -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.13.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.14.5.ebuild similarity index 80% rename from sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.13.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.14.5.ebuild index e66de9a4ae..03f3d1f7fb 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.13.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.14.5.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,7 +9,7 @@ DESCRIPTION="Small utility to modify the dynamic linker and RPATH of ELF executa HOMEPAGE="https://github.com/NixOS/patchelf" SRC_URI="https://github.com/NixOS/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 arm64 ppc ppc64 ~sparc x86 ~amd64-linux ~x86-linux" LICENSE="GPL-3" src_prepare() { diff --git a/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.14.3.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.15.0.ebuild similarity index 77% rename from sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.14.3.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.15.0.ebuild index e66de9a4ae..da2daad848 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.14.3.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/patchelf/patchelf-0.15.0.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 @@ -9,7 +9,7 @@ DESCRIPTION="Small utility to modify the dynamic linker and RPATH of ELF executa HOMEPAGE="https://github.com/NixOS/patchelf" SRC_URI="https://github.com/NixOS/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz" SLOT="0" -KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="~amd64 ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~riscv-linux ~x86-linux" LICENSE="GPL-3" src_prepare() { From 090d25b463505a4fd90709a07109c41a6eed3246 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 12 Aug 2022 14:46:00 +0200 Subject: [PATCH 15/35] dev-util/patchutils: Sync with Gentoo It's from Gentoo commit 8eefb065d75c88868a8f73020595746eb34c8a98. --- .../dev-util/patchutils/patchutils-0.4.2.ebuild | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/patchutils/patchutils-0.4.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/patchutils/patchutils-0.4.2.ebuild index 95086f63a1..b141c55c7f 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/patchutils/patchutils-0.4.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/patchutils/patchutils-0.4.2.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI="7" @@ -9,7 +9,7 @@ SRC_URI="http://cyberelk.net/tim/data/patchutils/stable/${P}.tar.xz" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris ~x86-solaris" IUSE="pcre" RDEPEND="pcre? ( dev-libs/libpcre2:= )" From 9085fcdb6457ec5145065b76ff3ec087a1ec1ab4 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 12 Aug 2022 14:46:44 +0200 Subject: [PATCH 16/35] dev-util/perf: Sync with Gentoo It's from Gentoo commit 6da4a28b50ab2c8ba6d3937d7de191190a188440. --- .../portage-stable/dev-util/perf/Manifest | 7 +- .../perf/files/perf-5.17.1-clang.patch | 61 ++++ .../dev-util/perf/files/perf-5.18-clang.patch | 45 +++ .../portage-stable/dev-util/perf/metadata.xml | 9 +- .../dev-util/perf/perf-5.15-r1.ebuild | 19 +- ...perf-5.12-r1.ebuild => perf-5.17.1.ebuild} | 33 +-- .../{perf-5.8.ebuild => perf-5.18.ebuild} | 140 +++++---- .../dev-util/perf/perf-5.19.ebuild | 271 ++++++++++++++++++ 8 files changed, 488 insertions(+), 97 deletions(-) create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.17.1-clang.patch create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.18-clang.patch rename sdk_container/src/third_party/portage-stable/dev-util/perf/{perf-5.12-r1.ebuild => perf-5.17.1.ebuild} (90%) rename sdk_container/src/third_party/portage-stable/dev-util/perf/{perf-5.8.ebuild => perf-5.18.ebuild} (70%) create mode 100644 sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.19.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest index 2b586b7e41..574328166e 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/Manifest @@ -1,3 +1,6 @@ -DIST linux-5.12.tar.xz 118112412 BLAKE2B 842d921b9a73d2aaade763dbd2ec67bdfe0275baa6d628b775f5c87574ad7dc86f0419afcd48c10c1235f4bffa16084243f2cf4556e6afcd391e975fe8ba530b SHA512 be03b6fee1d1ea8087b09874d27c0a602c0b04fd90ad38b975bd2c8455a07e83c29b56814aaf1389e82305fae0e4c2d1701075a7f0a7295dd28149f967ec5b3d DIST linux-5.15.tar.xz 121913744 BLAKE2B 3921274b23f7938abdf3ed9334534b4581e13d7484303d3a5280eddb038999aaa8b836666a487472d9c4a219af0f06b9fecccaf348fb5510ab8762f4ef4b7e83 SHA512 d25ad40b5bcd6a4c6042fd0fd84e196e7a58024734c3e9a484fd0d5d54a0c1d87db8a3c784eff55e43b6f021709dc685eb0efa18d2aec327e4f88a79f405705a -DIST linux-5.8.tar.xz 114459324 BLAKE2B 7bd97f8fa4527840754434414c07283e89731dc8ebb1e95fa5bc1469a60af1122582c0d3b6e262e77882f023190068df3537bd8b65964b3caa820bb2c8e579c7 SHA512 45a53ecf351096ef6e98242cca4228b8da9b9139ecc6963695791ea6fb7a9484a4e1c19dcca7ce7cbfdfa49de0451b70973bb078f12bdae9cbaddbc3f8092556 +DIST linux-5.17.tar.xz 128399340 BLAKE2B 82dc4a45cc25c781ac67aa6ed1e4c369544154960f41c4634d47621f381159687a227054976d078524cda28884d395a15f7542fe44ca74ce98ca6ff54a81d6d0 SHA512 89f0a7ca69d20a539d4b612a7028a30a5e98b402e4b6b88516f14237e5da4b626d7929eab8b40fccc90766e8f3bae87e9858a19077ffad20d8204acf18794f5b +DIST linux-5.18.tar.xz 129790264 BLAKE2B e2745a69eb70169e90505a9318a3993046eab3020496eecde7d8352ecda0eb71a25b21becf7ce93fc593507dce7d1cd61b94ddcdf82b3094d79c0d3d48508eeb SHA512 dbbc9d1395898a498fa4947fceda1781344fa5d360240f753810daa4fa88e519833e2186c4e582a8f1836e6413e9e85f6563c7770523b704e8702d67622f98b5 +DIST linux-5.19.tar.xz 131581464 BLAKE2B 4db03a6830a3b3bbf0837e1912182a443d9a4aa8af20a12e6ec814ed708038452d3c0ccee1258cca671c464d76461536363a8adc56e9d098c9a44ae3484a297a SHA512 00313b2f9b82d2dc3fb8294007cf7d7599d254b717ed2de23c81fa7a1bbcbc2798ad286cb94e2f7f5bd54132d1d764facd90d30f79dbcc6616cc7f926adc2623 +DIST patch-5.17.1.xz 15244 BLAKE2B f340b8a103754122153dd381fe210b18ba37b7262dae4fc7a1f99c5a62868c9bdb178e83865b35f00b82bd2d67ae127c440515d1740093825f7ec7fa4c4a490d SHA512 fb9a28ce7c68daeca82586e7631dc0be00a1a8393b4cef4c659fc1f9dac6e1f941bd60671c0350d1dea9cb035f56d627f64a394a9acb00b2b5dea8a1d44c065f +DIST perf-5.19-binutils-2.39-patches.tar.xz 5612 BLAKE2B ec3aeadc3e2508f33dddbb419f434885b39b8220d294f3845f0bc96282923ff46dca126a04c732b8286752e56087ba5b2c5ad9526884f6d0b8b6df5665121e5e SHA512 af676e5a600e227d85f89a5ee0cfacfe1845aa56c27ef9da3ebaf578362d7e741375d30565759123b33b86d36bc9981c8c4cda113af32745cc59cf4a9275e73b diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.17.1-clang.patch b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.17.1-clang.patch new file mode 100644 index 0000000000..73d4506146 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.17.1-clang.patch @@ -0,0 +1,61 @@ + +Fix building against LLVM/Clang with monolithic libraries and +adjust header includes for Clang >= 14. + +--- a/tools/build/feature/Makefile ++++ b/tools/build/feature/Makefile +@@ -299,7 +299,7 @@ $(OUTPUT)test-llvm.bin: + $(BUILDXX) -std=gnu++14 \ + -I$(shell $(LLVM_CONFIG) --includedir) \ + -L$(shell $(LLVM_CONFIG) --libdir) \ +- $(shell $(LLVM_CONFIG) --libs Core BPF) \ ++ $(shell $(LLVM_CONFIG) --libs) \ + $(shell $(LLVM_CONFIG) --system-libs) \ + > $(@:.bin=.make.output) 2>&1 + +@@ -312,10 +312,7 @@ $(OUTPUT)test-clang.bin: + $(BUILDXX) -std=gnu++14 \ + -I$(shell $(LLVM_CONFIG) --includedir) \ + -L$(shell $(LLVM_CONFIG) --libdir) \ +- -Wl,--start-group -lclangBasic -lclangDriver \ +- -lclangFrontend -lclangEdit -lclangLex \ +- -lclangAST -Wl,--end-group \ +- $(shell $(LLVM_CONFIG) --libs Core option) \ ++ -lclang-cpp $(shell $(LLVM_CONFIG) --libs) \ + $(shell $(LLVM_CONFIG) --system-libs) \ + > $(@:.bin=.make.output) 2>&1 + +--- a/tools/perf/Makefile.perf ++++ b/tools/perf/Makefile.perf +@@ -417,14 +417,11 @@ EXTLIBS := $(call filter-out,$(EXCLUDE_EXTLIBS),$(EXTLIBS)) + LIBS = -Wl,--whole-archive $(PERFLIBS) $(EXTRA_PERFLIBS) -Wl,--no-whole-archive -Wl,--start-group $(EXTLIBS) -Wl,--end-group + + ifeq ($(USE_CLANG), 1) +- CLANGLIBS_LIST = AST Basic CodeGen Driver Frontend Lex Tooling Edit Sema Analysis Parse Serialization +- CLANGLIBS_NOEXT_LIST = $(foreach l,$(CLANGLIBS_LIST),$(shell $(LLVM_CONFIG) --libdir)/libclang$(l)) +- LIBCLANG = $(foreach l,$(CLANGLIBS_NOEXT_LIST),$(wildcard $(l).a $(l).so)) +- LIBS += -Wl,--start-group $(LIBCLANG) -Wl,--end-group ++ LIBS += -lclang-cpp + endif + + ifeq ($(USE_LLVM), 1) +- LIBLLVM = $(shell $(LLVM_CONFIG) --libs all) $(shell $(LLVM_CONFIG) --system-libs) ++ LIBLLVM = $(shell $(LLVM_CONFIG) --libs) $(shell $(LLVM_CONFIG) --system-libs) + LIBS += -L$(shell $(LLVM_CONFIG) --libdir) $(LIBLLVM) + endif + +--- a/tools/perf/util/c++/clang.cpp ++++ b/tools/perf/util/c++/clang.cpp +@@ -20,7 +20,11 @@ + #include "llvm/Option/Option.h" + #include "llvm/Support/FileSystem.h" + #include "llvm/Support/ManagedStatic.h" ++#if CLANG_VERSION_MAJOR >= 14 ++#include "llvm/MC/TargetRegistry.h" ++#else + #include "llvm/Support/TargetRegistry.h" ++#endif + #include "llvm/Support/TargetSelect.h" + #include "llvm/Target/TargetMachine.h" + #include "llvm/Target/TargetOptions.h" + diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.18-clang.patch b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.18-clang.patch new file mode 100644 index 0000000000..d1c9a48e68 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/files/perf-5.18-clang.patch @@ -0,0 +1,45 @@ + +Fix building against LLVM/Clang with monolithic libraries. + +--- a/tools/build/feature/Makefile ++++ b/tools/build/feature/Makefile +@@ -299,7 +299,7 @@ $(OUTPUT)test-llvm.bin: + $(BUILDXX) -std=gnu++14 \ + -I$(shell $(LLVM_CONFIG) --includedir) \ + -L$(shell $(LLVM_CONFIG) --libdir) \ +- $(shell $(LLVM_CONFIG) --libs Core BPF) \ ++ $(shell $(LLVM_CONFIG) --libs) \ + $(shell $(LLVM_CONFIG) --system-libs) \ + > $(@:.bin=.make.output) 2>&1 + +@@ -312,10 +312,7 @@ $(OUTPUT)test-clang.bin: + $(BUILDXX) -std=gnu++14 \ + -I$(shell $(LLVM_CONFIG) --includedir) \ + -L$(shell $(LLVM_CONFIG) --libdir) \ +- -Wl,--start-group -lclangBasic -lclangDriver \ +- -lclangFrontend -lclangEdit -lclangLex \ +- -lclangAST -Wl,--end-group \ +- $(shell $(LLVM_CONFIG) --libs Core option) \ ++ -lclang-cpp $(shell $(LLVM_CONFIG) --libs) \ + $(shell $(LLVM_CONFIG) --system-libs) \ + > $(@:.bin=.make.output) 2>&1 + +--- a/tools/perf/Makefile.perf ++++ b/tools/perf/Makefile.perf +@@ -417,14 +417,11 @@ EXTLIBS := $(call filter-out,$(EXCLUDE_EXTLIBS),$(EXTLIBS)) + LIBS = -Wl,--whole-archive $(PERFLIBS) $(EXTRA_PERFLIBS) -Wl,--no-whole-archive -Wl,--start-group $(EXTLIBS) -Wl,--end-group + + ifeq ($(USE_CLANG), 1) +- CLANGLIBS_LIST = AST Basic CodeGen Driver Frontend Lex Tooling Edit Sema Analysis Parse Serialization +- CLANGLIBS_NOEXT_LIST = $(foreach l,$(CLANGLIBS_LIST),$(shell $(LLVM_CONFIG) --libdir)/libclang$(l)) +- LIBCLANG = $(foreach l,$(CLANGLIBS_NOEXT_LIST),$(wildcard $(l).a $(l).so)) +- LIBS += -Wl,--start-group $(LIBCLANG) -Wl,--end-group ++ LIBS += -lclang-cpp + endif + + ifeq ($(USE_LLVM), 1) +- LIBLLVM = $(shell $(LLVM_CONFIG) --libs all) $(shell $(LLVM_CONFIG) --system-libs) ++ LIBLLVM = $(shell $(LLVM_CONFIG) --libs) $(shell $(LLVM_CONFIG) --system-libs) + LIBS += -L$(shell $(LLVM_CONFIG) --libdir) $(LIBLLVM) + endif + diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-util/perf/metadata.xml index 3d3ce6d908..5ebbfb8b49 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/metadata.xml @@ -3,6 +3,7 @@ naota@gentoo.org + Naohiro Aota dlan@gentoo.org @@ -19,12 +20,6 @@ Enable dev-util/babeltrace support Enable builtin clang and LLVM support - - Enable C++ symbol name demangling, using libbfd from - sys-devel/binutils. When this flag is enabled, the - package will have to be rebuilt after every version bump of - binutils. - Build documentation and man pages. With this USE flag disabled, the --help parameter for perf and its sub-tools will not be @@ -41,7 +36,7 @@ Add support to define SDT event in perf tools. - Use sys-libs/libunwind for frame unwinding support. + Use sys-libs/libunwind for frame unwinding support. diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.15-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.15-r1.ebuild index 601dc13c9a..9f1e523876 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.15-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.15-r1.ebuild @@ -1,11 +1,10 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -# Flatcar: Support python 3.6. -PYTHON_COMPAT=( python3_{6..10} ) -inherit bash-completion-r1 estack llvm toolchain-funcs prefix python-r1 linux-info +PYTHON_COMPAT=( python3_{7..10} ) +inherit bash-completion-r1 estack llvm toolchain-funcs python-r1 linux-info DESCRIPTION="Userland tools for Linux Performance Counters" HOMEPAGE="https://perf.wiki.kernel.org/" @@ -32,7 +31,7 @@ SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" +KEYWORDS="amd64 arm arm64 ~mips ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux" IUSE="audit babeltrace clang crypt debug +doc gtk java libpfm lzma numa perl python slang systemtap unwind zlib zstd" REQUIRED_USE="${PYTHON_REQUIRED_USE}" @@ -55,8 +54,8 @@ RDEPEND="audit? ( sys-process/audit ) babeltrace? ( dev-util/babeltrace ) crypt? ( virtual/libcrypt:= ) clang? ( - sys-devel/clang:= - sys-devel/llvm:= + /dev/null || die + eapply "${FILESDIR}"/${P}-clang.patch + popd || die + # Drop some upstream too-developer-oriented flags and fix the # Makefile in general sed -i \ - -e "s:\$(sysconfdir_SQ)/bash_completion.d:$(get_bashcompdir):" \ + -e "s@\$(sysconfdir_SQ)/bash_completion.d@$(get_bashcompdir)@" \ "${S}"/Makefile.perf || die # A few places still use -Werror w/out $(WERROR) protection. - sed -i -e 's:-Werror::' \ + sed -i -e 's@-Werror@@' \ "${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile || die # Avoid the call to make kernelversion @@ -156,11 +160,6 @@ src_prepare() { # The code likes to compile local assembly files which lack ELF markings. find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} + - - # Fix shebang to use python from prefix - if [[ -n "${EPREFIX}" ]]; then - hprefixify ${S_K}/scripts/bpf_helpers_doc.py - fi } puse() { usex $1 "" no; } @@ -222,9 +221,7 @@ perf_make() { src_compile() { # test-clang.bin not build with g++ if use clang; then - pushd "${S_K}/tools/build/feature/" || die - make V=1 CXX=${CHOST}-clang++ test-clang.bin || die - popd + make -C "${S_K}/tools/build/feature" V=1 CXX=${CHOST}-clang++ test-clang.bin || die fi perf_make -f Makefile.perf use doc && perf_make -C Documentation man diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.8.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.18.ebuild similarity index 70% rename from sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.8.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.18.ebuild index 38ceee391a..773d205044 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.8.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.18.ebuild @@ -1,13 +1,10 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -PYTHON_COMPAT=( python3_{7,8} ) -inherit bash-completion-r1 estack llvm toolchain-funcs prefix python-r1 linux-info - -MY_PV="${PV/_/-}" -MY_PV="${MY_PV/-pre/-git}" +PYTHON_COMPAT=( python3_{8..10} ) +inherit bash-completion-r1 estack llvm toolchain-funcs python-r1 linux-info DESCRIPTION="Userland tools for Linux Performance Counters" HOMEPAGE="https://perf.wiki.kernel.org/" @@ -34,20 +31,35 @@ SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux" -IUSE="audit clang crypt debug +demangle +doc gtk java lzma numa perl python slang systemtap unwind zlib" -# TODO babeltrace -REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" +IUSE="audit babeltrace clang crypt debug +doc gtk java libpfm lzma numa perl python slang systemtap unwind zlib zstd" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +BDEPEND=" + ${LINUX_PATCH+dev-util/patchutils} + sys-devel/bison + sys-devel/flex + virtual/pkgconfig + doc? ( + app-text/asciidoc + app-text/sgml-common + app-text/xmlto + sys-process/time + ) + ${PYTHON_DEPS} +" RDEPEND="audit? ( sys-process/audit ) - crypt? ( dev-libs/openssl:0= ) + babeltrace? ( dev-util/babeltrace ) + crypt? ( virtual/libcrypt:= ) clang? ( - =sys-kernel/linux-headers-4.19 - ${LINUX_PATCH+dev-util/patchutils} - sys-devel/bison - sys-devel/flex - virtual/pkgconfig + >=sys-kernel/linux-headers-5.10 java? ( virtual/jdk ) - doc? ( - app-text/asciidoc - app-text/sgml-common - app-text/xmlto - sys-process/time - )" +" S_K="${WORKDIR}/linux-${LINUX_VER}" S="${S_K}/tools/perf" CONFIG_CHECK="~PERF_EVENTS ~KALLSYMS" -pkg_setup() { - use clang && LLVM_MAX_SLOT=9 llvm_pkg_setup +QA_FLAGS_IGNORED=( + 'usr/bin/perf-read-vdso32' # not linked with anything except for libc + 'usr/libexec/perf-core/dlfilters/.*' # plugins +) + +pkg_pretend() { + if ! use doc ; then + ewarn "Without the doc USE flag you won't get any documentation nor man pages." + ewarn "And without man pages, you won't get any --help output for perf and its" + ewarn "sub-tools." + fi } +pkg_setup() { + use clang && llvm_pkg_setup + # We enable python unconditionally as libbpf always generates + # API headers using python script + python_setup +} + +# src_unpack and src_prepare are copied to dev-util/bpftool since +# it's building from the same tarball, please keep it in sync with bpftool src_unpack() { local paths=( tools/arch tools/build tools/include tools/lib tools/perf tools/scripts @@ -117,25 +141,25 @@ src_prepare() { popd || die fi + pushd "${S_K}" >/dev/null || die + eapply "${FILESDIR}"/${P}-clang.patch + popd || die + # Drop some upstream too-developer-oriented flags and fix the # Makefile in general sed -i \ - -e "s:\$(sysconfdir_SQ)/bash_completion.d:$(get_bashcompdir):" \ + -e "s@\$(sysconfdir_SQ)/bash_completion.d@$(get_bashcompdir)@" \ "${S}"/Makefile.perf || die # A few places still use -Werror w/out $(WERROR) protection. - sed -i -e 's:-Werror::' \ + sed -i -e 's@-Werror@@' \ "${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile || die # Avoid the call to make kernelversion - echo "#define PERF_VERSION \"${MY_PV}\"" > PERF-VERSION-FILE + sed -i -e '/PERF-VERSION-GEN/d' Makefile.perf || die + echo "#define PERF_VERSION \"${PV}\"" > PERF-VERSION-FILE # The code likes to compile local assembly files which lack ELF markings. find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} + - - # Fix shebang to use python from prefix - if [[ -n "${EPREFIX}" ]]; then - hprefixify ${S_K}/scripts/bpf_helpers_doc.py - fi } puse() { usex $1 "" no; } @@ -150,39 +174,43 @@ perf_make() { local arch=$(tc-arch-kernel) local java_dir - use java && java_dir="/etc/java-config-2/current-system-vm" + use java && java_dir="${EPREFIX}/etc/java-config-2/current-system-vm" # FIXME: NO_CORESIGHT - # FIXME: NO_LIBBABELTRACE emake V=1 VF=1 \ HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \ CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="$(tc-getLD)" NM="$(tc-getNM)" \ PKG_CONFIG="$(tc-getPKG_CONFIG)" \ prefix="${EPREFIX}/usr" bindir_relative="bin" \ + tipdir="share/doc/${PF}" \ EXTRA_CFLAGS="${CFLAGS}" \ + EXTRA_LDFLAGS="${LDFLAGS}" \ ARCH="${arch}" \ JDIR="${java_dir}" \ LIBCLANGLLVM=$(usex clang 1 "") \ + LIBPFM4=$(usex libpfm 1 "") \ NO_AUXTRACE="" \ NO_BACKTRACE="" \ NO_CORESIGHT=1 \ - NO_DEMANGLE=$(puse demangle) \ - NO_GTK2=$(puse gtk) \ + NO_DEMANGLE= \ + GTK2=$(usex gtk 1 "") \ + feature-gtk2-infobar=$(usex gtk 1 "") \ NO_JVMTI=$(puse java) \ NO_LIBAUDIT=$(puse audit) \ - NO_LIBBABELTRACE=1 \ + NO_LIBBABELTRACE=$(puse babeltrace) \ NO_LIBBIONIC=1 \ - NO_LIBBPF="" \ + NO_LIBBPF= \ NO_LIBCRYPTO=$(puse crypt) \ - NO_LIBDW_DWARF_UNWIND="" \ - NO_LIBELF="" \ + NO_LIBDW_DWARF_UNWIND= \ + NO_LIBELF= \ NO_LIBNUMA=$(puse numa) \ NO_LIBPERL=$(puse perl) \ NO_LIBPYTHON=$(puse python) \ NO_LIBUNWIND=$(puse unwind) \ + NO_LIBZSTD=$(puse zstd) \ NO_SDT=$(puse systemtap) \ NO_SLANG=$(puse slang) \ NO_LZMA=$(puse lzma) \ - NO_ZLIB= \ + NO_ZLIB=$(puse zlib) \ WERROR=0 \ LIBDIR="/usr/libexec/perf-core" \ libdir="${EPREFIX}/usr/$(get_libdir)" \ @@ -193,12 +221,10 @@ perf_make() { src_compile() { # test-clang.bin not build with g++ if use clang; then - pushd "${S_K}/tools/build/feature/" || die - make V=1 CXX=${CHOST}-clang++ test-clang.bin || die - popd + make -C "${S_K}/tools/build/feature" V=1 CXX=${CHOST}-clang++ test-clang.bin || die fi perf_make -f Makefile.perf - use doc && perf_make -C Documentation + use doc && perf_make -C Documentation man } src_test() { @@ -211,12 +237,11 @@ src_install() { } perf_make -f Makefile.perf install DESTDIR="${D}" + if use python; then python_foreach_impl _install_python_ext fi - rm -rv "${ED}"/usr/share/doc/perf-tip || die - if use gtk; then local libdir libdir="$(get_libdir)" @@ -229,16 +254,11 @@ src_install() { dodoc CREDITS dodoc *txt Documentation/*.txt + + # perf needs this decompressed to print out tips for users + docompress -x /usr/share/doc/${PF}/tips.txt + if use doc ; then - HTML_DOCS="Documentation/*.html" einstalldocs doman Documentation/*.1 fi } - -pkg_postinst() { - if ! use doc ; then - elog "Without the doc USE flag you won't get any documentation nor man pages." - elog "And without man pages, you won't get any --help output for perf and its" - elog "sub-tools." - fi -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.19.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.19.ebuild new file mode 100644 index 0000000000..c0b17711b7 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/dev-util/perf/perf-5.19.ebuild @@ -0,0 +1,271 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{8..10} ) +inherit bash-completion-r1 estack llvm toolchain-funcs python-r1 linux-info + +DESCRIPTION="Userland tools for Linux Performance Counters" +HOMEPAGE="https://perf.wiki.kernel.org/" + +LINUX_V="${PV:0:1}.x" +if [[ ${PV} == *_rc* ]] ; then + LINUX_VER=$(ver_cut 1-2).$(($(ver_cut 3)-1)) + PATCH_VERSION=$(ver_cut 1-3) + LINUX_PATCH=patch-${PV//_/-}.xz + SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/${LINUX_PATCH} + https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/testing/v${PATCH_VERSION}/${LINUX_PATCH}" +elif [[ ${PV} == *.*.* ]] ; then + # stable-release series + LINUX_VER=$(ver_cut 1-2) + LINUX_PATCH=patch-${PV}.xz + SRC_URI="https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_PATCH}" +else + LINUX_VER=${PV} + SRC_URI="" + SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${P}-binutils-2.39-patches.tar.xz" +fi + +LINUX_SOURCES="linux-${LINUX_VER}.tar.xz" +SRC_URI+=" https://www.kernel.org/pub/linux/kernel/v${LINUX_V}/${LINUX_SOURCES}" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~arm ~arm64 ~mips ~ppc ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux" +IUSE="audit babeltrace clang crypt debug +doc gtk java libpfm lzma numa perl python slang systemtap unwind zlib zstd" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +BDEPEND=" + ${LINUX_PATCH+dev-util/patchutils} + sys-devel/bison + sys-devel/flex + virtual/pkgconfig + doc? ( + app-text/asciidoc + app-text/sgml-common + app-text/xmlto + sys-process/time + ) + ${PYTHON_DEPS} +" + +RDEPEND="audit? ( sys-process/audit ) + babeltrace? ( dev-util/babeltrace ) + crypt? ( virtual/libcrypt:= ) + clang? ( + sys-devel/clang:= + sys-devel/llvm:= + ) + gtk? ( x11-libs/gtk+:2 ) + java? ( virtual/jre:* ) + libpfm? ( dev-libs/libpfm ) + lzma? ( app-arch/xz-utils ) + numa? ( sys-process/numactl ) + perl? ( dev-lang/perl:= ) + python? ( ${PYTHON_DEPS} ) + slang? ( sys-libs/slang ) + systemtap? ( dev-util/systemtap ) + unwind? ( sys-libs/libunwind ) + zlib? ( sys-libs/zlib ) + zstd? ( app-arch/zstd ) + dev-libs/elfutils + sys-libs/binutils-libs:=" + +DEPEND="${RDEPEND} + >=sys-kernel/linux-headers-5.10 + java? ( virtual/jdk ) +" + +S_K="${WORKDIR}/linux-${LINUX_VER}" +S="${S_K}/tools/perf" + +CONFIG_CHECK="~PERF_EVENTS ~KALLSYMS" + +QA_FLAGS_IGNORED=( + 'usr/bin/perf-read-vdso32' # not linked with anything except for libc + 'usr/libexec/perf-core/dlfilters/.*' # plugins +) + +pkg_pretend() { + if ! use doc ; then + ewarn "Without the doc USE flag you won't get any documentation nor man pages." + ewarn "And without man pages, you won't get any --help output for perf and its" + ewarn "sub-tools." + fi +} + +pkg_setup() { + use clang && llvm_pkg_setup + # We enable python unconditionally as libbpf always generates + # API headers using python script + python_setup +} + +# src_unpack and src_prepare are copied to dev-util/bpftool since +# it's building from the same tarball, please keep it in sync with bpftool +src_unpack() { + local paths=( + tools/arch tools/build tools/include tools/lib tools/perf tools/scripts + scripts include lib "arch/*/lib" + ) + + # We expect the tar implementation to support the -j option (both + # GNU tar and libarchive's tar support that). + echo ">>> Unpacking ${LINUX_SOURCES} (${paths[*]}) to ${PWD}" + tar --wildcards -xpf "${DISTDIR}"/${LINUX_SOURCES} \ + "${paths[@]/#/linux-${LINUX_VER}/}" || die + + if [[ -n ${LINUX_PATCH} ]] ; then + eshopts_push -o noglob + ebegin "Filtering partial source patch" + filterdiff -p1 ${paths[@]/#/-i } -z "${DISTDIR}"/${LINUX_PATCH} \ + > ${P}.patch + eend $? || die "filterdiff failed" + eshopts_pop + fi + + local a + for a in ${A}; do + [[ ${a} == ${LINUX_SOURCES} ]] && continue + [[ ${a} == ${LINUX_PATCH} ]] && continue + unpack ${a} + done +} + +src_prepare() { + default + if [[ -n ${LINUX_PATCH} ]] ; then + pushd "${S_K}" >/dev/null || die + eapply "${WORKDIR}"/${P}.patch + popd || die + fi + + pushd "${S_K}" >/dev/null || die + eapply "${FILESDIR}"/${PN}-5.18-clang.patch + # Used `git format-patch 00b32625982e0c796f0abb8effcac9c05ef55bd3...600b7b26c07a070d0153daa76b3806c1e52c9e00` + # bug #868129 + rm "${WORKDIR}"/${P}-binutils-2.39-patches/0005-tools-bpf_jit_disasm-Fix-compilation-error-with-new-.patch || die + rm "${WORKDIR}"/${P}-binutils-2.39-patches/0006-tools-bpf_jit_disasm-Don-t-display-disassembler-four.patch || die + rm "${WORKDIR}"/${P}-binutils-2.39-patches/0007-tools-bpftool-Fix-compilation-error-with-new-binutil.patch || die + eapply "${WORKDIR}"/${P}-binutils-2.39-patches + popd || die + + # Drop some upstream too-developer-oriented flags and fix the + # Makefile in general + sed -i \ + -e "s@\$(sysconfdir_SQ)/bash_completion.d@$(get_bashcompdir)@" \ + "${S}"/Makefile.perf || die + # A few places still use -Werror w/out $(WERROR) protection. + sed -i -e 's@-Werror@@' \ + "${S}"/Makefile.perf "${S_K}"/tools/lib/bpf/Makefile || die + + # Avoid the call to make kernelversion + sed -i -e '/PERF-VERSION-GEN/d' Makefile.perf || die + echo "#define PERF_VERSION \"${PV}\"" > PERF-VERSION-FILE + + # The code likes to compile local assembly files which lack ELF markings. + find -name '*.S' -exec sed -i '$a.section .note.GNU-stack,"",%progbits' {} + +} + +puse() { usex $1 "" no; } +perf_make() { + # The arch parsing is a bit funky. The perf tools package is integrated + # into the kernel, so it wants an ARCH that looks like the kernel arch, + # but it also wants to know about the split value -- i386/x86_64 vs just + # x86. We can get that by telling the func to use an older linux version. + # It's kind of a hack, but not that bad ... + + # LIBDIR sets a search path of perf-gtk.so. Bug 515954 + + local arch=$(tc-arch-kernel) + local java_dir + use java && java_dir="${EPREFIX}/etc/java-config-2/current-system-vm" + # FIXME: NO_CORESIGHT + emake V=1 VF=1 \ + HOSTCC="$(tc-getBUILD_CC)" HOSTLD="$(tc-getBUILD_LD)" \ + CC="$(tc-getCC)" CXX="$(tc-getCXX)" AR="$(tc-getAR)" LD="$(tc-getLD)" NM="$(tc-getNM)" \ + PKG_CONFIG="$(tc-getPKG_CONFIG)" \ + prefix="${EPREFIX}/usr" bindir_relative="bin" \ + tipdir="share/doc/${PF}" \ + EXTRA_CFLAGS="${CFLAGS}" \ + EXTRA_LDFLAGS="${LDFLAGS}" \ + ARCH="${arch}" \ + JDIR="${java_dir}" \ + LIBCLANGLLVM=$(usex clang 1 "") \ + LIBPFM4=$(usex libpfm 1 "") \ + NO_AUXTRACE="" \ + NO_BACKTRACE="" \ + NO_CORESIGHT=1 \ + NO_DEMANGLE= \ + GTK2=$(usex gtk 1 "") \ + feature-gtk2-infobar=$(usex gtk 1 "") \ + NO_JVMTI=$(puse java) \ + NO_LIBAUDIT=$(puse audit) \ + NO_LIBBABELTRACE=$(puse babeltrace) \ + NO_LIBBIONIC=1 \ + NO_LIBBPF= \ + NO_LIBCRYPTO=$(puse crypt) \ + NO_LIBDW_DWARF_UNWIND= \ + NO_LIBELF= \ + NO_LIBNUMA=$(puse numa) \ + NO_LIBPERL=$(puse perl) \ + NO_LIBPYTHON=$(puse python) \ + NO_LIBUNWIND=$(puse unwind) \ + NO_LIBZSTD=$(puse zstd) \ + NO_SDT=$(puse systemtap) \ + NO_SLANG=$(puse slang) \ + NO_LZMA=$(puse lzma) \ + NO_ZLIB=$(puse zlib) \ + WERROR=0 \ + LIBDIR="/usr/libexec/perf-core" \ + libdir="${EPREFIX}/usr/$(get_libdir)" \ + plugindir="${EPREFIX}/usr/$(get_libdir)/perf/plugins" \ + "$@" +} + +src_compile() { + # test-clang.bin not build with g++ + if use clang; then + make -C "${S_K}/tools/build/feature" V=1 CXX=${CHOST}-clang++ test-clang.bin || die + fi + perf_make -f Makefile.perf + use doc && perf_make -C Documentation man +} + +src_test() { + : +} + +src_install() { + _install_python_ext() { + perf_make -f Makefile.perf install-python_ext DESTDIR="${D}" + } + + perf_make -f Makefile.perf install DESTDIR="${D}" + + if use python; then + python_foreach_impl _install_python_ext + fi + + if use gtk; then + local libdir + libdir="$(get_libdir)" + # on some arches it ends up in lib even on 64bit, ppc64 for instance. + [[ -f "${ED}"/usr/lib/libperf-gtk.so ]] && libdir="lib" + mv "${ED}"/usr/${libdir}/libperf-gtk.so \ + "${ED}"/usr/libexec/perf-core || die + fi + + dodoc CREDITS + + dodoc *txt Documentation/*.txt + + # perf needs this decompressed to print out tips for users + docompress -x /usr/share/doc/${PF}/tips.txt + + if use doc ; then + doman Documentation/*.1 + fi +} From d620d52425969e75ade2503b01abd03ac2171042 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 12 Aug 2022 14:46:55 +0200 Subject: [PATCH 17/35] dev-util/re2c: Sync with Gentoo It's from Gentoo commit 21b2890ca1fcb0f8b7230420194f87706740d29e. --- .../portage-stable/dev-util/re2c/re2c-2.2.ebuild | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/re2c/re2c-2.2.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/re2c/re2c-2.2.ebuild index 2c4d64c193..077c3ee997 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/re2c/re2c-2.2.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/re2c/re2c-2.2.ebuild @@ -1,19 +1,19 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 PYTHON_COMPAT=( python3_{8,9,10} ) -inherit autotools python-any-r1 +inherit python-any-r1 -DESCRIPTION="tool for generating C-based recognizers from regular expressions" -HOMEPAGE="http://re2c.org/" +DESCRIPTION="Tool for generating C-based recognizers from regular expressions" +HOMEPAGE="https://re2c.org/" SRC_URI="https://github.com/skvadrik/re2c/releases/download/${PV}/${P}.tar.xz" LICENSE="public-domain" SLOT="0" -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" IUSE="debug test" RESTRICT="!test? ( test )" From be4949f48b14d1857d72fe09ad9005a9311b3a15 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 12 Aug 2022 14:47:12 +0200 Subject: [PATCH 18/35] dev-util/scons: Drop unnecessary package There isn't anything that is using scons, so just drop it. --- .../portage-stable/dev-util/scons/Manifest | 4 - .../files/scons-4.0.0-respect-cc-etc-r1.patch | 88 ----------------- .../files/scons-4.1.0-env-passthrough.patch | 41 -------- .../dev-util/scons/metadata.xml | 18 ---- .../dev-util/scons/scons-4.1.0-r1.ebuild | 98 ------------------- 5 files changed, 249 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-util/scons/Manifest delete mode 100644 sdk_container/src/third_party/portage-stable/dev-util/scons/files/scons-4.0.0-respect-cc-etc-r1.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-util/scons/files/scons-4.1.0-env-passthrough.patch delete mode 100644 sdk_container/src/third_party/portage-stable/dev-util/scons/metadata.xml delete mode 100644 sdk_container/src/third_party/portage-stable/dev-util/scons/scons-4.1.0-r1.ebuild diff --git a/sdk_container/src/third_party/portage-stable/dev-util/scons/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/scons/Manifest deleted file mode 100644 index 669ad9a328..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/scons/Manifest +++ /dev/null @@ -1,4 +0,0 @@ -DIST scons-4.1.0-user.html 1454432 BLAKE2B 9fac4d7bfb4b25708bc4cc48d952beb030f88181af5dfee63090f726b1a82443c192c63ec5939869967ef8f374e8599321212971439fb265fb050b263681c9f8 SHA512 74f1349fa61dac9e66cfb863cb3126d07ce5f421b3e87d0220eb32bd5017ba8f6cf96eb8cb5ee45c39022671aa9f2d0408d4039970c438a69c002445aea510be -DIST scons-4.1.0-user.pdf 2691364 BLAKE2B a910a09fa936d4d6f8dc967676d5aa009aac58a5a4566399b3ddc3512ac0259731e6c5399722fefadb3b79d8f89a5257e2e9bc2fa4d65697c8293ab995248d64 SHA512 64584731a59b59b78283be3876ecca91d742f83da2653d0de17922bec01e3c9cea1ce2ce3c8dc718597910ba86ed2c8aff0f7ae371bf763439b57a6d5484e1a7 -DIST scons-4.1.0.gh.tar.gz 5609204 BLAKE2B ede3d47a1ec652b9248681e26738073e9d01daab7ffeccc58f0fcadb79661e30edb9a35a511518e4a58459243acb027afd8fa5849b0f9e4bae451055f7b1a062 SHA512 f79b86bb09783767b3872cfb8efb665372714a604af2aaf3adc66eee63d3afe27bc6b2aab83813743c83f71c81c800d42842e916501787ba402ce2726dda9b44 -DIST scons-4.1.0.tar.gz 3007701 BLAKE2B 70ab64ecfd89fa2af1d78a33fcef82a5f7db9875ffe9d2c16ea75cf40e661b2874359e3a5f75d761b3d9e863f7a434560992cfb020cce3e21e389381331d90de SHA512 24fd493643545a2998b053ed0d68caf6241f05bc2437e7cbeae33d2e1c63517a61449a1a18062f8e4e5a639295a2486925296ba3e54ccfa2ecdd56fa07132de8 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/scons/files/scons-4.0.0-respect-cc-etc-r1.patch b/sdk_container/src/third_party/portage-stable/dev-util/scons/files/scons-4.0.0-respect-cc-etc-r1.patch deleted file mode 100644 index d187a17ae6..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/scons/files/scons-4.0.0-respect-cc-etc-r1.patch +++ /dev/null @@ -1,88 +0,0 @@ -From 929986e568446f54c2a99c309fbb4d05bd4af00a Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= -Date: Thu, 10 May 2018 08:01:08 +0200 -Subject: [PATCH] posix: Also force common toolchain vars for Gentoo - ---- - src/SCons/Platform/posix.py | 20 ++++++++++++++++++++ - src/SCons/Tool/cc.py | 3 ++- - src/SCons/Tool/cxx.py | 3 ++- - src/SCons/Tool/link.py | 3 ++- - 4 files changed, 26 insertions(+), 3 deletions(-) - -diff --git a/src/SCons/Platform/posix.py b/src/SCons/Platform/posix.py -index 739310a1..ef7528e0 100644 ---- a/src/SCons/Platform/posix.py -+++ b/src/SCons/Platform/posix.py -@@ -95,6 +95,26 @@ def generate(env): - if 'ENV' in env: - new_env.update(env['ENV']) - env['ENV'] = new_env -+ -+ # Furthermore, force common compiler/linker variables as well -+ envvar_mapping = { -+ 'AR': 'AR', -+ 'AS': 'AS', -+ 'ASFLAGS': 'ASFLAGS', -+ 'CC': 'CC', -+ 'CXX': 'CXX', -+ 'CFLAGS': 'CFLAGS', -+ 'CXXFLAGS': 'CXXFLAGS', -+ 'CPPFLAGS': 'CPPFLAGS', -+ 'LDFLAGS': 'LINKFLAGS', -+ } -+ -+ for envvar, toolvar in envvar_mapping.items(): -+ if toolvar not in env and envvar in env['ENV']: -+ val = env['ENV'][envvar] -+ if toolvar.endswith('FLAGS'): -+ val = SCons.Util.CLVar(val) -+ env[toolvar] = val - else: - if 'ENV' not in env: - env['ENV'] = {} -diff --git a/src/SCons/Tool/cc.py b/src/SCons/Tool/cc.py -index 590ec5fd..5f9229a0 100644 ---- a/src/SCons/Tool/cc.py -+++ b/src/SCons/Tool/cc.py -@@ -80,7 +80,8 @@ def generate(env): - - if 'CC' not in env: - env['CC'] = env.Detect(compilers) or compilers[0] -- env['CFLAGS'] = SCons.Util.CLVar('') -+ if 'CFLAGS' not in env: -+ env['CFLAGS'] = SCons.Util.CLVar('') - env['CCCOM'] = '$CC -o $TARGET -c $CFLAGS $CCFLAGS $_CCCOMCOM $SOURCES' - env['SHCC'] = '$CC' - env['SHCFLAGS'] = SCons.Util.CLVar('$CFLAGS') -diff --git a/src/SCons/Tool/cxx.py b/src/SCons/Tool/cxx.py -index 430851c8..ca5ab563 100644 ---- a/src/SCons/Tool/cxx.py -+++ b/src/SCons/Tool/cxx.py -@@ -74,7 +74,8 @@ def generate(env): - - if 'CXX' not in env: - env['CXX'] = env.Detect(compilers) or compilers[0] -- env['CXXFLAGS'] = SCons.Util.CLVar('') -+ if 'CXXFLAGS' not in env: -+ env['CXXFLAGS'] = SCons.Util.CLVar('') - env['CXXCOM'] = '$CXX -o $TARGET -c $CXXFLAGS $CCFLAGS $_CCCOMCOM $SOURCES' - env['SHCXX'] = '$CXX' - env['SHCXXFLAGS'] = SCons.Util.CLVar('$CXXFLAGS') -diff --git a/src/SCons/Tool/link.py b/src/SCons/Tool/link.py -index 5adc6ca2..a12ea8ed 100644 ---- a/src/SCons/Tool/link.py -+++ b/src/SCons/Tool/link.py -@@ -318,7 +318,8 @@ def generate(env): - - env['SMARTLINK'] = smart_link - env['LINK'] = "$SMARTLINK" -- env['LINKFLAGS'] = SCons.Util.CLVar('') -+ if 'LINKFLAGS' not in env: -+ env['LINKFLAGS'] = SCons.Util.CLVar('') - - # __RPATH is only set to something ($_RPATH typically) on platforms that support it. - env['LINKCOM'] = '$LINK -o $TARGET $LINKFLAGS $__RPATH $SOURCES $_LIBDIRFLAGS $_LIBFLAGS' --- -2.20.1 - diff --git a/sdk_container/src/third_party/portage-stable/dev-util/scons/files/scons-4.1.0-env-passthrough.patch b/sdk_container/src/third_party/portage-stable/dev-util/scons/files/scons-4.1.0-env-passthrough.patch deleted file mode 100644 index 06ec2f2176..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/scons/files/scons-4.1.0-env-passthrough.patch +++ /dev/null @@ -1,41 +0,0 @@ -From fb07dc4b4fa178b0c424c5f400b18669abd8960e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= -Date: Wed, 9 May 2018 17:04:49 +0200 -Subject: [PATCH] posix: Support GENTOO_SCONS_ENV_PASSTHROUGH=1 - -Support GENTOO_SCONS_ENV_PASSTHROUGH=1 variable to override the default -of wiping the environment and resetting PATH to default, and instead -pass all variables through. ---- - SCons/Platform/posix.py | 15 ++++++++++++--- - 1 file changed, 12 insertions(+), 3 deletions(-) - -diff --git a/SCons/Platform/posix.py b/SCons/Platform/posix.py -index 4c9f8f9ba..fbc81196d 100644 ---- a/src/SCons/Platform/posix.py -+++ b/src/SCons/Platform/posix.py -@@ -82,9 +82,18 @@ def generate(env): - pspawn = piped_env_spawn - # Note that this means that 'escape' is no longer used - -- if 'ENV' not in env: -- env['ENV'] = {} -- env['ENV']['PATH'] = '/usr/local/bin:/opt/bin:/bin:/usr/bin:/snap/bin' -+ # Force pass-through of environment variables in Gentoo builds -+ import os -+ if os.environ.get('GENTOO_SCONS_ENV_PASSTHROUGH', False): -+ new_env = os.environ.copy() -+ if 'ENV' in env: -+ new_env.update(env['ENV']) -+ env['ENV'] = new_env -+ else: -+ if 'ENV' not in env: -+ env['ENV'] = {} -+ env['ENV']['PATH'] = '/usr/local/bin:/opt/bin:/bin:/usr/bin:/snap/bin' -+ - env['OBJPREFIX'] = '' - env['OBJSUFFIX'] = '.o' - env['SHOBJPREFIX'] = '$OBJPREFIX' --- -2.30.0 - diff --git a/sdk_container/src/third_party/portage-stable/dev-util/scons/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-util/scons/metadata.xml deleted file mode 100644 index 979bab55bc..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/scons/metadata.xml +++ /dev/null @@ -1,18 +0,0 @@ - - - - - mgorny@gentoo.org - Michał Górny - - - SCons is a make replacement providing a range of enhanced - features such as automated dependency generation and built in - compilation cache support. SCons rule sets are Python scripts so - as well as the features it provides itself SCons allows you to use - the full power of Python to control compilation. - - - scons - - diff --git a/sdk_container/src/third_party/portage-stable/dev-util/scons/scons-4.1.0-r1.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/scons/scons-4.1.0-r1.ebuild deleted file mode 100644 index 3f27b8197d..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/scons/scons-4.1.0-r1.ebuild +++ /dev/null @@ -1,98 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -DISTUTILS_USE_SETUPTOOLS=rdepend -PYTHON_COMPAT=( python3_{8..9} ) -PYTHON_REQ_USE="threads(+)" - -inherit distutils-r1 - -DESCRIPTION="Extensible Python-based build utility" -HOMEPAGE="https://www.scons.org/" -SRC_URI=" - https://downloads.sourceforge.net/project/scons/scons/${PV}/${P}.tar.gz - doc? ( - https://www.scons.org/doc/${PV}/PDF/${PN}-user.pdf -> ${P}-user.pdf - https://www.scons.org/doc/${PV}/HTML/${PN}-user.html -> ${P}-user.html - ) - test? ( https://github.com/scons/scons/archive/${PV}.tar.gz -> ${P}.gh.tar.gz )" - -LICENSE="MIT" -SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-cygwin ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~sparc-solaris ~x64-solaris ~x86-solaris" -IUSE="doc test" -RESTRICT="!test? ( test )" - -BDEPEND=" - test? ( - dev-libs/libxml2[${PYTHON_USEDEP}] - dev-python/lxml[${PYTHON_USEDEP}] - ) -" - -S=${WORKDIR}/${P}/src - -PATCHES=( - # support env passthrough for Gentoo ebuilds - "${FILESDIR}"/scons-4.1.0-env-passthrough.patch - # respect CC, CXX, C*FLAGS, LDFLAGS by default - "${FILESDIR}"/scons-4.0.0-respect-cc-etc-r1.patch -) - -src_unpack() { - # use the git directory structure, but put pregenerated release - # inside src/ subdirectory to make our life easier - if use test; then - unpack "${P}.gh.tar.gz" - else - mkdir -p "${P}"/src || die - fi - - tar -C "${P}"/src --strip-components=1 -xzf "${DISTDIR}/${P}.tar.gz" || die -} - -src_prepare() { - # apply patches relatively to top directory - cd "${WORKDIR}/${P}" || die - distutils-r1_src_prepare - - # manpage install is completely broken - sed -i -e '/build\/doc\/man/d' src/setup.cfg || die - - if use test; then - local remove_tests=( - # TODO: does not respect PATH? - test/Clang - # broken - test/DVIPDF/DVIPDFFLAGS.py - test/Java/swig-dependencies.py - test/Java/multi-step.py - ) - rm -r "${remove_tests[@]}" || die - fi -} - -python_test() { - local -x COLUMNS=80 - # set variable from escons() of scons-util.eclass to make env-passthrough patch work within test env - local -x GENTOO_SCONS_ENV_PASSTHROUGH=1 - # unset some env variables to pass appropriate tests - unset AR AS ASFLAGS CC CXX CFLAGS CXXFLAGS CPPFLAGS LDFLAGS - cd "${WORKDIR}/${P}" || die - "${EPYTHON}" runtest.py -a --passed \ - -j "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")" - - # runtest.py script returns "0" if all tests are passed - # and returns "2" if there are any tests with "no result" - # (i.e. in case if some tools are not installed or it's Windows specific tests) - [[ ${?} == [02] ]] || die "Tests fail with ${EPYTHON}" -} - -python_install_all() { - distutils-r1_python_install_all - - doman *.1 - use doc && dodoc "${DISTDIR}"/${P}-user.{pdf,html} -} From af44411e905937230eda92912d14ff0c36e9004d Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 12 Aug 2022 14:47:18 +0200 Subject: [PATCH 19/35] dev-util/strace: Sync with Gentoo It's from Gentoo commit b95e21368252ad592083b193849d4e950f9f04f0. --- .../portage-stable/dev-util/strace/Manifest | 5 +- .../dev-util/strace/metadata.xml | 41 +++---- .../dev-util/strace/strace-5.13.ebuild | 105 ------------------ ...{strace-5.11.ebuild => strace-5.17.ebuild} | 35 +++--- ...{strace-5.12.ebuild => strace-5.19.ebuild} | 40 ++++--- .../dev-util/strace/strace-9999.ebuild | 47 ++++---- 6 files changed, 89 insertions(+), 184 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/dev-util/strace/strace-5.13.ebuild rename sdk_container/src/third_party/portage-stable/dev-util/strace/{strace-5.11.ebuild => strace-5.17.ebuild} (79%) rename sdk_container/src/third_party/portage-stable/dev-util/strace/{strace-5.12.ebuild => strace-5.19.ebuild} (78%) diff --git a/sdk_container/src/third_party/portage-stable/dev-util/strace/Manifest b/sdk_container/src/third_party/portage-stable/dev-util/strace/Manifest index dce8cafc85..f38d718945 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/strace/Manifest +++ b/sdk_container/src/third_party/portage-stable/dev-util/strace/Manifest @@ -1,3 +1,2 @@ -DIST strace-5.11.tar.xz 1926632 BLAKE2B df47612c0928466f8b5788c4a7dc74208fe76c6967d3219b0eb753131fba315e715626c2cd1ed56d3e8ba0eb9a338589a8cbd6205fe876123ac26fdf0fab8d31 SHA512 688bec8d620c7ca701561ed7479e42687cc30737f944b82201731d827775cd2864787ecca7c93ba149b06d5d654d9f6bd109a977f8138bab34339cd5930828f0 -DIST strace-5.12.tar.xz 2009060 BLAKE2B 9a7a07e5d2d38c8b456f54d0e1d7c776066b20327fa08d562e426a7096f708dffa00f0c2121683fa71f7029db958d450c5a6abf5ae5970dc02732f5aa7cef591 SHA512 289cf82da4c69270458953b45d09c8eb05a6624898d3ac493c3ec293cd5ad07205084ad0af021dab2be9c0dc53f0301816113a746d96c78780b79231a185e7c9 -DIST strace-5.13.tar.xz 2040116 BLAKE2B a604342d68f504b42ff1cb4918aa9ced6575f589caeb62f53e0b125f24cfaf0423f1911f352f21ecea0d702197d65edc85d3e97ffca3561f619f9c4c80386cdc SHA512 ba8b0eae396fa2b762bf17cbcdcd84b0660b2a5d5e7e9caf098ef3414a87fd28d4140dd10136483f35904560e5044e40be2bf6117462868a360306d62887c8ed +DIST strace-5.17.tar.xz 2281220 BLAKE2B 27e7dc19302c58144b0a7d8de41f717760b8e3cde4ab56892045727597bbfc894bf8f137aee476548c2d16d1e9c8005f931f31a5d2f8bfc4ce5565c2aa01f1ec SHA512 1b63cf7e6e339333b9d24fa20232409192abc815f2ebe2e336ef4acc039cd06c976b3c12e9ce993491a0e6b86c26b90ceba962f580e894b1ff5ab9863bdfcc44 +DIST strace-5.19.tar.xz 2353276 BLAKE2B 44b9a87f36e66481d8ac2107efbc389fa64c47b2ae7b1cc728241baa1c7d2d5d4d9410622763eb1247b415cad9afdd9f61552d2545388cadf5a33b568ed09af2 SHA512 1ea1c6e12d05bf145bc3c74f8d06b08dfc3eae3a5a21bfe8ab080053dc4c2da8a95be5956652ea62bb083462015a55f9bc1d1023919dcf2929a05211b7dde963 diff --git a/sdk_container/src/third_party/portage-stable/dev-util/strace/metadata.xml b/sdk_container/src/third_party/portage-stable/dev-util/strace/metadata.xml index 7aa6b81780..50e8e39652 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/strace/metadata.xml +++ b/sdk_container/src/third_party/portage-stable/dev-util/strace/metadata.xml @@ -1,23 +1,24 @@ - + - - base-system@gentoo.org - Gentoo Base System - - - - Enable dev-libs/libaio support for tracing Asynchronous I/O operations - - - Enable stack backtraces (-k flag) via sys-libs/libunwind - - - Enable stack backtraces (-k flag) via dev-libs/elfutils - - - - strace/strace - strace - + + base-system@gentoo.org + Gentoo Base System + + + + Enable dev-libs/libaio support for tracing Asynchronous I/O operations + + + Enable stack backtraces (-k flag) via sys-libs/libunwind + + + Enable stack backtraces (-k flag) via dev-libs/elfutils + + + + strace/strace + strace/strace + strace + diff --git a/sdk_container/src/third_party/portage-stable/dev-util/strace/strace-5.13.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/strace/strace-5.13.ebuild deleted file mode 100644 index 73df00d83e..0000000000 --- a/sdk_container/src/third_party/portage-stable/dev-util/strace/strace-5.13.ebuild +++ /dev/null @@ -1,105 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -EAPI=7 - -inherit autotools flag-o-matic toolchain-funcs - -if [[ ${PV} == "9999" ]] ; then - EGIT_REPO_URI="https://github.com/strace/strace.git" - inherit git-r3 autotools -else - SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" -fi - -DESCRIPTION="A useful diagnostic, instructional, and debugging tool" -HOMEPAGE="https://strace.io/" - -LICENSE="BSD" -SLOT="0" -IUSE="aio perl static unwind elfutils" - -REQUIRED_USE="?? ( unwind elfutils )" - -BDEPEND=" - virtual/pkgconfig -" -LIB_DEPEND=" - unwind? ( sys-libs/libunwind[static-libs(+)] ) - elfutils? ( dev-libs/elfutils[static-libs(+)] ) -" -# strace only uses the header from libaio to decode structs -DEPEND=" - static? ( ${LIB_DEPEND} ) - aio? ( >=dev-libs/libaio-0.3.106 ) - sys-kernel/linux-headers -" -RDEPEND=" - !static? ( ${LIB_DEPEND//\[static-libs(+)]} ) - perl? ( dev-lang/perl ) -" - -PATCHES=( - "${FILESDIR}/${PN}-5.11-static.patch" -) - -src_prepare() { - default - - eautoreconf - - if [[ ! -e configure ]] ; then - # git generation - sed /autoreconf/d -i bootstrap || die - ./bootstrap || die - eautoreconf - [[ ! -e CREDITS ]] && cp CREDITS{.in,} - fi - - filter-lfs-flags # configure handles this sanely - - export ac_cv_header_libaio_h=$(usex aio) - use elibc_musl && export ac_cv_header_stdc=no - - # Stub out the -k test since it's known to be flaky. #545812 - sed -i '1iexit 77' tests*/strace-k.test || die -} - -src_configure() { - # Set up the default build settings, and then use the names strace expects. - tc-export_build_env BUILD_{CC,CPP} - local v bv - for v in CC CPP {C,CPP,LD}FLAGS ; do - bv="BUILD_${v}" - export "${v}_FOR_BUILD=${!bv}" - done - - # Don't require mpers support on non-multilib systems. #649560 - local myeconfargs=( - --disable-gcc-Werror - --enable-mpers=check - $(use_enable static) - $(use_with unwind libunwind) - $(use_with elfutils libdw) - ) - econf "${myeconfargs[@]}" -} - -src_test() { - if has usersandbox ${FEATURES} ; then - ewarn "Test suite is known to fail with FEATURES=usersandbox -- skipping ..." #643044 - return 0 - fi - - default -} - -src_install() { - default - if use perl ; then - exeinto /usr/bin - doexe src/strace-graph - fi - dodoc CREDITS -} diff --git a/sdk_container/src/third_party/portage-stable/dev-util/strace/strace-5.11.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/strace/strace-5.17.ebuild similarity index 79% rename from sdk_container/src/third_party/portage-stable/dev-util/strace/strace-5.11.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/strace/strace-5.17.ebuild index d71516e9a0..26462a79e4 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/strace/strace-5.11.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/strace/strace-5.17.ebuild @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 @@ -7,10 +7,10 @@ inherit autotools flag-o-matic toolchain-funcs if [[ ${PV} == "9999" ]] ; then EGIT_REPO_URI="https://github.com/strace/strace.git" - inherit git-r3 autotools + inherit git-r3 else SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" fi DESCRIPTION="A useful diagnostic, instructional, and debugging tool" @@ -18,16 +18,14 @@ HOMEPAGE="https://strace.io/" LICENSE="BSD" SLOT="0" -IUSE="aio perl static unwind elfutils" - +IUSE="aio perl selinux static unwind elfutils" REQUIRED_USE="?? ( unwind elfutils )" -BDEPEND=" - virtual/pkgconfig -" +BDEPEND="virtual/pkgconfig" LIB_DEPEND=" unwind? ( sys-libs/libunwind[static-libs(+)] ) elfutils? ( dev-libs/elfutils[static-libs(+)] ) + selinux? ( sys-libs/libselinux[static-libs(+)] ) " # strace only uses the header from libaio to decode structs DEPEND=" @@ -57,12 +55,7 @@ src_prepare() { [[ ! -e CREDITS ]] && cp CREDITS{.in,} fi - filter-lfs-flags # configure handles this sanely - - export ac_cv_header_libaio_h=$(usex aio) - use elibc_musl && export ac_cv_header_stdc=no - - # Stub out the -k test since it's known to be flaky. #545812 + # Stub out the -k test since it's known to be flaky. bug #545812 sed -i '1iexit 77' tests*/strace-k.test || die } @@ -75,20 +68,29 @@ src_configure() { export "${v}_FOR_BUILD=${!bv}" done - # Don't require mpers support on non-multilib systems. #649560 + filter-lfs-flags # configure handles this sanely + + export ac_cv_header_libaio_h=$(usex aio) + use elibc_musl && export ac_cv_header_stdc=no + local myeconfargs=( --disable-gcc-Werror + + # Don't require mpers support on non-multilib systems. #649560 --enable-mpers=check + $(use_enable static) $(use_with unwind libunwind) $(use_with elfutils libdw) + $(use_with selinux libselinux) ) econf "${myeconfargs[@]}" } src_test() { if has usersandbox ${FEATURES} ; then - ewarn "Test suite is known to fail with FEATURES=usersandbox -- skipping ..." #643044 + # bug #643044 + ewarn "Test suite is known to fail with FEATURES=usersandbox -- skipping ..." return 0 fi @@ -97,6 +99,7 @@ src_test() { src_install() { default + if use perl ; then exeinto /usr/bin doexe src/strace-graph diff --git a/sdk_container/src/third_party/portage-stable/dev-util/strace/strace-5.12.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/strace/strace-5.19.ebuild similarity index 78% rename from sdk_container/src/third_party/portage-stable/dev-util/strace/strace-5.12.ebuild rename to sdk_container/src/third_party/portage-stable/dev-util/strace/strace-5.19.ebuild index d71516e9a0..8d532b61c6 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/strace/strace-5.12.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/strace/strace-5.19.ebuild @@ -1,16 +1,16 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 inherit autotools flag-o-matic toolchain-funcs -if [[ ${PV} == "9999" ]] ; then +if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://github.com/strace/strace.git" - inherit git-r3 autotools + inherit git-r3 else SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz" - KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux" fi DESCRIPTION="A useful diagnostic, instructional, and debugging tool" @@ -18,16 +18,14 @@ HOMEPAGE="https://strace.io/" LICENSE="BSD" SLOT="0" -IUSE="aio perl static unwind elfutils" - +IUSE="aio perl selinux static unwind elfutils" REQUIRED_USE="?? ( unwind elfutils )" -BDEPEND=" - virtual/pkgconfig -" +BDEPEND="virtual/pkgconfig" LIB_DEPEND=" unwind? ( sys-libs/libunwind[static-libs(+)] ) elfutils? ( dev-libs/elfutils[static-libs(+)] ) + selinux? ( sys-libs/libselinux[static-libs(+)] ) " # strace only uses the header from libaio to decode structs DEPEND=" @@ -57,12 +55,7 @@ src_prepare() { [[ ! -e CREDITS ]] && cp CREDITS{.in,} fi - filter-lfs-flags # configure handles this sanely - - export ac_cv_header_libaio_h=$(usex aio) - use elibc_musl && export ac_cv_header_stdc=no - - # Stub out the -k test since it's known to be flaky. #545812 + # Stub out the -k test since it's known to be flaky. bug #545812 sed -i '1iexit 77' tests*/strace-k.test || die } @@ -75,20 +68,29 @@ src_configure() { export "${v}_FOR_BUILD=${!bv}" done - # Don't require mpers support on non-multilib systems. #649560 + filter-lfs-flags # configure handles this sanely + + export ac_cv_header_libaio_h=$(usex aio) + use elibc_musl && export ac_cv_header_stdc=no + local myeconfargs=( --disable-gcc-Werror + + # Don't require mpers support on non-multilib systems. #649560 --enable-mpers=check + $(use_enable static) $(use_with unwind libunwind) $(use_with elfutils libdw) + $(use_with selinux libselinux) ) econf "${myeconfargs[@]}" } src_test() { if has usersandbox ${FEATURES} ; then - ewarn "Test suite is known to fail with FEATURES=usersandbox -- skipping ..." #643044 + # bug #643044 + ewarn "Test suite is known to fail with FEATURES=usersandbox -- skipping ..." return 0 fi @@ -97,9 +99,11 @@ src_test() { src_install() { default + if use perl ; then exeinto /usr/bin doexe src/strace-graph fi + dodoc CREDITS } diff --git a/sdk_container/src/third_party/portage-stable/dev-util/strace/strace-9999.ebuild b/sdk_container/src/third_party/portage-stable/dev-util/strace/strace-9999.ebuild index 73df00d83e..49ada01092 100644 --- a/sdk_container/src/third_party/portage-stable/dev-util/strace/strace-9999.ebuild +++ b/sdk_container/src/third_party/portage-stable/dev-util/strace/strace-9999.ebuild @@ -1,16 +1,16 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -inherit autotools flag-o-matic toolchain-funcs +inherit autotools edo flag-o-matic toolchain-funcs -if [[ ${PV} == "9999" ]] ; then +if [[ ${PV} == 9999 ]] ; then EGIT_REPO_URI="https://github.com/strace/strace.git" - inherit git-r3 autotools + inherit git-r3 else SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.xz" - KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" + KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux" fi DESCRIPTION="A useful diagnostic, instructional, and debugging tool" @@ -18,16 +18,14 @@ HOMEPAGE="https://strace.io/" LICENSE="BSD" SLOT="0" -IUSE="aio perl static unwind elfutils" - +IUSE="aio perl selinux static unwind elfutils" REQUIRED_USE="?? ( unwind elfutils )" -BDEPEND=" - virtual/pkgconfig -" +BDEPEND="virtual/pkgconfig" LIB_DEPEND=" unwind? ( sys-libs/libunwind[static-libs(+)] ) elfutils? ( dev-libs/elfutils[static-libs(+)] ) + selinux? ( sys-libs/libselinux[static-libs(+)] ) " # strace only uses the header from libaio to decode structs DEPEND=" @@ -47,22 +45,16 @@ PATCHES=( src_prepare() { default - eautoreconf - if [[ ! -e configure ]] ; then # git generation sed /autoreconf/d -i bootstrap || die - ./bootstrap || die - eautoreconf + edo ./bootstrap [[ ! -e CREDITS ]] && cp CREDITS{.in,} fi - filter-lfs-flags # configure handles this sanely + eautoreconf - export ac_cv_header_libaio_h=$(usex aio) - use elibc_musl && export ac_cv_header_stdc=no - - # Stub out the -k test since it's known to be flaky. #545812 + # Stub out the -k test since it's known to be flaky. bug #545812 sed -i '1iexit 77' tests*/strace-k.test || die } @@ -75,20 +67,29 @@ src_configure() { export "${v}_FOR_BUILD=${!bv}" done - # Don't require mpers support on non-multilib systems. #649560 + filter-lfs-flags # configure handles this sanely + + export ac_cv_header_libaio_h=$(usex aio) + use elibc_musl && export ac_cv_header_stdc=no + local myeconfargs=( --disable-gcc-Werror + + # Don't require mpers support on non-multilib systems. #649560 --enable-mpers=check + $(use_enable static) $(use_with unwind libunwind) $(use_with elfutils libdw) + $(use_with selinux libselinux) ) econf "${myeconfargs[@]}" } src_test() { if has usersandbox ${FEATURES} ; then - ewarn "Test suite is known to fail with FEATURES=usersandbox -- skipping ..." #643044 + # bug #643044 + ewarn "Test suite is known to fail with FEATURES=usersandbox -- skipping ..." return 0 fi @@ -97,9 +98,11 @@ src_test() { src_install() { default + if use perl ; then exeinto /usr/bin doexe src/strace-graph fi + dodoc CREDITS } From 5a9282cce5d20c7678424afaa842b8efaaeb489d Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 23 Aug 2022 16:43:05 +0200 Subject: [PATCH 20/35] eclass/linux-info: Sync with Gentoo It's from Gentoo commit bd03dc08515969a9ce74ca1304c8374cb7a88416. --- .../portage-stable/eclass/linux-info.eclass | 130 ++++++++++++------ 1 file changed, 85 insertions(+), 45 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/linux-info.eclass b/sdk_container/src/third_party/portage-stable/eclass/linux-info.eclass index a0942f0e55..fc125b0d75 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/linux-info.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/linux-info.eclass @@ -29,13 +29,22 @@ # A Couple of env vars are available to effect usage of this eclass # These are as follows: -# @ECLASS-VARIABLE: KERNEL_DIR + +# @ECLASS_VARIABLE: CHECKCONFIG_DONOTHING +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Do not error out in check_extra_config if CONFIG settings are not met. +# This is a user flag and should under _no circumstances_ be set in the ebuild. +: ${CHECKCONFIG_DONOTHING:=""} + +# @ECLASS_VARIABLE: KERNEL_DIR # @DESCRIPTION: # A string containing the directory of the target kernel sources. The default value is # "/usr/src/linux" KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}" -# @ECLASS-VARIABLE: CONFIG_CHECK +# @ECLASS_VARIABLE: CONFIG_CHECK # @DEFAULT_UNSET # @DESCRIPTION: # A string containing a list of .config options to check for before @@ -58,7 +67,7 @@ KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}" # This is to allow usage of binary kernels, and minimal systems without kernel # sources. -# @ECLASS-VARIABLE: ERROR_ +# @ECLASS_VARIABLE: ERROR_ # @DEFAULT_UNSET # @DESCRIPTION: # A string containing the error message to display when the check against CONFIG_CHECK @@ -71,7 +80,7 @@ KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}" # CONFIG_CHECK="~CFG" with WARNING_="Warning Message" calls ewarn without dieing -# @ECLASS-VARIABLE: KBUILD_OUTPUT +# @ECLASS_VARIABLE: KBUILD_OUTPUT # @DEFAULT_UNSET # @DESCRIPTION: # A string passed on commandline, or set from the kernel makefile. It contains the directory @@ -80,7 +89,7 @@ KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}" # There are also a couple of variables which are set by this, and shouldn't be # set by hand. These are as follows: -# @ECLASS-VARIABLE: KERNEL_MAKEFILE +# @ECLASS_VARIABLE: KERNEL_MAKEFILE # @INTERNAL # @DESCRIPTION: # According to upstream documentation, by default, when make looks for the makefile, it tries @@ -89,48 +98,58 @@ KERNEL_DIR="${KERNEL_DIR:-${ROOT%/}/usr/src/linux}" # See https://www.gnu.org/software/make/manual/make.html : ${KERNEL_MAKEFILE:=""} -# @ECLASS-VARIABLE: KV_FULL +# @ECLASS_VARIABLE: KV_FULL # @OUTPUT_VARIABLE # @DESCRIPTION: # A read-only variable. It's a string containing the full kernel version. ie: 2.6.9-gentoo-johnm-r1 -# @ECLASS-VARIABLE: KV_MAJOR +# @ECLASS_VARIABLE: KV_MAJOR # @OUTPUT_VARIABLE # @DESCRIPTION: # A read-only variable. It's an integer containing the kernel major version. ie: 2 -# @ECLASS-VARIABLE: KV_MINOR +# @ECLASS_VARIABLE: KV_MINOR # @OUTPUT_VARIABLE # @DESCRIPTION: # A read-only variable. It's an integer containing the kernel minor version. ie: 6 -# @ECLASS-VARIABLE: KV_PATCH +# @ECLASS_VARIABLE: KV_PATCH # @OUTPUT_VARIABLE # @DESCRIPTION: # A read-only variable. It's an integer containing the kernel patch version. ie: 9 -# @ECLASS-VARIABLE: KV_EXTRA +# @ECLASS_VARIABLE: KV_EXTRA # @OUTPUT_VARIABLE # @DESCRIPTION: # A read-only variable. It's a string containing the kernel EXTRAVERSION. ie: -gentoo -# @ECLASS-VARIABLE: KV_LOCAL +# @ECLASS_VARIABLE: KV_LOCAL # @OUTPUT_VARIABLE # @DESCRIPTION: # A read-only variable. It's a string containing the kernel LOCALVERSION concatenation. ie: -johnm -# @ECLASS-VARIABLE: KV_DIR +# @ECLASS_VARIABLE: KV_DIR # @OUTPUT_VARIABLE # @DESCRIPTION: # A read-only variable. It's a string containing the kernel source directory, will be null if # KERNEL_DIR is invalid. -# @ECLASS-VARIABLE: KV_OUT_DIR +# @ECLASS_VARIABLE: KV_OUT_DIR # @OUTPUT_VARIABLE # @DESCRIPTION: # A read-only variable. It's a string containing the kernel object directory, will be KV_DIR unless # KBUILD_OUTPUT is used. This should be used for referencing .config. + +# @ECLASS_VARIABLE: SKIP_KERNEL_CHECK +# @USER_VARIABLE +# @DEFAULT_UNSET +# @DESCRIPTION: +# Do not check for kernel sources or a running kernel version +# Main use-case is for chroots +# This is a user flag and should under _no circumstances_ be set in the ebuild. +: ${SKIP_KERNEL_CHECK:=""} + # And to ensure all the weirdness with crosscompile inherit toolchain-funcs [[ ${EAPI:-0} == [0123456] ]] && inherit eapi7-ver @@ -148,15 +167,15 @@ esac # @DESCRIPTION: # Set the env ARCH to match what the kernel expects. set_arch_to_kernel() { export ARCH=$(tc-arch-kernel); } -# @FUNCTION: set_arch_to_portage -# @DESCRIPTION: -# Set the env ARCH to match what portage expects. -set_arch_to_portage() { export ARCH=$(tc-arch); } -# qeinfo "Message" -# ------------------- -# qeinfo is a quiet einfo call when EBUILD_PHASE -# should not have visible output. +# @FUNCTION: set_arch_to_pkgmgr +# @DESCRIPTION: +# Set the env ARCH to match what the package manager expects. +set_arch_to_pkgmgr() { export ARCH=$(tc-arch); } + +# @FUNCTION: qout +# @DESCRIPTION: +# qout is a quiet call when EBUILD_PHASE should not have visible output. qout() { local outputmsg type type=${1} @@ -170,8 +189,21 @@ qout() { [ -n "${outputmsg}" ] && ${type} "${outputmsg}" } +# @FUNCTION: qeinfo +# @DESCRIPTION: +# qeinfo is a quiet einfo call when EBUILD_PHASE should not have visible output. qeinfo() { qout einfo "${@}" ; } + +# @FUNCTION: qewarn +# @DESCRIPTION: +# qewarn is a quiet ewarn call when EBUILD_PHASE +# should not have visible output. qewarn() { qout ewarn "${@}" ; } + +# @FUNCTION: qeerror +# @DESCRIPTION: +# qeerror is a quiet error call when EBUILD_PHASE +# should not have visible output. qeerror() { qout eerror "${@}" ; } # File Functions @@ -244,7 +276,7 @@ getfilevar_noexec() { fi } -# @ECLASS-VARIABLE: _LINUX_CONFIG_EXISTS_DONE +# @ECLASS_VARIABLE: _LINUX_CONFIG_EXISTS_DONE # @INTERNAL # @DESCRIPTION: # This is only set if one of the linux_config_*exists functions has been called. @@ -253,6 +285,10 @@ getfilevar_noexec() { # config is available at all. _LINUX_CONFIG_EXISTS_DONE= +# @FUNCTION: linux_config_qa_check +# @INTERNAL +# @DESCRIPTION: +# Helper funciton which returns an error before the function argument is run if no config exists linux_config_qa_check() { local f="$1" if [ -z "${_LINUX_CONFIG_EXISTS_DONE}" ]; then @@ -313,6 +349,9 @@ linux_config_path() { # This function verifies that the current kernel is configured (it checks against the existence of .config) # otherwise it dies. require_configured_kernel() { + + [[ -n ${SKIP_KERNEL_CHECK} ]] && return + if ! use kernel_linux; then die "${FUNCNAME}() called on non-Linux system, please fix the ebuild" fi @@ -335,6 +374,7 @@ require_configured_kernel() { # If linux_config_exists returns false, the results of this are UNDEFINED. You # MUST call linux_config_exists first. linux_chkconfig_present() { + [[ -n ${SKIP_KERNEL_CHECK} ]] && return linux_config_qa_check linux_chkconfig_present [[ $(getfilevar_noexec "CONFIG_$1" "$(linux_config_path)") == [my] ]] } @@ -347,6 +387,7 @@ linux_chkconfig_present() { # If linux_config_exists returns false, the results of this are UNDEFINED. You # MUST call linux_config_exists first. linux_chkconfig_module() { + [[ -n ${SKIP_KERNEL_CHECK} ]] && return linux_config_qa_check linux_chkconfig_module [[ $(getfilevar_noexec "CONFIG_$1" "$(linux_config_path)") == m ]] } @@ -359,6 +400,7 @@ linux_chkconfig_module() { # If linux_config_exists returns false, the results of this are UNDEFINED. You # MUST call linux_config_exists first. linux_chkconfig_builtin() { + [[ -n ${SKIP_KERNEL_CHECK} ]] && return linux_config_qa_check linux_chkconfig_builtin [[ $(getfilevar_noexec "CONFIG_$1" "$(linux_config_path)") == y ]] } @@ -371,6 +413,7 @@ linux_chkconfig_builtin() { # If linux_config_exists returns false, the results of this are UNDEFINED. You # MUST call linux_config_exists first. linux_chkconfig_string() { + [[ -n ${SKIP_KERNEL_CHECK} ]] && return linux_config_qa_check linux_chkconfig_string getfilevar_noexec "CONFIG_$1" "$(linux_config_path)" } @@ -422,26 +465,9 @@ kernel_is() { "${1:-${KV_MAJOR:-0}}.${2:-${KV_MINOR:-0}}.${3:-${KV_PATCH:-0}}" } -get_localversion() { - local lv_list i x - - local shopt_save=$(shopt -p nullglob) - shopt -s nullglob - local files=( ${1}/localversion* ) - ${shopt_save} - - # ignore files with ~ in it. - for i in "${files[@]}"; do - [[ -n ${i//*~*} ]] && lv_list="${lv_list} ${i}" - done - - for i in ${lv_list}; do - x="${x}$(<${i})" - done - x=${x/ /} - echo ${x} -} - +# @FUNCTION: get_makefile_extract_function +# @INTERNAL +# @DESCRIPTION: # Check if the Makefile is valid for direct parsing. # Check status results: # - PASS, use 'getfilevar' to extract values @@ -450,6 +476,7 @@ get_localversion() { # - make is not present # - corruption exists in the kernel makefile get_makefile_extract_function() { + [[ -n ${SKIP_KERNEL_CHECK} ]] && return local a='' b='' mkfunc='getfilevar' a="$(getfilevar VERSION ${KERNEL_MAKEFILE})" b="$(getfilevar_noexec VERSION ${KERNEL_MAKEFILE})" @@ -457,7 +484,10 @@ get_makefile_extract_function() { echo "${mkfunc}" } -# internal variable, so we know to only print the warning once +# @ECLASS_VARIABLE: get_version_warning_done +# @INTERNAL +# @DESCRIPTION: +# Internal variable, so we know to only print the warning once. get_version_warning_done= # @FUNCTION: get_version @@ -477,6 +507,8 @@ get_version() { local tmplocal + [[ -n ${SKIP_KERNEL_CHECK} ]] && return + # no need to execute this twice assuming KV_FULL is populated. # we can force by unsetting KV_FULL [ -n "${KV_FULL}" ] && return 0 @@ -685,6 +717,9 @@ check_kernel_built() { fi # if we haven't determined the version yet, we need to + + [[ -n ${SKIP_KERNEL_CHECK} ]] && return + require_configured_kernel local versionh_path @@ -781,7 +816,7 @@ check_extra_config() { require_configured_kernel fi - einfo "Checking for suitable kernel configuration options..." + ebegin "Checking for suitable kernel configuration options" for config in ${CONFIG_CHECK} do @@ -857,6 +892,7 @@ check_extra_config() { done if [[ ${hard_errors_count} -gt 0 ]]; then + eend 1 eerror "Please check to make sure these options are set correctly." eerror "Failure to do so may cause unexpected problems." eerror "Once you have satisfied these options, please try merging" @@ -864,6 +900,7 @@ check_extra_config() { export LINUX_CONFIG_EXISTS_DONE="${old_LINUX_CONFIG_EXISTS_DONE}" die "Incorrect kernel configuration options" elif [[ ${soft_errors_count} -gt 0 ]]; then + eend 1 ewarn "Please check to make sure these options are set correctly." ewarn "Failure to do so may cause unexpected problems." else @@ -872,6 +909,9 @@ check_extra_config() { export LINUX_CONFIG_EXISTS_DONE="${old_LINUX_CONFIG_EXISTS_DONE}" } +# @FUNCTION: check_zlibinflate +# @DESCRIPTION: +# Function to make sure a ZLIB_INFLATE configuration has the required symbols. check_zlibinflate() { if ! use kernel_linux; then die "${FUNCNAME}() called on non-Linux system, please fix the ebuild" @@ -955,7 +995,7 @@ linux-info_pkg_setup() { linux-info_get_any_version - [ -n "${CONFIG_CHECK}" ] && check_extra_config; + [[ -n "${CONFIG_CHECK}" && -z ${CHECKCONFIG_DONOTHING} ]] && check_extra_config; } # @FUNCTION: kernel_get_makefile From cc61cd455d7e58ac8979b5bb230211e8911c93e2 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 23 Aug 2022 16:43:12 +0200 Subject: [PATCH 21/35] eclass/optfeature: Sync with Gentoo It's from Gentoo commit 23ad91eda1e35bbe3eb8ce63822ecd8755fb049c. --- .../portage-stable/eclass/optfeature.eclass | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/optfeature.eclass b/sdk_container/src/third_party/portage-stable/eclass/optfeature.eclass index 250a995901..b44fc1b852 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/optfeature.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/optfeature.eclass @@ -1,23 +1,21 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Flatcar: Support EAPI 0, 4 and 5. - # @ECLASS: optfeature.eclass # @MAINTAINER: # base-system@gentoo.org -# @SUPPORTED_EAPIS: 0 4 5 6 7 8 +# @SUPPORTED_EAPIS: 7 8 # @BLURB: Advertise optional functionality that might be useful to users -case ${EAPI:-0} in - 0|4|5|6|7|8) ;; +case ${EAPI} in + 7|8) ;; *) die "${ECLASS}: EAPI=${EAPI:-0} is not supported" ;; esac if [[ -z ${_OPTFEATURE_ECLASS} ]]; then _OPTFEATURE_ECLASS=1 -# @ECLASS-VARIABLE: _OPTFEATURE_DEFAULT_HEADER +# @ECLASS_VARIABLE: _OPTFEATURE_DEFAULT_HEADER # @INTERNAL # @DESCRIPTION: # Default header printed ahead of optfeature output. Can be overridden @@ -27,7 +25,7 @@ _OPTFEATURE_DEFAULT_HEADER="Install additional packages for optional runtime fea readonly _OPTFEATURE_DEFAULT_HEADER -# @ECLASS-VARIABLE: _OPTFEATURE_HEADER +# @ECLASS_VARIABLE: _OPTFEATURE_HEADER # @INTERNAL # @DESCRIPTION: # Default empty. Custom header printed ahead of optfeature output. @@ -36,7 +34,7 @@ readonly _OPTFEATURE_DEFAULT_HEADER # dependencies are present. _OPTFEATURE_HEADER= -# @ECLASS-VARIABLE: _OPTFEATURE_DOHEADER +# @ECLASS_VARIABLE: _OPTFEATURE_DOHEADER # @INTERNAL # @DESCRIPTION: # If true, print header ahead of the first optfeature output. From 1059e544071285781e6366ebe3e9c7eaea1e6d29 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 23 Aug 2022 16:49:02 +0200 Subject: [PATCH 22/35] eclass/bash-completion-r1: Sync with Gentoo It's from Gentoo commit 424acdc15be08f7c2b13c0d1bb8c31f55d26655d. --- .../eclass/bash-completion-r1.eclass | 19 ++++++------------- 1 file changed, 6 insertions(+), 13 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/bash-completion-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/bash-completion-r1.eclass index 01899635de..df1a2a54d3 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/bash-completion-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/bash-completion-r1.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: bash-completion-r1.eclass @@ -28,12 +28,10 @@ _BASH_COMPLETION_R1_ECLASS=1 inherit toolchain-funcs -# Flatcar: we still have some packages that use old EAPI, revert this -# change when we update those packages. -#case ${EAPI} in -# 5|6|7|8) ;; -# *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; -#esac +case ${EAPI} in + 5|6|7|8) ;; + *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; +esac # @FUNCTION: _bash-completion-r1_get_bashdir # @INTERNAL @@ -45,11 +43,6 @@ inherit toolchain-funcs _bash-completion-r1_get_bashdir() { debug-print-function ${FUNCNAME} "${@}" - # Flatcar: Take a fix for pkg-config paths from systemd.eclass. - # - # https://github.com/pkgconf/pkgconf/issues/205 - local -x PKG_CONFIG_FDO_SYSROOT_RULES=1 - if $(tc-getPKG_CONFIG) --exists bash-completion &>/dev/null; then local path path=$($(tc-getPKG_CONFIG) --variable="${1}" bash-completion) || die @@ -71,7 +64,7 @@ _bash-completion-r1_get_bashcompdir() { _bash-completion-r1_get_bashdir completionsdir /usr/share/bash-completion/completions } -# @FUNCTION: _bash-completion-r1_get_helpersdir +# @FUNCTION: _bash-completion-r1_get_bashhelpersdir # @INTERNAL # @DESCRIPTION: # Get unprefixed bash-completion helpers directory. From 7b4897eebfc86bca9a2825f4caa2e0a054e3d7c9 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 9 Nov 2021 13:54:24 +0100 Subject: [PATCH 23/35] eclass/bash_completion-r1: Backport the fix for paths from systemd.eclass The paths returned by pkg-config seem to have sysroot prepended twice. The systemd eclass has a workaround for that - use it for bash completion files too, then. --- .../portage-stable/eclass/bash-completion-r1.eclass | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sdk_container/src/third_party/portage-stable/eclass/bash-completion-r1.eclass b/sdk_container/src/third_party/portage-stable/eclass/bash-completion-r1.eclass index df1a2a54d3..caae6878e6 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/bash-completion-r1.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/bash-completion-r1.eclass @@ -43,6 +43,11 @@ esac _bash-completion-r1_get_bashdir() { debug-print-function ${FUNCNAME} "${@}" + # Flatcar: Take a fix for pkg-config paths from systemd.eclass. + # + # https://github.com/pkgconf/pkgconf/issues/205 + local -x PKG_CONFIG_FDO_SYSROOT_RULES=1 + if $(tc-getPKG_CONFIG) --exists bash-completion &>/dev/null; then local path path=$($(tc-getPKG_CONFIG) --variable="${1}" bash-completion) || die From 6b973e990ab50be8e9584980c01e1e1a7fa1e98b Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 23 Aug 2022 16:50:06 +0200 Subject: [PATCH 24/35] eclass/cmake: Sync with Gentoo It's from Gentoo commit 759cec852497f888d93cccfedbc83f16eb765fb4. --- .../portage-stable/eclass/cmake.eclass | 53 +++++++++---------- 1 file changed, 26 insertions(+), 27 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass b/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass index 02683634af..bd7e64cfe6 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cmake.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: cmake.eclass @@ -28,7 +28,7 @@ _CMAKE_ECLASS=1 inherit flag-o-matic multiprocessing ninja-utils toolchain-funcs xdg-utils -# @ECLASS-VARIABLE: BUILD_DIR +# @ECLASS_VARIABLE: BUILD_DIR # @DEFAULT_UNSET # @DESCRIPTION: # Build directory where all cmake processed files should be generated. @@ -38,13 +38,13 @@ inherit flag-o-matic multiprocessing ninja-utils toolchain-funcs xdg-utils [[ ${EAPI} == 7 ]] && : ${BUILD_DIR:=${WORKDIR}/${P}_build} # EAPI-8: set inside _cmake_check_build_dir -# @ECLASS-VARIABLE: CMAKE_BINARY +# @ECLASS_VARIABLE: CMAKE_BINARY # @DESCRIPTION: # Eclass can use different cmake binary than the one provided in by system. : ${CMAKE_BINARY:=cmake} [[ ${EAPI} == 7 ]] && : ${CMAKE_BUILD_TYPE:=Gentoo} -# @ECLASS-VARIABLE: CMAKE_BUILD_TYPE +# @ECLASS_VARIABLE: CMAKE_BUILD_TYPE # @DESCRIPTION: # Set to override default CMAKE_BUILD_TYPE. Only useful for packages # known to make use of "if (CMAKE_BUILD_TYPE MATCHES xxx)". @@ -57,12 +57,12 @@ inherit flag-o-matic multiprocessing ninja-utils toolchain-funcs xdg-utils # In EAPI 7, the default was non-standard build type of Gentoo. : ${CMAKE_BUILD_TYPE:=RelWithDebInfo} -# @ECLASS-VARIABLE: CMAKE_IN_SOURCE_BUILD +# @ECLASS_VARIABLE: CMAKE_IN_SOURCE_BUILD # @DEFAULT_UNSET # @DESCRIPTION: # Set to enable in-source build. -# @ECLASS-VARIABLE: CMAKE_MAKEFILE_GENERATOR +# @ECLASS_VARIABLE: CMAKE_MAKEFILE_GENERATOR # @PRE_INHERIT # @DEFAULT_UNSET # @DESCRIPTION: @@ -71,7 +71,7 @@ inherit flag-o-matic multiprocessing ninja-utils toolchain-funcs xdg-utils # The default is set to "ninja". : ${CMAKE_MAKEFILE_GENERATOR:=ninja} -# @ECLASS-VARIABLE: CMAKE_REMOVE_MODULES_LIST +# @ECLASS_VARIABLE: CMAKE_REMOVE_MODULES_LIST # @PRE_INHERIT # @DEFAULT_UNSET # @DESCRIPTION: @@ -90,25 +90,25 @@ else fi fi -# @ECLASS-VARIABLE: CMAKE_USE_DIR +# @ECLASS_VARIABLE: CMAKE_USE_DIR # @DESCRIPTION: # Sets the directory where we are working with cmake, for example when # application uses autotools and only one plugin needs to be done by cmake. # By default it uses current working directory (in EAPI-7: ${S}). -# @ECLASS-VARIABLE: CMAKE_VERBOSE +# @ECLASS_VARIABLE: CMAKE_VERBOSE # @DESCRIPTION: # Set to OFF to disable verbose messages during compilation : ${CMAKE_VERBOSE:=ON} -# @ECLASS-VARIABLE: CMAKE_WARN_UNUSED_CLI +# @ECLASS_VARIABLE: CMAKE_WARN_UNUSED_CLI # @DESCRIPTION: # Warn about variables that are declared on the command line # but not used. Might give false-positives. # "no" to disable (default) or anything else to enable. : ${CMAKE_WARN_UNUSED_CLI:=yes} -# @ECLASS-VARIABLE: CMAKE_EXTRA_CACHE_FILE +# @ECLASS_VARIABLE: CMAKE_EXTRA_CACHE_FILE # @USER_VARIABLE # @DEFAULT_UNSET # @DESCRIPTION: @@ -116,7 +116,7 @@ fi # for econf and is needed to pass TRY_RUN results when cross-compiling. # Should be set by user in a per-package basis in /etc/portage/package.env. -# @ECLASS-VARIABLE: CMAKE_QA_SRC_DIR_READONLY +# @ECLASS_VARIABLE: CMAKE_QA_SRC_DIR_READONLY # @USER_VARIABLE # @DEFAULT_UNSET # @DESCRIPTION: @@ -136,7 +136,7 @@ case ${CMAKE_MAKEFILE_GENERATOR} in BDEPEND="sys-devel/make" ;; ninja) - BDEPEND="dev-util/ninja" + BDEPEND="${NINJA_DEPEND}" ;; *) eerror "Unknown value for \${CMAKE_MAKEFILE_GENERATOR}" @@ -363,13 +363,6 @@ cmake_src_prepare() { die "FATAL: Unable to find CMakeLists.txt" fi - # if ninja is enabled but not installed, the build could fail - # this could happen if ninja is manually enabled (eg. make.conf) but not installed - if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]] && ! has_version -b dev-util/ninja; then - eerror "CMAKE_MAKEFILE_GENERATOR is set to ninja, but ninja is not installed." - die "Please install dev-util/ninja or unset CMAKE_MAKEFILE_GENERATOR." - fi - local modules_list if [[ ${EAPI} == 7 && $(declare -p CMAKE_REMOVE_MODULES_LIST) != "declare -a"* ]]; then modules_list=( ${CMAKE_REMOVE_MODULES_LIST} ) @@ -406,6 +399,12 @@ cmake_src_prepare() { _CMAKE_SRC_PREPARE_HAS_RUN=1 } +# @VARIABLE: MYCMAKEARGS +# @DEFAULT_UNSET +# @DESCRIPTION: +# User-controlled environment variable containing arguments to be passed to +# cmake in cmake_src_configure. + # @FUNCTION: cmake_src_configure # @DESCRIPTION: # General function for configuring with cmake. Default behaviour is to start an @@ -593,9 +592,12 @@ cmake_src_configure() { "${mycmakeargs_local[@]}" -DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}" -DCMAKE_TOOLCHAIN_FILE="${toolchain_file}" - "${MYCMAKEARGS}" ) + if [[ -n ${MYCMAKEARGS} ]] ; then + cmakeargs+=( "${MYCMAKEARGS}" ) + fi + if [[ -n "${CMAKE_EXTRA_CACHE_FILE}" ]] ; then cmakeargs+=( -C "${CMAKE_EXTRA_CACHE_FILE}" ) fi @@ -665,7 +667,8 @@ cmake_src_test() { [[ -n ${TEST_VERBOSE} ]] && myctestargs+=( --extra-verbose --output-on-failure ) - set -- ctest -j "$(makeopts_jobs)" --test-load "$(makeopts_loadavg)" "${myctestargs[@]}" "$@" + set -- ctest -j "$(makeopts_jobs "${MAKEOPTS}" 999)" \ + --test-load "$(makeopts_loadavg)" "${myctestargs[@]}" "$@" echo "$@" >&2 if "$@" ; then einfo "Tests succeeded." @@ -695,11 +698,7 @@ cmake_src_test() { cmake_src_install() { debug-print-function ${FUNCNAME} "$@" - _cmake_check_build_dir - pushd "${BUILD_DIR}" > /dev/null || die - DESTDIR="${D}" ${CMAKE_MAKEFILE_GENERATOR} install "$@" || - die "died running ${CMAKE_MAKEFILE_GENERATOR} install" - popd > /dev/null || die + DESTDIR="${D}" cmake_build install "$@" if [[ ${EAPI} == 7 ]]; then pushd "${S}" > /dev/null || die From b58940ccf31c5a4bc11c819b603040082f197b00 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 23 Aug 2022 16:50:53 +0200 Subject: [PATCH 25/35] eclass/elisp-common: Sync with Gentoo It's from Gentoo commit 424bd8ae7cbb3ce55e0567e8c9057d8d23c6cb57. --- .../portage-stable/eclass/elisp-common.eclass | 36 ++++++++----------- 1 file changed, 14 insertions(+), 22 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/elisp-common.eclass b/sdk_container/src/third_party/portage-stable/eclass/elisp-common.eclass index 1127d53669..2715c26c91 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/elisp-common.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/elisp-common.eclass @@ -1,4 +1,4 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: elisp-common.eclass @@ -10,7 +10,7 @@ # Mamoru Komachi # Christian Faulhammer # Ulrich Müller -# @SUPPORTED_EAPIS: 5 6 7 8 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: Emacs-related installation utilities # @DESCRIPTION: # @@ -165,50 +165,50 @@ # Again, with optional Emacs support, you should prepend "use emacs &&" # to above calls of elisp-site-regen(). -case ${EAPI:-0} in - 5|6) inherit eapi7-ver ;; +case ${EAPI} in + 6) inherit eapi7-ver ;; 7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac -# @ECLASS-VARIABLE: SITELISP +# @ECLASS_VARIABLE: SITELISP # @DESCRIPTION: # Directory where packages install Emacs Lisp files. SITELISP=/usr/share/emacs/site-lisp -# @ECLASS-VARIABLE: SITEETC +# @ECLASS_VARIABLE: SITEETC # @DESCRIPTION: # Directory where packages install miscellaneous (not Lisp) files. SITEETC=/usr/share/emacs/etc -# @ECLASS-VARIABLE: EMACSMODULES +# @ECLASS_VARIABLE: EMACSMODULES # @DESCRIPTION: # Directory where packages install dynamically loaded modules. # May contain a @libdir@ token which will be replaced by $(get_libdir). EMACSMODULES=/usr/@libdir@/emacs/modules -# @ECLASS-VARIABLE: EMACS +# @ECLASS_VARIABLE: EMACS # @DESCRIPTION: # Path of Emacs executable. EMACS=${EPREFIX}/usr/bin/emacs -# @ECLASS-VARIABLE: EMACSFLAGS +# @ECLASS_VARIABLE: EMACSFLAGS # @DESCRIPTION: # Flags for executing Emacs in batch mode. # These work for Emacs versions 18-24, so don't change them. EMACSFLAGS="-batch -q --no-site-file" -# @ECLASS-VARIABLE: BYTECOMPFLAGS +# @ECLASS_VARIABLE: BYTECOMPFLAGS # @DESCRIPTION: # Emacs flags used for byte-compilation in elisp-compile(). BYTECOMPFLAGS="-L ." -# @ECLASS-VARIABLE: NEED_EMACS +# @ECLASS_VARIABLE: NEED_EMACS # @DESCRIPTION: # The minimum Emacs version required for the package. : ${NEED_EMACS:=23.1} -# @ECLASS-VARIABLE: _ELISP_EMACS_VERSION +# @ECLASS_VARIABLE: _ELISP_EMACS_VERSION # @INTERNAL # @DESCRIPTION: # Cached value of Emacs version detected in elisp-check-emacs-version(). @@ -329,6 +329,7 @@ elisp-make-autoload-file() { EOF ${EMACS} ${EMACSFLAGS} \ + --eval "(require 'autoload)" \ --eval "(setq make-backup-files nil)" \ --eval "(setq generated-autoload-file (expand-file-name \"${f}\"))" \ -f batch-update-autoloads "${@-.}" @@ -360,10 +361,6 @@ elisp-install() { elisp-modules-install() { local subdir="$1" shift - # Don't bother inheriting multilib.eclass for get_libdir(), but - # error out in old EAPIs that don't support it natively. - [[ ${EAPI} == 5 ]] \ - && die "${ECLASS}: Dynamic modules not supported in EAPI ${EAPI}" ebegin "Installing dynamic modules for GNU Emacs support" ( # subshell to avoid pollution of calling environment exeinto "${EMACSMODULES//@libdir@/$(get_libdir)}/${subdir}" @@ -391,12 +388,7 @@ elisp-site-file-install() { sf="${T}/${sf}" ebegin "Installing site initialisation file for GNU Emacs" [[ $1 == "${sf}" ]] || cp "$1" "${sf}" - if [[ ${EAPI} == 5 ]]; then - grep -q "@EMACSMODULES@" "${sf}" \ - && die "${ECLASS}: Dynamic modules not supported in EAPI ${EAPI}" - else - modules=${EMACSMODULES//@libdir@/$(get_libdir)} - fi + modules=${EMACSMODULES//@libdir@/$(get_libdir)} sed -i -e "1{:x;/^\$/{n;bx;};/^;.*${PN}/I!s:^:${header}\n\n:;1s:^:\n:;}" \ -e "s:@SITELISP@:${EPREFIX}${SITELISP}/${my_pn}:g" \ -e "s:@SITEETC@:${EPREFIX}${SITEETC}/${my_pn}:g" \ From e855d3dfc78d9b17b461707768e7ed38e436d6c7 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 23 Aug 2022 16:51:04 +0200 Subject: [PATCH 26/35] eclass/virtualx: Sync with Gentoo It's from Gentoo commit aa7fdc965621b413d85624ea30e9452a4130aced. --- .../portage-stable/eclass/virtualx.eclass | 88 ++++++------------- 1 file changed, 28 insertions(+), 60 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/virtualx.eclass b/sdk_container/src/third_party/portage-stable/eclass/virtualx.eclass index 948e5ce3d4..e04834d39b 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/virtualx.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/virtualx.eclass @@ -1,24 +1,23 @@ # Copyright 1999-2021 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Flatcar: Support EAPI 4 and 5. - # @ECLASS: virtualx.eclass # @MAINTAINER: # x11@gentoo.org # @AUTHOR: # Original author: Martin Schlemmer -# @SUPPORTED_EAPIS: 4 5 6 7 8 +# @SUPPORTED_EAPIS: 6 7 8 # @BLURB: This eclass can be used for packages that need a working X environment to build. + case ${EAPI} in - 4|5|6|7|8) ;; + 6|7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} is not supported." ;; esac if [[ ! ${_VIRTUALX_ECLASS} ]]; then _VIRTUALX_ECLASS=1 -# @ECLASS-VARIABLE: VIRTUALX_REQUIRED +# @ECLASS_VARIABLE: VIRTUALX_REQUIRED # @PRE_INHERIT # @DESCRIPTION: # Variable specifying the dependency on xorg-server and xhost. @@ -29,19 +28,19 @@ _VIRTUALX_ECLASS=1 # into "kde? ( )" and add kde into IUSE. : ${VIRTUALX_REQUIRED:=test} -# @ECLASS-VARIABLE: VIRTUALX_DEPEND +# @ECLASS_VARIABLE: VIRTUALX_DEPEND # @OUTPUT_VARIABLE # @DESCRIPTION: # Standard dependencies string that is automatically added to BDEPEND # (in EAPI-6: DEPEND) unless VIRTUALX_REQUIRED is set to "manual". # DEPRECATED: Pre-EAPI-8 you can specify the variable BEFORE inherit # to add more dependencies. -[[ ${EAPI} != [4567] ]] && VIRTUALX_DEPEND="" +[[ ${EAPI} != [67] ]] && VIRTUALX_DEPEND="" VIRTUALX_DEPEND+=" x11-base/xorg-server[xvfb] x11-apps/xhost " -[[ ${EAPI} != [4567] ]] && readonly VIRTUALX_DEPEND +[[ ${EAPI} != [67] ]] && readonly VIRTUALX_DEPEND [[ ${VIRTUALX_COMMAND} ]] && die "VIRTUALX_COMMAND has been removed and is a no-op" @@ -54,12 +53,12 @@ case ${VIRTUALX_REQUIRED} in *) BDEPEND="${VIRTUALX_REQUIRED}? ( ${VIRTUALX_DEPEND} )" IUSE="${VIRTUALX_REQUIRED}" - [[ ${VIRTUALX_REQUIRED} == test ]] && + [[ ${VIRTUALX_REQUIRED} == "test" ]] && RESTRICT+=" !test? ( test )" ;; esac -[[ ${EAPI} == [456] ]] && DEPEND="${BDEPEND}" +[[ ${EAPI} == 6 ]] && DEPEND="${BDEPEND}" # @FUNCTION: virtx @@ -108,68 +107,37 @@ virtx() { local i=0 local retval=0 - local OLD_SANDBOX_ON="${SANDBOX_ON}" - local XVFB XHOST XDISPLAY - local xvfbargs="-screen 0 1280x1024x24 +extension RANDR" - XVFB=$(type -p Xvfb) || die - XHOST=$(type -p xhost) || die + local xvfbargs=( -screen 0 1280x1024x24 +extension RANDR ) debug-print "${FUNCNAME}: running Xvfb hack" export XAUTHORITY= - # The following is derived from Mandrake's hack to allow - # compiling without the X display - einfo "Scanning for an open DISPLAY to start Xvfb ..." - # If we are in a chrooted environment, and there is already a - # X server started outside of the chroot, Xvfb will fail to start - # on the same display (most cases this is :0 ), so make sure - # Xvfb is started, else bump the display number - # - # Azarah - 5 May 2002 - # GNOME GDM may have started X on DISPLAY :0 with a - # lock file /tmp/.X1024-lock, therefore start the search at 1. - # Else a leftover /tmp/.X1-lock will prevent finding an available display. - XDISPLAY=$(i=1; while [[ -f /tmp/.X${i}-lock ]] ; do ((i++));done; echo ${i}) - debug-print "${FUNCNAME}: XDISPLAY=${XDISPLAY}" + einfo "Starting Xvfb ..." - # We really do not want SANDBOX enabled here - export SANDBOX_ON="0" + debug-print "${FUNCNAME}: Xvfb -displayfd 1 ${xvfbargs[*]}" + local logfile=${T}/Xvfb.log + local pidfile=${T}/Xvfb.pid + # NB: bash command substitution blocks until Xvfb prints fd to stdout + # and then closes the fd; only then it backgrounds properly + export DISPLAY=:$( + Xvfb -displayfd 1 "${xvfbargs[@]}" 2>"${logfile}" & + echo "$!" > "${pidfile}" + ) - debug-print "${FUNCNAME}: ${XVFB} :${XDISPLAY} ${xvfbargs}" - ${XVFB} :${XDISPLAY} ${xvfbargs} &>/dev/null & - sleep 2 + if [[ ${DISPLAY} == : ]]; then + eerror "Xvfb failed to start, reprinting error log" + cat "${logfile}" + die "Xvfb failed to start" + fi - local start=${XDISPLAY} - while [[ ! -f /tmp/.X${XDISPLAY}-lock ]]; do - # Stop trying after 15 tries - if ((XDISPLAY - start > 15)) ; then - eerror "'${XVFB} :${XDISPLAY} ${xvfbargs}' returns:" - echo - ${XVFB} :${XDISPLAY} ${xvfbargs} - echo - eerror "If possible, correct the above error and try your emerge again." - die "Unable to start Xvfb" - fi - ((XDISPLAY++)) - debug-print "${FUNCNAME}: ${XVFB} :${XDISPLAY} ${xvfbargs}" - ${XVFB} :${XDISPLAY} ${xvfbargs} &>/dev/null & - sleep 2 - done - - # Now enable SANDBOX again if needed. - export SANDBOX_ON="${OLD_SANDBOX_ON}" - - einfo "Starting Xvfb on \$DISPLAY=${XDISPLAY} ..." - - export DISPLAY=:${XDISPLAY} - # Do not break on error, but setup $retval, as we need - # to kill Xvfb + # Do not break on error, but setup $retval, as we need to kill Xvfb + einfo "Xvfb started on DISPLAY=${DISPLAY}" debug-print "${FUNCNAME}: $@" nonfatal "$@" retval=$? # Now kill Xvfb - kill $(cat /tmp/.X${XDISPLAY}-lock) + kill "$(<"${pidfile}")" # die if our command failed [[ ${retval} -ne 0 ]] && die "Failed to run '$@'" From a99f896cd626d72b39c3d2482d615c0e9a711b51 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 23 Aug 2022 16:51:27 +0200 Subject: [PATCH 27/35] eclass/ninja-utils: Sync with Gentoo It's from Gentoo commit 5a34097c8957c40d5b09fe6d249449c22f7f1ea5. --- .../portage-stable/eclass/ninja-utils.eclass | 44 +++++++++++++++---- 1 file changed, 35 insertions(+), 9 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/ninja-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/ninja-utils.eclass index e69244b39f..0dffd2eb86 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/ninja-utils.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/ninja-utils.eclass @@ -1,8 +1,6 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Flatcar: Support EAPI 4. - # @ECLASS: ninja-utils.eclass # @MAINTAINER: # Michał Górny @@ -10,7 +8,7 @@ # @AUTHOR: # Michał Górny # Mike Gilbert -# @SUPPORTED_EAPIS: 4 5 6 7 8 +# @SUPPORTED_EAPIS: 5 6 7 8 # @BLURB: common bits to run dev-util/ninja builder # @DESCRIPTION: # This eclass provides a single function -- eninja -- that can be used @@ -21,14 +19,29 @@ # Meson). case ${EAPI} in - 4|5|6|7|8) ;; + 5|6|7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac if [[ -z ${_NINJA_UTILS_ECLASS} ]]; then _NINJA_UTILS_ECLASS=1 -# @ECLASS-VARIABLE: NINJAOPTS +# @ECLASS_VARIABLE: NINJA +# @PRE_INHERIT +# @DESCRIPTION: +# Specify a compatible ninja implementation to be used by eninja(). +# At this point only "ninja" and "samu" are explicitly supported, +# but other values can be set where NINJA_DEPEND will then be set +# to a blank variable. +# The default is set to "ninja". +: ${NINJA:=ninja} + +# @ECLASS_VARIABLE: NINJA_DEPEND +# @OUTPUT_VARIABLE +# @DESCRIPTION: +# Contains a set of build-time depenendencies based on the NINJA setting. + +# @ECLASS_VARIABLE: NINJAOPTS # @DEFAULT_UNSET # @DESCRIPTION: # The default set of options to pass to Ninja. Similar to MAKEOPTS, @@ -37,6 +50,18 @@ _NINJA_UTILS_ECLASS=1 inherit multiprocessing +case "${NINJA}" in + ninja) + NINJA_DEPEND=">=dev-util/ninja-1.8.2" + ;; + samu) + NINJA_DEPEND="dev-util/samurai" + ;; + *) + NINJA_DEPEND="" + ;; +esac + # @FUNCTION: eninja # @USAGE: [...] # @DESCRIPTION: @@ -45,12 +70,13 @@ inherit multiprocessing # with EAPI 6, it also supports being called via 'nonfatal'. eninja() { local nonfatal_args=() - [[ ${EAPI} != [45] ]] && nonfatal_args+=( -n ) + [[ ${EAPI} != 5 ]] && nonfatal_args+=( -n ) if [[ -z ${NINJAOPTS+set} ]]; then - NINJAOPTS="-j$(makeopts_jobs) -l$(makeopts_loadavg "${MAKEOPTS}" 0)" + NINJAOPTS="-j$(makeopts_jobs "${MAKEOPTS}" 999) -l$(makeopts_loadavg "${MAKEOPTS}" 0)" fi - set -- ninja -v ${NINJAOPTS} "$@" + [[ -n "${NINJA_DEPEND}" ]] || ewarn "Unknown value '${NINJA}' for \${NINJA}" + set -- "${NINJA}" -v ${NINJAOPTS} "$@" echo "$@" >&2 "$@" || die "${nonfatal_args[@]}" "${*} failed" } From 97535477c80c0bb5ac1aba0b7fb12f2e10c4ad4a Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 23 Aug 2022 16:52:01 +0200 Subject: [PATCH 28/35] eclass/cmake-multilib: Sync with Gentoo It's from Gentoo commit 88275b401b115efd63847d4ee979593e87915ec5. --- .../eclass/cmake-multilib.eclass | 38 +++++++------------ 1 file changed, 13 insertions(+), 25 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/cmake-multilib.eclass b/sdk_container/src/third_party/portage-stable/eclass/cmake-multilib.eclass index 0cd1ec1218..4dd3eab3cd 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/cmake-multilib.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/cmake-multilib.eclass @@ -1,15 +1,13 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -# Flatcar: Support EAPI 6. - # @ECLASS: cmake-multilib.eclass # @MAINTAINER: # Michał Górny # @AUTHOR: # Author: Michał Górny -# @SUPPORTED_EAPIS: 6 7 8 -# @PROVIDES: cmake cmake-utils multilib-minimal +# @SUPPORTED_EAPIS: 7 8 +# @PROVIDES: cmake multilib-minimal # @BLURB: cmake wrapper for multilib builds # @DESCRIPTION: # The cmake-multilib.eclass provides a glue between cmake.eclass(5) @@ -22,31 +20,21 @@ # in multilib-minimal, yet they ought to call appropriate cmake # phase rather than 'default'. -[[ ${EAPI} == [67] ]] && : ${CMAKE_ECLASS:=cmake-utils} -# @ECLASS-VARIABLE: CMAKE_ECLASS -# @PRE_INHERIT +# @ECLASS_VARIABLE: CMAKE_ECLASS +# @DEPRECATED: none # @DESCRIPTION: -# Only "cmake" is supported in EAPI-8 and later. -# In EAPI-7, default is "cmake-utils" for compatibility. Specify "cmake" for -# ebuilds that ported to cmake.eclass already. +# Only "cmake" is supported. : ${CMAKE_ECLASS:=cmake} -# @ECLASS-VARIABLE: _CMAKE_ECLASS_IMPL -# @INTERNAL -# @DESCRIPTION: -# TODO: Cleanup once EAPI-7 support is gone. -_CMAKE_ECLASS_IMPL=cmake - case ${EAPI} in - 6|7|8) + 7|8) case ${CMAKE_ECLASS} in - cmake-utils|cmake) ;; + cmake) ;; *) eerror "Unknown value for \${CMAKE_ECLASS}" die "Value ${CMAKE_ECLASS} is not supported" ;; esac - _CMAKE_ECLASS_IMPL=${CMAKE_ECLASS} ;; *) die "${ECLASS}: EAPI=${EAPI:-0} is not supported" ;; esac @@ -58,7 +46,7 @@ fi if [[ -z ${_CMAKE_MULTILIB_ECLASS} ]]; then _CMAKE_MULTILIB_ECLASS=1 -inherit ${_CMAKE_ECLASS_IMPL} multilib-minimal +inherit cmake multilib-minimal cmake-multilib_src_configure() { local _cmake_args=( "${@}" ) @@ -67,7 +55,7 @@ cmake-multilib_src_configure() { } multilib_src_configure() { - ${_CMAKE_ECLASS_IMPL}_src_configure "${_cmake_args[@]}" + cmake_src_configure "${_cmake_args[@]}" } cmake-multilib_src_compile() { @@ -77,7 +65,7 @@ cmake-multilib_src_compile() { } multilib_src_compile() { - ${_CMAKE_ECLASS_IMPL}_src_compile "${_cmake_args[@]}" + cmake_src_compile "${_cmake_args[@]}" } cmake-multilib_src_test() { @@ -87,7 +75,7 @@ cmake-multilib_src_test() { } multilib_src_test() { - ${_CMAKE_ECLASS_IMPL}_src_test "${_cmake_args[@]}" + cmake_src_test "${_cmake_args[@]}" } cmake-multilib_src_install() { @@ -97,7 +85,7 @@ cmake-multilib_src_install() { } multilib_src_install() { - ${_CMAKE_ECLASS_IMPL}_src_install "${_cmake_args[@]}" + cmake_src_install "${_cmake_args[@]}" } fi From 9942f967872fa9f50aa6bf63481effb6d40b7598 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 23 Aug 2022 16:53:56 +0200 Subject: [PATCH 29/35] eclass/cmake-utils.eclass: Remove obsolete eclass --- .../portage-stable/eclass/cmake-utils.eclass | 849 ------------------ 1 file changed, 849 deletions(-) delete mode 100644 sdk_container/src/third_party/portage-stable/eclass/cmake-utils.eclass diff --git a/sdk_container/src/third_party/portage-stable/eclass/cmake-utils.eclass b/sdk_container/src/third_party/portage-stable/eclass/cmake-utils.eclass deleted file mode 100644 index 28753faf66..0000000000 --- a/sdk_container/src/third_party/portage-stable/eclass/cmake-utils.eclass +++ /dev/null @@ -1,849 +0,0 @@ -# Copyright 1999-2021 Gentoo Authors -# Distributed under the terms of the GNU General Public License v2 - -# @ECLASS: cmake-utils.eclass -# @MAINTAINER: -# kde@gentoo.org -# @AUTHOR: -# Tomáš Chvátal -# Maciej Mrozowski -# (undisclosed contributors) -# Original author: Zephyrus (zephyrus@mirach.it) -# @SUPPORTED_EAPIS: 5 6 7 -# @PROVIDES: ninja-utils -# @BLURB: common ebuild functions for cmake-based packages -# @DEPRECATED: cmake.eclass -# @DESCRIPTION: -# DEPRECATED: This no longer receives any changes. Everyone must port to cmake.eclass. -# The cmake-utils eclass makes creating ebuilds for cmake-based packages much easier. -# It provides all inherited features (DOCS, HTML_DOCS, PATCHES) along with out-of-source -# builds (default), in-source builds and an implementation of the well-known use_enable -# and use_with functions for CMake. - -if [[ -z ${_CMAKE_UTILS_ECLASS} ]]; then -_CMAKE_UTILS_ECLASS=1 - -# @ECLASS-VARIABLE: BUILD_DIR -# @DESCRIPTION: -# Build directory where all cmake processed files should be generated. -# For in-source build it's fixed to ${CMAKE_USE_DIR}. -# For out-of-source build it can be overridden, by default it uses -# ${WORKDIR}/${P}_build. -# -# This variable has been called CMAKE_BUILD_DIR formerly. -# It is set under that name for compatibility. - -# @ECLASS-VARIABLE: CMAKE_BINARY -# @DESCRIPTION: -# Eclass can use different cmake binary than the one provided in by system. -: ${CMAKE_BINARY:=cmake} - -# @ECLASS-VARIABLE: CMAKE_BUILD_TYPE -# @DESCRIPTION: -# Set to override default CMAKE_BUILD_TYPE. Only useful for packages -# known to make use of "if (CMAKE_BUILD_TYPE MATCHES xxx)". -# If about to be set - needs to be set before invoking cmake-utils_src_configure. -# You usualy do *NOT* want nor need to set it as it pulls CMake default build-type -# specific compiler flags overriding make.conf. -: ${CMAKE_BUILD_TYPE:=Gentoo} - -# @ECLASS-VARIABLE: CMAKE_IN_SOURCE_BUILD -# @DEFAULT_UNSET -# @DESCRIPTION: -# Set to enable in-source build. - -# @ECLASS-VARIABLE: CMAKE_MAKEFILE_GENERATOR -# @DEFAULT_UNSET -# @DESCRIPTION: -# Specify a makefile generator to be used by cmake. -# At this point only "emake" and "ninja" are supported. -# In EAPI 7 and above, the default is set to "ninja", -# whereas in EAPIs below 7, it is set to "emake". - -# @ECLASS-VARIABLE: CMAKE_MIN_VERSION -# @DESCRIPTION: -# Specify the minimum required CMake version. -: ${CMAKE_MIN_VERSION:=3.9.6} - -# @ECLASS-VARIABLE: CMAKE_REMOVE_MODULES -# @DESCRIPTION: -# Do we want to remove anything? yes or whatever else for no -: ${CMAKE_REMOVE_MODULES:=yes} - -# @ECLASS-VARIABLE: CMAKE_REMOVE_MODULES_LIST -# @DESCRIPTION: -# Space-separated list of CMake modules that will be removed in $S during src_prepare, -# in order to force packages to use the system version. -: ${CMAKE_REMOVE_MODULES_LIST:=FindBLAS FindLAPACK} - -# @ECLASS-VARIABLE: CMAKE_USE_DIR -# @DESCRIPTION: -# Sets the directory where we are working with cmake. -# For example when application uses autotools and only one -# plugin needs to be done by cmake. -# By default it uses ${S}. - -# @ECLASS-VARIABLE: CMAKE_VERBOSE -# @DESCRIPTION: -# Set to OFF to disable verbose messages during compilation -: ${CMAKE_VERBOSE:=ON} - -# @ECLASS-VARIABLE: CMAKE_WARN_UNUSED_CLI -# @DESCRIPTION: -# Warn about variables that are declared on the command line -# but not used. Might give false-positives. -# "no" to disable (default) or anything else to enable. - -# @ECLASS-VARIABLE: CMAKE_EXTRA_CACHE_FILE -# @USER_VARIABLE -# @DEFAULT_UNSET -# @DESCRIPTION: -# Specifies an extra cache file to pass to cmake. This is the analog of EXTRA_ECONF -# for econf and is needed to pass TRY_RUN results when cross-compiling. -# Should be set by user in a per-package basis in /etc/portage/package.env. - -# @ECLASS-VARIABLE: CMAKE_UTILS_QA_SRC_DIR_READONLY -# @USER_VARIABLE -# @DEFAULT_UNSET -# @DESCRIPTION: -# After running cmake-utils_src_prepare, sets ${S} to read-only. This is -# a user flag and should under _no circumstances_ be set in the ebuild. -# Helps in improving QA of build systems that write to source tree. - -case ${EAPI} in - 5) : ${CMAKE_WARN_UNUSED_CLI:=no} ;; - 6|7) : ${CMAKE_WARN_UNUSED_CLI:=yes} ;; - *) die "EAPI=${EAPI:-0} is not supported" ;; -esac - -inherit toolchain-funcs ninja-utils flag-o-matic multiprocessing xdg-utils - -case ${EAPI} in - [56]) - : ${CMAKE_MAKEFILE_GENERATOR:=emake} - inherit eutils multilib - ;; - *) - : ${CMAKE_MAKEFILE_GENERATOR:=ninja} - ;; -esac - -EXPORT_FUNCTIONS src_prepare src_configure src_compile src_test src_install - -if [[ ${WANT_CMAKE} ]]; then - if [[ ${EAPI} != [56] ]]; then - die "\${WANT_CMAKE} has been removed and is a no-op now" - else - eqawarn "\${WANT_CMAKE} has been removed and is a no-op now" - fi -fi -[[ ${PREFIX} ]] && die "\${PREFIX} has been removed and is a no-op now" - -case ${CMAKE_MAKEFILE_GENERATOR} in - emake) - BDEPEND="sys-devel/make" - ;; - ninja) - BDEPEND="dev-util/ninja" - ;; - *) - eerror "Unknown value for \${CMAKE_MAKEFILE_GENERATOR}" - die "Value ${CMAKE_MAKEFILE_GENERATOR} is not supported" - ;; -esac - -if [[ ${PN} != cmake ]]; then - BDEPEND+=" >=dev-util/cmake-${CMAKE_MIN_VERSION}" -fi - -case ${EAPI} in - 7) ;; - *) DEPEND=" ${BDEPEND}" ;; -esac - -# Internal functions used by cmake-utils_use_* -_cmake_use_me_now() { - debug-print-function ${FUNCNAME} "$@" - - local arg=$2 - [[ ! -z $3 ]] && arg=$3 - - [[ ${EAPI} == 5 ]] || die "${FUNCNAME[1]} is banned in EAPI 6 and later: use -D$1=\"\$(usex $2)\" instead" - - local uper capitalised x - [[ -z $2 ]] && die "cmake-utils_use-$1 []" - if [[ ! -z $3 ]]; then - # user specified the use name so use it - echo "-D$1$3=$(use $2 && echo ON || echo OFF)" - else - # use all various most used combinations - uper=$(echo ${2} | tr '[:lower:]' '[:upper:]') - capitalised=$(echo ${2} | sed 's/\<\(.\)\([^ ]*\)/\u\1\L\2/g') - for x in $2 $uper $capitalised; do - echo "-D$1$x=$(use $2 && echo ON || echo OFF) " - done - fi -} -_cmake_use_me_now_inverted() { - debug-print-function ${FUNCNAME} "$@" - - local arg=$2 - [[ ! -z $3 ]] && arg=$3 - - if [[ ${EAPI} != 5 && "${FUNCNAME[1]}" != cmake-utils_use_find_package ]] ; then - die "${FUNCNAME[1]} is banned in EAPI 6 and later: use -D$1=\"\$(usex $2)\" instead" - fi - - local uper capitalised x - [[ -z $2 ]] && die "cmake-utils_use-$1 []" - if [[ ! -z $3 ]]; then - # user specified the use name so use it - echo "-D$1$3=$(use $2 && echo OFF || echo ON)" - else - # use all various most used combinations - uper=$(echo ${2} | tr '[:lower:]' '[:upper:]') - capitalised=$(echo ${2} | sed 's/\<\(.\)\([^ ]*\)/\u\1\L\2/g') - for x in $2 $uper $capitalised; do - echo "-D$1$x=$(use $2 && echo OFF || echo ON) " - done - fi -} - -# Determine using IN or OUT source build -_cmake_check_build_dir() { - : ${CMAKE_USE_DIR:=${S}} - if [[ -n ${CMAKE_IN_SOURCE_BUILD} ]]; then - # we build in source dir - BUILD_DIR="${CMAKE_USE_DIR}" - else - # Respect both the old variable and the new one, depending - # on which one was set by the ebuild. - if [[ ! ${BUILD_DIR} && ${CMAKE_BUILD_DIR} ]]; then - if [[ ${EAPI} != [56] ]]; then - eerror "The CMAKE_BUILD_DIR variable has been renamed to BUILD_DIR." - die "The ebuild must be migrated to BUILD_DIR." - else - eqawarn "The CMAKE_BUILD_DIR variable has been renamed to BUILD_DIR." - eqawarn "Please migrate the ebuild to use the new one." - fi - - # In the next call, both variables will be set already - # and we'd have to know which one takes precedence. - _RESPECT_CMAKE_BUILD_DIR=1 - fi - - if [[ ${_RESPECT_CMAKE_BUILD_DIR} ]]; then - BUILD_DIR=${CMAKE_BUILD_DIR:-${WORKDIR}/${P}_build} - else - : ${BUILD_DIR:=${WORKDIR}/${P}_build} - fi - fi - - # Backwards compatibility for getting the value. - [[ ${EAPI} == [56] ]] && CMAKE_BUILD_DIR=${BUILD_DIR} - - mkdir -p "${BUILD_DIR}" || die - echo ">>> Working in BUILD_DIR: \"$BUILD_DIR\"" -} - -# Determine which generator to use -_cmake_generator_to_use() { - local generator_name - - case ${CMAKE_MAKEFILE_GENERATOR} in - ninja) - # if ninja is enabled but not installed, the build could fail - # this could happen if ninja is manually enabled (eg. make.conf) but not installed - case ${EAPI} in - 5|6) - if ! ROOT=/ has_version dev-util/ninja; then - die "CMAKE_MAKEFILE_GENERATOR is set to ninja, but ninja is not installed. Please install dev-util/ninja or unset CMAKE_MAKEFILE_GENERATOR." - fi - ;; - *) - if ! has_version -b dev-util/ninja; then - die "CMAKE_MAKEFILE_GENERATOR is set to ninja, but ninja is not installed. Please install dev-util/ninja or unset CMAKE_MAKEFILE_GENERATOR." - fi - ;; - esac - generator_name="Ninja" - ;; - emake) - generator_name="Unix Makefiles" - ;; - *) - eerror "Unknown value for \${CMAKE_MAKEFILE_GENERATOR}" - die "Value ${CMAKE_MAKEFILE_GENERATOR} is not supported" - ;; - esac - - echo ${generator_name} -} - -# @FUNCTION: cmake_comment_add_subdirectory -# @USAGE: -# @DESCRIPTION: -# Comment out one or more add_subdirectory calls in CMakeLists.txt in the current directory -cmake_comment_add_subdirectory() { - if [[ -z ${1} ]]; then - die "comment_add_subdirectory must be passed at least one directory name to comment" - fi - - if [[ -e "CMakeLists.txt" ]]; then - local d - for d in $@; do - sed -e "/add_subdirectory[[:space:]]*([[:space:]]*${d//\//\\/}[[:space:]]*)/I s/^/#DONOTCOMPILE /" \ - -i CMakeLists.txt || die "failed to comment add_subdirectory(${d})" - done - fi -} - -# @FUNCTION: comment_add_subdirectory -# @USAGE: -# @DESCRIPTION: -# Comment out an add_subdirectory call in CMakeLists.txt in the current directory -# Banned in EAPI 6 and later - use cmake_comment_add_subdirectory instead. -comment_add_subdirectory() { - [[ ${EAPI} == 5 ]] || die "comment_add_subdirectory is banned in EAPI 6 and later - use cmake_comment_add_subdirectory instead" - - cmake_comment_add_subdirectory "$@" -} - -# @FUNCTION: cmake-utils_use_with -# @USAGE: [flag name] -# @DESCRIPTION: -# Based on use_with. See ebuild(5). -# -# `cmake-utils_use_with foo FOO` echoes -DWITH_FOO=ON if foo is enabled -# and -DWITH_FOO=OFF if it is disabled. -cmake-utils_use_with() { _cmake_use_me_now WITH_ "$@" ; } - -# @FUNCTION: cmake-utils_use_enable -# @USAGE: [flag name] -# @DESCRIPTION: -# Based on use_enable. See ebuild(5). -# -# `cmake-utils_use_enable foo FOO` echoes -DENABLE_FOO=ON if foo is enabled -# and -DENABLE_FOO=OFF if it is disabled. -cmake-utils_use_enable() { _cmake_use_me_now ENABLE_ "$@" ; } - -# @FUNCTION: cmake-utils_use_find_package -# @USAGE: -# @DESCRIPTION: -# Based on use_enable. See ebuild(5). -# -# `cmake-utils_use_find_package foo LibFoo` echoes -DCMAKE_DISABLE_FIND_PACKAGE_LibFoo=OFF -# if foo is enabled and -DCMAKE_DISABLE_FIND_PACKAGE_LibFoo=ON if it is disabled. -# This can be used to make find_package optional. -cmake-utils_use_find_package() { - if [[ ${EAPI} != 5 && "$#" != 2 ]] ; then - die "Usage: cmake-utils_use_find_package " - fi - - _cmake_use_me_now_inverted CMAKE_DISABLE_FIND_PACKAGE_ "$@" ; -} - -# @FUNCTION: cmake_use_find_package -# @USAGE: -# @DESCRIPTION: -# Alias for cmake-utils_use_find_package. -cmake_use_find_package() { - if [[ "$#" != 2 ]] ; then - die "Usage: cmake_use_find_package " - fi - - cmake-utils_use_find_package "$@" ; -} - -# @FUNCTION: cmake-utils_use_disable -# @USAGE: [flag name] -# @DESCRIPTION: -# Based on inversion of use_enable. See ebuild(5). -# -# `cmake-utils_use_enable foo FOO` echoes -DDISABLE_FOO=OFF if foo is enabled -# and -DDISABLE_FOO=ON if it is disabled. -cmake-utils_use_disable() { _cmake_use_me_now_inverted DISABLE_ "$@" ; } - -# @FUNCTION: cmake-utils_use_no -# @USAGE: [flag name] -# @DESCRIPTION: -# Based on use_disable. See ebuild(5). -# -# `cmake-utils_use_no foo FOO` echoes -DNO_FOO=OFF if foo is enabled -# and -DNO_FOO=ON if it is disabled. -cmake-utils_use_no() { _cmake_use_me_now_inverted NO_ "$@" ; } - -# @FUNCTION: cmake-utils_use_want -# @USAGE: [flag name] -# @DESCRIPTION: -# Based on use_enable. See ebuild(5). -# -# `cmake-utils_use_want foo FOO` echoes -DWANT_FOO=ON if foo is enabled -# and -DWANT_FOO=OFF if it is disabled. -cmake-utils_use_want() { _cmake_use_me_now WANT_ "$@" ; } - -# @FUNCTION: cmake-utils_use_build -# @USAGE: [flag name] -# @DESCRIPTION: -# Based on use_enable. See ebuild(5). -# -# `cmake-utils_use_build foo FOO` echoes -DBUILD_FOO=ON if foo is enabled -# and -DBUILD_FOO=OFF if it is disabled. -cmake-utils_use_build() { _cmake_use_me_now BUILD_ "$@" ; } - -# @FUNCTION: cmake-utils_use_has -# @USAGE: [flag name] -# @DESCRIPTION: -# Based on use_enable. See ebuild(5). -# -# `cmake-utils_use_has foo FOO` echoes -DHAVE_FOO=ON if foo is enabled -# and -DHAVE_FOO=OFF if it is disabled. -cmake-utils_use_has() { _cmake_use_me_now HAVE_ "$@" ; } - -# @FUNCTION: cmake-utils_use_use -# @USAGE: [flag name] -# @DESCRIPTION: -# Based on use_enable. See ebuild(5). -# -# `cmake-utils_use_use foo FOO` echoes -DUSE_FOO=ON if foo is enabled -# and -DUSE_FOO=OFF if it is disabled. -cmake-utils_use_use() { _cmake_use_me_now USE_ "$@" ; } - -# @FUNCTION: cmake-utils_use -# @USAGE: [flag name] -# @DESCRIPTION: -# Based on use_enable. See ebuild(5). -# -# `cmake-utils_use foo FOO` echoes -DFOO=ON if foo is enabled -# and -DFOO=OFF if it is disabled. -cmake-utils_use() { _cmake_use_me_now "" "$@" ; } - -# @FUNCTION: cmake-utils_useno -# @USAGE: [flag name] -# @DESCRIPTION: -# Based on use_enable. See ebuild(5). -# -# `cmake-utils_useno foo NOFOO` echoes -DNOFOO=OFF if foo is enabled -# and -DNOFOO=ON if it is disabled. -cmake-utils_useno() { _cmake_use_me_now_inverted "" "$@" ; } - -# Internal function for modifying hardcoded definitions. -# Removes dangerous definitions that override Gentoo settings. -_cmake_modify-cmakelists() { - debug-print-function ${FUNCNAME} "$@" - - # Only edit the files once - grep -qs "<<< Gentoo configuration >>>" "${CMAKE_USE_DIR}"/CMakeLists.txt && return 0 - - # Comment out all set ( value) - find "${CMAKE_USE_DIR}" -name CMakeLists.txt -exec sed \ - -e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_BUILD_TYPE\([[:space:]].*)\|)\)/I{s/^/#_cmake_modify_IGNORE /g}' \ - -e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_COLOR_MAKEFILE[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE /g}' \ - -e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_INSTALL_PREFIX[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE /g}' \ - -e '/^[[:space:]]*set[[:space:]]*([[:space:]]*CMAKE_VERBOSE_MAKEFILE[[:space:]].*)/I{s/^/#_cmake_modify_IGNORE /g}' \ - -i {} + || die "${LINENO}: failed to disable hardcoded settings" - local x - for x in $(find "${CMAKE_USE_DIR}" -name CMakeLists.txt -exec grep -l "^#_cmake_modify_IGNORE" {} +;); do - einfo "Hardcoded definition(s) removed in $(echo "${x}" | cut -c $((${#CMAKE_USE_DIR}+2))-):" - einfo "$(grep -se '^#_cmake_modify_IGNORE' ${x} | cut -c 22-99)" - done - - # NOTE Append some useful summary here - cat >> "${CMAKE_USE_DIR}"/CMakeLists.txt <<- _EOF_ || die - - MESSAGE(STATUS "<<< Gentoo configuration >>> - Build type \${CMAKE_BUILD_TYPE} - Install path \${CMAKE_INSTALL_PREFIX} - Compiler flags: - C \${CMAKE_C_FLAGS} - C++ \${CMAKE_CXX_FLAGS} - Linker flags: - Executable \${CMAKE_EXE_LINKER_FLAGS} - Module \${CMAKE_MODULE_LINKER_FLAGS} - Shared \${CMAKE_SHARED_LINKER_FLAGS}\n") - _EOF_ -} - -# temporary function for moving cmake cleanups from from src_configure -> src_prepare. -# bug #378850 -_cmake_cleanup_cmake() { - : ${CMAKE_USE_DIR:=${S}} - - if [[ "${CMAKE_REMOVE_MODULES}" == "yes" ]] ; then - local name - for name in ${CMAKE_REMOVE_MODULES_LIST} ; do - find "${S}" -name ${name}.cmake -exec rm -v {} + || die - done - fi - - # check if CMakeLists.txt exist and if no then die - if [[ ! -e ${CMAKE_USE_DIR}/CMakeLists.txt ]] ; then - eerror "Unable to locate CMakeLists.txt under:" - eerror "\"${CMAKE_USE_DIR}/CMakeLists.txt\"" - eerror "Consider not inheriting the cmake eclass." - die "FATAL: Unable to find CMakeLists.txt" - fi - - # Remove dangerous things. - _cmake_modify-cmakelists -} - -# @FUNCTION: cmake-utils_src_prepare -# @DESCRIPTION: -# Apply ebuild and user patches. -cmake-utils_src_prepare() { - debug-print-function ${FUNCNAME} "$@" - - pushd "${S}" > /dev/null || die - - if [[ ${EAPI} != 5 ]]; then - default_src_prepare - _cmake_cleanup_cmake - else - debug-print "$FUNCNAME: PATCHES=$PATCHES" - [[ ${PATCHES[@]} ]] && epatch "${PATCHES[@]}" - - debug-print "$FUNCNAME: applying user patches" - epatch_user - fi - - popd > /dev/null || die - - # make ${S} read-only in order to detect broken build-systems - if [[ ${CMAKE_UTILS_QA_SRC_DIR_READONLY} && ! ${CMAKE_IN_SOURCE_BUILD} ]]; then - chmod -R a-w "${S}" - fi - - _CMAKE_UTILS_SRC_PREPARE_HAS_RUN=1 -} - -# @VARIABLE: mycmakeargs -# @DEFAULT_UNSET -# @DESCRIPTION: -# Optional cmake defines as a bash array. Should be defined before calling -# src_configure. -# @CODE -# src_configure() { -# local mycmakeargs=( -# $(cmake-utils_use_with openconnect) -# ) -# -# cmake-utils_src_configure -# } -# @CODE - -# @FUNCTION: cmake-utils_src_configure -# @DESCRIPTION: -# General function for configuring with cmake. Default behaviour is to start an -# out-of-source build. -cmake-utils_src_configure() { - debug-print-function ${FUNCNAME} "$@" - - if [[ ! ${_CMAKE_UTILS_SRC_PREPARE_HAS_RUN} ]]; then - if [[ ${EAPI} != [56] ]]; then - die "FATAL: cmake-utils_src_prepare has not been run" - else - eqawarn "cmake-utils_src_prepare has not been run, please open a bug on https://bugs.gentoo.org/" - fi - fi - - [[ ${EAPI} == 5 ]] && _cmake_cleanup_cmake - - _cmake_check_build_dir - - # Fix xdg collision with sandbox - xdg_environment_reset - - # @SEE CMAKE_BUILD_TYPE - if [[ ${CMAKE_BUILD_TYPE} = Gentoo ]]; then - # Handle release builds - if ! has debug ${IUSE//+} || ! use debug; then - local CPPFLAGS=${CPPFLAGS} - append-cppflags -DNDEBUG - fi - fi - - # Prepare Gentoo override rules (set valid compiler, append CPPFLAGS etc.) - local build_rules=${BUILD_DIR}/gentoo_rules.cmake - - cat > "${build_rules}" <<- _EOF_ || die - SET (CMAKE_ASM_COMPILE_OBJECT " ${CPPFLAGS} -o -c " CACHE STRING "ASM compile command" FORCE) - SET (CMAKE_ASM-ATT_COMPILE_OBJECT " ${CPPFLAGS} -o -c -x assembler " CACHE STRING "ASM-ATT compile command" FORCE) - SET (CMAKE_ASM-ATT_LINK_FLAGS "-nostdlib" CACHE STRING "ASM-ATT link flags" FORCE) - SET (CMAKE_C_COMPILE_OBJECT " ${CPPFLAGS} -o -c " CACHE STRING "C compile command" FORCE) - SET (CMAKE_CXX_COMPILE_OBJECT " ${CPPFLAGS} -o -c " CACHE STRING "C++ compile command" FORCE) - SET (CMAKE_Fortran_COMPILE_OBJECT " ${FCFLAGS} -o -c " CACHE STRING "Fortran compile command" FORCE) - _EOF_ - - local myCC=$(tc-getCC) myCXX=$(tc-getCXX) myFC=$(tc-getFC) - - # !!! IMPORTANT NOTE !!! - # Single slash below is intentional. CMake is weird and wants the - # CMAKE_*_VARIABLES split into two elements: the first one with - # compiler path, and the second one with all command-line options, - # space separated. - local toolchain_file=${BUILD_DIR}/gentoo_toolchain.cmake - cat > ${toolchain_file} <<- _EOF_ || die - SET (CMAKE_ASM_COMPILER "${myCC/ /;}") - SET (CMAKE_ASM-ATT_COMPILER "${myCC/ /;}") - SET (CMAKE_C_COMPILER "${myCC/ /;}") - SET (CMAKE_CXX_COMPILER "${myCXX/ /;}") - SET (CMAKE_Fortran_COMPILER "${myFC/ /;}") - SET (CMAKE_AR $(type -P $(tc-getAR)) CACHE FILEPATH "Archive manager" FORCE) - SET (CMAKE_RANLIB $(type -P $(tc-getRANLIB)) CACHE FILEPATH "Archive index generator" FORCE) - SET (CMAKE_SYSTEM_PROCESSOR "${CHOST%%-*}") - _EOF_ - - # We are using the C compiler for assembly by default. - local -x ASMFLAGS=${CFLAGS} - local -x PKG_CONFIG=$(tc-getPKG_CONFIG) - - if tc-is-cross-compiler; then - local sysname - case "${KERNEL:-linux}" in - Cygwin) sysname="CYGWIN_NT-5.1" ;; - HPUX) sysname="HP-UX" ;; - linux) sysname="Linux" ;; - Winnt) - sysname="Windows" - cat >> "${toolchain_file}" <<- _EOF_ || die - SET (CMAKE_RC_COMPILER $(tc-getRC)) - _EOF_ - ;; - *) sysname="${KERNEL}" ;; - esac - - cat >> "${toolchain_file}" <<- _EOF_ || die - SET (CMAKE_SYSTEM_NAME "${sysname}") - _EOF_ - - if [ "${SYSROOT:-/}" != "/" ] ; then - # When cross-compiling with a sysroot (e.g. with crossdev's emerge wrappers) - # we need to tell cmake to use libs/headers from the sysroot but programs from / only. - cat >> "${toolchain_file}" <<- _EOF_ || die - SET (CMAKE_FIND_ROOT_PATH "${SYSROOT}") - SET (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) - SET (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) - SET (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) - _EOF_ - fi - fi - - if use prefix-guest; then - cat >> "${build_rules}" <<- _EOF_ || die - # in Prefix we need rpath and must ensure cmake gets our default linker path - # right ... except for Darwin hosts - IF (NOT APPLE) - SET (CMAKE_SKIP_RPATH OFF CACHE BOOL "" FORCE) - SET (CMAKE_PLATFORM_REQUIRED_RUNTIME_PATH "${EPREFIX}/usr/${CHOST}/lib/gcc;${EPREFIX}/usr/${CHOST}/lib;${EPREFIX}/usr/$(get_libdir);${EPREFIX}/$(get_libdir)" - CACHE STRING "" FORCE) - - ELSE () - - SET (CMAKE_PREFIX_PATH "${EPREFIX}/usr" CACHE STRING "" FORCE) - SET (CMAKE_MACOSX_RPATH ON CACHE BOOL "" FORCE) - SET (CMAKE_SKIP_BUILD_RPATH OFF CACHE BOOL "" FORCE) - SET (CMAKE_SKIP_RPATH OFF CACHE BOOL "" FORCE) - SET (CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE CACHE BOOL "" FORCE) - - ENDIF (NOT APPLE) - _EOF_ - fi - - # Common configure parameters (invariants) - local common_config=${BUILD_DIR}/gentoo_common_config.cmake - local libdir=$(get_libdir) - cat > "${common_config}" <<- _EOF_ || die - SET (CMAKE_GENTOO_BUILD ON CACHE BOOL "Indicate Gentoo package build") - SET (LIB_SUFFIX ${libdir/lib} CACHE STRING "library path suffix" FORCE) - SET (CMAKE_INSTALL_LIBDIR ${libdir} CACHE PATH "Output directory for libraries") - SET (CMAKE_INSTALL_INFODIR "${EPREFIX}/usr/share/info" CACHE PATH "") - SET (CMAKE_INSTALL_MANDIR "${EPREFIX}/usr/share/man" CACHE PATH "") - SET (CMAKE_USER_MAKE_RULES_OVERRIDE "${build_rules}" CACHE FILEPATH "Gentoo override rules") - _EOF_ - - # See bug 689410 - if [[ "${ARCH}" == riscv ]]; then - echo 'SET (CMAKE_FIND_LIBRARY_CUSTOM_LIB_SUFFIX '"${libdir#lib}"' CACHE STRING "library search suffix" FORCE)' >> "${common_config}" || die - fi - - [[ "${NOCOLOR}" = true || "${NOCOLOR}" = yes ]] && echo 'SET (CMAKE_COLOR_MAKEFILE OFF CACHE BOOL "pretty colors during make" FORCE)' >> "${common_config}" - - if [[ ${EAPI} != [56] ]]; then - cat >> "${common_config}" <<- _EOF_ || die - SET (CMAKE_INSTALL_DOCDIR "${EPREFIX}/usr/share/doc/${PF}" CACHE PATH "") - SET (BUILD_SHARED_LIBS ON CACHE BOOL "") - _EOF_ - fi - - # Wipe the default optimization flags out of CMake - if [[ ${CMAKE_BUILD_TYPE} != Gentoo && ${EAPI} != 5 ]]; then - cat >> ${common_config} <<- _EOF_ || die - SET (CMAKE_ASM_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "") - SET (CMAKE_ASM-ATT_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "") - SET (CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "") - SET (CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "") - SET (CMAKE_Fortran_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "") - SET (CMAKE_EXE_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "") - SET (CMAKE_MODULE_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "") - SET (CMAKE_SHARED_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "") - SET (CMAKE_STATIC_LINKER_FLAGS_${CMAKE_BUILD_TYPE^^} "" CACHE STRING "") - _EOF_ - fi - - # Convert mycmakeargs to an array, for backwards compatibility - # Make the array a local variable since <=portage-2.1.6.x does not - # support global arrays (see bug #297255). - local mycmakeargstype=$(declare -p mycmakeargs 2>&-) - if [[ "${mycmakeargstype}" != "declare -a mycmakeargs="* ]]; then - if [[ -n "${mycmakeargstype}" ]] ; then - if [[ ${EAPI} == 5 ]]; then - eqawarn "Declaring mycmakeargs as a variable is deprecated. Please use an array instead." - else - die "Declaring mycmakeargs as a variable is banned in EAPI=${EAPI}. Please use an array instead." - fi - fi - local mycmakeargs_local=(${mycmakeargs}) - else - local mycmakeargs_local=("${mycmakeargs[@]}") - fi - - if [[ ${CMAKE_WARN_UNUSED_CLI} == no ]] ; then - local warn_unused_cli="--no-warn-unused-cli" - else - local warn_unused_cli="" - fi - - # Common configure parameters (overridable) - # NOTE CMAKE_BUILD_TYPE can be only overridden via CMAKE_BUILD_TYPE eclass variable - # No -DCMAKE_BUILD_TYPE=xxx definitions will be in effect. - local cmakeargs=( - ${warn_unused_cli} - -C "${common_config}" - -G "$(_cmake_generator_to_use)" - -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr" - "${mycmakeargs_local[@]}" - -DCMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}" - $([[ ${EAPI} == 5 ]] && echo -DCMAKE_INSTALL_DO_STRIP=OFF) - -DCMAKE_TOOLCHAIN_FILE="${toolchain_file}" - "${MYCMAKEARGS}" - ) - - if [[ -n "${CMAKE_EXTRA_CACHE_FILE}" ]] ; then - cmakeargs+=( -C "${CMAKE_EXTRA_CACHE_FILE}" ) - fi - - pushd "${BUILD_DIR}" > /dev/null || die - debug-print "${LINENO} ${ECLASS} ${FUNCNAME}: mycmakeargs is ${mycmakeargs_local[*]}" - echo "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}" - "${CMAKE_BINARY}" "${cmakeargs[@]}" "${CMAKE_USE_DIR}" || die "cmake failed" - popd > /dev/null || die -} - -# @FUNCTION: cmake-utils_src_compile -# @DESCRIPTION: -# General function for compiling with cmake. -# Automatically detects the build type. All arguments are passed to emake. -cmake-utils_src_compile() { - debug-print-function ${FUNCNAME} "$@" - - cmake-utils_src_make "$@" -} - -# @FUNCTION: _cmake_ninja_src_make -# @INTERNAL -# @DESCRIPTION: -# Build the package using ninja generator -_cmake_ninja_src_make() { - debug-print-function ${FUNCNAME} "$@" - - [[ -e build.ninja ]] || die "build.ninja not found. Error during configure stage." - - eninja "$@" -} - -# @FUNCTION: _cmake_emake_src_make -# @INTERNAL -# @DESCRIPTION: -# Build the package using make generator -_cmake_emake_src_make() { - debug-print-function ${FUNCNAME} "$@" - - [[ -e Makefile ]] || die "Makefile not found. Error during configure stage." - - if [[ "${CMAKE_VERBOSE}" != "OFF" ]]; then - emake VERBOSE=1 "$@" || die - else - emake "$@" || die - fi - -} - -# @FUNCTION: cmake-utils_src_make -# @DESCRIPTION: -# Function for building the package. Automatically detects the build type. -# All arguments are passed to emake. -cmake-utils_src_make() { - debug-print-function ${FUNCNAME} "$@" - - _cmake_check_build_dir - pushd "${BUILD_DIR}" > /dev/null || die - - _cmake_${CMAKE_MAKEFILE_GENERATOR}_src_make "$@" - - popd > /dev/null || die -} - -# @FUNCTION: cmake-utils_src_test -# @DESCRIPTION: -# Function for testing the package. Automatically detects the build type. -cmake-utils_src_test() { - debug-print-function ${FUNCNAME} "$@" - - _cmake_check_build_dir - pushd "${BUILD_DIR}" > /dev/null || die - [[ -e CTestTestfile.cmake ]] || { echo "No tests found. Skipping."; return 0 ; } - - [[ -n ${TEST_VERBOSE} ]] && myctestargs+=( --extra-verbose --output-on-failure ) - - set -- ctest -j "$(makeopts_jobs)" --test-load "$(makeopts_loadavg)" "${myctestargs[@]}" "$@" - echo "$@" >&2 - if "$@" ; then - einfo "Tests succeeded." - popd > /dev/null || die - return 0 - else - if [[ -n "${CMAKE_YES_I_WANT_TO_SEE_THE_TEST_LOG}" ]] ; then - # on request from Diego - eerror "Tests failed. Test log ${BUILD_DIR}/Testing/Temporary/LastTest.log follows:" - eerror "--START TEST LOG--------------------------------------------------------------" - cat "${BUILD_DIR}/Testing/Temporary/LastTest.log" - eerror "--END TEST LOG----------------------------------------------------------------" - die "Tests failed." - else - die "Tests failed. When you file a bug, please attach the following file: \n\t${BUILD_DIR}/Testing/Temporary/LastTest.log" - fi - - # die might not die due to nonfatal - popd > /dev/null || die - return 1 - fi -} - -# @FUNCTION: cmake-utils_src_install -# @DESCRIPTION: -# Function for installing the package. Automatically detects the build type. -cmake-utils_src_install() { - debug-print-function ${FUNCNAME} "$@" - - _cmake_check_build_dir - pushd "${BUILD_DIR}" > /dev/null || die - DESTDIR="${D}" ${CMAKE_MAKEFILE_GENERATOR} install "$@" || die "died running ${CMAKE_MAKEFILE_GENERATOR} install" - popd > /dev/null || die - - pushd "${S}" > /dev/null || die - einstalldocs - popd > /dev/null || die -} - -fi From fdc7cf15dd2adc33c07f40e5470b9a3092e8f3e4 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 23 Aug 2022 16:54:31 +0200 Subject: [PATCH 30/35] eclass/meson: Sync with Gentoo It's from Gentoo commit 5a465ec448ea48b9dd9471e4d15b7669a77e4536. --- .../portage-stable/eclass/meson.eclass | 45 ++++++++++++------- 1 file changed, 30 insertions(+), 15 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/meson.eclass b/sdk_container/src/third_party/portage-stable/eclass/meson.eclass index eaff26709a..a79019ccfd 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/meson.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/meson.eclass @@ -1,11 +1,11 @@ -# Copyright 2017-2021 Gentoo Authors +# Copyright 2017-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 # @ECLASS: meson.eclass # @MAINTAINER: # William Hubbs # Mike Gilbert -# @SUPPORTED_EAPIS: 6 7 8 +# @SUPPORTED_EAPIS: 7 8 # @BLURB: common ebuild functions for meson-based packages # @DESCRIPTION: # This eclass contains the default phase functions for packages which @@ -35,36 +35,34 @@ # @CODE case ${EAPI} in - 6|7|8) ;; + 7|8) ;; *) die "${ECLASS}: EAPI ${EAPI:-0} not supported" ;; esac if [[ -z ${_MESON_ECLASS} ]]; then _MESON_ECLASS=1 -[[ ${EAPI} == 6 ]] && inherit eapi7-ver inherit multiprocessing ninja-utils python-utils-r1 toolchain-funcs EXPORT_FUNCTIONS src_configure src_compile src_test src_install -_MESON_DEPEND=">=dev-util/meson-0.57.0 - >=dev-util/ninja-1.8.2 +BDEPEND=">=dev-util/meson-0.62.2 + ${NINJA_DEPEND} dev-util/meson-format-array " -if [[ ${EAPI} == 6 ]]; then - DEPEND=${_MESON_DEPEND} -else - BDEPEND=${_MESON_DEPEND} -fi - -# @ECLASS-VARIABLE: BUILD_DIR +# @ECLASS_VARIABLE: BUILD_DIR # @DEFAULT_UNSET # @DESCRIPTION: # Build directory, location where all generated files should be placed. # If this isn't set, it defaults to ${WORKDIR}/${P}-build. -# @ECLASS-VARIABLE: EMESON_SOURCE +# @ECLASS_VARIABLE: EMESON_BUILDTYPE +# @DESCRIPTION: +# The buildtype value to pass to meson setup. +: ${EMESON_BUILDTYPE=plain} + +# @ECLASS_VARIABLE: EMESON_SOURCE # @DEFAULT_UNSET # @DESCRIPTION: # The location of the source files for the project; this is the source @@ -280,6 +278,8 @@ meson_feature() { meson_src_configure() { debug-print-function ${FUNCNAME} "$@" + [[ -n "${NINJA_DEPEND}" ]] || ewarn "Unknown value '${NINJA}' for \${NINJA}" + local BUILD_CFLAGS=${BUILD_CFLAGS} local BUILD_CPPFLAGS=${BUILD_CPPFLAGS} local BUILD_CXXFLAGS=${BUILD_CXXFLAGS} @@ -310,7 +310,6 @@ meson_src_configure() { local mesonargs=( meson setup - --buildtype plain --libdir "$(get_libdir)" --localstatedir "${EPREFIX}/var/lib" --prefix "${EPREFIX}/usr" @@ -319,8 +318,22 @@ meson_src_configure() { --build.pkg-config-path "${BUILD_PKG_CONFIG_PATH}${BUILD_PKG_CONFIG_PATH:+:}${EPREFIX}/usr/share/pkgconfig" --pkg-config-path "${PKG_CONFIG_PATH}${PKG_CONFIG_PATH:+:}${EPREFIX}/usr/share/pkgconfig" --native-file "$(_meson_create_native_file)" + + # gcc[pch] is masked in profiles due to consistent bugginess + # without forcing this off, some packages may fail too (like gjs, + # bug #839549), but in any case, we don't want to bother attempting + # this. + -Db_pch=false + + # It's Gentoo policy to not have builds die on blanket -Werror, as it's + # an upstream development matter. bug #754279. + -Dwerror=false ) + if [[ -n ${EMESON_BUILDTYPE} ]]; then + mesonargs+=( --buildtype "${EMESON_BUILDTYPE}" ) + fi + if tc-is-cross-compiler; then mesonargs+=( --cross-file "$(_meson_create_cross_file)" ) fi @@ -394,6 +407,7 @@ meson_src_test() { debug-print-function ${FUNCNAME} "$@" local mesontestargs=( + --print-errorlogs -C "${BUILD_DIR}" --num-processes "$(makeopts_jobs "${MAKEOPTS}")" "$@" @@ -414,6 +428,7 @@ meson_install() { local mesoninstallargs=( -C "${BUILD_DIR}" --destdir "${D}" + --no-rebuild "$@" ) From 126d4c4017c952ff628d30bbb4f137da18dca17b Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 23 Aug 2022 16:57:39 +0200 Subject: [PATCH 31/35] eclass/gnome.org: Sync with Gentoo It's from Gentoo commit d7317785d04e7de172de3bff05852fca3cd15af2. --- .../src/third_party/portage-stable/eclass/gnome.org.eclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/gnome.org.eclass b/sdk_container/src/third_party/portage-stable/eclass/gnome.org.eclass index 7efd03bfa9..05025f5f58 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/gnome.org.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/gnome.org.eclass @@ -23,7 +23,7 @@ _GNOME_ORG_ECLASS=1 # versionator inherit kept for older EAPIs due to ebuilds (potentially) relying on it [[ ${EAPI} == [56] ]] && inherit eapi7-ver versionator -# @ECLASS-VARIABLE: GNOME_TARBALL_SUFFIX +# @ECLASS_VARIABLE: GNOME_TARBALL_SUFFIX # @PRE_INHERIT # @DESCRIPTION: # Most projects hosted on gnome.org mirrors provide tarballs as tar.bz2 or @@ -41,13 +41,13 @@ if [[ ${GNOME_TARBALL_SUFFIX} == "xz" ]]; then fi fi -# @ECLASS-VARIABLE: GNOME_ORG_MODULE +# @ECLASS_VARIABLE: GNOME_ORG_MODULE # @DESCRIPTION: # Name of the module as hosted on gnome.org mirrors. # Leave unset if package name matches module name. : ${GNOME_ORG_MODULE:=$PN} -# @ECLASS-VARIABLE: GNOME_ORG_PVP +# @ECLASS_VARIABLE: GNOME_ORG_PVP # @INTERNAL # @DESCRIPTION: # Components of the version number that correspond to a 6 month release. From 7986606ee50634f53ecc25ba23a9b84b10e19dab Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Tue, 23 Aug 2022 17:01:31 +0200 Subject: [PATCH 32/35] eclass/llvm: Sync with Gentoo It's from Gentoo commit ef5a901254202fbcc79a4dab658a231c1187d3e1. --- .../src/third_party/portage-stable/eclass/llvm.eclass | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/llvm.eclass b/sdk_container/src/third_party/portage-stable/eclass/llvm.eclass index 9a6f0c8b6b..1effcc5559 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/llvm.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/llvm.eclass @@ -75,17 +75,17 @@ if [[ ! ${_LLVM_ECLASS} ]]; then # are uninstalled DEPEND="!!sys-devel/llvm:0" -# @ECLASS-VARIABLE: LLVM_MAX_SLOT +# @ECLASS_VARIABLE: LLVM_MAX_SLOT # @DEFAULT_UNSET # @DESCRIPTION: # Highest LLVM slot supported by the package. Needs to be set before # llvm_pkg_setup is called. If unset, no upper bound is assumed. -# @ECLASS-VARIABLE: _LLVM_KNOWN_SLOTS +# @ECLASS_VARIABLE: _LLVM_KNOWN_SLOTS # @INTERNAL # @DESCRIPTION: # Correct values of LLVM slots, newest first. -declare -g -r _LLVM_KNOWN_SLOTS=( {15..8} ) +declare -g -r _LLVM_KNOWN_SLOTS=( {16..8} ) # @FUNCTION: get_llvm_prefix # @USAGE: [-b|-d] [] From 6621fcf78723f283f530579364fb38af738575ac Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Wed, 28 Sep 2022 13:08:22 +0200 Subject: [PATCH 33/35] eclass/linux-mod: Sync with Gentoo It's from Gentoo commit eee74b9fca1b5237299ee08fd041997e7271304a. --- .../portage-stable/eclass/linux-mod.eclass | 153 +++++++----------- 1 file changed, 61 insertions(+), 92 deletions(-) diff --git a/sdk_container/src/third_party/portage-stable/eclass/linux-mod.eclass b/sdk_container/src/third_party/portage-stable/eclass/linux-mod.eclass index e327be7ca1..b7c13cbf7e 100644 --- a/sdk_container/src/third_party/portage-stable/eclass/linux-mod.eclass +++ b/sdk_container/src/third_party/portage-stable/eclass/linux-mod.eclass @@ -19,14 +19,14 @@ # A Couple of env vars are available to effect usage of this eclass # These are as follows: -# @ECLASS-VARIABLE: MODULES_OPTIONAL_USE +# @ECLASS_VARIABLE: MODULES_OPTIONAL_USE # @PRE_INHERIT # @DEFAULT_UNSET # @DESCRIPTION: # A string containing the USE flag to use for making this eclass optional # The recommended non-empty value is 'modules' -# @ECLASS-VARIABLE: MODULES_OPTIONAL_USE_IUSE_DEFAULT +# @ECLASS_VARIABLE: MODULES_OPTIONAL_USE_IUSE_DEFAULT # @PRE_INHERIT # @DEFAULT_UNSET # @DESCRIPTION: @@ -34,29 +34,29 @@ # flag. Default value is unset (false). True represented by 1 or 'on', other # values including unset treated as false. -# @ECLASS-VARIABLE: KERNEL_DIR +# @ECLASS_VARIABLE: KERNEL_DIR # @DESCRIPTION: # A string containing the directory of the target kernel sources. The default value is # "/usr/src/linux" : ${KERNEL_DIR:=/usr/src/linux} -# @ECLASS-VARIABLE: ECONF_PARAMS +# @ECLASS_VARIABLE: ECONF_PARAMS # @DEFAULT_UNSET # @DESCRIPTION: # It's a string containing the parameters to pass to econf. # If this is not set, then econf isn't run. -# @ECLASS-VARIABLE: BUILD_PARAMS +# @ECLASS_VARIABLE: BUILD_PARAMS # @DEFAULT_UNSET # @DESCRIPTION: # It's a string with the parameters to pass to emake. -# @ECLASS-VARIABLE: BUILD_TARGETS +# @ECLASS_VARIABLE: BUILD_TARGETS # @DESCRIPTION: # It's a string with the build targets to pass to make. The default value is "clean module" : ${BUILD_TARGETS:=clean module} -# @ECLASS-VARIABLE: MODULE_NAMES +# @ECLASS_VARIABLE: MODULE_NAMES # @DEFAULT_UNSET # @DESCRIPTION: # It's a string containing the modules to be built automatically using the default @@ -101,14 +101,14 @@ # There is also support for automated modprobe.d file generation. # This can be explicitly enabled by setting any of the following variables. -# @ECLASS-VARIABLE: MODULESD__ENABLED +# @ECLASS_VARIABLE: MODULESD__ENABLED # @DEFAULT_UNSET # @DESCRIPTION: # This is used to disable the modprobe.d file generation otherwise the file will be # always generated (unless no MODULESD__* variable is provided). Set to "no" to disable # the generation of the file and the installation of the documentation. -# @ECLASS-VARIABLE: MODULESD__EXAMPLES +# @ECLASS_VARIABLE: MODULESD__EXAMPLES # @DEFAULT_UNSET # @DESCRIPTION: # This is a bash array containing a list of examples which should @@ -120,7 +120,7 @@ # # where array_component is " options" (see modprobe.conf(5)) -# @ECLASS-VARIABLE: MODULESD__ALIASES +# @ECLASS_VARIABLE: MODULESD__ALIASES # @DEFAULT_UNSET # @DESCRIPTION: # This is a bash array containing a list of associated aliases. @@ -131,20 +131,20 @@ # # where array_component is "wildcard " (see modprobe.conf(5)) -# @ECLASS-VARIABLE: MODULESD__ADDITIONS +# @ECLASS_VARIABLE: MODULESD__ADDITIONS # @DEFAULT_UNSET # @DESCRIPTION: # This is a bash array containing a list of additional things to # add to the bottom of the file. This can be absolutely anything. # Each entry is a new line. -# @ECLASS-VARIABLE: MODULESD__DOCS +# @ECLASS_VARIABLE: MODULESD__DOCS # @DEFAULT_UNSET # @DESCRIPTION: # This is a string list which contains the full path to any associated # documents for . These files are installed in the live tree. -# @ECLASS-VARIABLE: KV_OBJ +# @ECLASS_VARIABLE: KV_OBJ # @INTERNAL # @DESCRIPTION: # It's a read-only variable. It contains the extension of the kernel modules. @@ -193,46 +193,6 @@ DEPEND="${RDEPEND} # eclass utilities # ---------------------------------- -check_vermagic() { - debug-print-function ${FUNCNAME} $* - - local curr_gcc_ver=$(gcc -dumpversion) - local tmpfile old_chost old_gcc_ver result=0 - [ -n "${MODULES_OPTIONAL_USE}" ] && use !${MODULES_OPTIONAL_USE} && return - - tmpfile=`find "${KV_DIR}/" -iname "*.o.cmd" -exec grep usr/lib/gcc {} \; -quit` - tmpfile=${tmpfile//*usr/lib} - tmpfile=${tmpfile//\/include*} - old_chost=${tmpfile//*gcc\/} - old_chost=${old_chost//\/*} - old_gcc_ver=${tmpfile//*\/} - - if [[ -z ${old_gcc_ver} || -z ${old_chost} ]]; then - ewarn "" - ewarn "Unable to detect what version of GCC was used to compile" - ewarn "the kernel. Build will continue, but you may experience problems." - elif [[ ${curr_gcc_ver} != ${old_gcc_ver} ]]; then - ewarn "" - ewarn "The version of GCC you are using (${curr_gcc_ver}) does" - ewarn "not match the version of GCC used to compile the" - ewarn "kernel (${old_gcc_ver})." - result=1 - elif [[ ${CHOST} != ${old_chost} ]]; then - ewarn "" - ewarn "The current CHOST (${CHOST}) does not match the chost" - ewarn "used when compiling the kernel (${old_chost})." - result=1 - fi - - if [[ ${result} -gt 0 ]]; then - ewarn "" - ewarn "Build will not continue, because you will experience problems." - ewarn "To fix this either change the version of GCC you wish to use" - ewarn "to match the kernel, or recompile the kernel first." - die "GCC Version Mismatch." - fi -} - # @FUNCTION: use_m # @RETURN: true or false # @DESCRIPTION: @@ -267,11 +227,10 @@ convert_to_m() { fi } -# internal function -# -# FUNCTION: update_depmod -# DESCRIPTION: -# It updates the modules.dep file for the current kernel. +# @FUNCTION: update_depmod +# @INTERNAL +# @DESCRIPTION: +# Updates the modules.dep file for the current kernel. update_depmod() { debug-print-function ${FUNCNAME} $* @@ -292,11 +251,10 @@ update_depmod() { fi } -# internal function -# -# FUNCTION: move_old_moduledb -# DESCRIPTION: -# It updates the location of the database used by the module-rebuild utility. +# @FUNCTION: move_old_moduledb +# @INTERNAL +# @DESCRIPTION: +# Updates the location of the database used by the module-rebuild utility. move_old_moduledb() { debug-print-function ${FUNCNAME} $* @@ -312,11 +270,9 @@ move_old_moduledb() { fi } -# internal function -# -# FUNCTION: update_moduledb -# DESCRIPTION: -# It adds the package to the /var/lib/module-rebuild/moduledb database used by the module-rebuild utility. +# @FUNCTION: update_moduledb +# @DESCRIPTION: +# Adds the package to the /var/lib/module-rebuild/moduledb database used by the module-rebuild utility. update_moduledb() { debug-print-function ${FUNCNAME} $* @@ -334,12 +290,9 @@ update_moduledb() { fi } -# internal function -# -# FUNCTION: remove_moduledb -# DESCRIPTION: -# It removes the package from the /var/lib/module-rebuild/moduledb database used by -# the module-rebuild utility. +# @FUNCTION: remove_moduledb +# @DESCRIPTION: +# Removes the package from the /var/lib/module-rebuild/moduledb database used by remove_moduledb() { debug-print-function ${FUNCNAME} $* @@ -369,6 +322,10 @@ set_kvobj() { # einfo "Using KV_OBJ=${KV_OBJ}" } +# @FUNCTION: get-KERNEL_CC +# @RETURN: Name of the C compiler. +# @DESCRIPTION: +# Return name of the C compiler while honoring variables defined in ebuilds. get-KERNEL_CC() { debug-print-function ${FUNCNAME} $* @@ -389,12 +346,11 @@ get-KERNEL_CC() { echo "${kernel_cc}" } -# internal function -# -# FUNCTION: -# USAGE: /path/to/the/modulename_without_extension -# RETURN: A file in /etc/modprobe.d -# DESCRIPTION: +# @FUNCTION: generate_modulesd +# @INTERNAL +# @USAGE: /path/to/the/modulename_without_extension +# @RETURN: A file in /etc/modprobe.d +# @DESCRIPTION: # This function will generate and install the neccessary modprobe.d file from the # information contained in the modules exported parms. # (see the variables MODULESD__ENABLED, MODULESD__EXAMPLES, @@ -543,12 +499,11 @@ generate_modulesd() { return 0 } -# internal function -# -# FUNCTION: find_module_params -# USAGE: A string "NAME(LIBDIR:SRCDIR:OBJDIR)" -# RETURN: The string "modulename:NAME libdir:LIBDIR srcdir:SRCDIR objdir:OBJDIR" -# DESCRIPTION: +# @FUNCTION: find_module_params +# @USAGE: A string "NAME(LIBDIR:SRCDIR:OBJDIR)" +# @INTERNAL +# @RETURN: The string "modulename:NAME libdir:LIBDIR srcdir:SRCDIR objdir:OBJDIR" +# @DESCRIPTION: # Analyze the specification NAME(LIBDIR:SRCDIR:OBJDIR) of one module as described in MODULE_NAMES. find_module_params() { debug-print-function ${FUNCNAME} $* @@ -621,10 +576,6 @@ linux-mod_pkg_setup() { strip_modulenames; [[ -n ${MODULE_NAMES} ]] && check_modules_supported set_kvobj; - # Commented out with permission from johnm until a fixed version for arches - # who intentionally use different kernel and userland compilers can be - # introduced - Jason Wever , 23 Oct 2005 - #check_vermagic; } # @FUNCTION: linux-mod_pkg_setup_binary @@ -645,6 +596,9 @@ linux-mod_pkg_setup_binary() { linux-info_pkg_setup; } +# @FUNCTION: strip_modulenames +# @DESCRIPTION: +# Remove modules from being built automatically using the default src_compile/src_install strip_modulenames() { debug-print-function ${FUNCNAME} $* @@ -719,7 +673,7 @@ linux-mod_src_compile() { fi done - set_arch_to_portage + set_arch_to_pkgmgr ABI="${myABI}" } @@ -757,7 +711,22 @@ linux-mod_src_install() { einfo "Installing ${modulename} module" cd "${objdir}" || die "${objdir} does not exist" insinto "${INSTALL_MOD_PATH}"/lib/modules/${KV_FULL}/${libdir} - doins ${modulename}.${KV_OBJ} || die "doins ${modulename}.${KV_OBJ} failed" + + # check here for CONFIG_MODULE_COMPRESS_ (NONE, GZIP, XZ, ZSTD) + # and similarily compress the module being built if != NONE. + + if linux_chkconfig_present MODULE_COMPRESS_XZ; then + xz ${modulename}.${KV_OBJ} + doins ${modulename}.${KV_OBJ}.xz || die "doins ${modulename}.${KV_OBJ}.xz failed" + elif linux_chkconfig_present MODULE_COMPRESS_GZIP; then + gzip ${modulename}.${KV_OBJ} + doins ${modulename}.${KV_OBJ}.gz || die "doins ${modulename}.${KV_OBJ}.gz failed" + elif linux_chkconfig_present MODULE_COMPRESS_ZSTD; then + zstd ${modulename}.${KV_OBJ} + doins ${modulename}.${KV_OBJ}.zst || die "doins ${modulename}.${KV_OBJ}.zst failed" + else + doins ${modulename}.${KV_OBJ} || die "doins ${modulename}.${KV_OBJ} failed" + fi cd "${OLDPWD}" generate_modulesd "${objdir}/${modulename}" From efef41e31d1d396b00069c71c8a4731ad8cd6ee0 Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Fri, 23 Sep 2022 16:49:45 +0200 Subject: [PATCH 34/35] .github/workflows/packages-list: Add entries --- .../.github/workflows/packages-list | 33 +++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/sdk_container/src/third_party/portage-stable/.github/workflows/packages-list b/sdk_container/src/third_party/portage-stable/.github/workflows/packages-list index edec516538..cbf47a3881 100644 --- a/sdk_container/src/third_party/portage-stable/.github/workflows/packages-list +++ b/sdk_container/src/third_party/portage-stable/.github/workflows/packages-list @@ -23,24 +23,56 @@ dev-libs/libxml2 dev-libs/libxslt dev-libs/oniguruma +dev-python/fasteners + dev-util/boost-build +dev-util/bpftool +dev-util/catalyst +dev-util/checkbashisms +dev-util/cmake +dev-util/cmocka +dev-util/desktop-file-utils dev-util/gdbus-codegen dev-util/glib-utils +dev-util/gperf +dev-util/gtk-doc-am +dev-util/meson +dev-util/meson-format-array +dev-util/ninja +dev-util/pahole +dev-util/patchelf +dev-util/patchutils +dev-util/perf dev-util/pkgconf +dev-util/re2c +dev-util/strace dev-vcs/git eclass/alternatives.eclass eclass/autotools.eclass +# Still has some Flatcar modifications, will need to upstream it first. +# +# eclass/bash-completion-r1.eclass +eclass/cmake-multilib.eclass +eclass/cmake.eclass +eclass/elisp-common.eclass eclass/flag-o-matic.eclass eclass/git-r3.eclass +eclass/gnome.org.eclass eclass/gnuconfig.eclass eclass/java-pkg-opt-2.eclass eclass/java-utils-2.eclass eclass/libtool.eclass +eclass/linux-info.eclass +eclass/linux-mod.eclass +eclass/llvm.eclass +eclass/meson.eclass eclass/multilib-build.eclass eclass/multilib-minimal.eclass eclass/multilib.eclass +eclass/ninja-utils.eclass +eclass/optfeature.eclass eclass/pax-utils.eclass eclass/prefix.eclass eclass/tmpfiles.eclass @@ -49,6 +81,7 @@ eclass/toolchain.eclass eclass/verify-sig.eclass eclass/vim-doc.eclass eclass/vim-plugin.eclass +eclass/virtualx.eclass net-analyzer/nmap From ea3051e7e635fb0a6e8452697405b6e29827ad7c Mon Sep 17 00:00:00 2001 From: Krzesimir Nowak Date: Wed, 28 Sep 2022 14:26:44 +0200 Subject: [PATCH 35/35] changelog: Add an entry --- .../updates/2022-09-28-development-utilities-update.md | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 sdk_container/src/third_party/portage-stable/changelog/updates/2022-09-28-development-utilities-update.md diff --git a/sdk_container/src/third_party/portage-stable/changelog/updates/2022-09-28-development-utilities-update.md b/sdk_container/src/third_party/portage-stable/changelog/updates/2022-09-28-development-utilities-update.md new file mode 100644 index 0000000000..7eacda736f --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/changelog/updates/2022-09-28-development-utilities-update.md @@ -0,0 +1,7 @@ +- bpftool ([5.18.11](https://lwn.net/Articles/900912/)) +- SDK: catalyst ([3.0.21](https://gitweb.gentoo.org/proj/catalyst.git/log/?h=3.0.21)) +- SDK: cmake ([3.23.3](https://cmake.org/cmake/help/v3.23/release/3.23.html)) +- SDK: meson ([0.62.2](https://mesonbuild.com/Release-notes-for-0-62-0.html)) +- SDK: ninja ([1.11.0](https://groups.google.com/g/ninja-build/c/R2oCyDctDf8/m/-U94Y5I8AgAJ?pli=1)) +- pahole ([1.23](https://git.kernel.org/pub/scm/devel/pahole/pahole.git/tag/?h=v1.23)) +- strace ([5.19](https://github.com/strace/strace/releases/tag/v5.19))