summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-01-13 19:12:15 +0000
committerV3n3RiX <venerix@koprulu.sector>2024-01-13 19:12:15 +0000
commita7ec94f7d22ee22df2e424c1d3f842510b7993aa (patch)
treef35dc4a8ebf81ae4e8802aa6d4347ce28a1e25f5 /sys-devel
parent7860ad41012a3808c645607818b64ad7dab025e9 (diff)
gentoo auto-resync : 13:01:2024 - 19:12:15
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin10640 -> 9997 bytes
-rw-r--r--sys-devel/bmake/Manifest8
-rw-r--r--sys-devel/bmake/bmake-20230909.ebuild57
-rw-r--r--sys-devel/bmake/bmake-20231210.ebuild57
-rw-r--r--sys-devel/bmake/files/bmake-20210206-tests.patch18
-rw-r--r--sys-devel/bmake/files/bmake-20210314-mk-fixes.patch66
-rw-r--r--sys-devel/bmake/metadata.xml12
-rw-r--r--sys-devel/clang-common/Manifest2
-rw-r--r--sys-devel/clang-common/clang-common-18.0.0_pre20240113.ebuild255
-rw-r--r--sys-devel/clang-runtime/Manifest1
-rw-r--r--sys-devel/clang-runtime/clang-runtime-18.0.0_pre20240113.ebuild39
-rw-r--r--sys-devel/clang/Manifest2
-rw-r--r--sys-devel/clang/clang-18.0.0_pre20240113.ebuild472
-rw-r--r--sys-devel/elftoolchain/Manifest4
-rw-r--r--sys-devel/elftoolchain/elftoolchain-0.7.1-r2.ebuild4
-rw-r--r--sys-devel/elftoolchain/elftoolchain-0.7.1_p20210319.ebuild4
-rw-r--r--sys-devel/gcc/Manifest2
-rw-r--r--sys-devel/gcc/gcc-12.3.1_p20240112.ebuild64
-rw-r--r--sys-devel/libtool/Manifest4
-rw-r--r--sys-devel/libtool/libtool-2.4.7-r2.ebuild3
-rw-r--r--sys-devel/libtool/libtool-9999.ebuild3
-rw-r--r--sys-devel/lld/Manifest2
-rw-r--r--sys-devel/lld/lld-18.0.0_pre20240113.ebuild89
-rw-r--r--sys-devel/llvm-common/Manifest2
-rw-r--r--sys-devel/llvm-common/llvm-common-18.0.0_pre20240113.ebuild53
-rw-r--r--sys-devel/llvm/Manifest2
-rw-r--r--sys-devel/llvm/llvm-18.0.0_pre20240113.ebuild535
-rw-r--r--sys-devel/make/Manifest11
-rw-r--r--sys-devel/make/files/make-3.82-darwin-library_search-dylib.patch17
-rw-r--r--sys-devel/make/files/make-4.2-default-cxx.patch11
-rw-r--r--sys-devel/make/files/make-4.4-default-cxx.patch11
-rw-r--r--sys-devel/make/make-4.3-r1.ebuild73
-rw-r--r--sys-devel/make/make-4.4.1-r1.ebuild76
-rw-r--r--sys-devel/make/make-9999.ebuild76
-rw-r--r--sys-devel/make/metadata.xml12
-rw-r--r--sys-devel/pmake/Manifest6
-rw-r--r--sys-devel/pmake/files/pmake-1.111.1-ldflags.patch13
-rw-r--r--sys-devel/pmake/files/pmake-1.98-skipdots.patch12
-rw-r--r--sys-devel/pmake/metadata.xml5
-rw-r--r--sys-devel/pmake/pmake-1.111.3.3-r1.ebuild65
-rw-r--r--sys-devel/remake/Manifest4
-rw-r--r--sys-devel/remake/files/remake-4.3.1.1.5-fno-common.patch103
-rw-r--r--sys-devel/remake/metadata.xml9
-rw-r--r--sys-devel/remake/remake-4.3.1.1.5.ebuild40
44 files changed, 1534 insertions, 770 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index dd91378c38cc..6f133ce8759d 100644
--- a/sys-devel/Manifest.gz
+++ b/sys-devel/Manifest.gz
Binary files differ
diff --git a/sys-devel/bmake/Manifest b/sys-devel/bmake/Manifest
deleted file mode 100644
index a4a8288e3935..000000000000
--- a/sys-devel/bmake/Manifest
+++ /dev/null
@@ -1,8 +0,0 @@
-AUX bmake-20210206-tests.patch 467 BLAKE2B 7c66cfbb610f2ea9615a737dd2d97fbea359ecb0e5b5c746447b9a0e9d2dff188f6f0d45225dd07d1226a86297f0c9ba8b8be7587039f2cc7ceaab4bde61f570 SHA512 3d855d54b64e2871ad8ccd494939c92a6bca2bec61f186e907a9b6b8b4f51b4ff63fcacbb8b6d44cef33a39c6ba2bed6c1fdd30d7ad65ad03d1d659781c420fe
-AUX bmake-20210314-mk-fixes.patch 2054 BLAKE2B 404e99593f04408e3f62d8c6118fc1676ef414b4cc18f5ec8b089182fad8865ad79e40c236e58b084f3194bdcc94c92e1e10e40efbddc142b84053117065e202 SHA512 8c9e823dd158e352021f0905e2a15cb8d7da3020c49a8f824cc5dbd8f33910fc64629d5f400fd8651a16b07e0685a1247a661fd9230a62b7330bd5fc71427dd4
-DIST bmake-20230909.tar.gz 859801 BLAKE2B 02a44598edf05ebbcb31767b156563bfa10071774a3e7ae565efddc9b1ea6e684558e4ec3cfbc56d7d855cbe8663c43f43bd8d37e0a289c55ec12733e3e4916c SHA512 50622aee8024b3e0385974a8f446a4b5df0ba494b6133ab91ebbe63c408154b112f62c9df8521f4f1beaf28cdd6e7da178c3334337f6b14c8bced532029d8ba5
-DIST bmake-20231210.tar.gz 859537 BLAKE2B 554a4fab9df6c3f0ed1659c69a6294a6c3e1ebce4a8609ea1fe8bc657c11be04ea9b66ca01c50fc3bfc1ee54552a7e16584b26bea9f5461834e608ea39bbc38a SHA512 e2e35b5442f17c521ef2bf1c4cc1dbdedd0b1a335ac9a3c743add1c0bbaf4e32396ba64fd572cca75821cfa2b722d58ee71ec694d150d7e70d7a550d911a308b
-DIST mk-20210330.tar.gz 107380 BLAKE2B 9ac30a117d9ba31635cf8d8d29fdba76f148611f47628403ca8f807081c32509f10498d3c30fd24985e5420af4710fe59fc6315d71f2d0c1cfed93263a06553a SHA512 6acd3ee911442934082f4f877d795b07c5e23022eaa9c0874799d97e92a2f5a663cb45f94b7f9745c49cbbce6b7e755a29e381ccfb9e68a0be1eedbd22fd5d3b
-EBUILD bmake-20230909.ebuild 1331 BLAKE2B e64a8654efd87234cb5b9f7a4855bf72ccf8fa4f54dacb0e50b90fc6b82e1bc00e9daf7f165a3a96037ca36def957d05218b32f6b0adf4987c3e551fad15decd SHA512 2f8e69919dd498f9b7f9dd0a65f08be2da9cc92f908aefdcd4518e4f0506cf4a25c505cc5d1c2200a5cbd49cf4c5068d2a40fa93d323ecaa6e85edad691b00cd
-EBUILD bmake-20231210.ebuild 1332 BLAKE2B 552fdf25bd9e70a4d7c36b06476d3428c0939f1c80264b8ebc5e7b12aa28d30d76fe95e74c16ed2fe2b4745f021b23251c992bd6550bf9e5e04a3b567e0f0e97 SHA512 846edfbdebe7d90eb7681dfea78605d9ff8c5e3cce2e45723386530b276f68dbb028b7ade9c01cd0c64322227d5e685a1c22ed14a9c4950e6caf5dbdf8a4d7a9
-MISC metadata.xml 353 BLAKE2B 70bd5eb274c4693a005986471e5a5c29a162bd0a080a7ba590c64171f2aa171bf9670093419f0b3e9ef304e5478f71df4899082e3dc76b4b0cedfe782a6625df SHA512 ade70c57a7ae5165c432d2024ec685609971347a94ecd69ab73142ff602f4cafb49df880d4dd1cee5695f1ea11c2c0ccc837d9a1ad38e50c61d0d27049279bc5
diff --git a/sys-devel/bmake/bmake-20230909.ebuild b/sys-devel/bmake/bmake-20230909.ebuild
deleted file mode 100644
index 2d2fc27388a5..000000000000
--- a/sys-devel/bmake/bmake-20230909.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MK_VER=20210330
-
-DESCRIPTION="NetBSD's portable make"
-HOMEPAGE="http://www.crufty.net/help/sjg/bmake.html"
-SRC_URI="
- http://void.crufty.net/ftp/pub/sjg/${P}.tar.gz
- http://void.crufty.net/ftp/pub/sjg/mk-${MK_VER}.tar.gz"
-S="${WORKDIR}/${PN}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-# Skip failing test (sandbox and csh)
-PATCHES=(
- "${FILESDIR}"/${PN}-20210206-tests.patch
-)
-
-src_prepare() {
- default
- cd "${WORKDIR}" || die
- eapply "${FILESDIR}"/${PN}-20210314-mk-fixes.patch
-}
-
-src_configure() {
- econf \
- --with-mksrc=../mk \
- --with-default-sys-path="${EPREFIX}"/usr/share/mk/${PN} \
- --with-machine_arch=${ARCH}
-}
-
-src_compile() {
- sh make-bootstrap.sh || die "bootstrap failed"
-}
-
-src_test() {
- cd unit-tests || die
-
- # the 'ternary' test uses ${A} internally, which
- # conflicts with Gentoo's ${A}, hence unset it for
- # the tests temporarily.
- env -u A MAKEFLAGS= \
- "${S}"/bmake -r -m / TEST_MAKE="${S}"/bmake test || die "tests compilation failed"
-}
-
-src_install() {
- dobin ${PN}
- doman ${PN}.1
- FORCE_BSD_MK=1 SYS_MK_DIR=. \
- sh ../mk/install-mk -v -m 644 "${ED}"/usr/share/mk/${PN} \
- || die "failed to install mk files"
-}
diff --git a/sys-devel/bmake/bmake-20231210.ebuild b/sys-devel/bmake/bmake-20231210.ebuild
deleted file mode 100644
index 7331b69374fb..000000000000
--- a/sys-devel/bmake/bmake-20231210.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-MK_VER=20210330
-
-DESCRIPTION="NetBSD's portable make"
-HOMEPAGE="http://www.crufty.net/help/sjg/bmake.html"
-SRC_URI="
- http://void.crufty.net/ftp/pub/sjg/${P}.tar.gz
- http://void.crufty.net/ftp/pub/sjg/mk-${MK_VER}.tar.gz"
-S="${WORKDIR}/${PN}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-# Skip failing test (sandbox and csh)
-PATCHES=(
- "${FILESDIR}"/${PN}-20210206-tests.patch
-)
-
-src_prepare() {
- default
- cd "${WORKDIR}" || die
- eapply "${FILESDIR}"/${PN}-20210314-mk-fixes.patch
-}
-
-src_configure() {
- econf \
- --with-mksrc=../mk \
- --with-default-sys-path="${EPREFIX}"/usr/share/mk/${PN} \
- --with-machine_arch=${ARCH}
-}
-
-src_compile() {
- sh make-bootstrap.sh || die "bootstrap failed"
-}
-
-src_test() {
- cd unit-tests || die
-
- # the 'ternary' test uses ${A} internally, which
- # conflicts with Gentoo's ${A}, hence unset it for
- # the tests temporarily.
- env -u A MAKEFLAGS= \
- "${S}"/bmake -r -m / TEST_MAKE="${S}"/bmake test || die "tests compilation failed"
-}
-
-src_install() {
- dobin ${PN}
- doman ${PN}.1
- FORCE_BSD_MK=1 SYS_MK_DIR=. \
- sh ../mk/install-mk -v -m 644 "${ED}"/usr/share/mk/${PN} \
- || die "failed to install mk files"
-}
diff --git a/sys-devel/bmake/files/bmake-20210206-tests.patch b/sys-devel/bmake/files/bmake-20210206-tests.patch
deleted file mode 100644
index 49e5f258e91a..000000000000
--- a/sys-devel/bmake/files/bmake-20210206-tests.patch
+++ /dev/null
@@ -1,18 +0,0 @@
---- a/unit-tests/Makefile
-+++ b/unit-tests/Makefile
-@@ -191,7 +191,6 @@ TESTS+= dotwait
- TESTS+= envfirst
- TESTS+= error
- TESTS+= # escape # broken by reverting POSIX changes
--TESTS+= export
- TESTS+= export-all
- TESTS+= export-env
- TESTS+= export-variants
-@@ -290,7 +289,6 @@ TESTS+= sh-leading-plus
- TESTS+= sh-meta-chars
- TESTS+= sh-multi-line
- TESTS+= sh-single-line
--TESTS+= shell-csh
- TESTS+= shell-custom
- .if exists(/bin/ksh)
- TESTS+= shell-ksh
diff --git a/sys-devel/bmake/files/bmake-20210314-mk-fixes.patch b/sys-devel/bmake/files/bmake-20210314-mk-fixes.patch
deleted file mode 100644
index 6dd935863be1..000000000000
--- a/sys-devel/bmake/files/bmake-20210314-mk-fixes.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-# https://bugs.gentoo.org/779340
-# https://bugs.gentoo.org/778458
-# - Fix incorrect linking of shared libraries
-# - Respect LDFLAGS
-# - Do not strip prog binaries
---- a/mk/lib.mk
-+++ b/mk/lib.mk
-@@ -170,7 +170,7 @@ LD_solib= lib${LIB}_pic.a
- .elif ${TARGET_OSNAME} == "Linux"
- SHLIB_LD = ${CC}
- # this is ambiguous of course
--LD_shared=-shared -Wl,"-soname lib${LIB}.so.${SHLIB_MAJOR}"
-+LD_shared=-shared -Wl,-soname,lib${LIB}.so.${SHLIB_MAJOR}
- LD_solib= -Wl,--whole-archive lib${LIB}_pic.a -Wl,--no-whole-archive
- .if ${COMPILER_TYPE} == "gcc"
- # Linux uses GNU ld, which is a multi-pass linker
-@@ -455,11 +455,11 @@ lib${LIB}.${LD_so}: ${SOLIB} ${DPADD}
- --whole-archive ${SOLIB} --no-whole-archive ${SHLIB_LDADD} \
- ${SHLIB_LDENDFILE}
- .else
-- ${SHLIB_LD} ${LD_x} ${LD_shared} \
-+ ${SHLIB_LD} ${LD_x} ${LD_shared} ${LDFLAGS} \
- -o ${.TARGET} ${SOLIB} ${SHLIB_LDADD}
- .endif
- .else
-- ${SHLIB_LD} -o ${.TARGET} ${LD_shared} ${LD_solib} ${DLLIB} ${SHLIB_LDADD}
-+ ${SHLIB_LD} -o ${.TARGET} ${LD_shared} ${LDFLAGS} ${LD_solib} ${DLLIB} ${SHLIB_LDADD}
- .endif
- .endif
- .if !empty(SHLIB_LINKS)
---- a/mk/prog.mk
-+++ b/mk/prog.mk
-@@ -178,7 +178,7 @@ proginstall:
- .if defined(PROG)
- [ -d ${DESTDIR}${BINDIR} ] || \
- ${INSTALL} -d ${PROG_INSTALL_OWN} -m 775 ${DESTDIR}${BINDIR}
-- ${INSTALL} ${COPY} ${STRIP_FLAG} ${PROG_INSTALL_OWN} -m ${BINMODE} \
-+ ${INSTALL} ${COPY} ${PROG_INSTALL_OWN} -m ${BINMODE} \
- ${PROG} ${DESTDIR}${BINDIR}/${PROG_NAME}
- .endif
- .if defined(HIDEGAME)
---- a/mk/sys/Linux.mk
-+++ b/mk/sys/Linux.mk
-@@ -19,12 +19,13 @@ NEED_SOLINKS ?=yes
- AR ?= ar
- ARFLAGS ?= rl
- RANLIB ?= ranlib
-+LDFLAGS ?=
-
- AS ?= as
- AFLAGS=
- COMPILE.s ?= ${AS} ${AFLAGS}
- LINK.s ?= ${CC} ${AFLAGS} ${LDFLAGS}
--COMPILE.S ?= ${CC} ${AFLAGS} ${CPPFLAGS} -c
-+COMPILE.S ?= ${CC} ${AFLAGS} ${CFLAGS} ${CPPFLAGS} ${LDFLAGS} -c
- LINK.S ?= ${CC} ${AFLAGS} ${CPPFLAGS} ${LDFLAGS}
- .if exists(/usr/local/bin/gcc)
- CC ?= gcc -pipe
-@@ -65,7 +66,6 @@ LFLAGS=
- LEX.l ?= ${LEX} ${LFLAGS}
-
- LD ?= ld
--LDFLAGS=
-
- LINT ?= lint
- LINTFLAGS ?= -chapbx
diff --git a/sys-devel/bmake/metadata.xml b/sys-devel/bmake/metadata.xml
deleted file mode 100644
index fe8a3a5da516..000000000000
--- a/sys-devel/bmake/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>jsmolic@gentoo.org</email>
- <name>Jakov Smolić</name>
- </maintainer>
- <maintainer type="person">
- <email>soap@gentoo.org</email>
- <name>David Seifert</name>
- </maintainer>
-</pkgmetadata>
diff --git a/sys-devel/clang-common/Manifest b/sys-devel/clang-common/Manifest
index 39e6d873f184..b366253f0732 100644
--- a/sys-devel/clang-common/Manifest
+++ b/sys-devel/clang-common/Manifest
@@ -4,10 +4,12 @@ DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db3659
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
+DIST llvm-project-8d817f6479a5df874028a8b40fd30aecd3479005.tar.gz 204890108 BLAKE2B 8c57c556371b37d00cda753a40f1162e678d89fa40e8f2b90a38aab7e17f9debfb2ebad53a3a95aa530a9e3e2b4b735828e404e576c8f2738370ec41c28badce SHA512 a38ce082ca1b999888ee0a633b94a02258579591e6ce73ba4722eafb9f0610f9624887eca43e4a6ae567c07ffc014f4ea4137e905899407951265d7c93785f18
DIST llvm-project-a085402ef54379758e6c996dbaedfcb92ad222b5.tar.gz 204569231 BLAKE2B 75403225fbe54f0921b279b237a90f1922b16997d1538fa5f225e04451fa2fc4a28e886efb7460ef0c26a3a964f0c57084e331b0736fa223926259c76d873200 SHA512 b8c6b0c7c0a4c369ecfa7ac71cf96549a19853e14bdf061b6b54429ce7ed998b236bb9ed3adbd6bf1c70c7e975508f751ebd0031ac2ff474d32216048a1c5f2d
EBUILD clang-common-15.0.7-r7.ebuild 5462 BLAKE2B 098697c65115e672a1e878167997d820c93cad6a71c5a1dc17c731a031d37f20e50ef41e2f1d3238bc91065ba23bab5db4ab48e8274be9db3cb086ec6cdf7868 SHA512 7500bf0c4fde82b90aac68d09b95a49c241fae8b0d2340f7780e9baed1c85d855e45c4296a7daaa0b831a07f442e0be4faf6510a335fa5c979b3061e28fdb99d
EBUILD clang-common-16.0.6-r2.ebuild 4972 BLAKE2B 7ce71ef4c5ca19ef5847c90a23662b30e028d97fba045ec64976a3093c94e65bc8b5b04535d2ecf9ec51526fedc6b2b264135162acedcfb6df88cf426ce36357 SHA512 490b4afdc3ebbac15152d8da7cb86b3f2030e7ea1c70b09542f8bfd839d0194b97ee979fffcfb19fba8cca97ecfe565a5e77968b9afd618851772d7ccf444624
EBUILD clang-common-17.0.6-r1.ebuild 7633 BLAKE2B 5359c9e23fe8be96256560012b1e1a16f7ca7557e19246d4e5bf9b490593f9c6d34b5298ef2ff00ac28cd84e485cbf979990eddd4d4025505d54b0200951dfa4 SHA512 3e6dd86cb296c488ea919b57c29c905694bba8dfcbe4d18921a06eae26c5d19685003a550376c61e6cf1dcf7d08c643adc4b0c2c104c593d76dff32dc0afbfe3
EBUILD clang-common-18.0.0.9999.ebuild 7536 BLAKE2B c0e8010200824a7b6bd2c63682ae1a8ef3bfbc95a6188b6c585e74cdf4013c3082adb640ef2a9d6fe22caca6e685709e38ebfe7089e79a88996b123717089cee SHA512 d85cb3ef7d366b9dcc3163002fd4ccbe59dd03cdc80e2baeb5b1f13bce78204799236e9ddbde4fc0698ab016fb9d287fa174ad068c29eed09e40377eaf898646
EBUILD clang-common-18.0.0_pre20240106.ebuild 7536 BLAKE2B 6aecec997063120f88c5ebdf8c474d936a7401bf109ddb031dbbff28f723a1eb28e7d064d4842ae63df4d90ac17042c32429142ed7e8127a2a64e1eef811eefb SHA512 28c7fdefac1f8ea89e6c1720262e05b94f9abdb27fe45a814f16f25a572665cc2c2eef6af2161d710ba7c507dd345eed54f7913a33d8955850e62bc04579f3a3
+EBUILD clang-common-18.0.0_pre20240113.ebuild 7536 BLAKE2B 6aecec997063120f88c5ebdf8c474d936a7401bf109ddb031dbbff28f723a1eb28e7d064d4842ae63df4d90ac17042c32429142ed7e8127a2a64e1eef811eefb SHA512 28c7fdefac1f8ea89e6c1720262e05b94f9abdb27fe45a814f16f25a572665cc2c2eef6af2161d710ba7c507dd345eed54f7913a33d8955850e62bc04579f3a3
MISC metadata.xml 735 BLAKE2B 12ea133df3d7eb9367a65e572ef91893e654d5b77caa27c66e4b5b41ba90ebc5e619eb78dfff2a67183d2c1cbfcf35fa903b2bb75604ce153d5cedfce5346e3c SHA512 8ed6b12d4f2aa1985897a8d81ce898dbc0d14ac222f3d0f259cbe80fbb8b2349dff7677627daeaf39a422f290200da4fac6348abc81c9e35da0ca73a11cfdd83
diff --git a/sys-devel/clang-common/clang-common-18.0.0_pre20240113.ebuild b/sys-devel/clang-common/clang-common-18.0.0_pre20240113.ebuild
new file mode 100644
index 000000000000..35e7e46f7c4f
--- /dev/null
+++ b/sys-devel/clang-common/clang-common-18.0.0_pre20240113.ebuild
@@ -0,0 +1,255 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit bash-completion-r1 llvm.org multilib
+
+DESCRIPTION="Common files shared between multiple slots of clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="
+ default-compiler-rt default-libcxx default-lld llvm-libunwind
+ hardened
+"
+
+PDEPEND="
+ sys-devel/clang:*
+ default-compiler-rt? (
+ sys-devel/clang-runtime[compiler-rt]
+ llvm-libunwind? ( sys-libs/llvm-libunwind[static-libs] )
+ !llvm-libunwind? ( sys-libs/libunwind[static-libs] )
+ )
+ !default-compiler-rt? ( sys-devel/gcc )
+ default-libcxx? ( >=sys-libs/libcxx-${PV}[static-libs] )
+ !default-libcxx? ( sys-devel/gcc )
+ default-lld? ( sys-devel/lld )
+ !default-lld? ( sys-devel/binutils )
+"
+IDEPEND="
+ !default-compiler-rt? ( sys-devel/gcc-config )
+ !default-libcxx? ( sys-devel/gcc-config )
+"
+
+LLVM_COMPONENTS=( clang/utils )
+llvm.org_set_globals
+
+pkg_pretend() {
+ [[ ${CLANG_IGNORE_DEFAULT_RUNTIMES} ]] && return
+
+ local flag missing_flags=()
+ for flag in default-{compiler-rt,libcxx,lld}; do
+ if ! use "${flag}" && has_version "sys-devel/clang[${flag}]"; then
+ missing_flags+=( "${flag}" )
+ fi
+ done
+
+ if [[ ${missing_flags[@]} ]]; then
+ eerror "It seems that you have the following flags set on sys-devel/clang:"
+ eerror
+ eerror " ${missing_flags[*]}"
+ eerror
+ eerror "The default runtimes are now set via flags on sys-devel/clang-common."
+ eerror "The build is being aborted to prevent breakage. Please either set"
+ eerror "the respective flags on this ebuild, e.g.:"
+ eerror
+ eerror " sys-devel/clang-common ${missing_flags[*]}"
+ eerror
+ eerror "or build with CLANG_IGNORE_DEFAULT_RUNTIMES=1."
+ die "Mismatched defaults detected between sys-devel/clang and sys-devel/clang-common"
+ fi
+}
+
+_doclang_cfg() {
+ local triple="${1}"
+
+ local tool
+ for tool in ${triple}-clang{,++}; do
+ newins - "${tool}.cfg" <<-EOF
+ # This configuration file is used by ${tool} driver.
+ @gentoo-common.cfg
+ @gentoo-common-ld.cfg
+ EOF
+ done
+
+ newins - "${triple}-clang-cpp.cfg" <<-EOF
+ # This configuration file is used by the ${triple}-clang-cpp driver.
+ @gentoo-common.cfg
+ EOF
+
+ # Install symlinks for triples with other vendor strings since some
+ # programs insist on mangling the triple.
+ local vendor
+ for vendor in gentoo pc unknown; do
+ local vendor_triple="${triple%%-*}-${vendor}-${triple#*-*-}"
+ for tool in clang{,++,-cpp}; do
+ if [[ ! -f "${ED}/etc/clang/${vendor_triple}-${tool}.cfg" ]]; then
+ dosym "${triple}-${tool}.cfg" "/etc/clang/${vendor_triple}-${tool}.cfg"
+ fi
+ done
+ done
+}
+
+doclang_cfg() {
+ local triple="${1}"
+
+ _doclang_cfg ${triple}
+
+ # LLVM may have different arch names in some cases. For example in x86
+ # profiles the triple uses i686, but llvm will prefer i386 if invoked
+ # with "clang" on x86 or "clang -m32" on x86_64. The gentoo triple will
+ # be used if invoked through ${CHOST}-clang{,++,-cpp} though.
+ #
+ # To make sure the correct triples are installed,
+ # see Triple::getArchTypeName() in llvm/lib/TargetParser/Triple.cpp
+ # and compare with CHOST values in profiles.
+
+ local abi=${triple%%-*}
+ case ${abi} in
+ armv4l|armv4t|armv5tel|armv6j|armv7a)
+ _doclang_cfg ${triple/${abi}/arm}
+ ;;
+ i686)
+ _doclang_cfg ${triple/${abi}/i386}
+ ;;
+ sparc)
+ _doclang_cfg ${triple/${abi}/sparcel}
+ ;;
+ sparc64)
+ _doclang_cfg ${triple/${abi}/sparcv9}
+ ;;
+ esac
+}
+
+src_install() {
+ newbashcomp bash-autocomplete.sh clang
+
+ insinto /etc/clang
+ newins - gentoo-runtimes.cfg <<-EOF
+ # This file is initially generated by sys-devel/clang-runtime.
+ # It is used to control the default runtimes using by clang.
+
+ --rtlib=$(usex default-compiler-rt compiler-rt libgcc)
+ --unwindlib=$(usex default-compiler-rt libunwind libgcc)
+ --stdlib=$(usex default-libcxx libc++ libstdc++)
+ -fuse-ld=$(usex default-lld lld bfd)
+ EOF
+
+ newins - gentoo-gcc-install.cfg <<-EOF
+ # This file is maintained by gcc-config.
+ # It is used to specify the selected GCC installation.
+ EOF
+
+ newins - gentoo-common.cfg <<-EOF
+ # This file contains flags common to clang, clang++ and clang-cpp.
+ @gentoo-runtimes.cfg
+ @gentoo-gcc-install.cfg
+ @gentoo-hardened.cfg
+ # bug #870001
+ -include "${EPREFIX}/usr/include/gentoo/maybe-stddefs.h"
+ EOF
+
+ # clang-cpp does not like link args being passed to it when directly
+ # invoked, so use a separate configuration file.
+ newins - gentoo-common-ld.cfg <<-EOF
+ # This file contains flags common to clang and clang++
+ @gentoo-hardened-ld.cfg
+ EOF
+
+ # Baseline hardening (bug #851111)
+ newins - gentoo-hardened.cfg <<-EOF
+ # Some of these options are added unconditionally, regardless of
+ # USE=hardened, for parity with sys-devel/gcc.
+ -fstack-clash-protection
+ -fstack-protector-strong
+ -fPIE
+ -include "${EPREFIX}/usr/include/gentoo/fortify.h"
+ EOF
+
+ newins - gentoo-hardened-ld.cfg <<-EOF
+ # Some of these options are added unconditionally, regardless of
+ # USE=hardened, for parity with sys-devel/gcc.
+ -Wl,-z,relro
+ EOF
+
+ dodir /usr/include/gentoo
+
+ cat >> "${ED}/usr/include/gentoo/maybe-stddefs.h" <<-EOF || die
+ /* __has_include is an extension, but it's fine, because this is only
+ for Clang anyway. */
+ #if defined __has_include && __has_include (<stdc-predef.h>) && !defined(__GLIBC__)
+ # include <stdc-predef.h>
+ #endif
+ EOF
+
+ local fortify_level=$(usex hardened 3 2)
+ # We have to do this because glibc's headers warn if F_S is set
+ # without optimization and that would at the very least be very noisy
+ # during builds and at worst trigger many -Werror builds.
+ cat >> "${ED}/usr/include/gentoo/fortify.h" <<- EOF || die
+ #ifdef __clang__
+ # pragma clang system_header
+ #endif
+ #ifndef _FORTIFY_SOURCE
+ # if defined(__has_feature)
+ # define __GENTOO_HAS_FEATURE(x) __has_feature(x)
+ # else
+ # define __GENTOO_HAS_FEATURE(x) 0
+ # endif
+ #
+ # if defined(__STDC_HOSTED__) && __STDC_HOSTED__ == 1
+ # define __GENTOO_NOT_FREESTANDING 1
+ # else
+ # define __GENTOO_NOT_FREESTANDING 0
+ # endif
+ #
+ # if defined(__OPTIMIZE__) && __OPTIMIZE__ > 0 && __GENTOO_NOT_FREESTANDING > 0
+ # if !defined(__SANITIZE_ADDRESS__) && !__GENTOO_HAS_FEATURE(address_sanitizer) && !__GENTOO_HAS_FEATURE(memory_sanitizer)
+ # define _FORTIFY_SOURCE ${fortify_level}
+ # endif
+ # endif
+ # undef __GENTOO_HAS_FEATURE
+ # undef __GENTOO_NOT_FREESTANDING
+ #endif
+ EOF
+
+ if use hardened ; then
+ cat >> "${ED}/etc/clang/gentoo-hardened.cfg" <<-EOF || die
+ # Options below are conditional on USE=hardened.
+ -D_GLIBCXX_ASSERTIONS
+
+ # Analogue to GLIBCXX_ASSERTIONS
+ # https://libcxx.llvm.org/UsingLibcxx.html#assertions-mode
+ # https://libcxx.llvm.org/Hardening.html#using-hardened-mode
+ -D_LIBCPP_ENABLE_HARDENED_MODE=1
+ EOF
+
+ cat >> "${ED}/etc/clang/gentoo-hardened-ld.cfg" <<-EOF || die
+ # Options below are conditional on USE=hardened.
+ -Wl,-z,now
+ EOF
+ fi
+
+ # We only install config files for supported ABIs because unprefixed tools
+ # might be used for crosscompilation where e.g. PIE may not be supported.
+ # See bug #912237 and bug #901247. Just ${CHOST} won't do due to bug #912685.
+ local abi
+ for abi in $(get_all_abis); do
+ local abi_chost=$(get_abi_CHOST "${abi}")
+ doclang_cfg "${abi_chost}"
+ done
+}
+
+pkg_preinst() {
+ if has_version -b sys-devel/gcc-config && has_version sys-devel/gcc
+ then
+ local gcc_path=$(gcc-config --get-lib-path 2>/dev/null)
+ if [[ -n ${gcc_path} ]]; then
+ cat >> "${ED}/etc/clang/gentoo-gcc-install.cfg" <<-EOF
+ --gcc-install-dir="${gcc_path%%:*}"
+ EOF
+ fi
+ fi
+}
diff --git a/sys-devel/clang-runtime/Manifest b/sys-devel/clang-runtime/Manifest
index 32f73d91e3c9..783fd834e1bb 100644
--- a/sys-devel/clang-runtime/Manifest
+++ b/sys-devel/clang-runtime/Manifest
@@ -3,4 +3,5 @@ EBUILD clang-runtime-16.0.6.ebuild 1435 BLAKE2B dfbb6047c0541de72f3447fa61f00d96
EBUILD clang-runtime-17.0.6.ebuild 1439 BLAKE2B d707c24d4583956092f7346d6631b828bcc422e375f4d2ff9b2c7aa4adcb94f0f134165a739b7ce85493d910a1a7f8de7a0ea23ff5f7466e3055fc9bfe3e6faa SHA512 5fd4c83c8f6c82178222e81ef4dccc092932086747d1fc969dcb64e18c5e770c0d81140f1edbe7af5bc31102898b15e676dea69b074a3dd9d7268af0222edafe
EBUILD clang-runtime-18.0.0.9999.ebuild 1339 BLAKE2B 60f0ce6dc250d959f058872d748bbffcbf3f036b3546a8c83c8178d809c9699095f84731fd1195b690b2d9b000c0f2a06d95153d1688809c325abe2f80dad88a SHA512 22d8cdc017390809ad96b917a85639a5c0f687db6737217447f49630004b5dffa8468db92a42f5f3e84788365380dd9b707fc03dcb5b4b102ec7f13b764d5d2c
EBUILD clang-runtime-18.0.0_pre20240106.ebuild 1339 BLAKE2B 4a5ee8a332faf2da21256df048867b1458a5ccb2d733d00ee3788bfbc28b3daf4ce2ae2455ab03c9ebb192d964feae2cd5806b5fef23eaa9401d57b35386aa57 SHA512 fac3e259b5a7b5e105b3d5fd2f8e9a9b6236642867e4c4a67106ec999dfaf0a30a97a3905685043a0ab9f38b15b7b8a5a814a97921e37029b9d0beac7ba7085a
+EBUILD clang-runtime-18.0.0_pre20240113.ebuild 1339 BLAKE2B 4a5ee8a332faf2da21256df048867b1458a5ccb2d733d00ee3788bfbc28b3daf4ce2ae2455ab03c9ebb192d964feae2cd5806b5fef23eaa9401d57b35386aa57 SHA512 fac3e259b5a7b5e105b3d5fd2f8e9a9b6236642867e4c4a67106ec999dfaf0a30a97a3905685043a0ab9f38b15b7b8a5a814a97921e37029b9d0beac7ba7085a
MISC metadata.xml 661 BLAKE2B 24688c511713ea102b83c71d226d519981b3aee0e05ef7a56d6a80be829efd843194e45cb4fd801f0bb976b6f1976386d6a2b05d2bc907fe2aa42b22b85b7d1f SHA512 2b5ab8783c90795f2e7d1673d876048ed9745f4911fb7a860df56deac13a6dfeba4581a84562eae54eff757c45042ca3fab75c7800313ae61df9ce69780a9294
diff --git a/sys-devel/clang-runtime/clang-runtime-18.0.0_pre20240113.ebuild b/sys-devel/clang-runtime/clang-runtime-18.0.0_pre20240113.ebuild
new file mode 100644
index 000000000000..323c0b62c062
--- /dev/null
+++ b/sys-devel/clang-runtime/clang-runtime-18.0.0_pre20240113.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multilib-build toolchain-funcs
+
+DESCRIPTION="Meta-ebuild for clang runtime libraries"
+HOMEPAGE="https://clang.llvm.org/"
+
+LICENSE="metapackage"
+SLOT="${PV%%.*}"
+IUSE="+compiler-rt libcxx openmp +sanitize"
+REQUIRED_USE="sanitize? ( compiler-rt )"
+
+RDEPEND="
+ compiler-rt? (
+ ~sys-libs/compiler-rt-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
+ sanitize? (
+ ~sys-libs/compiler-rt-sanitizers-${PV}:${SLOT}[abi_x86_32(+)?,abi_x86_64(+)?]
+ )
+ )
+ libcxx? ( >=sys-libs/libcxx-${PV}[${MULTILIB_USEDEP}] )
+ openmp? ( >=sys-libs/libomp-${PV}[${MULTILIB_USEDEP}] )
+"
+
+pkg_pretend() {
+ if tc-is-clang; then
+ ewarn "You seem to be using clang as a system compiler. As of clang-16,"
+ ewarn "upstream has turned a few warnings that commonly occur during"
+ ewarn "configure script runs into errors by default. This causes some"
+ ewarn "configure tests to start failing, sometimes resulting in silent"
+ ewarn "breakage, missing functionality or runtime misbehavior. It is"
+ ewarn "not yet clear whether the change will remain or be reverted."
+ ewarn
+ ewarn "For more information, please see:"
+ ewarn "https://discourse.llvm.org/t/configure-script-breakage-with-the-new-werror-implicit-function-declaration/65213"
+ fi
+}
diff --git a/sys-devel/clang/Manifest b/sys-devel/clang/Manifest
index 59e6e559cb57..1911b5c86cad 100644
--- a/sys-devel/clang/Manifest
+++ b/sys-devel/clang/Manifest
@@ -9,10 +9,12 @@ DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db3659
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
+DIST llvm-project-8d817f6479a5df874028a8b40fd30aecd3479005.tar.gz 204890108 BLAKE2B 8c57c556371b37d00cda753a40f1162e678d89fa40e8f2b90a38aab7e17f9debfb2ebad53a3a95aa530a9e3e2b4b735828e404e576c8f2738370ec41c28badce SHA512 a38ce082ca1b999888ee0a633b94a02258579591e6ce73ba4722eafb9f0610f9624887eca43e4a6ae567c07ffc014f4ea4137e905899407951265d7c93785f18
DIST llvm-project-a085402ef54379758e6c996dbaedfcb92ad222b5.tar.gz 204569231 BLAKE2B 75403225fbe54f0921b279b237a90f1922b16997d1538fa5f225e04451fa2fc4a28e886efb7460ef0c26a3a964f0c57084e331b0736fa223926259c76d873200 SHA512 b8c6b0c7c0a4c369ecfa7ac71cf96549a19853e14bdf061b6b54429ce7ed998b236bb9ed3adbd6bf1c70c7e975508f751ebd0031ac2ff474d32216048a1c5f2d
EBUILD clang-15.0.7-r3.ebuild 12523 BLAKE2B d2f9e112d8c8d782b9d19913332445b234870dbff770bfd520b646347d8d804258e5043a155bb5e15f40ecdb41b2c0d70ee72dbe908b5621c2349d37f181d236 SHA512 c4abe3701012b4f9da97ac182680dbaceed802e95be06ae065debea943fa4635e60f4a0f31b6f23e3f7818f2d30dfb1e2c28f1a85dc0175c158b4e5c68b5a23e
EBUILD clang-16.0.6.ebuild 12439 BLAKE2B 7a3eb95a48629c18bf6685fb2d01b46359159dd446a2d174dbdcb6d40afd8b62f5fb81d5bca871ad6a896a1e8f95234cb193bd955ebcb6e5ddab4d6a3155f4e0 SHA512 fb8563db77e8e7cce856d3516216531b183e066fc99b30b6f96010891a209d0f32b70d02d3a23a13b4edca5ae00ff31a686205a8f283ff2a242012923af6c73e
EBUILD clang-17.0.6.ebuild 12119 BLAKE2B f7e041b2fd6470add07173be1750e7a0b17a8e2adbf55df2f70ab6610510eafacf450ca6e3bd8f37adcc9ceed43a3d68ffc4e692b32bd019b75ec9067e5dde19 SHA512 d9d564dd931f100a659f5d01a338bc176270f315936444816dadee270bc96ee27919f02f60d7a39249fb907cd50ad8ff2c098c97a32a273ad2c0a380d38346f4
EBUILD clang-18.0.0.9999.ebuild 12030 BLAKE2B be1d7f543125a0ef72ef4b14bb5349325bb7c1d5d9ff3d07db8507e9cf4ace7843c863b192e12e868b06e5868f9f99aa2bc5c3e83554e35ea1de0c8615cbdac8 SHA512 0aa5c4b8db0335d0dfddb40efcf9b1f904c549c27716a585b2410a2f1249c879f83ccb82c20a50eb0981fbb939ff68d5ef20afa11658824b02a98eb0b8cb4fa7
EBUILD clang-18.0.0_pre20240106.ebuild 12030 BLAKE2B be1d7f543125a0ef72ef4b14bb5349325bb7c1d5d9ff3d07db8507e9cf4ace7843c863b192e12e868b06e5868f9f99aa2bc5c3e83554e35ea1de0c8615cbdac8 SHA512 0aa5c4b8db0335d0dfddb40efcf9b1f904c549c27716a585b2410a2f1249c879f83ccb82c20a50eb0981fbb939ff68d5ef20afa11658824b02a98eb0b8cb4fa7
+EBUILD clang-18.0.0_pre20240113.ebuild 12030 BLAKE2B be1d7f543125a0ef72ef4b14bb5349325bb7c1d5d9ff3d07db8507e9cf4ace7843c863b192e12e868b06e5868f9f99aa2bc5c3e83554e35ea1de0c8615cbdac8 SHA512 0aa5c4b8db0335d0dfddb40efcf9b1f904c549c27716a585b2410a2f1249c879f83ccb82c20a50eb0981fbb939ff68d5ef20afa11658824b02a98eb0b8cb4fa7
MISC metadata.xml 1318 BLAKE2B 704c1a64297b25da1b2e0eec23cbdf4791273da1babf23292160b6163d43438e62fe214df7afa09232893599951918440954c17a9bfa0c6f829a7d706f564192 SHA512 4677ad146739dd41e025a2335eec353a3d35ac8db7482948fee611566d84b41c4e6bdd75bc3d78f8933d4d9818a36bf222e1aa89e52f945501ff918479fea3b6
diff --git a/sys-devel/clang/clang-18.0.0_pre20240113.ebuild b/sys-devel/clang/clang-18.0.0_pre20240113.ebuild
new file mode 100644
index 000000000000..f5f1a7728b48
--- /dev/null
+++ b/sys-devel/clang/clang-18.0.0_pre20240113.ebuild
@@ -0,0 +1,472 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake llvm llvm.org multilib multilib-minimal
+inherit prefix python-single-r1 toolchain-funcs
+
+DESCRIPTION="C language family frontend for LLVM"
+HOMEPAGE="https://llvm.org/"
+
+# MSVCSetupApi.h: MIT
+# sorttable.js: MIT
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA MIT"
+SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
+IUSE="+debug doc +extra ieee-long-double +pie +static-analyzer test xml"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ ~sys-devel/llvm-${PV}:${LLVM_MAJOR}=[debug=,${MULTILIB_USEDEP}]
+ static-analyzer? ( dev-lang/perl:* )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ ${DEPEND}
+ >=sys-devel/clang-common-${PV}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ doc? ( $(python_gen_cond_dep '
+ dev-python/myst-parser[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ xml? ( virtual/pkgconfig )
+"
+PDEPEND="
+ ~sys-devel/clang-runtime-${PV}
+ sys-devel/clang-toolchain-symlinks:${LLVM_MAJOR}
+"
+
+LLVM_COMPONENTS=(
+ clang clang-tools-extra cmake
+ llvm/lib/Transforms/Hello
+)
+LLVM_MANPAGES=1
+LLVM_TEST_COMPONENTS=(
+ llvm/utils
+)
+LLVM_USE_TARGETS=llvm
+llvm.org_set_globals
+
+# Multilib notes:
+# 1. ABI_* flags control ABIs libclang* is built for only.
+# 2. clang is always capable of compiling code for all ABIs for enabled
+# target. However, you will need appropriate crt* files (installed
+# e.g. by sys-devel/gcc and sys-libs/glibc).
+# 3. ${CHOST}-clang wrappers are always installed for all ABIs included
+# in the current profile (i.e. alike supported by sys-devel/gcc).
+#
+# Therefore: use sys-devel/clang[${MULTILIB_USEDEP}] only if you need
+# multilib clang* libraries (not runtime, not wrappers).
+
+pkg_setup() {
+ LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
+ python-single-r1_pkg_setup
+}
+
+src_prepare() {
+ # create extra parent dir for relative CLANG_RESOURCE_DIR access
+ mkdir -p x/y || die
+ BUILD_DIR=${WORKDIR}/x/y/clang
+
+ llvm.org_src_prepare
+
+ # add Gentoo Portage Prefix for Darwin (see prefix-dirs.patch)
+ eprefixify \
+ lib/Lex/InitHeaderSearch.cpp \
+ lib/Driver/ToolChains/Darwin.cpp || die
+
+ if ! use prefix-guest && [[ -n ${EPREFIX} ]]; then
+ sed -i "/LibDir.*Loader/s@return \"\/\"@return \"${EPREFIX}/\"@" lib/Driver/ToolChains/Linux.cpp || die
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # meta-targets
+ clang-libraries|distribution)
+ continue
+ ;;
+ # tools
+ clang|clangd|clang-*)
+ ;;
+ # static libraries
+ clang*|findAllSymbols)
+ continue
+ ;;
+ # conditional to USE=doc
+ docs-clang-html|docs-clang-tools-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # common stuff
+ clang-cmake-exports
+ clang-headers
+ clang-resource-headers
+ libclang-headers
+
+ aarch64-resource-headers
+ arm-common-resource-headers
+ arm-resource-headers
+ core-resource-headers
+ cuda-resource-headers
+ hexagon-resource-headers
+ hip-resource-headers
+ hlsl-resource-headers
+ mips-resource-headers
+ opencl-resource-headers
+ openmp-resource-headers
+ ppc-htm-resource-headers
+ ppc-resource-headers
+ riscv-resource-headers
+ systemz-resource-headers
+ utility-resource-headers
+ ve-resource-headers
+ webassembly-resource-headers
+ windows-resource-headers
+ x86-resource-headers
+
+ # libs
+ clang-cpp
+ libclang
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # common stuff
+ bash-autocomplete
+ libclang-python-bindings
+
+ # tools
+ amdgpu-arch
+ c-index-test
+ clang
+ clang-format
+ clang-linker-wrapper
+ clang-offload-bundler
+ clang-offload-packager
+ clang-refactor
+ clang-repl
+ clang-rename
+ clang-scan-deps
+ diagtool
+ hmaptool
+ nvptx-arch
+
+ # needed for cross-compiling Clang
+ clang-tblgen
+ )
+
+ if use extra; then
+ out+=(
+ # extra tools
+ clang-apply-replacements
+ clang-change-namespace
+ clang-doc
+ clang-include-cleaner
+ clang-include-fixer
+ clang-move
+ clang-pseudo
+ clang-query
+ clang-reorder-fields
+ clang-tidy
+ clang-tidy-headers
+ clangd
+ find-all-symbols
+ modularize
+ pp-trace
+ )
+ fi
+
+ if llvm_are_manpages_built; then
+ out+=( docs-clang-man )
+ use extra && out+=( docs-clang-tools-man )
+ fi
+
+ if use doc; then
+ out+=( docs-clang-html )
+ use extra && out+=( docs-clang-tools-html )
+ fi
+
+ use static-analyzer && out+=(
+ clang-check
+ clang-extdef-mapping
+ scan-build
+ scan-build-py
+ scan-view
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local mycmakeargs=(
+ -DDEFAULT_SYSROOT=$(usex prefix-guest "" "${EPREFIX}")
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ -DCLANG_CONFIG_FILE_SYSTEM_DIR="${EPREFIX}/etc/clang"
+ # relative to bindir
+ -DCLANG_RESOURCE_DIR="../../../../lib/clang/${LLVM_MAJOR}"
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DCLANG_LINK_CLANG_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+ -DCLANG_INCLUDE_TESTS=$(usex test)
+
+ -DLLVM_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+
+ # these are not propagated reliably, so redefine them
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+
+ # libgomp support fails to find headers without explicit -I
+ # furthermore, it provides only syntax checking
+ -DCLANG_DEFAULT_OPENMP_RUNTIME=libomp
+
+ # disable using CUDA to autodetect GPU, just build for all
+ -DCMAKE_DISABLE_FIND_PACKAGE_CUDAToolkit=ON
+ # disable linking to HSA to avoid automagic dep,
+ # load it dynamically instead
+ -DCMAKE_DISABLE_FIND_PACKAGE_hsa-runtime64=ON
+
+ -DCLANG_DEFAULT_PIE_ON_LINUX=$(usex pie)
+
+ -DCLANG_ENABLE_LIBXML2=$(usex xml)
+ -DCLANG_ENABLE_ARCMT=$(usex static-analyzer)
+ -DCLANG_ENABLE_STATIC_ANALYZER=$(usex static-analyzer)
+ # TODO: CLANG_ENABLE_HLSL?
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+
+ if ! use elibc_musl; then
+ mycmakeargs+=(
+ -DPPC_LINUX_DEFAULT_IEEELONGDOUBLE=$(usex ieee-long-double)
+ )
+ fi
+
+ use test && mycmakeargs+=(
+ -DLLVM_BUILD_TESTS=ON
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=ON
+ -DLLVM_ENABLE_SPHINX=ON
+ -DCLANG_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ if use extra; then
+ mycmakeargs+=(
+ -DCLANG-TOOLS_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/tools-extra"
+ )
+ fi
+ fi
+ mycmakeargs+=(
+ -DCLANG_INCLUDE_DOCS=${build_docs}
+ )
+ fi
+ if multilib_native_use extra; then
+ mycmakeargs+=(
+ -DLLVM_EXTERNAL_CLANG_TOOLS_EXTRA_SOURCE_DIR="${WORKDIR}"/clang-tools-extra
+ -DCLANG_TOOLS_EXTRA_INCLUDE_DOCS=${build_docs}
+ )
+ else
+ mycmakeargs+=(
+ -DLLVM_TOOL_CLANG_TOOLS_EXTRA_BUILD=OFF
+ )
+ fi
+
+ if [[ -n ${EPREFIX} ]]; then
+ mycmakeargs+=(
+ -DGCC_INSTALL_PREFIX="${EPREFIX}/usr"
+ )
+ fi
+
+ if tc-is-cross-compiler; then
+ has_version -b sys-devel/clang:${LLVM_MAJOR} ||
+ die "sys-devel/clang:${LLVM_MAJOR} is required on the build host."
+ local tools_bin=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/bin
+ mycmakeargs+=(
+ -DLLVM_TOOLS_BINARY_DIR="${tools_bin}"
+ -DCLANG_TABLEGEN="${tools_bin}"/clang-tblgen
+ )
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ cmake_build distribution
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ local test_targets=( check-clang )
+ if multilib_native_use extra; then
+ test_targets+=(
+ check-clang-tools
+ check-clangd
+ )
+ fi
+ cmake_build "${test_targets[@]}"
+}
+
+src_install() {
+ MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/clang/Config/config.h
+ )
+
+ multilib-minimal_src_install
+
+ # Move runtime headers to /usr/lib/clang, where they belong
+ mv "${ED}"/usr/include/clangrt "${ED}"/usr/lib/clang || die
+ # move (remaining) wrapped headers back
+ if use extra; then
+ mv "${T}"/clang-tidy "${ED}"/usr/include/ || die
+ fi
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
+
+ # Apply CHOST and version suffix to clang tools
+ local clang_tools=( clang clang++ clang-cl clang-cpp )
+ local abi i
+
+ # cmake gives us:
+ # - clang-X
+ # - clang -> clang-X
+ # - clang++, clang-cl, clang-cpp -> clang
+ # we want to have:
+ # - clang-X
+ # - clang++-X, clang-cl-X, clang-cpp-X -> clang-X
+ # - clang, clang++, clang-cl, clang-cpp -> clang*-X
+ # also in CHOST variant
+ for i in "${clang_tools[@]:1}"; do
+ rm "${ED}/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}" || die
+ dosym "clang-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}-${LLVM_MAJOR}"
+ dosym "${i}-${LLVM_MAJOR}" "/usr/lib/llvm/${LLVM_MAJOR}/bin/${i}"
+ done
+
+ # now create target symlinks for all supported ABIs
+ for abi in $(get_all_abis); do
+ local abi_chost=$(get_abi_CHOST "${abi}")
+ for i in "${clang_tools[@]}"; do
+ dosym "${i}-${LLVM_MAJOR}" \
+ "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}-${LLVM_MAJOR}"
+ dosym "${abi_chost}-${i}-${LLVM_MAJOR}" \
+ "/usr/lib/llvm/${LLVM_MAJOR}/bin/${abi_chost}-${i}"
+ done
+ done
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping & ABI mismatch checks
+ # (also drop the version suffix from runtime headers)
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/clang "${ED}"/usr/include/clangrt || die
+ if multilib_native_use extra; then
+ # don't wrap clang-tidy headers, the list is too long
+ # (they're fine for non-native ABI but enabling the targets is problematic)
+ mv "${ED}"/usr/include/clang-tidy "${T}/" || die
+ fi
+}
+
+multilib_src_install_all() {
+ python_fix_shebang "${ED}"
+ if use static-analyzer; then
+ python_optimize "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/share/scan-view
+ fi
+
+ docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ llvm_install_manpages
+ # match 'html' non-compression
+ use doc && docompress -x "/usr/share/doc/${PF}/tools-extra"
+ # +x for some reason; TODO: investigate
+ use static-analyzer && fperms a-x "/usr/lib/llvm/${LLVM_MAJOR}/share/man/man1/scan-build.1"
+}
+
+pkg_postinst() {
+ if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow update all
+ fi
+
+ elog "You can find additional utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/clang"
+ if use extra; then
+ elog "Some of them are vim integration scripts (with instructions inside)."
+ elog "The run-clang-tidy.py script requires the following additional package:"
+ elog " dev-python/pyyaml"
+ fi
+}
+
+pkg_postrm() {
+ if [[ -z ${ROOT} && -f ${EPREFIX}/usr/share/eselect/modules/compiler-shadow.eselect ]] ; then
+ eselect compiler-shadow clean all
+ fi
+}
diff --git a/sys-devel/elftoolchain/Manifest b/sys-devel/elftoolchain/Manifest
index ceab7c8dd58e..21217907a0ca 100644
--- a/sys-devel/elftoolchain/Manifest
+++ b/sys-devel/elftoolchain/Manifest
@@ -1,6 +1,6 @@
AUX elftoolchain-0.7.1-fno-common.patch 631 BLAKE2B 8808d37d9a0a92f224501d2e29ac05a19c836d65d0a5628da4c63f8324db126e86ba84d916869f21a01e8997512c4fa7578b68ce8e99f4eb9f4453b8e78ddf54 SHA512 3ae70a0c117dbb4531ff1e7449216dde63d7bc35412d308b295099c85634404ed577ffbb8392f39764a5a139fbb6ca790fd5bb27368c297d5e0b04e259b0b367
DIST elftoolchain-0.7.1.tar.bz2 5361427 BLAKE2B f86204b3c89433948eaf2cd2edc57abf9b77bfab777dc2a840b7aa5fbddfd31665bd27f31d7af2dea09fab0118e201b12802b4da85f8210af29094661f6f1fe5 SHA512 8226c468b393f0d567167a9dd6b16d2a226227e4d05dab8f44550038da44dcbfb92749f8e1a4b130b893675337a6771e24a81f350f3f864b1b8b17402ed23b26
DIST elftoolchain-0.7.1_p20210319.tar.gz 6767324 BLAKE2B c7e068577744fd42a44784e6a2b03ffdaa9dd15e41f4ff2a6d5fd80df24a61a950ff11fa63ebbbaf2c90bc1b19e58f7184a2b883a6f866adcbf0940ad9fca81c SHA512 968d3247e160dd6f90a88e69bf3cb8e6bf2b8216500a0a91699bc2b8d3de22db8f013212813139701e75c3a9eb852bb4c1360e8058f85959e0973e05e4851c8c
-EBUILD elftoolchain-0.7.1-r2.ebuild 1284 BLAKE2B e20fcbfd53a48d009cf3765e90bb8a3f4cdfba6b6a3b67f377100d0c3a088893b396e848ae2b2b357d979c6ea0234ec8e70a2aa9626699daf18ca22ee7484d75 SHA512 eac78dfecf0a9e62eccfb654a40d2901b981ed8469feedf32b3f9e64a272f04420d0aef78632df347eef2533f61490bc0ad1bdda4e31212afa4ca982a772bb1f
-EBUILD elftoolchain-0.7.1_p20210319.ebuild 1409 BLAKE2B 6efeedadf9fc5fd5f245393d748c36f10908e4a90fe9b2d0b9277519e6fedd0021ff4b0b030a7342cc3d889e7d6728f52ee9854856309fca3f4e1307a59f672a SHA512 b7da735d9aefb64ee22a7ea32e1bd88276efab9b2085720a5deb6200cbd28c52184153fab52aab9d1b615fba5d117fe232bc4ce0d793ddc7c767f24a2ef3ce91
+EBUILD elftoolchain-0.7.1-r2.ebuild 1284 BLAKE2B 0fe3ad82a8dd0cece9fa641841102958e80ab1400a93d61581604b34f1ee808c1fe19aa46ec7771550e0905f2177072ce2d343afa712091642d8fb3f8b88e603 SHA512 cab20a79a275085f14779700d1d9cd6bf0a767ebc264bb17709ec786e25b7ba050659804983e69978d3bc86f6df49abbc1bf0e410baeb23863db28f99da8616d
+EBUILD elftoolchain-0.7.1_p20210319.ebuild 1409 BLAKE2B 70538d768eb3b3b9e7c7abcabf1445df1ef8a577cd05cb2676e83bff5ed1b9614449e08010fcc7fd3a7de58a13595fdb355ac53bfa444d3f9d8a972fc9f1d1d7 SHA512 9a3509aa9dc1bc73109591455ace6d4c7bdb80d9fc5e14841227c1e3c788559e8ab280c9349f33e99df3ceb0872fc8dc225cd2ebddf664cc07ec1905f87bcb3b
MISC metadata.xml 330 BLAKE2B 4c32c69cf1b4c74599f43613d498b6504acc54bb672015e663d82300652a2ecc16d0fe4f47e561d148de0f6dab1f08812c55bcb3bb3bc2945ab046dab98ba777 SHA512 209d3c4c2901a72c76a2f2f43f69ee488ffe3c99fd45fd8c9342451248405ba7e618b31e5937ac326c509dd3680519e6a4ff582213136a40bc5b8170ea7c155d
diff --git a/sys-devel/elftoolchain/elftoolchain-0.7.1-r2.ebuild b/sys-devel/elftoolchain/elftoolchain-0.7.1-r2.ebuild
index 849d80e9c0e8..a237b0a27ce2 100644
--- a/sys-devel/elftoolchain/elftoolchain-0.7.1-r2.ebuild
+++ b/sys-devel/elftoolchain/elftoolchain-0.7.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -21,7 +21,7 @@ DEPEND="${RDEPEND}"
BDEPEND="
dev-vcs/subversion
sys-apps/lsb-release
- >=sys-devel/bmake-20210314-r1
+ >=dev-build/bmake-20210314-r1
app-alternatives/yacc"
PATCHES=( "${FILESDIR}"/${P}-fno-common.patch )
diff --git a/sys-devel/elftoolchain/elftoolchain-0.7.1_p20210319.ebuild b/sys-devel/elftoolchain/elftoolchain-0.7.1_p20210319.ebuild
index 8d13d4a22fac..02c757f53f3e 100644
--- a/sys-devel/elftoolchain/elftoolchain-0.7.1_p20210319.ebuild
+++ b/sys-devel/elftoolchain/elftoolchain-0.7.1_p20210319.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2022 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
@@ -25,7 +25,7 @@ DEPEND="${RDEPEND}"
BDEPEND="
dev-vcs/subversion
sys-apps/lsb-release
- >=sys-devel/bmake-20210314-r1
+ >=dev-build/bmake-20210314-r1
app-alternatives/yacc"
src_prepare() {
diff --git a/sys-devel/gcc/Manifest b/sys-devel/gcc/Manifest
index a250d790b719..7eaa23527506 100644
--- a/sys-devel/gcc/Manifest
+++ b/sys-devel/gcc/Manifest
@@ -18,6 +18,7 @@ DIST gcc-12-20231215.tar.xz 79804016 BLAKE2B 547def0a166db31d8654a8b85ec1320f0df
DIST gcc-12-20231222.tar.xz 79814136 BLAKE2B b50d336adb38d4c45d4097cc8772246d75646e2a3731af65c0b58eb1289508c4e08227eed15b6b1e88843b94933fd241388e5c634ecaa0cf432fc3d4fc71e618 SHA512 78886eb891ed89d9047e12222d7211e4c4e184554c8ce71274314f42afd2c573b8e4a512dab4d013aa26332e02cd1bf90b56607a0437a912d6e0bc2a096ea52f
DIST gcc-12-20231229.tar.xz 79826324 BLAKE2B c55f8c8211a2ee6ce25a03348509bc32d46a33398ed8d99f0ca4d0c35e7fdf6280315ab99055dbb4f18c7d1ddf54a60692a830c7179462b143e4e1c4f40569ef SHA512 40587c4f2094d7a6e9fd39249aceada619398c67a3e4160c623b0ffcf84aed1d1d709808c63f18fb9c97a283cad30550c259f4859f6c9e6b7659236fdfb90447
DIST gcc-12-20240105.tar.xz 79823352 BLAKE2B 72d6e4938a89841866b5eac8ca308c8de3daa558cce79661368d9fb58209a414a105ed3ca3ba71fe6e6cd5eefbbed85eefe3b43fdfc5c0a8318de2507c07b5f1 SHA512 7ded739ef16163b1c504bcb63dea0673647da31518d28e5197047e3c56613089007673fd688891080b48f4e455e3cd19519573e24b5803403a4ba8a2e3c5d8ca
+DIST gcc-12-20240112.tar.xz 79832228 BLAKE2B deec7123b8ffc42ddace51e1f3e8e08d5485f7000c0d4b7273b6311912ec0e7e2cb41124297af8c54456bb369a76fa2ef51aff552d8d680ec41dd2b144b08e55 SHA512 2c0a676ad35e6edee915c042a1751ac0263fae9b7af4d324deb49d6603dc73d3ec768832184879543e6ffb1595da5c56d9117288547adab7f243646dcbfc64ac
DIST gcc-12.3.0-musl-patches-1.tar.xz 3572 BLAKE2B c7bf65f7c9ea8023ddaac821ee2b778622fa310ac72a72b2f7032494a8f304eac86217f9204622e6c21aaef9952bece0d09bc126facd4f42b602927909815ab5 SHA512 babc279fea2c1fd4c018815f2f5630214fd46015ce9f365c28af242681d51818eaca30ce298eddcab1eed5ac5f2759e2b47b2335afab9d722b4469a6d4fec326
DIST gcc-12.3.0-patches-2.tar.xz 14236 BLAKE2B 06c43662c9abb0fa3cf90d5e2273c69aecb9158e6cf6f23c04754ed5d686be2616e81e2502eb16f4298ddd50518ca7677e13249da9e9b091162d3931ff65e4fe SHA512 b0d4b85dbf1a54aaaa1997203b872e3106906b4ad49cde57e1428bc22b2f8e2d73b8cb10ae0d0b792aebaf664594da4d1dea04c44ddc34e59047410766db04d1
DIST gcc-13-20230826.tar.xz 84285788 BLAKE2B c25be594e322dd7145245c42ae21b98aa9e3e6ae69f1fa313830e40bf2e8fcb8435762f1c9d3f1ca1dbf31653bdc76a658bec708b7850fe40a7c55504ac30618 SHA512 3d47632e90651bd50a881c727c1ef2aa3322b4fc3e082919ae430270901abf8a05a34fe93f8b678c10dc9a0758f93dc3b33ed5947c8743dab453d2b50c063722
@@ -54,6 +55,7 @@ EBUILD gcc-12.3.1_p20231215.ebuild 1620 BLAKE2B 3866983ddc8c6811e00c12af0051e80b
EBUILD gcc-12.3.1_p20231222.ebuild 1621 BLAKE2B 830b5c20e6bda5a28297bfbfd92a9cc74b5f371fe22eb06913c3dbcbe0d794b198dff9cda6f35bb7b34821ae0601afbe66a01e4c3686e9ba1a5cc049d9cf7868 SHA512 7144d0759578fb3db8ff377f2224e551e6fe5e669660baa712b5fa90e4e2875ac3e37f62ee66b0f1664b0f3d29b8d0acf144e7f52ef26bc23638d04770bd772b
EBUILD gcc-12.3.1_p20231229.ebuild 1621 BLAKE2B 830b5c20e6bda5a28297bfbfd92a9cc74b5f371fe22eb06913c3dbcbe0d794b198dff9cda6f35bb7b34821ae0601afbe66a01e4c3686e9ba1a5cc049d9cf7868 SHA512 7144d0759578fb3db8ff377f2224e551e6fe5e669660baa712b5fa90e4e2875ac3e37f62ee66b0f1664b0f3d29b8d0acf144e7f52ef26bc23638d04770bd772b
EBUILD gcc-12.3.1_p20240105.ebuild 1621 BLAKE2B 82b53aee125278a6d0e1d4073825d2cc148e155ff2df0048b94799d851e3bf50e0f42b53fabfc9ba3922c32e4d1cb15a097b7a9d06a06cebc41c3a3b9b6e7560 SHA512 b802a99f2e021b15aae8d59930baec00dd2262ea789dc77ec809a3fd586a96a7c5b811fed4e3d3487b70e218636f252898b8138d048eeb0be4693f39193d3fe9
+EBUILD gcc-12.3.1_p20240112.ebuild 1621 BLAKE2B 82b53aee125278a6d0e1d4073825d2cc148e155ff2df0048b94799d851e3bf50e0f42b53fabfc9ba3922c32e4d1cb15a097b7a9d06a06cebc41c3a3b9b6e7560 SHA512 b802a99f2e021b15aae8d59930baec00dd2262ea789dc77ec809a3fd586a96a7c5b811fed4e3d3487b70e218636f252898b8138d048eeb0be4693f39193d3fe9
EBUILD gcc-12.4.9999.ebuild 1589 BLAKE2B 8de913409a3303b99e08e719751855382983fc3208de45a45e9f42d334c3f5b2b387b910791af804cae0c646c139d735235802bad96b4b84fe54f3cafd46cfec SHA512 fc445103363a11b7628e3f46ad8dc4b4c8e1f942dfd25078b41638779f7e4580fb9acff78812fb1039e5410e6dbdbaeea71b99f2d52ce3c4f04ec30dbf72ef7c
EBUILD gcc-13.2.1_p20230826.ebuild 1672 BLAKE2B ddcf137ec925acd9450d0fb920bee8984b62c77517a4801786205a56632dff5ec987c511208779a6578304b1dc83c11ade6bd36dde9246d897dd4e9f8be8581d SHA512 494cf07c899941c6a612eb0dbfa5e2f4d52696f6e2d644b07ac3c49df9eafb4cf03fa78808385342a0aa02aba80676b33d9d14311898eee85bfbfbd919dc37fb
EBUILD gcc-13.2.1_p20231216.ebuild 1680 BLAKE2B dd776c332de13307fefdd9ce3115e30e265d424841d014bb9b1ac85cea2f4d3ed7dc91905a93a9d257114a55010e2b325b52c1b422a97c7e24b13c9e3d72805b SHA512 6c581f635e072fc097844fba70c441ab8f57d801cc0d2d70b533b014410f0f573418ad62ec2ba4c70a82b805e8a316a498e68cabe6929898351be7236f37f18c
diff --git a/sys-devel/gcc/gcc-12.3.1_p20240112.ebuild b/sys-devel/gcc/gcc-12.3.1_p20240112.ebuild
new file mode 100644
index 000000000000..69767162475c
--- /dev/null
+++ b/sys-devel/gcc/gcc-12.3.1_p20240112.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+TOOLCHAIN_PATCH_DEV="sam"
+PATCH_GCC_VER="12.3.0"
+PATCH_VER="2"
+MUSL_VER="1"
+MUSL_GCC_VER="12.3.0"
+
+if [[ ${PV} == *.9999 ]] ; then
+ MY_PV_2=$(ver_cut 2)
+ MY_PV_3=1
+ if [[ ${MY_PV_2} == 0 ]] ; then
+ MY_PV_2=0
+ MY_PV_3=0
+ else
+ MY_PV_2=$((${MY_PV_2} - 1))
+ fi
+
+ # e.g. 12.2.9999 -> 12.1.1
+ TOOLCHAIN_GCC_PV=$(ver_cut 1).${MY_PV_2}.${MY_PV_3}
+elif [[ -n ${TOOLCHAIN_GCC_RC} ]] ; then
+ # Cheesy hack for RCs
+ MY_PV=$(ver_cut 1).$((($(ver_cut 2) + 1))).$((($(ver_cut 3) - 1)))-RC-$(ver_cut 5)
+ MY_P=${PN}-${MY_PV}
+ GCC_TARBALL_SRC_URI="mirror://gcc/snapshots/${MY_PV}/${MY_P}.tar.xz"
+ TOOLCHAIN_SET_S=no
+ S="${WORKDIR}"/${MY_P}
+fi
+
+inherit toolchain
+
+if tc_is_live ; then
+ # Needs to be after inherit (for now?), bug #830908
+ EGIT_BRANCH=releases/gcc-$(ver_cut 1)
+elif [[ -z ${TOOLCHAIN_USE_GIT_PATCHES} ]] ; then
+ # Don't keyword live ebuilds
+ #KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+ :;
+fi
+
+if [[ ${CATEGORY} != cross-* ]] ; then
+ # Technically only if USE=hardened *too* right now, but no point in complicating it further.
+ # If GCC is enabling CET by default, we need glibc to be built with support for it.
+ # bug #830454
+ RDEPEND="elibc_glibc? ( sys-libs/glibc[cet(-)?] )"
+ DEPEND="${RDEPEND}"
+ BDEPEND=">=${CATEGORY}/binutils-2.30[cet(-)?]"
+fi
+
+src_prepare() {
+ local p upstreamed_patches=(
+ # add them here
+ )
+ for p in "${upstreamed_patches[@]}"; do
+ rm -v "${WORKDIR}/patch/${p}" || die
+ done
+
+ toolchain_src_prepare
+
+ eapply_user
+}
diff --git a/sys-devel/libtool/Manifest b/sys-devel/libtool/Manifest
index 9b3da1f47b5c..88b33e46473b 100644
--- a/sys-devel/libtool/Manifest
+++ b/sys-devel/libtool/Manifest
@@ -9,6 +9,6 @@ AUX libtool-2.4.7-grep-3.8.patch 1282 BLAKE2B b64b6eab6bed4b5595ef228c9d3bc65a8b
AUX libtool-2.4.7-werror-lto.patch 2248 BLAKE2B 3537c599ee310fda695b1a671770e1d2c5a943e763641515738e8d13907b807b92727182a34af4c20598c3ad228a2b660f10fd582c2f65d1fdef11b92f5fc68a SHA512 b16f835fbec1ecf6c8408c0705fc94886f35443394298e9ae1d1893dbf7dbad11325b636ccc9d0ddeecc00a13a7b5ae78867dd1369b0fc2fcd9276808f326146
DIST libtool-2.4.7.tar.xz 1016040 BLAKE2B 5e022586337637dd634bd40578ad944bec6e3b8de41f95d55777b90cc88cbc4badb3d76cbf0e638166ece1ea7de828e83590e1e6bac30c1e4b1c254a11a742f2 SHA512 47f4c6de40927254ff9ba452612c0702aea6f4edc7e797f0966c8c6bf0340d533598976cdba17f0bdc64545572e71cd319bbb587aa5f47cd2e7c1d96f873a3da
EBUILD libtool-2.4.7-r1.ebuild 3328 BLAKE2B 3ee8c1f44bc8d9ab04a65e7653459bfe8660013f504b01c097966e966e6274ce9fdd72664142803aee456a66e75e1eb373a17d5f0f727ccb9b522ae45f3152fc SHA512 72a6891c77b3c84173ad0dccc2a2826ae500e275c8c6fcb2eb2e8c2c553890f96cff6a69a30db1e5493a9e54d1c06c31c7873965e4eb7cab6c1e79476064b078
-EBUILD libtool-2.4.7-r2.ebuild 3310 BLAKE2B 13c66147ee4e1b88bbef84033b7650dd2da583e63db0bfd9f5bac79f43f56e6c3e17579dfc0710801be368e141f53563eadddbcebbb82c8eb04aba7fb0ec6bb3 SHA512 5eb8d74af9a0935e4b910292a6384bc5244168d35c031c7c41e6881f5743b2f73817081e95ca52310e2d6de06adcfafdb85493a89ae6d0e7dfad36c415cf2de4
-EBUILD libtool-9999.ebuild 3266 BLAKE2B d05da6e4f8ba6a6719f9db2eeb5efe24998415f778698467d1bfee46ef8c21735150e0eca8d340db6a787fa341728c7b0db456df0dfb3333f1666ebcfd012739 SHA512 469dca6ab3b94723310586e03d59556bb7838e9861afb00874d83fa40996a7541148e4f62702dd987201d23f99cd2b29a76b896898bc86241932e3af0a30aba0
+EBUILD libtool-2.4.7-r2.ebuild 3526 BLAKE2B cc30cd66a1b34676dd3216a85b0cf7abe34263e0609b8273d2df40e69643e166a3afb048fde89aeb0e9d4225044a5a425522a78bb698c7786ae5b51a17e3c283 SHA512 984d99830ec9e9cb65fd3fd7b3ebc50a4b3c526859a10db63f4bb2474cf7077c6f1519ed5fc888d7ee88c5f2dec7a7260e6c5460c894a1f0a5c0f49ea42ad707
+EBUILD libtool-9999.ebuild 3482 BLAKE2B 89e3fbe12ad32cb780dbc161e23b2338c402815a5e2dfc184d1b46b9e24f8ed1d2c59d4a08d43473242b59fb4124408093474287c5ae6ae9a2897404a0e831f6 SHA512 3069ece08bf5e1657433eb9c9375fbab8eb8fa60e5f22bc96b82559597fef052d4fd0d3e1f57caa3c8c37471224c5fafdb8bf31d8483244b2fed7e25149c3d29
MISC metadata.xml 331 BLAKE2B 4a4cfaad20b2f1c22b0b5ab23b4557e1bef50dbc49d0b7d821d4099e06bf488fdc6c7cb4a29431910d0e1b8cfb7c8b565cd3296afb30925a08389e023c777150 SHA512 9ca8e937181de31beb06558475dc8c10e61765d5280a882576a2d1e4e87fb750bc1c2e99aafdfffe343343797e0565814c0a5f8c18c7fba5b7fe9275100f2609
diff --git a/sys-devel/libtool/libtool-2.4.7-r2.ebuild b/sys-devel/libtool/libtool-2.4.7-r2.ebuild
index 2bf9e471c863..a2ec01d3671b 100644
--- a/sys-devel/libtool/libtool-2.4.7-r2.ebuild
+++ b/sys-devel/libtool/libtool-2.4.7-r2.ebuild
@@ -34,6 +34,9 @@ RDEPEND="
DEPEND="${RDEPEND}"
[[ ${PV} == *9999 ]] && BDEPEND="sys-apps/help2man"
+# Note that we have more patches in https://gitweb.gentoo.org/proj/elt-patches.git/
+# for package builds. The patches here are just those which are definitely fine
+# for the system-wide libtool installation as well.
PATCHES=(
# bug #109105
"${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch
diff --git a/sys-devel/libtool/libtool-9999.ebuild b/sys-devel/libtool/libtool-9999.ebuild
index ae63801bea83..131575326378 100644
--- a/sys-devel/libtool/libtool-9999.ebuild
+++ b/sys-devel/libtool/libtool-9999.ebuild
@@ -34,6 +34,9 @@ RDEPEND="
DEPEND="${RDEPEND}"
[[ ${PV} == *9999 ]] && BDEPEND="sys-apps/help2man"
+# Note that we have more patches in https://gitweb.gentoo.org/proj/elt-patches.git/
+# for package builds. The patches here are just those which are definitely fine
+# for the system-wide libtool installation as well.
PATCHES=(
# bug #109105
"${FILESDIR}"/${PN}-2.4.3-use-linux-version-in-fbsd.patch
diff --git a/sys-devel/lld/Manifest b/sys-devel/lld/Manifest
index c749e1f8ac5d..f5db5d00c812 100644
--- a/sys-devel/lld/Manifest
+++ b/sys-devel/lld/Manifest
@@ -5,10 +5,12 @@ DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db3659
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
+DIST llvm-project-8d817f6479a5df874028a8b40fd30aecd3479005.tar.gz 204890108 BLAKE2B 8c57c556371b37d00cda753a40f1162e678d89fa40e8f2b90a38aab7e17f9debfb2ebad53a3a95aa530a9e3e2b4b735828e404e576c8f2738370ec41c28badce SHA512 a38ce082ca1b999888ee0a633b94a02258579591e6ce73ba4722eafb9f0610f9624887eca43e4a6ae567c07ffc014f4ea4137e905899407951265d7c93785f18
DIST llvm-project-a085402ef54379758e6c996dbaedfcb92ad222b5.tar.gz 204569231 BLAKE2B 75403225fbe54f0921b279b237a90f1922b16997d1538fa5f225e04451fa2fc4a28e886efb7460ef0c26a3a964f0c57084e331b0736fa223926259c76d873200 SHA512 b8c6b0c7c0a4c369ecfa7ac71cf96549a19853e14bdf061b6b54429ce7ed998b236bb9ed3adbd6bf1c70c7e975508f751ebd0031ac2ff474d32216048a1c5f2d
EBUILD lld-15.0.7.ebuild 2269 BLAKE2B 322d5608e3acfb87bfb720646404ed405a3113c4faf1059428663a50d5566d7842fcff57ccf3aeb5e97b1a9acd4efd862db2368f130e088944ef4f0faf3c90f8 SHA512 e50d1d99fe18b6aba57c06eb6853f3212be1f7b7f2f3c70dcd226a69a4defc753eafcce77eb74f30eaa31b010fa094738718c1cdb23e584ef6e33eb72e536719
EBUILD lld-16.0.6.ebuild 2311 BLAKE2B 885625644518720a9a7da6e0bbc360ebc8c2ebee67fc85f68a8e4e5abcbb8d34b1d13f357f8d805a1bfe3b2cc6bb528d8bc0d9c67b5c0f6271953f95a012048d SHA512 e627839f5f5c0fbb245cecdc82c184c832a38da3897f9a8d4d218ce19a873ecb993effd7ac97554e3f3c696de0c458d571763f558d407fba40c3bf170f90b4e4
EBUILD lld-17.0.6.ebuild 2256 BLAKE2B 91f428860683ae8f4b167baa1917a02a7cf8c6995c73c1e6c805fc16da3e4476f9f36e9a44cf73bb8bd4b36b6946fbf4653eb17363536ff129496cc2d8c73200 SHA512 cf6e0433138e2a00437a739c9cbd5ac7f3c0104255538811e3cd1f87e0a2bf115f6db7f94febbd01db3d5dd0bca826e31e656755eae99d24c7332f27d472d170
EBUILD lld-18.0.0.9999.ebuild 2199 BLAKE2B ce9162e5de2ab6d0ffa94f5132f996d3b7f45d46937fe6a6d86a9b4cafc1435f27309853e7e00be2938ba8bc4e24a99eafc4a6fa11c9d2f49e6b3b2c3cbfd960 SHA512 e81ca64ee28290e35be514d4b3b1767f5efb21a26812a97291b865407fa7953c27a66145a9b0f6036b09353e6b5ee48c5a682580eaa093b36af28103749ec98c
EBUILD lld-18.0.0_pre20240106.ebuild 2199 BLAKE2B ce9162e5de2ab6d0ffa94f5132f996d3b7f45d46937fe6a6d86a9b4cafc1435f27309853e7e00be2938ba8bc4e24a99eafc4a6fa11c9d2f49e6b3b2c3cbfd960 SHA512 e81ca64ee28290e35be514d4b3b1767f5efb21a26812a97291b865407fa7953c27a66145a9b0f6036b09353e6b5ee48c5a682580eaa093b36af28103749ec98c
+EBUILD lld-18.0.0_pre20240113.ebuild 2199 BLAKE2B ce9162e5de2ab6d0ffa94f5132f996d3b7f45d46937fe6a6d86a9b4cafc1435f27309853e7e00be2938ba8bc4e24a99eafc4a6fa11c9d2f49e6b3b2c3cbfd960 SHA512 e81ca64ee28290e35be514d4b3b1767f5efb21a26812a97291b865407fa7953c27a66145a9b0f6036b09353e6b5ee48c5a682580eaa093b36af28103749ec98c
MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685
diff --git a/sys-devel/lld/lld-18.0.0_pre20240113.ebuild b/sys-devel/lld/lld-18.0.0_pre20240113.ebuild
new file mode 100644
index 000000000000..e72385c1bdb1
--- /dev/null
+++ b/sys-devel/lld/lld-18.0.0_pre20240113.ebuild
@@ -0,0 +1,89 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit cmake flag-o-matic llvm llvm.org python-any-r1 toolchain-funcs
+
+DESCRIPTION="The LLVM linker (link editor)"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
+IUSE="+debug test zstd"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ ~sys-devel/llvm-${PV}[debug=,zstd=]
+ sys-libs/zlib:=
+ zstd? ( app-arch/zstd:= )
+"
+RDEPEND="
+ ${DEPEND}
+ !sys-devel/lld:0
+"
+BDEPEND="
+ sys-devel/llvm:${LLVM_MAJOR}
+ test? (
+ $(python_gen_any_dep ">=dev-python/lit-${PV}[\${PYTHON_USEDEP}]")
+ )
+"
+PDEPEND="
+ >=sys-devel/lld-toolchain-symlinks-16-r2:${LLVM_MAJOR}
+"
+
+LLVM_COMPONENTS=( lld cmake libunwind/include/mach-o )
+llvm.org_set_globals
+
+python_check_deps() {
+ python_has_version ">=dev-python/lit-${PV}[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ LLVM_MAX_SLOT=${LLVM_MAJOR} llvm_pkg_setup
+ use test && python-any-r1_pkg_setup
+}
+
+src_unpack() {
+ llvm.org_src_unpack
+
+ # Directory ${WORKDIR}/llvm does not exist with USE="-test",
+ # but LLVM_MAIN_SRC_DIR="${WORKDIR}/llvm" is set below,
+ # and ${LLVM_MAIN_SRC_DIR}/../libunwind/include is used by build system
+ # (lld/MachO/CMakeLists.txt) and is expected to be resolvable
+ # to existent directory ${WORKDIR}/libunwind/include.
+ mkdir -p "${WORKDIR}/llvm" || die
+}
+
+src_configure() {
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+
+ use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
+
+ local mycmakeargs=(
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
+ -DBUILD_SHARED_LIBS=ON
+ -DLLVM_INCLUDE_TESTS=$(usex test)
+ -DLLVM_ENABLE_ZLIB=FORCE_ON
+ -DLLVM_ENABLE_ZSTD=$(usex zstd FORCE_ON OFF)
+ )
+
+ use test && mycmakeargs+=(
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ -DPython3_EXECUTABLE="${PYTHON}"
+ )
+
+ tc-is-cross-compiler && mycmakeargs+=(
+ -DLLVM_TABLEGEN_EXE="${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-tblgen"
+ )
+
+ cmake_src_configure
+}
+
+src_test() {
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check-lld
+}
diff --git a/sys-devel/llvm-common/Manifest b/sys-devel/llvm-common/Manifest
index 504b2e433259..850fb4fb67ab 100644
--- a/sys-devel/llvm-common/Manifest
+++ b/sys-devel/llvm-common/Manifest
@@ -4,10 +4,12 @@ DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db3659
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
+DIST llvm-project-8d817f6479a5df874028a8b40fd30aecd3479005.tar.gz 204890108 BLAKE2B 8c57c556371b37d00cda753a40f1162e678d89fa40e8f2b90a38aab7e17f9debfb2ebad53a3a95aa530a9e3e2b4b735828e404e576c8f2738370ec41c28badce SHA512 a38ce082ca1b999888ee0a633b94a02258579591e6ce73ba4722eafb9f0610f9624887eca43e4a6ae567c07ffc014f4ea4137e905899407951265d7c93785f18
DIST llvm-project-a085402ef54379758e6c996dbaedfcb92ad222b5.tar.gz 204569231 BLAKE2B 75403225fbe54f0921b279b237a90f1922b16997d1538fa5f225e04451fa2fc4a28e886efb7460ef0c26a3a964f0c57084e331b0736fa223926259c76d873200 SHA512 b8c6b0c7c0a4c369ecfa7ac71cf96549a19853e14bdf061b6b54429ce7ed998b236bb9ed3adbd6bf1c70c7e975508f751ebd0031ac2ff474d32216048a1c5f2d
EBUILD llvm-common-15.0.7.ebuild 1014 BLAKE2B da3b7ec6cd3c1e57758312fb9ea25e693305e1ef72b350eea85fbde5a1e636269d84bd491b6f528aee8a9cb8229f6304b371f99e6ac416c661c6519706b83b61 SHA512 68b9d672372fe71e39f2b8f9d80eb1dcb5138b8b9b961f56a4eeb81b3fc4054448a51a46b3a62547ebb6262425512f39bc146e5f2c3703de10ab520f1594e7a4
EBUILD llvm-common-16.0.6.ebuild 1021 BLAKE2B 635a5e329ec238346e1bfe715ed088484a33f517a294dd86f822dbc7d225a296f61d72b73be28767c6629516c6237cf1b377320a38c2092796e6d292ece12977 SHA512 64df7235d2bbf73792c6169931b3f5cb90feac9012590bb391b3d2aed67fbe518d08f46fffaf706f478e528b5837178f2e440557b906d6cce832ecaea021dbba
EBUILD llvm-common-17.0.6.ebuild 1025 BLAKE2B 2ece22c5c11edd0940c09813bc1b4103a3c37ed307e8a701871b895fb56475ba6467423dd24de9e199dd4ac353f16d3784f91bf7f625e1e1e73fbd61250a5b46 SHA512 e53bad74228412093f193acc5b9cabd740f77810de75d750149ac1df0aca6b6461035f52d6bb50245f7a695d33ff82ebf050fed50acf9090774e66dfcd7ce1a7
EBUILD llvm-common-18.0.0.9999.ebuild 925 BLAKE2B 6c17c6fa9b0e8713243f77a3ac6079e7bcbcd0cadef14b22a856944e0515a9722d1b843cbcb784c11dd76b4c882c30737932be700bb71389753761e455823a9f SHA512 2a476421a4c6acc172de2016fd96f3c90c0277565ccb84dad5e61f233c947ad9545acb5ac6aef7b139dce9004b70bba10a0a5eb482641a30d6a2ddc6adc74415
EBUILD llvm-common-18.0.0_pre20240106.ebuild 925 BLAKE2B 18510f8adb0e892eb63bdbf8a6154f56e23ed026ee6f0bf05bbccbafea843beb228bf57e14b01525fb0b067fdfa897faadbfd61179844a7c397c7f1d3b6fca64 SHA512 0cff75fcbabf14ba1526201d65b79486aefaf559accf5bd479a3643c4351ac997f6d55b2323328fabc4009e887e1cfe70681df5593c62a5b5bbfffb8312ea22d
+EBUILD llvm-common-18.0.0_pre20240113.ebuild 925 BLAKE2B 18510f8adb0e892eb63bdbf8a6154f56e23ed026ee6f0bf05bbccbafea843beb228bf57e14b01525fb0b067fdfa897faadbfd61179844a7c397c7f1d3b6fca64 SHA512 0cff75fcbabf14ba1526201d65b79486aefaf559accf5bd479a3643c4351ac997f6d55b2323328fabc4009e887e1cfe70681df5593c62a5b5bbfffb8312ea22d
MISC metadata.xml 299 BLAKE2B 2feead2cd1b35b3a43335ddd7711f8181b52bc63ee7166608914260c67528add5251349063afbef4f8cf0ec09b2cd4c3ffdd90f2c14ed60bb69ebc03888f6333 SHA512 cd745c54ab18d25bdaff18582105072574103a36cfe7c175ef740f266d00e9fc6f44c332904d23b911c939cf5bdf52973b388923099d8dd5dfef3c283b5cb685
diff --git a/sys-devel/llvm-common/llvm-common-18.0.0_pre20240113.ebuild b/sys-devel/llvm-common/llvm-common-18.0.0_pre20240113.ebuild
new file mode 100644
index 000000000000..2d8f35a84179
--- /dev/null
+++ b/sys-devel/llvm-common/llvm-common-18.0.0_pre20240113.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit elisp-common llvm.org
+
+DESCRIPTION="Common files shared between multiple slots of LLVM"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="emacs"
+
+RDEPEND="
+ !sys-devel/llvm:0
+"
+BDEPEND="
+ emacs? ( >=app-editors/emacs-23.1:* )
+"
+
+LLVM_COMPONENTS=( llvm/utils )
+llvm.org_set_globals
+
+SITEFILE="50llvm-gentoo.el"
+BYTECOMPFLAGS="-L emacs"
+
+src_compile() {
+ default
+
+ use emacs && elisp-compile emacs/*.el
+}
+
+src_install() {
+ insinto /usr/share/vim/vimfiles
+ doins -r vim/*/
+ # some users may find it useful
+ newdoc vim/README README.vim
+ dodoc vim/vimrc
+
+ if use emacs ; then
+ elisp-install llvm emacs/*.{el,elc}
+ elisp-make-site-file "${SITEFILE}" llvm
+ fi
+}
+
+pkg_postinst() {
+ use emacs && elisp-site-regen
+}
+
+pkg_postrm() {
+ use emacs && elisp-site-regen
+}
diff --git a/sys-devel/llvm/Manifest b/sys-devel/llvm/Manifest
index 393fbd24fbf3..280f336ac42a 100644
--- a/sys-devel/llvm/Manifest
+++ b/sys-devel/llvm/Manifest
@@ -10,10 +10,12 @@ DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db3659
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
+DIST llvm-project-8d817f6479a5df874028a8b40fd30aecd3479005.tar.gz 204890108 BLAKE2B 8c57c556371b37d00cda753a40f1162e678d89fa40e8f2b90a38aab7e17f9debfb2ebad53a3a95aa530a9e3e2b4b735828e404e576c8f2738370ec41c28badce SHA512 a38ce082ca1b999888ee0a633b94a02258579591e6ce73ba4722eafb9f0610f9624887eca43e4a6ae567c07ffc014f4ea4137e905899407951265d7c93785f18
DIST llvm-project-a085402ef54379758e6c996dbaedfcb92ad222b5.tar.gz 204569231 BLAKE2B 75403225fbe54f0921b279b237a90f1922b16997d1538fa5f225e04451fa2fc4a28e886efb7460ef0c26a3a964f0c57084e331b0736fa223926259c76d873200 SHA512 b8c6b0c7c0a4c369ecfa7ac71cf96549a19853e14bdf061b6b54429ce7ed998b236bb9ed3adbd6bf1c70c7e975508f751ebd0031ac2ff474d32216048a1c5f2d
EBUILD llvm-15.0.7-r3.ebuild 12507 BLAKE2B 61b25e81c868610f71c7c6c90150121bf00e65132a9de5c9a135b0aac7f0946dd342b7e98cc65e1f87717560a0fdbbe402f0ca9b2923af981aab595455d52380 SHA512 f3ee878de78c4c8b850eaed51aea03436c3263f7f6321b7ed4aea1928b81978f5f8897221330582f06d3742b5e715696368793205435a893822799c614d6de2a
EBUILD llvm-16.0.6.ebuild 12832 BLAKE2B c52a80dda141c3391e206e65851c8643afba59ba35b74cb4254de69330416d7366732618854fd4990ecff5ea948ba7eb4cc1368c671114ba18eb4dd32fcf881a SHA512 aeed6cb30195b435d2130322de16ce56036abc4e509f95a58637e7771a287718837862625b9849cf43adc06676c1c88d6668010f4896c4e1a760c0ac1a87f97b
EBUILD llvm-17.0.6.ebuild 13117 BLAKE2B 48f5b7b80d0610110c743f8b404eaa0f9a059bde4dc542e4e66e72b61a302c8e5b775686b082742aaa8298509130828a45dc9109347c5e03cb782257b67fd8cb SHA512 0af244a8abc34ab950c5ff1dba1bc36b6f16d6fdaea4089bfac57c076d0e1e85b5621eaeca9f8226b28b39237e6c415ff610a9dc9f129f3847f1883ffefa1df8
EBUILD llvm-18.0.0.9999.ebuild 12854 BLAKE2B f41244f8df56293b629bc40ce5cd1e2a9b709c935ca14871e4e76898df8ff3d3df94199e379d98fe57e13d324086e55e95fdc1a3a663241c67f143e0a81953bf SHA512 0232eda261b4f607e59afb870b151b256b64742d369cf1b26eb641e3ce499435b3541c9eb418f8bcca847aedd03d4ecff0b58f0f6b0fcb2106f86d190a40194b
EBUILD llvm-18.0.0_pre20240106.ebuild 12854 BLAKE2B f41244f8df56293b629bc40ce5cd1e2a9b709c935ca14871e4e76898df8ff3d3df94199e379d98fe57e13d324086e55e95fdc1a3a663241c67f143e0a81953bf SHA512 0232eda261b4f607e59afb870b151b256b64742d369cf1b26eb641e3ce499435b3541c9eb418f8bcca847aedd03d4ecff0b58f0f6b0fcb2106f86d190a40194b
+EBUILD llvm-18.0.0_pre20240113.ebuild 12854 BLAKE2B f41244f8df56293b629bc40ce5cd1e2a9b709c935ca14871e4e76898df8ff3d3df94199e379d98fe57e13d324086e55e95fdc1a3a663241c67f143e0a81953bf SHA512 0232eda261b4f607e59afb870b151b256b64742d369cf1b26eb641e3ce499435b3541c9eb418f8bcca847aedd03d4ecff0b58f0f6b0fcb2106f86d190a40194b
MISC metadata.xml 2835 BLAKE2B 07816d714509d62c0e0a443cc4af1f1f049497de75431f80a981f662b4f2281a16655be3e733a26099d0d814d5ce26d80cee13aa7a4e8d079168846a8e02670f SHA512 292ccb0a05a0239b5b00c6a84be11b4b385900d6467a6a139af03588c61aff9ac0e4bbcd23e89b2a7d7947f7d8cf8ba9323f2539a6c563a338b73f5ac6ffd00f
diff --git a/sys-devel/llvm/llvm-18.0.0_pre20240113.ebuild b/sys-devel/llvm/llvm-18.0.0_pre20240113.ebuild
new file mode 100644
index 000000000000..9c1e247877cc
--- /dev/null
+++ b/sys-devel/llvm/llvm-18.0.0_pre20240113.ebuild
@@ -0,0 +1,535 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit cmake llvm.org multilib-minimal pax-utils python-any-r1
+inherit toolchain-funcs
+
+DESCRIPTION="Low Level Virtual Machine"
+HOMEPAGE="https://llvm.org/"
+
+# Additional licenses:
+# 1. OpenBSD regex: Henry Spencer's license ('rc' in Gentoo) + BSD.
+# 2. xxhash: BSD.
+# 3. MD5 code: public-domain.
+# 4. ConvertUTF.h: TODO.
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA BSD public-domain rc"
+SLOT="${LLVM_MAJOR}/${LLVM_SOABI}"
+IUSE="
+ +binutils-plugin +debug debuginfod doc exegesis libedit +libffi
+ ncurses test xml z3 zstd
+"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sys-libs/zlib:0=[${MULTILIB_USEDEP}]
+ debuginfod? (
+ net-misc/curl:=
+ dev-cpp/cpp-httplib:=
+ )
+ exegesis? ( dev-libs/libpfm:= )
+ libedit? ( dev-libs/libedit:0=[${MULTILIB_USEDEP}] )
+ libffi? ( >=dev-libs/libffi-3.0.13-r1:0=[${MULTILIB_USEDEP}] )
+ ncurses? ( >=sys-libs/ncurses-5.9-r3:0=[${MULTILIB_USEDEP}] )
+ xml? ( dev-libs/libxml2:2=[${MULTILIB_USEDEP}] )
+ z3? ( >=sci-mathematics/z3-4.7.1:0=[${MULTILIB_USEDEP}] )
+ zstd? ( app-arch/zstd:=[${MULTILIB_USEDEP}] )
+"
+DEPEND="
+ ${RDEPEND}
+ binutils-plugin? ( sys-libs/binutils-libs )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ sys-devel/gnuconfig
+ kernel_Darwin? (
+ <sys-libs/libcxx-${LLVM_VERSION}.9999
+ >=sys-devel/binutils-apple-5.1
+ )
+ doc? ( $(python_gen_any_dep '
+ dev-python/myst-parser[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ ') )
+ libffi? ( virtual/pkgconfig )
+"
+# There are no file collisions between these versions but having :0
+# installed means llvm-config there will take precedence.
+RDEPEND="
+ ${RDEPEND}
+ !sys-devel/llvm:0
+"
+PDEPEND="
+ sys-devel/llvm-common
+ sys-devel/llvm-toolchain-symlinks:${LLVM_MAJOR}
+ binutils-plugin? ( >=sys-devel/llvmgold-${LLVM_MAJOR} )
+"
+
+LLVM_COMPONENTS=( llvm cmake third-party )
+LLVM_MANPAGES=1
+LLVM_USE_TARGETS=provide
+llvm.org_set_globals
+
+python_check_deps() {
+ use doc || return 0
+
+ python_has_version -b "dev-python/myst-parser[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]"
+}
+
+check_uptodate() {
+ local prod_targets=(
+ $(sed -n -e '/set(LLVM_ALL_TARGETS/,/)/p' CMakeLists.txt \
+ | tail -n +2 | head -n -1)
+ )
+ local all_targets=(
+ lib/Target/*/
+ )
+ all_targets=( "${all_targets[@]#lib/Target/}" )
+ all_targets=( "${all_targets[@]%/}" )
+
+ local exp_targets=() i
+ for i in "${all_targets[@]}"; do
+ has "${i}" "${prod_targets[@]}" || exp_targets+=( "${i}" )
+ done
+
+ if [[ ${exp_targets[*]} != ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_EXPERIMENTAL_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_EXPERIMENTAL_TARGETS[*]}"
+ eqawarn "Expected: ${exp_targets[*]}"
+ eqawarn
+ fi
+
+ if [[ ${prod_targets[*]} != ${ALL_LLVM_PRODUCTION_TARGETS[*]} ]]; then
+ eqawarn "ALL_LLVM_PRODUCTION_TARGETS is outdated!"
+ eqawarn " Have: ${ALL_LLVM_PRODUCTION_TARGETS[*]}"
+ eqawarn "Expected: ${prod_targets[*]}"
+ fi
+}
+
+check_distribution_components() {
+ if [[ ${CMAKE_MAKEFILE_GENERATOR} == ninja ]]; then
+ local all_targets=() my_targets=() l
+ cd "${BUILD_DIR}" || die
+
+ while read -r l; do
+ if [[ ${l} == install-*-stripped:* ]]; then
+ l=${l#install-}
+ l=${l%%-stripped*}
+
+ case ${l} in
+ # shared libs
+ LLVM|LLVMgold)
+ ;;
+ # TableGen lib + deps
+ LLVMDemangle|LLVMSupport|LLVMTableGen)
+ ;;
+ # testing libraries
+ LLVMTestingAnnotations|LLVMTestingSupport)
+ ;;
+ # static libs
+ LLVM*)
+ continue
+ ;;
+ # meta-targets
+ distribution|llvm-libraries)
+ continue
+ ;;
+ # used only w/ USE=doc
+ docs-llvm-html)
+ use doc || continue
+ ;;
+ esac
+
+ all_targets+=( "${l}" )
+ fi
+ done < <(${NINJA} -t targets all)
+
+ while read -r l; do
+ my_targets+=( "${l}" )
+ done < <(get_distribution_components $"\n")
+
+ local add=() remove=()
+ for l in "${all_targets[@]}"; do
+ if ! has "${l}" "${my_targets[@]}"; then
+ add+=( "${l}" )
+ fi
+ done
+ for l in "${my_targets[@]}"; do
+ if ! has "${l}" "${all_targets[@]}"; then
+ remove+=( "${l}" )
+ fi
+ done
+
+ if [[ ${#add[@]} -gt 0 || ${#remove[@]} -gt 0 ]]; then
+ eqawarn "get_distribution_components() is outdated!"
+ eqawarn " Add: ${add[*]}"
+ eqawarn "Remove: ${remove[*]}"
+ fi
+ cd - >/dev/null || die
+ fi
+}
+
+src_prepare() {
+ # disable use of SDK on OSX, bug #568758
+ sed -i -e 's/xcrun/false/' utils/lit/lit/util.py || die
+
+ # Update config.guess to support more systems
+ cp "${BROOT}/usr/share/gnuconfig/config.guess" cmake/ || die
+
+ # Verify that the ebuild is up-to-date
+ check_uptodate
+
+ llvm.org_src_prepare
+}
+
+get_distribution_components() {
+ local sep=${1-;}
+
+ local out=(
+ # shared libs
+ LLVM
+ LTO
+ Remarks
+
+ # tools
+ llvm-config
+
+ # common stuff
+ cmake-exports
+ llvm-headers
+
+ # libraries needed for clang-tblgen
+ LLVMDemangle
+ LLVMSupport
+ LLVMTableGen
+
+ # testing libraries
+ llvm_gtest
+ llvm_gtest_main
+ LLVMTestingAnnotations
+ LLVMTestingSupport
+ )
+
+ if multilib_is_native_abi; then
+ out+=(
+ # utilities
+ llvm-tblgen
+ FileCheck
+ llvm-PerfectShuffle
+ count
+ not
+ yaml-bench
+ UnicodeNameMappingGenerator
+
+ # tools
+ bugpoint
+ dsymutil
+ llc
+ lli
+ lli-child-target
+ llvm-addr2line
+ llvm-ar
+ llvm-as
+ llvm-bcanalyzer
+ llvm-bitcode-strip
+ llvm-c-test
+ llvm-cat
+ llvm-cfi-verify
+ llvm-config
+ llvm-cov
+ llvm-cvtres
+ llvm-cxxdump
+ llvm-cxxfilt
+ llvm-cxxmap
+ llvm-debuginfo-analyzer
+ llvm-debuginfod-find
+ llvm-diff
+ llvm-dis
+ llvm-dlltool
+ llvm-dwarfdump
+ llvm-dwarfutil
+ llvm-dwp
+ llvm-exegesis
+ llvm-extract
+ llvm-gsymutil
+ llvm-ifs
+ llvm-install-name-tool
+ llvm-jitlink
+ llvm-jitlink-executor
+ llvm-lib
+ llvm-libtool-darwin
+ llvm-link
+ llvm-lipo
+ llvm-lto
+ llvm-lto2
+ llvm-mc
+ llvm-mca
+ llvm-ml
+ llvm-modextract
+ llvm-mt
+ llvm-nm
+ llvm-objcopy
+ llvm-objdump
+ llvm-opt-report
+ llvm-otool
+ llvm-pdbutil
+ llvm-profdata
+ llvm-profgen
+ llvm-ranlib
+ llvm-rc
+ llvm-readelf
+ llvm-readobj
+ llvm-readtapi
+ llvm-reduce
+ llvm-remarkutil
+ llvm-rtdyld
+ llvm-sim
+ llvm-size
+ llvm-split
+ llvm-stress
+ llvm-strings
+ llvm-strip
+ llvm-symbolizer
+ llvm-tli-checker
+ llvm-undname
+ llvm-windres
+ llvm-xray
+ obj2yaml
+ opt
+ sancov
+ sanstats
+ split-file
+ verify-uselistorder
+ yaml2obj
+
+ # python modules
+ opt-viewer
+ )
+
+ if llvm_are_manpages_built; then
+ out+=(
+ # manpages
+ docs-dsymutil-man
+ docs-llvm-dwarfdump-man
+ docs-llvm-man
+ )
+ fi
+ use doc && out+=(
+ docs-llvm-html
+ )
+
+ use binutils-plugin && out+=(
+ LLVMgold
+ )
+ use debuginfod && out+=(
+ llvm-debuginfod
+ )
+ fi
+
+ printf "%s${sep}" "${out[@]}"
+}
+
+multilib_src_configure() {
+ local ffi_cflags ffi_ldflags
+ if use libffi; then
+ ffi_cflags=$($(tc-getPKG_CONFIG) --cflags-only-I libffi)
+ ffi_ldflags=$($(tc-getPKG_CONFIG) --libs-only-L libffi)
+ fi
+
+ local libdir=$(get_libdir)
+ local mycmakeargs=(
+ # disable appending VCS revision to the version to improve
+ # direct cache hit ratio
+ -DLLVM_APPEND_VC_REV=OFF
+ -DCMAKE_INSTALL_PREFIX="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}"
+ -DLLVM_LIBDIR_SUFFIX=${libdir#lib}
+
+ -DBUILD_SHARED_LIBS=OFF
+ -DLLVM_BUILD_LLVM_DYLIB=ON
+ -DLLVM_LINK_LLVM_DYLIB=ON
+ -DLLVM_DISTRIBUTION_COMPONENTS=$(get_distribution_components)
+
+ # cheap hack: LLVM combines both anyway, and the only difference
+ # is that the former list is explicitly verified at cmake time
+ -DLLVM_TARGETS_TO_BUILD=""
+ -DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD="${LLVM_TARGETS// /;}"
+ -DLLVM_INCLUDE_BENCHMARKS=OFF
+ -DLLVM_INCLUDE_TESTS=ON
+ -DLLVM_BUILD_TESTS=$(usex test)
+ -DLLVM_INSTALL_GTEST=ON
+
+ -DLLVM_ENABLE_FFI=$(usex libffi)
+ -DLLVM_ENABLE_LIBEDIT=$(usex libedit)
+ -DLLVM_ENABLE_TERMINFO=$(usex ncurses)
+ -DLLVM_ENABLE_LIBXML2=$(usex xml)
+ -DLLVM_ENABLE_ASSERTIONS=$(usex debug)
+ -DLLVM_ENABLE_LIBPFM=$(usex exegesis)
+ -DLLVM_ENABLE_EH=ON
+ -DLLVM_ENABLE_RTTI=ON
+ -DLLVM_ENABLE_Z3_SOLVER=$(usex z3)
+ -DLLVM_ENABLE_ZLIB=FORCE_ON
+ -DLLVM_ENABLE_ZSTD=$(usex zstd FORCE_ON OFF)
+ -DLLVM_ENABLE_CURL=$(usex debuginfod)
+ -DLLVM_ENABLE_HTTPLIB=$(usex debuginfod)
+
+ -DLLVM_HOST_TRIPLE="${CHOST}"
+
+ -DFFI_INCLUDE_DIR="${ffi_cflags#-I}"
+ -DFFI_LIBRARY_DIR="${ffi_ldflags#-L}"
+
+ -DPython3_EXECUTABLE="${PYTHON}"
+
+ # disable OCaml bindings (now in dev-ml/llvm-ocaml)
+ -DOCAMLFIND=NO
+ )
+
+ local suffix=
+ if [[ -n ${EGIT_VERSION} && ${EGIT_BRANCH} != release/* ]]; then
+ # the ABI of the main branch is not stable, so let's include
+ # the commit id in the SOVERSION to contain the breakage
+ suffix+="git${EGIT_VERSION::8}"
+ fi
+ if [[ $(tc-get-cxx-stdlib) == libc++ ]]; then
+ # Smart hack: alter version suffix -> SOVERSION when linking
+ # against libc++. This way we won't end up mixing LLVM libc++
+ # libraries with libstdc++ clang, and the other way around.
+ suffix+="+libcxx"
+ mycmakeargs+=(
+ -DLLVM_ENABLE_LIBCXX=ON
+ )
+ fi
+ mycmakeargs+=(
+ -DLLVM_VERSION_SUFFIX="${suffix}"
+ )
+
+ use test && mycmakeargs+=(
+ -DLLVM_LIT_ARGS="$(get_lit_flags)"
+ )
+
+ if multilib_is_native_abi; then
+ local build_docs=OFF
+ if llvm_are_manpages_built; then
+ build_docs=ON
+ mycmakeargs+=(
+ -DCMAKE_INSTALL_MANDIR="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ -DLLVM_INSTALL_SPHINX_HTML_DIR="${EPREFIX}/usr/share/doc/${PF}/html"
+ -DSPHINX_WARNINGS_AS_ERRORS=OFF
+ )
+ fi
+
+ mycmakeargs+=(
+ -DLLVM_BUILD_DOCS=${build_docs}
+ -DLLVM_ENABLE_OCAMLDOC=OFF
+ -DLLVM_ENABLE_SPHINX=${build_docs}
+ -DLLVM_ENABLE_DOXYGEN=OFF
+ -DLLVM_INSTALL_UTILS=ON
+ )
+ use binutils-plugin && mycmakeargs+=(
+ -DLLVM_BINUTILS_INCDIR="${EPREFIX}"/usr/include
+ )
+ fi
+
+ # On Macos prefix, Gentoo doesn't split sys-libs/ncurses to libtinfo and
+ # libncurses, but llvm tries to use libtinfo before libncurses, and ends up
+ # using libtinfo (actually, libncurses.dylib) from system instead of prefix
+ use kernel_Darwin && mycmakeargs+=(
+ -DTerminfo_LIBRARIES=-lncurses
+ )
+
+ # workaround BMI bug in gcc-7 (fixed in 7.4)
+ # https://bugs.gentoo.org/649880
+ # apply only to x86, https://bugs.gentoo.org/650506
+ if tc-is-gcc && [[ ${MULTILIB_ABI_FLAG} == abi_x86* ]] &&
+ [[ $(gcc-major-version) -eq 7 && $(gcc-minor-version) -lt 4 ]]
+ then
+ local CFLAGS="${CFLAGS} -mno-bmi"
+ local CXXFLAGS="${CXXFLAGS} -mno-bmi"
+ fi
+
+ # LLVM can have very high memory consumption while linking,
+ # exhausting the limit on 32-bit linker executable
+ use x86 && local -x LDFLAGS="${LDFLAGS} -Wl,--no-keep-memory"
+
+ # LLVM_ENABLE_ASSERTIONS=NO does not guarantee this for us, #614844
+ use debug || local -x CPPFLAGS="${CPPFLAGS} -DNDEBUG"
+ cmake_src_configure
+
+ grep -q -E "^CMAKE_PROJECT_VERSION_MAJOR(:.*)?=${LLVM_MAJOR}$" \
+ CMakeCache.txt ||
+ die "Incorrect version, did you update _LLVM_MAIN_MAJOR?"
+ multilib_is_native_abi && check_distribution_components
+}
+
+multilib_src_compile() {
+ tc-env_build cmake_build distribution
+
+ pax-mark m "${BUILD_DIR}"/bin/llvm-rtdyld
+ pax-mark m "${BUILD_DIR}"/bin/lli
+ pax-mark m "${BUILD_DIR}"/bin/lli-child-target
+
+ if use test; then
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/Orc/OrcJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/ExecutionEngine/MCJIT/MCJITTests
+ pax-mark m "${BUILD_DIR}"/unittests/Support/SupportTests
+ fi
+}
+
+multilib_src_test() {
+ # respect TMPDIR!
+ local -x LIT_PRESERVES_TMP=1
+ cmake_build check
+}
+
+src_install() {
+ local MULTILIB_CHOST_TOOLS=(
+ /usr/lib/llvm/${LLVM_MAJOR}/bin/llvm-config
+ )
+
+ local MULTILIB_WRAPPED_HEADERS=(
+ /usr/include/llvm/Config/llvm-config.h
+ )
+
+ local LLVM_LDPATHS=()
+ multilib-minimal_src_install
+
+ # move wrapped headers back
+ mv "${ED}"/usr/include "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include || die
+}
+
+multilib_src_install() {
+ DESTDIR=${D} cmake_build install-distribution
+
+ # move headers to /usr/include for wrapping
+ rm -rf "${ED}"/usr/include || die
+ mv "${ED}"/usr/lib/llvm/${LLVM_MAJOR}/include "${ED}"/usr/include || die
+
+ LLVM_LDPATHS+=( "${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)" )
+}
+
+multilib_src_install_all() {
+ local revord=$(( 9999 - ${LLVM_MAJOR} ))
+ newenvd - "60llvm-${revord}" <<-_EOF_
+ PATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
+ # we need to duplicate it in ROOTPATH for Portage to respect...
+ ROOTPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/bin"
+ MANPATH="${EPREFIX}/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ LDPATH="$( IFS=:; echo "${LLVM_LDPATHS[*]}" )"
+ _EOF_
+
+ docompress "/usr/lib/llvm/${LLVM_MAJOR}/share/man"
+ llvm_install_manpages
+}
+
+pkg_postinst() {
+ elog "You can find additional opt-viewer utility scripts in:"
+ elog " ${EROOT}/usr/lib/llvm/${LLVM_MAJOR}/share/opt-viewer"
+ elog "To use these scripts, you will need Python along with the following"
+ elog "packages:"
+ elog " dev-python/pygments (for opt-viewer)"
+ elog " dev-python/pyyaml (for all of them)"
+}
diff --git a/sys-devel/make/Manifest b/sys-devel/make/Manifest
deleted file mode 100644
index 8456f51ea398..000000000000
--- a/sys-devel/make/Manifest
+++ /dev/null
@@ -1,11 +0,0 @@
-AUX make-3.82-darwin-library_search-dylib.patch 394 BLAKE2B abd83733bc3036e412a57e0ced927511f45b9308f77d759ab299a5fc7fd76e81346cb4b908513ab20bc4aa931d436dbd4b3cd8cd0f5b05f94816569830589ce8 SHA512 32728cda66093f813e2731e120d71befa71e97e57a908503f60f79fd400e9fe0766f72d0c2ed065def1ea3a36a03b67d189dbff474728f41622489f1c3a515cb
-AUX make-4.2-default-cxx.patch 212 BLAKE2B 16ab647e54b27b2be8fe3b8abc37940690e828a1f68a21856377dec4b282ef489246f5de7c2b364654327166fb9b3f2a0dae755dc15db786c607c6d7f1fd76d1 SHA512 9b9be230f8c74ee438851d1c10409ebd188f818d04e99b799a353fc26c2da78d2e298b907287ceece7b6e64f9ac0908ae65e33c35634b9338b246225b63cb409
-AUX make-4.4-default-cxx.patch 278 BLAKE2B 9b5a0428e37f3abcaa01567302b12e48031b755cd988054464275c5ae255a9c77a507d9772f2124614569a858c820c533a46d859e11813591a6cdea636d74f2a SHA512 f569ebd924d64c95e0d3d7c61daaedb7780cccded83bd73036d56f1ef658497056f95a65c463fe347b14b1d12205507173eaab8cb74205cbcf32bf1a25531f9d
-DIST make-4.3.tar.gz 2317073 BLAKE2B 5a82ce1f30eb034366ac3b87d2ec6698aae17d7b1a611941cf42136b2453b34236ab55382eab0a593c43cee8b036ba4a054f966c41ba766fdbd2862942be5dff SHA512 9a1185cc468368f4ec06478b1cfa343bf90b5cd7c92c0536567db0315b0ee909af53ecce3d44cfd93dd137dbca1ed13af5713e8663590c4fdd21ea635d78496b
-DIST make-4.3.tar.gz.sig 566 BLAKE2B 75bf71602e60f97ec8efa81676329047746d960257ef310b89a059144c00628b6a1ddf7a16a2ac2c3e935b8591475f5043a7c7546668ab39abbc4717c75a6528 SHA512 bf13e2943593b153457c8111179e8ae11cef2d9185a986106a1e70946a260bd930505a5e10002c5a60888e11affc07713c367b8680fd511ad87b2e124d303a99
-DIST make-4.4.1.tar.gz 2348200 BLAKE2B 09a4ad8060259e36854b525ab610fd317a86f4926e44e3ab8adba75dccc8d4b445df9dd25ccfb4c25a54bc0e98238a9127e36401d74cbc3503a329eadcdf4995 SHA512 145260cbd6a8226cef3dfef0c8baba31847beaebc7e6b65d39d02715fd4f4cab9b139b6c3772e550088d4f9ae80c6d3ed20b9a7664c693644dfb96b4cb60e67c
-DIST make-4.4.1.tar.gz.sig 833 BLAKE2B d5f9a33b0262d4a9216f47718f6596884852662a692e708191a7007964007940da1c06549db28ae1d13683c4a949b9ee86da9dedd9a80da8f8b09e71e659e9a1 SHA512 d7a5531c10f216d690ec036f3875c7f314fa53006e138568c60132d506db48d1a59201623e168091dafa4465b005991019e42f81ff1a96a44610b6b18de08b09
-EBUILD make-4.3-r1.ebuild 1747 BLAKE2B 1cb1c4d15b41ed5460355be8c562387df38d928177dbe59e3537430b7e36799a2075b27260a5f118810ee4b8b0cb7a24ba1eeb4bf9d578c438be446042dc2389 SHA512 02cd3eebbc85d48aa9b9abe981760e322184d827abfcfb3c982c138a9d51c0f978b70a7978e2c716ff4d43174fd331ebe88fe7e2a7e0e5d756c8345e7ae04241
-EBUILD make-4.4.1-r1.ebuild 1714 BLAKE2B 4d0d14f6b0eb0347983bfce5ddaa4e91011c9c3834b4e6cfb59609ccc7e49a1ee712c36c586c6da358e3bd6c3f651fb6374c9ea1222495f4c14efbbd8f282f80 SHA512 0a9fa914aec9bc0478bfb0ec5c195ffae8a851aff60d500fc06dad49c2eb85db29ffb61aa784fbe571b32df8c420d20fb9e4aee5730c61ffc06a82e76d7fe870
-EBUILD make-9999.ebuild 1722 BLAKE2B e304cb2442da1746f230796e690f2300dc0f488fba73d43f6be28c457db1dd0c826fe2c339dc9b6d0dc16f7d21fe3d6aedb48acf1996e2cdae193c513c6e2d8b SHA512 8c52561b7d443493991c405820944017e599bfca9d7d223c8b8c4b523268b36e4eb4037e6bf93bc57c1c64106524920c8dcc17a37ea47f7e9efe5b0f030a89ae
-MISC metadata.xml 381 BLAKE2B 867fd4a045ef622ccb62c72b7198e205293501d075ec0dca7daf702bacbe2df21ea23aadb4150e42fdc0914a95cab0f48d439c1f7073acf2302bdaf48fa18688 SHA512 66494f08f599035728fa7f87b3f7ca093e3c50dbb694aed8214d1dbbb3d1e03441e6e159b1453709fa8c7da8cc8d73ab2c972517a3506b1fb671533d459c4418
diff --git a/sys-devel/make/files/make-3.82-darwin-library_search-dylib.patch b/sys-devel/make/files/make-3.82-darwin-library_search-dylib.patch
deleted file mode 100644
index 743583b5a0a3..000000000000
--- a/sys-devel/make/files/make-3.82-darwin-library_search-dylib.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Fixed default libpatttern on Darwin, imported from prefix overlay.
-Got merged upstream:
-https://savannah.gnu.org/bugs/?37197
---- a/src/default.c
-+++ b/src/default.c
-@@ -509,7 +509,11 @@
- #ifdef __MSDOS__
- ".LIBPATTERNS", "lib%.a $(DJDIR)/lib/lib%.a",
- #else
-+#ifdef __APPLE__
-+ ".LIBPATTERNS", "lib%.dylib lib%.a",
-+#else
- ".LIBPATTERNS", "lib%.so lib%.a",
-+#endif
- #endif
- #endif
-
diff --git a/sys-devel/make/files/make-4.2-default-cxx.patch b/sys-devel/make/files/make-4.2-default-cxx.patch
deleted file mode 100644
index 39e3ee0dd9f9..000000000000
--- a/sys-devel/make/files/make-4.2-default-cxx.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/default.c
-+++ b/src/default.c
-@@ -530,7 +530,7 @@ static const char *default_variables[] =
- "OBJC", "gcc",
- #else
- "CC", "cc",
-- "CXX", "g++",
-+ "CXX", "c++",
- "OBJC", "cc",
- #endif
-
diff --git a/sys-devel/make/files/make-4.4-default-cxx.patch b/sys-devel/make/files/make-4.4-default-cxx.patch
deleted file mode 100644
index 4a56df5da2c8..000000000000
--- a/sys-devel/make/files/make-4.4-default-cxx.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/src/default.c
-+++ b/src/default.c
-@@ -542,7 +542,7 @@ static const char *default_variables[] =
- "CXX", "gcc",
- # endif /* __MSDOS__ */
- # else
-- "CXX", "g++",
-+ "CXX", "c++",
- # endif
- #endif
- /* This expands to $(CO) $(COFLAGS) $< $@ if $@ does not exist,
diff --git a/sys-devel/make/make-4.3-r1.ebuild b/sys-devel/make/make-4.3-r1.ebuild
deleted file mode 100644
index 86232f173a21..000000000000
--- a/sys-devel/make/make-4.3-r1.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/make.asc
-inherit flag-o-matic verify-sig
-
-DESCRIPTION="Standard tool to compile source trees"
-HOMEPAGE="https://www.gnu.org/software/make/make.html"
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://git.savannah.gnu.org/git/make.git"
- inherit autotools git-r3
-elif [[ $(ver_cut 3) -ge 90 ]] ; then
- SRC_URI="https://alpha.gnu.org/gnu/make/${P}.tar.gz"
- SRC_URI+=" verify-sig? ( https://alpha.gnu.org/gnu/make/${P}.tar.gz.sig )"
-else
- SRC_URI="mirror://gnu//make/${P}.tar.gz"
- SRC_URI+=" verify-sig? ( mirror://gnu//make/${P}.tar.gz.sig )"
- 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"
-fi
-
-LICENSE="GPL-3+"
-SLOT="0"
-IUSE="guile nls static"
-
-DEPEND="guile? ( >=dev-scheme/guile-1.8:= )"
-BDEPEND="nls? ( sys-devel/gettext )
- verify-sig? ( sec-keys/openpgp-keys-make )"
-RDEPEND="${DEPEND}
- nls? ( virtual/libintl )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-3.82-darwin-library_search-dylib.patch
- "${FILESDIR}"/${PN}-4.2-default-cxx.patch
-)
-
-src_unpack() {
- if [[ ${PV} == 9999 ]] ; then
- git-r3_src_unpack
-
- cd "${S}" || die
- ./bootstrap || die
- else
- default
- fi
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} == 9999 ]] ; then
- eautoreconf
- fi
-}
-
-src_configure() {
- use static && append-ldflags -static
- local myeconfargs=(
- --program-prefix=g
- $(use_with guile)
- $(use_enable nls)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- dodoc AUTHORS NEWS README*
-
- dosym gmake /usr/bin/make
- dosym gmake.1 /usr/share/man/man1/make.1
-}
diff --git a/sys-devel/make/make-4.4.1-r1.ebuild b/sys-devel/make/make-4.4.1-r1.ebuild
deleted file mode 100644
index dca1f3a7981c..000000000000
--- a/sys-devel/make/make-4.4.1-r1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/make.asc
-inherit flag-o-matic verify-sig
-
-DESCRIPTION="Standard tool to compile source trees"
-HOMEPAGE="https://www.gnu.org/software/make/make.html"
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://git.savannah.gnu.org/git/make.git"
- inherit autotools git-r3
-elif [[ $(ver_cut 3) -ge 90 || $(ver_cut 4) -ge 90 ]] ; then
- SRC_URI="https://alpha.gnu.org/gnu/make/${P}.tar.gz"
- SRC_URI+=" verify-sig? ( https://alpha.gnu.org/gnu/make/${P}.tar.gz.sig )"
-else
- SRC_URI="mirror://gnu/make/${P}.tar.gz"
- SRC_URI+=" verify-sig? ( mirror://gnu/make/${P}.tar.gz.sig )"
- 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"
-fi
-
-LICENSE="GPL-3+"
-SLOT="0"
-IUSE="guile nls static"
-
-DEPEND="guile? ( >=dev-scheme/guile-1.8:= )"
-RDEPEND="
- ${DEPEND}
- nls? ( virtual/libintl )
-"
-BDEPEND="
- nls? ( sys-devel/gettext )
- verify-sig? ( sec-keys/openpgp-keys-make )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.4-default-cxx.patch
-)
-
-src_unpack() {
- if [[ ${PV} == 9999 ]] ; then
- git-r3_src_unpack
-
- cd "${S}" || die
- ./bootstrap || die
- else
- default
- fi
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} == 9999 ]] ; then
- eautoreconf
- fi
-}
-
-src_configure() {
- use static && append-ldflags -static
- local myeconfargs=(
- --program-prefix=g
- $(use_with guile)
- $(use_enable nls)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- dodoc AUTHORS NEWS README*
-
- dosym gmake /usr/bin/make
- dosym gmake.1 /usr/share/man/man1/make.1
-}
diff --git a/sys-devel/make/make-9999.ebuild b/sys-devel/make/make-9999.ebuild
deleted file mode 100644
index 9cf849936bbe..000000000000
--- a/sys-devel/make/make-9999.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/make.asc
-inherit flag-o-matic verify-sig
-
-DESCRIPTION="Standard tool to compile source trees"
-HOMEPAGE="https://www.gnu.org/software/make/make.html"
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://git.savannah.gnu.org/git/make.git"
- inherit autotools git-r3
-elif [[ $(ver_cut 3) -ge 90 || $(ver_cut 4) -ge 90 ]] ; then
- SRC_URI="https://alpha.gnu.org/gnu/make/${P}.tar.gz"
- SRC_URI+=" verify-sig? ( https://alpha.gnu.org/gnu/make/${P}.tar.gz.sig )"
-else
- SRC_URI="mirror://gnu/make/${P}.tar.gz"
- SRC_URI+=" verify-sig? ( mirror://gnu/make/${P}.tar.gz.sig )"
- 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"
-fi
-
-LICENSE="GPL-3+"
-SLOT="0"
-IUSE="guile nls static"
-
-DEPEND="guile? ( >=dev-scheme/guile-1.8:= )"
-RDEPEND="
- ${DEPEND}
- nls? ( virtual/libintl )
-"
-BDEPEND="
- nls? ( sys-devel/gettext )
- verify-sig? ( sec-keys/openpgp-keys-make )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.4-default-cxx.patch
-)
-
-src_unpack() {
- if [[ ${PV} == 9999 ]] ; then
- git-r3_src_unpack
-
- cd "${S}" || die
- ./bootstrap || die
- else
- default
- fi
-}
-
-src_prepare() {
- default
-
- if [[ ${PV} == 9999 ]] ; then
- eautoreconf
- fi
-}
-
-src_configure() {
- use static && append-ldflags -static
- local myeconfargs=(
- --program-prefix=g
- $(use_with guile)
- $(use_enable nls)
- )
- econf "${myeconfargs[@]}"
-}
-
-src_install() {
- emake DESTDIR="${D}" install
- dodoc AUTHORS NEWS README*
-
- dosym gmake /usr/bin/make
- dosym gmake.1 /usr/share/man/man1/make.1
-}
diff --git a/sys-devel/make/metadata.xml b/sys-devel/make/metadata.xml
deleted file mode 100644
index 068fc3567c55..000000000000
--- a/sys-devel/make/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?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>
- <upstream>
- <remote-id type="cpe">cpe:/a:gnu:make</remote-id>
- <remote-id type="savannah">make</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/sys-devel/pmake/Manifest b/sys-devel/pmake/Manifest
deleted file mode 100644
index d143daaeda0e..000000000000
--- a/sys-devel/pmake/Manifest
+++ /dev/null
@@ -1,6 +0,0 @@
-AUX pmake-1.111.1-ldflags.patch 484 BLAKE2B d94f955c6ec149b7617c26010e7364fe2ad5e88ae39251e2e751eb69a3d60e855783fe621b69c9bc418e0c09b17d95a3247517b3a477ca52b45a2068e18f339a SHA512 10276e6caa4e339a2e7c787ee04dc97187d48cf433cd6148ec5451ae055d638f79c8d8950c94fe84cdffa02b20519423272f09a6ee669ab026db861442051849
-AUX pmake-1.98-skipdots.patch 513 BLAKE2B 03f63f698b3d147dc0d1df0140f40657cecd445d7c7659f18369e5fa541b0370ced4cddafd27639149aa93053440f7d43b715baf1893cf4613ba15fe6820bdc9 SHA512 ccd751cca406abdb763f251c147f7b7efd7b001e415bc8c98a4fa8069420b64c3a5819b4abd5f174606390f903f8cba5e560e02a14519619713da26ab52c54ad
-DIST pmake_1.111-3.3.debian.tar.gz 31648 BLAKE2B 31aca433bbeac4275d4c2af0cfd33ef81b0086b0dec107edfc1fba55b15480367ebf62abccd6e2e48f0c7ccc25c59f0b07eed7ac950a5037b73c267b066a9638 SHA512 b22a1d9e371712732f196d91ac3eb9239fa98ee8ee05754576e7a5878cab88976cb10bb6be90706df5ac738373f519468403c23f6a3ff3860a2968b3222a66ed
-DIST pmake_1.111.orig.tar.gz 264383 BLAKE2B 54dd510251441b54c9f5d7f6061109b0222191b3acdded1394b51b72b87bbd4255edd80fab46976d92c58929693b6809a9f2c4f001cab8c9cdaabfac9f3adac9 SHA512 ad48708ea014d6a38ad36303504c52992b51a1e815564f1710849d859b1fc3cd58c4a1a71f54ec902c9b69112e9cd1e1a64282ff738439cdb209a4f75c364c22
-EBUILD pmake-1.111.3.3-r1.ebuild 1865 BLAKE2B e009b6b222e34679db650669bd987321894b3a7ae567e80b88f28abb94ca026d32190c56d53c3de8304677a6e92a0318f0f059c0ace59cc4a726a9f22dfca15c SHA512 213da2ffa18379f8a0224c8fe5d9fb46c7e4a2aad290603a52363efc3996494e0695ec317d12a45fe7744d02bbaf430ab00ac10e59569153f6a32834c2583de7
-MISC metadata.xml 167 BLAKE2B 868e3b584722eaacf68273db062bb773d8c7e5d7ab2b81ca7e8397643bf7cc106c3a1033594401c99c54f667bb45d6b73f9048fc335580bbd44b4589ad26a832 SHA512 30caadd1496c3b9969136038239a1d8e01f236726b4022c2d7e19ca7575f25f735e556835e581afbf44fbd3e4104c40f2b5ef5fa70118d75c881fdf871962d0a
diff --git a/sys-devel/pmake/files/pmake-1.111.1-ldflags.patch b/sys-devel/pmake/files/pmake-1.111.1-ldflags.patch
deleted file mode 100644
index d6047d48994b..000000000000
--- a/sys-devel/pmake/files/pmake-1.111.1-ldflags.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: pmake/Makefile.boot
-===================================================================
---- pmake.orig/Makefile.boot
-+++ pmake/Makefile.boot
-@@ -36,7 +36,7 @@ LIBOBJ= lst.lib/lstAppend.o lst.lib/lstA
-
- bmake: ${OBJ} ${LIBOBJ}
- # @echo 'make of make and make.0 started.'
-- ${CC} ${CFLAGS} ${OBJ} ${LIBOBJ} -o bmake ${LIBS}
-+ ${CC} ${LDFLAGS} ${CFLAGS} ${OBJ} ${LIBOBJ} -o bmake ${LIBS}
- @ls -l $@
- # nroff -h -man make.1 > make.0
- # @echo 'make of make and make.0 completed.'
diff --git a/sys-devel/pmake/files/pmake-1.98-skipdots.patch b/sys-devel/pmake/files/pmake-1.98-skipdots.patch
deleted file mode 100644
index 6783a9799919..000000000000
--- a/sys-devel/pmake/files/pmake-1.98-skipdots.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -urN pmake-2.0.orig/dir.c pmake-2.0/dir.c
---- pmake-2.0.orig/dir.c 2005-02-08 09:26:28.932978574 -0500
-+++ pmake-2.0/dir.c 2005-02-08 09:36:18.208704201 -0500
-@@ -1528,6 +1528,8 @@
- Hash_InitTable (&p->files, -1);
-
- while ((dp = readdir (d)) != (struct dirent *) NULL) {
-+ if (!strcmp(dp->d_name, ".") || !strcmp(dp->d_name, ".."))
-+ continue;
- #if defined(sun) && defined(d_ino) /* d_ino is a sunos4 #define for d_fileno */
- /*
- * The sun directory library doesn't check for a 0 inode
diff --git a/sys-devel/pmake/metadata.xml b/sys-devel/pmake/metadata.xml
deleted file mode 100644
index 85e4ed814fa2..000000000000
--- a/sys-devel/pmake/metadata.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<!-- maintainer-needed -->
-</pkgmetadata>
diff --git a/sys-devel/pmake/pmake-1.111.3.3-r1.ebuild b/sys-devel/pmake/pmake-1.111.3.3-r1.ebuild
deleted file mode 100644
index ff51a3b25bbc..000000000000
--- a/sys-devel/pmake/pmake-1.111.3.3-r1.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-inherit toolchain-funcs linux-info
-
-MY_P="${PN}-$(ver_cut 1-2)"
-DEBIAN_SOURCE="${PN}_$(ver_cut 1-2).orig.tar.gz"
-DEBIAN_PATCH="${PN}_$(ver_rs 2 '-').debian.tar.gz"
-
-DESCRIPTION="BSD build tool to create programs in parallel. Debian's version of NetBSD's make"
-HOMEPAGE="http://www.netbsd.org/"
-SRC_URI="
- mirror://debian/pool/main/p/pmake/${DEBIAN_SOURCE}
- mirror://debian/pool/main/p/pmake/${DEBIAN_PATCH}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux"
-
-S="${WORKDIR}/${PN}"
-
-PATCHES=(
- "${WORKDIR}"/debian/patches
-
- # pmake makes the assumption that . and .. are the first two
- # entries in a directory, which doesn't always appear to be the
- # case on ext3... (05 Apr 2004 agriffis)
- "${FILESDIR}"/${PN}-1.98-skipdots.patch
-
- # Don't ignore ldflags
- "${FILESDIR}"/${PN}-1.111.1-ldflags.patch
-)
-
-src_compile() {
- # The following CFLAGS are almost directly from Red Hat 8.0 and
- # debian/rules, so assume it's okay to void out the __COPYRIGHT
- # and __RCSID. I've checked the source and don't see the point,
- # but whatever... (07 Feb 2004 agriffis)
- CFLAGS="${CFLAGS} -Wall -Wno-unused -D_GNU_SOURCE \
- -DHAVE_STRERROR -DHAVE_STRDUP -DHAVE_SETENV \
- -D__COPYRIGHT\(x\)= -D__RCSID\(x\)= -I. \
- -DMACHINE=\\\"gentoo\\\" -DMACHINE_ARCH=\\\"$(tc-arch-kernel)\\\" \
- -D_PATH_DEFSHELLDIR=\\\"${EPREFIX}/bin\\\" \
- -D_PATH_DEFSYSPATH=\\\"${EPREFIX}/usr/share/mk\\\" \
- -DHAVE_VSNPRINTF -D_PATH_DEFSYSPATH=\\\"${EPREFIX}/usr/share/mk/${PN}\\\""
-
- emake -f Makefile.boot \
- CC="$(tc-getCC)" \
- CFLAGS="${CFLAGS}"
-}
-
-src_install() {
- insinto /usr/share/mk/${PN}
- doins -r mk/.
-
- newbin bmake pmake
- dobin mkdep
-
- doman mkdep.1
- newman make.1 pmake.1
-
- dodoc PSD.doc/tutorial.ms
-}
diff --git a/sys-devel/remake/Manifest b/sys-devel/remake/Manifest
deleted file mode 100644
index e20b995f86ae..000000000000
--- a/sys-devel/remake/Manifest
+++ /dev/null
@@ -1,4 +0,0 @@
-AUX remake-4.3.1.1.5-fno-common.patch 2988 BLAKE2B c9d6a4adef35cc51a82b5e625771bede0a13cbca4dfe40483497a9a2bfa6ac0f66c47023ec2d75075cd7c7abde7ccf1bb5eba315bad052ab3d7ac6c263c6ac09 SHA512 509096e2cfa1daefc1a7fd9b69355f21c6fcaf2adf4572bd6742ebb61b5d7ac65c0d8bbc0576c6bb2b3e895bac97d51f1da3008ae15b50e487aa09fe118d8b7a
-DIST remake-4.3+dbg-1.5.tar.gz 2546056 BLAKE2B c5c1b254d0533e0d9787d408f79e8aba93cab5185de76519dabef7ddca5c9d2021671099f9ff80df345732552f859ce31d1131b89cd56fb185bae4cee676b412 SHA512 90aa9674ed5d88b72fda5a99a103d0b1a643d10b18c1de1186478b026f6b4da73628bff75a180df880157b5cbfff1bfd782f4ee81880e0635d79113fcc0f7497
-EBUILD remake-4.3.1.1.5.ebuild 1084 BLAKE2B 4a339f5572d924ae784b417f33941f20978865bfebd800fb68b81b3ef2147aec2cd6794a5efb976391f199998a5a3bd0cfed8c4decb05d73e498b7d5f530615f SHA512 ed342d317b84198f1dd0a38643997f4929c2d8b30411f64b26557cd8acf198a348516b57636cfa55970e8aa9993f6156aaa688a5ee037f0d41ddfdec303e9b26
-MISC metadata.xml 296 BLAKE2B e3146e98a4240740fa3d3089a7e15fa9833e60ec13e6f158b5db2d5ac6f59f98bd5d1c34554d87759eabf4d42376bc3cbfeaab9c5f6e8faed40520cb1e82804d SHA512 e5d3192b7c2ec0bd9e81b3c83449addd1e6cf240637c0ac2dbacadb0d0896d46691b55ad4337a90f35b79649366db012698932b71b0bfd2670eac50d84066d89
diff --git a/sys-devel/remake/files/remake-4.3.1.1.5-fno-common.patch b/sys-devel/remake/files/remake-4.3.1.1.5-fno-common.patch
deleted file mode 100644
index 6c8650472e4e..000000000000
--- a/sys-devel/remake/files/remake-4.3.1.1.5-fno-common.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-Adapted version of https://github.com/rocky/remake/commit/08113a28b9be25cf157ace5d63c2d36d7dbefc04
---- a/src/debugger/file2line.c
-+++ b/src/debugger/file2line.c
-@@ -26,6 +26,8 @@ Boston, MA 02111-1307, USA. */
- #include "../src/rule.h"
- #include "./file2line.h"
-
-+struct hash_table file2lines;
-+
- unsigned long
- file2lines_hash_1 (const void *key)
- {
---- a/src/debugger/file2line.h
-+++ b/src/debugger/file2line.h
-@@ -19,15 +19,15 @@ the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- Boston, MA 02111-1307, USA. */
- #ifndef REMAKE_FILE2LINE
- #define REMAKE_FILE2LINE
--struct hash_table file2lines;
-+extern struct hash_table file2lines;
-
- typedef enum {
- F2L_TARGET,
- F2L_PATTERN
- } f2l_entry_t;
-
--
--typedef struct lineo_array_s
-+
-+typedef struct lineo_array_s
- {
- const char *hname; /**< Name stored in hash table */
- unsigned int size; /**< Number of entries in array */
-@@ -40,13 +40,13 @@ typedef struct lineo_array_s
- only. So we do this on demand.
- */
- extern bool file2lines_init(void);
--extern file_t *target_for_file_and_line (const char *psz_filename,
-+extern file_t *target_for_file_and_line (const char *psz_filename,
- unsigned int lineno,
- /*out*/ f2l_entry_t *entry_type);
- extern void file2lines_dump(void);
- #endif
-
--/*
-+/*
- * Local variables:
- * eval: (c-set-style "gnu")
- * indent-tabs-mode: nil
---- a/src/dep.h
-+++ b/src/dep.h
-@@ -139,7 +139,7 @@ struct dep *copy_dep_chain (const struct dep *d);
- struct goaldep *read_all_makefiles (const char **makefiles);
-
- /*! The chain of makefiles read by read_makefile. */
--struct goaldep *read_makefiles;
-+extern struct goaldep *read_makefiles;
-
- void eval_buffer (char *buffer, const gmk_floc *floc);
- enum update_status update_goal_chain (struct goaldep *goals);
---- a/src/globals.h
-+++ b/src/globals.h
-@@ -89,6 +89,6 @@ extern int in_debugger;
- extern bool b_debugger_preread;
-
- /* Remember the original value of the SHELL variable, from the environment. */
--struct variable shell_var;
-+extern struct variable shell_var;
-
- #endif /*GLOBALS_H*/
---- a/src/main.c
-+++ b/src/main.c
-@@ -45,6 +45,8 @@ this program. If not, see <http://www.gnu.org/licenses/>. */
- # include <fcntl.h>
- #endif
-
-+struct goaldep *read_makefiles;
-+
- extern void initialize_stopchar_map ();
-
- #if defined HAVE_WAITPID || defined HAVE_WAIT3
---- a/src/make.h
-+++ b/src/make.h
-@@ -324,7 +324,7 @@ extern int unixy_shell;
- #endif
- #ifdef SET_STACK_SIZE
- # include <sys/resource.h>
--struct rlimit stack_limit;
-+extern struct rlimit stack_limit;
- #endif
-
- /* We have to have stdarg.h or varargs.h AND v*printf or doprnt to use
---- a/src/print.h
-+++ b/src/print.h
-@@ -39,7 +39,7 @@ void fatal_err (target_stack_node_t *p_call, const char *fmt, ...);
-
- /* Think of the below not as an enumeration but as #defines done in a
- way that we'll be able to use the value in a gdb. */
--enum debug_print_enums_e {
-+extern enum debug_print_enums_e {
- MAX_STACK_SHOW = 1000,
- } debug_print_enums1;
-
diff --git a/sys-devel/remake/metadata.xml b/sys-devel/remake/metadata.xml
deleted file mode 100644
index 17bb5f7f22f9..000000000000
--- a/sys-devel/remake/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?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">rocky/remake</remote-id>
- <remote-id type="sourceforge">bashdb</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/sys-devel/remake/remake-4.3.1.1.5.ebuild b/sys-devel/remake/remake-4.3.1.1.5.ebuild
deleted file mode 100644
index b4b30d8b7d04..000000000000
--- a/sys-devel/remake/remake-4.3.1.1.5.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-MY_MAKE_BASE=$(ver_cut 1-2)
-MY_REMAKE_PATCH=$(ver_cut 4-)
-MY_P="${PN}-${MY_MAKE_BASE}+dbg-${MY_REMAKE_PATCH}"
-
-DESCRIPTION="Patched version of GNU Make with improved error reporting, tracing and debugging"
-HOMEPAGE="http://bashdb.sourceforge.net/remake/"
-SRC_URI="https://github.com/rocky/remake/releases/download/release_${MY_P/remake-/}/${MY_P}.tar.gz"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ppc ~ppc64 ~s390 ~sparc x86"
-IUSE="guile readline"
-
-DEPEND="readline? ( sys-libs/readline:0= )"
-RDEPEND="${DEPEND}
- guile? ( >=dev-scheme/guile-1.8:= )"
-BDEPEND="guile? ( >=dev-scheme/guile-1.8 )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-fno-common.patch
-)
-
-src_configure() {
- use readline || export vl_cv_lib_readline=no
- econf $(use_with guile)
-}
-
-src_install() {
- default
-
- # delete files GNU make owns and remake doesn't care about.
- rm -r "${ED}"/usr/include || die
- rm "${ED}"/usr/share/info/make.info* || die
-}