summaryrefslogtreecommitdiff
path: root/sys-devel/mold
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-03-20 00:40:44 +0000
commit4cbcc855382a06088e2f016f62cafdbcb7e40665 (patch)
tree356496503d52354aa6d9f2d36126302fed5f3a73 /sys-devel/mold
parentfcc5224904648a8e6eb528d7603154160a20022f (diff)
gentoo resync : 20.03.2022
Diffstat (limited to 'sys-devel/mold')
-rw-r--r--sys-devel/mold/Manifest13
-rw-r--r--sys-devel/mold/files/mold-1.0.1-no-gold-in-version.patch50
-rw-r--r--sys-devel/mold/metadata.xml4
-rw-r--r--sys-devel/mold/mold-1.0.0-r1.ebuild67
-rw-r--r--sys-devel/mold/mold-1.0.1-r1.ebuild71
-rw-r--r--sys-devel/mold/mold-1.1.1.ebuild (renamed from sys-devel/mold/mold-1.0.2.ebuild)32
-rw-r--r--sys-devel/mold/mold-9999.ebuild32
7 files changed, 56 insertions, 213 deletions
diff --git a/sys-devel/mold/Manifest b/sys-devel/mold/Manifest
index a7ba8ed805f6..2ae10e64a532 100644
--- a/sys-devel/mold/Manifest
+++ b/sys-devel/mold/Manifest
@@ -1,9 +1,4 @@
-AUX mold-1.0.1-no-gold-in-version.patch 1872 BLAKE2B 8ffed5c0c78235011bce727a4f750c548515c5eb3b3e7831e706c64c4cb7233478362e0a7fff5d819e2e6221126e1bb622f0a58cee8dab66558692cfe3795c2d SHA512 4438893a26cec8825e30df3fac112f5257f1bf0aab955431d097f4563707b4899e781d134d81279f1d8559302a9df1aab2b723b4aeeac5aec0e3d786ca6ebaff
-DIST mold-1.0.0.tar.gz 3482927 BLAKE2B 56ebc267370548a2f91a71ebeed87871cede6f564c29dc7d44a499b95fe570f6e9c8a717baf2d9e235c7057c41e735b315493bd23d3b44574d2a44b14aaf5ef8 SHA512 99ffd0b9e2ff7157cc8b26808675c9d3147bf88961155ae19ed9b99990ac647b7ec31ee78d05062decc6d41e66d99aa0fdc398d119803929b8dbff51eb3d077c
-DIST mold-1.0.1.tar.gz 3675262 BLAKE2B 0e40860d3c0a221d368c94b9f58c20b245ee61de6f9eb6d1454ed3b6f103933c79ddd7358049e2aacf497221232d952c2117ba2b3371cbe37fb8ad4ae42461c2 SHA512 cc03a7db395362b97879c28942397d4443d12b72e067b6f979b1ece4d8aab06154b4c1a0f4c57d6ac505bcd4f892bf9a355ad281d628d4d544d8f70edaf34b72
-DIST mold-1.0.2.tar.gz 4501088 BLAKE2B 51bac4bd44a785893c04dd03ccef6119b41a036789938a354545e7a22f16852b52079b3a3e4d27db860748e13966be18bbe813bf04b15c496f35d16ecca4b22c SHA512 27f6664e63c76c32a6e3ec8bfc4b204138926001f5431be94da9ce47a5d9d3b51aa634c5cd6df45be660d52ac0507f7b7eec17134e35db402db5747d2ecc3715
-EBUILD mold-1.0.0-r1.ebuild 1259 BLAKE2B 912f223181163deda23ecebb0f245296eb6a86fa0224faa88ff4e59d8f773bd87454d69a9e447f7374b7905c31bf539bda57cabe6607fda3b9d4072848cc8e71 SHA512 cce5444f42579f060b4842f2115b6b8c57f5f27489a19e37bdcfcada508d6a8e03a07652cf98560d97a96f57cd2e5a27eff092407b1d5d133d5716bf3f9e621b
-EBUILD mold-1.0.1-r1.ebuild 1359 BLAKE2B c7b460def8cf4603de0553e759da91f8c5d7b36f39f73233792625a2107b18dd8607457922235f855ada7df098c667341a430ef51c72558ea97632ae25e79768 SHA512 537b87c6f3e19d151392f7fea74bb648ac0abdb72736917543c30de6678f8860618e425cbe7799d6f9b00c19ccfbbc1d06cda467d433c5759055268d888d7c32
-EBUILD mold-1.0.2.ebuild 1352 BLAKE2B 761a69baacc74d315dd35b4f9ae9d1faeef8c417fbfe01551ddf095b0d27ae8b304b72538f9684ee825644765c730dc4a2ef2fea3ee39901d13e39a1a3cbcd5b SHA512 03957051fb4287c7a630e99e1e6cd769f10355d2116037e1970890e948132ec75306c9a9ec82116f9b4176e2051e2a488ab4575517607a9f3771332bfff6b889
-EBUILD mold-9999.ebuild 1352 BLAKE2B 761a69baacc74d315dd35b4f9ae9d1faeef8c417fbfe01551ddf095b0d27ae8b304b72538f9684ee825644765c730dc4a2ef2fea3ee39901d13e39a1a3cbcd5b SHA512 03957051fb4287c7a630e99e1e6cd769f10355d2116037e1970890e948132ec75306c9a9ec82116f9b4176e2051e2a488ab4575517607a9f3771332bfff6b889
-MISC metadata.xml 316 BLAKE2B a401da48c61b75724482345622902367a2332b3d7475941f98ee49be00fc689d42831d9ab4139aae085e26ff2160f08ed6d3be1fb4551d82761727cc41c7e44b SHA512 c07529c0453fdfc6fdf3508d4af36a8706c6692cbb9c3c5320e55562e8eccfbb55559e1cdb330063cf7e51329c4067ccde25a017c05b25b2ab7d6f1b1e38481b
+DIST mold-1.1.1.tar.gz 4530297 BLAKE2B 78f3beee1b463b3ca028fd72ecf92deb9e8848a4f9cb07c7c549666ef3fef038f395dd30e755be2807dc504b4c3f4893ca359154de9c944c2a03e04f37f5ccea SHA512 981d9737ed7a23134b9bafc04db0cd0233ab4fd588a3b250688dba64936fe84f6736168379fc3e4485273bcef11bca70e5c426b043b5d8b9775ae1cd3aea5b52
+EBUILD mold-1.1.1.ebuild 1899 BLAKE2B 537010414a43b9c333994f779f3cb3d9b006515ec924a5da27d0320669e6b80b3360c5270a607cb67a4d4e449dc971bf079e4cdcbb72a2a20cd29cf085b54ee2 SHA512 8f7b7271adb44c0317a5e8b1f336eb105504edc63dd9934abc9c817631589959a395d2f6f3ee09735239d7a32c17a1301b4b22775bc30c277f31bd20521c88fa
+EBUILD mold-9999.ebuild 1899 BLAKE2B 537010414a43b9c333994f779f3cb3d9b006515ec924a5da27d0320669e6b80b3360c5270a607cb67a4d4e449dc971bf079e4cdcbb72a2a20cd29cf085b54ee2 SHA512 8f7b7271adb44c0317a5e8b1f336eb105504edc63dd9934abc9c817631589959a395d2f6f3ee09735239d7a32c17a1301b4b22775bc30c277f31bd20521c88fa
+MISC metadata.xml 424 BLAKE2B a1c0cbdcb86c323fa1e6143c9665ec548f7713e74002a25b2fc26c51b60dae00922d3448a5aaecd5027a8cb026a681386ca7dea90657a3e10b25fb194dafc0d3 SHA512 1adc934e78ca0210743a1aa7479ebc4b5ea0b66a348c4408423460f02b404b885d3a8eca6e89ea8ac53ac9c76e85116965f1eef79e3f3e1f0451c8cf5ce0dfd6
diff --git a/sys-devel/mold/files/mold-1.0.1-no-gold-in-version.patch b/sys-devel/mold/files/mold-1.0.1-no-gold-in-version.patch
deleted file mode 100644
index 429e55cc51a9..000000000000
--- a/sys-devel/mold/files/mold-1.0.1-no-gold-in-version.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-From cea6a569afa544826c91fda7ef0f9941f50c9459 Mon Sep 17 00:00:00 2001
-From: Rui Ueyama <ruiu@cs.stanford.edu>
-Date: Wed, 12 Jan 2022 16:31:04 +0900
-Subject: [PATCH] [ELF] Remove "GNU gold" from the --version string
-
-That substring was introduced in de7ba9014f9d9d70b9173c4bfac6c3433186ba49
-to appease Gentoo's dev-libs/jansson-2.13.1-r1 package. But I think I
-shouldn't done that from the beginning to avoid the sitaution of the
-"User-Agent" string of the web browser, which everybody claims they
-are Mozilla, AppleWebKit, Chrome and Safari simultaneously.
----
- main.cc | 4 ++--
- test/elf/version.sh | 6 +++---
- 2 files changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/main.cc b/main.cc
-index 38a41cdf..8831f7f2 100644
---- a/main.cc
-+++ b/main.cc
-@@ -26,10 +26,10 @@ std::string_view errno_string() {
-
- #ifdef GIT_HASH
- const std::string mold_version =
-- "mold " MOLD_VERSION " (" GIT_HASH "; compatible with GNU ld and GNU gold)";
-+ "mold " MOLD_VERSION " (" GIT_HASH "; compatible with GNU ld)";
- #else
- const std::string mold_version =
-- "mold " MOLD_VERSION " (compatible with GNU ld and GNU gold)";
-+ "mold " MOLD_VERSION " (compatible with GNU ld)";
- #endif
-
- void cleanup() {
-diff --git a/test/elf/version.sh b/test/elf/version.sh
-index ae52b504..4ca576ef 100755
---- a/test/elf/version.sh
-+++ b/test/elf/version.sh
-@@ -10,10 +10,10 @@ mold="$(pwd)/mold"
- t=out/test/elf/$testname
- mkdir -p $t
-
--"$mold" -v | grep -q 'mold .*compatible with GNU ld and GNU gold'
--"$mold" --version | grep -q 'mold .*compatible with GNU ld and GNU gold'
-+"$mold" -v | grep -q 'mold .*compatible with GNU ld'
-+"$mold" --version | grep -q 'mold .*compatible with GNU ld'
-
--"$mold" -V | grep -q 'mold .*compatible with GNU ld and GNU gold'
-+"$mold" -V | grep -q 'mold .*compatible with GNU ld'
- "$mold" -V | grep -q elf_x86_64
- "$mold" -V | grep -q elf_i386
-
diff --git a/sys-devel/mold/metadata.xml b/sys-devel/mold/metadata.xml
index 05bec5e598ef..f8a85299d5bb 100644
--- a/sys-devel/mold/metadata.xml
+++ b/sys-devel/mold/metadata.xml
@@ -5,6 +5,10 @@
<email>sam@gentoo.org</email>
<name>Sam James</name>
</maintainer>
+ <maintainer type="person">
+ <email>matthew@gentoo.org</email>
+ <name>Matthew Smith</name>
+ </maintainer>
<upstream>
<remote-id type="github">rui314/mold</remote-id>
</upstream>
diff --git a/sys-devel/mold/mold-1.0.0-r1.ebuild b/sys-devel/mold/mold-1.0.0-r1.ebuild
deleted file mode 100644
index 767cc5c80f54..000000000000
--- a/sys-devel/mold/mold-1.0.0-r1.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 2021 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit 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"
-fi
-
-LICENSE="AGPL-3"
-SLOT="0"
-
-# Try again after 1.0 (nearly there, but path-related issues)
-# https://github.com/rui314/mold/issues/137
-RESTRICT="test"
-
-RDEPEND=">=dev-cpp/tbb-2021.4.0:=
- dev-libs/xxhash:=
- sys-libs/zlib
- !kernel_Darwin? (
- <dev-libs/mimalloc-2:=
- dev-libs/openssl:=
- )"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
-
- # Needs unpackaged dwarfdump
- rm test/elf/{compress-debug-sections.sh,compressed-debug-info.sh} || die
-}
-
-src_compile() {
- tc-export CC CXX
-
- emake \
- SYSTEM_TBB=1 \
- SYSTEM_MIMALLOC=1 \
- STRIP="true" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)"
-}
-
-src_test() {
- emake \
- SYSTEM_TBB=1 \
- SYSTEM_MIMALLOC=1 \
- check
-}
-
-src_install() {
- emake \
- SYSTEM_TBB=1 \
- SYSTEM_MIMALLOC=1 \
- DESTDIR="${ED}" \
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- STRIP="true" \
- install
-}
diff --git a/sys-devel/mold/mold-1.0.1-r1.ebuild b/sys-devel/mold/mold-1.0.1-r1.ebuild
deleted file mode 100644
index e0cd2503b621..000000000000
--- a/sys-devel/mold/mold-1.0.1-r1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 2021-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit 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"
-fi
-
-LICENSE="AGPL-3"
-SLOT="0"
-
-# Try again after 1.0 (nearly there, but path-related issues)
-# https://github.com/rui314/mold/issues/137
-RESTRICT="test"
-
-RDEPEND=">=dev-cpp/tbb-2021.4.0:=
- dev-libs/xxhash:=
- sys-libs/zlib
- !kernel_Darwin? (
- >=dev-libs/mimalloc-2:=
- dev-libs/openssl:=
- )"
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}/${P}-no-gold-in-version.patch" )
-
-src_prepare() {
- default
-
- # Needs unpackaged dwarfdump
- rm test/elf/{compress-debug-sections,compressed-debug-info}.sh || die
-}
-
-src_compile() {
- tc-export CC CXX
-
- emake \
- SYSTEM_TBB=1 \
- SYSTEM_MIMALLOC=1 \
- SYSTEM_XXHASH=1 \
- STRIP="true" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)"
-}
-
-src_test() {
- emake \
- SYSTEM_TBB=1 \
- SYSTEM_MIMALLOC=1 \
- check
-}
-
-src_install() {
- emake \
- SYSTEM_TBB=1 \
- SYSTEM_MIMALLOC=1 \
- SYSTEM_XXHASH=1 \
- DESTDIR="${ED}" \
- PREFIX="${EPREFIX}/usr" \
- LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
- STRIP="true" \
- install
-}
diff --git a/sys-devel/mold/mold-1.0.2.ebuild b/sys-devel/mold/mold-1.1.1.ebuild
index 3e1594e0daec..5ea54e0926db 100644
--- a/sys-devel/mold/mold-1.0.2.ebuild
+++ b/sys-devel/mold/mold-1.1.1.ebuild
@@ -18,24 +18,42 @@ fi
LICENSE="AGPL-3"
SLOT="0"
-# Try again after 1.0 (nearly there, but path-related issues)
-# https://github.com/rui314/mold/issues/137
-RESTRICT="test"
-
RDEPEND=">=dev-cpp/tbb-2021.4.0:=
- dev-libs/xxhash:=
sys-libs/zlib
!kernel_Darwin? (
>=dev-libs/mimalloc-2:=
dev-libs/openssl:=
)"
+# As of 1.1, xxhash is now a header-only dep, but it's now bundled :(
+# TODO: restore SYSTEM_XXHASH upstream?
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() {
default
# Needs unpackaged dwarfdump
rm test/elf/{compress-debug-sections,compressed-debug-info}.sh || die
+
+ # Sandbox sadness
+ rm test/elf/run.sh || die
+ sed -i 's|$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/{hello,ifunc}-static-pie.sh || die
+ fi
}
src_compile() {
@@ -46,7 +64,6 @@ src_compile() {
CXXFLAGS="${CXXFLAGS}" \
SYSTEM_TBB=1 \
SYSTEM_MIMALLOC=1 \
- SYSTEM_XXHASH=1 \
STRIP="true" \
LIBDIR="${EPREFIX}/usr/$(get_libdir)"
}
@@ -62,8 +79,7 @@ src_install() {
emake \
SYSTEM_TBB=1 \
SYSTEM_MIMALLOC=1 \
- SYSTEM_XXHASH=1 \
- DESTDIR="${ED}" \
+ DESTDIR="${D}" \
PREFIX="${EPREFIX}/usr" \
LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
STRIP="true" \
diff --git a/sys-devel/mold/mold-9999.ebuild b/sys-devel/mold/mold-9999.ebuild
index 3e1594e0daec..5ea54e0926db 100644
--- a/sys-devel/mold/mold-9999.ebuild
+++ b/sys-devel/mold/mold-9999.ebuild
@@ -18,24 +18,42 @@ fi
LICENSE="AGPL-3"
SLOT="0"
-# Try again after 1.0 (nearly there, but path-related issues)
-# https://github.com/rui314/mold/issues/137
-RESTRICT="test"
-
RDEPEND=">=dev-cpp/tbb-2021.4.0:=
- dev-libs/xxhash:=
sys-libs/zlib
!kernel_Darwin? (
>=dev-libs/mimalloc-2:=
dev-libs/openssl:=
)"
+# As of 1.1, xxhash is now a header-only dep, but it's now bundled :(
+# TODO: restore SYSTEM_XXHASH upstream?
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() {
default
# Needs unpackaged dwarfdump
rm test/elf/{compress-debug-sections,compressed-debug-info}.sh || die
+
+ # Sandbox sadness
+ rm test/elf/run.sh || die
+ sed -i 's|$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/{hello,ifunc}-static-pie.sh || die
+ fi
}
src_compile() {
@@ -46,7 +64,6 @@ src_compile() {
CXXFLAGS="${CXXFLAGS}" \
SYSTEM_TBB=1 \
SYSTEM_MIMALLOC=1 \
- SYSTEM_XXHASH=1 \
STRIP="true" \
LIBDIR="${EPREFIX}/usr/$(get_libdir)"
}
@@ -62,8 +79,7 @@ src_install() {
emake \
SYSTEM_TBB=1 \
SYSTEM_MIMALLOC=1 \
- SYSTEM_XXHASH=1 \
- DESTDIR="${ED}" \
+ DESTDIR="${D}" \
PREFIX="${EPREFIX}/usr" \
LIBDIR="${EPREFIX}/usr/$(get_libdir)" \
STRIP="true" \