Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
110 commits
Select commit Hold shift + click to select a range
63a968b
add JSON file + Python script to keep track of software licenses
boegel Nov 26, 2023
0421bae
add CI workflow to check specified software licenses
boegel Nov 26, 2023
f94430a
Replicated changes that were initially targetted at 2023.06-pilot repo
Dec 1, 2023
c06a7aa
Update nvidia_dir with new repo name
Dec 1, 2023
24a4ebc
Update link_nvidia_host_libraries.sh
ocaisa Dec 1, 2023
76ae987
do not use /dev/stdout
truib Dec 4, 2023
0768ae1
work around permission denied for writing to /dev/stdout
truib Dec 5, 2023
3ba0f24
{2023.06}[foss/2022b] Qt5 v5.15.7
Dec 12, 2023
aa572b5
added reference to pr:19339
Dec 12, 2023
7321ffe
Update eessi-2023.06-eb-4.8.2-2022b.yml
TopRichard Dec 17, 2023
c45f5ca
Add Boost-1.82.0-GCC-12.3.0.eb
Neves-P Dec 19, 2023
ec94fd6
Add netCDF-4.9.2-gompi-2023a.eb
Neves-P Dec 19, 2023
004351a
Add FFmpeg-6.0-GCCcore-12.3.0.eb
Neves-P Dec 19, 2023
b7872f2
Merge pull request #430 from Neves-P/2023.06-software.eessi.io-Boost
bedroge Dec 19, 2023
c2f516a
Merge branch '2023.06-software.eessi.io' into 2023.06-software.eessi.…
bedroge Dec 19, 2023
64914a8
Merge branch '2023.06-software.eessi.io' into 2023.06-software.eessi.…
bedroge Dec 19, 2023
27e96e8
Merge pull request #431 from Neves-P/2023.06-software.eessi.io-netCDF
bedroge Dec 19, 2023
dade8b2
Merge branch '2023.06-software.eessi.io' into 2023.06-software.eessi.…
bedroge Dec 19, 2023
c87714f
explicitly set/override EESSI_CPU_FAMILY based on EESSI_SOFTWARE_SUBD…
bedroge Dec 19, 2023
7e71f59
add the same check for the other check missing installations task
bedroge Dec 19, 2023
4267fe9
Merge pull request #433 from bedroge/fix_aarch64_ci
ocaisa Dec 19, 2023
4afc086
Merge branch '2023.06-software.eessi.io' of github.com:EESSI/software…
bedroge Dec 19, 2023
6f9a4b1
Merge pull request #432 from Neves-P/2023.06-software.eessi.io-FFmpeg
bedroge Dec 19, 2023
fcc7ddb
Also recreated lmodrc when it was changed in a PR
Dec 19, 2023
2b09d1c
Modified lmodrc to add CUDA support. It now checks if you load the CU…
Dec 19, 2023
62e70ba
Adapt created_lmodrc.py for the new domain
Dec 19, 2023
045c099
Add post_sanitycheck hook for CUDA in order to only ship the files we…
Dec 19, 2023
4a4c6e7
Add (the redistributable part of) CUDA to the softare stack
Dec 19, 2023
0346b22
Add CUDA-Samples to the build list
Dec 19, 2023
2b1054f
install_scripts.sh should install the scripts required to do install …
Dec 19, 2023
b144249
Merge pull request #422 from TopRichard/eessi-2023.06-QuantumESPRESSO…
bedroge Dec 19, 2023
cc7d0e4
Merge pull request #410 from casparvl/gpu_software_eessi_io
ocaisa Dec 19, 2023
5ec4c3b
Merge remote-tracking branch 'upstream/2023.06-software.eessi.io' int…
ocaisa Dec 20, 2023
5905e72
Tweak GPU support implementation
ocaisa Dec 20, 2023
73618a0
Add missing quotes on errors
ocaisa Dec 20, 2023
46727cb
Merge branch '2023.06-software.eessi.io' into cuda_cuda_samples_eessi_io
Dec 20, 2023
039921b
Merge branch 'cuda_cuda_samples_eessi_io' into cuda_cuda_samples_eess…
casparvl Dec 20, 2023
a4e8de7
Merge pull request #1 from ocaisa/cuda_cuda_samples_eessi_io
casparvl Dec 20, 2023
32925fe
Error messages now refer to the scripts that need to be run to instal…
Dec 20, 2023
94a2bfe
Merge branch 'cuda_cuda_samples_eessi_io' of github.com:casparvl/soft…
Dec 20, 2023
a33a0cd
make install_scripts a bit more verbose
boegel Dec 20, 2023
c7b380d
use separate easystack file for CUDA + control order in which easysta…
boegel Dec 20, 2023
f506566
copy EasyBuild log file in case CUDA installation failed in install_c…
boegel Dec 20, 2023
e3ddacc
add additional optional options required for handling NVIDIA support …
boegel Dec 20, 2023
16ddf7f
fix typo when passing --host-injections to container script
boegel Dec 20, 2023
35d6084
correctly pass --nv to singularity command
boegel Dec 20, 2023
fd97667
use quotes when adding --nv
boegel Dec 20, 2023
1917146
comment out running of link_nvidia_host_libraries.sh script, since it…
boegel Dec 20, 2023
f80f0fc
clean up post_sanitycheck_cuda hook and inject_gpu_property function …
boegel Dec 20, 2023
2d37842
remove empty line in eessi-2023.06-eb-4.8.2-2023a.yml
boegel Dec 20, 2023
f007c40
use easyconfigs PR 19451 for installing CUDA-Samples v12.1
boegel Dec 20, 2023
70fa0f9
Ship the scripts, and keep them in a single location
ocaisa Dec 20, 2023
db0c141
Update create_lmodrc.py
ocaisa Dec 21, 2023
293b107
Update create_tarball.sh
ocaisa Dec 21, 2023
1473142
Merge pull request #415 from trz42/fix_permission_denied
boegel Dec 21, 2023
73476b2
Only copy scripts if the contents differ
ocaisa Dec 21, 2023
a333a74
Remove temporary test directory
ocaisa Dec 21, 2023
43c73c0
Get rid of copy/paste unfriendly '.'
ocaisa Dec 21, 2023
3ec3df8
Update create_tarball.sh
ocaisa Dec 21, 2023
42e3404
always append to list of files to include in tarball, to avoid overwr…
boegel Dec 21, 2023
5c322b0
Merge pull request #434 from casparvl/cuda_cuda_samples_eessi_io
ocaisa Dec 21, 2023
60741ae
make link_nvidia_host_libraries.sh script a bit more robust, in case …
boegel Dec 21, 2023
5c248d1
Ensure that bot reports success if no EasyStacks were changed in a PR…
Dec 22, 2023
ac53cf0
Make the pedantic deploy step of the bot happy...
Dec 22, 2023
44b563c
Merge pull request #437 from boegel/2023.06-software.eessi.io_link_nv…
casparvl Dec 22, 2023
203cbd1
add ALL-0.9.2-foss-2023a.eb
bedroge Dec 23, 2023
61de6f2
Merge branch '2023.06-software.eessi.io' into ALL_0.9.2_2023a
bedroge Dec 23, 2023
10cd25b
Merge pull request #439 from bedroge/ALL_0.9.2_2023a
ocaisa Dec 23, 2023
b1daa12
{2023.06}[system] EasyBuild v4.9.0
boegel Jan 2, 2024
d299c74
don't include files in .lmod directory twice in tarball
boegel Jan 2, 2024
875bcf3
Merge pull request #441 from boegel/2023.06-software.eessi.io_fix-dup…
trz42 Jan 2, 2024
9b6c1ed
Merge pull request #440 from boegel/2023.06-software.eessi.io_easybui…
bedroge Jan 2, 2024
2d0d7e8
{2023.06} foss/2023b
boegel Jan 2, 2024
5c00615
update pre-configure hook for OpenBLAS to use -mtune=generic rather t…
boegel Jan 3, 2024
4805315
Merge pull request #442 from boegel/2023.06-software.eessi.io_2023b
bedroge Jan 4, 2024
4936618
add SciPy-bundle-2023.11-gfbf-2023b.eb
bedroge Jan 5, 2024
142a65b
also apply SciPy-bundle hook to version 2023.11
bedroge Jan 5, 2024
e838f3f
Merge pull request #443 from bedroge/SciPy-bundle-2023.11-gfbf-2023b
ocaisa Jan 6, 2024
f0deb14
Merge pull request #400 from boegel/2023.06-software.eessi.io_licenses
dagonzalezfo Jan 10, 2024
78466f5
Add OpenFOAM-11-foss-2023a
Neves-P Jan 10, 2024
f6ee972
{2023.06}[2022b] SciPy-bundle v2023.02
boegel Jan 10, 2024
838ceff
Use EasyBuildv4.9.0 for OpenFOAMv11 install
Neves-P Jan 12, 2024
b55efbf
add pre_single_extension_scipy hook to replace -mcpu=native with -mar…
boegel Jan 10, 2024
684abeb
{2023.06}[GCC/12.3.0] ReFrame v4.3.3
Jan 12, 2024
da6dc24
build numpy with -march=armv8.4-a instead of -mcpu=native (instead of…
boegel Jan 12, 2024
9943e35
update optarch build option to make sure that -march=armv8.4-a is use…
boegel Jan 13, 2024
c016da9
Merge pull request #446 from Neves-P/2023.06-software.eessi.io-OpenFO…
boegel Jan 13, 2024
258292c
{2023.06} Add ReFrame v4.3.3 to system easystack
Jan 15, 2024
847eb71
{2023.06} Add ReFrame v4.3.3 to system easystack eb v4.8.2
Jan 15, 2024
b16dc0a
{2023.06}[gompi/2023b] netCDF v4.9.2
Jan 15, 2024
937efa6
fix docstring in pre_single_extension_numpy hook
boegel Jan 15, 2024
29f4cff
Merge pull request #448 from boegel/2023.06-software.eessi.io_SciPy-b…
bedroge Jan 15, 2024
ea53cb7
Merge branch '2023.06-software.eessi.io' of gh-nessi:EESSI/software-l…
Jan 16, 2024
15c228b
added a hook for neoverse_v1 failing tests
Jan 16, 2024
90e2545
added eessi-2023.06-known-issues.yml
Jan 16, 2024
67e6a25
add at-spi2-core-2.49.91-GCCcore-12.3.0.eb
bedroge Jan 16, 2024
b49ce5d
add pre-configure hook for at-spi2-core
bedroge Jan 16, 2024
23aa7ce
split long line
bedroge Jan 16, 2024
75bf2de
fix syntax, remove )
bedroge Jan 16, 2024
9a1b4c8
add link to github issue
bedroge Jan 16, 2024
9944ab6
Update eb_hooks.py
TopRichard Jan 16, 2024
5577d24
{2023.06}[foss/2023a] ESPResSo v4.2.1
boegel Jan 16, 2024
7744c24
Merge pull request #454 from bedroge/at-spi2-core-2.49.91-GCCcore-12.3.0
boegel Jan 16, 2024
2e73141
Merge branch '2023.06-software.eessi.io' into 2023.06-software.eessi.…
boegel Jan 17, 2024
07a99b4
remove reframe v433 from eb v4.8.2
Jan 17, 2024
93ea42c
Merge pull request #455 from boegel/2023.06-software.eessi.io_ESPResS…
bedroge Jan 17, 2024
34f4c45
fix known issues YAML file for netCDF
boegel Jan 18, 2024
f695f6e
Merge pull request #450 from xinan1911/reframe433
boegel Jan 19, 2024
57acdea
Merge pull request #453 from TopRichard/eessi-2023.06-netCDF/4.9.2-go…
boegel Jan 19, 2024
fbe462f
solve merge conflict and move R bundle to 4.9.0 file
bedroge Jan 19, 2024
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
6 changes: 6 additions & 0 deletions .github/workflows/test-software.eessi.io.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,9 @@ jobs:
run: |
export EESSI_SOFTWARE_SUBDIR_OVERRIDE=${{matrix.EESSI_SOFTWARE_SUBDIR_OVERRIDE}}
source /cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}}/init/bash
# set $EESSI_CPU_FAMILY to the CPU architecture that corresponds to $EESSI_SOFTWARE_SUBDIR_OVERRIDE (part before the first slash),
# to prevent issues with checks in the Easybuild configuration that use this variable
export EESSI_CPU_FAMILY=${EESSI_SOFTWARE_SUBDIR_OVERRIDE%%/*}
module load EasyBuild
which eb
eb --version
Expand All @@ -53,6 +56,9 @@ jobs:
run: |
export EESSI_SOFTWARE_SUBDIR_OVERRIDE=${{matrix.EESSI_SOFTWARE_SUBDIR_OVERRIDE}}
source /cvmfs/software.eessi.io/versions/${{matrix.EESSI_VERSION}}/init/bash
# set $EESSI_CPU_FAMILY to the CPU architecture that corresponds to $EESSI_SOFTWARE_SUBDIR_OVERRIDE (part before the first slash),
# to prevent issues with checks in the Easybuild configuration that use this variable
export EESSI_CPU_FAMILY=${EESSI_SOFTWARE_SUBDIR_OVERRIDE%%/*}
module load EasyBuild
which eb
eb --version
Expand Down
20 changes: 20 additions & 0 deletions .github/workflows/test_licenses.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# documentation: https://help.github.com/en/articles/workflow-syntax-for-github-actions
name: Test software licenses
on: [push, pull_request]
permissions:
contents: read # to fetch code (actions/checkout)
jobs:
build:
runs-on: ubuntu-20.04
steps:
- name: Check out software-layer repository
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8 # v3.1.0

- name: set up Python
uses: actions/setup-python@13ae5bb136fac2878aff31522b9efb785519f984 # v4.3.0
with:
python-version: '3.9'

- name: Check software licenses
run: |
python licenses/spdx.py licenses/licenses.json
89 changes: 55 additions & 34 deletions EESSI-install-software.sh
Original file line number Diff line number Diff line change
Expand Up @@ -187,49 +187,70 @@ fi
# assume there's only one diff file that corresponds to the PR patch file
pr_diff=$(ls [0-9]*.diff | head -1)

# use PR patch file to determine in which easystack files stuff was added
for easystack_file in $(cat ${pr_diff} | grep '^+++' | cut -f2 -d' ' | sed 's@^[a-z]/@@g' | grep '^easystacks/.*yml$' | egrep -v 'known-issues|missing'); do

echo -e "Processing easystack file ${easystack_file}...\n\n"

# determine version of EasyBuild module to load based on EasyBuild version included in name of easystack file
eb_version=$(echo ${easystack_file} | sed 's/.*eb-\([0-9.]*\).*/\1/g')

# load EasyBuild module (will be installed if it's not available yet)
source ${TOPDIR}/load_easybuild_module.sh ${eb_version}
# install any additional required scripts
# order is important: these are needed to install a full CUDA SDK in host_injections
# for now, this just reinstalls all scripts. Note the most elegant, but works
${TOPDIR}/install_scripts.sh --prefix ${EESSI_PREFIX}

${EB} --show-config
# Install full CUDA SDK in host_injections
# Hardcode this for now, see if it works
# TODO: We should make a nice yaml and loop over all CUDA versions in that yaml to figure out what to install
${EESSI_PREFIX}/scripts/gpu_support/nvidia/install_cuda_host_injections.sh -c 12.1.1 --accept-cuda-eula

echo_green "All set, let's start installing some software with EasyBuild v${eb_version} in ${EASYBUILD_INSTALLPATH}..."
# Install drivers in host_injections
# TODO: this is commented out for now, because the script assumes that nvidia-smi is available and works;
# if not, an error is produced, and the bot flags the whole build as failed (even when not installing GPU software)
# ${EESSI_PREFIX}/scripts/gpu_support/nvidia/link_nvidia_host_libraries.sh

if [ -f ${easystack_file} ]; then
echo_green "Feeding easystack file ${easystack_file} to EasyBuild..."

${EB} --easystack ${TOPDIR}/${easystack_file} --robot
ec=$?

# copy EasyBuild log file if EasyBuild exited with an error
if [ ${ec} -ne 0 ]; then
eb_last_log=$(unset EB_VERBOSE; eb --last-log)
# copy to current working directory
cp -a ${eb_last_log} .
echo "Last EasyBuild log file copied from ${eb_last_log} to ${PWD}"
# copy to build logs dir (with context added)
copy_build_log "${eb_last_log}" "${build_logs_dir}"
# use PR patch file to determine in which easystack files stuff was added
changed_easystacks=$(cat ${pr_diff} | grep '^+++' | cut -f2 -d' ' | sed 's@^[a-z]/@@g' | grep '^easystacks/.*yml$' | egrep -v 'known-issues|missing')
if [ -z ${changed_easystacks} ]; then
echo "No missing installations, party time!" # Ensure the bot report success, as there was nothing to be build here
else
for easystack_file in ${changed_easystacks}; do

echo -e "Processing easystack file ${easystack_file}...\n\n"

# determine version of EasyBuild module to load based on EasyBuild version included in name of easystack file
eb_version=$(echo ${easystack_file} | sed 's/.*eb-\([0-9.]*\).*/\1/g')

# load EasyBuild module (will be installed if it's not available yet)
source ${TOPDIR}/load_easybuild_module.sh ${eb_version}

${EB} --show-config

echo_green "All set, let's start installing some software with EasyBuild v${eb_version} in ${EASYBUILD_INSTALLPATH}..."

if [ -f ${easystack_file} ]; then
echo_green "Feeding easystack file ${easystack_file} to EasyBuild..."

${EB} --easystack ${TOPDIR}/${easystack_file} --robot
ec=$?

# copy EasyBuild log file if EasyBuild exited with an error
if [ ${ec} -ne 0 ]; then
eb_last_log=$(unset EB_VERBOSE; eb --last-log)
# copy to current working directory
cp -a ${eb_last_log} .
echo "Last EasyBuild log file copied from ${eb_last_log} to ${PWD}"
# copy to build logs dir (with context added)
copy_build_log "${eb_last_log}" "${build_logs_dir}"
fi

$TOPDIR/check_missing_installations.sh ${TOPDIR}/${easystack_file}
else
fatal_error "Easystack file ${easystack_file} not found!"
fi

$TOPDIR/check_missing_installations.sh ${TOPDIR}/${easystack_file}
else
fatal_error "Easystack file ${easystack_file} not found!"
fi

done

done
fi

### add packages here

echo ">> Creating/updating Lmod cache..."
export LMOD_RC="${EASYBUILD_INSTALLPATH}/.lmod/lmodrc.lua"
if [ ! -f $LMOD_RC ]; then
lmodrc_changed=$(cat ${pr_diff} | grep '^+++' | cut -f2 -d' ' | sed 's@^[a-z]/@@g' | grep '^create_lmodrc.py$' > /dev/null; echo $?)
if [ ! -f $LMOD_RC ] || [ ${lmodrc_changed} == '0' ]; then
python3 $TOPDIR/create_lmodrc.py ${EASYBUILD_INSTALLPATH}
check_exit_code $? "$LMOD_RC created" "Failed to create $LMOD_RC"
fi
Expand Down
5 changes: 5 additions & 0 deletions bot/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -176,6 +176,11 @@ mkdir -p ${TARBALL_TMP_BUILD_STEP_DIR}
declare -a BUILD_STEP_ARGS=()
BUILD_STEP_ARGS+=("--save" "${TARBALL_TMP_BUILD_STEP_DIR}")
BUILD_STEP_ARGS+=("--storage" "${STORAGE}")
# add options required to handle NVIDIA support
BUILD_STEP_ARGS+=("--nvidia" "all")
if [[ ! -z ${SHARED_FS_PATH} ]]; then
BUILD_STEP_ARGS+=("--host-injections" "${SHARED_FS_PATH}/host-injections")
fi

# prepare arguments to install_software_layer.sh (specific to build step)
declare -a INSTALL_SCRIPT_ARGS=()
Expand Down
80 changes: 80 additions & 0 deletions create_lmodrc.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,85 @@
}
"""

GPU_LMOD_RC ="""require("strict")
local hook = require("Hook")
local open = io.open

