summaryrefslogtreecommitdiff
path: root/net-libs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-11-10 21:28:32 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-11-10 21:28:32 +0000
commitc020d9e9432cd0e36fe47ad14216d6048adb49fc (patch)
tree7c3c3aed7d27733e3ad6d8f8f017244169c20772 /net-libs
parent0d0e3e0adedd9f237ceea9e95cbd0ed29a4576d4 (diff)
gentoo auto-resync : 10:11:2022 - 21:28:32
Diffstat (limited to 'net-libs')
-rw-r--r--net-libs/Manifest.gzbin32958 -> 32963 bytes
-rw-r--r--net-libs/libnma/Manifest2
-rw-r--r--net-libs/libnma/libnma-1.10.4.ebuild75
-rw-r--r--net-libs/nodejs/Manifest8
-rw-r--r--net-libs/nodejs/nodejs-14.21.1.ebuild241
-rw-r--r--net-libs/nodejs/nodejs-16.18.1.ebuild233
-rw-r--r--net-libs/nodejs/nodejs-18.12.1.ebuild (renamed from net-libs/nodejs/nodejs-18.9.1.ebuild)2
7 files changed, 558 insertions, 3 deletions
diff --git a/net-libs/Manifest.gz b/net-libs/Manifest.gz
index 24ea3ca9d942..ebe5d8728f03 100644
--- a/net-libs/Manifest.gz
+++ b/net-libs/Manifest.gz
Binary files differ
diff --git a/net-libs/libnma/Manifest b/net-libs/libnma/Manifest
index d1c073d44f8e..20c0fec348cc 100644
--- a/net-libs/libnma/Manifest
+++ b/net-libs/libnma/Manifest
@@ -1,5 +1,7 @@
DIST libnma-1.10.2.tar.xz 1360128 BLAKE2B 8caff2baaf1d7e0cb7a6cefee4917b5f294517cc3ee22446f0bbea0301664969bdf43d10fcdf15e938bdae07467ad0a048687e61c3c494c4f042a1f6800d5745 SHA512 f8ac5f73ee8bc918325d2beec3e1eea61fed18110103ba9c3eb21da02fbd054895aa5ce332942a9113bb4860d59958dbf9c3b91885663b6225daec25cadf7458
+DIST libnma-1.10.4.tar.xz 1351932 BLAKE2B 0178407d04fed680b260ea7e4615f0d939483504209b4bc721e2a4fe49ecbf49d9ffde0476b4352973cda9de4f088ac50d557c12f67d970f21031c1741f692e3 SHA512 4fe0d6b0e5b3c1bd7654e03dce747ee390de76d6641eb317fecb901ed6768bf48785e4a99e6fc8f12864066d06a64e308a8dbb2081a2d57e3f1509ca712deccc
DIST libnma-1.8.40.tar.xz 1350560 BLAKE2B 9c5124a1dcaa801c7d0135ef64dedccd098988fdd199938e2409e80bee86df71bf368cada113dceae4046a5c2c5fe954aa9fc0c19519721a4e8ec7b8f7ea8d44 SHA512 28f4704f97941308f43b27a309fd14050e8ac7e0c6665cada3cc08a759e140f043a80b21ccfe02ce348f8490cad8107b4fe27026dbaafed46ec1c7c46824e3b8
EBUILD libnma-1.10.2.ebuild 1721 BLAKE2B 14a05fbb74d4715e5331958c10201f935c6c00046446219bfd96d1c4f58d66dca25223a2fe4ae5bbff6bb58763630e4f34893c06f4854af5e2358d7166a5c673 SHA512 92091ba63532ed46bdcb43b2827a550b7aadc00f54eeb50c536b2d5e7d0aa7c7f3957b5b694d9e06429dbe21b3a54f8e2db2085bd9d2d5deb32f250699a9c2cd
+EBUILD libnma-1.10.4.ebuild 1779 BLAKE2B 562d5c55285df7911789d00604001b1411a57d7e98b42a54f9fd499c4d1df0a24ccb6200c6ed8aa9b1a6a23e639d45a9f16621b15136246443c21e097ec9403c SHA512 ff1d4013c5464bd1569df5c649e70d1960eb1f8cd6581e9c24c13e2a4ea2094460c844c060889338370be7ab7d94f10fe1c7fa9246494a85d2a6f790927a1c89
EBUILD libnma-1.8.40-r1.ebuild 1682 BLAKE2B 5f43c3715201f41b473902dca9cbcbf998b198b4148bff0469109de04a59cd0d58f5a170a055104225a3079cedc566f63b7c9c061d63bc0ab8df20d22864c7dd SHA512 7bb061ad2e9e508b1f3adcb270d9e2217d48d5116fb17fa906f07596c9ea8de434903e9970eaa11812d787166acbf8de6c482234b8ba8a1590231e2b83456725
MISC metadata.xml 470 BLAKE2B 634b69ece62b9f3f8aa9e82b1df56009823dffd8dd45a46b6ac58c3580179c7c6c87965c8da5d653188e81bfbe5c26c956d15181d23f23ec17b468ba3b585cbd SHA512 a15b193fd01eda0a1408af3ad93660ed7cf859e3837e8e83c5c76031cf50aa3634e8a4d2a47f8db8c311cb36b1eb2fb8a89f8c7adfb9fd6d596eb6e9e5e8bea6
diff --git a/net-libs/libnma/libnma-1.10.4.ebuild b/net-libs/libnma/libnma-1.10.4.ebuild
new file mode 100644
index 000000000000..965eae62dbe5
--- /dev/null
+++ b/net-libs/libnma/libnma-1.10.4.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit gnome.org gnome2-utils meson xdg vala
+
+DESCRIPTION="NetworkManager GUI library"
+HOMEPAGE="https://wiki.gnome.org/Projects/NetworkManager"
+
+LICENSE="GPL-2+"
+SLOT="0"
+# pkcs11 default enabled as it's a small dep often already present by libnma users, and it was default enabled as IUSE=+gcr in nm-applet before
+IUSE="gtk-doc +introspection +pkcs11 vala"
+REQUIRED_USE="vala? ( introspection )"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+DEPEND="
+ >=gui-libs/gtk-4.0:4
+ app-text/iso-codes
+ net-misc/mobile-broadband-provider-info
+ >=dev-libs/glib-2.38:2
+ >=x11-libs/gtk+-3.12:3[introspection?]
+ >=net-misc/networkmanager-1.7[introspection?]
+ pkcs11? ( >=app-crypt/gcr-4.0.0:4 )
+ introspection? ( >=dev-libs/gobject-introspection-1.56:= )
+"
+RDEPEND="${DEPEND}
+ !<gnome-extra/nm-applet-1.16.0" # gschema moved to here before nm-applet-1.16.0
+BDEPEND="
+ dev-libs/libxml2
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ gtk-doc? ( dev-util/gtk-doc
+ app-text/docbook-xml-dtd:4.3 )
+ vala? ( $(vala_depend)
+ net-misc/networkmanager[vala]
+ )
+"
+
+src_prepare() {
+ default
+ use vala && vala_setup
+ xdg_environment_reset
+}
+
+src_configure() {
+ local emesonargs=(
+ -Dlibnma_gtk4=true
+ $(meson_use pkcs11 gcr)
+ -Dmore_asserts=0
+ -Diso_codes=true
+ -Dmobile_broadband_provider_info=true
+ -Dld_gc=false
+ $(meson_use gtk-doc gtk_doc)
+ $(meson_use introspection)
+ $(meson_use vala vapi)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+ rm "${D}/usr/share/glib-2.0/schemas/org.gnome.nm-applet.gschema.xml" || die
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+ gnome2_schemas_update
+}
+
+pkg_postrm() {
+ xdg_pkg_postrm
+ gnome2_schemas_update
+}
diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index f61ed605820c..0fa973c31c10 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -7,16 +7,20 @@ AUX nodejs-16.4.2-paxmarking.patch 4257 BLAKE2B c088deb4f9207d0cfbc43d71111230ec
AUX nodejs-18.3.0-paxmarking.patch 3303 BLAKE2B 627ef3dac873d7967181cbe44b3566080b98bbc08ff7d75dfcf0cbded2e71e8af2ec6ccf2386b4d67ee20f612a49b03d2d81d50c845a5e5447194d94146ae035 SHA512 59be93e86373993fcd5235b7b6fa9fe85df3e2bdd9e61e2374cedccf69a6a36263bf1ce10f3294fdb9bf04a85a6f0dba209d4d7f9dc24b52af83bce48f51b22c
AUX nodejs-gcc-13.patch 841 BLAKE2B 86150b503987c2c84acfc2967883cd81109cb3117eb8d647c8682cad7ba04e2248b1465acdb188f083bc246e165be336c153ff850236fccf6de8d04115a3577b SHA512 2d8f6c132c2e7a9c9acbf46ad4f7687c3bc0d1382b1966eaf9a4bd30d5eb0e6513c2fe32c73e9ed2bc8ae4cf3ebfcca29251b71e4589df0f898e11f1242fd936
DIST node-v14.20.1.tar.xz 34482880 BLAKE2B 3d21645c94e194c4a9a499544032643a2b14f507642c8d01bd54b3446c691c6d59109c08713a4b2e210c7418baded496b80308687b31830d2ccee5f8c9a06178 SHA512 27186e6b877189c7976fe566cbc4f5e961941f74af7e2f96a0829d6061b880569095666da70545f61a017f1b520050ab6ef5fc98e2e71e72253633f88a9264fb
+DIST node-v14.21.1.tar.xz 34663612 BLAKE2B 9ae2034c56e8a4fe47c8a234c5d16a410e7e8a8df966d580451a04f51da697ab8691a211f9f5fcb8b4ae34d2b5e974216f9dbb10dd19c42e2cb9110c31ad58f5 SHA512 3c9247ee71b8deb0672ecebb68d4f330424598333f38ad8f8a19f251140815d4c2a288b0dc6fa227e93944ea6430934bd7419b1a7119d927ed9e85ff09bd335b
DIST node-v16.17.1.tar.xz 35661452 BLAKE2B 1fd9fad86f4f5161b2e06199a18f4df431b95ca03214cedefa4b76a9703e7153120c8c3f0f9b07fce825015533d2f52cc29e5737308c69d809c3e6edbc0eacee SHA512 f9aefcc72a260cbdc162db8db01885a93b1b2248ff0c20c6e9b98819b8b5e599f7da89eeeb7cfe202764cca3974b6ca48610351176f6767ef6ad630ca7ee8cb7
DIST node-v16.18.0.tar.xz 35849580 BLAKE2B 42de388144a1bf66bdacf9c0561596b7a6624dec9a48d417a0ba22eb28a87ba97b6af5707d7f9584b937e86f01baf50db83aaa2b4ecd56aa493f1509c43764ae SHA512 4bcd1fd7aeea8ba87c419d6cfacfdc3415205a44ddaf7a744e1457254de6cafe51b6f28071071e2e66834164bc6eb1e956c8124cc63a06fc3bf69a17476f1c05
+DIST node-v16.18.1.tar.xz 35843876 BLAKE2B f57bc1122207e846b9490960d648f412d72e6d414d7cf4459a90a7b3aa018aca405a43773344284748a5d68d3f29c4d579be3eb8053569a167fef48bd4d43f64 SHA512 3f05104f61ce8d18d11cc6964a4f8ed165cd5502127b8a0191c1e5609921886c38f48a842519f898c36b18a4a38c13a1e93bafe27c101fd89bdc61f283e7a452
DIST node-v18.10.0.tar.xz 38364672 BLAKE2B 0746f9c8bba75a996987c77e6e4c328e56a54517b768280254edf2feffa7d6b578ead54ec86753dd84f764ece6d4b8d22567670d51ef70e70a22d99fc2a835fb SHA512 7dbdb75786a8b85b66a8258ec1754aeaaaed3fed086b6a6caf46940c57fec16305a34931f27c33ed6ac036f16a7dbf010f17a6eec26316d71f3b3086626cf68b
DIST node-v18.11.0.tar.xz 38437152 BLAKE2B 836af1d07493017fc9863a21a7b38fc7118ec94b0eae5089291cc9819637c40332c21676ddc360af28dbf98c48fc83acd035c6ac5e5f4eb62e0043f340eda311 SHA512 dfb36f438e59913cde540c8bc429bf856078c174a53406de851ac59337f70efbd5988e6a969bd16ab8cb2a197871c6f7353c3ccbdaf492a4c047fc11ede36a78
-DIST node-v18.9.1.tar.xz 38315220 BLAKE2B 515ab64db023c5809c476c1248e2d47a49d46ed273ee0f91ac803791b0e7a51f3dd2f0ee7f30901d9a1fbc9172dd971c9845c86a703c6194bc8f983d3f81567c SHA512 fc570dbd41197363d0f9bc3f329fbdffd0cb5b7382327e206d40b3b4e42a80fa65debb172abd501021bcc5082d8d99fc5f6faa05cf87066170c87be1b15e8734
+DIST node-v18.12.1.tar.xz 38454588 BLAKE2B dade180304ebe2bf30fc3270a13b8e024dd48a6dda26be7f730925500f997a9c703608b782eb40a16ed174699af256430434759678ae683b92f4fb4ba48b4707 SHA512 1eb4978a1de19c026561a8484df87bdeb6f7f2ec8ae1eb38b6241d0b0ff6158a4a7d19f42df7e295a63b8047eaf862a7470494143b2e27bb36b65e4663966588
EBUILD nodejs-14.20.1.ebuild 7148 BLAKE2B b361effbe5645588daffc199e0e67a1ae2de09c8ff36aae5e7c68bcedd154b1ba2feb7bb9f3b9ab276f73254d0004caf644b5928ea55a86802c3a8b5cc3d0c1a SHA512 3151d756b43f2efa91b13a9b7eaa2dc5a714ada13137b90a209cab8ae64b4da954dab598f17c4fa8e1f76824c3a85904f28b95601680c98a0f6e5bdf3c3e1e63
+EBUILD nodejs-14.21.1.ebuild 7153 BLAKE2B c522e2a9ecec086d52433d869bcc1af81c902f4248fd66b0c7e98edf200d4b93a638e601857f94d11cf8d254417dfff50cc8fc95b78546c8956803bf0e4d4093 SHA512 ceff2904cbd87452d61ba4601e80d386a4efc6a2997ed00007fc143743527a1508d7e41924abcbaf2bdf0b8338295030c010ad8223c5e1889a88ea5934718809
EBUILD nodejs-16.17.1.ebuild 6762 BLAKE2B d278f9efabb906fbbd301916d13879c6a9a1ecc957c5c6d23d1d8095baca0b22ff61b83e28fc1bf5e034431080cf527bf19437ffe2bd014e41e188d02def11f6 SHA512 797936389325834aef302f428ea66ee5d87c90beb156333f75210bc8b13efb700eb9ca945116e0017d4265ba010975d2fde571ad854a4391d69777f09cf0e85d
EBUILD nodejs-16.18.0.ebuild 6733 BLAKE2B f22acbdda582845a79560c5deedb44ab8d5989de4992cda35074d34b548c0a6ecc8c40b213f2cd5d0ba69cffc7ae65fbac2297ff0050d4c08438f17b3022b990 SHA512 cfd0e78387fb05b6a1cd59ae631bee3ce5da601390c686bceb606766eec7c6989ceded8a48a727686c48fae9bba3b81407cbd2e2cf3b04c70d9010d74af6dcde
+EBUILD nodejs-16.18.1.ebuild 6767 BLAKE2B 5c5729dc468ca0ff374151b9fd2a3b33170dd67bd212cc94603b1749970cae30152212c2f4a24d9099b2278d9f4b878a755e3ee28675eebf2011129f0a5a8cc2 SHA512 b6da0f6cc0fa87a2828adbfec0bfd3fae3aaef6c54de577108396c766b7d92a577842aabc443d512c656f216509eb0ad72ad3d216ff7da6cf360d2734ece05ae
EBUILD nodejs-18.10.0.ebuild 7521 BLAKE2B 4ad01cada842a8e0c22ec469ff4448e9b459b00aa5854d4a811f1ec42f3186aed38af92dbb2f768dd4e9fca8953c914614fce60689382a381dab9c22aa168ccc SHA512 2df578a3d1df8cd76ea21e6b52c22bfe54cae1ccb24144d3aea72ac422352fe3c9172304847b23f836767436928ed8dbc2de2ec526af641eda5734db13176c0e
EBUILD nodejs-18.11.0.ebuild 7492 BLAKE2B b4c56a266693fa31370785937c5f898631e3134b7830e3bc675c480f2cc048857612621f2f9962bc29b544bb3875392b2ef654863ce9fc6490dd617d148d01fb SHA512 c7bd59aef5b76beb67c070b5619aab15b9971c68b7414d7eece64dc31668f7b41708eec46985f3a4c522889f37d0d89a174a0fc743c12e7a1973e5fb7c57bb27
-EBUILD nodejs-18.9.1.ebuild 7521 BLAKE2B 4ad01cada842a8e0c22ec469ff4448e9b459b00aa5854d4a811f1ec42f3186aed38af92dbb2f768dd4e9fca8953c914614fce60689382a381dab9c22aa168ccc SHA512 2df578a3d1df8cd76ea21e6b52c22bfe54cae1ccb24144d3aea72ac422352fe3c9172304847b23f836767436928ed8dbc2de2ec526af641eda5734db13176c0e
+EBUILD nodejs-18.12.1.ebuild 7526 BLAKE2B 0b7faf08125e39755080082675e70dc1c507040cedddd147e4d717434fdf19794b35045d6a44d6d6908153d124f401a9d3b5820ccf1d5512fb1440ebbf1ded27 SHA512 cbe30fc9022c1fc74d0b8d900e99de0b724db583eab2157a46f72ef14d9bcf815807cb6afd0c1e65d2e5e866afcd9781c3473dfe7962fa840186dd9d9ae2a1dd
EBUILD nodejs-99999999.ebuild 7492 BLAKE2B b4c56a266693fa31370785937c5f898631e3134b7830e3bc675c480f2cc048857612621f2f9962bc29b544bb3875392b2ef654863ce9fc6490dd617d148d01fb SHA512 c7bd59aef5b76beb67c070b5619aab15b9971c68b7414d7eece64dc31668f7b41708eec46985f3a4c522889f37d0d89a174a0fc743c12e7a1973e5fb7c57bb27
MISC metadata.xml 898 BLAKE2B a67e85ea95c272b8d18746254894b058433267a74b5bad66bac7d78c7db4cec297e06bc87fad3ee836fc91749aaee2c11c88b48b6ba033c36fa79132552faa81 SHA512 d498b288058e7282c5e9a28d4ba192a2ac5ef796eb1edf644aea41cab2d0eb6036426b188dd9af7eeb2eaf04b84011460cb3c3695ca8dde5667add21d9963c97
diff --git a/net-libs/nodejs/nodejs-14.21.1.ebuild b/net-libs/nodejs/nodejs-14.21.1.ebuild
new file mode 100644
index 000000000000..cee8ed1e8ad4
--- /dev/null
+++ b/net-libs/nodejs/nodejs-14.21.1.ebuild
@@ -0,0 +1,241 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CONFIG_CHECK="~ADVISE_SYSCALLS"
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit bash-completion-r1 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/"
+LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/nodejs/node"
+ SLOT="0"
+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"
+ S="${WORKDIR}/node-v${PV}"
+fi
+
+IUSE="cpu_flags_x86_sse2 debug doc +icu inspector lto +npm pax-kernel +snapshot +ssl +system-icu +system-ssl systemtap test"
+REQUIRED_USE="inspector? ( icu ssl )
+ npm? ( ssl )
+ system-icu? ( icu )
+ system-ssl? ( ssl )"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=app-arch/brotli-1.0.9:=
+ >=dev-libs/libuv-1.40.0:=
+ >=net-dns/c-ares-1.17.2:=
+ >=net-libs/nghttp2-1.41.0:=
+ sys-libs/zlib
+ system-icu? ( >=dev-libs/icu-67:= )
+ system-ssl? (
+ >=dev-libs/openssl-1.1.1:0=
+ <dev-libs/openssl-3.0.0_beta1:0=
+ )
+ sys-devel/gcc:*"
+BDEPEND="${PYTHON_DEPS}
+ sys-apps/coreutils
+ virtual/pkgconfig
+ systemtap? ( dev-util/systemtap )
+ test? ( net-misc/curl )
+ pax-kernel? ( sys-apps/elfix )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-12.22.5-shared_c-ares_nameser_h.patch
+ "${FILESDIR}"/${PN}-14.15.0-fix_ppc64_crashes.patch
+ "${FILESDIR}"/${PN}-14.19.0-global-npm-config.patch
+ "${FILESDIR}"/${PN}-gcc-13.patch
+)
+
+pkg_pretend() {
+ (use x86 && ! use cpu_flags_x86_sse2) && \
+ die "Your CPU doesn't support the required SSE2 instruction."
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ tc-export AR CC CXX PKG_CONFIG
+ export V=1
+ export BUILDTYPE=Release
+
+ # fix compilation on Darwin
+ # https://code.google.com/p/gyp/issues/detail?id=260
+ sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
+
+ # less verbose install output (stating the same as portage, basically)
+ sed -i -e "/print/d" tools/install.py || die
+
+ # proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
+ local LIBDIR=$(get_libdir)
+ sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
+ sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
+
+ # Avoid writing a depfile, not useful
+ sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
+
+ sed -i -e "/'-O3'/d" common.gypi node.gypi || die
+
+ # debug builds. change install path, remove optimisations and override buildtype
+ if use debug; then
+ sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
+ BUILDTYPE=Debug
+ fi
+
+ # We need to disable mprotect on two files when it builds Bug 694100.
+ use pax-kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.8.0-paxmarking.patch )
+
+ # All this test does is check if the npm CLI produces warnings of any sort,
+ # failing if it does. Overkill, much? Especially given one possible warning
+ # is that there is a newer version of npm available upstream (yes, it does
+ # use the network if available), thus making it a real possibility for this
+ # test to begin failing one day even though it was fine before.
+ rm -f test/parallel/test-release-npm.js
+
+ default
+}
+
+src_configure() {
+ xdg_environment_reset
+
+ # 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
+ --shared-cares
+ --shared-libuv
+ --shared-nghttp2
+ --shared-zlib
+ )
+ use debug && myconf+=( --debug )
+ use lto && myconf+=( --enable-lto )
+ if use system-icu; then
+ myconf+=( --with-intl=system-icu )
+ elif use icu; then
+ myconf+=( --with-intl=full-icu )
+ else
+ myconf+=( --with-intl=none )
+ fi
+ use inspector || myconf+=( --without-inspector )
+ use npm || myconf+=( --without-npm )
+ use snapshot || myconf+=( --without-node-snapshot )
+ if use ssl; then
+ use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
+ else
+ myconf+=( --without-ssl )
+ fi
+
+ local myarch=""
+ case ${ABI} in
+ amd64) myarch="x64";;
+ arm) myarch="arm";;
+ arm64) myarch="arm64";;
+ ppc64) myarch="ppc64";;
+ x32) myarch="x32";;
+ x86) myarch="ia32";;
+ *) myarch="${ABI}";;
+ esac
+
+ GYP_DEFINES="linux_use_gold_flags=0
+ linux_use_bundled_binutils=0
+ linux_use_bundled_gold=0" \
+ "${EPYTHON}" configure.py \
+ --prefix="${EPREFIX}"/usr \
+ --dest-cpu=${myarch} \
+ $(use_with systemtap dtrace) \
+ "${myconf[@]}" || die
+}
+
+src_compile() {
+ emake -C out
+}
+
+src_install() {
+ local LIBDIR="${ED}/usr/$(get_libdir)"
+ default
+
+ pax-mark -m "${ED}"/usr/bin/node
+
+ # set up a symlink structure that node-gyp expects..
+ dodir /usr/include/node/deps/{v8,uv}
+ dosym . /usr/include/node/src
+ for var in deps/{uv,v8}/include; do
+ dosym ../.. /usr/include/node/${var}
+ done
+
+ if use doc; then
+ docinto html
+ dodoc -r "${S}"/doc/*
+ fi
+
+ if use npm; then
+ dodir /etc/npm
+
+ # Install bash completion for `npm`
+ # We need to temporarily replace default config path since
+ # npm otherwise tries to write outside of the sandbox
+ local npm_config="usr/$(get_libdir)/node_modules/npm/lib/config/core.js"
+ sed -i -e "s|'/etc'|'${ED}/etc'|g" "${ED}/${npm_config}" || die
+ local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
+ "${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
+ newbashcomp "${tmp_npm_completion_file}" npm
+ sed -i -e "s|'${ED}/etc'|'/etc'|g" "${ED}/${npm_config}" || die
+
+ # Move man pages
+ doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
+
+ # Clean up
+ rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile}
+ rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man}
+
+ local find_exp="-or -name"
+ local find_name=()
+ for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
+ ".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
+ "*.md" "*.markdown" "*.bat" "*.cmd"; do
+ find_name+=( ${find_exp} "${match}" )
+ done
+
+ # Remove various development and/or inappropriate files and
+ # useless docs of dependend packages.
+ find "${LIBDIR}"/node_modules \
+ \( -type d -name examples \) -or \( -type f \( \
+ -iname "LICEN?E*" \
+ "${find_name[@]}" \
+ \) \) -exec rm -rf "{}" \;
+ fi
+
+ mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
+}
+
+src_test() {
+ if has usersandbox ${FEATURES}; then
+ rm -f "${S}"/test/parallel/test-fs-mkdir.js
+ ewarn "You are emerging ${PN} with 'usersandbox' enabled. Excluding tests known to fail in this mode." \
+ "For full test coverage, emerge =${CATEGORY}/${PF} with 'FEATURES=-usersandbox'."
+ fi
+
+ out/${BUILDTYPE}/cctest || die
+ "${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
+}
diff --git a/net-libs/nodejs/nodejs-16.18.1.ebuild b/net-libs/nodejs/nodejs-16.18.1.ebuild
new file mode 100644
index 000000000000..146acf19edab
--- /dev/null
+++ b/net-libs/nodejs/nodejs-16.18.1.ebuild
@@ -0,0 +1,233 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CONFIG_CHECK="~ADVISE_SYSCALLS"
+PYTHON_COMPAT=( python3_{8..10} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit bash-completion-r1 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/"
+LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/nodejs/node"
+ SLOT="0"
+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"
+ S="${WORKDIR}/node-v${PV}"
+fi
+
+IUSE="cpu_flags_x86_sse2 debug doc +icu inspector lto +npm pax-kernel +snapshot +ssl +system-icu +system-ssl systemtap test"
+REQUIRED_USE="inspector? ( icu ssl )
+ npm? ( ssl )
+ system-icu? ( icu )
+ system-ssl? ( ssl )"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=app-arch/brotli-1.0.9:=
+ >=dev-libs/libuv-1.40.0:=
+ >=net-dns/c-ares-1.17.2:=
+ >=net-libs/nghttp2-1.41.0:=
+ sys-libs/zlib
+ system-icu? ( >=dev-libs/icu-67:= )
+ system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
+ sys-devel/gcc:*"
+BDEPEND="${PYTHON_DEPS}
+ sys-apps/coreutils
+ virtual/pkgconfig
+ systemtap? ( dev-util/systemtap )
+ test? ( net-misc/curl )
+ 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
+ "${FILESDIR}"/${PN}-gcc-13.patch
+)
+
+pkg_pretend() {
+ (use x86 && ! use cpu_flags_x86_sse2) && \
+ die "Your CPU doesn't support the required SSE2 instruction."
+}
+
+pkg_setup() {
+ python-any-r1_pkg_setup
+ linux-info_pkg_setup
+}
+
+src_prepare() {
+ tc-export AR CC CXX PKG_CONFIG
+ export V=1
+ export BUILDTYPE=Release
+
+ # fix compilation on Darwin
+ # https://code.google.com/p/gyp/issues/detail?id=260
+ sed -i -e "/append('-arch/d" tools/gyp/pylib/gyp/xcode_emulation.py || die
+
+ # less verbose install output (stating the same as portage, basically)
+ sed -i -e "/print/d" tools/install.py || die
+
+ # proper libdir, hat tip @ryanpcmcquen https://github.com/iojs/io.js/issues/504
+ local LIBDIR=$(get_libdir)
+ sed -i -e "s|lib/|${LIBDIR}/|g" tools/install.py || die
+ sed -i -e "s/'lib'/'${LIBDIR}'/" deps/npm/lib/npm.js || die
+
+ # Avoid writing a depfile, not useful
+ sed -i -e "/DEPFLAGS =/d" tools/gyp/pylib/gyp/generator/make.py || die
+
+ sed -i -e "/'-O3'/d" common.gypi node.gypi || die
+
+ # debug builds. change install path, remove optimisations and override buildtype
+ if use debug; then
+ sed -i -e "s|out/Release/|out/Debug/|g" tools/install.py || die
+ BUILDTYPE=Debug
+ fi
+
+ # We need to disable mprotect on two files when it builds Bug 694100.
+ use pax-kernel && PATCHES+=( "${FILESDIR}"/${PN}-16.4.2-paxmarking.patch )
+
+ # All this test does is check if the npm CLI produces warnings of any sort,
+ # failing if it does. Overkill, much? Especially given one possible warning
+ # is that there is a newer version of npm available upstream (yes, it does
+ # use the network if available), thus making it a real possibility for this
+ # test to begin failing one day even though it was fine before.
+ rm -f test/parallel/test-release-npm.js
+
+ default
+}
+
+src_configure() {
+ xdg_environment_reset
+
+ # 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
+ --shared-cares
+ --shared-libuv
+ --shared-nghttp2
+ --shared-zlib
+ )
+ use debug && myconf+=( --debug )
+ use lto && myconf+=( --enable-lto )
+ if use system-icu; then
+ myconf+=( --with-intl=system-icu )
+ elif use icu; then
+ myconf+=( --with-intl=full-icu )
+ else
+ myconf+=( --with-intl=none )
+ fi
+ use inspector || myconf+=( --without-inspector )
+ use npm || myconf+=( --without-npm )
+ use snapshot || myconf+=( --without-node-snapshot )
+ if use ssl; then
+ use system-ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store )
+ else
+ myconf+=( --without-ssl )
+ 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";;
+ *) myarch="${ABI}";;
+ esac
+
+ GYP_DEFINES="linux_use_gold_flags=0
+ linux_use_bundled_binutils=0
+ linux_use_bundled_gold=0" \
+ "${EPYTHON}" configure.py \
+ --prefix="${EPREFIX}"/usr \
+ --dest-cpu=${myarch} \
+ $(use_with systemtap dtrace) \
+ "${myconf[@]}" || die
+}
+
+src_compile() {
+ emake -C out
+}
+
+src_install() {
+ local LIBDIR="${ED}/usr/$(get_libdir)"
+ default
+
+ pax-mark -m "${ED}"/usr/bin/node
+
+ # set up a symlink structure that node-gyp expects..
+ dodir /usr/include/node/deps/{v8,uv}
+ dosym . /usr/include/node/src
+ for var in deps/{uv,v8}/include; do
+ dosym ../.. /usr/include/node/${var}
+ done
+
+ if use doc; then
+ docinto html
+ dodoc -r "${S}"/doc/*
+ fi
+
+ if use npm; then
+ keepdir /etc/npm
+
+ # Install bash completion for `npm`
+ local tmp_npm_completion_file="$(TMPDIR="${T}" mktemp -t npm.XXXXXXXXXX)"
+ "${ED}/usr/bin/npm" completion > "${tmp_npm_completion_file}"
+ newbashcomp "${tmp_npm_completion_file}" npm
+
+ # Move man pages
+ doman "${LIBDIR}"/node_modules/npm/man/man{1,5,7}/*
+
+ # Clean up
+ rm -f "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile}
+ rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man}
+
+ local find_exp="-or -name"
+ local find_name=()
+ for match in "AUTHORS*" "CHANGELOG*" "CONTRIBUT*" "README*" \
+ ".travis.yml" ".eslint*" ".wercker.yml" ".npmignore" \
+ "*.md" "*.markdown" "*.bat" "*.cmd"; do
+ find_name+=( ${find_exp} "${match}" )
+ done
+
+ # Remove various development and/or inappropriate files and
+ # useless docs of dependend packages.
+ find "${LIBDIR}"/node_modules \
+ \( -type d -name examples \) -or \( -type f \( \
+ -iname "LICEN?E*" \
+ "${find_name[@]}" \
+ \) \) -exec rm -rf "{}" \;
+ fi
+
+ mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
+}
+
+src_test() {
+ if has usersandbox ${FEATURES}; then
+ rm -f "${S}"/test/parallel/test-fs-mkdir.js
+ ewarn "You are emerging ${PN} with 'usersandbox' enabled. Excluding tests known to fail in this mode." \
+ "For full test coverage, emerge =${CATEGORY}/${PF} with 'FEATURES=-usersandbox'."
+ fi
+
+ out/${BUILDTYPE}/cctest || die
+ "${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
+}
diff --git a/net-libs/nodejs/nodejs-18.9.1.ebuild b/net-libs/nodejs/nodejs-18.12.1.ebuild
index c4fe0dccc534..9c480407154b 100644
--- a/net-libs/nodejs/nodejs-18.9.1.ebuild
+++ b/net-libs/nodejs/nodejs-18.12.1.ebuild
@@ -20,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 ~loong 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