commit:     b79855ad0a6e7e8b038c09992a4815cc85e3d499
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Fri Mar  7 01:48:34 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Fri Mar  7 01:48:34 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b79855ad

sys-devel/mold: add 2.37.0

Signed-off-by: Sam James <sam <AT> gentoo.org>

 sys-devel/mold/Manifest           |   1 +
 sys-devel/mold/mold-2.37.0.ebuild | 109 ++++++++++++++++++++++++++++++++++++++
 2 files changed, 110 insertions(+)

diff --git a/sys-devel/mold/Manifest b/sys-devel/mold/Manifest
index 3c3e3be2a59f..fbcb979aa12e 100644
--- a/sys-devel/mold/Manifest
+++ b/sys-devel/mold/Manifest
@@ -3,3 +3,4 @@ DIST mold-2.34.1.tar.gz 10057683 BLAKE2B 
9a9b166e64c4e5d48631147e781ce0d58acf764
 DIST mold-2.35.0.tar.gz 10056856 BLAKE2B 
9b039031047263aa959aa6f2bf296d11d51bf02d0a66afa76e08200d4547ee5d66cf522497b86fce7fd8cbd43559b8d19ad0264c749833988592cf7291fd55fe
 SHA512 
6f7be924cb6ea38c0089f0c34beec9ef51160daea3510dac4ed68c519efefe4496739271b35c271f7384c9e436bd8a0636ce47e0847aa2b4daf227accecc7314
 DIST mold-2.35.1.tar.gz 10094602 BLAKE2B 
4943588d116a4631ad4404a4f2d92c4f9745546ec1ab7054df2af766f270c634c571f90d5e224f5441e48a3b310819f6993e56d5574c60032dd547d68d08fc64
 SHA512 
30d9cadfe57288e80ffcaddf1bf7df7b3bff75d337ea2b612bdffa3de3f7bd908b02d24c1f848d4ad0e82f72cd0e04c33ddd01d23c549d81aac5af58e63dbab4
 DIST mold-2.36.0.tar.gz 10094759 BLAKE2B 
d86e6c7b71bbda0f02fbf2215f15a0e4c15cbb0ba32d4c5d478a6e07d4ed4fb42891610cfdc24ea67b6683f044a9c122db8534580fe12f6164b0db2681178825
 SHA512 
985ca22400b2d957b4ea8d35d6716cc6f13d1abe9c9e1eed461efda6f2612a5fbfa707aff879c616c756111fea751a335ad3a3fc224c7573855e7b2795596164
+DIST mold-2.37.0.tar.gz 10170004 BLAKE2B 
6e9b6ecf68a2ffcb478db5e2a7e438eb191f4cc9f8aee091ff830c5e59f11022d67eac6f2ba27be90d53dd38c6a415f2c1996e13e96605532755b8dbd91ac726
 SHA512 
d17cc96cfa023ef3543c620af76519fcf389555dbb58466ed062624d02eb2721ad831a4f06a7f0d36d710aa3656d1e559aab857ac92da448eadbd6efb17e19ea

diff --git a/sys-devel/mold/mold-2.37.0.ebuild 
b/sys-devel/mold/mold-2.37.0.ebuild
new file mode 100644
index 000000000000..4d2c1476008e
--- /dev/null
+++ b/sys-devel/mold/mold-2.37.0.ebuild
@@ -0,0 +1,109 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic 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"
+       # -alpha: 
https://github.com/rui314/mold/commit/3711ddb95e23c12991f6b8c7bfeba4f1421d19d4
+       KEYWORDS="-alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~riscv ~sparc ~x86"
+fi
+
+# mold (MIT)
+#  - xxhash (BSD-2)
+#  - siphash ( MIT CC0-1.0 )
+LICENSE="MIT BSD-2 CC0-1.0"
+SLOT="0"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+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/{{dead,compress}-debug-sections,compressed-debug-info}.sh || die
+
+       # Heavy tests, need qemu
+       rm test/gdb-index-{compress-output,dwarf{2,3,4,5}}.sh || die
+       rm test/lto-{archive,dso,gcc,llvm,version-script}.sh || die
+
+       # Sandbox sadness
+       rm test/run.sh || die
+       sed -i 's|`pwd`/mold-wrapper.so|"& ${LD_PRELOAD}"|' \
+               test/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/{,ifunc-}static-pie.sh || die
+       fi
+}
+
+src_configure() {
+       use debug || append-cppflags "-DNDEBUG"
+
+       local mycmakeargs=(
+               -DBUILD_TESTING=$(usex test)
+               -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
+       )
+
+       if use test ; then
+               mycmakeargs+=(
+                       -DMOLD_ENABLE_QEMU_TESTS=OFF
+               )
+       fi
+
+       cmake_src_configure
+}
+
+src_test() {
+       export TEST_CC="$(tc-getCC)" TEST_GCC="$(tc-getCC)" \
+               TEST_CXX="$(tc-getCXX)" TEST_GXX="$(tc-getCXX)"
+       cmake_src_test
+}
+
+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
+}

Reply via email to