From a17e3d4a34d08e626ab6cca0a0bcbcb1353c8500 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 13 May 2022 15:12:58 +0200 Subject: [PATCH 1/8] node: Add version 16.15.0 'Gallium' (LTS) The current version is 17.x, but install the recommended 16.x series. [Change-log](https://github.com/nodejs/node/blob/master/doc/changelogs/CHANGELOG_V16.md#16.15.0) --- node-16.15.0-0.build.sh | 48 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100755 node-16.15.0-0.build.sh diff --git a/node-16.15.0-0.build.sh b/node-16.15.0-0.build.sh new file mode 100755 index 0000000..365f45e --- /dev/null +++ b/node-16.15.0-0.build.sh @@ -0,0 +1,48 @@ +#! /bin/bash + +PKG=node +VERSION=16.15.0 +BUILD=0 + +PREFIX=/pkg/$PKG-$VERSION-$BUILD +if [ -n "$TESTING" ]; then PREFIX=/dev/shm/$PKG-$VERSION-$BUILD ; fi + +set -xe +umask 022 + +BUILD_TMPDIR=/scratch/local2/$PKG-$VERSION-$BUILD.build.tmp +test -d $BUILD_TMPDIR && chmod -c -R u+rwx $BUILD_TMPDIR && rm -rf $BUILD_TMPDIR +mkdir -p $BUILD_TMPDIR/home +export TMPDIR=$BUILD_TMPDIR +export HOME=$BUILD_TMPDIR/home + +exec $PREFIX/profile <<-EOF + PATH=$PREFIX/bin:\$PATH +EOF +. $PREFIX/profile + +export MAKEFLAGS="-j $(nproc)" + +BUILDDIR=$PREFIX/build + +mkdir -p $BUILDDIR +cd $BUILDDIR + +# test -e ${PKG}-v${VERSION}.tar.gz || wget https://nodejs.org/dist/v${VERSION}/${PKG}-v${VERSION}.tar.gz +# wget https://nodejs.org/dist/v16.15.0/node-v16.15.0.tar.gz +test -e ${PKG}-v${VERSION}.tar.gz || wget https://beehive.molgen.mpg.de/1be414cdf553b0772e1048e03ffa741b/node-v16.15.0.tar.gz +test -d ${PKG}-v${VERSION} || tar xvf ${PKG}-v${VERSION}.tar.gz +cd ${PKG}-v${VERSION} +./configure \ + --prefix=$PREFIX +make +make install + +for i in `ls ${PREFIX}/bin`; do + ln -sv ${PREFIX}/bin/${i}{,-${VERSION}} +done + +exit From b571f453e9479916260048cda86bb3344dea9b31 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 13 May 2022 15:20:37 +0200 Subject: [PATCH 2/8] node-16.15.0-0: Support .compatlibs in profile --- node-16.15.0-0.build.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/node-16.15.0-0.build.sh b/node-16.15.0-0.build.sh index 365f45e..14bc200 100755 --- a/node-16.15.0-0.build.sh +++ b/node-16.15.0-0.build.sh @@ -21,6 +21,7 @@ exec $PREFIX/profile <<-EOF PATH=$PREFIX/bin:\$PATH + if [ -d $PREFIX/.compatlibs ]; then export LD_LIBRARY_PATH=$PREFIX/.compatlibs\${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH} ; fi EOF . $PREFIX/profile From ee007e781eafb5d129c69947321d1018a40bbc5a Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 13 May 2022 15:24:02 +0200 Subject: [PATCH 3/8] node-16.15.0-0: List files in shell instead of subprocess --- node-16.15.0-0.build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/node-16.15.0-0.build.sh b/node-16.15.0-0.build.sh index 14bc200..324d459 100755 --- a/node-16.15.0-0.build.sh +++ b/node-16.15.0-0.build.sh @@ -42,8 +42,8 @@ cd ${PKG}-v${VERSION} make make install -for i in `ls ${PREFIX}/bin`; do - ln -sv ${PREFIX}/bin/${i}{,-${VERSION}} +for i in ${PREFIX}/bin/*; do + ln -sv ${i}{,-${VERSION}} done exit From f8a8a1b85383b6cb3ca6537cf666262000fab137 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 13 May 2022 16:20:16 +0200 Subject: [PATCH 4/8] node-16.15.0-0: Remove curly brackets around variables, and quote file name --- node-16.15.0-0.build.sh | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/node-16.15.0-0.build.sh b/node-16.15.0-0.build.sh index 324d459..bf823a3 100755 --- a/node-16.15.0-0.build.sh +++ b/node-16.15.0-0.build.sh @@ -32,18 +32,18 @@ BUILDDIR=$PREFIX/build mkdir -p $BUILDDIR cd $BUILDDIR -# test -e ${PKG}-v${VERSION}.tar.gz || wget https://nodejs.org/dist/v${VERSION}/${PKG}-v${VERSION}.tar.gz +# test -e $PKG-v$VERSION.tar.gz || wget https://nodejs.org/dist/v$VERSION/$PKG-v$VERSION.tar.gz # wget https://nodejs.org/dist/v16.15.0/node-v16.15.0.tar.gz -test -e ${PKG}-v${VERSION}.tar.gz || wget https://beehive.molgen.mpg.de/1be414cdf553b0772e1048e03ffa741b/node-v16.15.0.tar.gz -test -d ${PKG}-v${VERSION} || tar xvf ${PKG}-v${VERSION}.tar.gz -cd ${PKG}-v${VERSION} +test -e $PKG-v$VERSION.tar.gz || wget https://beehive.molgen.mpg.de/1be414cdf553b0772e1048e03ffa741b/node-v16.15.0.tar.gz +test -d $PKG-v$VERSION || tar xvf $PKG-v$VERSION.tar.gz +cd $PKG-v$VERSION ./configure \ --prefix=$PREFIX make make install -for i in ${PREFIX}/bin/*; do - ln -sv ${i}{,-${VERSION}} +for i in $PREFIX/bin/*; do + ln -sv "$i"{,-$VERSION} done exit From edfb5db096bd70bf03969dfa982bf206d475a385 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Fri, 13 May 2022 16:24:57 +0200 Subject: [PATCH 5/8] node-16.15.0-0: Use GCC 11.1.0 Address the warning below by using the latest GCC available in MarIuX: WARNING: C++ compiler (CXX=g++, 7.5.0) too old, need g++ 8.3.0 or clang++ 8.0.0 WARNING: warnings were emitted in the configure phase --- node-16.15.0-0.build.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/node-16.15.0-0.build.sh b/node-16.15.0-0.build.sh index bf823a3..18a1657 100755 --- a/node-16.15.0-0.build.sh +++ b/node-16.15.0-0.build.sh @@ -32,6 +32,8 @@ BUILDDIR=$PREFIX/build mkdir -p $BUILDDIR cd $BUILDDIR +source /pkg/gcc-11.1.0-0/profile + # test -e $PKG-v$VERSION.tar.gz || wget https://nodejs.org/dist/v$VERSION/$PKG-v$VERSION.tar.gz # wget https://nodejs.org/dist/v16.15.0/node-v16.15.0.tar.gz test -e $PKG-v$VERSION.tar.gz || wget https://beehive.molgen.mpg.de/1be414cdf553b0772e1048e03ffa741b/node-v16.15.0.tar.gz From 9a23033bb4546666b93b98178e33e17bce1e4f4f Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Sat, 14 May 2022 01:08:55 +0200 Subject: [PATCH 6/8] node-16.15.0-0: Add gcc-11.1.0 libraries to `LD_LIBRARY_PATH` The profile currently does not set this. --- node-16.15.0-0.build.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/node-16.15.0-0.build.sh b/node-16.15.0-0.build.sh index 18a1657..f2c99e1 100755 --- a/node-16.15.0-0.build.sh +++ b/node-16.15.0-0.build.sh @@ -33,6 +33,7 @@ mkdir -p $BUILDDIR cd $BUILDDIR source /pkg/gcc-11.1.0-0/profile +export LD_LIBRARY_PATH=/pkg/gcc-11.1.0-0/lib64:/pkg/gcc-11.1.0-0/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} # test -e $PKG-v$VERSION.tar.gz || wget https://nodejs.org/dist/v$VERSION/$PKG-v$VERSION.tar.gz # wget https://nodejs.org/dist/v16.15.0/node-v16.15.0.tar.gz From dd61490a18c689113ca17cd0a74e438f85848ee2 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Sat, 14 May 2022 01:09:06 +0200 Subject: [PATCH 7/8] node-16.15.0-0: Enable corepack to get yarn --- node-16.15.0-0.build.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/node-16.15.0-0.build.sh b/node-16.15.0-0.build.sh index f2c99e1..49429ee 100755 --- a/node-16.15.0-0.build.sh +++ b/node-16.15.0-0.build.sh @@ -49,4 +49,6 @@ for i in $PREFIX/bin/*; do ln -sv "$i"{,-$VERSION} done +corepack enable + exit From 70b67e9049fc189d573aa68a6ead41d3a9aa24b2 Mon Sep 17 00:00:00 2001 From: Paul Menzel Date: Sat, 14 May 2022 01:10:32 +0200 Subject: [PATCH 8/8] node: Use LLVM 13.0.1 as its profile sets `LD_LIBRARY_PATH` The build currently fails with the GCC 11.1.0 package, [as its profile does not set `LD_LIBRARY_PATH`][1]. [1]: https://github.molgen.mpg.de/mariux64/pkg-scripts/issues/193 --- node-16.15.0-0.build.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/node-16.15.0-0.build.sh b/node-16.15.0-0.build.sh index 49429ee..470a9c5 100755 --- a/node-16.15.0-0.build.sh +++ b/node-16.15.0-0.build.sh @@ -21,6 +21,7 @@ exec $PREFIX/profile <<-EOF PATH=$PREFIX/bin:\$PATH + . /pkg/llvm-13.0.1-0/profile if [ -d $PREFIX/.compatlibs ]; then export LD_LIBRARY_PATH=$PREFIX/.compatlibs\${LD_LIBRARY_PATH:+:\$LD_LIBRARY_PATH} ; fi EOF . $PREFIX/profile @@ -32,8 +33,6 @@ BUILDDIR=$PREFIX/build mkdir -p $BUILDDIR cd $BUILDDIR -source /pkg/gcc-11.1.0-0/profile -export LD_LIBRARY_PATH=/pkg/gcc-11.1.0-0/lib64:/pkg/gcc-11.1.0-0/lib${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH} # test -e $PKG-v$VERSION.tar.gz || wget https://nodejs.org/dist/v$VERSION/$PKG-v$VERSION.tar.gz # wget https://nodejs.org/dist/v16.15.0/node-v16.15.0.tar.gz