summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--net-libs/nodejs/Manifest7
-rw-r--r--net-libs/nodejs/files/nodejs-13.2.0-paxmarking.patch71
-rw-r--r--net-libs/nodejs/metadata.xml1
-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
}