summaryrefslogtreecommitdiff
path: root/net-libs/nodejs
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2020-02-29 18:01:47 +0000
committerV3n3RiX <venerix@redcorelinux.org>2020-02-29 18:01:47 +0000
commitceeeb463cc1eef97fd62eaee8bf2196ba04bc384 (patch)
tree9f47ee47c31a0f13f9496879cd88a1042550aa81 /net-libs/nodejs
parent53cba99042fa967e2a93da9f8db806fe2d035543 (diff)
gentoo (leap year) resync : 29.02.2020
Diffstat (limited to 'net-libs/nodejs')
-rw-r--r--net-libs/nodejs/Manifest15
-rw-r--r--net-libs/nodejs/files/nodejs-13.8.0-paxmarking.patch111
-rw-r--r--net-libs/nodejs/metadata.xml1
-rw-r--r--net-libs/nodejs/nodejs-10.19.0.ebuild11
-rw-r--r--net-libs/nodejs/nodejs-12.16.1.ebuild (renamed from net-libs/nodejs/nodejs-12.15.0.ebuild)13
-rw-r--r--net-libs/nodejs/nodejs-13.8.0.ebuild2
-rw-r--r--net-libs/nodejs/nodejs-13.9.0.ebuild209
-rw-r--r--net-libs/nodejs/nodejs-99999999.ebuild11
8 files changed, 356 insertions, 17 deletions
diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest
index 180817ee4c75..8a7e2bed79df 100644
--- a/net-libs/nodejs/Manifest
+++ b/net-libs/nodejs/Manifest
@@ -1,19 +1,22 @@
AUX nodejs-10.3.0-global-npm-config.patch 819 BLAKE2B 5e40738091bd1f3f18d4cfb2b3a0b94c87c2a570967aec9d418544c182f2e93f28d2dbe564980a975856ca31ab8c115b28fb9374701889cbebe3bba73d4ac83a SHA512 abe27eab0beb3444186fb3c4ce3c67fbc05b684a606f8f8bc4a5bae570fd8fd988f1ad5d65c442842fb6c7b069dc6e3f82577ba6becb1d934ae1039dac074e03
AUX nodejs-13.2.0-paxmarking.patch 2714 BLAKE2B 56371f934f40772845f2a7fb873d59528400358af90612c78d3f47f1af08f3b394ef1eebec0ab477916d523212fdbbe563bb5719442beb5e3969a6fa25cc9989 SHA512 4f68fc72444424c47e7ea31615e4d60821dd6f966102fdc16503e93e8dd32a0f71439f3e6e8b5fbd88f034ef44490b5dcf1b2e00dcec6ed4551b2842d0a20204
+AUX nodejs-13.8.0-paxmarking.patch 4213 BLAKE2B 4235139400e33fbc0e9f9f965953ed1603283d86cea879b5bb67c60686b45ee26237970a13466d2f5392ee463660b318e53061701f916c4f2f2cc15756f21444 SHA512 c738c9ab15b0ce9b2356827a63d2d35eb1ddf9441b4fc7e9e3e07ed30bf7a6eec680cb3901ab8de6ca9a9377e6a04a520b6a88a08ff5cb2673ed50ae737e066d
AUX nodejs-99999999-llhttp.patch 506 BLAKE2B eea449910b97dfc320247f20bf20467f6c5bfe46f7acc95761270928b3413ffaa04ee948d8dece9a8ba47288804144c75ebda1009af17169b36bcd5b39aa0c33 SHA512 13cdbaf73696b4feef1fec48ac43f6a6d80f59096a81308c746655e2cffa0b0ef78850facff103f27062fd25192d8abd7bc200b36bd25df7bd4b800f80da0c5c
DIST node-v10.18.0.tar.xz 21913328 BLAKE2B 84b0b5157671dcc3e96bb2cfd11e085251fd2942c03b27491f712f5603797bab7503d8f7c0eb45ca8e348b20a0555c1767d4d1964fff474c8590a47eb01523a5 SHA512 8fc9062e150af6f054f1ebebbdf67151b16f14bcca9cbb35338a4c7fcd7fa1c3f05c4a7ace12d4153180cec0007a195cbc94942c4d04c3895384dc18951d2c1c
DIST node-v10.19.0.tar.xz 21906168 BLAKE2B 395504ef3befa47d8b967114e019e6a76c799871e7eb21e2c6c0453655ffa07f17f42209daddeb5417342cfbad71ba1a35ae15a2d210b692bc60be270c2fc415 SHA512 512efc58415ed789938c434af131d76bdd51772cac9f7e380afaa79d83cc9c433a979068fc7272adba6ba6551d195267978e1fc819236926b0d1fd6cf91c5eee
DIST node-v12.14.0.tar.xz 23244684 BLAKE2B 0e25cbba5e256b139efd45908236f008834afdf01f57a8e84c7e55ba950e56b786cd52eba9a02986eb0e1d38cbf6df38e1cd719d7dcd8085e8c71767adf8155e SHA512 12e887709a54be911c5a81ab7b7be995247b47ebbd2954ca942f9ed8a784ae1a8e4bdb2613e5bb671196f9101d8861cd29e10650a3f0c414db4d096df94b309b
-DIST node-v12.15.0.tar.xz 23271600 BLAKE2B 20e31e2ecb6352f6fa9e2c60fc505046034434e287e827edd5e0b091c4d5e124b681ba178e1669db26ab3d1b588e3b0894595e9cd1fa46d560f7100d8ab7e1c1 SHA512 40cc5fc252e8939856886cd57cad50df11eedc37de8e50b1b2d49a2e7439d1f4bbba8de90efc030a659919106eca72facf8b31280323fc4803bed9a175ffbbfa
DIST node-v12.16.0.tar.xz 23487084 BLAKE2B 067668ca5af6c35082c3075b4baca256ce656ccf0ac68782a4885bbd2e0ef13108bd72b8b9831ef32f075e4be99fc52b1ce35920cd0db6f10a562a84912cdbd0 SHA512 e0aa45498ffd670052853bae1edfda1a34b291c48232f8a0a58ac329215fb3d0250211ec6dc06fa50fc654e7080028eaf3cc00a3722971a5969054c4cf277f4e
+DIST node-v12.16.1.tar.xz 23481768 BLAKE2B 29371b952c14907778c064269108f1da5e3818c32773e73090c61edcd07190c418189db6a505987ca71f99bb868880e297de5d2181b9a880774eaaf515985f26 SHA512 fe1e9fabb6fe52e3bc4275b33e6c5e4a761550b04964c0ae7dbef7172f5d415207bb2985751d068e357ce45a0ba414b07c0abd1531ef839b9463e98eeae8f9a4
DIST node-v13.8.0.tar.xz 32745596 BLAKE2B 14bf82e8cecde1a4125c7c00c4c9e613c1dbc5bb0241b20f4d30cb8d172612d5a8c362ac786ae516baf9553d5a9c3053414b269fb040cebb664f09096a57985c SHA512 b50d79f029bc04caf193f137b7b3d03f1e1ec9252712015cab2efdeef92bc3176cf7eb36e835cda6221950792e516f9c1894cd2c480e082106e07a11aa1d0761
+DIST node-v13.9.0.tar.xz 32778780 BLAKE2B fb5a0ff82cc1fd255bcc96b50232d6a9e2e3cdab9f5080c6d112b0a5b2dbb952a70d648ccda1b242a7c9e5742683bd320924047bccd1402978d8bbcfa8d1bb68 SHA512 f52184b694bf0dc7755c1c0f05eac400d7e9971e66165a43c7784dfeb935e63de176d3ee937fb09ccb1fc9ac78aec30b6b17e8a477f1b3f10291b1b6d595207c
DIST node-v8.12.0.tar.xz 18310452 BLAKE2B 79634fc57cd76a97e72bab4be37da91d5eff4d13cdaa2b48e83f013885fa3590ba4a28378baf036ed26b7304bf234753d1d4014f72571496f5bb6cd5b221e5f0 SHA512 665d2dba287d78bcd723d7b4d00a6897fb996f4aa69a541e010a3dfeb2614257892117fcce7123966b1ecaddc9269a6667e0e262df693baea1f476c96de55c42
EBUILD nodejs-10.18.0.ebuild 6282 BLAKE2B 672b04c2a80abf23317a1e94c29c66f462167d805fc86afb0a29aaae49afe50f7a7c6e6141ca2449fc935a42fb671925e7a0aa9910a37b2ce61b7938b266bfac SHA512 feacefcf26854f4ece1abcb5070dbaf7c6a33be097e6dc45ee599b575c884b96415c1158f207e7dff948738a96b09ee096f1a100dacadcbc16db3f28165241f2
-EBUILD nodejs-10.19.0.ebuild 6286 BLAKE2B 7010946700adc852961e2fa65f4c162c13cdee3ca004d00970bf242e0fb35d88c5bc26cf67bbd7268ee32e8f56c4d11b28cc02a17694979ebeb5453bac26fc50 SHA512 631be80dbe591af5b1e944fb6153fd8e61b6b5d5f95f747911fb38ddfe4535642b1481d9fe71cd82868a4f1bcf8026d93355e57eeb50d1f8226d767e8c3f09fe
+EBUILD nodejs-10.19.0.ebuild 6361 BLAKE2B 33e4a0e7936b81216945e5bce90f8d85858489800f140ce5203b79e217515be71e0c89b4cb7d64119fc416eb0aba5f516a70a197ed8e14acb76b5c470d3b4a11 SHA512 9420657f220cd01ad9efa2926a1d081d3ce35580fd15d3f7e37bf0a5d1e77039b97e51db107a3eb63d4b494bd1e62067e91fec962f525133211f4731fc07860c
EBUILD nodejs-12.14.0.ebuild 6116 BLAKE2B def68b17c74f2dca48588c0e45bd7c52f33ed8fbc04dd65189a044333e6188f64a286e563b7e2d6c9736f3f8e37252a96883c07d8e860bd0e41e82c97f464b3c SHA512 4fb47c678f94f82a4fde66b944cd56a17bcb6fe32d112a852b28739ec43d529aab0b2e8fb9e21a011709f7e42d62f140d900cfee8c39e7b7a3d08b9004a1434d
-EBUILD nodejs-12.15.0.ebuild 6128 BLAKE2B 1cbf19e274763ba559f928dc11cfef16d168ea411169ae21fb24210f9e73e2a69c3f91ee146cc7d3353510d9585901f70f42b45943a3e970c6d381ea9bbf4a0c SHA512 9747d9d52d2769a25b70a4bb4ca1c1eaa8f56c61cb1e7ca4e0840328779b2fa787c6e99ea6261a6691190c61e7213d07e19ed6ca0f42789f9bb61c13dfe529c4
EBUILD nodejs-12.16.0.ebuild 6128 BLAKE2B 327de2b84bccd5ab4096554e7bf395db5d876a06a0d96b790e66b889fe775d942bcd87ec6253c3a3dfabe844249038d02785f0df6cd6f44cef2ef35c1681a43b SHA512 204d876ef7ef3f8a5b8573d3b2731651a72edc3e8e525ddb9603e9c3089d86e8fcf0c2edc701473aef488f412c2dc735f21d5549df96aa06c71f578e8ef01f2e
-EBUILD nodejs-13.8.0.ebuild 6149 BLAKE2B 25d34fb3d0dced02f4e23bf15b6d552674885c950ffdf7dac1d02c8e514091fc33f168dddca2bec60d9ce0eca03f80cf28ee103f5f582a1d3194b76470f4b703 SHA512 b46b1015f152139ef4b4c0b491b5c55c4a14190d962ea767f73506751599dcdb39ae25693c61e42e514aa9358e2afd24074b3733be57907d85a450829011982d
+EBUILD nodejs-12.16.1.ebuild 6203 BLAKE2B 6812d02a4be07368513881c86ada628038ed9f8a500c31d2402e68f98a10565ce9357fa223b6cc2be7d52fca3e79faed8e9ed78a62ac0e70f9b0860d9d50b528 SHA512 e11a467840822bc9cb6045f8af166088998a45b7834bda6f444fac64aaf44168fc2012138768ddc4f502098df2023143140834381d381fb64fac6c423573cdc1
+EBUILD nodejs-13.8.0.ebuild 6149 BLAKE2B 9add0c1858c32bf245bd3d687b98af5d11aab6fa09cb8627a4352bc91244c498e19ee137f0e6c5b1a8f16423cd447bdffb59bf19ec047ed29973c837d06a8295 SHA512 cb79f90013b8bcc42e78aeb85038f3f438452ef886b5a3fd1722ecf9d241fa9c94453e1f9e6c8a82ac324615fd9a4d935e8e36d2d6b24fed2d4edb62488937d5
+EBUILD nodejs-13.9.0.ebuild 6224 BLAKE2B 40bc5dfe6a7eda8e41f2c962498649ac26fc458ac81a33b876b14e28d3b250494fb0cc990b4a4327e22f339f2501158dd7095a1c62e8922cd280c55670f375fe SHA512 eb4f5617092802663a269b2b4adb0dbca6c67cdfc771149aab29d2aad6f290735bab403afa8944e925444df60ad135265fb37076bafd96cc0cf4a05db4aa7f62
EBUILD nodejs-8.12.0.ebuild 6352 BLAKE2B 15a9b98d89d83fb5959b3b2582cea6a430e9dad5ac6033d7ea32647122ed8cf6a093f7dd90abb93f8585c7c1506d2c801bd439651a447b366fbe75a43259fa55 SHA512 df0848a3e96a62d6191ff0dbcf7ce55eb8da34913c39960e8eb02eb2b3c6d6f6d2202e884c77612b93048c85e6079cc95469c17e8357690936ea92eba400ba7c
-EBUILD nodejs-99999999.ebuild 6065 BLAKE2B 543a45a1bcf4e451f6b38c4dc47489f22996cb57fc08cc74b5cd877298c81aac660a34ba09c21ecf4836cbc4ba5b797924799f8dcddf3567302a8731a6a35098 SHA512 697f79bbf7a055c123407a806b2732fa9b31d09cabc5dcb426600b794ad957db7008942befab8f5ef7384cd7b57a4a638a90e9a204f1fd8e2895ec5ff256278c
-MISC metadata.xml 549 BLAKE2B 89d9231225010c703e933104cc5beea0706d4e865c61c6cb4f95194d2e0b0e4445800eae8c1074c5c313ace3cf3de2a71a05eed880f055b477023dff9729ab2e SHA512 e34ee9c52b2793f6dddb1f82f538598b5085a4bfea37e30047bd3e9bfabce52e3b826b8a2fe8e0e0842a288e14d8f3c229815e287354bdb121ba3e86018303c4
+EBUILD nodejs-99999999.ebuild 6140 BLAKE2B 94dbffe5d736060ca34f8dba48792340e4c80880aa993e01b8b4e5efa5a126596f3a982947f0eba1fd98a3fef5bf73837d67904a64d9449ffea517ebeb1a361a SHA512 7e7318a663fa3e3e37bd75cdc3e75356ec986e352254bf964f70cc8bdea3d7ea381b4c2456044b1eed335aeb3966f527bfdf24aef2fd2d633e6118544c8c08a3
+MISC metadata.xml 628 BLAKE2B 0276a9cc8a0c7a08efb17e5635f561b50dec54e41ee239d96c026bc9609826a8f544faa43eb1b7244cffbdc052ca969b51b0540c08cc8276142dc8305eab2d00 SHA512 619954806c55cb873fd460bcf2f1edb4e4c2064dc60286cfb3292f3a583f5ca8d1d65d9fe0575ef3ed4148d73da817ee589750daf4b5a0147d276240db39ce87
diff --git a/net-libs/nodejs/files/nodejs-13.8.0-paxmarking.patch b/net-libs/nodejs/files/nodejs-13.8.0-paxmarking.patch
new file mode 100644
index 000000000000..c29825df3cf6
--- /dev/null
+++ b/net-libs/nodejs/files/nodejs-13.8.0-paxmarking.patch
@@ -0,0 +1,111 @@
+ Bug: 694100
+ Add actions for pax marking mkcodecache, node_mksnapshot and mksnapshot
+ to disable mprotect for pax enable kernel.
+ Reported-by: Attila Tóth <atoth@atoth.sote.hu>
+ Co-developed-by: Attila Tóth <atoth@atoth.sote.hu>
+ Signed-off-by: Magnus Granberg <zorry@gentoo.org>
+
+--- a/node.gyp 2019-10-23 11:52:41.000000000 +0200
++++ b/node.gyp 2019-11-12 20:58:43.957881862 +0100
+@@ -233,7 +233,9 @@
+ 'deps/acorn-plugins/acorn-static-class-features/index.js',
+ ],
+ 'node_mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot<(EXECUTABLE_SUFFIX)',
++ 'node_mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)node_mksnapshot_u<(EXECUTABLE_SUFFIX)',
+ 'mkcodecache_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mkcodecache<(EXECUTABLE_SUFFIX)',
++ 'mkcodecache_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mkcodecache_u<(EXECUTABLE_SUFFIX)',
+ 'conditions': [
+ [ 'node_shared=="true"', {
+ 'node_target_type%': 'shared_library',
+@@ -436,10 +438,24 @@
+ ],
+ 'actions': [
+ {
++ 'action_name': 'run_pax_mkcodecache',
++ 'inputs': [
++ '<(mkcodecache_exec)',
++ ],
++ 'outputs': [
++ '<(mkcodecache_u_exec)',
++ ],
++ 'action': [
++ 'bash',
++ '-c',
++ 'mv <(mkcodecache_exec) <(mkcodecache_u_exec) && paxmark.sh m <(mkcodecache_u_exec)',
++ ],
++ },
++ {
+ 'action_name': 'run_mkcodecache',
+ 'process_outputs_as_sources': 1,
+ 'inputs': [
+- '<(mkcodecache_exec)',
++ '<(mkcodecache_u_exec)',
+ ],
+ 'outputs': [
+ '<(SHARED_INTERMEDIATE_DIR)/node_code_cache.cc',
+@@ -461,10 +477,24 @@
+ ],
+ 'actions': [
+ {
++ 'action_name': 'run_pax_mksnapshot',
++ 'inputs': [
++ '<(node_mksnapshot_exec)',
++ ],
++ 'outputs': [
++ '<(node_mksnapshot_u_exec)',
++ ],
++ 'action': [
++ 'bash',
++ '-c',
++ 'mv <(node_mksnapshot_exec) <(node_mksnapshot_u_exec) && paxmark.sh m <(node_mksnapshot_u_exec)',
++ ],
++ },
++ {
+ 'action_name': 'node_mksnapshot',
+ 'process_outputs_as_sources': 1,
+ 'inputs': [
+- '<(node_mksnapshot_exec)',
++ '<(node_mksnapshot_u_exec)',
+ ],
+ 'outputs': [
+ '<(SHARED_INTERMEDIATE_DIR)/node_snapshot.cc',
+--- a/tools/v8_gypfiles/v8.gyp 2019-12-03 16:10:36.000000000 +0100
++++ b/tools/v8_gypfiles/v8.gyp 2019-12-17 18:37:33.695839254 +0100
+@@ -9,6 +9,7 @@
+ 'v8_vector_stores%': 0,
+ 'v8_embed_script%': "",
+ 'mksnapshot_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot<(EXECUTABLE_SUFFIX)',
++ 'mksnapshot_u_exec': '<(PRODUCT_DIR)/<(EXECUTABLE_PREFIX)mksnapshot_u<(EXECUTABLE_SUFFIX)',
+ 'v8_os_page_size%': 0,
+ 'generate_bytecode_output_root': '<(SHARED_INTERMEDIATE_DIR)/generate-bytecode-output-root',
+ 'generate_bytecode_builtins_list_output': '<(generate_bytecode_output_root)/builtins-generated/bytecodes-builtins-list.h',
+@@ -427,6 +425,20 @@
+ },
+ 'actions': [
+ {
++ 'action_name': 'run_pax_mksnapshot',
++ 'inputs': [
++ '<(mksnapshot_exec)',
++ ],
++ 'outputs': [
++ '<(mksnapshot_u_exec)',
++ ],
++ 'action': [
++ 'bash',
++ '-c',
++ 'mv <(mksnapshot_exec) <(mksnapshot_u_exec) && paxmark.sh m <(mksnapshot_u_exec)',
++ ],
++ },
++ {
+ 'action_name': 'run_mksnapshot',
+ 'message': 'generating: >@(_outputs)',
+ 'variables': {
+@@ -442,7 +454,7 @@
+ ],
+ },
+ 'inputs': [
+- '<(mksnapshot_exec)',
++ '<(mksnapshot_u_exec)',
+ ],
+ 'outputs': ["<(INTERMEDIATE_DIR)/snapshot.cc"],
+ 'process_outputs_as_sources': 1,
diff --git a/net-libs/nodejs/metadata.xml b/net-libs/nodejs/metadata.xml
index 3f344f0d8eda..3e9bb1da9c02 100644
--- a/net-libs/nodejs/metadata.xml
+++ b/net-libs/nodejs/metadata.xml
@@ -9,6 +9,7 @@
<flag name="npm">Enable NPM package manager</flag>
<flag name="pax_kernel">Enable building under a PaX enabled kernel</flag>
<flag name="snapshot">Enable snapshot creation for faster startup</flag>
+ <flag name="system-ssl">Use system OpenSSL instead of the bundled one</flag>
<flag name="systemtap">Enable SystemTAP/DTrace tracing</flag>
</use>
</pkgmetadata>
diff --git a/net-libs/nodejs/nodejs-10.19.0.ebuild b/net-libs/nodejs/nodejs-10.19.0.ebuild
index 31d605f6adb2..1aedca2b28c8 100644
--- a/net-libs/nodejs/nodejs-10.19.0.ebuild
+++ b/net-libs/nodejs/nodejs-10.19.0.ebuild
@@ -13,10 +13,11 @@ SRC_URI="https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz"
LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
-IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl systemtap test"
+IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl +system-ssl systemtap test"
REQUIRED_USE="
inspector? ( icu ssl )
npm? ( ssl )
+ system-ssl? ( ssl )
"
RDEPEND="
@@ -26,7 +27,7 @@ RDEPEND="
>=net-libs/nghttp2-1.39.2
sys-libs/zlib
icu? ( >=dev-libs/icu-64.2:= )
- ssl? ( >=dev-libs/openssl-1.1.1:0= )
+ system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
"
DEPEND="
${RDEPEND}
@@ -99,7 +100,11 @@ src_configure() {
use inspector || myconf+=( --without-inspector )
use npm || myconf+=( --without-npm )
use snapshot && myconf+=( --with-snapshot )
- use ssl && myconf+=( --shared-openssl ) || myconf+=( --without-ssl )
+ if use ssl; then
+ use system-ssl && myconf+=( --shared-openssl )
+ else
+ myconf+=( --without-ssl )
+ fi
local myarch=""
case ${ABI} in
diff --git a/net-libs/nodejs/nodejs-12.15.0.ebuild b/net-libs/nodejs/nodejs-12.16.1.ebuild
index 5d35c32b4303..d0e7e0c5b4cf 100644
--- a/net-libs/nodejs/nodejs-12.15.0.ebuild
+++ b/net-libs/nodejs/nodejs-12.16.1.ebuild
@@ -15,20 +15,21 @@ SRC_URI="
LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
-IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl systemtap test"
+IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl +system-ssl systemtap test"
REQUIRED_USE="
inspector? ( icu ssl )
npm? ( ssl )
+ system-ssl? ( ssl )
"
RDEPEND="
- >=dev-libs/libuv-1.33.1:=
+ >=dev-libs/libuv-1.34.0:=
>=net-dns/c-ares-1.15.0
>=net-libs/http-parser-2.9.3:=
>=net-libs/nghttp2-1.40.0
sys-libs/zlib
icu? ( >=dev-libs/icu-64.2:= )
- ssl? ( >=dev-libs/openssl-1.1.1:0= )
+ system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
"
BDEPEND="
${PYTHON_DEPS}
@@ -106,7 +107,11 @@ src_configure() {
use inspector || myconf+=( --without-inspector )
use npm || myconf+=( --without-npm )
use snapshot || myconf+=( --without-node-snapshot )
- use ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store ) || myconf+=( --without-ssl )
+ 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
diff --git a/net-libs/nodejs/nodejs-13.8.0.ebuild b/net-libs/nodejs/nodejs-13.8.0.ebuild
index 4912e94e0c68..157d3993d84d 100644
--- a/net-libs/nodejs/nodejs-13.8.0.ebuild
+++ b/net-libs/nodejs/nodejs-13.8.0.ebuild
@@ -88,7 +88,7 @@ src_prepare() {
fi
# We need to disable mprotect on two files when it builds Bug 694100.
- use pax_kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.2.0-paxmarking.patch )
+ use pax_kernel && PATCHES+=( "${FILESDIR}"/${PN}-13.8.0-paxmarking.patch )
default
}
diff --git a/net-libs/nodejs/nodejs-13.9.0.ebuild b/net-libs/nodejs/nodejs-13.9.0.ebuild
new file mode 100644
index 000000000000..00513e8978c4
--- /dev/null
+++ b/net-libs/nodejs/nodejs-13.9.0.ebuild
@@ -0,0 +1,209 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+PYTHON_COMPAT=( python3_{6,7} )
+PYTHON_REQ_USE="threads(+)"
+inherit bash-completion-r1 eutils flag-o-matic pax-utils python-any-r1 toolchain-funcs xdg-utils
+
+DESCRIPTION="A JavaScript runtime built on Chrome's V8 JavaScript engine"
+HOMEPAGE="https://nodejs.org/"
+SRC_URI="
+ https://nodejs.org/dist/v${PV}/node-v${PV}.tar.xz
+"
+
+LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x64-macos"
+IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm pax_kernel +snapshot +ssl +system-ssl systemtap test"
+REQUIRED_USE="
+ inspector? ( icu ssl )
+ npm? ( ssl )
+ system-ssl? ( ssl )
+"
+
+RDEPEND="
+ >=dev-libs/libuv-1.34.2:=
+ >=net-dns/c-ares-1.15.0
+ >=net-libs/nghttp2-1.40.0
+ sys-libs/zlib
+ icu? ( >=dev-libs/icu-64.2:= )
+ system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ systemtap? ( dev-util/systemtap )
+ test? ( net-misc/curl )
+ pax_kernel? ( sys-apps/elfix )
+"
+DEPEND="
+ ${RDEPEND}
+"
+PATCHES=(
+ "${FILESDIR}"/${PN}-10.3.0-global-npm-config.patch
+)
+RESTRICT="test"
+S="${WORKDIR}/node-v${PV}"
+
+pkg_pretend() {
+ (use x86 && ! use cpu_flags_x86_sse2) && \
+ die "Your CPU doesn't support the required SSE2 instruction."
+
+ ( [[ ${MERGE_TYPE} != "binary" ]] && ! test-flag-CXX -std=c++11 ) && \
+ die "Your compiler doesn't support C++11. Use GCC 4.8, Clang 3.3 or newer."
+}
+
+src_prepare() {
+ tc-export 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
+
+ # Avoid a test that I've only been able to reproduce from emerge. It doesnt
+ # seem sandbox related either (invoking it from a sandbox works fine).
+ # The issue is that no stdin handle is openened when asked for one.
+ # It doesn't really belong upstream , so it'll just be removed until someone
+ # with more gentoo-knowledge than me (jbergstroem) figures it out.
+ rm test/parallel/test-stdout-close-unref.js || 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 )
+
+ default
+}
+
+src_configure() {
+ xdg_environment_reset
+
+ local myconf=(
+ --shared-cares --shared-libuv --shared-nghttp2 --shared-zlib
+ )
+ use debug && myconf+=( --debug )
+ use icu && myconf+=( --with-intl=system-icu ) || myconf+=( --with-intl=none )
+ 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="$(emktemp)"
+ "${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 "${LIBDIR}"/node_modules/npm/{.mailmap,.npmignore,Makefile} || die
+ rm -rf "${LIBDIR}"/node_modules/npm/{doc,html,man} || die
+
+ 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() {
+ out/${BUILDTYPE}/cctest || die
+ "${EPYTHON}" tools/test.py --mode=${BUILDTYPE,,} -J message parallel sequential || die
+}
+
+pkg_postinst() {
+ elog "The global npm config lives in /etc/npm. This deviates slightly"
+ elog "from upstream which otherwise would have it live in /usr/etc/."
+ elog ""
+ elog "Protip: When using node-gyp to install native modules, you can"
+ elog "avoid having to download extras by doing the following:"
+ elog "$ node-gyp --nodedir /usr/include/node <command>"
+}
diff --git a/net-libs/nodejs/nodejs-99999999.ebuild b/net-libs/nodejs/nodejs-99999999.ebuild
index 00962bc7bcbf..7a8dc689fddd 100644
--- a/net-libs/nodejs/nodejs-99999999.ebuild
+++ b/net-libs/nodejs/nodejs-99999999.ebuild
@@ -13,11 +13,12 @@ EGIT_REPO_URI="https://github.com/nodejs/node"
LICENSE="Apache-1.1 Apache-2.0 BSD BSD-2 MIT"
SLOT="0"
KEYWORDS=""
-IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm pax_kernel +snapshot +ssl systemtap test"
+IUSE="cpu_flags_x86_sse2 debug doc icu inspector +npm pax_kernel +snapshot +ssl +system-ssl systemtap test"
RESTRICT="!test? ( test )"
REQUIRED_USE="
inspector? ( icu ssl )
npm? ( ssl )
+ system-ssl? ( ssl )
"
RDEPEND="
@@ -26,7 +27,7 @@ RDEPEND="
>=net-libs/nghttp2-1.39.2
sys-libs/zlib
icu? ( >=dev-libs/icu-64.2:= )
- ssl? ( >=dev-libs/openssl-1.1.1:0= )
+ system-ssl? ( >=dev-libs/openssl-1.1.1:0= )
"
BDEPEND="
${PYTHON_DEPS}
@@ -101,7 +102,11 @@ src_configure() {
use inspector || myconf+=( --without-inspector )
use npm || myconf+=( --without-npm )
use snapshot || myconf+=( --without-node-snapshot )
- use ssl && myconf+=( --shared-openssl --openssl-use-def-ca-store ) || myconf+=( --without-ssl )
+ 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