summaryrefslogtreecommitdiff
path: root/net-libs
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs')
-rw-r--r--net-libs/Manifest.gzbin31816 -> 31815 bytes
-rw-r--r--net-libs/libpsl/Manifest2
-rw-r--r--net-libs/libpsl/libpsl-0.21.5.ebuild2
-rw-r--r--net-libs/miniupnpc/Manifest2
-rw-r--r--net-libs/miniupnpc/miniupnpc-2.2.6.ebuild2
-rw-r--r--net-libs/nodejs/Manifest2
-rw-r--r--net-libs/nodejs/nodejs-20.11.0.ebuild258
7 files changed, 264 insertions, 4 deletions
diff --git a/net-libs/Manifest.gz b/net-libs/Manifest.gz
index eaa638f4e465..7993105000a3 100644
--- a/net-libs/Manifest.gz
+++ b/net-libs/Manifest.gz
Binary files differ
diff --git a/net-libs/libpsl/Manifest b/net-libs/libpsl/Manifest
index a1cc4c1c3849..1f3ebeab2bed 100644
--- a/net-libs/libpsl/Manifest
+++ b/net-libs/libpsl/Manifest
@@ -2,5 +2,5 @@ AUX libpsl-0.21.2-tests-optional.patch 1141 BLAKE2B a72459d3e735391222d0a4e2fb7e
DIST libpsl-0.21.2.tar.gz 7617025 BLAKE2B b50f805bb467dc3284bc91645a37a2208098ad809d3771c74ef13c3b8f6029a07ad80a56702c7e3d1a1125d272403c85dd97b64a28465b9ff2d095eaf94b9a4d SHA512 f1df72220bf4391d4701007100b0df66c833a2cbcb7481c9d13f0b9e0cad3b66d2d15d4b976e5bad60d2ad1540355112fa1acb07aa925c241d2d7cd20681c71d
DIST libpsl-0.21.5.tar.gz 7624251 BLAKE2B a0076f622b85df99f866de6707850ac216b764bdb68c6d516f4603da42dac8eae3ee4c53d68dbb6af6f779c2c7f1b9caab74c8b558209b1f6823f95c13fc3ceb SHA512 c14d575cecc0f1693894dd79565b6b9220084ddfa43b908a1cefe16d147cdd5ec47796eb0c2135e2f829a951abaf39d8a371ab5c1352f57b36e610e25adf91f5
EBUILD libpsl-0.21.2.ebuild 1311 BLAKE2B b5f9fb3476567bad769fb93ec34e0acc6ad46abff57b51caf28323c8a671277758f5551d4387ca511ca99ae0e6470cf3084fa4312a5240f82a9353970500fe0b SHA512 50c828251a50b878458cbe9616356bf2c1bfab4f41f7383c11a91d4e0a05754b916670a25dcf07e02961d28a92ccd4e020df3233947d17c575cec1da7656ddff
-EBUILD libpsl-0.21.5.ebuild 1265 BLAKE2B 82ed03044ca92aa9aed1a71a11bfa8777a0ac8a49c622042ec45192cae6770fdc4c4bb06f175ea60dec2a304873a903cdf5035bc7c49a3fcdaf79259951f4f1b SHA512 f4bf48d4264e5d1c1ff3fd4963a478eadf2596834e28e8e60b0cc51319632b5de67eb0c3febb60463333733cb16c69f47a70e18d007bea1eab46255c7b2896e7
+EBUILD libpsl-0.21.5.ebuild 1313 BLAKE2B ad784b858ecbbbfb6446092608bac2b343c2e759bd481cc9f0660d360fa49e99ed84dcbb5416f6729d7135738f637cc0901d013d0ce653fcb72e392e71675969 SHA512 09174d23ed62518f98ab676d3070f7115136cff18870a5914c5a0ac962d1744292e304a11aa9c509ea4ad349c3a043d02dac7ffe41af6c58b04409ca3552194f
MISC metadata.xml 255 BLAKE2B 36ae66735664b8ed69846146d268e59f89bbea0d01d46f692709b9bfc521f70875a331b0995442435566e1896d9090bc9d9a6b9a63bf5de51b55d9a095f60d7a SHA512 4ce190fd174d39c74bce7eec22d651f9f15248ebbb7a2ffb68f7c9bae01ed412b6652285fcbb055770896d8ea0a1241c3aea30c2a0f4c223aba3b1dd723f1b9e
diff --git a/net-libs/libpsl/libpsl-0.21.5.ebuild b/net-libs/libpsl/libpsl-0.21.5.ebuild
index dc56355321fb..d9bc8856a358 100644
--- a/net-libs/libpsl/libpsl-0.21.5.ebuild
+++ b/net-libs/libpsl/libpsl-0.21.5.ebuild
@@ -12,7 +12,7 @@ SRC_URI="https://github.com/rockdaboot/${PN}/releases/download/${PV}/${P}.tar.gz
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="icu +idn test"
RESTRICT="!test? ( test )"
diff --git a/net-libs/miniupnpc/Manifest b/net-libs/miniupnpc/Manifest
index 26b5e3a5d27a..9a7eeec9a2b4 100644
--- a/net-libs/miniupnpc/Manifest
+++ b/net-libs/miniupnpc/Manifest
@@ -4,5 +4,5 @@ DIST miniupnpc-2.2.5.tar.gz.sig 543 BLAKE2B ea7b5c254684f52485bc18ad4820c41e7c70
DIST miniupnpc-2.2.6.tar.gz 103949 BLAKE2B bf5ea9ce0194dcff47763989da6eea0282fe2507bab79a14bb699aa1f843730c95b448030d8100241787b899d3cc5e4e7ab4633ee2a97b9121eea05c90b138b0 SHA512 012a7a7c96694890af458933f0bc14573f5c85cc5f3021854e1a965574f993be174ca15c1b0edb224333c2560c3a44cd68a067527db832475a16dbbaaaf48125
DIST miniupnpc-2.2.6.tar.gz.sig 543 BLAKE2B 243d9eacab92a33c6c9bf064333c6d2620c88d2bfb5b6bd1dd5f8360f355e8e4b0c0af596ceccc5783e9beaeb21bc2ba0c24fbf3d7448e92235f4a1a0793859a SHA512 750d0ffef99210552d96383bc67d4200f1306c4200ecac8b0d91f6796882a2c8686e83dbc3fe103d01d957a4212258e660c91a79a76ff87b2a7b0498bc5a822e
EBUILD miniupnpc-2.2.5.ebuild 1596 BLAKE2B e98edc33b2a8fdc8363294219e35cac2f3b88e143e576a1f9d9f2b0b900b4f11e1bae9f6a650b1a7bf699b2d3515a102132ce95ef166fa209ef9e95dc912a064 SHA512 2e74c0341cf5fbf578d3776ec6b78cc1af1bcd4cb70fc997efcef40ee24765439e9c835d3ef9bbe0433665616d57036a1435c29911b08750e2359194060feb12
-EBUILD miniupnpc-2.2.6.ebuild 1614 BLAKE2B 41a4ddc149b0c2d0bfc3b136f3e5025cc885b771f9446e72a00c128294e1ee7d1164742085b96d17b13353dcc32037f0d6e6d65828f0bce322de6ddc162984b9 SHA512 04bd7c48c32085faaecbcde49254358b09410b48794d2a3255a498da9529ee4427c5f5a628e54285087ab12ca502d837110c9f6fdf82c772235106aa6f73b6d5
+EBUILD miniupnpc-2.2.6.ebuild 1612 BLAKE2B 27326d657c2ede41795be889afdabb7b6d28addba33938990804599954e56d4e216a9153ff748f694d0aecae3544305ea834cd19e88fe0233f586fd43d0bb978 SHA512 8d6a468238375618ab145122fcb64bc4c616bcf6a48a73968a13f816ca998fcd6d64513861a4ed1a63ba3f637bb0a567093eeb8c60333203432f12f732a71013
MISC metadata.xml 330 BLAKE2B 02b7193f99aee0f3cad145954d1a6f7f9b2f63e21cc23d02ae3048d89618050a5a8df2e206d771a3d0853664d4a0de9a09f44660b108eb280618d9136d1c86be SHA512 6a395c2a579f4ce8c891261da25c031284904a8d6366733c14a201a948e6744ae0037067f178f799d6134e4be670f1be3582f257414e067de654e8050963b972
diff --git a/net-libs/miniupnpc/miniupnpc-2.2.6.ebuild b/net-libs/miniupnpc/miniupnpc-2.2.6.ebuild
index b079c1fa291e..8ab44d929c24 100644
--- a/net-libs/miniupnpc/miniupnpc-2.2.6.ebuild
+++ b/net-libs/miniupnpc/miniupnpc-2.2.6.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0/17"
-KEYWORDS="~amd64 arm arm64 ~hppa ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~amd64 arm arm64 ~hppa ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc ~x86"
IUSE="ipv6"
BDEPEND="
diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index d2fe1fbf81d9..e2cad34d5033 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -8,6 +8,7 @@ DIST node-v18.17.1.tar.xz 40788836 BLAKE2B 50e0dc0eecd68620ffa7457319e71124bbba3
DIST node-v18.18.0.tar.xz 40813264 BLAKE2B 6cea11a663e5df730faef9125a80e730da83fdccebf8c4f454435ee622207803d59132b5d8e112741702103a6814a491b29bb9f22ddec60fba204236a763b95e SHA512 c10fb40902fc290cc069e86659ff4c7768215f80a7016402915cae7731bfd69aa901b7dc813d480f86fc39a850960f600ddde342d67b9bb570a3d2424b04f733
DIST node-v18.18.2.tar.xz 40834428 BLAKE2B b2fcedd79fc8ca6a5b9236614874b9840d4df5f37f5ecfa5599a177b237543788eb985e8828f7a028f5fbca17aa0c4879393b956d08dce13bd04ec9e253aa48e SHA512 00af3c737d735a320481d764f1c23b1348c0454f2b9700cadb10e087feb47c75e7e9344277bb3149305c3e08ff69d9b17b0da81b1b9d9e978fd830c67858ce92
DIST node-v18.19.0.tar.xz 41248748 BLAKE2B 24f9c99737a6d455ad83a7c55d0c668190570b5947bb3a6b2f321a25ff1e30b2913a4e144821ddf794a975cd9765582426252933235ce033623ccf3ecce816a4 SHA512 db2f1342f028e5cd2ab0a3719b4c822e22439aa097b59df768fb7f6aa581394f81af6f51f7764b99d119ea2c849b55c02897af8caafab7c0f9d0112608a8867f
+DIST node-v20.11.0.tar.xz 42162348 BLAKE2B c090a3b118c9f3b497450ea2572b08a7a0df0834f280b212d6f068e5fb75a0a095cc41fe5d530c51dd7c2ae4815cedce1c52642fdc5aa07345fb546c2ea3b396 SHA512 405cbd53f75d94b9c31536a638c6508215b34a77505471319c46f66eb87ac907cb6796b25efa27162da53cb6a013aaf9ad1a5690eb7ed793969055a648d1d53c
DIST node-v20.6.1.tar.xz 41791920 BLAKE2B c131aa9dd2a155eb24dda80e4997895aab7d935e46d1f21e9e176aa15021aa68be41f49cc43557f0b2c962baf3b2da4ea0ba044efd5016ea58bf2dc0b76c4edd SHA512 8a6d998ae9b52872ff8cdcd44261f644161f31bcb565329ae05e68945c8da939eabcb76d2e0f628c8eb634de37d7b16334823f64122e4483c390117d8aa511bf
DIST node-v20.7.0.tar.xz 41824232 BLAKE2B ac13e5fea6af99309c5a5e77de79eebe42f894e6182daa13d0d287bed07eb0fbed1e6103c3600216da7bbcbc572900a2a44c622095ff37e0af40a49d0213a866 SHA512 5d95079d8ebe3992d5e34fac607ebb9601f33645874be0e81093a376a57ea23e3a1b74a06dfede1c9289258d40273fa23140bf1954e5d04eed4ec6beafcbc67c
DIST node-v20.8.1.tar.xz 41863408 BLAKE2B 84bd93d9d49f54e655a78194050e91a91ede2d6d415f929e2b942955a3b082d902601b40fdc9eb16a5e16fe46627110d1f43d94ab464d812f165915cf1aa598b SHA512 d76245a8ec35fdb481e898efc457d3804d425a0d8e2da9175cdcc41036c57b5a6c23a5c2e84b7b417d3f48be631bff86708b2cae9e65ca3a22908caa3190ed1b
@@ -17,6 +18,7 @@ EBUILD nodejs-18.17.1.ebuild 7482 BLAKE2B 9ac4dc8d50e1f26df146f4159e34a1cc636eef
EBUILD nodejs-18.18.0.ebuild 7487 BLAKE2B dbdecd3edc11f7910623c7eab586391d353ab2dc766ce676b0f5f334f1feea7161c2aca56835f446c118e401e65a739e126b451da9cdb4cf1115cb0226fc855d SHA512 b645b298659f381a2a1d9a72c340016a645f6bac5024e9433eef77471f1194cedcf33d2ce9ce15caa4eb2dcae852ec6f764dfcb5a9f08b4b9eef36d2e7cf2880
EBUILD nodejs-18.18.2.ebuild 7467 BLAKE2B 0b8161b3f648e319d60f498d48401ca92d3d6d31fbe2154e21bf01eb5b8cdd606df97fc8e57e5e9c3902c451522e9818f4b4f392b11b9590374c32eb607f23f2 SHA512 2cada98a3d3c507ed2a63f7d7d597e8a13c13c8767986c79472001179f2df149e3fccd25aa0e5f1104bc288c0bdb82366520ff42e0f6620d31c44b71d34cc207
EBUILD nodejs-18.19.0.ebuild 7557 BLAKE2B 0b64631db15217f0085385db8f43fc1d7302235b391f65f371a78bad3023356e6c5651f726a95862a243af49162522a3cff582a055f2277e9ba6537feb14d59e SHA512 f28ca3e1f52cd0f34d8b03fbb57f0f592f3bc98cb6908d30028ce38455111fe86e3eba5fc4721f0dadaa7be23157b3fe86d8984037ca4ff373b164f341f3fec8
+EBUILD nodejs-20.11.0.ebuild 7474 BLAKE2B d6d952bc8056c28f925ab467cf02a254baecab227c3b6b9a4755131f9d977aa047f0df1a87e9b2bf4c125f0130ccdc22cce0ec71cc5bd34dc720c8d514e4ef8f SHA512 64534323586f2cd5b7cd97e7bb72769aecda39ecc80193539024a815fc20bb149950ab926222cc406416cb2a5878abe82c0629637f862891899bbef84dee11a0
EBUILD nodejs-20.6.1.ebuild 7495 BLAKE2B 83f47c14b57b63d72cd940388adbda2c3c4e70e63b2123d2bc4651585cbe2ed8f07851805a78edaae0bb6959e2bf15eb378f9a95aecdbc4956a3377e07255130 SHA512 6d83a4e45aa952dcae536493fd7f13d4ea2c5f101355f574490a112663437bf6a95152dc6297b1359ba7f3a2a4583ccbcefe29d4abff41cccb9cb3069f07008b
EBUILD nodejs-20.7.0.ebuild 7500 BLAKE2B 28e8e849c4b42b850d49896ce0f08d2350bf03bb76ce184b7148c4f62b3055fd370ba052ea94eddbbc9ee1142b0887fa7a1be3be4e36a5a1d60278cf7e595647 SHA512 0b560ef73b84a35c90da24469a0a80b83a7a52cef5c86ecd806529094fafbfa186685c55aa499f73689c0281d568df1c5f43252c86e68824b7836edbc1a86e58
EBUILD nodejs-20.8.1-r1.ebuild 7522 BLAKE2B e17abf191f070bdbbeca6e71055b700808d7c3588af641c695a39d31fd352d029d1ebf28c3093364043f743a24b4bdaeb4cd01605d77ecd171e2230724fe7b37 SHA512 5a4092631bd64ed85b9bfce7e3f8180112d458771b41532e7e6f58df0b80677008a7acc2da1c22e92547b96dde740a56c54d617eae72fa23a3e46bf9882c4016
diff --git a/net-libs/nodejs/nodejs-20.11.0.ebuild b/net-libs/nodejs/nodejs-20.11.0.ebuild
new file mode 100644
index 000000000000..ce2199f2fb08
--- /dev/null
+++ b/net-libs/nodejs/nodejs-20.11.0.ebuild
@@ -0,0 +1,258 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CONFIG_CHECK="~ADVISE_SYSCALLS"
+PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_REQ_USE="threads(+)"
+
+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/"
+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 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x64-macos"
+ S="${WORKDIR}/node-v${PV}"
+fi
+
+IUSE="corepack cpu_flags_x86_sse2 debug doc +icu inspector lto +npm pax-kernel +snapshot +ssl +system-icu +system-ssl test"
+REQUIRED_USE="inspector? ( icu ssl )
+ npm? ( ssl )
+ system-icu? ( icu )
+ system-ssl? ( ssl )
+ x86? ( cpu_flags_x86_sse2 )"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=app-arch/brotli-1.0.9:=
+ >=dev-libs/libuv-1.46.0:=
+ >=net-dns/c-ares-1.18.1:=
+ >=net-libs/nghttp2-1.41.0:=
+ sys-libs/zlib
+ corepack? ( !sys-apps/yarn )
+ system-icu? ( >=dev-libs/icu-71:= )
+ system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
+ sys-devel/gcc:*"
+BDEPEND="${PYTHON_DEPS}
+ app-alternatives/ninja
+ sys-apps/coreutils
+ virtual/pkgconfig
+ test? ( net-misc/curl )
+ pax-kernel? ( sys-apps/elfix )"
+DEPEND="${RDEPEND}"
+
+# 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() {
+ 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() {
+ 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}-20.6.0-paxmarking.patch )
+
+ default
+}
+
+src_configure() {
+ xdg_environment_reset
+
+ # LTO compiler flags are handled by configure.py itself
+ filter-lto
+ # 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=(
+ --ninja
+ --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 corepack || myconf+=( --without-corepack )
+ 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 "${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
+
+ 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} \
+ "${myconf[@]}" || die
+}
+
+src_compile() {
+ emake -Onone
+}
+
+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
+ echo "NPM_CONFIG_GLOBALCONFIG=${EPREFIX}/etc/npm/npmrc" > "${T}"/50npm
+ doenvd "${T}"/50npm
+
+ # 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
+
+ use corepack &&
+ "${D}"/usr/bin/corepack enable --install-directory "${D}"/usr/bin
+
+ mv "${ED}"/usr/share/doc/node "${ED}"/usr/share/doc/${PF} || die
+}
+
+src_test() {
+ local drop_tests=(
+ test/parallel/test-dns-resolveany-bad-ancount.js
+ test/parallel/test-fs-read-stream.js
+ test/parallel/test-dns-setserver-when-querying.js
+ test/parallel/test-fs-mkdir.js
+ test/parallel/test-fs-utimes-y2K38.js
+ test/parallel/test-fs-watch-recursive-add-file.js
+ test/parallel/test-release-npm.js
+ test/parallel/test-socket-write-after-fin-error.js
+ test/parallel/test-strace-openat-openssl.js
+ test/sequential/test-util-debug.js
+ )
+ rm -f "${drop_tests[@]}" || die "disabling tests failed"
+
+ out/${BUILDTYPE}/cctest || die
+ "${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} --flaky-tests=dontcare -J message parallel sequential || die
+}
+
+pkg_postinst() {
+ if use npm; then
+ ewarn "remember to run: source /etc/profile if you plan to use nodejs"
+ ewarn " in your current shell"
+ fi
+}