Skip to content

Commit

Permalink
Merge pull request #262 from mariux64/add-nextflow-23.10.0-1
Browse files Browse the repository at this point in the history
nextflow: rebuild version 23.10.0
  • Loading branch information
thomas authored Nov 2, 2023
2 parents 0bf5efe + a559a78 commit 61bd592
Showing 1 changed file with 98 additions and 0 deletions.
98 changes: 98 additions & 0 deletions nextflow-23.10.0-1.build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,98 @@
#! /bin/bash

set -e
umask 022

PKG=nextflow
VERSION=23.10.0
BUILD=1
JDK=/pkg/openjdk-21.0.0.35-0

PREFIX=/pkg/$PKG-$VERSION-$BUILD
if [ -n "$TESTING" ]; then PREFIX=/scratch/local2/$USER/$PKG-$VERSION-$BUILD ; fi

mkdir -p $PREFIX
cat >$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

BUILD_TMPDIR=/scratch/local2/$PKG-$VERSION-$BUILD-$USER.build.tmp
test -d $BUILD_TMPDIR && rm -r $BUILD_TMPDIR
export TMPDIR=$BUILD_TMPDIR
export HOME=$BUILD_TMPDIR/home
mkdir -p $HOME

BUILDDIR=$PREFIX/build
mkdir -p $BUILDDIR

cd $BUILDDIR

source $JDK/profile

# the '-all' file is a zip archive ...
# orig: https://github.com/nextflow-io/nextflow/releases/download/v23.10.0/nextflow-23.10.0-all
BEEHIVE=https://beehive.molgen.mpg.de/b1ece372a2c4db0c57a204d5a6175eb9/nextflow-23.10.0-all
test -e nextflow-$VERSION-all || wget -nv $BEEHIVE

# effect: this extracts to $HOME/.nextflow/capsule/apps/nextflow-all_'version'
bash nextflow-$VERSION-all info

# 'install' jars under $PREFIX/lib
cd $PREFIX
rm -fr bin lib
mkdir bin lib
# get rid of '.lock', '.extracted'
rm -v $HOME/.nextflow/capsule/apps/nextflow-all_$VERSION/.[a-z]*
mv $HOME/.nextflow/capsule/apps/nextflow-all_$VERSION lib


# create a straightforward launcher

# Reflection, and migrating from Java-8 upwards:
# [... use] --add-opens to open a package, which makes all its types and members accessible

cat <<- LAUNCHER > bin/nextflow
#! /usr/bin/bash
NXF_PLUGINS_MODE=${NXF_PLUGINS_MODE:-prod}
export NXF_PLUGINS_MODE
NXF_PLUGINS_DIR=\${NXF_PLUGINS_DIR:-\$HOME/.nextflow/plugins}
mkdir -vp "\$NXF_PLUGINS_DIR"
export NXF_PLUGINS_DIR
NF_XTMPDIR=\${NF_XTMPDIR:-/scratch/local2/\$USER/nextflow_tmp}
mkdir -vp "\$NF_XTMPDIR"
exec $JDK/bin/java \\
--add-opens=java.base/java.lang=ALL-UNNAMED \\
--add-opens=java.base/java.io=ALL-UNNAMED \\
--add-opens=java.base/java.nio=ALL-UNNAMED \\
--add-opens=java.base/java.net=ALL-UNNAMED \\
--add-opens=java.base/java.util=ALL-UNNAMED \\
--add-opens=java.base/java.util.concurrent.locks=ALL-UNNAMED \\
--add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED \\
--add-opens=java.base/java.nio.file.spi=ALL-UNNAMED \\
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED \\
--add-opens=java.base/sun.nio.fs=ALL-UNNAMED \\
--add-opens=java.base/sun.net.www.protocol.http=ALL-UNNAMED \\
--add-opens=java.base/sun.net.www.protocol.https=ALL-UNNAMED \\
--add-opens=java.base/sun.net.www.protocol.ftp=ALL-UNNAMED \\
--add-opens=java.base/sun.net.www.protocol.file=ALL-UNNAMED \\
--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED \\
--add-opens=java.base/java.util.regex=ALL-UNNAMED \\
\\
-Djava.io.tmpdir="\$NF_XTMPDIR" \\
-Dfile.encoding=UTF-8 \\
-Djava.awt.headless=true \\
-Dcom.sun.security.enableAIAcaIssuers=true \\
-classpath '$PREFIX/lib/nextflow-all_$VERSION/*' \\
nextflow.cli.Launcher \\
"\${@+\$@}"
LAUNCHER

chmod -c +x bin/nextflow

exit

0 comments on commit 61bd592

Please sign in to comment.