diff options
Diffstat (limited to 'sys-devel/mold/mold-9999.ebuild')
-rw-r--r-- | sys-devel/mold/mold-9999.ebuild | 32 |
1 files changed, 24 insertions, 8 deletions
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" \ |