summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJory Pratt <anarchy@gentoo.org>2020-04-16 13:21:59 -0500
committerJory Pratt <anarchy@gentoo.org>2020-04-16 13:21:59 -0500
commit936b688a235c2e05f8b172fbac99b12bdd1a7e92 (patch)
tree2e172138a526d7636f0687370f90a42182ddc4bd
parentwww-client/firefox: Add initial support for PGO on musl (diff)
downloadanarchy-936b688a235c2e05f8b172fbac99b12bdd1a7e92.tar.gz
anarchy-936b688a235c2e05f8b172fbac99b12bdd1a7e92.tar.bz2
anarchy-936b688a235c2e05f8b172fbac99b12bdd1a7e92.zip
sys-devel/lld: force a stacksize of 2MB for musl users
Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Jory Pratt <anarchy@gentoo.org>
-rw-r--r--sys-devel/lld/Manifest1
-rw-r--r--sys-devel/lld/lld-10.0.0.ebuild63
-rw-r--r--sys-devel/lld/metadata.xml7
3 files changed, 71 insertions, 0 deletions
diff --git a/sys-devel/lld/Manifest b/sys-devel/lld/Manifest
new file mode 100644
index 0000000..1094e2f
--- /dev/null
+++ b/sys-devel/lld/Manifest
@@ -0,0 +1 @@
+DIST llvmorg-10.0.0.tar.gz 120804856 BLAKE2B 6b0254f5b913398cdcf2b2ec1ff219888706d2b79d5296590934714e42ac79f6a6547941ac2b1d2c4e6313dd18b6c7068e748aa6ac033e49fccbf5d355aa8191 SHA512 baa182d62fef1851836013ae8a1a00861ea89769778d67fb97b407a9de664e6c85da2af9c5b3f75d2bf34ff6b00004e531ca7e4b3115a26c0e61c575cf2303a0
diff --git a/sys-devel/lld/lld-10.0.0.ebuild b/sys-devel/lld/lld-10.0.0.ebuild
new file mode 100644
index 0000000..c5d902c
--- /dev/null
+++ b/sys-devel/lld/lld-10.0.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6,7,8} )
+inherit cmake-utils flag-o-matic llvm llvm.org multiprocessing python-any-r1
+
+DESCRIPTION="The LLVM linker (link editor)"
+HOMEPAGE="https://llvm.org/"
+LLVM_COMPONENTS=( lld )
+LLVM_TEST_COMPONENTS=( llvm/utils/{lit,unittest} )
+llvm.org_set_globals
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="~sys-devel/llvm-${PV}"
+DEPEND="${RDEPEND}"
+BDEPEND="test? ( $(python_gen_any_dep "~dev-python/lit-${PV}[\${PYTHON_USEDEP}]") )"
+
+# least intrusive of all
+CMAKE_BUILD_TYPE=RelWithDebInfo
+
+python_check_deps() {
+ has_version -b "dev-python/lit[${PYTHON_USEDEP}]"
+}
+
+pkg_setup() {
+ LLVM_MAX_SLOT=${PV%%.*} llvm_pkg_setup
+ use test && python-any-r1_pkg_setup
+ use elibc_musl && append-ldflags -Wl,-z,stack-size=2097152
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DBUILD_SHARED_LIBS=OFF
+
+ -DLLVM_INCLUDE_TESTS=$(usex test)
+ )
+ use test && mycmakeargs+=(
+ -DLLVM_BUILD_TESTS=ON
+ -DLLVM_MAIN_SRC_DIR="${WORKDIR}/llvm"
+ -DLLVM_EXTERNAL_LIT="${EPREFIX}/usr/bin/lit"
+ -DLLVM_LIT_ARGS="-vv;-j;${LIT_JOBS:-$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")}"
+ )
+
+ cmake-utils_src_configure
+}
+
+src_test() {
+ local -x LIT_PRESERVES_TMP=1
+ cmake-utils_src_make check-lld
+}
+
+src_install() {
+ cmake-utils_src_install
+ # LLD has no shared libraries, so strip it all for the time being
+ rm -r "${ED}"/usr/{include,lib*} || die
+}
diff --git a/sys-devel/lld/metadata.xml b/sys-devel/lld/metadata.xml
new file mode 100644
index 0000000..89c4bdb
--- /dev/null
+++ b/sys-devel/lld/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>llvm@gentoo.org</email>
+ </maintainer>
+</pkgmetadata>