local function read_file(path)
local file = open(path, "rb") -- r read mode and b binary mode
if not file then return nil end
local content = file:read "*a" -- *a or *all reads the whole file
file:close()
return content
end

local function cuda_enabled_load_hook(t)
local frameStk = require("FrameStk"):singleton()
local mt = frameStk:mt()
local simpleName = string.match(t.modFullName, "(.-)/")
-- If we try to load CUDA itself, check if the full CUDA SDK was installed on the host in host_injections.
-- This is required for end users to build additional CUDA software. If the full SDK isn't present, refuse
-- to load the CUDA module and print an informative message on how to set up GPU support for EESSI
local refer_to_docs = "For more information on how to do this, see https://www.eessi.io/docs/gpu/.\\n"
if simpleName == 'CUDA' then
-- get the full host_injections path
local hostInjections = string.gsub(os.getenv('EESSI_SOFTWARE_PATH') or "", 'versions', 'host_injections')
-- build final path where the CUDA software should be installed
local cudaEasyBuildDir = hostInjections .. "/software/" .. t.modFullName .. "/easybuild"
local cudaDirExists = isDir(cudaEasyBuildDir)
if not cudaDirExists then
local advice = "but while the module file exists, the actual software is not entirely shipped with EESSI "
advice = advice .. "due to licencing. You will need to install a full copy of the CUDA SDK where EESSI "
advice = advice .. "can find it.\\n"
advice = advice .. refer_to_docs
LmodError("\\nYou requested to load ", simpleName, " ", advice)
end
end
-- when loading CUDA enabled modules check if the necessary driver libraries are accessible to the EESSI linker,
-- otherwise, refuse to load the requested module and print error message
local haveGpu = mt:haveProperty(simpleName,"arch","gpu")
if haveGpu then
local arch = os.getenv("EESSI_CPU_FAMILY") or ""
local cudaVersionFile = "/cvmfs/software.eessi.io/host_injections/nvidia/" .. arch .. "/latest/cuda_version.txt"
local cudaDriverFile = "/cvmfs/software.eessi.io/host_injections/nvidia/" .. arch .. "/latest/libcuda.so"
local cudaDriverExists = isFile(cudaDriverFile)
local singularityCudaExists = isFile("/.singularity.d/libs/libcuda.so")
if not (cudaDriverExists or singularityCudaExists) then
local advice = "which relies on the CUDA runtime environment and driver libraries. "
advice = advice .. "In order to be able to use the module, you will need "
advice = advice .. "to make sure EESSI can find the GPU driver libraries on your host system.\\n"
advice = advice .. refer_to_docs
LmodError("\\nYou requested to load ", simpleName, " ", advice)
else
-- CUDA driver exists, now we check its version to see if an update is needed
if cudaDriverExists then
local cudaVersion = read_file(cudaVersionFile)
local cudaVersion_req = os.getenv("EESSICUDAVERSION")
-- driver CUDA versions don't give a patch version for CUDA
local major, minor = string.match(cudaVersion, "(%d+)%.(%d+)")
local major_req, minor_req, patch_req = string.match(cudaVersion_req, "(%d+)%.(%d+)%.(%d+)")
local driver_libs_need_update = false
if major < major_req then
driver_libs_need_update = true
elseif major == major_req then
if minor < minor_req then
driver_libs_need_update = true
end
end
if driver_libs_need_update == true then
local advice = "but the module you want to load requires CUDA " .. cudaVersion_req .. ". "
advice = advice .. "Please update your CUDA driver libraries and then "
advice = advice .. "let EESSI know about the update.\\n"
advice = advice .. refer_to_docs
LmodError("\\nYour driver CUDA version is ", cudaVersion, " ", advice)
end
end
end
end
end

