Bootstrap: library From: default/alpine:3.14.0 %post # Install dependencies apk add --no-cache bash apd add --no-cache --virtual .build-deps gpg curl # Make our lives easier by declaring some constants export JULIA_GPG="3673DF529D9049477F76B37566E3C7DC03D6E495" export JULIA_VERSION="1.6.2" export JULIA_PATH=/usr/local/julia export PATH=$JULIA_PATH/bin:$PATH export tarArch='x86_64' export dirArch='x64' export sha256='5ff279bc733a99a9582fd9b39eb3d18a3fa77b9d3d2733039279a250c8c5d49c' # Download Julia export folder="$(echo "$JULIA_VERSION" | cut -d. -f1-2)" curl -fL -o julia.tar.gz.asc "https://julialang-s3.julialang.org/bin/musl/${dirArch}/${folder}/julia-${JULIA_VERSION}-linux-${tarArch}.tar.gz.asc" curl -fL -o julia.tar.gz "https://julialang-s3.julialang.org/bin/musl/${dirArch}/${folder}/julia-${JULIA_VERSION}-linux-${tarArch}.tar.gz" # Security check step 1: verify via sha256 echo "${sha256} *julia.tar.gz" | sha256sum -c - # Security check step 2: verify via GPG export GNUPGHOME="$(mktemp -d)" gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$JULIA_GPG" gpg --batch --verify julia.tar.gz.asc julia.tar.gz command -v gpgconf > /dev/null && gpgconf --kill all rm -rf "$GNUPGHOME" julia.tar.gz.asc # Extract Julia mkdir "$JULIA_PATH" tar -xzf julia.tar.gz -C "$JULIA_PATH" --strip-components 1 rm julia.tar.gz # Cleanup build dependencies apk del --no-cache .build-deps %environment export JULIA_PATH=/usr/local/julia export PATH=$JULIA_PATH/bin:$PATH %test cat << "EOF" > /tmp/singularity-test.sh #!/bin/bash CMDS=('bash' 'ps' 'julia') for CMD in "${CMDS[@]}"; do if ! command -v "$CMD"; then echo "command $CMD not found!" FAILED_TESTS=1 fi done # Abort if a test failed if [ -n "$FAILED_TESTS" ]; then exit 1 fi EOF chmod +x /tmp/singularity-test.sh bash /tmp/singularity-test.sh %runscript julia "$@" %labels Author 25492070+MillironX@users.noreply.github.com SoftwareVersion v1.6.2 SingularityDefinitionVersion 1 %help Julia ===== Julia is a high-level dynamic programming language designed to address the needs of high-performance numerical analysis and computational science. It provides a sophisticated compiler, distributed parallel execution, numerical accuracy, and an extensive mathematical function library. Source: GitHub () For more help, see - - -