summaryrefslogtreecommitdiff
path: root/sys-devel/mold
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2021-10-30 19:43:03 +0100
committerV3n3RiX <venerix@koprulu.sector>2021-10-30 19:43:03 +0100
commit162945d2a91899b637bbb9e163b406350de12906 (patch)
tree49cc2cc66f724a7c6f033f93aaba4ae3be1f2259 /sys-devel/mold
parentf660c6de84558324d784218831d8f0782ee41e2e (diff)
gentoo resync : 30.10.2021
Diffstat (limited to 'sys-devel/mold')
-rw-r--r--sys-devel/mold/Manifest4
-rw-r--r--sys-devel/mold/files/mold-0.9.6-respect-flags.patch49
-rw-r--r--sys-devel/mold/metadata.xml11
-rw-r--r--sys-devel/mold/mold-0.9.6.ebuild85
4 files changed, 149 insertions, 0 deletions
diff --git a/sys-devel/mold/Manifest b/sys-devel/mold/Manifest
new file mode 100644
index 000000000000..3e3b29a4d80d
--- /dev/null
+++ b/sys-devel/mold/Manifest
@@ -0,0 +1,4 @@
+AUX mold-0.9.6-respect-flags.patch 1253 BLAKE2B 8fc2bbc9dad9be590e84cf5f4d603cf051b659740ed39744c103c3235e20083b53b487b8499a4b4bf38af8a9a1e314857cb42bdad1009f5920e2598205dec19e SHA512 ab65b072c0f6965e18067137b9ef54f83e4a624909fbf41a1f307041014887bc76a78511f498536760af96ee70a3796d4d33501ac0b2bc95d7184872301cca73
+DIST mold-0.9.6.tar.gz 3378698 BLAKE2B 1352e4f2bc018b53f6f18f6412c4747660a808a896d0c5c620db64babe42a6a949ca444f14a426a41202c8e26ff5973996819c6e4778eeaff6cb20b5746deb0d SHA512 d3de30b371413e974728fba03958d6043026f59aead8371058a0b1dc672e2675e169a1def3afd3751058f529d6ec80ff78c773d2718c1d9f0bdea74d9f13bc2e
+EBUILD mold-0.9.6.ebuild 1626 BLAKE2B c252382f0863b55fa2fb40a0f320c22d1cfb56fbe79e12d3888c6060fefcbe502ff95fab90bcaf43417c978acc452f62821e7013c74bbd238979893642cee10e SHA512 cc9b2f138d0b13eab80962cfdc2a451915867fdfcc56f75b23ae6ad8a2d2d5365874ae6ee253be9a038ff6fe68ce80cc4e9dc8c91f15356ae82b22b46f7a6569
+MISC metadata.xml 315 BLAKE2B 985e05e19ef9d575e83c8782db1272bc8a97967f2a9caa1971867bd0906bb97a2aa5ddf3ac3c31cfd46840d830a578158d3d02ef2ef2f6160693044271deb8f1 SHA512 054f3c1c92750e957e92d8c13711a3898e807a2a950f9d2a30b4960b8f49aefd51c7a2ccb19df4ab55d1e40fd04876efc6f719a5fa4020d667fc21538165b2d2
diff --git a/sys-devel/mold/files/mold-0.9.6-respect-flags.patch b/sys-devel/mold/files/mold-0.9.6-respect-flags.patch
new file mode 100644
index 000000000000..270a28988f9d
--- /dev/null
+++ b/sys-devel/mold/files/mold-0.9.6-respect-flags.patch
@@ -0,0 +1,49 @@
+From: Sam James <sam@gentoo.org>
+Date: Fri, 29 Oct 2021 22:50:40 +0100
+Subject: [PATCH] Respect *FLAGS
+
+--- a/Makefile
++++ b/Makefile
+@@ -10,10 +10,11 @@ GIT_HASH ?= $(shell [ -d .git ] && git rev-parse HEAD)
+
+ OS ?= $(shell uname -s)
+
+-CPPFLAGS = -g -pthread -std=c++20 -fPIE \
+- -DMOLD_VERSION=\"0.9.6\" \
+- -DGIT_HASH=\"$(GIT_HASH)\" \
+- $(EXTRA_CPPFLAGS)
++CFLAGS = -pthread -fPIE $(EXTRA_CFLAGS)
++CXXFLAGS = -pthread -std=c++20 -fPIE $(EXTRA_CXXFLAGS)
++CPPFLAGS = -DMOLD_VERSION=\"0.9.6\" \
++ -DGIT_HASH=\"$(GIT_HASH)\" \
++ $(EXTRA_CPPFLAGS)
+ LDFLAGS += $(EXTRA_LDFLAGS)
+ LIBS = -pthread -lz -lxxhash -ldl -lm
+
+@@ -28,12 +29,6 @@ LTO ?= 0
+ ASAN ?= 0
+ TSAN ?= 0
+
+-ifeq ($(DEBUG), 1)
+- CPPFLAGS += -O0
+-else
+- CPPFLAGS += -O2
+-endif
+-
+ ifeq ($(LTO), 1)
+ CPPFLAGS += -flto -O3
+ LDFLAGS += -flto
+@@ -73,11 +68,11 @@ endif
+ all: mold mold-wrapper.so
+
+ mold: $(OBJS) $(MIMALLOC_LIB) $(TBB_LIB)
+- $(CXX) $(CXXFLAGS) $(OBJS) -o $@ $(LDFLAGS) $(LIBS)
++ $(CXX) $(CPPFLAGS) $(CXXFLAGS) $(LDFLAGS) $(OBJS) -o $@ $(LIBS)
+ ln -sf mold ld
+
+ mold-wrapper.so: elf/mold-wrapper.c Makefile
+- $(CC) -fPIC -shared -o $@ $< -ldl
++ $(CC) $(CPPFLAGS) $(CFLAGS) -fPIC -shared -o $@ $(LDFLAGS) $< -ldl
+
+ $(OBJS): $(HEADERS) Makefile
+
diff --git a/sys-devel/mold/metadata.xml b/sys-devel/mold/metadata.xml
new file mode 100644
index 000000000000..42610750e82e
--- /dev/null
+++ b/sys-devel/mold/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM 'http://www.gentoo.org/dtd/metadata.dtd'>
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">rui314/mold</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/sys-devel/mold/mold-0.9.6.ebuild b/sys-devel/mold/mold-0.9.6.ebuild
new file mode 100644
index 000000000000..2edeabeb5579
--- /dev/null
+++ b/sys-devel/mold/mold-0.9.6.ebuild
@@ -0,0 +1,85 @@
+# 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"
+SRC_URI="https://github.com/rui314/mold/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+# Try again after 0.9.6
+RESTRICT="test"
+
+RDEPEND=">=dev-cpp/tbb-2021.4.0:=
+ dev-libs/xxhash:=
+ sys-libs/zlib
+ !kernel_Darwin? (
+ dev-libs/mimalloc:=
+ dev-libs/openssl:=
+ )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.9.6-respect-flags.patch
+)
+
+src_prepare() {
+ default
+
+ sed -i \
+ -e '/ strip/d' \
+ -e '/ gzip/d' \
+ -e "s:\$(DEST)/lib:\$(DEST)/$(get_libdir):" \
+ Makefile || die
+
+ # Needs unpackaged dwarfutils
+ rm test/compressed-debug-info.sh \
+ test/compress-debug-sections.sh || die
+
+ # Seems to have been fixed in git (> 0.9.6)
+ # Broken atm?
+ rm test/mold-wrapper.sh || die
+
+ # Needs llvmgold
+ rm test/hello-static.sh || die
+}
+
+src_compile() {
+ tc-export CC CXX
+
+ emake \
+ SYSTEM_TBB=1 \
+ SYSTEM_MIMALLOC=1 \
+ EXTRA_CFLAGS="${CFLAGS}" \
+ EXTRA_CXXFLAGS="${CXXFLAGS}" \
+ EXTRA_CPPFLAGS="${CPPFLAGS}" \
+ EXTRA_LDFLAGS="${LDFLAGS}"
+}
+
+src_test() {
+ emake \
+ SYSTEM_TBB=1 \
+ SYSTEM_MIMALLOC=1 \
+ EXTRA_CFLAGS="${CFLAGS}" \
+ EXTRA_CXXFLAGS="${CXXFLAGS}" \
+ EXTRA_CPPFLAGS="${CPPFLAGS}" \
+ EXTRA_LDFLAGS="${LDFLAGS}" \
+ check
+}
+
+src_install() {
+ emake \
+ SYSTEM_TBB=1 \
+ SYSTEM_MIMALLOC=1 \
+ EXTRA_CFLAGS="${CFLAGS}" \
+ EXTRA_CXXFLAGS="${CXXFLAGS}" \
+ EXTRA_CPPFLAGS="${CPPFLAGS}" \
+ EXTRA_LDFLAGS="${LDFLAGS}" \
+ DESTDIR="${ED}" \
+ install
+}