hook.register("load", cuda_enabled_load_hook)
"""

def error(msg):
sys.stderr.write("ERROR: %s\n" % msg)
Expand All @@ -36,6 +115,7 @@ def error(msg):
'dot_lmod': DOT_LMOD,
'prefix': prefix,
}
lmodrc_txt += '\n' + GPU_LMOD_RC
try:
os.makedirs(os.path.dirname(lmodrc_path), exist_ok=True)
with open(lmodrc_path, 'w') as fp:
Expand Down
9 changes: 8 additions & 1 deletion create_tarball.sh
Original file line number Diff line number Diff line change
Expand Up @@ -43,8 +43,14 @@ module_files_list=${tmpdir}/module_files.list.txt
if [ -d ${eessi_version}/software/${os}/${cpu_arch_subdir}/.lmod ]; then
# include Lmod cache and configuration file (lmodrc.lua),
# skip whiteout files and backup copies of Lmod cache (spiderT.old.*)
find ${eessi_version}/software/${os}/${cpu_arch_subdir}/.lmod -type f | egrep -v '/\.wh\.|spiderT.old' > ${files_list}
find ${eessi_version}/software/${os}/${cpu_arch_subdir}/.lmod -type f | egrep -v '/\.wh\.|spiderT.old' >> ${files_list}
fi

# include scripts that were copied by install_scripts.sh, which we want to ship in EESSI repository
if [ -d ${eessi_version}/scripts ]; then
find ${eessi_version}/scripts -type f | grep -v '/\.wh\.' >> ${files_list}
fi

if [ -d ${eessi_version}/software/${os}/${cpu_arch_subdir}/modules ]; then
# module files
find ${eessi_version}/software/${os}/${cpu_arch_subdir}/modules -type f | grep -v '/\.wh\.' >> ${files_list}
Expand All @@ -55,6 +61,7 @@ if [ -d ${eessi_version}/software/${os}/${cpu_arch_subdir}/modules ]; then
| grep -v '/\.wh\.' | grep -v '/\.modulerc\.lua' | sed -e 's/.lua$//' | sed -e 's@.*/modules/all/@@g' | sort -u \
>> ${module_files_list}
fi

if [ -d ${eessi_version}/software/${os}/${cpu_arch_subdir}/software -a -r ${module_files_list} ]; then
# installation directories but only those for which module files were created
# Note, we assume that module names (as defined by 'PACKAGE_NAME/VERSION.lua'
Expand Down
7 changes: 7 additions & 0 deletions easystacks/software.eessi.io/2023.06/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
File naming matters, since it determines the order in which easystack files are processed.

Software installed with system toolchain should be installed first,
this includes EasyBuild itself, see `eessi-2023.06-eb-4.8.2-001-system.yml` .

CUDA installations must be done before CUDA is required as dependency for something
built with a non-system toolchain, see `eessi-2023.06-eb-4.8.2-010-CUDA.yml` .
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
easyconfigs:
- CUDA-12.1.1.eb:
options:
include-easyblocks-from-pr: 3045
accept-eula-for: CUDA
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
easyconfigs:
- foss-2022b.eb
- HarfBuzz-5.3.1-GCCcore-12.2.0.eb:
options:
from-pr: 19339
- Qt5-5.15.7-GCCcore-12.2.0.eb
Original file line number Diff line number Diff line change
Expand Up @@ -32,14 +32,17 @@ easyconfigs:
- R-4.3.2-gfbf-2023a.eb:
options:
from-pr: 19185
- MPFR-4.2.0-GCCcore-12.3.0.eb:
options:
from-pr: 19438
- LERC-4.0.0-GCCcore-12.3.0.eb:
# avoid RPATH-related sanity check errors by compiling LERC's test binary in postinstallcmds;
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/19386
options:
from-pr: 19386
- R-bundle-CRAN-2023.12-foss-2023a.eb:
options:
from-pr: 19170
- Boost-1.82.0-GCC-12.3.0.eb
- netCDF-4.9.2-gompi-2023a.eb
- FFmpeg-6.0-GCCcore-12.3.0.eb
- CUDA-Samples-12.1-GCC-12.3.0-CUDA-12.1.1.eb:
# use easyconfig that only install subset of CUDA samples,
# to circumvent problem with nvcc linking to glibc of host OS,
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/19189;
# and where additional samples are excluded because they fail to build on aarch64,
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/19451;
options:
from-pr: 19451
- ALL-0.9.2-foss-2023a.eb:
options:
from-pr: 19455
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
easyconfigs:
- EasyBuild-4.9.0.eb:
options:
from-pr: 19464
- ReFrame-4.3.3.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
easyconfigs:
- SciPy-bundle-2023.02-gfbf-2022b.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
easyconfigs:
- OpenFOAM-11-foss-2023a.eb:
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/19545
options:
from-pr: 19545
- at-spi2-core-2.49.91-GCCcore-12.3.0.eb
- ESPResSo-4.2.1-foss-2023a.eb:
# see https://github.com/easybuilders/easybuild-easyconfigs/pull/19592
options:
from-pr: 19592
- R-bundle-CRAN-2023.12-foss-2023a.eb
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
easyconfigs:
- GCC-13.2.0.eb
- foss-2023b.eb
- SciPy-bundle-2023.11-gfbf-2023b.eb
- netCDF-4.9.2-gompi-2023b.eb:
options:
from-pr: 19534
Loading