summaryrefslogtreecommitdiff
path: root/dev-build
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-01-17 20:06:58 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-01-17 20:06:58 +0000
commit08c5e4df7a4b66ba8dbb827ca2e3a973d4f19ab0 (patch)
tree347af25df153363454776e1fe95fc4e8100a7e7d /dev-build
parentfc6e577018dec28e18904f9ad5c1417976e3c728 (diff)
gentoo auto-resync : 17:01:2024 - 20:06:58
Diffstat (limited to 'dev-build')
-rw-r--r--dev-build/Manifest.gzbin4366 -> 6542 bytes
-rw-r--r--dev-build/b2/Manifest11
-rw-r--r--dev-build/b2/b2-4.10.1.ebuild70
-rw-r--r--dev-build/b2/b2-5.0.0.ebuild72
-rw-r--r--dev-build/b2/files/b2-4.9.2-add-none-feature-options.patch22
-rw-r--r--dev-build/b2/files/b2-4.9.2-darwin-gentoo-toolchain.patch16
-rw-r--r--dev-build/b2/files/b2-4.9.2-disable_python_rpath.patch11
-rw-r--r--dev-build/b2/files/b2-4.9.2-no-implicit-march-flags.patch148
-rw-r--r--dev-build/b2/files/b2-4.9.2-odr.patch54
-rw-r--r--dev-build/b2/files/site-config.jam11
-rw-r--r--dev-build/b2/metadata.xml11
-rw-r--r--dev-build/bazel/Manifest16
-rw-r--r--dev-build/bazel/bazel-3.7.2-r1.ebuild117
-rw-r--r--dev-build/bazel/bazel-4.2.2.ebuild100
-rw-r--r--dev-build/bazel/bazel-5.0.0.ebuild96
-rw-r--r--dev-build/bazel/bazel-5.1.1.ebuild96
-rw-r--r--dev-build/bazel/bazel-5.3.0.ebuild96
-rw-r--r--dev-build/bazel/bazel-6.2.0.ebuild96
-rw-r--r--dev-build/bazel/files/bazel-3.2.0-include-limits-for-gcc-11.patch25
-rw-r--r--dev-build/bazel/files/bazel-3.7.2-musl-temp-failure-retry.patch34
-rw-r--r--dev-build/bazel/files/bazel-4.2.2-absl_numeric_limits.patch41
-rw-r--r--dev-build/bazel/metadata.xml20
-rw-r--r--dev-build/boost-m4/Manifest3
-rw-r--r--dev-build/boost-m4/boost-m4-0.4_p20221019.ebuild30
-rw-r--r--dev-build/boost-m4/metadata.xml9
-rw-r--r--dev-build/cons/Manifest3
-rw-r--r--dev-build/cons/cons-2.3.0-r1.ebuild31
-rw-r--r--dev-build/cons/metadata.xml8
-rw-r--r--dev-build/gn/Manifest13
-rw-r--r--dev-build/gn/files/gn-gen-r5.patch46
-rw-r--r--dev-build/gn/gn-0.2049.ebuild64
-rw-r--r--dev-build/gn/gn-0.2077.ebuild64
-rw-r--r--dev-build/gn/gn-0.2088.ebuild61
-rw-r--r--dev-build/gn/gn-0.2114.ebuild61
-rw-r--r--dev-build/gn/gn-0.2122.ebuild66
-rw-r--r--dev-build/gn/gn-9999.ebuild66
-rw-r--r--dev-build/gn/metadata.xml7
-rw-r--r--dev-build/gtk-doc-am/Manifest3
-rw-r--r--dev-build/gtk-doc-am/gtk-doc-am-1.33.2.ebuild33
-rw-r--r--dev-build/gtk-doc-am/metadata.xml12
-rw-r--r--dev-build/gyp/Manifest4
-rw-r--r--dev-build/gyp/gyp-20200512145953.ebuild53
-rw-r--r--dev-build/gyp/gyp-99999999999999.ebuild53
-rw-r--r--dev-build/gyp/metadata.xml12
-rw-r--r--dev-build/kbuild/Manifest21
-rw-r--r--dev-build/kbuild/files/kbuild-0.1.5-gentoo-docdir.patch11
-rw-r--r--dev-build/kbuild/files/kbuild-0.1.9998.3407-gold.patch11
-rw-r--r--dev-build/kbuild/files/kbuild-0.1.9998.3407-unknown_configure_opt.patch20
-rw-r--r--dev-build/kbuild/files/kbuild-0.1.9998.3499-fix-CC.patch23
-rw-r--r--dev-build/kbuild/files/kbuild-0.1.9998.3499-gold.patch15
-rw-r--r--dev-build/kbuild/files/kbuild-0.1.9998.3499-implicit-function-declaration.patch74
-rw-r--r--dev-build/kbuild/files/kbuild-0.1.9998.3499-int-conversion.patch26
-rw-r--r--dev-build/kbuild/files/kbuild-0.1.9998.3499-kash-no_separate_parser_allocator.patch11
-rw-r--r--dev-build/kbuild/files/kbuild-0.1.9998.3572-fix-bison.patch15
-rw-r--r--dev-build/kbuild/files/kbuild-0.1.9998.3572-fix-lto.patch11
-rw-r--r--dev-build/kbuild/files/kbuild-0.1.9998_pre20110817-kash-link-pthread.patch10
-rw-r--r--dev-build/kbuild/files/kbuild-0.1.9998_pre20120806-qa.patch13
-rw-r--r--dev-build/kbuild/kbuild-0.1.9998.3499-r4.ebuild79
-rw-r--r--dev-build/kbuild/kbuild-0.1.9998.3572-r4.ebuild74
-rw-r--r--dev-build/kbuild/kbuild-0.1.9998.3592.ebuild76
-rw-r--r--dev-build/kbuild/kbuild-9999.ebuild78
-rw-r--r--dev-build/kbuild/metadata.xml8
-rw-r--r--dev-build/netsurf-buildsystem/Manifest5
-rw-r--r--dev-build/netsurf-buildsystem/files/gentoo-helpers-r2.sh22
-rw-r--r--dev-build/netsurf-buildsystem/files/netsurf-buildsystem-1.9-parallel-pre-post-targets.patch74
-rw-r--r--dev-build/netsurf-buildsystem/metadata.xml8
-rw-r--r--dev-build/netsurf-buildsystem/netsurf-buildsystem-1.9-r2.ebuild28
-rw-r--r--dev-build/qconf/Manifest3
-rw-r--r--dev-build/qconf/metadata.xml15
-rw-r--r--dev-build/qconf/qconf-2.5.ebuild39
-rw-r--r--dev-build/scons/Manifest13
-rw-r--r--dev-build/scons/files/scons-4.1.0-env-passthrough.patch41
-rw-r--r--dev-build/scons/files/scons-4.2.0-respect-cc-etc.patch96
-rw-r--r--dev-build/scons/metadata.xml20
-rw-r--r--dev-build/scons/scons-4.5.2.ebuild157
-rw-r--r--dev-build/scons/scons-4.6.0-r1.ebuild160
-rw-r--r--dev-build/tup/Manifest6
-rw-r--r--dev-build/tup/metadata.xml8
-rw-r--r--dev-build/tup/tup-0.7.10.ebuild102
-rw-r--r--dev-build/tup/tup-0.7.11.ebuild117
-rw-r--r--dev-build/tup/tup-9999.ebuild101
-rw-r--r--dev-build/xfce4-dev-tools/Manifest5
-rw-r--r--dev-build/xfce4-dev-tools/metadata.xml8
-rw-r--r--dev-build/xfce4-dev-tools/xfce4-dev-tools-4.18.1.ebuild27
-rw-r--r--dev-build/xfce4-dev-tools/xfce4-dev-tools-4.19.0.ebuild27
85 files changed, 3523 insertions, 0 deletions
diff --git a/dev-build/Manifest.gz b/dev-build/Manifest.gz
index c5e6e49e04dc..3f6ec01de4c0 100644
--- a/dev-build/Manifest.gz
+++ b/dev-build/Manifest.gz
Binary files differ
diff --git a/dev-build/b2/Manifest b/dev-build/b2/Manifest
new file mode 100644
index 000000000000..e3349aef11e6
--- /dev/null
+++ b/dev-build/b2/Manifest
@@ -0,0 +1,11 @@
+AUX b2-4.9.2-add-none-feature-options.patch 588 BLAKE2B b2531258cd54eb73f9a0b9172d07d5e71856cf1112d7e39bd82e3cf14416aee92681833f73a2e0627ee787757dd12ca82d3d132a3a5b5c396cf8243ce2330767 SHA512 144a348afa5af165da3cbc922fd12a63f57d7d2c4d2300342fe08ef506eea8819dab3d8b8181179205530aca98e931b8a1062f4c3e0c7078a637c9aede2949e4
+AUX b2-4.9.2-darwin-gentoo-toolchain.patch 399 BLAKE2B 213ddbeac6be079df8383ac51c1935c21c7c4e9c2fad2dc71cc0e6317d1bcb282d7fa26997eb677408a5b5fdf2809062c54be18265dd618ec01cc771d99fdff1 SHA512 9d69ecab3cdd58915269491ed98824c554a5291820b8c3116d3aa36acee69edca4eb1528baeece513d290c20fcedabd342d426aa2c153f7ad5f08e0815357868
+AUX b2-4.9.2-disable_python_rpath.patch 343 BLAKE2B 7b8449db1054dcee76ecbe1b1c826ae3d6964acfcfc0850ff3c75d3c71b043587bccac6b96797229c6dec39beb593893d16ae93a4d7fd16b969129fe63f73d0b SHA512 99bc1260f3d36faf60ab2837039466201bddfeec5c60f65c1c5e52d6d6c1667d419376328f8202596aa2b66448308175d2504062ee6e1708ea0f44d02988ceb4
+AUX b2-4.9.2-no-implicit-march-flags.patch 8376 BLAKE2B 50e0b8effbb268467d90cc51df70dc4bd234789b352a279d9bb3e60161be80296f5f31f4a0d2a3d1ae2380f3079f7b950b24ef494574e25bbda48b516c6aacbb SHA512 0089a48cbe3e9e4f222e5cd1e9e12a5c4d16857b002a1c849f4cf6f8d7935c0a9b1e0f51ced51bf5346c2fdcbd214ce05e3c144c98fbf82a9842c45b59c19740
+AUX b2-4.9.2-odr.patch 1109 BLAKE2B 0bf70f2b2237369acd5089d1d1c6e1362f1d3528b036a7f7b9c5c4d077e60850f45c87a67c830f441297e09be2f7dd8bf41ea45a2c66b307678404c4a0db0ed5 SHA512 90ca58661322b35c4af6543558015368385a1b0e12740cd76723d893f95411645ec4a3a23694503863dd786b73a0ec9b0cb34b473e357334d8e82d973f800e4b
+AUX site-config.jam 685 BLAKE2B b9f73808b6ca454c2220b9d296e7f131c01e6339f545b07160df5f81435926104b134e6baf5af12faf675af074d5de43952678904242f2d7853acd5268bafd2a SHA512 10fc14e622a38d64a9a8cfa78ec9302618de657c38578cf9a9815e88afd80ec7e550bd5a66d8c919bb9de93b77028bce6f382d7dd6bf118f9b2a3a607ced52b2
+DIST b2-4.10.1.tar.gz 982429 BLAKE2B bb1e6ef741ca10d3b0029e64d69a7ee7eb0d40d26c68d2a3932d4210e8e2a83131c9bac2d54f2885373725d58fe73dd7fa7aebfc5781059f01c3462c738d426c SHA512 0bc4897a342685190626a6593926c4b200c5ca9b498ba77287a7c49467a8e3f65cb850b9616fd05d4aea9ebfab32ec46792d7d8226bed89911a711ce14ecce30
+DIST b2-5.0.0.tar.gz 1015818 BLAKE2B 87b6f34733002479f91f658aee4f776930ae6441f33b2540b82049e18c4199280e73047afafa90dc156cc75db8b587c5bb9e2ce65d93c493775ac4107ce3201b SHA512 37403f0bd863753c5313393405dd8514a4f8d9f0839ccd397ee1856e02af6116bd238d345e5b766512441ca1c0b09883386588e270bd982eca45235eef1b01b7
+EBUILD b2-4.10.1.ebuild 1916 BLAKE2B a3a547177ff331c2e717f4594a91cb134a9d2bf17e6d3cde2c5018f44d0925544ae83ee011e720a02f100d3fa91da0214b7acdc140797e050ca680fb7876d806 SHA512 af4b96373dbf8cfc23499c2d5a09ca9e855254d516419d92ca31f7bff10636dcea3a9fbadf5c9dc6df87aa2544862467f570fb8de81a0b27c6047abeb7e37c92
+EBUILD b2-5.0.0.ebuild 1967 BLAKE2B 50870cad043adccccf37779a3503559b4a6be57a71e2e857be2ae2c9ce597471156e37989c395540cb36bff9fb19af8e1494f9be3b59e3ca9da71517734a0583 SHA512 73a50407df672b50894653bec1cc091a93e9593301ea4be19ff8cd45d95966885c6e30e9f6b0aa5554d19101fb5728b786abda6b0ba42d17586f6ea8ed6172a4
+MISC metadata.xml 320 BLAKE2B e32bcf6d7bfe5e8a0f36d34022d49ef8baf1d4c0324fa7e7b25e1fa41ac81c21e010a8e49d456b7ce6027c51af57b6b07f3bdc8b7e05daa18b288c63a58a171e SHA512 767da992cd650d91b393848e73d6f0626febcb02eba350a16d390e8416a2832c49b1ca2608be98a9f4abd9ae2078a7f1a543a387be139e5533f90d82171796bf
diff --git a/dev-build/b2/b2-4.10.1.ebuild b/dev-build/b2/b2-4.10.1.ebuild
new file mode 100644
index 000000000000..55ca9c3a4e4c
--- /dev/null
+++ b/dev-build/b2/b2-4.10.1.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo flag-o-matic toolchain-funcs
+
+MY_PV="$(ver_rs 1- _)"
+
+DESCRIPTION="A system for large project software construction, simple to use and powerful"
+HOMEPAGE="https://www.bfgroup.xyz/b2/"
+SRC_URI="https://github.com/bfgroup/b2/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}/src"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="examples"
+RESTRICT="test"
+
+RDEPEND="!dev-util/boost-build"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.9.2-disable_python_rpath.patch
+ "${FILESDIR}"/${PN}-4.9.2-darwin-gentoo-toolchain.patch
+ "${FILESDIR}"/${PN}-4.9.2-add-none-feature-options.patch
+ "${FILESDIR}"/${PN}-4.9.2-no-implicit-march-flags.patch
+ "${FILESDIR}"/${PN}-4.9.2-odr.patch
+)
+
+src_configure() {
+ # need to enable LFS explicitly for 64-bit offsets on 32-bit hosts (#761100)
+ append-lfs-flags
+}
+
+src_compile() {
+ cd engine || die
+
+ # upstream doesn't want separate flags for CPPFLAGS/LDFLAGS
+ # https://github.com/bfgroup/b2/pull/187#issuecomment-1335688424
+ edo ${CONFIG_SHELL:-${BASH}} ./build.sh cxx \
+ --cxx="$(tc-getCXX)" \
+ --cxxflags="${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}" \
+ -d+2 \
+ --without-python
+}
+
+src_test() {
+ # Forget tests, b2 is a lost cause
+ :
+}
+
+src_install() {
+ dobin engine/b2
+
+ insinto /usr/share/b2/src
+ doins -r "${FILESDIR}/site-config.jam" \
+ bootstrap.jam build-system.jam ../example/user-config.jam \
+ build kernel options tools util
+
+ find "${ED}"/usr/share/b2/src -iname '*.py' -delete || die
+
+ dodoc ../notes/{changes,release_procedure,build_dir_option,relative_source_paths}.txt
+
+ if use examples; then
+ docinto examples
+ dodoc -r ../example/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-build/b2/b2-5.0.0.ebuild b/dev-build/b2/b2-5.0.0.ebuild
new file mode 100644
index 000000000000..6cff0eca434e
--- /dev/null
+++ b/dev-build/b2/b2-5.0.0.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit edo flag-o-matic toolchain-funcs
+
+MY_PV="$(ver_rs 1- _)"
+
+DESCRIPTION="A system for large project software construction, simple to use and powerful"
+HOMEPAGE="https://www.bfgroup.xyz/b2/"
+SRC_URI="https://github.com/bfgroup/b2/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}/src"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="examples"
+RESTRICT="test"
+
+RDEPEND="!dev-util/boost-build"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.9.2-disable_python_rpath.patch
+ "${FILESDIR}"/${PN}-4.9.2-darwin-gentoo-toolchain.patch
+ "${FILESDIR}"/${PN}-4.9.2-add-none-feature-options.patch
+ "${FILESDIR}"/${PN}-4.9.2-no-implicit-march-flags.patch
+)
+
+src_configure() {
+ # need to enable LFS explicitly for 64-bit offsets on 32-bit hosts (#761100)
+ append-lfs-flags
+}
+
+src_compile() {
+ cd engine || die
+
+ # don't call windres since it leads to broken relocations
+ export B2_DONT_EMBED_MANIFEST=1
+
+ # upstream doesn't want separate flags for CPPFLAGS/LDFLAGS
+ # https://github.com/bfgroup/b2/pull/187#issuecomment-1335688424
+ edo ${CONFIG_SHELL:-${BASH}} ./build.sh cxx \
+ --cxx="$(tc-getCXX)" \
+ --cxxflags="${CXXFLAGS} ${CPPFLAGS} ${LDFLAGS}" \
+ -d+2 \
+ --without-python
+}
+
+src_test() {
+ # Forget tests, b2 is a lost cause
+ :
+}
+
+src_install() {
+ dobin engine/b2
+
+ insinto /usr/share/b2/src
+ doins -r "${FILESDIR}/site-config.jam" \
+ build-system.jam ../example/user-config.jam \
+ build contrib options tools util
+
+ find "${ED}"/usr/share/b2/src -iname '*.py' -delete || die
+
+ dodoc ../notes/{changes,release_procedure,build_dir_option,relative_source_paths}.txt
+
+ if use examples; then
+ docinto examples
+ dodoc -r ../example/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-build/b2/files/b2-4.9.2-add-none-feature-options.patch b/dev-build/b2/files/b2-4.9.2-add-none-feature-options.patch
new file mode 100644
index 000000000000..620dea0af51b
--- /dev/null
+++ b/dev-build/b2/files/b2-4.9.2-add-none-feature-options.patch
@@ -0,0 +1,22 @@
+--- a/tools/features/debug-feature.jam
++++ b/tools/features/debug-feature.jam
+@@ -18,7 +18,7 @@ common usage is to build release variant with debugging information.
+ |# # end::doc[]
+
+ feature.feature debug-symbols
+- : on off
++ : on off none
+ : propagated ;
+
+ #| tag::prof-doc[]
+--- a/tools/features/optimization-feature.jam
++++ b/tools/features/optimization-feature.jam
+@@ -16,7 +16,7 @@ smaller binary.
+ |# # end::doc[]
+
+ feature.feature optimization
+- : off speed space minimal debug
++ : off none speed space minimal debug
+ : propagated ;
+
+ #| tag::inline-doc[]
diff --git a/dev-build/b2/files/b2-4.9.2-darwin-gentoo-toolchain.patch b/dev-build/b2/files/b2-4.9.2-darwin-gentoo-toolchain.patch
new file mode 100644
index 000000000000..8de98014dbdc
--- /dev/null
+++ b/dev-build/b2/files/b2-4.9.2-darwin-gentoo-toolchain.patch
@@ -0,0 +1,16 @@
+Avoid adding all kinds of things to the toolchain's flags that within
+Gentoo (Prefix) we really shouldn't, such as sysroot, deployment target,
+arch, etc.
+
+--- a/tools/darwin.jam
++++ b/tools/darwin.jam
+@@ -240,6 +240,9 @@
+ }
+ }
+
++ # leave compiler flags etc. up to the toolchain
++ return $(version-feature) ;
++
+ if $(version-feature)
+ {
+ if $(.debug-configuration)
diff --git a/dev-build/b2/files/b2-4.9.2-disable_python_rpath.patch b/dev-build/b2/files/b2-4.9.2-disable_python_rpath.patch
new file mode 100644
index 000000000000..b7b47cc93a47
--- /dev/null
+++ b/dev-build/b2/files/b2-4.9.2-disable_python_rpath.patch
@@ -0,0 +1,11 @@
+--- a/tools/python.jam
++++ b/tools/python.jam
+@@ -1000,7 +1000,7 @@
+ # linux).
+ : $(usage-requirements)
+ <testing.launcher>$(set-PYTHONPATH)
+- <library-path>$(libraries) <dll-path>$(dll-path) <library>python.lib
++ <library-path>$(libraries) <library>python.lib
+ ;
+ }
+
diff --git a/dev-build/b2/files/b2-4.9.2-no-implicit-march-flags.patch b/dev-build/b2/files/b2-4.9.2-no-implicit-march-flags.patch
new file mode 100644
index 000000000000..2845d6e52f84
--- /dev/null
+++ b/dev-build/b2/files/b2-4.9.2-no-implicit-march-flags.patch
@@ -0,0 +1,148 @@
+--- a/tools/gcc.jam
++++ b/tools/gcc.jam
+@@ -1131,145 +1131,11 @@ local rule cpu-flags ( toolset variable : architecture : instruction-set + :
+ # x86 and compatible
+ # The 'native' option appeared in gcc 4.2 so we cannot safely use it as default.
+ # Use i686 instead for 32-bit.
+-toolset.flags gcc OPTIONS <architecture>x86/<address-model>32/<instruction-set> : -march=i686 ;
+-cpu-flags gcc OPTIONS : x86 : native : -march=native ;
+-cpu-flags gcc OPTIONS : x86 : i486 : -march=i486 ;
+-cpu-flags gcc OPTIONS : x86 : i586 : -march=i586 ;
+-cpu-flags gcc OPTIONS : x86 : i686 : -march=i686 ;
+-cpu-flags gcc OPTIONS : x86 : pentium : -march=pentium ;
+-cpu-flags gcc OPTIONS : x86 : pentium-mmx : -march=pentium-mmx ;
+-cpu-flags gcc OPTIONS : x86 : pentiumpro : -march=pentiumpro ;
+-cpu-flags gcc OPTIONS : x86 : pentium2 : -march=pentium2 ;
+-cpu-flags gcc OPTIONS : x86 : pentium3 : -march=pentium3 ;
+-cpu-flags gcc OPTIONS : x86 : pentium3m : -march=pentium3m ;
+-cpu-flags gcc OPTIONS : x86 : pentium-m : -march=pentium-m ;
+-cpu-flags gcc OPTIONS : x86 : pentium4 : -march=pentium4 ;
+-cpu-flags gcc OPTIONS : x86 : pentium4m : -march=pentium4m ;
+-cpu-flags gcc OPTIONS : x86 : prescott : -march=prescott ;
+-cpu-flags gcc OPTIONS : x86 : nocona : -march=nocona ;
+-cpu-flags gcc OPTIONS : x86 : core2 : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : conroe : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : conroe-xe : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : conroe-l : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : allendale : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : wolfdale : -march=core2 -msse4.1 ;
+-cpu-flags gcc OPTIONS : x86 : merom : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : merom-xe : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : kentsfield : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : kentsfield-xe : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : yorksfield : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : penryn : -march=core2 ;
+-cpu-flags gcc OPTIONS : x86 : corei7 : -march=corei7 ;
+-cpu-flags gcc OPTIONS : x86 : nehalem : -march=corei7 ;
+-cpu-flags gcc OPTIONS : x86 : corei7-avx : -march=corei7-avx ;
+-cpu-flags gcc OPTIONS : x86 : sandy-bridge : -march=corei7-avx ;
+-cpu-flags gcc OPTIONS : x86 : core-avx-i : -march=core-avx-i ;
+-cpu-flags gcc OPTIONS : x86 : ivy-bridge : -march=core-avx-i ;
+-cpu-flags gcc OPTIONS : x86 : haswell : -march=core-avx-i -mavx2 -mfma -mbmi -mbmi2 -mlzcnt ;
+-cpu-flags gcc OPTIONS : x86 : broadwell : -march=broadwell ;
+-cpu-flags gcc OPTIONS : x86 : skylake : -march=skylake ;
+-cpu-flags gcc OPTIONS : x86 : skylake-avx512 : -march=skylake-avx512 ;
+-cpu-flags gcc OPTIONS : x86 : cannonlake : -march=skylake-avx512 -mavx512vbmi -mavx512ifma -msha ;
+-cpu-flags gcc OPTIONS : x86 : icelake-client : -march=icelake-client ;
+-cpu-flags gcc OPTIONS : x86 : icelake-server : -march=icelake-server ;
+-cpu-flags gcc OPTIONS : x86 : cascadelake : -march=skylake-avx512 -mavx512vnni ;
+-cpu-flags gcc OPTIONS : x86 : cooperlake : -march=cooperlake ;
+-cpu-flags gcc OPTIONS : x86 : tigerlake : -march=tigerlake ;
+-cpu-flags gcc OPTIONS : x86 : rocketlake : -march=rocketlake ;
+-cpu-flags gcc OPTIONS : x86 : alderlake : -march=alderlake ;
+-cpu-flags gcc OPTIONS : x86 : sapphirerapids : -march=sapphirerapids ;
+-cpu-flags gcc OPTIONS : x86 : k6 : -march=k6 ;
+-cpu-flags gcc OPTIONS : x86 : k6-2 : -march=k6-2 ;
+-cpu-flags gcc OPTIONS : x86 : k6-3 : -march=k6-3 ;
+-cpu-flags gcc OPTIONS : x86 : athlon : -march=athlon ;
+-cpu-flags gcc OPTIONS : x86 : athlon-tbird : -march=athlon-tbird ;
+-cpu-flags gcc OPTIONS : x86 : athlon-4 : -march=athlon-4 ;
+-cpu-flags gcc OPTIONS : x86 : athlon-xp : -march=athlon-xp ;
+-cpu-flags gcc OPTIONS : x86 : athlon-mp : -march=athlon-mp ;
+ ##
+-cpu-flags gcc OPTIONS : x86 : k8 : -march=k8 ;
+-cpu-flags gcc OPTIONS : x86 : opteron : -march=opteron ;
+-cpu-flags gcc OPTIONS : x86 : athlon64 : -march=athlon64 ;
+-cpu-flags gcc OPTIONS : x86 : athlon-fx : -march=athlon-fx ;
+-cpu-flags gcc OPTIONS : x86 : k8-sse3 : -march=k8-sse3 ;
+-cpu-flags gcc OPTIONS : x86 : opteron-sse3 : -march=opteron-sse3 ;
+-cpu-flags gcc OPTIONS : x86 : athlon64-sse3 : -march=athlon64-sse3 ;
+-cpu-flags gcc OPTIONS : x86 : amdfam10 : -march=amdfam10 ;
+-cpu-flags gcc OPTIONS : x86 : barcelona : -march=barcelona ;
+-cpu-flags gcc OPTIONS : x86 : bdver1 : -march=bdver1 ;
+-cpu-flags gcc OPTIONS : x86 : bdver2 : -march=bdver2 ;
+-cpu-flags gcc OPTIONS : x86 : bdver3 : -march=bdver3 ;
+-cpu-flags gcc OPTIONS : x86 : bdver4 : -march=bdver4 ;
+-cpu-flags gcc OPTIONS : x86 : btver1 : -march=btver1 ;
+-cpu-flags gcc OPTIONS : x86 : btver2 : -march=btver2 ;
+-cpu-flags gcc OPTIONS : x86 : znver1 : -march=znver1 ;
+-cpu-flags gcc OPTIONS : x86 : znver2 : -march=znver2 ;
+-cpu-flags gcc OPTIONS : x86 : znver3 : -march=znver3 ;
+-cpu-flags gcc OPTIONS : x86 : winchip-c6 : -march=winchip-c6 ;
+-cpu-flags gcc OPTIONS : x86 : winchip2 : -march=winchip2 ;
+-cpu-flags gcc OPTIONS : x86 : c3 : -march=c3 ;
+-cpu-flags gcc OPTIONS : x86 : c3-2 : -march=c3-2 ;
+-cpu-flags gcc OPTIONS : x86 : c7 : -march=c7 ;
+ ##
+-cpu-flags gcc OPTIONS : x86 : atom : -march=atom ;
+ # Sparc
+-cpu-flags gcc OPTIONS : sparc : v7 : -mcpu=v7 : default ;
+-cpu-flags gcc OPTIONS : sparc : cypress : -mcpu=cypress ;
+-cpu-flags gcc OPTIONS : sparc : v8 : -mcpu=v8 ;
+-cpu-flags gcc OPTIONS : sparc : supersparc : -mcpu=supersparc ;
+-cpu-flags gcc OPTIONS : sparc : sparclite : -mcpu=sparclite ;
+-cpu-flags gcc OPTIONS : sparc : hypersparc : -mcpu=hypersparc ;
+-cpu-flags gcc OPTIONS : sparc : sparclite86x : -mcpu=sparclite86x ;
+-cpu-flags gcc OPTIONS : sparc : f930 : -mcpu=f930 ;
+-cpu-flags gcc OPTIONS : sparc : f934 : -mcpu=f934 ;
+-cpu-flags gcc OPTIONS : sparc : sparclet : -mcpu=sparclet ;
+-cpu-flags gcc OPTIONS : sparc : tsc701 : -mcpu=tsc701 ;
+-cpu-flags gcc OPTIONS : sparc : v9 : -mcpu=v9 ;
+-cpu-flags gcc OPTIONS : sparc : ultrasparc : -mcpu=ultrasparc ;
+-cpu-flags gcc OPTIONS : sparc : ultrasparc3 : -mcpu=ultrasparc3 ;
+ # RS/6000 & PowerPC
+-cpu-flags gcc OPTIONS : power : 403 : -mcpu=403 ;
+-cpu-flags gcc OPTIONS : power : 505 : -mcpu=505 ;
+-cpu-flags gcc OPTIONS : power : 601 : -mcpu=601 ;
+-cpu-flags gcc OPTIONS : power : 602 : -mcpu=602 ;
+-cpu-flags gcc OPTIONS : power : 603 : -mcpu=603 ;
+-cpu-flags gcc OPTIONS : power : 603e : -mcpu=603e ;
+-cpu-flags gcc OPTIONS : power : 604 : -mcpu=604 ;
+-cpu-flags gcc OPTIONS : power : 604e : -mcpu=604e ;
+-cpu-flags gcc OPTIONS : power : 620 : -mcpu=620 ;
+-cpu-flags gcc OPTIONS : power : 630 : -mcpu=630 ;
+-cpu-flags gcc OPTIONS : power : 740 : -mcpu=740 ;
+-cpu-flags gcc OPTIONS : power : 7400 : -mcpu=7400 ;
+-cpu-flags gcc OPTIONS : power : 7450 : -mcpu=7450 ;
+-cpu-flags gcc OPTIONS : power : 750 : -mcpu=750 ;
+-cpu-flags gcc OPTIONS : power : 801 : -mcpu=801 ;
+-cpu-flags gcc OPTIONS : power : 821 : -mcpu=821 ;
+-cpu-flags gcc OPTIONS : power : 823 : -mcpu=823 ;
+-cpu-flags gcc OPTIONS : power : 860 : -mcpu=860 ;
+-cpu-flags gcc OPTIONS : power : 970 : -mcpu=970 ;
+-cpu-flags gcc OPTIONS : power : 8540 : -mcpu=8540 ;
+-cpu-flags gcc OPTIONS : power : power : -mcpu=power ;
+-cpu-flags gcc OPTIONS : power : power2 : -mcpu=power2 ;
+-cpu-flags gcc OPTIONS : power : power3 : -mcpu=power3 ;
+-cpu-flags gcc OPTIONS : power : power4 : -mcpu=power4 ;
+-cpu-flags gcc OPTIONS : power : power5 : -mcpu=power5 ;
+-cpu-flags gcc OPTIONS : power : powerpc : -mcpu=powerpc ;
+-cpu-flags gcc OPTIONS : power : powerpc64 : -mcpu=powerpc64 ;
+-cpu-flags gcc OPTIONS : power : rios : -mcpu=rios ;
+-cpu-flags gcc OPTIONS : power : rios1 : -mcpu=rios1 ;
+-cpu-flags gcc OPTIONS : power : rios2 : -mcpu=rios2 ;
+-cpu-flags gcc OPTIONS : power : rsc : -mcpu=rsc ;
+-cpu-flags gcc OPTIONS : power : rs64a : -mcpu=rs64 ;
+-cpu-flags gcc OPTIONS : s390x : z196 : -march=z196 ;
+-cpu-flags gcc OPTIONS : s390x : zEC12 : -march=zEC12 ;
+-cpu-flags gcc OPTIONS : s390x : z13 : -march=z13 ;
+-cpu-flags gcc OPTIONS : s390x : z14 : -march=z14 ;
+-cpu-flags gcc OPTIONS : s390x : z15 : -march=z15 ;
+ # ARM
+-cpu-flags gcc OPTIONS : arm : cortex-a9+vfpv3 : -mcpu=cortex-a9 -mfpu=vfpv3 -mfloat-abi=hard ;
+-cpu-flags gcc OPTIONS : arm : cortex-a53 : -mcpu=cortex-a53 ;
+-cpu-flags gcc OPTIONS : arm : cortex-r5 : -mcpu=cortex-r5 ;
+-cpu-flags gcc OPTIONS : arm : cortex-r5+vfpv3-d16 : -mcpu=cortex-r5 -mfpu=vfpv3-d16 -mfloat-abi=hard ;
+ # AIX variant of RS/6000 & PowerPC
+ toolset.flags gcc AROPTIONS <address-model>64/<target-os>aix : "-X64" ;
+
diff --git a/dev-build/b2/files/b2-4.9.2-odr.patch b/dev-build/b2/files/b2-4.9.2-odr.patch
new file mode 100644
index 000000000000..62cbca189640
--- /dev/null
+++ b/dev-build/b2/files/b2-4.9.2-odr.patch
@@ -0,0 +1,54 @@
+Avoid ODR violations by giving "_stack" internal linkage
+https://bugs.gentoo.org/858320
+
+--- a/engine/function.cpp
++++ b/engine/function.cpp
+@@ -213,11 +213,11 @@
+ } JAM_FUNCTION;
+
+
++namespace
++{
+ typedef struct _stack STACK;
+ typedef STACK* stack_ptr;
+
+-namespace
+-{
+ template <typename T>
+ using remove_cref_t
+ = typename std::remove_const<
+@@ -260,7 +260,6 @@
+ typename select_last_impl<(sizeof...(A) == 1), type_list<A...> >
+ ::template type<A...>;
+ #endif
+-}
+
+ struct _stack
+ {
+@@ -439,6 +438,8 @@
+ cleanups_size += n;
+ }
+
++}
++
+ static STACK * stack_global()
+ {
+ static _stack singleton;
+--- a/engine/make1.cpp
++++ b/engine/make1.cpp
+@@ -86,6 +86,7 @@
+ #define T_STATE_MAKE1B 1 /* make1b() should be called */
+ #define T_STATE_MAKE1C 2 /* make1c() should be called */
+
++namespace {
+ typedef struct _state state;
+ struct _state
+ {
+@@ -94,6 +95,7 @@
+ TARGET * parent; /* parent argument necessary for MAKE1A */
+ int32_t curstate; /* current state */
+ };
++}
+
+ static void make1a( state * const );
+ static void make1b( state * const );
diff --git a/dev-build/b2/files/site-config.jam b/dev-build/b2/files/site-config.jam
new file mode 100644
index 000000000000..cae7b3f98327
--- /dev/null
+++ b/dev-build/b2/files/site-config.jam
@@ -0,0 +1,11 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the Boost Software License, Version 1.0.
+# (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)
+
+# Define two new variants to be used when building boost (or separate boost-libs)
+# on Gentoo. The two variants make use of Gentoo-specific optimization and debug-symbols
+# values "none" which are not part of the official boost distribution.
+# DO NOT RELY ON THE FOLLOWING VARIANTS TO BE PRESENT ON OTHER OS!
+variant gentoorelease : release : <optimization>none <debug-symbols>none <runtime-link>shared ;
+variant gentoodebug : debug : <optimization>none <debug-symbols>on <runtime-link>shared ;
+
diff --git a/dev-build/b2/metadata.xml b/dev-build/b2/metadata.xml
new file mode 100644
index 000000000000..97a8de7cc239
--- /dev/null
+++ b/dev-build/b2/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>soap@gentoo.org</email>
+ <name>David Seifert</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">bfgroup/b2</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-build/bazel/Manifest b/dev-build/bazel/Manifest
new file mode 100644
index 000000000000..56fb335aa590
--- /dev/null
+++ b/dev-build/bazel/Manifest
@@ -0,0 +1,16 @@
+AUX bazel-3.2.0-include-limits-for-gcc-11.patch 788 BLAKE2B 7eadc6f43c1a527584f2b4d8d59387ffa1526fb7282919d38dd8a05eaa35766addd900c105444ea6925db868ee8ef8ff8297095926cb78597d23131f350539ae SHA512 d8997f67f79aaf276f0b9b2e60928f39b34722323947c597b6bcc3a7a7211be9e7a1e65917d7e7f92bc88f9ef79a7803c352ebe823ee5f933918f6f00716218a
+AUX bazel-3.7.2-musl-temp-failure-retry.patch 1238 BLAKE2B d6890d77ddd256fd1fa681ecf0aad1c5ac4e4e2f4ff46276b54a3464a6394136fe239aa32a5ce11b97fc78b90fb6615746b418eb320d33a3640b4932c929431a SHA512 81e5cd55dcf3d158af88e2edf286862b75c1585abe6d37ff67a99716b6c57a338d22c2a96f8938a10a374348edc532e01670e164fb376b3df70471afa11c898b
+AUX bazel-4.2.2-absl_numeric_limits.patch 2413 BLAKE2B 3e31f886b3f561faa79255aa65b163fae0ffae94db0374e033e3690119de7b87e183a8f6fc1c88d880a319bb1ea6c5d86640b864711cfb2f4d5b30095b303217 SHA512 3b32947b1e0af9ec367bafea439a4e21a57dd7c782fb6cc32f4c2a15bda05be2a676625b80cfa28c7a98e6be3bd7310ee632d5eef966615d11aaa14afea981bc
+DIST bazel-3.7.2-dist.zip 313677756 BLAKE2B cd6363762c68d25739a6bf6c13f10e191302a10b6fb7d97455effbc678d4f0b644c76115cad478aad7c09f703d9e594f4bdb8669ed6ab97d6a559a27723c510c SHA512 e8746ef5ec22feb95e9dbbddb3fb56cf8f49c80f326fc2a4e0ce2619607826fac22f46bfb995daee55bf9ffabb9d646b8454be2bce7b479da5cf2a7e5b3be62b
+DIST bazel-4.2.2-dist.zip 279304631 BLAKE2B 2a32838e50b63c4b6400aced10085c6c9aacf28641ea555a44b9c4ed8991fc29658b4d420b26179e8eed0e00cfe7391e8eec84c7851f17493c74d1c5682427af SHA512 123f73dc87053e37705bb729f82bd722d6d2799fe106f79c51cf5566fb2771d824108cbe275aad55ae590b970c549008b433704cbf1245394769e950796eb8db
+DIST bazel-5.0.0-dist.zip 235894565 BLAKE2B 3798eb9111772809f0345e0c74bef38d8f9d44a7f20844f20aad187a2e177f4999ffa0e1cc1719e4284cdc7c72295bb903d32ce56821c72ee2908f4d939d0769 SHA512 2a9a972d1cce6b50f959fec3d37506914208169c8aa36e5ec5f9a27942e9beff1080a544a18e9bd5eb13dc434c1864cda0594e6da5b78c2f41085abf808c22d7
+DIST bazel-5.1.1-dist.zip 236073335 BLAKE2B dacc98db99a4877bcda743058f8d34c276d893bec14a595155587f9d0a2716caf106e1d08917f8103b9c15c45433285cce2063f15a2653d3d1a4a6b67242876f SHA512 84e2f72df1838fc88a39853afc510bca835fea28590e9aac2138b5416d2f8d9aefd082c81012a2066194fdc440b00b44f9f188b5c896461acebfeb9cd40efc7c
+DIST bazel-5.3.0-dist.zip 235314819 BLAKE2B 771a940e083d569b0297d37877e6d52c16f698bc5141e2c9c895d5d6cdd9e93203fbc941eca7daa4b40026551c25a5bf45d0862b8b13993bc40434aa6bb99dd3 SHA512 6c98e904596764a309e98ea2453c751dc0bf27c683462c5654b72076f8537bccf6c5103ccea60fa3a3dffeaa76b07db80a594feb96ed566282d10bb04f0e1455
+DIST bazel-6.2.0-dist.zip 196992916 BLAKE2B 9516deae60f4193e68687909e3dff0539030d55ee220973890c41c82bb390f04327411fc2a4f0f6782279ae3c2d127498283a86ecc86c2fcdf424b3bd10bad93 SHA512 c2ff9cafd07553bf7e6f4ed2b561bd217f5ec6dda173269cc5a1885f5ec2fea09855cc09f63b62e653135b9babbedbf280e928bf0f3a1404b7066ba5bbecf18f
+EBUILD bazel-3.7.2-r1.ebuild 2778 BLAKE2B c6e5ee1f14b5aa938b413f8415e922b20d2ae0f990afc549dd66940ae6595afa64521aa54728ee2de71c01c4e9c3ed118f3d4285e8402503309c57a2491d95c0 SHA512 dc8767763f1e84fa98ec7dd163a15c47e72f16e0de2c3e70310ce9bc55f37225eebda4ad46cf7c3a00c3f5a675617d91adbfc5f46584f63a63486c7098717419
+EBUILD bazel-4.2.2.ebuild 2368 BLAKE2B bc21547439f0e6868780564ab191a2586a44f0dee5690a628c949f63243565c137e5c02e1aa32eb5b57b93eab2fa7361cba162f95c0c1914c723e930b161e305 SHA512 1673e568731f5e31a33ea1eb10e29cf48ee99ca16ab26de3d9cf16bb6b0e9ba2bc7b62d0d732585ad53dea2eb6471f03672c90195af045b6f31a74b71dfbe3b1
+EBUILD bazel-5.0.0.ebuild 2387 BLAKE2B fa942d93606e7428073b291d12daff0514164303e52fd4d4f6629fdd0533b78205594d9deaeac06b37bae72dcd03cb9145b4e83801435bc6c2ec15ece4878c80 SHA512 4ebb0932361c38f594f5e9a3154e6d999fce3202fe07be987ac277ce94be4731d1fad5c3d96f079c9dcd2f8f49ece76b51563d1eebdfed667ec948ff44e823a3
+EBUILD bazel-5.1.1.ebuild 2388 BLAKE2B 7d67c560e467bfce8b2f5f7fc69c15d023052f497593fe76fef131ad930f521628f63bd8f3902447722fea365a4075d999535d45243901beed52299db284cc7e SHA512 40d0b3ca9943acffedde34132b6f85cce84862bca2a6e059e218df81d090eef17a7cb00eeb6efd074204cfe5e4a2ddbb511360db77016e5fad0b1a646a1d0b08
+EBUILD bazel-5.3.0.ebuild 2388 BLAKE2B 7d67c560e467bfce8b2f5f7fc69c15d023052f497593fe76fef131ad930f521628f63bd8f3902447722fea365a4075d999535d45243901beed52299db284cc7e SHA512 40d0b3ca9943acffedde34132b6f85cce84862bca2a6e059e218df81d090eef17a7cb00eeb6efd074204cfe5e4a2ddbb511360db77016e5fad0b1a646a1d0b08
+EBUILD bazel-6.2.0.ebuild 2388 BLAKE2B 7d67c560e467bfce8b2f5f7fc69c15d023052f497593fe76fef131ad930f521628f63bd8f3902447722fea365a4075d999535d45243901beed52299db284cc7e SHA512 40d0b3ca9943acffedde34132b6f85cce84862bca2a6e059e218df81d090eef17a7cb00eeb6efd074204cfe5e4a2ddbb511360db77016e5fad0b1a646a1d0b08
+MISC metadata.xml 706 BLAKE2B 07f70164b2e809db66f4255b62635e1b93ff58269f323a0efbfd994dd425034e4896599463c900582f0863cebf8f5ee0dd56da01bafbd30c9e27e88ffb99ad46 SHA512 3a335159533ca5f0d7de3b1bde18a737ba2dca2de56121124cdb9cb05009db5fac07bef1d21d5b73bec834b7928e7ec291e2ff3cd964e395431b9deac29bfbe6
diff --git a/dev-build/bazel/bazel-3.7.2-r1.ebuild b/dev-build/bazel/bazel-3.7.2-r1.ebuild
new file mode 100644
index 000000000000..d3df6e005fa0
--- /dev/null
+++ b/dev-build/bazel/bazel-3.7.2-r1.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit bash-completion-r1 java-pkg-2 multiprocessing
+
+DESCRIPTION="Fast and correct automated build system"
+HOMEPAGE="https://bazel.build/"
+
+SRC_URI="https://github.com/bazelbuild/bazel/releases/download/${PV}/${P}-dist.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="examples tools"
+# strip corrupts the bazel binary
+# test fails with network-sandbox: An error occurred during the fetch of repository 'io_bazel_skydoc' (bug 690794)
+RESTRICT="strip test"
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND="
+ || (
+ virtual/jdk:1.8
+ virtual/jdk:11
+ )
+ app-arch/unzip
+ app-arch/zip"
+
+S="${WORKDIR}"
+
+bazel-get-flags() {
+ local i fs=()
+ for i in ${CFLAGS}; do
+ fs+=( "--copt=${i}" "--host_copt=${i}" )
+ done
+ for i in ${CXXFLAGS}; do
+ fs+=( "--cxxopt=${i}" "--host_cxxopt=${i}" )
+ done
+ for i in ${CPPFLAGS}; do
+ fs+=( "--copt=${i}" "--host_copt=${i}" )
+ fs+=( "--cxxopt=${i}" "--host_cxxopt=${i}" )
+ done
+ for i in ${LDFLAGS}; do
+ fs+=( "--linkopt=${i}" "--host_linkopt=${i}" )
+ done
+ echo "${fs[*]}"
+}
+
+pkg_setup() {
+ if has ccache ${FEATURES}; then
+ ewarn "${PN} usually fails to compile with ccache, you have been warned"
+ fi
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ # Only unpack the main distfile
+ unpack ${P}-dist.zip
+}
+
+src_prepare() {
+ default
+
+ # F: fopen_wr
+ # S: deny
+ # P: /proc/self/setgroups
+ # A: /proc/self/setgroups
+ # R: /proc/24939/setgroups
+ # C: /usr/lib/systemd/systemd
+ addpredict /proc
+
+ eapply "${FILESDIR}/${PN}-3.2.0-include-limits-for-gcc-11.patch"
+ eapply "${FILESDIR}/${PN}-3.7.2-musl-temp-failure-retry.patch"
+}
+
+src_compile() {
+ export EXTRA_BAZEL_ARGS="--jobs=$(makeopts_jobs) $(bazel-get-flags) --host_javabase=@local_jdk//:jdk"
+ VERBOSE=yes ./compile.sh || die
+
+ ./scripts/generate_bash_completion.sh \
+ --bazel=output/bazel \
+ --output=bazel-complete.bash \
+ --prepend=scripts/bazel-complete-header.bash \
+ --prepend=scripts/bazel-complete-template.bash
+}
+
+src_test() {
+ output/bazel test \
+ --verbose_failures \
+ --spawn_strategy=standalone \
+ --genrule_strategy=standalone \
+ --verbose_test_summary \
+ examples/cpp:hello-success_test || die
+ output/bazel shutdown
+}
+
+src_install() {
+ dobin output/bazel
+ newbashcomp bazel-complete.bash ${PN}
+ bashcomp_alias ${PN} ibazel
+ insinto /usr/share/zsh/site-functions
+ doins scripts/zsh_completion/_bazel
+
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ # could really build tools but I don't know which ones
+ # are actually used
+ if use tools; then
+ docinto tools
+ dodoc -r tools/*
+ docompress -x /usr/share/doc/${PF}/tools
+ docompress -x /usr/share/doc/${PF}/tools/build_defs/pkg/testdata
+ fi
+}
diff --git a/dev-build/bazel/bazel-4.2.2.ebuild b/dev-build/bazel/bazel-4.2.2.ebuild
new file mode 100644
index 000000000000..34671fe9f8d0
--- /dev/null
+++ b/dev-build/bazel/bazel-4.2.2.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 bazel java-pkg-2 multiprocessing
+
+DESCRIPTION="Fast and correct automated build system"
+HOMEPAGE="https://bazel.build/"
+
+SRC_URI="https://github.com/bazelbuild/bazel/releases/download/${PV}/${P}-dist.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="examples tools"
+# strip corrupts the bazel binary
+# test fails with network-sandbox: An error occurred during the fetch of repository 'io_bazel_skydoc' (bug 690794)
+RESTRICT="strip test"
+RDEPEND=">=virtual/jre-1.8:*"
+DEPEND="
+ || (
+ virtual/jdk:1.8
+ virtual/jdk:11
+ )
+ app-arch/unzip
+ app-arch/zip"
+
+S="${WORKDIR}"
+PATCHES=(
+ "${FILESDIR}/${PN}-3.2.0-include-limits-for-gcc-11.patch"
+ "${FILESDIR}/${PN}-4.2.2-absl_numeric_limits.patch"
+)
+
+pkg_setup() {
+ if has ccache ${FEATURES}; then
+ ewarn "${PN} usually fails to compile with ccache, you have been warned"
+ fi
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ # Only unpack the main distfile
+ unpack ${P}-dist.zip
+}
+
+src_prepare() {
+ default
+
+ # F: fopen_wr
+ # S: deny
+ # P: /proc/self/setgroups
+ # A: /proc/self/setgroups
+ # R: /proc/24939/setgroups
+ # C: /usr/lib/systemd/systemd
+ addpredict /proc
+}
+
+src_compile() {
+ export EXTRA_BAZEL_ARGS="--jobs=$(makeopts_jobs) $(bazel_get_flags) --host_javabase=@local_jdk//:jdk"
+ VERBOSE=yes ./compile.sh || die
+
+ ./scripts/generate_bash_completion.sh \
+ --bazel=output/bazel \
+ --output=bazel-complete.bash \
+ --prepend=scripts/bazel-complete-header.bash \
+ --prepend=scripts/bazel-complete-template.bash
+}
+
+src_test() {
+ output/bazel test \
+ --verbose_failures \
+ --spawn_strategy=standalone \
+ --genrule_strategy=standalone \
+ --verbose_test_summary \
+ examples/cpp:hello-success_test || die
+ output/bazel shutdown
+}
+
+src_install() {
+ dobin output/bazel
+ newbashcomp bazel-complete.bash ${PN}
+ bashcomp_alias ${PN} ibazel
+ insinto /usr/share/zsh/site-functions
+ doins scripts/zsh_completion/_bazel
+
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ # could really build tools but I don't know which ones
+ # are actually used
+ if use tools; then
+ docinto tools
+ dodoc -r tools/*
+ docompress -x /usr/share/doc/${PF}/tools
+ docompress -x /usr/share/doc/${PF}/tools/build_defs/pkg/testdata
+ fi
+}
diff --git a/dev-build/bazel/bazel-5.0.0.ebuild b/dev-build/bazel/bazel-5.0.0.ebuild
new file mode 100644
index 000000000000..6c42ab528c84
--- /dev/null
+++ b/dev-build/bazel/bazel-5.0.0.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 bazel java-pkg-2 multiprocessing
+
+DESCRIPTION="Fast and correct automated build system"
+HOMEPAGE="https://bazel.build/"
+
+SRC_URI="https://github.com/bazelbuild/bazel/releases/download/${PV}/${P}-dist.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="examples tools"
+# strip corrupts the bazel binary
+# test fails with network-sandbox: An error occurred during the fetch of repository 'io_bazel_skydoc' (bug 690794)
+RESTRICT="strip test"
+RDEPEND=">=virtual/jre-11:*"
+DEPEND="
+ virtual/jdk:11
+ app-arch/unzip
+ app-arch/zip"
+
+S="${WORKDIR}"
+
+pkg_setup() {
+ if has ccache ${FEATURES}; then
+ ewarn "${PN} usually fails to compile with ccache, you have been warned"
+ fi
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ # Only unpack the main distfile
+ unpack ${P}-dist.zip
+}
+
+src_prepare() {
+ default
+
+ # F: fopen_wr
+ # S: deny
+ # P: /proc/self/setgroups
+ # A: /proc/self/setgroups
+ # R: /proc/24939/setgroups
+ # C: /usr/lib/systemd/systemd
+ addpredict /proc
+}
+
+src_compile() {
+ export JAVA_HOME=$(java-config --jre-home) # so keepwork works
+ export EXTRA_BAZEL_ARGS="--jobs=$(makeopts_jobs) $(bazel_get_flags)
+ --java_runtime_version=local_jdk
+ --tool_java_runtime_version=local_jdk"
+ VERBOSE=yes ./compile.sh || die "Failed compiling bazel"
+
+ ./scripts/generate_bash_completion.sh \
+ --bazel=output/bazel \
+ --output=bazel-complete.bash \
+ --prepend=scripts/bazel-complete-header.bash \
+ --prepend=scripts/bazel-complete-template.bash || die "Failed to generate bash completions"
+}
+
+src_test() {
+ output/bazel test \
+ --verbose_failures \
+ --spawn_strategy=standalone \
+ --genrule_strategy=standalone \
+ --verbose_test_summary \
+ examples/cpp:hello-success_test || die
+ output/bazel shutdown
+}
+
+src_install() {
+ dobin output/bazel
+ newbashcomp bazel-complete.bash ${PN}
+ bashcomp_alias ${PN} ibazel
+ insinto /usr/share/zsh/site-functions
+ doins scripts/zsh_completion/_bazel
+
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ # could really build tools but I don't know which ones
+ # are actually used
+ if use tools; then
+ docinto tools
+ dodoc -r tools/*
+ docompress -x /usr/share/doc/${PF}/tools
+ docompress -x /usr/share/doc/${PF}/tools/build_defs/pkg/testdata
+ fi
+}
diff --git a/dev-build/bazel/bazel-5.1.1.ebuild b/dev-build/bazel/bazel-5.1.1.ebuild
new file mode 100644
index 000000000000..1afd007db9d4
--- /dev/null
+++ b/dev-build/bazel/bazel-5.1.1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 bazel java-pkg-2 multiprocessing
+
+DESCRIPTION="Fast and correct automated build system"
+HOMEPAGE="https://bazel.build/"
+
+SRC_URI="https://github.com/bazelbuild/bazel/releases/download/${PV}/${P}-dist.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples tools"
+# strip corrupts the bazel binary
+# test fails with network-sandbox: An error occurred during the fetch of repository 'io_bazel_skydoc' (bug 690794)
+RESTRICT="strip test"
+RDEPEND=">=virtual/jre-11:*"
+DEPEND="
+ virtual/jdk:11
+ app-arch/unzip
+ app-arch/zip"
+
+S="${WORKDIR}"
+
+pkg_setup() {
+ if has ccache ${FEATURES}; then
+ ewarn "${PN} usually fails to compile with ccache, you have been warned"
+ fi
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ # Only unpack the main distfile
+ unpack ${P}-dist.zip
+}
+
+src_prepare() {
+ default
+
+ # F: fopen_wr
+ # S: deny
+ # P: /proc/self/setgroups
+ # A: /proc/self/setgroups
+ # R: /proc/24939/setgroups
+ # C: /usr/lib/systemd/systemd
+ addpredict /proc
+}
+
+src_compile() {
+ export JAVA_HOME=$(java-config --jre-home) # so keepwork works
+ export EXTRA_BAZEL_ARGS="--jobs=$(makeopts_jobs) $(bazel_get_flags)
+ --java_runtime_version=local_jdk
+ --tool_java_runtime_version=local_jdk"
+ VERBOSE=yes ./compile.sh || die "Failed compiling bazel"
+
+ ./scripts/generate_bash_completion.sh \
+ --bazel=output/bazel \
+ --output=bazel-complete.bash \
+ --prepend=scripts/bazel-complete-header.bash \
+ --prepend=scripts/bazel-complete-template.bash || die "Failed to generate bash completions"
+}
+
+src_test() {
+ output/bazel test \
+ --verbose_failures \
+ --spawn_strategy=standalone \
+ --genrule_strategy=standalone \
+ --verbose_test_summary \
+ examples/cpp:hello-success_test || die
+ output/bazel shutdown
+}
+
+src_install() {
+ dobin output/bazel
+ newbashcomp bazel-complete.bash ${PN}
+ bashcomp_alias ${PN} ibazel
+ insinto /usr/share/zsh/site-functions
+ doins scripts/zsh_completion/_bazel
+
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ # could really build tools but I don't know which ones
+ # are actually used
+ if use tools; then
+ docinto tools
+ dodoc -r tools/*
+ docompress -x /usr/share/doc/${PF}/tools
+ docompress -x /usr/share/doc/${PF}/tools/build_defs/pkg/testdata
+ fi
+}
diff --git a/dev-build/bazel/bazel-5.3.0.ebuild b/dev-build/bazel/bazel-5.3.0.ebuild
new file mode 100644
index 000000000000..1afd007db9d4
--- /dev/null
+++ b/dev-build/bazel/bazel-5.3.0.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 bazel java-pkg-2 multiprocessing
+
+DESCRIPTION="Fast and correct automated build system"
+HOMEPAGE="https://bazel.build/"
+
+SRC_URI="https://github.com/bazelbuild/bazel/releases/download/${PV}/${P}-dist.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples tools"
+# strip corrupts the bazel binary
+# test fails with network-sandbox: An error occurred during the fetch of repository 'io_bazel_skydoc' (bug 690794)
+RESTRICT="strip test"
+RDEPEND=">=virtual/jre-11:*"
+DEPEND="
+ virtual/jdk:11
+ app-arch/unzip
+ app-arch/zip"
+
+S="${WORKDIR}"
+
+pkg_setup() {
+ if has ccache ${FEATURES}; then
+ ewarn "${PN} usually fails to compile with ccache, you have been warned"
+ fi
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ # Only unpack the main distfile
+ unpack ${P}-dist.zip
+}
+
+src_prepare() {
+ default
+
+ # F: fopen_wr
+ # S: deny
+ # P: /proc/self/setgroups
+ # A: /proc/self/setgroups
+ # R: /proc/24939/setgroups
+ # C: /usr/lib/systemd/systemd
+ addpredict /proc
+}
+
+src_compile() {
+ export JAVA_HOME=$(java-config --jre-home) # so keepwork works
+ export EXTRA_BAZEL_ARGS="--jobs=$(makeopts_jobs) $(bazel_get_flags)
+ --java_runtime_version=local_jdk
+ --tool_java_runtime_version=local_jdk"
+ VERBOSE=yes ./compile.sh || die "Failed compiling bazel"
+
+ ./scripts/generate_bash_completion.sh \
+ --bazel=output/bazel \
+ --output=bazel-complete.bash \
+ --prepend=scripts/bazel-complete-header.bash \
+ --prepend=scripts/bazel-complete-template.bash || die "Failed to generate bash completions"
+}
+
+src_test() {
+ output/bazel test \
+ --verbose_failures \
+ --spawn_strategy=standalone \
+ --genrule_strategy=standalone \
+ --verbose_test_summary \
+ examples/cpp:hello-success_test || die
+ output/bazel shutdown
+}
+
+src_install() {
+ dobin output/bazel
+ newbashcomp bazel-complete.bash ${PN}
+ bashcomp_alias ${PN} ibazel
+ insinto /usr/share/zsh/site-functions
+ doins scripts/zsh_completion/_bazel
+
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ # could really build tools but I don't know which ones
+ # are actually used
+ if use tools; then
+ docinto tools
+ dodoc -r tools/*
+ docompress -x /usr/share/doc/${PF}/tools
+ docompress -x /usr/share/doc/${PF}/tools/build_defs/pkg/testdata
+ fi
+}
diff --git a/dev-build/bazel/bazel-6.2.0.ebuild b/dev-build/bazel/bazel-6.2.0.ebuild
new file mode 100644
index 000000000000..1afd007db9d4
--- /dev/null
+++ b/dev-build/bazel/bazel-6.2.0.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 bazel java-pkg-2 multiprocessing
+
+DESCRIPTION="Fast and correct automated build system"
+HOMEPAGE="https://bazel.build/"
+
+SRC_URI="https://github.com/bazelbuild/bazel/releases/download/${PV}/${P}-dist.zip"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples tools"
+# strip corrupts the bazel binary
+# test fails with network-sandbox: An error occurred during the fetch of repository 'io_bazel_skydoc' (bug 690794)
+RESTRICT="strip test"
+RDEPEND=">=virtual/jre-11:*"
+DEPEND="
+ virtual/jdk:11
+ app-arch/unzip
+ app-arch/zip"
+
+S="${WORKDIR}"
+
+pkg_setup() {
+ if has ccache ${FEATURES}; then
+ ewarn "${PN} usually fails to compile with ccache, you have been warned"
+ fi
+ java-pkg-2_pkg_setup
+}
+
+src_unpack() {
+ # Only unpack the main distfile
+ unpack ${P}-dist.zip
+}
+
+src_prepare() {
+ default
+
+ # F: fopen_wr
+ # S: deny
+ # P: /proc/self/setgroups
+ # A: /proc/self/setgroups
+ # R: /proc/24939/setgroups
+ # C: /usr/lib/systemd/systemd
+ addpredict /proc
+}
+
+src_compile() {
+ export JAVA_HOME=$(java-config --jre-home) # so keepwork works
+ export EXTRA_BAZEL_ARGS="--jobs=$(makeopts_jobs) $(bazel_get_flags)
+ --java_runtime_version=local_jdk
+ --tool_java_runtime_version=local_jdk"
+ VERBOSE=yes ./compile.sh || die "Failed compiling bazel"
+
+ ./scripts/generate_bash_completion.sh \
+ --bazel=output/bazel \
+ --output=bazel-complete.bash \
+ --prepend=scripts/bazel-complete-header.bash \
+ --prepend=scripts/bazel-complete-template.bash || die "Failed to generate bash completions"
+}
+
+src_test() {
+ output/bazel test \
+ --verbose_failures \
+ --spawn_strategy=standalone \
+ --genrule_strategy=standalone \
+ --verbose_test_summary \
+ examples/cpp:hello-success_test || die
+ output/bazel shutdown
+}
+
+src_install() {
+ dobin output/bazel
+ newbashcomp bazel-complete.bash ${PN}
+ bashcomp_alias ${PN} ibazel
+ insinto /usr/share/zsh/site-functions
+ doins scripts/zsh_completion/_bazel
+
+ if use examples; then
+ docinto examples
+ dodoc -r examples/*
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ # could really build tools but I don't know which ones
+ # are actually used
+ if use tools; then
+ docinto tools
+ dodoc -r tools/*
+ docompress -x /usr/share/doc/${PF}/tools
+ docompress -x /usr/share/doc/${PF}/tools/build_defs/pkg/testdata
+ fi
+}
diff --git a/dev-build/bazel/files/bazel-3.2.0-include-limits-for-gcc-11.patch b/dev-build/bazel/files/bazel-3.2.0-include-limits-for-gcc-11.patch
new file mode 100644
index 000000000000..c864eb4017e6
--- /dev/null
+++ b/dev-build/bazel/files/bazel-3.2.0-include-limits-for-gcc-11.patch
@@ -0,0 +1,25 @@
+diff --git a/third_party/ijar/mapped_file_unix.cc b/third_party/ijar/mapped_file_unix.cc
+index 6e3a908718..030e9ca59f 100644
+--- a/third_party/ijar/mapped_file_unix.cc
++++ b/third_party/ijar/mapped_file_unix.cc
+@@ -19,6 +19,7 @@
+ #include <sys/mman.h>
+
+ #include <algorithm>
++#include <limits>
+
+ #include "third_party/ijar/mapped_file.h"
+
+diff --git a/third_party/ijar/zlib_client.h b/third_party/ijar/zlib_client.h
+index ed6616362f..da0848852b 100644
+--- a/third_party/ijar/zlib_client.h
++++ b/third_party/ijar/zlib_client.h
+@@ -19,6 +19,8 @@
+
+ #include "third_party/ijar/common.h"
+
++#include <limits>
++
+ namespace devtools_ijar {
+ // Try to compress a file entry in memory using the deflate algorithm.
+ // It will compress buf (of size length) unless the compressed size is bigger
diff --git a/dev-build/bazel/files/bazel-3.7.2-musl-temp-failure-retry.patch b/dev-build/bazel/files/bazel-3.7.2-musl-temp-failure-retry.patch
new file mode 100644
index 000000000000..4c8648bb639f
--- /dev/null
+++ b/dev-build/bazel/files/bazel-3.7.2-musl-temp-failure-retry.patch
@@ -0,0 +1,34 @@
+https://bugs.gentoo.org/815907
+https://github.com/bazelbuild/bazel/commit/bcce6dd026e90336e80616a8c1004a79a2f8640c
+
+From: philwo <philwo@google.com>
+Date: Thu, 20 May 2021 08:13:09 -0700
+Subject: [PATCH] Add the TEMP_FAILURE_RETRY macro to linux-sandbox-pid1.cc.
+
+This allows us to build Bazel on Linux systems which use a C standard library that does not include this macro, like Alpine Linux (which uses musl).
+
+Fixes #12460.
+
+PiperOrigin-RevId: 374873483
+--- a/src/main/tools/linux-sandbox-pid1.cc
++++ b/src/main/tools/linux-sandbox-pid1.cc
+@@ -49,6 +49,19 @@
+ #include <linux/fs.h>
+ #endif
+
++#ifndef TEMP_FAILURE_RETRY
++// Some C standard libraries like musl do not define this macro, so we'll
++// include our own version for compatibility.
++#define TEMP_FAILURE_RETRY(exp) \
++ ({ \
++ decltype(exp) _rc; \
++ do { \
++ _rc = (exp); \
++ } while (_rc == -1 && errno == EINTR); \
++ _rc; \
++ })
++#endif // TEMP_FAILURE_RETRY
++
+ #include "src/main/tools/linux-sandbox-options.h"
+ #include "src/main/tools/linux-sandbox.h"
+ #include "src/main/tools/logging.h"
diff --git a/dev-build/bazel/files/bazel-4.2.2-absl_numeric_limits.patch b/dev-build/bazel/files/bazel-4.2.2-absl_numeric_limits.patch
new file mode 100644
index 000000000000..c120255bf383
--- /dev/null
+++ b/dev-build/bazel/files/bazel-4.2.2-absl_numeric_limits.patch
@@ -0,0 +1,41 @@
+ third_party/grpc/absl.patch | 11 +++++++++++
+ third_party/grpc/grpc_1.33.1.patch | 12 ++++++++++++
+ 2 files changed, 23 insertions(+)
+
+diff --git a/third_party/grpc/absl.patch b/third_party/grpc/absl.patch
+new file mode 100644
+index 0000000000..aeb6916c6f
+--- /dev/null
++++ b/third_party/grpc/absl.patch
+@@ -0,0 +1,11 @@
++diff -ur abseil-cpp-df3ea785d8c30a9503321a3d35ee7d35808f190d_orig/absl/synchronization/internal/graphcycles.cc abseil-cpp-df3ea785d8c30a9503321a3d35ee7d35808f190d/absl/synchronization/internal/graphcycles.cc
++--- abseil-cpp-df3ea785d8c30a9503321a3d35ee7d35808f190d_orig/absl/synchronization/internal/graphcycles.cc 2020-03-04 12:57:37.000000000 -0800
+++++ abseil-cpp-df3ea785d8c30a9503321a3d35ee7d35808f190d/absl/synchronization/internal/graphcycles.cc 2022-01-28 12:27:26.588456815 -0800
++@@ -35,6 +35,7 @@
++
++ #include "absl/synchronization/internal/graphcycles.h"
++
+++#include <limits>
++ #include <algorithm>
++ #include <array>
++ #include "absl/base/internal/hide_ptr.h"
+diff --git a/third_party/grpc/grpc_1.33.1.patch b/third_party/grpc/grpc_1.33.1.patch
+index dda6fc177e..f426d02b63 100644
+--- a/third_party/grpc/grpc_1.33.1.patch
++++ b/third_party/grpc/grpc_1.33.1.patch
+@@ -120,3 +120,15 @@ index c047f0c515..7c24fbc617 100644
+ ":windows": "@com_github_grpc_grpc//third_party/cares:config_windows/ares_config.h",
+ ":android": "@com_github_grpc_grpc//third_party/cares:config_android/ares_config.h",
+ "//conditions:default": "@com_github_grpc_grpc//third_party/cares:config_linux/ares_config.h",
++diff -ur grpc-1.33.1/bazel/grpc_deps.bzl grpc-1.33.1/bazel/grpc_deps.bzl
++--- grpc-1.33.1/bazel/grpc_deps.bzl 2022-02-05 16:50:14.780031906 -0800
+++++ grpc-1.33.1/bazel/grpc_deps.bzl 2022-02-05 16:51:56.670953159 -0800
++@@ -241,6 +241,8 @@
++ name = "com_google_absl",
++ sha256 = "f368a8476f4e2e0eccf8a7318b98dafbe30b2600f4e3cf52636e5eb145aba06a",
++ strip_prefix = "abseil-cpp-df3ea785d8c30a9503321a3d35ee7d35808f190d",
+++ patch_args = ["-p1"],
+++ patches = ["@io_bazel//third_party/grpc:absl.patch"],
++ urls = [
++ "https://storage.googleapis.com/grpc-bazel-mirror/github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz",
++ "https://github.com/abseil/abseil-cpp/archive/df3ea785d8c30a9503321a3d35ee7d35808f190d.tar.gz",
diff --git a/dev-build/bazel/metadata.xml b/dev-build/bazel/metadata.xml
new file mode 100644
index 000000000000..e36c237bc2ce
--- /dev/null
+++ b/dev-build/bazel/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>perfinion@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">bazelbuild/bazel</remote-id>
+ </upstream>
+ <longdescription>
+ Bazel is Google's own build tool. Bazel has built-in support for
+ building both client and server software, including client
+ applications for both Android and iOS platforms. It also provides
+ an extensible framework that you can use to develop your own build
+ rules.
+ </longdescription>
+ <use>
+ <flag name="tools">Install extra bazel tools to build from sources</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-build/boost-m4/Manifest b/dev-build/boost-m4/Manifest
new file mode 100644
index 000000000000..b61fffa568f8
--- /dev/null
+++ b/dev-build/boost-m4/Manifest
@@ -0,0 +1,3 @@
+DIST boost-m4-0.4_p20221019.tar.gz 43301 BLAKE2B 8363b4e5406232050017c5272f5954509d784604485e9c5d485fbb360cebfa366bc0732886c13b54935deb6b1a85632c42282e3a51e92082ac3f40a78e43bbbb SHA512 43bf52054ad820d3da12dca38af7e71c80053a09c9dd06a9a5af87e87bafd69e36b891c179353e5c5e63970c38456264176769df6de8719fd6526116e9971dc6
+EBUILD boost-m4-0.4_p20221019.ebuild 958 BLAKE2B 91b3357c0b387ca2d88a2aec59e24eaebc71cc63f299baa7407623dc6f36082a5d07f11684ff5861fb1ee69827feb62265d9ce401353c478ea67db5a9a7beafb SHA512 54eee71caeab0cbfe795df4937aff802da3a199cfe0512e7bf4f672432e21dcdb891ea220a2d8d2de2900f838f5ebe26ccb8a5b95f30700ddffe73f5be8a74ce
+MISC metadata.xml 275 BLAKE2B 2e55e61ce36e08d2d2b3a6420fd63b7c402d7ea4b08343592a5c67aa5833dd9d8f36b3da105b8cc0e8ca9ba20576530defcaab9adfe7da2cdcf644ae4f754007 SHA512 dee02fc3b041169562d61eddebb43e0a26725b52a99bdf8cb9259dc5c749f702cd1a93149db78ae75ff98d702db1b613bec264975f26166d4c379bc226b06b40
diff --git a/dev-build/boost-m4/boost-m4-0.4_p20221019.ebuild b/dev-build/boost-m4/boost-m4-0.4_p20221019.ebuild
new file mode 100644
index 000000000000..21ce36ac5266
--- /dev/null
+++ b/dev-build/boost-m4/boost-m4-0.4_p20221019.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+BOOST_COMMIT="0c955e2c32804d6140676052a9e684ca84bf086d"
+
+DESCRIPTION="Another set of autoconf macros for compiling against boost"
+HOMEPAGE="https://github.com/tsuna/boost.m4"
+SRC_URI="https://github.com/tsuna/boost.m4/archive/${BOOST_COMMIT}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN/-/.}-${BOOST_COMMIT}
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+# boost.m4 has a buildsystem, but the distributer didn't use make dist
+# so we'd have to eautoreconf to use it. Also, its ./configure script
+# DEPENDs on boost. For installing one file, bootstrapping the
+# buildsystem isn't worth it.
+src_configure() { :; }
+
+src_compile() { :; }
+
+src_install() {
+ insinto /usr/share/aclocal
+ doins build-aux/boost.m4
+
+ dodoc AUTHORS NEWS README THANKS
+}
diff --git a/dev-build/boost-m4/metadata.xml b/dev-build/boost-m4/metadata.xml
new file mode 100644
index 000000000000..573b19f74105
--- /dev/null
+++ b/dev-build/boost-m4/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!--maintainer-needed-->
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">tsuna/boost.m4</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-build/cons/Manifest b/dev-build/cons/Manifest
new file mode 100644
index 000000000000..8ec4a52342c1
--- /dev/null
+++ b/dev-build/cons/Manifest
@@ -0,0 +1,3 @@
+DIST cons-2.3.0.tgz 235895 BLAKE2B 766b00824ede528c5d356eda40d3b2929b472720340c0f85add95ba13a5b172afaaa50c779e664cca1b5e74f9ed1d26cce8405f7994d9464a0693e5828963863 SHA512 a42b7537fa8c8cc179ff9e608e6cecfaec1ee0b2e1efb9b9b5992ced15867ca05155e87221e5fde6d912b94eac0d1a411c7feb528e882ed65ce9fb2a2d46be12
+EBUILD cons-2.3.0-r1.ebuild 650 BLAKE2B 2bca726e1419197bcb35da4bc75bcdbab63849f413515993e20b0e2b3649d9e8f18ae98404aba75d14681c6acacd94546f98ce4b892615844297e17c034dc699 SHA512 8d517bba22dadd3e73f83748b261d794c9c24ee763af0be510a1490c37bdf1c6cbc22e16b42bddff79062912010ed3e90e4bf302b47c4339618eb542639d89a5
+MISC metadata.xml 258 BLAKE2B b3ebb9691cf2c860b26172c2fc7ead843959a83806b7c06f4eec2ea349a6d2f39afe2f4b08c09bc7f65d18bece520b8b6306c8c7c2075d653f04b09af43db8fd SHA512 02ab38ca1547c68e87cbcad1dd4bb121e90d1fcca941cbfd29583ea803ed50617aa6a29df11915af5e95d63fc817df2250c7b8189157d705ef86e477d6a1685e
diff --git a/dev-build/cons/cons-2.3.0-r1.ebuild b/dev-build/cons/cons-2.3.0-r1.ebuild
new file mode 100644
index 000000000000..cbaeccacc605
--- /dev/null
+++ b/dev-build/cons/cons-2.3.0-r1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Extensible perl-based build utility"
+HOMEPAGE="https://www.gnu.org/software/cons/"
+SRC_URI="https://www.gnu.org/software/${PN}/stable/${P}.tgz
+ https://www.gnu.org/software/${PN}/dev/${P}.tgz"
+
+LICENSE="GPL-2"
+SLOT="2.2"
+KEYWORDS="~alpha ~amd64 ~ppc ~sparc x86"
+
+RDEPEND="dev-lang/perl
+ virtual/perl-Digest-MD5
+ !sci-biology/emboss"
+BDEPEND="${RDEPEND}
+ app-arch/gzip"
+
+DOCS=( CHANGES INSTALL MANIFEST README RELEASE TODO )
+
+src_install() {
+ dobin cons
+
+ docinto html
+ dodoc *.html
+
+ gunzip cons.1.gz || die
+ doman cons.1
+}
diff --git a/dev-build/cons/metadata.xml b/dev-build/cons/metadata.xml
new file mode 100644
index 000000000000..b0d83aa2e489
--- /dev/null
+++ b/dev-build/cons/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ <name>Gentoo Base System</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-build/gn/Manifest b/dev-build/gn/Manifest
new file mode 100644
index 000000000000..5a08a975ad2d
--- /dev/null
+++ b/dev-build/gn/Manifest
@@ -0,0 +1,13 @@
+AUX gn-gen-r5.patch 1563 BLAKE2B ff909ef01743ca36d866257ad3bc2a1ca7a4e894b6a0c7672d08d0e1cd412b1056477f77ab64c75fa67a5c21794cecdd87f6bb75ebd963fff0ee3599523c73f6 SHA512 bb18dc2900084ca15ee12addec56d32cce520cb0d229bddbb69e8da7cca144887a6eb7267ea449613505dca4cdeba8ef0e4e69595fc202289d2f3c5fed2e4971
+DIST gn-0.2049.tar.xz 727960 BLAKE2B fe93d09c1fa5b6267a4d26f37ec42e629b36645ef58bf6ebcc07dd8cd2ee9509c1e997182251a3e2c3ef3c5b7d636c9a8228c1e49d1d7245b3ebdac36e7c5a1a SHA512 f3e6dc87d647702c5d22793e2eed3e9950f8c9a6d7178eae67bb7d6518b6533c74fa3f43245fb9e422994a27f1a0f1986709f91e7ce2ed78eb5f17838f75e1db
+DIST gn-0.2077.tar.xz 735596 BLAKE2B 48da6c1b08746d364974c94a8395708ba44f4fb88a4bd6142d8ce3935608538b3e3d316c1b3934b124bb2af8549e0bc355b4f0990ab0b794adca025a4c3db7c5 SHA512 361fa1d71f4c4ed12fec8136fb79ee8d30cd8c9b93f2d9972222e028a8b74326045f000431863c6d7ab598b1d7b06c00c95793830da48f52e623a1246bcc8bc4
+DIST gn-0.2088.tar.xz 736408 BLAKE2B 23cb932c6fa1711472e0369b5c9271dd28b1d1a8eee40366295ea576fb0d913f3e01dd802df718d6d55ad27b566b0fae5da0cb03167e38df46bbda284b26f99c SHA512 be1d0a0095a7de9fc130935d45c610ab77dd9451822b33c344ac79d096828752bab04b81183eaa35b654abbb76748ce13751c04d44968d08643b6cd89f3fe8f7
+DIST gn-0.2114.tar.xz 740080 BLAKE2B 51c6d373ed7a33673e76fe8bb40f727193c6e1172fba328916fd2229d1e350cea5c51da734edf6dbf4c0b7bed61a590424484d4150e7cd4c890abba7f43251c7 SHA512 f5370e45bc2a079b79e4bcfc802fbc6cf67f7674a11311f849699f54775593e75def15323843ef887231891cb06b043863c79c5168e565319a4b73fcffa13738
+DIST gn-0.2122.tar.xz 740444 BLAKE2B df57fb611f26964ed3ac47365080cd043ba4206233450bb39699e78e35b8acff918e94efe4e7cea957199dd2f441dfcf31566e7d64ad10aace9d2c1d538ed6ac SHA512 80c330eac876fc0d6f46038b96eefd19bc1b6e5e89515489c1d02f82675213174fba394398ffc1bdd1405ddcd11b60c2870f3076296390976da74012867faf39
+EBUILD gn-0.2049.ebuild 1319 BLAKE2B bbc4d15c302380b3f90782a0201a82e7a04976c966d7c50f5880605a4b9c8cd6eefbd2595a4109b24cc9fe767af83ff6c48c4bb3f6b568efbd186fafc50b3f54 SHA512 0b30e7cb2bfb42229652616730cd2e3332c92b3ee9574f9bc7563a9cd5fda77f3010ad5fbdae10f9073648026440737856a3187be148ed7c5066dc2f72ec3c66
+EBUILD gn-0.2077.ebuild 1326 BLAKE2B 3329237140a2fd46330feec215e1c15554351417faa0a06006800bbdd1deeb71d4ac9d354e8ec88cdeb70351d2fd9ce620173dc87deccef9ff3ce2b31cb8c377 SHA512 1717437b830b08e39331073a2dbeb35e25e61d690a8d4d4c5a3ac3d4dcd27e2b349cf8af55af19e22462f53e53411c8947140f524c6eaa83aba655dc4c660c89
+EBUILD gn-0.2088.ebuild 1280 BLAKE2B b3b195efc99ac13db11705f2aa7137770a55b7ed1d29bb8a344d213ce0d8f22f8127394964f0d4c942a85481ed8dd1f4a105cf2efe56c1dd4aa140b98d41e9c2 SHA512 613b18b8de1b1522baa707338bd53e054328ce2d562a563fadb3e79382be05632f60a01fcb10c36c400023726a04fe484f1c2a0feb634d565b49beee3dd175de
+EBUILD gn-0.2114.ebuild 1278 BLAKE2B 8557903b7ae304656fe59d5f7c264615213c36d08695253265d99e7d44ce062e95808926f14a8790258a4a9ecf38b64891747f0d2d884ff32b40c9e1e2d6733a SHA512 bb33ec64f0831b3dd2dbd26cc097bd62fd9b0e2151494f55371d0118fde3bca24d88a7525f78298fef615fe6ed3a4b95f0ef62cab4dab4932ddeb64f1fa3e9b5
+EBUILD gn-0.2122.ebuild 1419 BLAKE2B acbb34a2aba88c77377d84c3bc4a4c7a2415570569396fb5fad47c14346254a2d5f100e48dfe43c1f5f5adb19d20f4a813d77a0b058ef730657735c2dde33452 SHA512 753dc926d3f65e88b8ac39f59380fa001abd9de9056b05e53fd44ace51a18268190707afa04aca14b242ea87d1582b1cdba00d7c69efe419dc34d98df762e538
+EBUILD gn-9999.ebuild 1422 BLAKE2B 778517d00f662ac81bb027e97f0888fe3edf7f9d4bdb177354a9ae75c12c4553cd60688308721d90413e94707f026bdcddca4ea0cc8a5610e940945f1c5141cd SHA512 4659930ab82337cb2caec6e44645a509bb5007115819d85b33917084b6d817e9af30a142bd3aac6f91d034d1695d6da783a532e2bf37b00826d8834381eb6edc
+MISC metadata.xml 221 BLAKE2B ce7615d8eda5f58e7729bf86156010821052ae580769c3be3922f1270f1211bc5cf297afc5c68db67a46c1c01450c08751fc3cda0995d62bbe60da64d21802d6 SHA512 6ffee27f859f923795e8ded3a5544a82473f72568e96475374b937adbf0963f81d46fbcf4752a9d4eef3f071cadd3dedf141f43802b58c6a788243c7f05114cf
diff --git a/dev-build/gn/files/gn-gen-r5.patch b/dev-build/gn/files/gn-gen-r5.patch
new file mode 100644
index 000000000000..80966b3c7f5e
--- /dev/null
+++ b/dev-build/gn/files/gn-gen-r5.patch
@@ -0,0 +1,46 @@
+From ef45f2e73264e62ad3fb24d064453a17099da8d7 Mon Sep 17 00:00:00 2001
+From: Mike Gilbert <floppym@gentoo.org>
+Date: Sat, 14 Mar 2020 18:02:51 +0000
+Subject: [PATCH] Remove unwanted cflags/ldflags parameters
+
+---
+ build/gen.py | 9 ---------
+ 1 file changed, 9 deletions(-)
+
+diff --git a/build/gen.py b/build/gen.py
+index 265b1f5..06c6d8b 100755
+--- a/build/gen.py
++++ b/build/gen.py
+@@ -343,11 +343,6 @@ def WriteGNNinja(path, platform, host, options):
+ if options.debug:
+ cflags.extend(['-O0', '-g'])
+ else:
+- cflags.append('-DNDEBUG')
+- cflags.append('-O3')
+- if options.no_strip:
+- cflags.append('-g')
+- ldflags.append('-O3')
+ # Use -fdata-sections and -ffunction-sections to place each function
+ # or data item into its own section so --gc-sections can eliminate any
+ # unused functions and data items.
+@@ -383,7 +378,6 @@ def WriteGNNinja(path, platform, host, options):
+ '-D_FILE_OFFSET_BITS=64',
+ '-D__STDC_CONSTANT_MACROS', '-D__STDC_FORMAT_MACROS',
+ '-pthread',
+- '-pipe',
+ '-fno-exceptions',
+ '-fno-rtti',
+ '-fdiagnostics-color',
+@@ -411,9 +405,6 @@ def WriteGNNinja(path, platform, host, options):
+ '-Wno-cast-function-type', # Casting FARPROC to RegDeleteKeyExPtr
+ '-std=gnu++17',
+ ])
+- else:
+- # This is needed by libc++.
+- libs.append('-ldl')
+ elif platform.is_darwin():
+ min_mac_version_flag = '-mmacosx-version-min=10.9'
+ cflags.append(min_mac_version_flag)
+--
+2.32.0
+
diff --git a/dev-build/gn/gn-0.2049.ebuild b/dev-build/gn/gn-0.2049.ebuild
new file mode 100644
index 000000000000..b390df9895f5
--- /dev/null
+++ b/dev-build/gn/gn-0.2049.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2018-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_10 )
+
+inherit ninja-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="GN is a meta-build system that generates build files for Ninja"
+HOMEPAGE="https://gn.googlesource.com/"
+SRC_URI="https://dev.gentoo.org/~xen0n/distfiles/dev-build/gn/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86"
+IUSE="vim-syntax"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ app-alternatives/ninja
+"
+
+PATCHES=(
+ "${FILESDIR}"/gn-gen-r5.patch
+)
+
+pkg_setup() {
+ :
+}
+
+src_configure() {
+ python_setup
+ tc-export AR CC CXX
+ unset CFLAGS
+ set -- ${EPYTHON} build/gen.py --no-last-commit-position --no-strip --no-static-libstdc++ --allow-warnings
+ echo "$@" >&2
+ "$@" || die
+ cat >out/last_commit_position.h <<-EOF || die
+ #ifndef OUT_LAST_COMMIT_POSITION_H_
+ #define OUT_LAST_COMMIT_POSITION_H_
+ #define LAST_COMMIT_POSITION_NUM ${PV##0.}
+ #define LAST_COMMIT_POSITION "${PV}"
+ #endif // OUT_LAST_COMMIT_POSITION_H_
+ EOF
+}
+
+src_compile() {
+ eninja -C out gn
+}
+
+src_test() {
+ eninja -C out gn_unittests
+ out/gn_unittests || die
+}
+
+src_install() {
+ dobin out/gn
+ einstalldocs
+
+ if use vim-syntax; then
+ insinto /usr/share/vim/vimfiles
+ doins -r misc/vim/{autoload,ftdetect,ftplugin,syntax}
+ fi
+}
diff --git a/dev-build/gn/gn-0.2077.ebuild b/dev-build/gn/gn-0.2077.ebuild
new file mode 100644
index 000000000000..b1cc9b6daab6
--- /dev/null
+++ b/dev-build/gn/gn-0.2077.ebuild
@@ -0,0 +1,64 @@
+# Copyright 2018-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit ninja-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="GN is a meta-build system that generates build files for Ninja"
+HOMEPAGE="https://gn.googlesource.com/"
+SRC_URI="https://dev.gentoo.org/~sultan/distfiles/dev-build/gn/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86"
+IUSE="vim-syntax"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ app-alternatives/ninja
+"
+
+PATCHES=(
+ "${FILESDIR}"/gn-gen-r5.patch
+)
+
+pkg_setup() {
+ :
+}
+
+src_configure() {
+ python_setup
+ tc-export AR CC CXX
+ unset CFLAGS
+ set -- ${EPYTHON} build/gen.py --no-last-commit-position --no-strip --no-static-libstdc++ --allow-warnings
+ echo "$@" >&2
+ "$@" || die
+ cat >out/last_commit_position.h <<-EOF || die
+ #ifndef OUT_LAST_COMMIT_POSITION_H_
+ #define OUT_LAST_COMMIT_POSITION_H_
+ #define LAST_COMMIT_POSITION_NUM ${PV##0.}
+ #define LAST_COMMIT_POSITION "${PV}"
+ #endif // OUT_LAST_COMMIT_POSITION_H_
+ EOF
+}
+
+src_compile() {
+ eninja -C out gn
+}
+
+src_test() {
+ eninja -C out gn_unittests
+ out/gn_unittests || die
+}
+
+src_install() {
+ dobin out/gn
+ einstalldocs
+
+ if use vim-syntax; then
+ insinto /usr/share/vim/vimfiles
+ doins -r misc/vim/{autoload,ftdetect,ftplugin,syntax}
+ fi
+}
diff --git a/dev-build/gn/gn-0.2088.ebuild b/dev-build/gn/gn-0.2088.ebuild
new file mode 100644
index 000000000000..fe4a275e1a0e
--- /dev/null
+++ b/dev-build/gn/gn-0.2088.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2018-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit ninja-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="GN is a meta-build system that generates build files for Ninja"
+HOMEPAGE="https://gn.googlesource.com/"
+SRC_URI="https://dev.gentoo.org/~sultan/distfiles/dev-build/gn/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ app-alternatives/ninja
+"
+
+PATCHES=(
+ "${FILESDIR}"/gn-gen-r5.patch
+)
+
+pkg_setup() {
+ :
+}
+
+src_configure() {
+ python_setup
+ tc-export AR CC CXX
+ unset CFLAGS
+ set -- ${EPYTHON} build/gen.py --no-last-commit-position --no-strip --no-static-libstdc++ --allow-warnings
+ echo "$@" >&2
+ "$@" || die
+ cat >out/last_commit_position.h <<-EOF || die
+ #ifndef OUT_LAST_COMMIT_POSITION_H_
+ #define OUT_LAST_COMMIT_POSITION_H_
+ #define LAST_COMMIT_POSITION_NUM ${PV##0.}
+ #define LAST_COMMIT_POSITION "${PV}"
+ #endif // OUT_LAST_COMMIT_POSITION_H_
+ EOF
+}
+
+src_compile() {
+ eninja -C out gn
+}
+
+src_test() {
+ eninja -C out gn_unittests
+ out/gn_unittests || die
+}
+
+src_install() {
+ dobin out/gn
+ einstalldocs
+
+ insinto /usr/share/vim/vimfiles
+ doins -r misc/vim/{autoload,ftdetect,ftplugin,syntax}
+}
diff --git a/dev-build/gn/gn-0.2114.ebuild b/dev-build/gn/gn-0.2114.ebuild
new file mode 100644
index 000000000000..e6d655e17b06
--- /dev/null
+++ b/dev-build/gn/gn-0.2114.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2018-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit ninja-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="GN is a meta-build system that generates build files for Ninja"
+HOMEPAGE="https://gn.googlesource.com/"
+SRC_URI="https://dev.gentoo.org/~sultan/distfiles/dev-build/gn/${P}.tar.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ app-alternatives/ninja
+"
+
+PATCHES=(
+ "${FILESDIR}"/gn-gen-r5.patch
+)
+
+pkg_setup() {
+ :
+}
+
+src_configure() {
+ python_setup
+ tc-export AR CC CXX
+ unset CFLAGS
+ set -- ${EPYTHON} build/gen.py --no-last-commit-position --no-strip --no-static-libstdc++ --allow-warnings
+ echo "$@" >&2
+ "$@" || die
+ cat >out/last_commit_position.h <<-EOF || die
+ #ifndef OUT_LAST_COMMIT_POSITION_H_
+ #define OUT_LAST_COMMIT_POSITION_H_
+ #define LAST_COMMIT_POSITION_NUM ${PV##0.}
+ #define LAST_COMMIT_POSITION "${PV}"
+ #endif // OUT_LAST_COMMIT_POSITION_H_
+ EOF
+}
+
+src_compile() {
+ eninja -C out gn
+}
+
+src_test() {
+ eninja -C out gn_unittests
+ out/gn_unittests || die
+}
+
+src_install() {
+ dobin out/gn
+ einstalldocs
+
+ insinto /usr/share/vim/vimfiles
+ doins -r misc/vim/{autoload,ftdetect,ftplugin,syntax}
+}
diff --git a/dev-build/gn/gn-0.2122.ebuild b/dev-build/gn/gn-0.2122.ebuild
new file mode 100644
index 000000000000..16a67fba765b
--- /dev/null
+++ b/dev-build/gn/gn-0.2122.ebuild
@@ -0,0 +1,66 @@
+# Copyright 2018-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit edo ninja-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="GN is a meta-build system that generates build files for Ninja"
+HOMEPAGE="https://gn.googlesource.com/"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gn.googlesource.com/gn"
+else
+ # The version number is derived from `git describe HEAD --abbrev=12`
+ SRC_URI="https://deps.gentoo.zip/dev-build/gn/${P}.tar.xz"
+ KEYWORDS="amd64 arm64 ~loong ~ppc64 ~riscv x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ app-alternatives/ninja
+"
+
+PATCHES=(
+ "${FILESDIR}"/gn-gen-r5.patch
+)
+
+pkg_setup() {
+ :
+}
+
+src_configure() {
+ python_setup
+ tc-export AR CC CXX
+ unset CFLAGS
+ set -- ${EPYTHON} build/gen.py --no-last-commit-position --no-strip --no-static-libstdc++ --allow-warnings
+ edo "$@"
+ cat >out/last_commit_position.h <<-EOF || die
+ #ifndef OUT_LAST_COMMIT_POSITION_H_
+ #define OUT_LAST_COMMIT_POSITION_H_
+ #define LAST_COMMIT_POSITION_NUM ${PV##0.}
+ #define LAST_COMMIT_POSITION "${PV}"
+ #endif // OUT_LAST_COMMIT_POSITION_H_
+ EOF
+}
+
+src_compile() {
+ eninja -C out gn
+}
+
+src_test() {
+ eninja -C out gn_unittests
+ out/gn_unittests || die
+}
+
+src_install() {
+ dobin out/gn
+ einstalldocs
+
+ insinto /usr/share/vim/vimfiles
+ doins -r misc/vim/{autoload,ftdetect,ftplugin,syntax}
+}
diff --git a/dev-build/gn/gn-9999.ebuild b/dev-build/gn/gn-9999.ebuild
new file mode 100644
index 000000000000..b2efbd2b6573
--- /dev/null
+++ b/dev-build/gn/gn-9999.ebuild
@@ -0,0 +1,66 @@
+# Copyright 2018-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit edo ninja-utils python-any-r1 toolchain-funcs
+
+DESCRIPTION="GN is a meta-build system that generates build files for Ninja"
+HOMEPAGE="https://gn.googlesource.com/"
+if [[ ${PV} == 9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://gn.googlesource.com/gn"
+else
+ # The version number is derived from `git describe HEAD --abbrev=12`
+ SRC_URI="https://deps.gentoo.zip/dev-build/gn/${P}.tar.xz"
+ KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+
+BDEPEND="
+ ${PYTHON_DEPS}
+ app-alternatives/ninja
+"
+
+PATCHES=(
+ "${FILESDIR}"/gn-gen-r5.patch
+)
+
+pkg_setup() {
+ :
+}
+
+src_configure() {
+ python_setup
+ tc-export AR CC CXX
+ unset CFLAGS
+ set -- ${EPYTHON} build/gen.py --no-last-commit-position --no-strip --no-static-libstdc++ --allow-warnings
+ edo "$@"
+ cat >out/last_commit_position.h <<-EOF || die
+ #ifndef OUT_LAST_COMMIT_POSITION_H_
+ #define OUT_LAST_COMMIT_POSITION_H_
+ #define LAST_COMMIT_POSITION_NUM ${PV##0.}
+ #define LAST_COMMIT_POSITION "${PV}"
+ #endif // OUT_LAST_COMMIT_POSITION_H_
+ EOF
+}
+
+src_compile() {
+ eninja -C out gn
+}
+
+src_test() {
+ eninja -C out gn_unittests
+ out/gn_unittests || die
+}
+
+src_install() {
+ dobin out/gn
+ einstalldocs
+
+ insinto /usr/share/vim/vimfiles
+ doins -r misc/vim/{autoload,ftdetect,ftplugin,syntax}
+}
diff --git a/dev-build/gn/metadata.xml b/dev-build/gn/metadata.xml
new file mode 100644
index 000000000000..d981d800e597
--- /dev/null
+++ b/dev-build/gn/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>chromium@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-build/gtk-doc-am/Manifest b/dev-build/gtk-doc-am/Manifest
new file mode 100644
index 000000000000..aa4518de8849
--- /dev/null
+++ b/dev-build/gtk-doc-am/Manifest
@@ -0,0 +1,3 @@
+DIST gtk-doc-1.33.2.tar.xz 507852 BLAKE2B dea3030060ecec89433fe3783dfacc2f58373780c49560a48ab1a32bedfe888692183de8396c92414255e4c8f537358cbc373fd307638ab8e7dbfd9ae44de58f SHA512 f50f68ab6b4bc59f55e84b49c1481f05700171cbf79eca9ba8f3a142a30a4ba88fe096983ebb8d117a9ef8bcea40934674096683d956f5c54cae457d31f651ab
+EBUILD gtk-doc-am-1.33.2.ebuild 776 BLAKE2B b529c10f21b020f90f9f3b58ff85cfd1dd2eaacf109813b48b440745620310428b36531888da22ea1c77cdb613b05227ec7f3e8658ab43fbdc173a8bb98c67d3 SHA512 9d0a390e2353ad61c3406ce62918c510880ae0113d2a50e984780606f3eed5b5514c769d7d25ab6ad5ccbf7425e4f292970357fa0de2019365eb42a4a5e3eb22
+MISC metadata.xml 373 BLAKE2B 0e6eb956ff891b7fb299f2a7869bdb2d4132bc6f18b1e9e19a10edbb872e331261c1cdd9c1dd4b612fd4d48fa96a3209715a8360b1300d6f1e56f5807bd31d75 SHA512 dbafdc9050487f5f425121c218481b5fd55a9ba01560d92059e5371c476b773d5d0d81dc8c07b0d18640103cde7cfb14545c9d9494858c2d846e2d1704a47beb
diff --git a/dev-build/gtk-doc-am/gtk-doc-am-1.33.2.ebuild b/dev-build/gtk-doc-am/gtk-doc-am-1.33.2.ebuild
new file mode 100644
index 000000000000..626709418269
--- /dev/null
+++ b/dev-build/gtk-doc-am/gtk-doc-am-1.33.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+GNOME_ORG_MODULE="gtk-doc"
+
+inherit gnome.org
+
+DESCRIPTION="Automake files from gtk-doc"
+HOMEPAGE="https://wiki.gnome.org/DocumentationProject/GtkDoc"
+
+LICENSE="GPL-2 FDL-1.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="!<dev-util/gtk-doc-${PV}"
+PDEPEND="virtual/pkgconfig"
+
+# This ebuild doesn't even compile anything, causing tests to fail when updating (bug #316071)
+RESTRICT="test"
+
+src_configure() {
+ :
+}
+
+src_compile() {
+ :
+}
+
+src_install() {
+ insinto /usr/share/aclocal
+ doins buildsystems/autotools/gtk-doc.m4
+}
diff --git a/dev-build/gtk-doc-am/metadata.xml b/dev-build/gtk-doc-am/metadata.xml
new file mode 100644
index 000000000000..ec7485f7ddef
--- /dev/null
+++ b/dev-build/gtk-doc-am/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>gnome@gentoo.org</email>
+ <name>Gentoo GNOME Desktop</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="gnome-gitlab">GNOME/gtk-doc</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-build/gyp/Manifest b/dev-build/gyp/Manifest
new file mode 100644
index 000000000000..1294444d6d58
--- /dev/null
+++ b/dev-build/gyp/Manifest
@@ -0,0 +1,4 @@
+DIST gyp-20200512145953.tar.xz 443884 BLAKE2B 74ff269e3e8aa51e6b34f795892f6e8922d098a81b4d855619520d3d366e79b611931cddf4ee2ec60a7e040af11ac8eba7582ad10e24de627df5a4aa4eba6474 SHA512 35bf2af22f2e632b3d6e546e5017df8effd0c7ad80beed9b95ed1e2f294d70215889bc6a0147506461254e951d70189dc48824af10a6620e996945d2cf5586ee
+EBUILD gyp-20200512145953.ebuild 1517 BLAKE2B 259ed354bc13caab7d58f6b66658e1e7cd11dfa036fede46e235504530d0649e58e4503d311186fa52461c5f023db0e85d105740ae1e4c855107e90d662dfb52 SHA512 abbed34097844d414a6e8eb4e4f79e3c1acb3f78fb98e79c4b29e060c061e29b67b5e317d61ca0094e764d68ed4270f6afdfae572cf10d0a3d96b6c850e30f9b
+EBUILD gyp-99999999999999.ebuild 1520 BLAKE2B 3ca6a99fc6b467d0b7f3ae6d8ae2ef408a60b1293b2510444eb1c0b52f0a93f9d8b173db41a6f9ce29268af60f487a694b2af2038880f376d193e362ff957ef0 SHA512 e34e502fbbfbaf6c8c0efec36f1f2a29584d91858f38775eb1c709a7d2ae4150634da4030e9afaede71b6ab4976626fd0c6803f64ce8b951cd389bfa862a1c3d
+MISC metadata.xml 383 BLAKE2B 11d9ccc1a7c12278a0087dd176b09d4ef34a9e9372b1a278e3dc19744605a424f02c38d4c311a4148e4938274780020d45f77a5497fab070e80e0e2e655516cc SHA512 c7c78ed2fbac6a1eaa4e6c9ac1bbca07e6d4584ed925d9a37b53e903ee29497e98720cb5eb94918c103288cdb61e4a586e758e6bfbf5f4ff97c8ff5ba54921de
diff --git a/dev-build/gyp/gyp-20200512145953.ebuild b/dev-build/gyp/gyp-20200512145953.ebuild
new file mode 100644
index 000000000000..1e3d8e400eef
--- /dev/null
+++ b/dev-build/gyp/gyp-20200512145953.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2017-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_SINGLE_IMPL="1"
+
+inherit distutils-r1
+
+DESCRIPTION="GYP (Generate Your Projects) meta-build system"
+HOMEPAGE="https://gyp.gsrc.io/ https://chromium.googlesource.com/external/gyp"
+
+if [[ "${PV}" == "99999999999999" ]]; then
+ EGIT_REPO_URI="https://chromium.googlesource.com/external/gyp"
+ inherit git-r3
+else
+ SRC_URI="https://home.apache.org/~arfrever/distfiles/${P}.tar.xz"
+ KEYWORDS="amd64 ~arm64 ~loong ppc64 x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+
+BDEPEND=""
+DEPEND=""
+RDEPEND=""
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ sed -e "s/' Linux %s' % ' '\.join(platform.linux_distribution())/' Linux'/" -i gyptest.py || die
+ sed \
+ -e "s/import collections/import collections.abc/" \
+ -e "s/collections\.MutableSet/collections.abc.MutableSet/" \
+ -i pylib/gyp/common.py || die
+ sed -e "s/the_dict_key is 'variables'/the_dict_key == 'variables'/" -i pylib/gyp/input.py || die
+ sed \
+ -e "s/import collections/import collections.abc/" \
+ -e "s/collections\.Iterable/collections.abc.Iterable/" \
+ -i pylib/gyp/msvs_emulation.py || die
+ sed \
+ -e "s/os\.environ\['PRESERVE'\] is not ''/os.environ['PRESERVE'] != ''/" \
+ -e "s/conditions is ()/conditions == ()/" \
+ -i test/lib/TestCmd.py || die
+}
+
+python_test() {
+ # More errors with DeprecationWarnings enabled.
+ local -x PYTHONWARNINGS=""
+
+ "${PYTHON}" gyptest.py --all --verbose
+}
diff --git a/dev-build/gyp/gyp-99999999999999.ebuild b/dev-build/gyp/gyp-99999999999999.ebuild
new file mode 100644
index 000000000000..3ef8251ef799
--- /dev/null
+++ b/dev-build/gyp/gyp-99999999999999.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2017-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+PYTHON_COMPAT=( python3_{10..11} )
+DISTUTILS_SINGLE_IMPL="1"
+
+inherit distutils-r1
+
+DESCRIPTION="GYP (Generate Your Projects) meta-build system"
+HOMEPAGE="https://gyp.gsrc.io/ https://chromium.googlesource.com/external/gyp"
+
+if [[ "${PV}" == "99999999999999" ]]; then
+ EGIT_REPO_URI="https://chromium.googlesource.com/external/gyp"
+ inherit git-r3
+else
+ SRC_URI="https://home.apache.org/~arfrever/distfiles/${P}.tar.xz"
+ KEYWORDS="amd64 ~arm64 ~loong ~ppc64 x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE=""
+
+BDEPEND=""
+DEPEND=""
+RDEPEND=""
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ sed -e "s/' Linux %s' % ' '\.join(platform.linux_distribution())/' Linux'/" -i gyptest.py || die
+ sed \
+ -e "s/^import collections/import collections.abc/" \
+ -e "s/collections\.MutableSet/collections.abc.MutableSet/" \
+ -i pylib/gyp/common.py || die
+ sed -e "s/the_dict_key is 'variables'/the_dict_key == 'variables'/" -i pylib/gyp/input.py || die
+ sed \
+ -e "s/^import collections/import collections.abc/" \
+ -e "s/collections\.Iterable/collections.abc.Iterable/" \
+ -i pylib/gyp/msvs_emulation.py || die
+ sed \
+ -e "s/os\.environ\['PRESERVE'\] is not ''/os.environ['PRESERVE'] != ''/" \
+ -e "s/conditions is ()/conditions == ()/" \
+ -i test/lib/TestCmd.py || die
+}
+
+python_test() {
+ # More errors with DeprecationWarnings enabled.
+ local -x PYTHONWARNINGS=""
+
+ "${PYTHON}" gyptest.py --all --verbose
+}
diff --git a/dev-build/gyp/metadata.xml b/dev-build/gyp/metadata.xml
new file mode 100644
index 000000000000..58dbc167607e
--- /dev/null
+++ b/dev-build/gyp/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>arfrever.fta@gmail.com</email>
+ <name>Arfrever Frehtes Taifersar Arahesis</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>cjk@gentoo.org</email>
+ <name>Cjk</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-build/kbuild/Manifest b/dev-build/kbuild/Manifest
new file mode 100644
index 000000000000..d85e959a07db
--- /dev/null
+++ b/dev-build/kbuild/Manifest
@@ -0,0 +1,21 @@
+AUX kbuild-0.1.5-gentoo-docdir.patch 358 BLAKE2B 978d4081821098a4e035fdd41b801c72f297e24187d2681ff7aaa2b09fa0fed35ce780884bf1cf0b0ea4428a16402c20b14fcc0e918d7175b98f04e94ba74449 SHA512 468dd844de34867c7ccafabafab4d5870fcb63f38fcb8d53580787cf9600027db91cb5ad962862d6a654dcec2b58654cc62fd6146fb0903c1b2d2079a7016020
+AUX kbuild-0.1.9998.3407-gold.patch 590 BLAKE2B 654459b94017d4bacae37151c71d4b43b3d9a76d934a2a220bada87e0b96e2a8a13a6f446199eb5475faf604129966bcca6e3e34691e588df6b40fe65e4e4ded SHA512 3cf6827b482661704a8cdcdcf3152fa07d18c80a6e9cbe8979b732173f0127a5bc5009590c5cc155cdd11bed1e95d918835e697b6fecc1a1bc51127d2f13845f
+AUX kbuild-0.1.9998.3407-unknown_configure_opt.patch 697 BLAKE2B 5f974bc451a12f4b4c02656b501d07515c14499c53ee1fca00aec00cf28d6dd5faf690f262b79f34861a3bfd317a5bd37eb78cbeb61ce833d8117c2cd74e7813 SHA512 63435effcf109b40390574da09453314ffac109ffee79419cef81705b4f7ceb145f692c9a81b54dd0d58f69a1a6f80b9dc412baa5d416066f05300cc9eccc11e
+AUX kbuild-0.1.9998.3499-fix-CC.patch 504 BLAKE2B cb30a2f3dbdc374d1570cc089d9fbdda38b0d6e35eb9023c7d5f989e1a9538ede6eaf1b857b8ae92bb0e6bb139232d02e461851f2a4fc6343a3a774017f0cdef SHA512 16728f446bcc8ab15fc2b4a556ab79eb84385a217b3624f53297fde341b28a0d523caf357d871b5f1a58907adb61915a5480beca4fec56bafe92fa957176919b
+AUX kbuild-0.1.9998.3499-gold.patch 934 BLAKE2B 486b6154eeba1541f87856e0d4bddd89ee689393669161f60ae9f6b5ce3a199cf72187ac77d766e5c26b707af79b63b13f2cc597e7ee15ee1c46972401fe80d3 SHA512 5e885b504c095c062da0c2ed7836821c5ab95aa6b90e847070a87228a3e1456b9ae2dc2c463e0771552a504f0f309569e762667cd11aa891f5236b5402b77a08
+AUX kbuild-0.1.9998.3499-implicit-function-declaration.patch 1444 BLAKE2B 21bbdeb7502bfb024ff0dcdee2b7cf6f793910289d02fea9fb0bb21b3292dd25b98aab86cfa2f6733c50ecdec1c12ec59d6d7a5f577ce1943a971cdeabd558e5 SHA512 f579eb7516f7f9b7d885a33621167fee915f1665d225d5d9abf6f64d60a3ede0a9730e80a51ef2afbedbf36aaadef25872f1575f8034a1b3b10eceb6a78e1f0a
+AUX kbuild-0.1.9998.3499-int-conversion.patch 719 BLAKE2B 77d4efe872b1114b2fa155bca466816018e0909678b83249f37d543c0831f0126b45a7d7356f378acf77b60c2f719452f8b4c7112253ba95b57c851ec521386f SHA512 f2199d2cf55fa90ad7327f94400aaee311830aef22b1c5a7bea009e375171ea6e0fd1d253c2d60d2079daa11ce14322bebd3723c98d3ff937e65d0b07b5dc5cf
+AUX kbuild-0.1.9998.3499-kash-no_separate_parser_allocator.patch 374 BLAKE2B 9ea9ac286217760b6933821ec3901a4e102bf8fe98517805b23e19e86a8ac86a81c93c72c13d69490d91c80c2e01581b5926f358f988b6b0de8e04ed0ba93820 SHA512 f83bcd523241d3b6bda3038d1c2a6a18ba2497d166f5a9704ba5f4a96b2d6857ea810ab2969b931b60b5818b69ea24cbeab2068cb92765704f7666874751e27d
+AUX kbuild-0.1.9998.3572-fix-bison.patch 375 BLAKE2B ab316943b88fac929e747d0c1062f827a2049238d29eaa26e81590b0982462f6428e5be52a82ca5325c6ed11e0771cf22ee2f70f719162ad4915199bb24bb1ff SHA512 870f8d8f5be776b490a21b018fe5aa5fd12251eb0319098cb4c2785524482e7174a77e45e8b1d28252b244de7571209b006bb36c16f616803dba64111e5f8a10
+AUX kbuild-0.1.9998.3572-fix-lto.patch 314 BLAKE2B 42a7c1d3f735870b92c6ffdaf0400c1db63389b430890a892c9b48b90a126508729baeef2fc45bd747c089856a26ec3d10b8a9bfedd4e25a6d6ffd6606ef770b SHA512 7bb2526b4c59533dbfc8ad7c53fb38985fec4cab17740f4a3965fa3e982ba42faaabfe8d78d94c83bd74c771dde9088b1446a6937f96d37808fe9597d6a049f9
+AUX kbuild-0.1.9998_pre20110817-kash-link-pthread.patch 296 BLAKE2B ffa7b0167e4a65c59510e20089a63d5c1949b5f14ce167725ee057d9ab75369758e491727d939a111de5bd63719b53a7744b08efe84d34cc81b4d7bba80a3522 SHA512 178da856a83631ca4d86a9b8c20e74b75b76426c177b87c26d4c4b3df86e72f3b6339e8f61948498ab9c4bf047119588f3df8ce78448160afa0840b2cf3aeabb
+AUX kbuild-0.1.9998_pre20120806-qa.patch 292 BLAKE2B 628ee52d1c147864dba48e37ae25a2ff9e82e38bc907f2771ee3599e9401b26e5b5d4e53a3958a4f8edb2a7c35794677bae141561cf515fd3587b9ac095a7bdd SHA512 2a311e2e79c1e85c3c2c26b3d187355167c237c334687494a8e532b84232340df44b0d896fe6638bf1a9d4ba1c5f1efb29978de3bac0490fe04f2e57f7fb1874
+DIST kbuild-0.1.9998.3499-fix-clang-16.patch.bz2 10271 BLAKE2B fe40a3a0afafefa10da6fe675eec72392fe6bcc318d1d8728363b9e855d10e11d0b7189f875cd2d496bf4871f87b96ed2ad6775e6968e044cc107dad23f5fcab SHA512 8f11355f0bfdda431dba4cb4dcd73c5bf0b10d2380495fe91292846b57fb7f80711d711b0b229fb4a865512d90010a181d1e1ab7d2b57d1a1751ce79440b02dc
+DIST kbuild-0.1.9998.3499-src.tar.xz 2371580 BLAKE2B 847c5c67ded37ca87228ff7164d6c7f2f670a57f2fd94d6d0bf4f8896266e7fe5442666c03dbda016564a52dc91d10be83f0d4b0ef5093db0f5210ac8d5f3aaa SHA512 eebdcd1d2fa71313edd764d45a4aa3580078af22d7c5fed32d3d139a4f41c4e028282fdfdda0ee9b617ed0e8e63b8f5d065b3cf6647f08fe446560938b7577fc
+DIST kbuild-0.1.9998.3572-src.tar.xz 3973848 BLAKE2B 103e42d719fd77bc5c55aea48bdfd01c8ad136529cc76cc8c1297f87e21e5d4e2e7149f9321c5174808613a84331dbea8bb4c0a7662eb2de9e1045c8ad365047 SHA512 96bb5e1759990bf3acaca4b0ba7c02926c6607b0cd94f7fca222b13eee5c3364c64b35e3473c5cee45fa094cb2b851ac9f3a3a9fe60cff894baf46238ccb4006
+DIST kbuild-0.1.9998.3592-src.tar.xz 3975348 BLAKE2B 4b1862238f6f6c35ba1b586e11e17baca3b66c4ba3a97b17168ced902d7fcc9f1baa9a4b8669489902346b9bab67095f4ff4d008187c36cd2ef4b7841d4134be SHA512 b9ca1723b426db81571b048db5afe4b7c3d2d8a881003812e9a5f9df44c5109b628d77af415cf56eb44a8775c590a6f0e343efccf562ef83213c5525e081e59b
+EBUILD kbuild-0.1.9998.3499-r4.ebuild 2186 BLAKE2B cd0e1543b9139b8bf62602a2387a61dd4378ffbed970ef8319cd9ec626f3f1d92afdf15230b4d903c2abe6ae3b542f5c12fb801256d7c2b6c4f6a3fc74a37d7b SHA512 4ece814e56c73f48a36c4587736d1603fb937a4d97a9c4f1fac93142e99be827b473e5ee3ce816f168009e1d1dfdd1748c50a3b7ec1aaf6c3d968fc8183d2448
+EBUILD kbuild-0.1.9998.3572-r4.ebuild 2053 BLAKE2B 6d3ed28a987b94c8ecd146fe703b47a9dace4896f2495ecb95ee107f0e7fd54e67e7c46424679375d601b41f1fdc7f6bd6e07d2d07904e4d2fb4a5b051083754 SHA512 1d69eb35501e21bfa29e831179ef3c7af7e8c4eef591e50e134ec0082ecaa888b40967f9ed18f92ef740a4b00a9eb1c54a01a8646de2fc834f6c7ff5d6fbcd74
+EBUILD kbuild-0.1.9998.3592.ebuild 2128 BLAKE2B 7b05945eaa6bb1afd241652bc1da82759c668d5fb15d2f23b574ccf8ace9e9a11b64e4c9081779d81f174805ff6d2ac73d87f510cedeeb83b69a72beb7c64a77 SHA512 0a9d9c9668108a42c107e8a1a5f611052aa09aa4c34de3c927c385ef30c512aaadc9d1ab7d2bd57375f01f657e43b175a7fa4f3a34e7a81cf7f51b756e5bc175
+EBUILD kbuild-9999.ebuild 2131 BLAKE2B b499c02d359bfd6a78f625d81b59b74fe8a978c62e041dc6e830296928fa45cba5d67bf0979c9acd6501e3916f748369f78ad670434aed8f085ccdbb5bf04a5f SHA512 1952521ad4a6760efd64aaff624d80a3950bd31e7321bc85177fd4f905b78e1572b55b306895e5df5fa9a63f5aef3837da3191ae3569c8a63d5a594f802f8282
+MISC metadata.xml 249 BLAKE2B 3bc7510e014ef8df90da064f4ef969eab6cc3311951a6dd556ca7b6f4e2e74e229f12a16ceb641393d1ec1f89d1942718267ecc664a8136df194c40de94a58e4 SHA512 63f88d798d410e4fb6670d199a86a665ab61b09cb9508b4047f13fe73070c682231d35a27c9d2c1fd82a1b8a84676d857b534c96bd09f4562cf13d7fc8de36b2
diff --git a/dev-build/kbuild/files/kbuild-0.1.5-gentoo-docdir.patch b/dev-build/kbuild/files/kbuild-0.1.5-gentoo-docdir.patch
new file mode 100644
index 000000000000..b074a984af4c
--- /dev/null
+++ b/dev-build/kbuild/files/kbuild-0.1.5-gentoo-docdir.patch
@@ -0,0 +1,11 @@
+--- a/Config.kmk
++++ b/Config.kmk
+@@ -147,7 +147,7 @@
+ MY_INST_DATA := $(MY_INST_ROOT)share/kBuild/
+ endif
+ ifndef MY_INST_DOC
+- MY_INST_DOC := $(MY_INST_ROOT)share/doc/kBuild-$(KBUILD_VERSION)/
++ MY_INST_DOC := $(MY_INST_ROOT)share/doc/$(PF)/
+ endif
+ if !defined(MY_INST_BIN_MODE) && defined(MY_INST_MODE)
+ MY_INST_BIN_MODE := $(MY_INST_MODE),a+x
diff --git a/dev-build/kbuild/files/kbuild-0.1.9998.3407-gold.patch b/dev-build/kbuild/files/kbuild-0.1.9998.3407-gold.patch
new file mode 100644
index 000000000000..14d5ec7cc422
--- /dev/null
+++ b/dev-build/kbuild/files/kbuild-0.1.9998.3407-gold.patch
@@ -0,0 +1,11 @@
+--- kbuild-0.1.9998.3407/src/kmk/Makefile.kmk
++++ kbuild-0.1.9998.3407/src/kmk/Makefile.kmk
+@@ -60,7 +60,7 @@
+ ifneq ($(KBUILD_TARGET),os2)
+ TEMPLATE_BIN-KMK_INCS += glob
+ endif
+-TEMPLATE_BIN-KMK_LIBS = $(LIB_KUTIL) $(TEMPLATE_BIN-THREADED_LIBS) $(kmkmissing_1_TARGET) $(LIB_KUTIL)
++TEMPLATE_BIN-KMK_LIBS = $(LIB_KUTIL) $(TEMPLATE_BIN-THREADED_LIBS) $(kmkmissing_1_TARGET) $(LIB_KUTIL) pthread
+ ifdef ELECTRIC_HEAP # for electric heap (see electric.c).
+ ifeq ($(KBUILD_TARGET),win)
+ TEMPLATE_BIN-KMK_CFLAGS = $(TEMPLATE_BIN-THREADED_CFLAGS) /FI$(kmk_DEFPATH)/electric.h -DELECTRIC_HEAP=1
diff --git a/dev-build/kbuild/files/kbuild-0.1.9998.3407-unknown_configure_opt.patch b/dev-build/kbuild/files/kbuild-0.1.9998.3407-unknown_configure_opt.patch
new file mode 100644
index 000000000000..2714716b7806
--- /dev/null
+++ b/dev-build/kbuild/files/kbuild-0.1.9998.3407-unknown_configure_opt.patch
@@ -0,0 +1,20 @@
+--- kbuild-0.1.9998.3407/bootstrap.gmk
++++ kbuild-0.1.9998.3407/bootstrap.gmk
+@@ -151,7 +151,7 @@
+ $(OUTDIR)/kmk/ts-configured: \
+ $(OUTDIR)/kmk/ts-autoreconf \
+ $(OUTDIR)/kmk/fts.h
+- cd $(OUTDIR)/kmk && $(SRCDIR)/src/kmk/configure --disable-load --without-guile
++ cd $(OUTDIR)/kmk && $(SRCDIR)/src/kmk/configure --disable-load
+ echo done > $@
+
+ ifeq ($(KBUILD_HOST),solaris)
+@@ -182,7 +182,7 @@
+ echo done > $@
+
+ $(OUTDIR)/sed/ts-configured: $(OUTDIR)/sed/ts-autoreconf
+- cd $(OUTDIR)/sed && $(SRCDIR)/src/sed/configure --without-libintl --disable-nls
++ cd $(OUTDIR)/sed && $(SRCDIR)/src/sed/configure --disable-nls
+ echo done > $@
+
+ $(OUTDIR)/sed/config.h: $(OUTDIR)/sed/ts-configured
diff --git a/dev-build/kbuild/files/kbuild-0.1.9998.3499-fix-CC.patch b/dev-build/kbuild/files/kbuild-0.1.9998.3499-fix-CC.patch
new file mode 100644
index 000000000000..7d7f1f7232eb
--- /dev/null
+++ b/dev-build/kbuild/files/kbuild-0.1.9998.3499-fix-CC.patch
@@ -0,0 +1,23 @@
+A few files are compiled with gcc regardless of setting CC
+
+This file seems to do some guesswork, override it with CC if set
+
+Bug: https://bugs.gentoo.org/734302
+
+--- a/kBuild/tools/GCC3.kmk
++++ b/kBuild/tools/GCC3.kmk
+@@ -84,6 +84,14 @@
+ TOOL_GCC3_CXX += -fmessage-length=0
+ endif
+
++ifneq ($(CC),)
++ TOOL_GCC3_CC = $(CC)
++ TOOL_GCC3_LD = $(CC)
++endif
++ifneq ($(AR),)
++ TOOL_GCC3_AR = $(AR)
++endif
++
+ # General Properties used by kBuild
+ TOOL_GCC3_COBJSUFF ?= .o
+ TOOL_GCC3_CFLAGS ?=
diff --git a/dev-build/kbuild/files/kbuild-0.1.9998.3499-gold.patch b/dev-build/kbuild/files/kbuild-0.1.9998.3499-gold.patch
new file mode 100644
index 000000000000..ee870da2ee55
--- /dev/null
+++ b/dev-build/kbuild/files/kbuild-0.1.9998.3499-gold.patch
@@ -0,0 +1,15 @@
+--- kbuild-0.1.9998.3499/src/kmk/Makefile.kmk
++++ kbuild-0.1.9998.3499/src/kmk/Makefile.kmk
+@@ -60,9 +60,9 @@
+ ifneq ($(KBUILD_TARGET),os2)
+ TEMPLATE_BIN-KMK_INCS += glob
+ endif
+-TEMPLATE_BIN-KMK_LIBS = $(LIB_KUTIL) $(TEMPLATE_BIN-THREADED_LIBS) $(kmkmissing_1_TARGET) $(LIB_KUTIL)
+-TEMPLATE_BIN-KMK_LIBS.x86 = $(LIB_KUTIL) $(TEMPLATE_BIN-THREADED_LIBS.x86)
+-TEMPLATE_BIN-KMK_LIBS.amd64 = $(LIB_KUTIL) $(TEMPLATE_BIN-THREADED_LIBS.amd64)
++TEMPLATE_BIN-KMK_LIBS = $(LIB_KUTIL) $(TEMPLATE_BIN-THREADED_LIBS) $(kmkmissing_1_TARGET) $(LIB_KUTIL) pthread
++TEMPLATE_BIN-KMK_LIBS.x86 = $(LIB_KUTIL) $(TEMPLATE_BIN-THREADED_LIBS.x86) pthread
++TEMPLATE_BIN-KMK_LIBS.amd64 = $(LIB_KUTIL) $(TEMPLATE_BIN-THREADED_LIBS.amd64) pthread
+ ifdef ELECTRIC_HEAP # for electric heap (see electric.c).
+ ifeq ($(KBUILD_TARGET),win)
+ TEMPLATE_BIN-KMK_CFLAGS = $(TEMPLATE_BIN-THREADED_CFLAGS) /FI$(kmk_DEFPATH)/electric.h -DELECTRIC_HEAP=1
diff --git a/dev-build/kbuild/files/kbuild-0.1.9998.3499-implicit-function-declaration.patch b/dev-build/kbuild/files/kbuild-0.1.9998.3499-implicit-function-declaration.patch
new file mode 100644
index 000000000000..2d25eacb9826
--- /dev/null
+++ b/dev-build/kbuild/files/kbuild-0.1.9998.3499-implicit-function-declaration.patch
@@ -0,0 +1,74 @@
+Add a few includes to fix this warning: -Wimplicit-function-declaration
+Bug: https://bugs.gentoo.org/882143
+
+--- a/src/sed/lib/utils.c
++++ b/src/sed/lib/utils.c
+@@ -27,7 +27,8 @@
+
+ #ifdef HAVE_STRINGS_H
+ # include <strings.h>
+-#else
++#endif
++#ifdef HAVE_STRING_H
+ # include <string.h>
+ #endif /* HAVE_STRINGS_H */
+
+--- a/src/sed/sed/execute.c
++++ b/src/sed/sed/execute.c
+@@ -46,7 +46,8 @@
+
+ #ifdef HAVE_STRINGS_H
+ # include <strings.h>
+-#else
++#endif
++#ifdef HAVE_STRING_H
+ # include <string.h>
+ #endif /*HAVE_STRINGS_H*/
+ #ifdef HAVE_MEMORY_H
+--- a/src/sed/sed/fmt.c
++++ b/src/sed/sed/fmt.c
+@@ -22,6 +22,7 @@
+ #include <stdio.h>
+ #include <ctype.h>
+ #include <sys/types.h>
++#include <string.h>
+
+ #if HAVE_LIMITS_H
+ # include <limits.h>
+--- a/src/sed/sed/mbcs.c
++++ b/src/sed/sed/mbcs.c
+@@ -17,6 +17,7 @@
+
+ #include "sed.h"
+ #include <stdlib.h>
++#include <string.h>
+
+ int mb_cur_max;
+
+--- a/src/sed/sed/regexp.c
++++ b/src/sed/sed/regexp.c
+@@ -22,6 +22,9 @@
+ #ifdef HAVE_STDLIB_H
+ # include <stdlib.h>
+ #endif
++#ifdef HAVE_STRING_H
++# include <string.h>
++#endif
+
+ #ifdef gettext_noop
+ # define N_(String) gettext_noop(String)
+--- a/src/sed/sed/sed.c
++++ b/src/sed/sed/sed.c
+@@ -26,9 +26,10 @@
+ #include <stdio.h>
+ #ifdef HAVE_STRINGS_H
+ # include <strings.h>
+-#else
+-# include <string.h>
+ #endif /*HAVE_STRINGS_H*/
++#ifdef HAVE_STRING_H
++# include <string.h>
++#endif /*HAVE_STRING_H*/
+ #ifdef HAVE_MEMORY_H
+ # include <memory.h>
+ #endif
diff --git a/dev-build/kbuild/files/kbuild-0.1.9998.3499-int-conversion.patch b/dev-build/kbuild/files/kbuild-0.1.9998.3499-int-conversion.patch
new file mode 100644
index 000000000000..6afdeeb6e7a6
--- /dev/null
+++ b/dev-build/kbuild/files/kbuild-0.1.9998.3499-int-conversion.patch
@@ -0,0 +1,26 @@
+Fix int to pointer conversion for clang
+
+Note - this parameter was not actually used inside eval_buffer because of a define.
+
+Bug: https://bugs.gentoo.org/875449
+
+--- a/src/kmk/loadapi.c
++++ b/src/kmk/loadapi.c
+@@ -20,6 +20,8 @@
+ #include "variable.h"
+ #include "dep.h"
+
++#include <string.h>
++
+ /* Allocate a buffer in our context, so we can free it. */
+ char *
+ gmk_alloc (unsigned int len)
+@@ -59,7 +61,7 @@
+ install_variable_buffer (&pbuf, &plen);
+
+ s = xstrdup (buffer);
+- eval_buffer (s, flp IF_WITH_VALUE_LENGTH_PARAM (strlen (s) /** @todo suboptimal */));
++ eval_buffer (s, flp IF_WITH_VALUE_LENGTH_PARAM (strchr (s, 0) /** @todo suboptimal */));
+ free (s);
+
+ restore_variable_buffer (pbuf, plen);
diff --git a/dev-build/kbuild/files/kbuild-0.1.9998.3499-kash-no_separate_parser_allocator.patch b/dev-build/kbuild/files/kbuild-0.1.9998.3499-kash-no_separate_parser_allocator.patch
new file mode 100644
index 000000000000..24265b96e137
--- /dev/null
+++ b/dev-build/kbuild/files/kbuild-0.1.9998.3499-kash-no_separate_parser_allocator.patch
@@ -0,0 +1,11 @@
+--- kbuild-0.1.9998.3499/src/kash/Makefile.kmk
++++ kbuild-0.1.9998.3499/src/kash/Makefile.kmk
+@@ -35,7 +35,7 @@
+ kash_TEMPLATE = BIN-THREADED
+ kash_NAME = kmk_ash
+ kash_ASTOOL = YASM
+-kash_DEFS = lint SHELL SMALL KASH_SEPARATE_PARSER_ALLOCATOR
++kash_DEFS = lint SHELL SMALL
+ if "$(KBUILD_TARGET)" != "win" || defined(KASH_WIN_FORKED_MODE)
+ kash_DEFS += SH_FORKED_MODE
+ else
diff --git a/dev-build/kbuild/files/kbuild-0.1.9998.3572-fix-bison.patch b/dev-build/kbuild/files/kbuild-0.1.9998.3572-fix-bison.patch
new file mode 100644
index 000000000000..822194b1c98b
--- /dev/null
+++ b/dev-build/kbuild/files/kbuild-0.1.9998.3572-fix-bison.patch
@@ -0,0 +1,15 @@
+--- a/src/kash/Makefile.kmk 2022-11-12 16:42:14.195927909 +0200
++++ b/src/kash/Makefile.kmk 2022-11-12 17:09:46.212159615 +0200
+@@ -210,8 +210,11 @@
+ kash_USES = lex yacc
+ kash_LEXTOOL = FLEX
+ kash_LEXFLAGS = -8
+-#kash_YACCTOOL = BISON
++ifneq (,$(shell bison -V))
++kash_YACCTOOL = BISON
++else
+ kash_YACCTOOL = YACC
++endif
+ kash_YACCFLAGS = -ld
+ kash_SOURCES += \
+ arith.y \
diff --git a/dev-build/kbuild/files/kbuild-0.1.9998.3572-fix-lto.patch b/dev-build/kbuild/files/kbuild-0.1.9998.3572-fix-lto.patch
new file mode 100644
index 000000000000..94eb14ee6cb6
--- /dev/null
+++ b/dev-build/kbuild/files/kbuild-0.1.9998.3572-fix-lto.patch
@@ -0,0 +1,11 @@
+--- a/src/kmk/remake.c
++++ b/src/kmk/remake.c
+@@ -417,7 +417,7 @@
+ if (!keep_going_flag && file->parent == 0)
+ {
+ const char *msg_joke = 0;
+- extern struct dep *goals;
++ extern struct goaldep *goals;
+
+ /* classics */
+ if (!strcmp (file->name, "fire")
diff --git a/dev-build/kbuild/files/kbuild-0.1.9998_pre20110817-kash-link-pthread.patch b/dev-build/kbuild/files/kbuild-0.1.9998_pre20110817-kash-link-pthread.patch
new file mode 100644
index 000000000000..d2b20176ca82
--- /dev/null
+++ b/dev-build/kbuild/files/kbuild-0.1.9998_pre20110817-kash-link-pthread.patch
@@ -0,0 +1,10 @@
+--- kBuild-0.1.9998-pre20110817/src/kash/Makefile.kmk
++++ kBuild-0.1.9998-pre20110817/src/kash/Makefile.kmk
+@@ -59,6 +59,7 @@
+ if "$(USER)" == "bird" && "$(KBUILD_TARGET)" != "win"
+ kash_CFLAGS += -std=gnu99
+ endif
++kash_LIBS += pthread
+ kash_CFLAGS.win.amd64 = -GS-
+ kash_SOURCES = \
+ main.c \
diff --git a/dev-build/kbuild/files/kbuild-0.1.9998_pre20120806-qa.patch b/dev-build/kbuild/files/kbuild-0.1.9998_pre20120806-qa.patch
new file mode 100644
index 000000000000..9b0df4204e35
--- /dev/null
+++ b/dev-build/kbuild/files/kbuild-0.1.9998_pre20120806-qa.patch
@@ -0,0 +1,13 @@
+--- kBuild-0.1.9998-pre20120806/src/sed/lib/utils.c
++++ kBuild-0.1.9998-pre20120806/src/sed/lib/utils.c
+@@ -35,6 +35,10 @@
+ # include <stdlib.h>
+ #endif /* HAVE_STDLIB_H */
+
++#ifdef HAVE_UNISTD_H
++# include <unistd.h>
++#endif /* HAVE_UNISTD_H */
++
+ #include "utils.h"
+
+ const char *myname;
diff --git a/dev-build/kbuild/kbuild-0.1.9998.3499-r4.ebuild b/dev-build/kbuild/kbuild-0.1.9998.3499-r4.ebuild
new file mode 100644
index 000000000000..1ed4a97698af
--- /dev/null
+++ b/dev-build/kbuild/kbuild-0.1.9998.3499-r4.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="A makefile framework for writing simple makefiles for complex tasks"
+HOMEPAGE="https://trac.netlabs.org/kbuild/wiki"
+SRC_URI="
+ https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${P}-src.tar.xz
+ https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${PN}-0.1.9998.3499-fix-clang-16.patch.bz2
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+IUSE=""
+
+BDEPEND="
+ sys-apps/texinfo
+ app-alternatives/lex
+ sys-devel/gettext
+ virtual/pkgconfig
+ app-alternatives/yacc
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.1.9998.3407-unknown_configure_opt.patch"
+ "${FILESDIR}/${PN}-0.1.5-gentoo-docdir.patch"
+ "${FILESDIR}/${PN}-0.1.9998_pre20120806-qa.patch"
+ "${FILESDIR}/${PN}-0.1.9998_pre20110817-kash-link-pthread.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3499-gold.patch"
+
+ # Please check on version bumps if this can be removed
+ "${FILESDIR}/${PN}-0.1.9998.3499-kash-no_separate_parser_allocator.patch"
+
+ "${FILESDIR}/${PN}-0.1.9998.3572-fix-bison.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3572-fix-lto.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3499-implicit-function-declaration.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3499-int-conversion.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3499-fix-CC.patch"
+
+ "${WORKDIR}/${PN}-0.1.9998.3499-fix-clang-16.patch"
+)
+
+pkg_setup() {
+ # Package fails with distcc (bug #255371)
+ export DISTCC_DISABLE=1
+}
+
+src_prepare() {
+ default
+
+ # Add a file with the svn revision this package was pulled from
+ printf '%s\n' "KBUILD_SVN_REV := $(ver_cut 4)" \
+ > SvnInfo.kmk || die
+
+ cd "${S}/src/kmk" || die
+ eautoreconf
+ cd "${S}/src/sed" || die
+ eautoreconf
+
+ sed -e "s@_LDFLAGS\.$(tc-arch)*.*=@& ${LDFLAGS}@g" \
+ -e "s@_CFLAGS\.$(tc-arch)*.*=@& ${CFLAGS}@g" \
+ -e "s@_CXXFLAGS\.$(tc-arch)*.*=@& ${CXXFLAGS}@g" \
+ -i "${S}"/Config.kmk || die #332225
+ tc-export CC PKG_CONFIG RANLIB #AR does not work here
+}
+
+src_compile() {
+ kBuild/env.sh --full emake -f bootstrap.gmk AUTORECONF=true AR="$(tc-getAR)" \
+ || die "bootstrap failed"
+}
+
+src_install() {
+ kBuild/env.sh kmk NIX_INSTALL_DIR=/usr PATH_INS="${D}" install \
+ || die "install failed"
+}
diff --git a/dev-build/kbuild/kbuild-0.1.9998.3572-r4.ebuild b/dev-build/kbuild/kbuild-0.1.9998.3572-r4.ebuild
new file mode 100644
index 000000000000..31c91dcacac0
--- /dev/null
+++ b/dev-build/kbuild/kbuild-0.1.9998.3572-r4.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="A makefile framework for writing simple makefiles for complex tasks"
+HOMEPAGE="https://trac.netlabs.org/kbuild/wiki"
+SRC_URI="
+ https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${P}-src.tar.xz
+ https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${PN}-0.1.9998.3499-fix-clang-16.patch.bz2
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+#KEYWORDS="~amd64 ~x86" # for testing only. This version is buggy
+IUSE=""
+
+BDEPEND="
+ sys-apps/texinfo
+ app-alternatives/lex
+ sys-devel/gettext
+ virtual/pkgconfig
+ app-alternatives/yacc
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.1.9998.3407-unknown_configure_opt.patch"
+ "${FILESDIR}/${PN}-0.1.5-gentoo-docdir.patch"
+ "${FILESDIR}/${PN}-0.1.9998_pre20120806-qa.patch"
+ "${FILESDIR}/${PN}-0.1.9998_pre20110817-kash-link-pthread.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3572-fix-bison.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3572-fix-lto.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3499-implicit-function-declaration.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3499-int-conversion.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3499-fix-CC.patch"
+
+ "${WORKDIR}/${PN}-0.1.9998.3499-fix-clang-16.patch"
+)
+
+pkg_setup() {
+ # Package fails with distcc (bug #255371)
+ export DISTCC_DISABLE=1
+}
+
+src_prepare() {
+ default
+
+ # Add a file with the svn revision this package was pulled from
+ printf '%s\n' "KBUILD_SVN_REV := $(ver_cut 4)" \
+ > SvnInfo.kmk || die
+
+ cd "${S}/src/kmk" || die
+ eautoreconf
+ cd "${S}/src/sed" || die
+ eautoreconf
+
+ sed -e "s@_LDFLAGS\.$(tc-arch)*.*=@& ${LDFLAGS}@g" \
+ -e "s@_CFLAGS\.$(tc-arch)*.*=@& ${CFLAGS}@g" \
+ -e "s@_CXXFLAGS\.$(tc-arch)*.*=@& ${CXXFLAGS}@g" \
+ -i "${S}"/Config.kmk || die #332225
+ tc-export CC PKG_CONFIG RANLIB #AR does not work here
+}
+
+src_compile() {
+ kBuild/env.sh --full emake -f bootstrap.gmk AUTORECONF=true AR="$(tc-getAR)" \
+ || die "bootstrap failed"
+}
+
+src_install() {
+ kBuild/env.sh kmk NIX_INSTALL_DIR=/usr PATH_INS="${D}" install \
+ || die "install failed"
+}
diff --git a/dev-build/kbuild/kbuild-0.1.9998.3592.ebuild b/dev-build/kbuild/kbuild-0.1.9998.3592.ebuild
new file mode 100644
index 000000000000..0d1386d186ec
--- /dev/null
+++ b/dev-build/kbuild/kbuild-0.1.9998.3592.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="A makefile framework for writing simple makefiles for complex tasks"
+HOMEPAGE="https://trac.netlabs.org/kbuild/wiki"
+SRC_URI="
+ https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${P}-src.tar.xz
+ https://dev.gentoo.org/~ceamac/${CATEGORY}/${PN}/${PN}-0.1.9998.3499-fix-clang-16.patch.bz2
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+BDEPEND="
+ sys-apps/texinfo
+ app-alternatives/lex
+ sys-devel/gettext
+ virtual/pkgconfig
+ app-alternatives/yacc
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.1.9998.3407-unknown_configure_opt.patch"
+ "${FILESDIR}/${PN}-0.1.5-gentoo-docdir.patch"
+ "${FILESDIR}/${PN}-0.1.9998_pre20120806-qa.patch"
+ "${FILESDIR}/${PN}-0.1.9998_pre20110817-kash-link-pthread.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3572-fix-bison.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3572-fix-lto.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3499-implicit-function-declaration.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3499-int-conversion.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3499-fix-CC.patch"
+
+ "${WORKDIR}/${PN}-0.1.9998.3499-fix-clang-16.patch"
+)
+
+pkg_setup() {
+ # Package fails with distcc (bug #255371)
+ export DISTCC_DISABLE=1
+}
+
+src_prepare() {
+ default
+
+ # 905419 - build fails if /bin/sh is something other than bash
+ sed 's:ln -s /bin/sh:ln -s /bin/bash:' -i bootstrap.gmk || die
+
+ # Add a file with the svn revision this package was pulled from
+ printf '%s\n' "KBUILD_SVN_REV := $(ver_cut 4)" \
+ > SvnInfo.kmk || die
+
+ cd "${S}/src/kmk" || die
+ eautoreconf
+ cd "${S}/src/sed" || die
+ eautoreconf
+
+ sed -e "s@_LDFLAGS\.$(tc-arch)*.*=@& ${LDFLAGS}@g" \
+ -e "s@_CFLAGS\.$(tc-arch)*.*=@& ${CFLAGS}@g" \
+ -e "s@_CXXFLAGS\.$(tc-arch)*.*=@& ${CXXFLAGS}@g" \
+ -i "${S}"/Config.kmk || die #332225
+ tc-export CC PKG_CONFIG RANLIB #AR does not work here
+}
+
+src_compile() {
+ kBuild/env.sh --full emake -f bootstrap.gmk AUTORECONF=true AR="$(tc-getAR)" \
+ || die "bootstrap failed"
+}
+
+src_install() {
+ kBuild/env.sh kmk NIX_INSTALL_DIR=/usr PATH_INS="${D}" install \
+ || die "install failed"
+}
diff --git a/dev-build/kbuild/kbuild-9999.ebuild b/dev-build/kbuild/kbuild-9999.ebuild
new file mode 100644
index 000000000000..0c7ecee2efa6
--- /dev/null
+++ b/dev-build/kbuild/kbuild-9999.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools toolchain-funcs
+
+DESCRIPTION="A makefile framework for writing simple makefiles for complex tasks"
+HOMEPAGE="https://trac.netlabs.org/kbuild/wiki"
+if [[ "${PV}" == *9999 ]] ; then
+ inherit subversion
+ ESVN_REPO_URI="http://svn.netlabs.org/repos/kbuild/trunk"
+else
+ MY_P="${P}-src"
+ #SRC_URI="ftp://ftp.netlabs.org/pub/${PN}/${MY_P}.tar.gz"
+ SRC_URI="https://dev.gentoo.org/~polynomial-c/${MY_P}.tar.xz"
+ KEYWORDS="~amd64 ~x86"
+fi
+LICENSE="GPL-3+"
+SLOT="0"
+IUSE=""
+
+BDEPEND="
+ sys-apps/texinfo
+ app-alternatives/lex
+ sys-devel/gettext
+ virtual/pkgconfig
+ app-alternatives/yacc
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.1.9998.3407-unknown_configure_opt.patch"
+ "${FILESDIR}/${PN}-0.1.5-gentoo-docdir.patch"
+ "${FILESDIR}/${PN}-0.1.9998_pre20120806-qa.patch"
+ "${FILESDIR}/${PN}-0.1.9998_pre20110817-kash-link-pthread.patch"
+ #"${FILESDIR}/${PN}-0.1.9998.3407-gold.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3572-fix-bison.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3572-fix-lto.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3499-implicit-function-declaration.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3499-int-conversion.patch"
+ "${FILESDIR}/${PN}-0.1.9998.3499-fix-CC.patch"
+)
+
+pkg_setup() {
+ # Package fails with distcc (bug #255371)
+ export DISTCC_DISABLE=1
+}
+
+src_prepare() {
+ default
+
+ if [[ "${PV}" != *9999 ]] ; then
+ # Add a file with the svn revision this package was pulled from
+ printf '%s\n' "KBUILD_SVN_REV := $(ver_cut 4)" \
+ > SvnInfo.kmk || die
+ fi
+
+ cd "${S}/src/kmk" || die
+ eautoreconf
+ cd "${S}/src/sed" || die
+ eautoreconf
+
+ sed -e "s@_LDFLAGS\.$(tc-arch)*.*=@& ${LDFLAGS}@g" \
+ -e "s@_CFLAGS\.$(tc-arch)*.*=@& ${CFLAGS}@g" \
+ -e "s@_CXXFLAGS\.$(tc-arch)*.*=@& ${CXXFLAGS}@g" \
+ -i "${S}"/Config.kmk || die #332225
+ tc-export CC PKG_CONFIG RANLIB #AR does not work here
+}
+
+src_compile() {
+ kBuild/env.sh --full emake -f bootstrap.gmk AUTORECONF=true AR="$(tc-getAR)" \
+ || die "bootstrap failed"
+}
+
+src_install() {
+ kBuild/env.sh kmk NIX_INSTALL_DIR=/usr PATH_INS="${D}" install \
+ || die "install failed"
+}
diff --git a/dev-build/kbuild/metadata.xml b/dev-build/kbuild/metadata.xml
new file mode 100644
index 000000000000..b22a815172dd
--- /dev/null
+++ b/dev-build/kbuild/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ceamac@gentoo.org</email>
+ <name>Viorel Munteanu</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-build/netsurf-buildsystem/Manifest b/dev-build/netsurf-buildsystem/Manifest
new file mode 100644
index 000000000000..b56ac37e89b4
--- /dev/null
+++ b/dev-build/netsurf-buildsystem/Manifest
@@ -0,0 +1,5 @@
+AUX gentoo-helpers-r2.sh 388 BLAKE2B 2e7f1fd1eb7d9366514ccad5cb356689005f7028a423b60600ab8297b053ce37b154de37258ef4bfe759bf2b2b4007c3e416eeb3dd9937f75c9c41ef93c1bfc5 SHA512 8aad232d938e4aaac424389833012eb0c29409b8d558cf4cc6e894b7e3baa23ba29364aa1b7a2872bab6b507d52436cd5ecf3d5b42ccc52bcbed2d2c78034b36
+AUX netsurf-buildsystem-1.9-parallel-pre-post-targets.patch 2512 BLAKE2B 21a78fea7e204f1c2d4e2325309d24aef4f668d9a72f54d5f5da28667d635b52a281e0524dfffd70a9017a29200bde8a99caf4b0030d9f48422395d3416dd649 SHA512 5e951ddbfb88fb10e4936f8fc8e335c67e5416829741299cda1074665b189249e5c1b8a08e465161284a978a407bbef385cfdc0ae343d1132c42664045df1c73
+DIST buildsystem-1.9.tar.gz 38723 BLAKE2B 0fc4aae4f9a21058c7e437170e74147f6b6dc20220d53986a212e717846d5738df2771081f000705cd69335fbe61653b24a3e86d454a53b24f9cadd5e7aaac97 SHA512 52d7181af56946b95f22d5cc8fb2c58287fe43c940d4104e4a05744cfe332d0e0ea6da76cb8d635eb34cac4d66f53dc01ac5f440b82a207265d39744f112a80d
+EBUILD netsurf-buildsystem-1.9-r2.ebuild 775 BLAKE2B be39e45e36dc46faec18dfcb88b7d86442eb7a6be6a750689f80dc974bc64762fc750b1580fd23fc9ebe980ac0b8537cc209f34c16026851098ec758465c639a SHA512 983a6739f4bcf1ab3e22e743f73d4de39409791d47c0afc4ee139a1a38da8f296f50d94e1e029be55107f9964affa9c6dda525c47e2976a398d7ae6ca21b657b
+MISC metadata.xml 253 BLAKE2B 63a51cab94d3e978d2c7dd1d124efd1c9e11c5ae277806a1f12359b2db370c37382fc1947e85940f6b0a439e3d49eecdd8d9bfb96587352d6a83803d2fd40bb6 SHA512 8da7cfe0cd26a54c106f2c029bbde93abf77576835e4fa66bc538dcf12fd41160f7cc2dd843a221962bb9a6f965311c076a1557caa38d503f371569b84841e33
diff --git a/dev-build/netsurf-buildsystem/files/gentoo-helpers-r2.sh b/dev-build/netsurf-buildsystem/files/gentoo-helpers-r2.sh
new file mode 100644
index 000000000000..403279ecc5f6
--- /dev/null
+++ b/dev-build/netsurf-buildsystem/files/gentoo-helpers-r2.sh
@@ -0,0 +1,22 @@
+#!/bin/bash
+
+netsurf_define_makeconf() {
+ NETSURF_MAKECONF=(
+ PREFIX="${EPREFIX}/usr"
+ NSSHARED="${EPREFIX}/usr/share/netsurf-buildsystem"
+ LIBDIR="$(get_libdir)"
+ Q=
+ CC="$(tc-getCC)"
+ LD="$(tc-getLD)"
+ HOST_CC="\$(CC)"
+ BUILD_CC="$(tc-getBUILD_CC)"
+ CXX="$(tc-getCXX)"
+ BUILD_CXX="$(tc-getBUILD_CXX)"
+ CCOPT=
+ CCNOOPT=
+ CCDBG=
+ LDDBG=
+ AR="$(tc-getAR)"
+ WARNFLAGS=
+ )
+}
diff --git a/dev-build/netsurf-buildsystem/files/netsurf-buildsystem-1.9-parallel-pre-post-targets.patch b/dev-build/netsurf-buildsystem/files/netsurf-buildsystem-1.9-parallel-pre-post-targets.patch
new file mode 100644
index 000000000000..f1e51e7c5251
--- /dev/null
+++ b/dev-build/netsurf-buildsystem/files/netsurf-buildsystem-1.9-parallel-pre-post-targets.patch
@@ -0,0 +1,74 @@
+From 067a5105a76e51eebcdf7e7786d1f91040442d47 Mon Sep 17 00:00:00 2001
+From: Michael Orlitzky <michael@orlitzky.com>
+Date: Mon, 14 Aug 2023 13:23:09 -0400
+Subject: makefiles/Makefile.top: dependencies for PRE_ and POST_TARGETS
+
+The PRE_TARGETS and POST_TARGETS are supposed to be built before and
+after $(OBJECTS), respectively -- at least according to the comments
+in Makefile.top:
+
+ # List of targets to run before building $(OBJECT)
+ PRE_TARGETS :=
+ # List of targets to run after building $(OBJECT)
+ POST_TARGETS :=
+
+The default target however builds them at the same time as $(OUTPUT),
+
+ # Default target
+ all: $(PRE_TARGETS) $(OUTPUT) $(POST_TARGETS)
+
+where $(OUTPUT) basically just builds $(OBJECTS):
+
+ $(OUTPUT): $(BUILDDIR)/stamp $(OBJECTS)
+ ...
+
+As a result, there is a race condition when $(OBJECTS) truly requires
+$(PRE_TARGETS), because they may be built at the same time. The same
+problem arises the other way around with $(POST_TARGETS). As a
+demonstration, one can try to build the libsvgtiny shared library
+directly (note: the details are platform-dependent),
+
+ $ BD=build-x86_64-pc-linux-gnu-x86_64-pc-linux-gnu-release-lib-shared
+ $ make COMPONENT_TYPE=lib-shared "${BD}/libsvgtiny.so.0.1.7"
+ COMPILE: src/svgtiny.c
+ ...
+ src/svgtiny.c:24:10: fatal error: autogenerated_colors.c: No such file or directory
+ 24 | #include "autogenerated_colors.c"
+ | ^~~~~~~~~~~~~~~~~~~~~~~~
+ compilation terminated.
+
+This is because $(PRE_TARGETS) is not satisfied. In practice, this
+condition seems hard to hit unintentionally, but it can happen if you
+are building in parallel and extemely unlucky. A user discovered it in
+Gentoo bug 711200.
+
+The fix simply adds the stated dependencies on $(OBJECTS) and
+$(POST_TARGETS) to guarantee the correct order.
+---
+ makefiles/Makefile.top | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/makefiles/Makefile.top b/makefiles/Makefile.top
+index 0b0fe22..2a41697 100644
+--- a/makefiles/Makefile.top
++++ b/makefiles/Makefile.top
+@@ -422,6 +422,16 @@ else
+ endif
+ endif
+
++ifneq ($(PRE_TARGETS),)
++# Ensure that PRE_TARGETS are built before OBJECTS.
++$(OBJECTS): $(PRE_TARGETS)
++endif
++
++ifneq ($(POST_TARGETS),)
++# Ensure that POST_TARGETS are built after OBJECTS.
++$(POST_TARGETS): $(OBJECTS)
++endif
++
+ ###############################################################################
+ # Autogenerated, implied rules
+ ###############################################################################
+--
+cgit v1.2.1
+
diff --git a/dev-build/netsurf-buildsystem/metadata.xml b/dev-build/netsurf-buildsystem/metadata.xml
new file mode 100644
index 000000000000..f2908ee10b59
--- /dev/null
+++ b/dev-build/netsurf-buildsystem/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mjo@gentoo.org</email>
+ <name>Michael Orlitzky</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-build/netsurf-buildsystem/netsurf-buildsystem-1.9-r2.ebuild b/dev-build/netsurf-buildsystem/netsurf-buildsystem-1.9-r2.ebuild
new file mode 100644
index 000000000000..b284e33d542c
--- /dev/null
+++ b/dev-build/netsurf-buildsystem/netsurf-buildsystem-1.9-r2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="buildsystem-${PV}"
+DESCRIPTION="Build system used for netsurf and its libs"
+HOMEPAGE="https://www.netsurf-browser.org"
+SRC_URI="https://download.netsurf-browser.org/libs/releases/${MY_P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv sparc x86"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=( "${FILESDIR}/${P}-parallel-pre-post-targets.patch" )
+
+src_prepare() {
+ default
+ sed -e 's:/bin/which:which:' -i "makefiles/Makefile.tools" || die
+}
+
+src_install() {
+ emake DESTDIR="${D}" PREFIX="${EPREFIX}/usr" install
+ insinto /usr/share/netsurf-buildsystem
+ newins "${FILESDIR}/gentoo-helpers-r2.sh" gentoo-helpers.sh
+}
diff --git a/dev-build/qconf/Manifest b/dev-build/qconf/Manifest
new file mode 100644
index 000000000000..da1a9183e252
--- /dev/null
+++ b/dev-build/qconf/Manifest
@@ -0,0 +1,3 @@
+DIST qconf-2.5.tar.gz 100704 BLAKE2B 01dcca053e020cfc76e8595927dd3cedb6c82ade24381c95935c87994037ca5129f5e9e0ec58dd0e0fc6815b1500249b767367fbf7a16549459f814bb1591368 SHA512 4ce032eb5b9ba2d584807b3283b0dd5cf973c2fdd6792dfec13c54bb7c639d23eeaab03eb52f1a395113d973d2b01d87bf713d717e691641203865b934c7da5e
+EBUILD qconf-2.5.ebuild 829 BLAKE2B 1b9e015f2e8231de2a2d20915b2e82ac7a6f32ce8f8c4e9ee5d55acba011886a38d679a529b5a9339e760329851c33b8b25bcfe0a5e3d5b8da9b3bfd078684f5 SHA512 dd9a8963bec9ea5b0ca64bf456d3f8eae95141c539e4f6005fd34a0add5d61460035b594bf46ef6bcbf75a75fa7efe2cc77afede0abc9e8d005ed4ba406adb49
+MISC metadata.xml 474 BLAKE2B 578ef4c58cc040c5c5cb82978741b12dc05cb615a60bb2e0bb63af905e91fc458fcb5a2c701973bd18b1f2b7ed2f436a4f4777e3d35bdcea2f391fc6b7c6fe65 SHA512 b832daf18d39bd8ecda34ecdbfd6e203d78efedd9cef135e0260be6816e6f0b93b9e610137b598bb5298b46953e4a7f95b1d5fe48d50e8cb9de811d768713af5
diff --git a/dev-build/qconf/metadata.xml b/dev-build/qconf/metadata.xml
new file mode 100644
index 000000000000..ad30d60d9ef0
--- /dev/null
+++ b/dev-build/qconf/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>rion4ik@gmail.com</email>
+ <name>Sergey Ilinykh</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">psi-plus/qconf</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-build/qconf/qconf-2.5.ebuild b/dev-build/qconf/qconf-2.5.ebuild
new file mode 100644
index 000000000000..9da668afb0f6
--- /dev/null
+++ b/dev-build/qconf/qconf-2.5.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit qmake-utils
+
+DESCRIPTION="./configure like generator for qmake-based projects"
+HOMEPAGE="https://github.com/psi-im/qconf"
+SRC_URI="https://github.com/psi-im/qconf/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~hppa ppc ppc64 ~sparc x86"
+IUSE=""
+
+DEPEND="
+ dev-qt/qtcore:5
+ dev-qt/qtxml:5
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ # not autotools configure, so don't use econf
+ ./configure \
+ --prefix="${EPREFIX}"/usr \
+ --qtdir="$(qt5_get_libdir)/qt5" \
+ --extraconf=QMAKE_STRIP= \
+ --verbose || die "configure failed"
+
+ # just to set all the Gentoo toolchain flags
+ eqmake5
+}
+
+src_install() {
+ emake INSTALL_ROOT="${D}" install
+ einstalldocs
+ dodoc -r examples
+}
diff --git a/dev-build/scons/Manifest b/dev-build/scons/Manifest
new file mode 100644
index 000000000000..e5718cd1d21a
--- /dev/null
+++ b/dev-build/scons/Manifest
@@ -0,0 +1,13 @@
+AUX scons-4.1.0-env-passthrough.patch 1498 BLAKE2B 9aaae51779053518d983c9f028fff58a68a8c3e1213c8a746aad2e6dc6cebf139939dd3fb41a643c5db7e6079e09ad9850e552192e35bc4c8bf75818334b9e0d SHA512 4c5c3364575d95f4922b7c5b3c8f536a34b58136e7a604bc06760d94a8b20c7e8cdfd3100ab8c56e08b885e2e9521f036f4009512b1f1b10aec2785a74119683
+AUX scons-4.2.0-respect-cc-etc.patch 3493 BLAKE2B 3a36a9cced15ef81e671d8a90750afc14650fef564997d250ed63f0d9b1c91361872a8816cab9ba1f0ecae46711414ccac921ded954eff7c51e4161532030e5f SHA512 ce8690a126255047c8efbcad4e75b91fca07b0afac55d818d4f5467a41795394cae8f5d47484519c482bccfdae9c3df1b040689a656098f349629f1f609adbce
+DIST SCons-4.5.2.tar.gz 3194724 BLAKE2B c27d00e4bc319e3b8d5d35d50d5f03df15e2b72256e26000299ac95c5bdaffbe850942df9e3c23a6b0dbf55ea000f768a7938cfedc451cc7bd3e2a521292d49e SHA512 a9675f4b4dbedf8c7375d4d099216cd935c38944d57b0a08de2b9c133bb53184de0d5803edf5cb9f800f205b1252ceca3aaf33a10bf5d8b48eacd58866cf776c
+DIST SCons-4.6.0.tar.gz 3230138 BLAKE2B adef2ad5394404ae48d85e8c2a91b5af29e4f9bfa7455504ac1cb8d22d9a05c9ace823e02c8e7a32b34dee281635987487ad43ca94c6adea8e287b086a0732f0 SHA512 c7dc952117c23ac30b8cf1f70ef0c4ad1c0a86c9865fd255fde1a29ea2fbf9e26573b73430f6adc8c545dab753077f380d29d77ac4eede7fce959c86576d2354
+DIST scons-4.5.2-user.html 1655168 BLAKE2B dab0b29ae7bdadc96b9081d1d9e1d8b29cc62afb39f3161e4b7694b3e58a31e82446319f3efc560fdbe2c3a37b902c79c74d15a790c865ec3c6d27811f0443fe SHA512 6f2c74d15dca903d500bebe33f0af6b90ca1458c3796048077d411b2c269013696036c7e9ae8b1f300f37c05dd6246f8b12d35b503f9018f002b9d01fea22ba9
+DIST scons-4.5.2-user.pdf 3023818 BLAKE2B b67e2ca3326b5e9ec2cdb530b22d347072e9c906678509a21aae1622487054d4aa3446beb599dd52cd93ad769a5b325dd101356ea88baedba907c931e0acc792 SHA512 172f494fd5e73f654adf9c137bd09f74f57bd2ef17dbd0f02c66aea49798a3fb136f176ee85fc7432378af49e28cbb498e830e519df74652533ecb9f3e52ecf9
+DIST scons-4.5.2.gh.tar.gz 5844800 BLAKE2B c0f42994a178bb0fb329cfa05328bdae89b374a33a7806276e7529a81b37a4ea9f52d07fb2afc55adbe3c1e00661ea3c3d53e981be4a8a095079fc35403328f1 SHA512 aa788d9365a8b5119fef404869562f61cb854be7ceadb5f5d47523e262c07f93ea7476166b577edec25339a64dc6a1f4a6f391fa5aeeab3f086a6659fc72e1ce
+DIST scons-4.6.0-user.html 1670870 BLAKE2B 0c84248791bdce093cce4d45b525357aeb3ae69835337000d753b007dc77053d63e70363b3d73c3e7c8157b24d50f0a0216ea9993d90bb298ba2591d6fce4cb4 SHA512 5b8a2626bca361dbce1b0b40f6009752b2dbde7e1f5886b449b9015514951b2e998ede0582876411e7cde56b4ea05546e2db8a8fdcada349c39a126c2e50be1a
+DIST scons-4.6.0-user.pdf 3058220 BLAKE2B 3a04e1c0fab47f2a1327f20d3ee500d7861599dc31b0007dd196173af5b880d9737ff528b419896e905cae5a5744c74ef38c2b29bc7945ef4157a79c1c6dabe9 SHA512 6a5ca9cdede81ec9536bb32d7df157fd1efd4b3e3f5afa386b7ecaa45d1fc212015673ccec5ab3283475ab0ee6ef001c111f51b7d3bb64dda664e61d11cbaec0
+DIST scons-4.6.0.gh.tar.gz 5891032 BLAKE2B 9aeda2ef899dcaf5bc7ca3bc77c0615544f2308f56ef095ad835d5cc748355b467a905ec737eef61a4afd183ff0f041dc244bdd58858ba3abc4f3a4efd9f8dc7 SHA512 d7dd30bbc94ec014b12b37a106aa536dd5c8b16e9f1605b68cad6721cf6e3959add1f75a42693fd8499734ca19eb76f648800d7cc8081fe334282841cd406954
+EBUILD scons-4.5.2.ebuild 4534 BLAKE2B 05926c7da2cabd75c87b904b08c2cc12f18f9f67e09e78c67e674baa67ec62b8bcdbaa7517b9155dd594b1c369686d3796363407149b670c23abf1c3275211c4 SHA512 b6a4ec9877d0ef18ed45aefafb77da71128b941540c3ff9929db07d709c0c019fd7ae2fbf29bf1d5a5c902a23fbfc66fe0cf4ac318da5c53db5d2e640834e0f6
+EBUILD scons-4.6.0-r1.ebuild 4608 BLAKE2B 1145b083da2e3e562d58dd10da6a2ea0f9e8146bd84eecf2f819776131bd29205c542ade92ead5369ceae474933a1fce606c2ba359fecd1484771b17e7ba78be SHA512 c001e31e7f9f97e171d6f9a94378444a65da89bedeaa75bc7e2df69b94eedde996a574f3d2e815a5b3ead85e5cbfda5e792ae88774967e2066dd846cad4ef900
+MISC metadata.xml 803 BLAKE2B 17a1596fb7b6991a9c4732c8e8c1231cd57ba42ae9e0b65a475f4a00503bacba23ae671df112909688574f836962951dcd2fd7a35bc83c34a0eeb72ecb96bbc2 SHA512 c1451442bdf49d7c85cc84831ea3a8a540581680858dc1ac117080b6a8558419d004952ade0410c0b31d9d241ae3d5eef1c81525ecb80c40cdc380b50f49e1ad
diff --git a/dev-build/scons/files/scons-4.1.0-env-passthrough.patch b/dev-build/scons/files/scons-4.1.0-env-passthrough.patch
new file mode 100644
index 000000000000..06ec2f217611
--- /dev/null
+++ b/dev-build/scons/files/scons-4.1.0-env-passthrough.patch
@@ -0,0 +1,41 @@
+From fb07dc4b4fa178b0c424c5f400b18669abd8960e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+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/dev-build/scons/files/scons-4.2.0-respect-cc-etc.patch b/dev-build/scons/files/scons-4.2.0-respect-cc-etc.patch
new file mode 100644
index 000000000000..a075fec91d22
--- /dev/null
+++ b/dev-build/scons/files/scons-4.2.0-respect-cc-etc.patch
@@ -0,0 +1,96 @@
+From b6ba1f2b1feda529eca20fb8980f7c6c52397df6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Thu, 10 May 2018 08:01:08 +0200
+Subject: [PATCH] posix: Also force common toolchain vars for Gentoo
+
+---
+ SCons/Platform/posix.py | 21 +++++++++++++++++++++
+ SCons/Tool/cc.py | 3 ++-
+ SCons/Tool/cxx.py | 3 ++-
+ SCons/Tool/link.py | 3 ++-
+ 4 files changed, 27 insertions(+), 3 deletions(-)
+
+diff --git a/src/SCons/Platform/posix.py b/src/SCons/Platform/posix.py
+index 37cd2377f..1246781de 100644
+--- a/src/SCons/Platform/posix.py
++++ b/src/SCons/Platform/posix.py
+@@ -33,6 +33,7 @@ import subprocess
+ from SCons.Platform import TempFileMunge
+ from SCons.Platform.virtualenv import ImportVirtualenv
+ from SCons.Platform.virtualenv import ignore_virtualenv, enable_virtualenv
++import SCons.Util
+
+ exitvalmap = {
+ 2 : 127,
+@@ -86,6 +87,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 590ec5fd3..5f9229a02 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 128cdc4f6..1f852b64c 100644
+--- a/src/SCons/Tool/cxx.py
++++ b/src/SCons/Tool/cxx.py
+@@ -69,7 +69,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 24d17a31f..4ea9917e8 100644
+--- a/src/SCons/Tool/link.py
++++ b/src/SCons/Tool/link.py
+@@ -49,7 +49,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.32.0
+
diff --git a/dev-build/scons/metadata.xml b/dev-build/scons/metadata.xml
new file mode 100644
index 000000000000..aacbf74f7fb9
--- /dev/null
+++ b/dev-build/scons/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <longdescription lang="en">
+ 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.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">SCons/scons</remote-id>
+ <remote-id type="pypi">SCons</remote-id>
+ <remote-id type="sourceforge">scons</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-build/scons/scons-4.5.2.ebuild b/dev-build/scons/scons-4.5.2.ebuild
new file mode 100644
index 000000000000..e62d6e75bd0b
--- /dev/null
+++ b/dev-build/scons/scons-4.5.2.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 multiprocessing
+
+MY_P="SCons-${PV}"
+DESCRIPTION="Extensible Python-based build utility"
+HOMEPAGE="
+ https://www.scons.org/
+ https://github.com/SCons/scons/
+ https://pypi.org/project/SCons/
+"
+SRC_URI="
+ https://downloads.sourceforge.net/project/${PN}/${PN}/${PV}/${MY_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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+src_unpack() {
+ # use the git directory structure, then unpack the pypi tarball
+ # on top of it to make our life easier
+ if use test; then
+ unpack "${P}.gh.tar.gz"
+ else
+ mkdir -p "${P}" || die
+ fi
+
+ tar -C "${P}" --strip-components=1 --no-same-owner \
+ -xzf "${DISTDIR}/${MY_P}.tar.gz" || die
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # TODO: rebase the patches <4.5.1-r2 is gone
+ # support env passthrough for Gentoo ebuilds
+ eapply -p2 "${FILESDIR}"/scons-4.1.0-env-passthrough.patch
+ # respect CC, CXX, C*FLAGS, LDFLAGS by default
+ eapply -p2 "${FILESDIR}"/scons-4.2.0-respect-cc-etc.patch
+
+ 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
+ test/TEX/newglossary.py
+ test/TEX/variant_dir_newglossary.py
+ test/Configure/option--config.py
+ # broken by commas in date, sic!
+ test/option/option-v.py
+ test/Interactive/version.py
+ # warnings from new binutils?
+ test/AS/as-live.py
+ test/AS/nasm.py
+ # hangs
+ test/KeyboardInterrupt.py
+ # requires f77 executable
+ test/Fortran/F77PATH.py
+ test/Fortran/FORTRANPATH.py
+ test/Fortran/gfortran.py
+ # TODO, these seem to be caused by our patches
+ test/Repository/include.py
+ test/Repository/multi-dir.py
+ test/Repository/variants.py
+ test/virtualenv/activated/option/ignore-virtualenv.py
+ # broken by CC being set? *facepalm*
+ test/LINK/applelink.py
+ test/ToolSurrogate.py
+ # no clue but why would we care about rpm?
+ test/packaging/option--package-type.py
+ test/packaging/rpm/cleanup.py
+ test/packaging/rpm/internationalization.py
+ test/packaging/rpm/multipackage.py
+ test/packaging/rpm/package.py
+ test/packaging/rpm/tagging.py
+ # apparently fragile to... limits?
+ # https://bugs.gentoo.org/908347#c7
+ test/builderrors.py
+ )
+
+ if ! use amd64 && ! use x86 ; then
+ # These tests are currently broken on arm and other non-amd64/x86 platforms
+ # Work seems to be ongoing in e.g. https://github.com/SCons/scons/pull/4022 to
+ # better plumb up the MSVC tests for alternative arches.
+ # Try again after 4.2.0.
+ # See also: https://pairlist4.pair.net/pipermail/scons-users/2020-November/008452.html
+ # bug #757534
+ remove_tests+=(
+ test/MSVS/vs-7.0-scc-files.py
+ test/MSVS/vs-7.0-scc-legacy-files.py
+ test/MSVS/vs-7.1-scc-files.py
+ test/MSVS/vs-7.1-scc-legacy-files.py
+ test/MSVS/vs-scc-files.py
+ test/MSVS/vs-scc-legacy-files.py
+ )
+ fi
+
+ 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}"
+
+ # sigh
+ rm "${BUILD_DIR}/install/usr/bin/.sconsign" || die
+}
+
+python_install_all() {
+ rm "${ED}"/usr/*.1 || die
+ distutils-r1_python_install_all
+
+ doman *.1
+ use doc && dodoc "${DISTDIR}/${P}"-user.{pdf,html}
+}
diff --git a/dev-build/scons/scons-4.6.0-r1.ebuild b/dev-build/scons/scons-4.6.0-r1.ebuild
new file mode 100644
index 000000000000..acf4b5429a1a
--- /dev/null
+++ b/dev-build/scons/scons-4.6.0-r1.ebuild
@@ -0,0 +1,160 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 multiprocessing
+
+MY_P="SCons-${PV}"
+DESCRIPTION="Extensible Python-based build utility"
+HOMEPAGE="
+ https://www.scons.org/
+ https://github.com/SCons/scons/
+ https://pypi.org/project/SCons/
+"
+SRC_URI="
+ https://downloads.sourceforge.net/project/${PN}/${PN}/${PV}/${MY_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 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+src_unpack() {
+ # use the git directory structure, then unpack the pypi tarball
+ # on top of it to make our life easier
+ if use test; then
+ unpack "${P}.gh.tar.gz"
+ else
+ mkdir -p "${P}" || die
+ fi
+
+ tar -C "${P}" --strip-components=1 --no-same-owner \
+ -xzf "${DISTDIR}/${MY_P}.tar.gz" || die
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # fixed in .post1 release
+ rm -r SCons/Tool/docbook/__pycache__ || die
+
+ # TODO: rebase the patches <4.5.1-r2 is gone
+ # support env passthrough for Gentoo ebuilds
+ eapply -p2 "${FILESDIR}"/scons-4.1.0-env-passthrough.patch
+ # respect CC, CXX, C*FLAGS, LDFLAGS by default
+ eapply -p2 "${FILESDIR}"/scons-4.2.0-respect-cc-etc.patch
+
+ 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
+ test/TEX/newglossary.py
+ test/TEX/variant_dir_newglossary.py
+ test/Configure/option--config.py
+ # broken by commas in date, sic!
+ test/option/option-v.py
+ test/Interactive/version.py
+ # warnings from new binutils?
+ test/AS/as-live.py
+ test/AS/nasm.py
+ # hangs
+ test/KeyboardInterrupt.py
+ # requires f77 executable
+ test/Fortran/F77PATH.py
+ test/Fortran/FORTRANPATH.py
+ test/Fortran/gfortran.py
+ # TODO, these seem to be caused by our patches
+ test/Repository/include.py
+ test/Repository/multi-dir.py
+ test/Repository/variants.py
+ test/virtualenv/activated/option/ignore-virtualenv.py
+ # broken by CC being set? *facepalm*
+ test/LINK/applelink.py
+ test/ToolSurrogate.py
+ # no clue but why would we care about rpm?
+ test/packaging/option--package-type.py
+ test/packaging/rpm/cleanup.py
+ test/packaging/rpm/internationalization.py
+ test/packaging/rpm/multipackage.py
+ test/packaging/rpm/package.py
+ test/packaging/rpm/tagging.py
+ # apparently fragile to... limits?
+ # https://bugs.gentoo.org/908347#c7
+ test/builderrors.py
+ )
+
+ if ! use amd64 && ! use x86 ; then
+ # These tests are currently broken on arm and other non-amd64/x86 platforms
+ # Work seems to be ongoing in e.g. https://github.com/SCons/scons/pull/4022 to
+ # better plumb up the MSVC tests for alternative arches.
+ # Try again after 4.2.0.
+ # See also: https://pairlist4.pair.net/pipermail/scons-users/2020-November/008452.html
+ # bug #757534
+ remove_tests+=(
+ test/MSVS/vs-7.0-scc-files.py
+ test/MSVS/vs-7.0-scc-legacy-files.py
+ test/MSVS/vs-7.1-scc-files.py
+ test/MSVS/vs-7.1-scc-legacy-files.py
+ test/MSVS/vs-scc-files.py
+ test/MSVS/vs-scc-legacy-files.py
+ )
+ fi
+
+ 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}"
+
+ # sigh
+ rm "${BUILD_DIR}/install/usr/bin/.sconsign" || die
+}
+
+python_install_all() {
+ rm "${ED}"/usr/*.1 || die
+ distutils-r1_python_install_all
+
+ doman *.1
+ use doc && dodoc "${DISTDIR}/${P}"-user.{pdf,html}
+}
diff --git a/dev-build/tup/Manifest b/dev-build/tup/Manifest
new file mode 100644
index 000000000000..0b3535746170
--- /dev/null
+++ b/dev-build/tup/Manifest
@@ -0,0 +1,6 @@
+DIST tup-0.7.10.tar.gz 4651047 BLAKE2B 067730f8fa202dfff7fbf566fef609038839a47ddb9f9029155b4eee428eae9fd088bab1c5373155de0b445700cc8b7cbe0c40dd3d9665504c9e37de24b01ed4 SHA512 65009e57be2ae85187779f5b9317f2850b007bfbfef92c7191648ba4e927a5709a0d48e8a1ad8b8480e7340568f4b207e8d0e8874f896bbbb65983e80f8b5c24
+DIST tup-0.7.11.tar.gz 4683309 BLAKE2B 2914339499e80cf52318aaf9d682ac482f17c2acf6eeebb2dac84776cd4407fc23fbb1c61e5e7634ce6f18563e24ff524b284cbe8b46306f82870fdb32166efb SHA512 b923366bb15ce6e5be027b6b3e98b1029cd7dbe6ce2a8dd37a8e4b71521c8ff6d95d88fe296f5ca4719bbc048c6aaa5eacdd8cac1410d46df54ac674d6fd8aee
+EBUILD tup-0.7.10.ebuild 2662 BLAKE2B 2bc9091cb743ab36924b4b5df751eaada0281e78d616f6c6661b060aaad3f630ce3733dadd10feeae2777c1e6a2db02e945f259965680bf67167ff3f7c997473 SHA512 30d6b8d70583f30adfcd4c54c4b07e237c86cca6f532e8debb8314ff357b817856aab7cca3f70c4432cfeb74d7d5ac8a8998d6b96813ac2dc53f9c14589e8dd7
+EBUILD tup-0.7.11.ebuild 3033 BLAKE2B 3c610daa3adb7a664bc66f781640ab3df7998f9d256afea20cee167215fa3b1b5fe8c48e72027a938ccd0bd8b3c7dd4db80c0f66a1a6558fdfa4c2b72264c489 SHA512 4e7ea62b47ded5d391e57769b7cb8780fd4d4d1bdf95a93f1876b05cb1114b5249fc2b3934f7a688bbd8dec7a125072f583644e2a56dd3566927564404ef3c98
+EBUILD tup-9999.ebuild 2447 BLAKE2B d35cd99bf084a28e14b2622f8c90c790471cc1654012f6a50ef0ebde9c066b300b76842b319fdc4d7c60311a98f2fecb5aa8205eb8220ce22ed4ca724136909c SHA512 5e3b6f9e0f082fa00ebd2b079ccca4087865892a97c6206ed6082394056e57ffea7d759439bed8de9ba41209a00f5e675332af193c8511fd577aa66da0a95c97
+MISC metadata.xml 243 BLAKE2B b87b031fb5a945f70afbd431c56a3290c4cb0926e55d9a7bb10040806d40d494688e7c532131e6b47d9fc79237c08b41ea60fb14eb0e84b295788a5cb7b69bb5 SHA512 7f3a04c70b392b12fe3efb4c2fc0d75f7e9dd1e3b74568862913c678843e52883584bc892e8059b21c94bb515831923259a086f99481adb02cee02d852ae34ed
diff --git a/dev-build/tup/metadata.xml b/dev-build/tup/metadata.xml
new file mode 100644
index 000000000000..1648a2ba9c49
--- /dev/null
+++ b/dev-build/tup/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <upstream>
+ <remote-id type="github">gittup/tup</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-build/tup/tup-0.7.10.ebuild b/dev-build/tup/tup-0.7.10.ebuild
new file mode 100644
index 000000000000..536d341d02b8
--- /dev/null
+++ b/dev-build/tup/tup-0.7.10.ebuild
@@ -0,0 +1,102 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit linux-info toolchain-funcs
+
+DESCRIPTION="File-based build system"
+HOMEPAGE="https://gittup.org/tup/"
+# Tup itself is GPLv2, but it bundles differently licensed software:
+# - lua: MIT
+# - sqlite (unused in this ebuild): public domain
+# - inih: 3-clause BSD
+# - red-black tree implementation: 2-clause BSD
+# - queue implementation: 3-clause BSD
+LICENSE="GPL-2 MIT public-domain BSD BSD-2"
+SLOT="0"
+
+if [[ "${PV}" == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/gittup/tup.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/gittup/tup/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64"
+fi
+
+DEPEND="
+ dev-db/sqlite:=
+ dev-libs/libpcre:=
+ sys-fs/fuse:3=
+"
+RDEPEND="${DEPEND}"
+
+CONFIG_CHECK="~FUSE_FS ~NAMESPACES"
+WARNING_FUSE_FS="CONFIG_FUSE_FS is required for tup to work"
+WARNING_NAMESPACES="CONFIG_NAMESPACES is required for tup to work as intended (workaround: set TUP_NO_NAMESPACING env var when running tup)"
+
+src_prepare() {
+ # Use our toolchain
+ sed -i Tuprules.tup \
+ -e "s|CC = gcc|CC = $(tc-getCC) ${CFLAGS} ${LDFLAGS}|" \
+ -e "s|ar crs|$(tc-getAR) crs|" || die
+
+ if [[ ${PV} != 9999 ]]; then
+ # Avoid invoking `git` to find version, use ours
+ sed -i src/tup/link.sh \
+ -e 's|`git describe`|v'"${PV}|" || die
+ fi
+
+ echo "CONFIG_TUP_USE_SYSTEM_SQLITE=y" >> tup.config
+
+ default
+}
+
+src_compile() {
+ # Disabling namespacing because it leads to accessing /proc/<pid>/setgroups
+ # which violates sandboxing.
+ export TUP_NO_NAMESPACING=1
+ ./bootstrap-nofuse.sh || die
+ unset TUP_NO_NAMESPACING
+}
+
+src_install() {
+ dobin tup
+ dolib.a libtup_client.a
+ doheader tup_client.h
+ doman tup.1
+}
+
+src_test() {
+ [[ -e /dev/fuse ]] || die "/dev/fuse is required for tests to work"
+ # tup uses fuse when tracking dependencies.
+ addwrite /dev/fuse
+
+ # Disabling namespacing because it leads to accessing /proc/<pid>/setgroups
+ # which violates sandboxing.
+ export TUP_NO_NAMESPACING=1
+
+ # Skip tests which require namespacing or root privileges.
+ pushd test || die
+ rm -v ./*full-deps*.sh \
+ t2150-lua-tupdefault.sh \
+ t2172-lua-relativedir.sh \
+ t2187-tupdefault.sh \
+ t2197-tupdefault-ghost.sh \
+ t4069-gcc-coverage.sh \
+ t4072-proc-self.sh \
+ t4074-getpwd.sh \
+ t4131-proc-self-exe.sh \
+ t4132-proc-meminfo.sh \
+ t4171-dev-null.sh \
+ t4200-ccache.sh \
+ t4201-ccache2.sh \
+ t4202-clang.sh \
+ t5083-symlink-fullpath.sh \
+ t5084-symlink-fullpath2.sh \
+ t5103-python-sh.sh || die
+ ./test.sh || die
+ popd || die
+
+ unset TUP_NO_NAMESPACING
+}
diff --git a/dev-build/tup/tup-0.7.11.ebuild b/dev-build/tup/tup-0.7.11.ebuild
new file mode 100644
index 000000000000..773da29d997b
--- /dev/null
+++ b/dev-build/tup/tup-0.7.11.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit linux-info toolchain-funcs
+
+DESCRIPTION="File-based build system"
+HOMEPAGE="https://gittup.org/tup/ https://github.com/gittup/tup"
+# Tup itself is GPLv2, but it bundles differently licensed software:
+# - lua: MIT
+# - sqlite (unused in this ebuild): public domain
+# - inih: 3-clause BSD
+# - red-black tree implementation: 2-clause BSD
+# - queue implementation: 3-clause BSD
+LICENSE="GPL-2 MIT public-domain BSD BSD-2"
+SLOT="0"
+
+if [[ "${PV}" == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/gittup/tup.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/gittup/tup/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64"
+fi
+
+DEPEND="
+ dev-db/sqlite
+ dev-libs/libpcre
+ sys-fs/fuse:3
+"
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+CONFIG_CHECK="~FUSE_FS ~NAMESPACES"
+WARNING_FUSE_FS="CONFIG_FUSE_FS is required for tup to work"
+WARNING_NAMESPACES="CONFIG_NAMESPACES is required for tup to work as intended (workaround: set TUP_NO_NAMESPACING env var when running tup)"
+
+src_prepare() {
+ # Use our toolchain
+ sed -i Tuprules.tup \
+ -e "s|CC = gcc|CC = $(tc-getCC) ${CFLAGS} ${LDFLAGS}|" \
+ -e "s|ar crs|$(tc-getAR) crs|" || die
+
+ if [[ ${PV} != 9999 ]]; then
+ # Avoid invoking `git` to find version, use ours
+ sed -i src/tup/link.sh \
+ -e 's|`git describe`|v'"${PV}|" || die
+ fi
+
+ echo "CONFIG_TUP_USE_SYSTEM_SQLITE=y" >> tup.config
+
+ default
+}
+
+src_compile() {
+ # Disabling namespacing because it leads to accessing /proc/<pid>/setgroups
+ # which violates sandboxing.
+ export TUP_NO_NAMESPACING=1
+ ./bootstrap-nofuse.sh || die
+ unset TUP_NO_NAMESPACING
+}
+
+src_install() {
+ dobin tup
+ dolib.a libtup_client.a
+ doheader tup_client.h
+ doman tup.1
+}
+
+src_test() {
+ [[ -e /dev/fuse ]] || die "/dev/fuse is required for tests to work"
+ # tup uses fuse when tracking dependencies.
+ addwrite /dev/fuse
+
+ # Disabling namespacing because it leads to accessing /proc/<pid>/setgroups
+ # which violates sandboxing.
+ export TUP_NO_NAMESPACING=1
+
+ # Skip tests which require namespacing or root privileges.
+ pushd test || die
+ rm -v t2150-lua-tupdefault.sh \
+ t2172-lua-relativedir.sh \
+ t2187-tupdefault.sh \
+ t2197-tupdefault-ghost.sh \
+ t2220-lua-open-external.sh \
+ t4062-full-deps.sh \
+ t4063-full-deps2.sh \
+ t4064-full-deps3.sh \
+ t4065-full-deps-proc.sh \
+ t4067-full-deps5.sh \
+ t4069-gcc-coverage.sh \
+ t4072-proc-self.sh \
+ t4074-getpwd.sh \
+ t4131-proc-self-exe.sh \
+ t4132-proc-meminfo.sh \
+ t4171-dev-null.sh \
+ t4200-ccache.sh \
+ t4201-ccache2.sh \
+ t4202-clang.sh \
+ t4205-full-deps6.sh \
+ t4206-full-deps7.sh \
+ t4207-full-deps8.sh \
+ t4208-full-deps-external.sh \
+ t4209-full-deps-external2.sh \
+ t4210-full-deps-getaddrinfo.sh \
+ t4215-full-deps-get-nprocs.sh \
+ t5083-symlink-fullpath.sh \
+ t5084-symlink-fullpath2.sh \
+ t5103-python-sh.sh \
+ t7048-full-deps.sh \
+ t8105-variant-parse-progress.sh || die
+ ./test.sh || die
+ popd || die
+
+ unset TUP_NO_NAMESPACING
+}
diff --git a/dev-build/tup/tup-9999.ebuild b/dev-build/tup/tup-9999.ebuild
new file mode 100644
index 000000000000..e750b58f90de
--- /dev/null
+++ b/dev-build/tup/tup-9999.ebuild
@@ -0,0 +1,101 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit linux-info toolchain-funcs
+
+DESCRIPTION="File-based build system"
+HOMEPAGE="https://gittup.org/tup/"
+# Tup itself is GPLv2, but it bundles differently licensed software:
+# - lua: MIT
+# - sqlite (unused in this ebuild): public domain
+# - inih: 3-clause BSD
+# - red-black tree implementation: 2-clause BSD
+# - queue implementation: 3-clause BSD
+LICENSE="GPL-2 MIT public-domain BSD BSD-2"
+SLOT="0"
+
+if [[ "${PV}" == 9999 ]]; then
+ EGIT_REPO_URI="https://github.com/gittup/tup.git"
+ inherit git-r3
+else
+ SRC_URI="https://github.com/gittup/tup/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64"
+fi
+
+DEPEND="
+ dev-db/sqlite:=
+ dev-libs/libpcre:=
+ sys-fs/fuse:=
+"
+RDEPEND="${DEPEND}"
+
+CONFIG_CHECK="~FUSE_FS ~NAMESPACES"
+WARNING_FUSE_FS="CONFIG_FUSE_FS is required for tup to work"
+WARNING_NAMESPACES="CONFIG_NAMESPACES is required for tup to work as intended (workaround: set TUP_NO_NAMESPACING env var when running tup)"
+
+src_prepare() {
+ # Use our toolchain
+ sed -i Tuprules.tup \
+ -e "s:CC = gcc:CC = $(tc-getCC) ${CFLAGS} ${LDFLAGS}:" \
+ -e "s:ar crs:$(tc-getAR) crs:"
+
+ if [[ ${PV} != 9999 ]]; then
+ # Avoid invoking `git` to find version, use ours
+ sed -i src/tup/link.sh \
+ -e 's;`git describe`;v'"${PV};"
+ fi
+
+ default
+}
+
+src_configure() {
+ echo "CONFIG_TUP_USE_SYSTEM_SQLITE=y" >> tup.config
+}
+
+src_compile() {
+ # Disabling namespacing because it leads to accessing /proc/<pid>/setgroups
+ # which violates sandboxing.
+ export TUP_NO_NAMESPACING=1
+ ./bootstrap-nofuse.sh || die
+ unset TUP_NO_NAMESPACING
+}
+
+src_install() {
+ dobin tup
+ dolib.a libtup_client.a
+ doheader tup_client.h
+ doman tup.1
+}
+
+src_test() {
+ [[ -e /dev/fuse ]] || die "/dev/fuse is required for tests to work"
+ # tup uses fuse when tracking dependencies.
+ addwrite /dev/fuse
+
+ # Disabling namespacing because it leads to accessing /proc/<pid>/setgroups
+ # which violates sandboxing.
+ export TUP_NO_NAMESPACING=1
+
+ # Skip tests which require namespacing or root privileges.
+ pushd test || die
+ rm -v ./*full-deps*.sh
+ SKIPPED_TESTS=(
+ t4069-gcc-coverage.sh
+ t4072-proc-self.sh
+ t4074-getpwd.sh
+ t4131-proc-self-exe.sh
+ t4132-proc-meminfo.sh
+ t4171-dev-null.sh
+ t4202-clang.sh
+ t4200-ccache.sh
+ t5083-symlink-fullpath.sh
+ t5084-symlink-fullpath2.sh
+ )
+ rm ${SKIPPED_TESTS[@]} || die
+ ./test.sh || die
+ popd || die
+
+ unset TUP_NO_NAMESPACING
+}
diff --git a/dev-build/xfce4-dev-tools/Manifest b/dev-build/xfce4-dev-tools/Manifest
new file mode 100644
index 000000000000..8225a41cb1f5
--- /dev/null
+++ b/dev-build/xfce4-dev-tools/Manifest
@@ -0,0 +1,5 @@
+DIST xfce4-dev-tools-4.18.1.tar.bz2 363652 BLAKE2B f78c39de833353aecd57db6d199a2bdb1a478eff996732653f49199cf8b9c6d54c02c969f823ebc441415fb6376d588e79796bcaa48bb4349c3d54068d86622b SHA512 8fa65aa57450d3e65ef55bf86e8a113c06e64289a9f71875049b422da2a8bdfcdd36c3a3e94a3c0e7c602a3e9577eca14d63318489f81fd88d6743e188636304
+DIST xfce4-dev-tools-4.19.0.tar.bz2 368601 BLAKE2B 349e3dcf69c1fc1f0af052546d78b86ffc89ca81b66c27e8b7058f549adb0c6a16e6c462a6f5e00e66dc4b419dd2ea7fa43c210d83153e23254b8b5ae5a77fbf SHA512 7372efcb686fe6c1e42f17564d693cbe24792d00fbf131faff46040c8940ad355067d4a4cc5d5de5ec6b9707943c5db5de84eee4a4ff894ef8c33c3616a26044
+EBUILD xfce4-dev-tools-4.18.1.ebuild 666 BLAKE2B 520866f280714c789a29559a72f5a43263725457492b0ef2a8fd7561efb28493a05305b21df7abbbb180bb2cd1282dd910fd9c8bdfc1e45e54a4230f04e9f016 SHA512 22553bcd50e2296f3d36b27f6263c15e165f8488ee9a013ce4645a9454435ddf931469fcd23750e03518153b1bba3e7503f2f4215aa0c47d2cd27b2172dca075
+EBUILD xfce4-dev-tools-4.19.0.ebuild 672 BLAKE2B 4dacbafb5a5cbb92fa8358fb2b2408e0a97dc8475bf5b6dc5fbd9ff9fe5eead5ba1c983ce7122de70914e68a06d3aa761d7452aa380eb1b112c831eafbe18f0f SHA512 1023fee5ab09413b836178c626881557172c7607adfb03f2e6fab537729cbd71c0bb243445950b4c4c3e66324a1a523204ea948e71c68c43c4be5c77147c787b
+MISC metadata.xml 248 BLAKE2B 83bf47dc3dbedea8a88932e922075f0ba8fd841433c4ab750e2ab61c22e8cbfaa1acb04a903d89ef5140a75dfc4c4899354623e0160df5b7c178c190f8494515 SHA512 b5200cfe30adef8e869fada87f1b4171210b2427cd3ac12edef70948f305d5e612ca5f24d377f9823a6022c8867db635db50ddd3d6cb362d6b0137c299fe07e5
diff --git a/dev-build/xfce4-dev-tools/metadata.xml b/dev-build/xfce4-dev-tools/metadata.xml
new file mode 100644
index 000000000000..2b8ef06e9a39
--- /dev/null
+++ b/dev-build/xfce4-dev-tools/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>xfce@gentoo.org</email>
+ <name>XFCE Team</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-build/xfce4-dev-tools/xfce4-dev-tools-4.18.1.ebuild b/dev-build/xfce4-dev-tools/xfce4-dev-tools-4.18.1.ebuild
new file mode 100644
index 000000000000..ba794cbfcb11
--- /dev/null
+++ b/dev-build/xfce4-dev-tools/xfce4-dev-tools-4.18.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A set of scripts and m4/autoconf macros that ease build system maintenance"
+HOMEPAGE="
+ https://docs.xfce.org/xfce/xfce4-dev-tools/start
+ https://gitlab.xfce.org/xfce/xfce4-dev-tools/
+"
+SRC_URI="https://archive.xfce.org/src/xfce/${PN}/${PV%.*}/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
+
+DEPEND="
+ >=dev-libs/glib-2.66.0
+"
+RDEPEND="
+ ${DEPEND}
+"
+# libxslt for xsltproc
+BDEPEND="
+ dev-libs/libxslt
+ virtual/pkgconfig
+"
diff --git a/dev-build/xfce4-dev-tools/xfce4-dev-tools-4.19.0.ebuild b/dev-build/xfce4-dev-tools/xfce4-dev-tools-4.19.0.ebuild
new file mode 100644
index 000000000000..2bdd5084a92f
--- /dev/null
+++ b/dev-build/xfce4-dev-tools/xfce4-dev-tools-4.19.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A set of scripts and m4/autoconf macros that ease build system maintenance"
+HOMEPAGE="
+ https://docs.xfce.org/xfce/xfce4-dev-tools/start
+ https://gitlab.xfce.org/xfce/xfce4-dev-tools/
+"
+SRC_URI="https://archive.xfce.org/src/xfce/${PN}/${PV%.*}/${P}.tar.bz2"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-solaris"
+
+DEPEND="
+ >=dev-libs/glib-2.66.0
+"
+RDEPEND="
+ ${DEPEND}
+"
+# libxslt for xsltproc
+BDEPEND="
+ dev-libs/libxslt
+ virtual/pkgconfig
+"