diff options
author | V3n3RiX <venerix@redcorelinux.org> | 2020-02-29 18:01:47 +0000 |
---|---|---|
committer | V3n3RiX <venerix@redcorelinux.org> | 2020-02-29 18:01:47 +0000 |
commit | ceeeb463cc1eef97fd62eaee8bf2196ba04bc384 (patch) | |
tree | 9f47ee47c31a0f13f9496879cd88a1042550aa81 /net-libs/nodejs | |
parent | 53cba99042fa967e2a93da9f8db806fe2d035543 (diff) |
gentoo (leap year) resync : 29.02.2020
Diffstat (limited to 'net-libs/nodejs')
-rw-r--r-- | net-libs/nodejs/Manifest | 15 | ||||
-rw-r--r-- | net-libs/nodejs/files/nodejs-13.8.0-paxmarking.patch | 111 | ||||
-rw-r--r-- | net-libs/nodejs/metadata.xml | 1 | ||||
-rw-r--r-- | net-libs/nodejs/nodejs-10.19.0.ebuild | 11 | ||||
-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.ebuild | 2 | ||||
-rw-r--r-- | net-libs/nodejs/nodejs-13.9.0.ebuild | 209 | ||||
-rw-r--r-- | net-libs/nodejs/nodejs-99999999.ebuild | 11 |
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 |