summaryrefslogtreecommitdiff
path: root/sys-devel
diff options
context:
space:
mode:
Diffstat (limited to 'sys-devel')
-rw-r--r--sys-devel/Manifest.gzbin10486 -> 10490 bytes
-rw-r--r--sys-devel/mold/Manifest7
-rw-r--r--sys-devel/mold/files/mold-1.2.1-install-nopython.patch34
-rw-r--r--sys-devel/mold/files/mold-1.3.0-openssl-pkgconfig.patch28
-rw-r--r--sys-devel/mold/files/mold-1.3.1-fix-riscv-set32.patch25
-rw-r--r--sys-devel/mold/mold-1.5.1.ebuild96
-rw-r--r--sys-devel/mold/mold-9999.ebuild6
7 files changed, 104 insertions, 92 deletions
diff --git a/sys-devel/Manifest.gz b/sys-devel/Manifest.gz
index 2a700f2f8e1a..4d58e35f1348 100644
--- a/sys-devel/Manifest.gz
+++ b/sys-devel/Manifest.gz
Binary files differ
diff --git a/sys-devel/mold/Manifest b/sys-devel/mold/Manifest
index 89c3aa5438ca..928e33a30178 100644
--- a/sys-devel/mold/Manifest
+++ b/sys-devel/mold/Manifest
@@ -1,9 +1,8 @@
-AUX mold-1.2.1-install-nopython.patch 1178 BLAKE2B 62092d363291f640567e334a7d16e90640b5e98a972729340527eb1a10f7febd77b6ae6a71e82c93c4d8c3ea04812893b1a42cd7404b3d6aba6bd35ede308567 SHA512 c22cd13018472ecf84fbd9a192c7072e4d7cd263e9bb19a94b1997014b110790266c7ae62977ce716aedb659a5d40be4bc95e8c0dbb2b8b5cf8e1d799fff4887
-AUX mold-1.3.0-openssl-pkgconfig.patch 887 BLAKE2B c014be11c2e18b8df12f156ac8a40468afdf1b0b600c9af73a7373063b1e3658dd199b5ef3bd538641720bfbe10c602d96b0066420c321affb5d2f432fbbda57 SHA512 072f311bdbde5b556bcf1916d5586124007d0d47642c3555cd76c96d19fc1b77ef2f260937bcdc9014201c2a702ce5b4d9612cfdfab1e7b5d80882db2332329a
-AUX mold-1.3.1-fix-riscv-set32.patch 831 BLAKE2B 103fa9944f16993842b941b607b7e157b8fa31064fd7a115c8f1da4b617b98939b55caae98b246047e6ec0fa136d2b175001ab4dd18df5817cb282fd4e3aad9c SHA512 03b1ae4708826df19d7a879b985f7e81ad283abace64e306b982800ba633136d8f01b00221b3d9ca57fe3b21eb2796af33b0c3fbee4d94e6bb9e84043828fe01
AUX mold-1.4.1-glob-tests.patch 5512 BLAKE2B bade33580bb63e58541dc1bafe4dc0fd0592e752e6f6003e67e210899ac3f4ee31490d40ee00c8af6ffd222744c56f74c677ba9e4aec2f3c2f4a9fc117846287 SHA512 712c878a649c13808509454fd65c10810777f1ca655365aa7fd3cf25e79247b88367ab454e6508e13f3f932ccc71ae25e4459fb6d3d107efcbe30e943e2f4bfa
AUX mold-1.4.1-tbb-flags-stripping.patch 1141 BLAKE2B c53b46b509ccc1adb5700ee12270bf15358eca2869f0ec90e686cf1c4218e912dbf151e449220be1cc206a4eb69032619897674a4ecace6f98fce3ea889a883d SHA512 2691bde934649178e4ae45d5bc4554d6c997d10679cf0d575e4be6ecb2fca772caf9a82cdbbf61d00e0d986b3dbfc811a61800da0def1c2aefdf3c64553107d6
DIST mold-1.4.2.tar.gz 6287845 BLAKE2B ec429f70b92c4af5be83761893028f2324fe2086fea0e9b64f1d89884c6bc8dd34e5615178ef28ff19c36d01dafc834e6f6b9a8d701d62e360ef4e0be2f065bd SHA512 17f543969e53737818b0be563aee39feac672f93e0fd712827523232b64eccb4629f3994c5a90de50b5f761886669e0946a8d463663725e774eb7d352de1ced1
+DIST mold-1.5.1.tar.gz 8254552 BLAKE2B 1a5f8099df3cf7a6008632afed2aa106a54fa0c6628302f13586884fd1a37705a2bfc9ddc395261c04d53fe9de679b5afc7e052dcfe37894444b024670f44307 SHA512 340a45c5190ce5ba87eaa05238da7c70400bf4a2788a095935b9675593078ad76bbd95e67aa36b3ec683428724a3c6bc27c7e0a69569afce461682dc4bd16b10
EBUILD mold-1.4.2.ebuild 2247 BLAKE2B 8e6a4ed72fcd26918269414cb41284b6bd2af396e2faacf4248dfccc23521aba1fc736ebf6c257800c24434b8c0dee1803855ec6e302a514371e00e0819fcadb SHA512 be169d49593c519ea048647cbda871c317f5d72f4021483c7795b70c92a0f0c845ed2d517dd69dbef90e129ecf89dd27612c65f611d736bb7be5886025f5ed17
-EBUILD mold-9999.ebuild 2247 BLAKE2B 8e6a4ed72fcd26918269414cb41284b6bd2af396e2faacf4248dfccc23521aba1fc736ebf6c257800c24434b8c0dee1803855ec6e302a514371e00e0819fcadb SHA512 be169d49593c519ea048647cbda871c317f5d72f4021483c7795b70c92a0f0c845ed2d517dd69dbef90e129ecf89dd27612c65f611d736bb7be5886025f5ed17
+EBUILD mold-1.5.1.ebuild 2329 BLAKE2B 297f6ff8b28871d7e318dfba68d325ad192b263eb68cb43f86782380a0584a387439ff8d2406e1d313e1f0ad1e9513deffed0d9ffc6f46bdcd370e10b1bcf45a SHA512 6340cdaf7b90cb5f7f3638eb41683df13c7b47cacaa453250c8c892c84aa6a75fde5036e5ab5587a6c3343332a24dd24344dd720f2cd622f9a9712fb9a1cfa08
+EBUILD mold-9999.ebuild 2329 BLAKE2B 297f6ff8b28871d7e318dfba68d325ad192b263eb68cb43f86782380a0584a387439ff8d2406e1d313e1f0ad1e9513deffed0d9ffc6f46bdcd370e10b1bcf45a SHA512 6340cdaf7b90cb5f7f3638eb41683df13c7b47cacaa453250c8c892c84aa6a75fde5036e5ab5587a6c3343332a24dd24344dd720f2cd622f9a9712fb9a1cfa08
MISC metadata.xml 532 BLAKE2B 567b47e19d44fabf45a4e1153adb53618c78e89adf580c6350f525fd7596e820608571f8f0920b844702c67192dbbb0122002a0a29125ecb31617ae975d52d09 SHA512 1893b76fc3c4ed0889915700661150bb051b92c6a3e55c606e8c4432148f52d8862e5b4968a0c0474630c0f014018a211b9588f71e68c75ad745d688c6448534
diff --git a/sys-devel/mold/files/mold-1.2.1-install-nopython.patch b/sys-devel/mold/files/mold-1.2.1-install-nopython.patch
deleted file mode 100644
index 661d3dcf392f..000000000000
--- a/sys-devel/mold/files/mold-1.2.1-install-nopython.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 4fb6d4208cfb20bad4a3491a18e78409b5a8183f Mon Sep 17 00:00:00 2001
-From: Matthew Smith <matt@offtopica.uk>
-Date: Sat, 30 Apr 2022 07:42:50 +0100
-Subject: [PATCH] Don't invoke Python to create libexec/mold/ld symlink
-
-Reverts commits 8073a92614fb59f59570031badab5dd4bc3b4f7f and
-5803c3c200f301adc3abdb66df16d3d669712d70.
-
-Bug #841575
----
- Makefile | 7 +------
- 1 file changed, 1 insertion(+), 6 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index d1abc850..10e053a9 100644
---- a/Makefile
-+++ b/Makefile
-@@ -204,12 +204,7 @@ install: all
- $(STRIP) $D$(LIBDIR)/mold/mold-wrapper.so
-
- $(INSTALL) -d $D$(LIBEXECDIR)/mold
--
--# We want to make a symblink with a relative path, so that users can
--# move the entire directory to other place without breaking the reference.
--# GNU ln supports `--relative` to do that, but that's not supported by
--# non-GNU systems. So we use Python to compute a relative path.
-- ln -sf `python3 -c "import os.path; print(os.path.relpath('$(BINDIR)/mold', '$(LIBEXECDIR)/mold'))"` $D$(LIBEXECDIR)/mold/ld
-+ ln -sf $(BINDIR)/mold $D$(LIBEXECDIR)/mold/ld
-
- $(INSTALL) -d $D$(MANDIR)/man1
- $(INSTALL_DATA) docs/mold.1 $D$(MANDIR)/man1
---
-2.35.3
-
diff --git a/sys-devel/mold/files/mold-1.3.0-openssl-pkgconfig.patch b/sys-devel/mold/files/mold-1.3.0-openssl-pkgconfig.patch
deleted file mode 100644
index d2ed0af47b41..000000000000
--- a/sys-devel/mold/files/mold-1.3.0-openssl-pkgconfig.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a4fde946f49cddf4f7c1eceb3b86ca38375cec1d Mon Sep 17 00:00:00 2001
-From: Matthew Smith <matt@offtopica.uk>
-Date: Sun, 26 Jun 2022 13:44:36 +0100
-Subject: [PATCH] Revert "Do not use pkg-config"
-
-This reverts commit 4ef90d4316bbba3a4b8902e38bf5f68171cc6ab7.
---- a/Makefile
-+++ b/Makefile
-@@ -18,6 +18,9 @@ ifeq ($(origin CXX), default)
- CXX = c++
- endif
-
-+# Allow overriding pkg-config binary
-+PKG_CONFIG = pkg-config
-+
- # If you want to keep symbols in the installed binary, run make with
- # `STRIP=true` to run /bin/true instead of the strip command.
- STRIP = strip
-@@ -100,7 +103,8 @@ ifeq ($(OS), Darwin)
- endif
-
- ifeq ($(NEEDS_LIBCRYPTO), 1)
-- MOLD_LDFLAGS += -lcrypto
-+ MOLD_CXXFLAGS += $(shell $(PKG_CONFIG) --cflags-only-I openssl)
-+ MOLD_LDFLAGS += $(shell $(PKG_CONFIG) --libs-only-L openssl) -lcrypto
- endif
-
- # '-latomic' flag is needed building on riscv64 system.
diff --git a/sys-devel/mold/files/mold-1.3.1-fix-riscv-set32.patch b/sys-devel/mold/files/mold-1.3.1-fix-riscv-set32.patch
deleted file mode 100644
index 5613d8ddc003..000000000000
--- a/sys-devel/mold/files/mold-1.3.1-fix-riscv-set32.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From https://github.com/rui314/mold/pull/590
-From 68bd00caa7c7946f380f72a5dd263e7c1d436e9f Mon Sep 17 00:00:00 2001
-From: Alex Fan <alex.fan.q@gmail.com>
-Date: Thu, 28 Jul 2022 14:04:21 +1000
-Subject: [PATCH] [ELF][RISCV] add missing R_RISCV_SET32 in EhFrameSection
-
-Signed-off-by: Alex Fan <alex.fan.q@gmail.com>
----
- elf/arch-riscv64.cc | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/elf/arch-riscv64.cc b/elf/arch-riscv64.cc
-index 8761c6ac..0c589118 100644
---- a/elf/arch-riscv64.cc
-+++ b/elf/arch-riscv64.cc
-@@ -183,6 +183,9 @@ void EhFrameSection<E>::apply_reloc(Context<E> &ctx, const ElfRel<E> &rel,
- case R_RISCV_SET16:
- *(ul16 *)loc = val;
- return;
-+ case R_RISCV_SET32:
-+ *(ul32 *)loc = val;
-+ return;
- case R_RISCV_32_PCREL:
- *(ul32 *)loc = val - this->shdr.sh_addr - offset;
- return;
diff --git a/sys-devel/mold/mold-1.5.1.ebuild b/sys-devel/mold/mold-1.5.1.ebuild
new file mode 100644
index 000000000000..34d7e10e3bf1
--- /dev/null
+++ b/sys-devel/mold/mold-1.5.1.ebuild
@@ -0,0 +1,96 @@
+# Copyright 2021-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake 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"
+ KEYWORDS="~amd64 ~riscv"
+fi
+
+# mold (AGPL-3)
+# - xxhash (BSD-2)
+# - tbb (Apache-2.0)
+LICENSE="AGPL-3 Apache-2.0 BSD-2"
+SLOT="0"
+IUSE="system-tbb"
+
+RDEPEND="
+ app-arch/zstd:=
+ sys-libs/zlib
+ system-tbb? ( >=dev-cpp/tbb-2021.4.0:= )
+ !kernel_Darwin? (
+ >=dev-libs/mimalloc-2:=
+ dev-libs/openssl:=
+ )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ # https://bugs.gentoo.org/865837
+ "${FILESDIR}"/mold-1.4.1-tbb-flags-stripping.patch
+)
+
+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/elf/{{dead,compress}-debug-sections,compressed-debug-info}.sh || die
+
+ # Heavy tests, need qemu
+ rm test/elf/gdb-index-{compress-output,dwarf{2,3,4,5}}.sh || die
+ rm test/elf/lto-{archive,dso,gcc,llvm,version-script}.sh || die
+
+ # Sandbox sadness
+ rm test/elf/run.sh || die
+ sed -i 's|`pwd`/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/{,ifunc-}static-pie.sh || die
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DMOLD_ENABLE_QEMU_TESTS=OFF
+ -DMOLD_LTO=OFF # Should be up to the user to decide this with CXXFLAGS.
+ -DMOLD_USE_SYSTEM_MIMALLOC=ON
+ -DMOLD_USE_SYSTEM_TBB=$(usex system-tbb)
+ )
+ cmake_src_configure
+}
+
+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 ../../../usr/bin/${PN} /usr/libexec/${PN}/ld
+}
diff --git a/sys-devel/mold/mold-9999.ebuild b/sys-devel/mold/mold-9999.ebuild
index 1a83cf4d004e..34d7e10e3bf1 100644
--- a/sys-devel/mold/mold-9999.ebuild
+++ b/sys-devel/mold/mold-9999.ebuild
@@ -23,6 +23,7 @@ SLOT="0"
IUSE="system-tbb"
RDEPEND="
+ app-arch/zstd:=
sys-libs/zlib
system-tbb? ( >=dev-cpp/tbb-2021.4.0:= )
!kernel_Darwin? (
@@ -81,7 +82,10 @@ src_configure() {
src_install() {
dobin "${BUILD_DIR}"/${PN}
- dolib.so "${BUILD_DIR}"/${PN}-wrapper.so
+
+ # 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