Commit 949e79e3 authored by Jérome Perrin's avatar Jérome Perrin

component/nodejs: version up 18.18.0

adjust peertube to explicitly use 16.19.0 as this version does not
support nodejs 18

drop some unused versions
parent e5892c7a
...@@ -12,13 +12,25 @@ extends = ...@@ -12,13 +12,25 @@ extends =
parts = parts =
nodejs nodejs
[nodejs] # nodejs >= 16 needs gcc >= 8.3
<= nodejs-16.19.0
# nodejs 16 needs gcc > 8.3
[gcc] [gcc]
min_version = 8.3 min_version = 8.3
[nodejs]
<= nodejs-18.18.0
  • This has a "big breaking change" that IPV6 might be used for addresses that were IPV4 before https://twitter.com/matteocollina/status/1640384245834055680

    This workaround might be needed on some misconfigured machines. When using yarn, such as for theia, this can be set like this:

    diff --git a/component/theia/buildout.cfg b/component/theia/buildout.cfg
    index c09753f25..0cc758228 100644
    --- a/component/theia/buildout.cfg
    +++ b/component/theia/buildout.cfg
    @@ -40,7 +40,7 @@ environment =
       PKG_CONFIG_PATH=${libsecret:location}/lib/pkgconfig:${libsecret:pkg_config_depends}
       LDFLAGS=-Wl,-rpath=${libsecret:location}/lib -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib -Wl,-rpath=${glib:location}/lib
       npm_config_tarball=${node-gyp-environment:npm_config_tarball}
    -  NODE_OPTIONS=--max_old_space_size=4096
    +  NODE_OPTIONS=--max_old_space_size=4096 --dns-result-order=ipv4first
     pre-configure =
       mkdir -p $TMPDIR
       echo '${package.json:content}' > %(location)s/package.json
  • we should try first without the workaround in order to assess what is the current status of IPv6, no ?

    The only problem I see is that it will create some traffic from inside re6st to outside re6st and use a bit more our gateways.

  • To be clear: I was not really thinking of committing this workaround, I just left this comment in case people experienced this problem. Of course, I did experience myself

Please register or sign in to reply
[nodejs-headers]
<= nodejs-headers-18.18.0
[node-gyp-environment]
# environment section to build with node-gyp.
# node-gyp downloads a tarball containing nodejs headers by default
# this uses a locally downloaded tarball, for reproductibility.
npm_config_tarball = ${nodejs-headers:target}
[nodejs-16.19.0] [nodejs-16.19.0]
<= nodejs-base <= nodejs-base
openssl_location = ${openssl:location} openssl_location = ${openssl:location}
...@@ -38,6 +50,18 @@ post-install = ...@@ -38,6 +50,18 @@ post-install =
version = v16.19.0 version = v16.19.0
md5sum = e7bfbf135ae54d1dcca63bf17be84818 md5sum = e7bfbf135ae54d1dcca63bf17be84818
[nodejs-18.18.0]
<= nodejs-base
openssl_location = ${openssl:location}
version = v18.18.0
md5sum = a1ce8df7e6b9df9f4ba3ff1d4e2173d2
[nodejs-headers-18.18.0]
<= nodejs-headers-base
version = v18.18.0
md5sum = c5ab3e98977dfd639d830625d79eff52
[nodejs-14.16.0] [nodejs-14.16.0]
<= nodejs-base <= nodejs-base
openssl_location = ${openssl:location} openssl_location = ${openssl:location}
...@@ -57,11 +81,6 @@ version = v8.9.4 ...@@ -57,11 +81,6 @@ version = v8.9.4
md5sum = 4ddc1daff327d7e6f63da57fdfc24f55 md5sum = 4ddc1daff327d7e6f63da57fdfc24f55
PATH = ${pkgconfig:location}/bin:${python2.7:location}/bin:%(PATH)s PATH = ${pkgconfig:location}/bin:${python2.7:location}/bin:%(PATH)s
[nodejs-8.6.0]
<= nodejs-base
version = v8.6.0
md5sum = 0c95e08220667d8a18b97ecec8218ac6
PATH = ${pkgconfig:location}/bin:${python2.7:location}/bin:%(PATH)s
[nodejs-8.12.0] [nodejs-8.12.0]
<= nodejs-base <= nodejs-base
......
...@@ -39,6 +39,7 @@ environment = ...@@ -39,6 +39,7 @@ environment =
PATH=${nodejs:location}/bin:${pkgconfig:location}/bin:${python3:location}/bin:%(PATH)s PATH=${nodejs:location}/bin:${pkgconfig:location}/bin:${python3:location}/bin:%(PATH)s
PKG_CONFIG_PATH=${libsecret:location}/lib/pkgconfig:${libsecret:pkg_config_depends} PKG_CONFIG_PATH=${libsecret:location}/lib/pkgconfig:${libsecret:pkg_config_depends}
LDFLAGS=-Wl,-rpath=${libsecret:location}/lib -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib -Wl,-rpath=${glib:location}/lib LDFLAGS=-Wl,-rpath=${libsecret:location}/lib -L${gettext:location}/lib -Wl,-rpath=${gettext:location}/lib -Wl,-rpath=${glib:location}/lib
npm_config_tarball=${node-gyp-environment:npm_config_tarball}
NODE_OPTIONS=--max_old_space_size=4096 NODE_OPTIONS=--max_old_space_size=4096
pre-configure = pre-configure =
mkdir -p $TMPDIR mkdir -p $TMPDIR
......
...@@ -43,8 +43,6 @@ parts = ...@@ -43,8 +43,6 @@ parts =
gcc gcc
unzip unzip
curl curl
nodejs
yarn
openssl openssl
python3 python3
nginx nginx
...@@ -57,6 +55,8 @@ parts = ...@@ -57,6 +55,8 @@ parts =
peertube-build peertube-build
instance-profile instance-profile
[nodejs]
<= nodejs-16.19.0
[peertube] [peertube]
recipe = slapos.recipe.build:download-unpacked recipe = slapos.recipe.build:download-unpacked
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment