summaryrefslogtreecommitdiff
path: root/net-libs/nodejs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-10-15 19:51:12 +0100
committerV3n3RiX <venerix@koprulu.sector>2022-10-15 19:51:12 +0100
commitca144cbf71b2faf598564847378fa40a0090d67c (patch)
treed9dc05cd474f9feb1649b145b41e453bbebc1ad4 /net-libs/nodejs
parent7b0230b9f0a5cbd2779e7b25d57df8c33b6d0a88 (diff)
gentoo auto-resync : 15:10:2022 - 19:51:12
Diffstat (limited to 'net-libs/nodejs')
-rw-r--r--net-libs/nodejs/Manifest2
-rw-r--r--net-libs/nodejs/nodejs-99999999.ebuild60
2 files changed, 49 insertions, 13 deletions
diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index 6b7432220b38..26d72bc565af 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -13,5 +13,5 @@ EBUILD nodejs-14.20.1.ebuild 7114 BLAKE2B 94d3c03bf705b1eb513f7cfb33ccf55a556114
EBUILD nodejs-16.17.1.ebuild 6728 BLAKE2B 6b42c92e8cb0bdf283c6eff5548eab9321ce0d045cf8499b059cb9708b394ca64e34f16faeddc68076629c922d9b02b363edd37c223bae327f02828dea4c239d SHA512 f4f45fcb35639382a0c13cb6ed9717fb0ab08815738c0e07f8f2ff5d7d8e8c3bda7050df567fdeff754a1adc57fafcfff705eba2dbb03e047719d36f44591ff2
EBUILD nodejs-18.10.0.ebuild 7492 BLAKE2B b4c56a266693fa31370785937c5f898631e3134b7830e3bc675c480f2cc048857612621f2f9962bc29b544bb3875392b2ef654863ce9fc6490dd617d148d01fb SHA512 c7bd59aef5b76beb67c070b5619aab15b9971c68b7414d7eece64dc31668f7b41708eec46985f3a4c522889f37d0d89a174a0fc743c12e7a1973e5fb7c57bb27
EBUILD nodejs-18.9.1.ebuild 7487 BLAKE2B 9af8d590bc94a6500045d43ad407b2c3cb3d66f78148079a4576c301ca9d4f94aee8c54e16393d9e21d537de79cd9c263d011c680827652414bd3cb171891b7a SHA512 ef3a5116f04b6e9e5087bf21d0f5643806a9df503487a8dc95f86373add12892a9fc7d05cc3fb58445dcfb052047691f0597bb50342c47e9493b1d3091762841
-EBUILD nodejs-99999999.ebuild 6135 BLAKE2B dc0d8749313aeb1445ac553917527fd653927869cc0cbae3ac9cab5886d55796faff814ae2699beaf2f2b5b047a7193bd812932b1d2d7bd0cfd60f406a7195ae SHA512 3d0d4c9694154291c07c374de2acd61242f5a184aa550b3bb5ab1c6ce86d9feeb33187487c60a59ee91ec99bcaa5713efda531b2b009f31c89e2fe6fa432eba2
+EBUILD nodejs-99999999.ebuild 7492 BLAKE2B b4c56a266693fa31370785937c5f898631e3134b7830e3bc675c480f2cc048857612621f2f9962bc29b544bb3875392b2ef654863ce9fc6490dd617d148d01fb SHA512 c7bd59aef5b76beb67c070b5619aab15b9971c68b7414d7eece64dc31668f7b41708eec46985f3a4c522889f37d0d89a174a0fc743c12e7a1973e5fb7c57bb27
MISC metadata.xml 898 BLAKE2B a67e85ea95c272b8d18746254894b058433267a74b5bad66bac7d78c7db4cec297e06bc87fad3ee836fc91749aaee2c11c88b48b6ba033c36fa79132552faa81 SHA512 d498b288058e7282c5e9a28d4ba192a2ac5ef796eb1edf644aea41cab2d0eb6036426b188dd9af7eeb2eaf04b84011460cb3c3695ca8dde5667add21d9963c97
diff --git a/net-libs/nodejs/nodejs-99999999.ebuild b/net-libs/nodejs/nodejs-99999999.ebuild
index 577230345a35..6c803a2495ee 100644
--- a/net-libs/nodejs/nodejs-99999999.ebuild
+++ b/net-libs/nodejs/nodejs-99999999.ebuild
@@ -3,10 +3,11 @@
EAPI=8
-PYTHON_COMPAT=( python3_{8..10} )
+CONFIG_CHECK="~ADVISE_SYSCALLS"
+PYTHON_COMPAT=( python3_{8..11} )
PYTHON_REQ_USE="threads(+)"
-inherit bash-completion-r1 flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
+inherit bash-completion-r1 check-reqs flag-o-matic linux-info pax-utils python-any-r1 toolchain-funcs xdg-utils
DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
HOMEPAGE="https://nodejs.org/"
@@ -19,7 +20,7 @@ if [[ ${PV} == *9999 ]]; then
else
SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
SLOT="0/$(ver_cut 1)"
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos"
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos"
S="${WORKDIR}/node-v${PV}"
fi
@@ -37,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
@@ -46,9 +48,36 @@ BDEPEND="${PYTHON_DEPS}
pax-kernel? ( sys-apps/elfix )"
DEPEND="${RDEPEND}"
+PATCHES=(
+ "${FILESDIR}"/${PN}-12.22.5-shared_c-ares_nameser_h.patch
+ "${FILESDIR}"/${PN}-15.2.0-global-npm-config.patch
+)
+
+# These are measured on a loong machine with -ggdb on, and only checked
+# if debugging flags are present in CFLAGS.
+#
+# The final link consumed a little more than 7GiB alone, so 8GiB is the lower
+# limit for memory usage. Disk usage was 19.1GiB for the build directory and
+# 1.2GiB for the installed image, so we leave some room for architectures with
+# fatter binaries and set the disk requirement to 22GiB.
+CHECKREQS_MEMORY="8G"
+CHECKREQS_DISK_BUILD="22G"
+
pkg_pretend() {
(use x86 && ! use cpu_flags_x86_sse2) && \
die "Your CPU doesn't support the required SSE2 instruction."
+
+ if [[ ${MERGE_TYPE} != "binary" ]]; then
+ if is-flagq "-g*" && ! is-flagq "-g*0" ; then
+ einfo "Checking for sufficient disk space and memory to build ${PN} with debugging CFLAGS"
+ check-reqs_pkg_pretend
+ fi
+ fi
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+ linux-info_pkg_setup
}
src_prepare() {
@@ -97,6 +126,12 @@ src_configure() {
# LTO compiler flags are handled by configure.py itself
filter-flags '-flto*'
+ # nodejs unconditionally links to libatomic #869992
+ # 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
@@ -124,14 +159,15 @@ src_configure() {
fi
local myarch=""
- case ${ABI} in
- amd64) myarch="x64";;
- arm) myarch="arm";;
- arm64) myarch="arm64";;
- lp64*) myarch="riscv64";;
- ppc64) myarch="ppc64";;
- x32) myarch="x32";;
- x86) myarch="ia32";;
+ case "${ARCH}:${ABI}" in
+ *:amd64) myarch="x64";;
+ *:arm) myarch="arm";;
+ *:arm64) myarch="arm64";;
+ loong:lp64*) myarch="loong64";;
+ riscv:lp64*) myarch="riscv64";;
+ *:ppc64) myarch="ppc64";;
+ *:x32) myarch="x32";;
+ *:x86) myarch="ia32";;
*) myarch="${ABI}";;
esac