diff options
author | matoro <matoro@users.noreply.github.com> | 2022-09-15 14:46:37 -0400 |
---|---|---|
committer | William Hubbs <williamh@gentoo.org> | 2022-09-16 11:15:16 -0500 |
commit | 7dc748f875d8f1a7bda9d0b8c00d45ad4be2d58d (patch) | |
tree | a01f023d44c8e493d43ffb9881b66e45f1cd3dca /net-libs/nodejs | |
parent | dev-lang/vala: Drop old versions (diff) | |
download | gentoo-7dc748f875d8f1a7bda9d0b8c00d45ad4be2d58d.tar.gz gentoo-7dc748f875d8f1a7bda9d0b8c00d45ad4be2d58d.tar.bz2 gentoo-7dc748f875d8f1a7bda9d0b8c00d45ad4be2d58d.zip |
net-libs/nodejs: delete libatomic patch + force libgcc as support lib
Upstream behavior is correct wrt libatomic (unconditionally adding it)
due to their use of atomic_is_lock_free which is yet to be added to
compiler-rt (stuck in review hell at https://reviews.llvm.org/D85044).
This necessitates forcing libgcc as support lib. Linking to libatomic
from gcc is dynamic, so sys-devel/gcc has to go in RDEPEND. Clang can
be forced to use libgcc with --rtlib=libgcc, even with
USE=default-compiler-rt (which is the original cuase of the bug in
question).
Closes: https://bugs.gentoo.org/869992
Signed-off-by: William Hubbs <williamh@gentoo.org>
Diffstat (limited to 'net-libs/nodejs')
-rw-r--r-- | net-libs/nodejs/files/nodejs-18.9.0-clang-fix-libatomic.patch | 16 | ||||
-rw-r--r-- | net-libs/nodejs/nodejs-18.9.0.ebuild | 10 |
2 files changed, 7 insertions, 19 deletions
diff --git a/net-libs/nodejs/files/nodejs-18.9.0-clang-fix-libatomic.patch b/net-libs/nodejs/files/nodejs-18.9.0-clang-fix-libatomic.patch deleted file mode 100644 index 5296ed1318b0..000000000000 --- a/net-libs/nodejs/files/nodejs-18.9.0-clang-fix-libatomic.patch +++ /dev/null @@ -1,16 +0,0 @@ -https://bugs.gentoo.org/869992 - -diff --git a/node.gyp b/node.gyp -index 347d82d2e1..8c4ffea256 100644 ---- a/node.gyp -+++ b/node.gyp -@@ -117,9 +117,6 @@ - '-Wl,-bnoerrmsg', - ], - }], -- ['OS == "linux" and llvm_version != "0.0"', { -- 'libraries': ['-latomic'], -- }], - ], - }, - diff --git a/net-libs/nodejs/nodejs-18.9.0.ebuild b/net-libs/nodejs/nodejs-18.9.0.ebuild index 03af59cf2a80..6c803a2495ee 100644 --- a/net-libs/nodejs/nodejs-18.9.0.ebuild +++ b/net-libs/nodejs/nodejs-18.9.0.ebuild @@ -38,7 +38,8 @@ RDEPEND=">=app-arch/brotli-1.0.9:= >=net-libs/nghttp2-1.41.0:= sys-libs/zlib system-icu? ( >=dev-libs/icu-67:= ) - system-ssl? ( >=dev-libs/openssl-1.1.1:0= )" + system-ssl? ( >=dev-libs/openssl-1.1.1:0= ) + sys-devel/gcc:*" BDEPEND="${PYTHON_DEPS} sys-apps/coreutils virtual/pkgconfig @@ -50,7 +51,6 @@ DEPEND="${RDEPEND}" PATCHES=( "${FILESDIR}"/${PN}-12.22.5-shared_c-ares_nameser_h.patch "${FILESDIR}"/${PN}-15.2.0-global-npm-config.patch - "${FILESDIR}"/${P}-clang-fix-libatomic.patch ) # These are measured on a loong machine with -ggdb on, and only checked @@ -127,7 +127,11 @@ src_configure() { # LTO compiler flags are handled by configure.py itself filter-flags '-flto*' # nodejs unconditionally links to libatomic #869992 - append-atomic-flags + # specifically it requires __atomic_is_lock_free which + # is not yet implemented by sys-libs/compiler-rt (see + # https://reviews.llvm.org/D85044?id=287068), therefore + # we depend on gcc and force using libgcc as the support lib + tc-is-clang && append-ldflags "--rtlib=libgcc --unwindlib=libgcc" local myconf=( --shared-brotli |