Skip to content

nexflow: add version 22.10.0 to support older DSL1 #289

Merged
merged 1 commit into from
Jun 5, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
102 changes: 102 additions & 0 deletions nextflow-22.10.0-0.build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,102 @@
#! /bin/bash

set -e
umask 022

PKG=nextflow
VERSION=22.10.0
BUILD=0
JDK=/pkg/openjdk-17.0.2.8-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
export NXF_HOME=$HOME/.nextflow.$VERSION

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/v22.10.0/nextflow-22.10.0-all
BEEHIVE=https://beehive.molgen.mpg.de/cc90e1fdc41eed849a15894f4e9a2b9f/nextflow-$VERSION-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.$VERSION/capsule/apps/nextflow-all_$VERSION/.[a-z]*
mv $HOME/.nextflow.$VERSION/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

if [ -z "\$NXF_HOME" ]; then
export NXF_HOME=\$HOME/.nextflow.$VERSION
fi
NXF_PLUGINS_MODE=${NXF_PLUGINS_MODE:-prod}
export NXF_PLUGINS_MODE
NXF_PLUGINS_DIR=\${NXF_PLUGINS_DIR:-\$NXF_HOME/plugins}
mkdir -vp "\$NXF_PLUGINS_DIR"
export NXF_PLUGINS_DIR

NF_XTMPDIR=\${NF_XTMPDIR:-/scratch/local2/\$USER/nextflow.${VERSION}_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