diff options
Diffstat (limited to 'sys-devel/mold/mold-9999.ebuild')
-rw-r--r-- | sys-devel/mold/mold-9999.ebuild | 82 |
1 files changed, 42 insertions, 40 deletions
diff --git a/sys-devel/mold/mold-9999.ebuild b/sys-devel/mold/mold-9999.ebuild index 2a7faac5052d..ac067b811ef2 100644 --- a/sys-devel/mold/mold-9999.ebuild +++ b/sys-devel/mold/mold-9999.ebuild @@ -1,9 +1,9 @@ -# Copyright 2021-2022 Gentoo Authors +# Copyright 2021-2024 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=8 -inherit toolchain-funcs +inherit cmake toolchain-funcs DESCRIPTION="A Modern Linker" HOMEPAGE="https://github.com/rui314/mold" @@ -12,28 +12,25 @@ if [[ ${PV} == 9999 ]] ; then inherit git-r3 else SRC_URI="https://github.com/rui314/mold/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz" - KEYWORDS="~amd64" + KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~sparc ~x86" fi -LICENSE="AGPL-3" +# mold (MIT) +# - xxhash (BSD-2) +LICENSE="MIT BSD-2" SLOT="0" -RDEPEND=">=dev-cpp/tbb-2021.4.0:= +RDEPEND=" + app-arch/zstd:= + >=dev-cpp/tbb-2021.7.0-r1:= + dev-libs/blake3:= 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}" -PATCHES=( - # Bug #841575 - "${FILESDIR}"/${PN}-1.2.1-install-nopython.patch - "${FILESDIR}"/${PN}-1.3.0-openssl-pkgconfig.patch -) - pkg_pretend() { # Requires a c++20 compiler, see #831473 if [[ ${MERGE_TYPE} != binary ]]; then @@ -46,7 +43,7 @@ pkg_pretend() { } src_prepare() { - default + cmake_src_prepare # Needs unpackaged dwarfdump rm test/elf/{{dead,compress}-debug-sections,compressed-debug-info}.sh || die @@ -66,32 +63,37 @@ src_prepare() { fi } -src_compile() { - tc-export CC CXX - - emake \ - CFLAGS="${CFLAGS}" \ - CXXFLAGS="${CXXFLAGS}" \ - SYSTEM_TBB=1 \ - SYSTEM_MIMALLOC=1 \ - STRIP="true" \ - LIBDIR="${EPREFIX}/usr/$(get_libdir)" +src_configure() { + local mycmakeargs=( + -DCMAKE_DISABLE_PRECOMPILE_HEADERS=ON + -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_test() { - emake \ - SYSTEM_TBB=1 \ - SYSTEM_MIMALLOC=1 \ - check +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_install() { - emake \ - SYSTEM_TBB=1 \ - SYSTEM_MIMALLOC=1 \ - DESTDIR="${D}" \ - PREFIX="${EPREFIX}/usr" \ - LIBDIR="${EPREFIX}/usr/$(get_libdir)" \ - STRIP="true" \ - install +src_test() { + export TEST_CC="$(tc-getCC)" \ + TEST_GCC="$(tc-getCC)" \ + TEST_CXX="$(tc-getCXX)" \ + TEST_GXX="$(tc-getCXX)" + cmake_src_test } |