diff options
-rw-r--r-- | net-libs/nodejs/Manifest | 7 | ||||
-rw-r--r-- | net-libs/nodejs/files/nodejs-13.2.0-paxmarking.patch | 71 | ||||
-rw-r--r-- | net-libs/nodejs/metadata.xml | 1 | ||||
-rw-r--r-- | net-libs/nodejs/nodejs-13.3.0.ebuild (renamed from net-libs/nodejs/nodejs-13.2.0.ebuild) | 8 |
4 files changed, 81 insertions, 6 deletions
diff --git a/net-libs/nodejs/Manifest b/net-libs/nodejs/Manifest index 58a7436..ca497da 100644 --- a/net-libs/nodejs/Manifest +++ b/net-libs/nodejs/Manifest @@ -1,4 +1,5 @@ AUX nodejs-10.3.0-global-npm-config.patch 819 BLAKE2B 5e40738091bd1f3f18d4cfb2b3a0b94c87c2a570967aec9d418544c182f2e93f28d2dbe564980a975856ca31ab8c115b28fb9374701889cbebe3bba73d4ac83a SHA512 abe27eab0beb3444186fb3c4ce3c67fbc05b684a606f8f8bc4a5bae570fd8fd988f1ad5d65c442842fb6c7b069dc6e3f82577ba6becb1d934ae1039dac074e03 -DIST node-v13.2.0.tar.xz 32219304 BLAKE2B 89cc3a80c2c75441038d7993c1a435842b4565728771e1a3d28d0939e50abd3032564d3ea694272cd79cee2c0f7fae4037c162d3b8b29122d2072fb75134af87 SHA512 7d1653f67d1c833bf459b2689a2780d3b6ebdeddf66f6c8c9aa3b3e9f0e438d29939875dee90766e41b70c9b82377774fa177c736095e0783a111d2f43db1920 -EBUILD nodejs-13.2.0.ebuild 6203 BLAKE2B 759cd706ad8954cee7e0a66d7a701e3664c4002afd0b5e23f9ac5ca748407617bad8bcd7aedaf09b4861850a5d6c885b6031aa6e6d15139c87077717c2c083f1 SHA512 2add4b7d46b4a210bedb823b8f6a700f569aaddc092b29687d972d8a7e0cad226db986cdce89bd102c3cdc2fb92302b368f5cdbb15855ab8dbdbe843532577d4 -MISC metadata.xml 535 BLAKE2B 1597f9da54c6fd3e01b3ff4ac7032202d9d1503b2d50530d62af530f426eb73a8f8efb5d1ebf22be71fc857b68d5733d71cebef49a1c29b5bd4205ce32d2d9d9 SHA512 85d2b15615180ccdd0a0fe4bef23ad12e7cdcaf923fba4957d7a2475cf5328e1fe034f84668d09cd608ab106ba01ecdbeb411f0e37efd37d715ef6d2025fa2a1 +AUX nodejs-13.2.0-paxmarking.patch 2714 BLAKE2B 56371f934f40772845f2a7fb873d59528400358af90612c78d3f47f1af08f3b394ef1eebec0ab477916d523212fdbbe563bb5719442beb5e3969a6fa25cc9989 SHA512 4f68fc72444424c47e7ea31615e4d60821dd6f966102fdc16503e93e8dd32a0f71439f3e6e8b5fbd88f034ef44490b5dcf1b2e00dcec6ed4551b2842d0a20204 +DIST node-v13.3.0.tar.xz 32312032 BLAKE2B 833e3f06aaf59aa0b7a2ed87a268877ad047f7d9b8dedfc8f9441e3318e6746709915f10446d781cd4054a2cbb32f3372caec96871244589f0dd067aaa7ab5de SHA512 82e30fc342101230b69227ecd6fbf0078194ad6f48b3ba51689bf958dba554183beca3a3ea4f658faedee4ed645b6e129c24bc267a25727372bae7650755c571 +EBUILD nodejs-13.3.0.ebuild 6327 BLAKE2B 4335761d629d946982ed3e9dcf27fa45a4662e3b70a11c6efaf3c6aa53b6af7cda3b60ba5a81b83bd6ddaa482358e1817de3618d2ae2d3538f3896a6040d99e9 SHA512 e85ee271e4e8930514aef74df1f1f0a6d43c720d3f3228afe01d49e1dc04e816ecba1f1f986d124a91fb54fb79d1883511aad7de474052e4c15fdb636cc169d2 +MISC metadata.xml 611 BLAKE2B 085104601bb1b6e07b6be34dee5328b53980e5b772e7bd00fba58f9cd78709bb04ceb3ee0f51c25c2a5c9c2a91d3f2e934958e6797fd42e3b26872fad802bfda SHA512 ee78c300df28089f4cc204cac2940599d646e672e93b916750a3324fe0f9322d096a019f2f8d5987902f7481608cba4d069590dd72e9419adcd192e3bd99a6c6 diff --git a/net-libs/nodejs/files/nodejs-13.2.0-paxmarking.patch b/net-libs/nodejs/files/nodejs-13.2.0-paxmarking.patch new file mode 100644 index 0000000..143e416 --- /dev/null +++ b/net-libs/nodejs/files/nodejs-13.2.0-paxmarking.patch @@ -0,0 +1,71 @@ + Bug: 694100 + Add actions for pax marking mkcodecache and node_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 ++++ a/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', diff --git a/net-libs/nodejs/metadata.xml b/net-libs/nodejs/metadata.xml index d7a4e51..130a21d 100644 --- a/net-libs/nodejs/metadata.xml +++ b/net-libs/nodejs/metadata.xml @@ -8,6 +8,7 @@ <flag name="bundled-ssl">Use bundled ssl on libressl</flag> <flag name="inspector">Enable V8 inspector</flag> <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="systemtap">Enable SystemTAP/DTrace tracing</flag> </use> diff --git a/net-libs/nodejs/nodejs-13.2.0.ebuild b/net-libs/nodejs/nodejs-13.3.0.ebuild index cd17531..230c02b 100644 --- a/net-libs/nodejs/nodejs-13.2.0.ebuild +++ b/net-libs/nodejs/nodejs-13.3.0.ebuild @@ -15,7 +15,7 @@ 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="bundled-ssl cpu_flags_x86_sse2 debug doc icu inspector +npm +snapshot +ssl systemtap test" +IUSE="bundled-ssl cpu_flags_x86_sse2 debug doc icu inspector +npm pax_kernel +snapshot +ssl systemtap test" REQUIRED_USE=" bundled-ssl? ( ssl ) inspector? ( icu ssl ) @@ -37,6 +37,7 @@ BDEPEND=" ${PYTHON_DEPS} systemtap? ( dev-util/systemtap ) test? ( net-misc/curl ) + pax_kernel? ( sys-apps/elfix ) " DEPEND=" ${RDEPEND} @@ -92,6 +93,9 @@ src_prepare() { BUILDTYPE=Debug 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 ) + default } @@ -130,8 +134,6 @@ src_configure() { } src_compile() { - emake -C out mksnapshot - pax-mark m "out/${BUILDTYPE}/mksnapshot" emake -C out } |