summaryrefslogtreecommitdiff
path: root/sys-devel/mold
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2024-09-02 12:28:17 +0100
committerV3n3RiX <venerix@koprulu.sector>2024-09-02 12:28:17 +0100
commit20b6ab983b55b022c6e4af317154089e18ad41cb (patch)
tree07060dcd7f71fd5f02ecf6463cb8bf3665b65bcc /sys-devel/mold
parent12a4866975c254ac127821e7562eda5ac119fba3 (diff)
gentoo auto-resync : 02:09:2024 - 12:28:17
Diffstat (limited to 'sys-devel/mold')
-rw-r--r--sys-devel/mold/Manifest8
-rw-r--r--sys-devel/mold/files/mold-2.30.0-gcc14.patch76
-rw-r--r--sys-devel/mold/files/mold-2.30.0-which-hunt.patch31
-rw-r--r--sys-devel/mold/mold-2.30.0.ebuild103
-rw-r--r--sys-devel/mold/mold-2.31.0.ebuild98
-rw-r--r--sys-devel/mold/mold-2.32.0.ebuild99
6 files changed, 0 insertions, 415 deletions
diff --git a/sys-devel/mold/Manifest b/sys-devel/mold/Manifest
index aceb52056988..5adb023ddcd2 100644
--- a/sys-devel/mold/Manifest
+++ b/sys-devel/mold/Manifest
@@ -1,16 +1,8 @@
-AUX mold-2.30.0-gcc14.patch 2419 BLAKE2B 91906617dc78f620c34a31381d74bf11551dbe8963c7ac0447acc56314026342b0583441aa1857de5f6fb2255589bb79f76451d72a8a385366ece2b2a89e8960 SHA512 2e2bf547caeddb5c4970bb8f3555e104a16b499017832df86535cfeebb2ca5178fa7ed36c7e27e64a3822aab7985266ef62143668c241a632183ba4a06a19259
-AUX mold-2.30.0-which-hunt.patch 985 BLAKE2B 89d1d0ca075b1199911e63cbe87b53066557984d2ef97df89578accda4f7ca10ab279f920cce64eb1329029421750b8aa27bd482f2e6ae3655937200445ed83a SHA512 bd1ca6aba29e1cf96706153544f350a948e08e81645c2d4fb657ed8e8775b239f09f7469f2e5e8d0e6e5dde8cc6c97b938fa4441139d6c8bf5c93923db77974c
AUX mold-2.32.1-libdl.patch 632 BLAKE2B db9a5911f5587c33d27a38347a027c3d93cbca41a0328e6a290760c32a4738db4a7241eb3b041d81c1ebb6e20bd9b752573d4e13e1812925adf07dcda2fe5d4f SHA512 6fd38910d1d7cd1126579b15c7442ceccc8c06ba1c439d647334316b035e2dc7b073239b27d29ae94b7dd83b2b8ba7c6e19377d905530fa9118fcb463985b2d3
DIST mold-2.1.0.tar.gz 9278811 BLAKE2B b31e13f92177553adf5069cf35c8c75c7bc28f0af4d1726cdc0c6abc1c9d3baaa5be512c3a8fb9bc3c3110096a79e1c6751c701171769595a2234fc1fa8c441a SHA512 f1c98d349b35b4042109d71f7db6eb8d7d089dc3241735bbd7b5402d513dcc85ca17904828779e5fc8234650fa9fb97f47c3a2f3e89cc2fb3cb9e9110439e5a2
-DIST mold-2.30.0.tar.gz 9957539 BLAKE2B f45924598029dabfb2c02298e1f89aae848cd64e2e87dd80f500de323517db92e62df798feee8a2cd81cb930eff0640c2b9957808a4080f0027884015994ce64 SHA512 7cfba4f0fb332799ad267d3eafb8e2f0057af4484467b3e3fbaf8044220163a2c7e26cd1786510f250844c8b57e30c15167c8dd9688af1773abc580c5605abf3
-DIST mold-2.31.0.tar.gz 10031469 BLAKE2B 338f516efcb430c8393fb0d6861b913fa1dd0095226e3d13018255da4f0b4affa168928b1e5cfbd0b5a4efcf840612675f04579f0c1d3c0e2b3c6815d6bef4c0 SHA512 343c62d8c67b74988f762c46999d2d866b2e9a0c69d2b910b12384ea5abc620b30468cd1b1bacfe41474d1c97c8ce2e49d55ca70479691238fb73d83d9adc683
-DIST mold-2.32.0.tar.gz 10005686 BLAKE2B a277a29498f4d6b33da49ba038ce5ef1c4a1bd3ac84ea994a2aae5d36139a2ee773e08e1a3ff0a7382da4d2319ce994575e3ed1e5be8e5f7a161045aaf4e2d58 SHA512 66cd95ec65b31749ead7604f921eebd9f8e7faad82f6aa2cd7a179e4f4cb2bd78584ec5a8de000fbd4c37bbbfeb878e40a4e93ca909d1be557d73117e4b38f4b
DIST mold-2.32.1.tar.gz 10010384 BLAKE2B b020d57df25d91fac9b6ef994e9f7f73b6736d18a73be3caebe03a851a1db1986abe395b5481a1e30e01f38362c3705cb5903251b7201c0003c745dee37a5148 SHA512 d38b12faf81ba8015fc0cdb52944ac94366877c3033871a92610087e036d75b3d072baf9bbf107a9029495521e067fb36c0809b5138f90976492547b39c33085
DIST mold-2.33.0.tar.gz 10061838 BLAKE2B 65c460035f3bdbc101120a27e30b70982d549a4222cf4beb1b7228c0c961afd3eb8928cacde5be20734a80a80765eb60e6d961bd5cb001ecaef1aba1152730b9 SHA512 67c41ae33f8a229f32aabf32ffb8bcb261eff047dedd189b8751e5de43ef12a2dbd05f45632c8baeac2ceff99c40256256d7d5c790cc12e4fecf1dc3cfebeb11
EBUILD mold-2.1.0.ebuild 2169 BLAKE2B b91dec8fb9890052e06cf40124f7647833a6ea786d95d44863848bfff17c0ba335f28aaac08d6971a619dbb845b9091d1134bae47f70bd811d2fde0f9ca11066 SHA512 5d27926e5003e6bd24ee3baf8258ab043aa660b7a36918500283bbec9d991ad8ea6971add52579ba6ee10a7eeeb97a6dff3a7e065c7292ced42d2f0043e33d1e
-EBUILD mold-2.30.0.ebuild 2456 BLAKE2B f91748ee6adfab7956209111c5e26711db20ad701caf255cb54d04eec8e9cc862f86e43ceb79d90cefac1e427aba479f0c84a590e4d38d16442fb3bd5f5c1538 SHA512 cc2f642d0eb97d2dc35cb25d3649f74ad008dcbc40e37c140e932b20074f156e7e36f1be81c83855372fbcb779f99646a634094fc6265be8fdb0ef42d6a3d4b7
-EBUILD mold-2.31.0.ebuild 2366 BLAKE2B 8a846ee78ce57c15d2accd3eafb81579bdac81cd5413f12be3dee97a05d66e026cbf1bf51bc414d52d32785f00babb88437a6adbc52a166e16be9499ca9cbb6c SHA512 68d276a3897dd8ca2a27a1a1f4afc056ab05619d57cc5b8a41367c5550a1d1ac399dfc2ed2c75f34fb1c69cffc5d73a1df998156e3c33309aaca7d0ba3050f0e
-EBUILD mold-2.32.0.ebuild 2404 BLAKE2B e0dec3ee1e668a31d8e5155f84b60431f8bcc1fec32dbcce73e170c8617faecf2b193b235009cf5dcbeccb4d4396b2ea9a564f8cb2fbc78569ca5c05761145c2 SHA512 780ca7ac4280acf0155c73316dcfdac1dd92316330c0a071ac9ed56367c82af1c9ea07d3d9cd3f6236505912db530a17b39340e1dbe6e6111b813e1c88535260
EBUILD mold-2.32.1.ebuild 2448 BLAKE2B 88d6d168b5de620f787abf540531759dcba0be4830a71ee43bf23beb011d465b2a98f036365583dad411772a6ba1332d8d7dae3632592b7d8cd22424934b2991 SHA512 a5485b242d40e43ffcd2dfff62df1f54ca31b154acb98df4b90f23135cc61ef23d9e0950da47983d3f2362ca7d4435d3108f2c8f54814ce4730bbdc008c64dd3
EBUILD mold-2.33.0.ebuild 2409 BLAKE2B 770982e41dec11dd488e13a581c75744239897bacc5f8742491f19d4fefe6718971e54ef274ce61e6cff9f83df0b97320a15aac26a6d970c11f1d6953ecce4bf SHA512 7f8968d75136cf5c763e5127a5f26cd60ab4bce97dc5048292393053788de2b17858738b67c43fffe9920f28b9694a7f54fc17da95bc6efd30c477b5ae6260f6
EBUILD mold-9999.ebuild 2380 BLAKE2B 8a84a1645f1b912deb00f67f65191c7dbb5d467889e71460c0ec5a693800c1ecefbc5a1e41b1e1f3fb7afe08165be06603e59fd350d524bb7a42b21eba062e7d SHA512 db3d64d4c4366b61e5e1400ae783443538bce18b74b832e0ccbe5410a9314c1cb78245d49eb43264f367dcfa9f9258d666fce9a732d9b47ad587ad3d0fd5c21a
diff --git a/sys-devel/mold/files/mold-2.30.0-gcc14.patch b/sys-devel/mold/files/mold-2.30.0-gcc14.patch
deleted file mode 100644
index 74e7f5081eeb..000000000000
--- a/sys-devel/mold/files/mold-2.30.0-gcc14.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-https://github.com/rui314/mold/issues/1244
-https://github.com/rui314/mold/commit/002d619b11f38438514f4714f9eb89e8015ba1b6
-https://github.com/rui314/mold/commit/14952546a489c23236f50adc5ef9c8ada4f4e31a
-
-From 002d619b11f38438514f4714f9eb89e8015ba1b6 Mon Sep 17 00:00:00 2001
-From: Rui Ueyama <ruiu@cs.stanford.edu>
-Date: Thu, 25 Apr 2024 16:58:09 +0900
-Subject: [PATCH] Attempt to fix a test failure
-
-I believe some version of objcopy corrupts an object file when
-renaming a section. In this change, I use sed instead of objcopy
-as a workaround.
-
-Fixes https://github.com/rui314/mold/issues/1244
----
- test/elf/exception-multiple-ehframe.sh | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/test/elf/exception-multiple-ehframe.sh b/test/elf/exception-multiple-ehframe.sh
-index ca1d1a1c0..a9b360b09 100755
---- a/test/elf/exception-multiple-ehframe.sh
-+++ b/test/elf/exception-multiple-ehframe.sh
-@@ -28,9 +28,9 @@ int bar() {
- }
- EOF
-
--$OBJCOPY --rename-section .eh_frame=.eh_frame2 $t/a.o
-+sed -i 's/\.eh_frame/.EH_FRAME/g' $t/a.o
- ./mold -r -o $t/c.o $t/a.o $t/b.o
--$OBJCOPY --rename-section .eh_frame2=.eh_frame $t/c.o
-+sed -i 's/\.EH_FRAME/.eh_frame/g' $t/c.o
-
- cat <<EOF | $CXX -o $t/d.o -c -xc++ -
- #include <stdio.h>
-@@ -44,5 +44,4 @@ int main() {
- EOF
-
- $CXX -B. -o $t/exe1 $t/d.o $t/c.o
--$QEMU $t/exe1
- $QEMU $t/exe1 | grep -q '^1 3$'
-
-From 14952546a489c23236f50adc5ef9c8ada4f4e31a Mon Sep 17 00:00:00 2001
-From: Rui Ueyama <ruiu@cs.stanford.edu>
-Date: Sun, 28 Apr 2024 13:04:43 +0900
-Subject: [PATCH] Do not edit binary files with sed
-
-Fixes https://github.com/rui314/mold/issues/1244
----
- test/elf/exception-multiple-ehframe.sh | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/test/elf/exception-multiple-ehframe.sh b/test/elf/exception-multiple-ehframe.sh
-index a9b360b09..8cc31624a 100755
---- a/test/elf/exception-multiple-ehframe.sh
-+++ b/test/elf/exception-multiple-ehframe.sh
-@@ -3,6 +3,8 @@
-
- nm mold | grep -q '__tsan_init' && skip
-
-+which perl > /dev/null || skip
-+
- [ $MACHINE = m68k ] && skip
- [ $MACHINE = sh4 ] && skip
-
-@@ -28,9 +30,9 @@ int bar() {
- }
- EOF
-
--sed -i 's/\.eh_frame/.EH_FRAME/g' $t/a.o
-+perl -i -0777 -pe 's/\.eh_frame/.EH_FRAME/g' $t/a.o
- ./mold -r -o $t/c.o $t/a.o $t/b.o
--sed -i 's/\.EH_FRAME/.eh_frame/g' $t/c.o
-+perl -i -0777 -pe 's/\.EH_FRAME/.eh_frame/g' $t/c.o
-
- cat <<EOF | $CXX -o $t/d.o -c -xc++ -
- #include <stdio.h>
diff --git a/sys-devel/mold/files/mold-2.30.0-which-hunt.patch b/sys-devel/mold/files/mold-2.30.0-which-hunt.patch
deleted file mode 100644
index d8558091c4bc..000000000000
--- a/sys-devel/mold/files/mold-2.30.0-which-hunt.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-https://github.com/rui314/mold/pull/1246
-
-From ec0a9d09ddff8b1796ff1822d5381442cd28acb1 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Tue, 30 Apr 2024 07:54:40 +0100
-Subject: [PATCH] test: use `command -v`, not non-portable `which`
-
-`which` isn't in POSIX and several Linux distributions are trying to
-remove it from their base system, see e.g. https://lwn.net/Articles/874049/.
-
-Just use `command -v` which is POSIX.
-
-Signed-off-by: Sam James <sam@gentoo.org>
----
- test/elf/exception-multiple-ehframe.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test/elf/exception-multiple-ehframe.sh b/test/elf/exception-multiple-ehframe.sh
-index 8cc31624a..1b9f434a4 100755
---- a/test/elf/exception-multiple-ehframe.sh
-+++ b/test/elf/exception-multiple-ehframe.sh
-@@ -3,7 +3,7 @@
-
- nm mold | grep -q '__tsan_init' && skip
-
--which perl > /dev/null || skip
-+command -v perl > /dev/null || skip
-
- [ $MACHINE = m68k ] && skip
- [ $MACHINE = sh4 ] && skip
-
diff --git a/sys-devel/mold/mold-2.30.0.ebuild b/sys-devel/mold/mold-2.30.0.ebuild
deleted file mode 100644
index 05ff0820df78..000000000000
--- a/sys-devel/mold/mold-2.30.0.ebuild
+++ /dev/null
@@ -1,103 +0,0 @@
-# Copyright 2021-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake toolchain-funcs
-
-DESCRIPTION="A Modern Linker"
-HOMEPAGE="https://github.com/rui314/mold"
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/rui314/mold.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/rui314/mold/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86"
-fi
-
-# mold (MIT)
-# - xxhash (BSD-2)
-LICENSE="MIT BSD-2"
-SLOT="0"
-
-RDEPEND="
- app-arch/zstd:=
- >=dev-cpp/tbb-2021.7.0-r1:=
- dev-libs/blake3:=
- sys-libs/zlib
- !kernel_Darwin? (
- >=dev-libs/mimalloc-2:=
- )
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-gcc14.patch
- "${FILESDIR}"/${PN}-2.30.0-which-hunt.patch
-)
-
-pkg_pretend() {
- # Requires a c++20 compiler, see #831473
- if [[ ${MERGE_TYPE} != binary ]]; then
- if tc-is-gcc && [[ $(gcc-major-version) -lt 10 ]]; then
- die "${PN} needs at least gcc 10"
- elif tc-is-clang && [[ $(clang-major-version) -lt 12 ]]; then
- die "${PN} needs at least clang 12"
- fi
- fi
-}
-
-src_prepare() {
- cmake_src_prepare
-
- # Needs unpackaged dwarfdump
- rm test/elf/{{dead,compress}-debug-sections,compressed-debug-info}.sh || die
-
- # Heavy tests, need qemu
- rm test/elf/gdb-index-{compress-output,dwarf{2,3,4,5}}.sh || die
- rm test/elf/lto-{archive,dso,gcc,llvm,version-script}.sh || die
-
- # Sandbox sadness
- rm test/elf/run.sh || die
- sed -i 's|`pwd`/mold-wrapper.so|"& ${LD_PRELOAD}"|' \
- test/elf/mold-wrapper{,2}.sh || die
-
- # static-pie tests require glibc built with static-pie support
- if ! has_version -d 'sys-libs/glibc[static-pie(+)]'; then
- rm test/elf/{,ifunc-}static-pie.sh || die
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DMOLD_ENABLE_QEMU_TESTS=OFF
- -DMOLD_LTO=OFF # Should be up to the user to decide this with CXXFLAGS.
- -DMOLD_USE_MIMALLOC=$(usex !kernel_Darwin)
- -DMOLD_USE_SYSTEM_MIMALLOC=ON
- -DMOLD_USE_SYSTEM_TBB=ON
- )
- cmake_src_configure
-}
-
-src_install() {
- dobin "${BUILD_DIR}"/${PN}
-
- # https://bugs.gentoo.org/872773
- insinto /usr/$(get_libdir)/mold
- doins "${BUILD_DIR}"/${PN}-wrapper.so
-
- dodoc docs/{design,execstack}.md
- doman docs/${PN}.1
-
- dosym ${PN} /usr/bin/ld.${PN}
- dosym ${PN} /usr/bin/ld64.${PN}
- dosym -r /usr/bin/${PN} /usr/libexec/${PN}/ld
-}
-
-src_test() {
- export TEST_CC="$(tc-getCC)" \
- TEST_GCC="$(tc-getCC)" \
- TEST_CXX="$(tc-getCXX)" \
- TEST_GXX="$(tc-getCXX)"
- cmake_src_test
-}
diff --git a/sys-devel/mold/mold-2.31.0.ebuild b/sys-devel/mold/mold-2.31.0.ebuild
deleted file mode 100644
index 7b109302a083..000000000000
--- a/sys-devel/mold/mold-2.31.0.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 2021-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake toolchain-funcs
-
-DESCRIPTION="A Modern Linker"
-HOMEPAGE="https://github.com/rui314/mold"
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/rui314/mold.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/rui314/mold/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86"
-fi
-
-# mold (MIT)
-# - xxhash (BSD-2)
-LICENSE="MIT BSD-2"
-SLOT="0"
-
-RDEPEND="
- app-arch/zstd:=
- >=dev-cpp/tbb-2021.7.0-r1:=
- dev-libs/blake3:=
- sys-libs/zlib
- !kernel_Darwin? (
- >=dev-libs/mimalloc-2:=
- )
-"
-DEPEND="${RDEPEND}"
-
-pkg_pretend() {
- # Requires a c++20 compiler, see #831473
- if [[ ${MERGE_TYPE} != binary ]]; then
- if tc-is-gcc && [[ $(gcc-major-version) -lt 10 ]]; then
- die "${PN} needs at least gcc 10"
- elif tc-is-clang && [[ $(clang-major-version) -lt 12 ]]; then
- die "${PN} needs at least clang 12"
- fi
- fi
-}
-
-src_prepare() {
- cmake_src_prepare
-
- # Needs unpackaged dwarfdump
- rm test/elf/{{dead,compress}-debug-sections,compressed-debug-info}.sh || die
-
- # Heavy tests, need qemu
- rm test/elf/gdb-index-{compress-output,dwarf{2,3,4,5}}.sh || die
- rm test/elf/lto-{archive,dso,gcc,llvm,version-script}.sh || die
-
- # Sandbox sadness
- rm test/elf/run.sh || die
- sed -i 's|`pwd`/mold-wrapper.so|"& ${LD_PRELOAD}"|' \
- test/elf/mold-wrapper{,2}.sh || die
-
- # static-pie tests require glibc built with static-pie support
- if ! has_version -d 'sys-libs/glibc[static-pie(+)]'; then
- rm test/elf/{,ifunc-}static-pie.sh || die
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DMOLD_ENABLE_QEMU_TESTS=OFF
- -DMOLD_LTO=OFF # Should be up to the user to decide this with CXXFLAGS.
- -DMOLD_USE_MIMALLOC=$(usex !kernel_Darwin)
- -DMOLD_USE_SYSTEM_MIMALLOC=ON
- -DMOLD_USE_SYSTEM_TBB=ON
- )
- cmake_src_configure
-}
-
-src_install() {
- dobin "${BUILD_DIR}"/${PN}
-
- # https://bugs.gentoo.org/872773
- insinto /usr/$(get_libdir)/mold
- doins "${BUILD_DIR}"/${PN}-wrapper.so
-
- dodoc docs/{design,execstack}.md
- doman docs/${PN}.1
-
- dosym ${PN} /usr/bin/ld.${PN}
- dosym ${PN} /usr/bin/ld64.${PN}
- dosym -r /usr/bin/${PN} /usr/libexec/${PN}/ld
-}
-
-src_test() {
- export TEST_CC="$(tc-getCC)" \
- TEST_GCC="$(tc-getCC)" \
- TEST_CXX="$(tc-getCXX)" \
- TEST_GXX="$(tc-getCXX)"
- cmake_src_test
-}
diff --git a/sys-devel/mold/mold-2.32.0.ebuild b/sys-devel/mold/mold-2.32.0.ebuild
deleted file mode 100644
index 638c34d50c92..000000000000
--- a/sys-devel/mold/mold-2.32.0.ebuild
+++ /dev/null
@@ -1,99 +0,0 @@
-# Copyright 2021-2024 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit cmake toolchain-funcs
-
-DESCRIPTION="A Modern Linker"
-HOMEPAGE="https://github.com/rui314/mold"
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/rui314/mold.git"
- inherit git-r3
-else
- SRC_URI="https://github.com/rui314/mold/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86"
-fi
-
-# mold (MIT)
-# - xxhash (BSD-2)
-# - siphash ( MIT CC0-1.0 )
-LICENSE="MIT BSD-2 CC0-1.0"
-SLOT="0"
-
-RDEPEND="
- app-arch/zstd:=
- >=dev-cpp/tbb-2021.7.0-r1:=
- dev-libs/blake3:=
- sys-libs/zlib
- !kernel_Darwin? (
- >=dev-libs/mimalloc-2:=
- )
-"
-DEPEND="${RDEPEND}"
-
-pkg_pretend() {
- # Requires a c++20 compiler, see #831473
- if [[ ${MERGE_TYPE} != binary ]]; then
- if tc-is-gcc && [[ $(gcc-major-version) -lt 10 ]]; then
- die "${PN} needs at least gcc 10"
- elif tc-is-clang && [[ $(clang-major-version) -lt 12 ]]; then
- die "${PN} needs at least clang 12"
- fi
- fi
-}
-
-src_prepare() {
- cmake_src_prepare
-
- # Needs unpackaged dwarfdump
- rm test/elf/{{dead,compress}-debug-sections,compressed-debug-info}.sh || die
-
- # Heavy tests, need qemu
- rm test/elf/gdb-index-{compress-output,dwarf{2,3,4,5}}.sh || die
- rm test/elf/lto-{archive,dso,gcc,llvm,version-script}.sh || die
-
- # Sandbox sadness
- rm test/elf/run.sh || die
- sed -i 's|`pwd`/mold-wrapper.so|"& ${LD_PRELOAD}"|' \
- test/elf/mold-wrapper{,2}.sh || die
-
- # static-pie tests require glibc built with static-pie support
- if ! has_version -d 'sys-libs/glibc[static-pie(+)]'; then
- rm test/elf/{,ifunc-}static-pie.sh || die
- fi
-}
-
-src_configure() {
- local mycmakeargs=(
- -DMOLD_ENABLE_QEMU_TESTS=OFF
- -DMOLD_LTO=OFF # Should be up to the user to decide this with CXXFLAGS.
- -DMOLD_USE_MIMALLOC=$(usex !kernel_Darwin)
- -DMOLD_USE_SYSTEM_MIMALLOC=ON
- -DMOLD_USE_SYSTEM_TBB=ON
- )
- cmake_src_configure
-}
-
-src_install() {
- dobin "${BUILD_DIR}"/${PN}
-
- # https://bugs.gentoo.org/872773
- insinto /usr/$(get_libdir)/mold
- doins "${BUILD_DIR}"/${PN}-wrapper.so
-
- dodoc docs/{design,execstack}.md
- doman docs/${PN}.1
-
- dosym ${PN} /usr/bin/ld.${PN}
- dosym ${PN} /usr/bin/ld64.${PN}
- dosym -r /usr/bin/${PN} /usr/libexec/${PN}/ld
-}
-
-src_test() {
- export TEST_CC="$(tc-getCC)" \
- TEST_GCC="$(tc-getCC)" \
- TEST_CXX="$(tc-getCXX)" \
- TEST_GXX="$(tc-getCXX)"
- cmake_src_test
-}