Files
MX_Pmodule/ccp4/build
T
duan_jandClaude Fable 5 273569c87e Add ccp4 module: vendor tarball, non-interactive BINARY.setup
Pre-agrees the CCP4 licence via .agree2ccp4v6 so BINARY.setup never
prompts. Download via urls: with unpacker: none (untar once into PREFIX,
BINARY.setup patches paths at final location). Build tmp and download
cache go to /das/work/p21/p21515/.cache/Pmodules through
~/.Pmodules/Pmodules.yaml (see README) since /var/tmp and the home quota
are too small for the ~5 GB tarball.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-18 19:44:06 +02:00

28 lines
1017 B
Python
Executable File

#!/usr/bin/env modbuild
# Download happens in the default prep via urls: in files/config.yaml.
# unpacker: none because BINARY.setup patches paths relative to its final
# location — we untar once, directly into $PREFIX, instead of unpacking
# ~20 GB into the build tmp and copying it over.
pbuild::configure() {
:
}
pbuild::compile() {
:
}
pbuild::install() {
cd "${PREFIX}"
tar -xzf "${SRC_DIR}/ccp4-${V}-shelx-arp-x86_64.tar.gz"
# Pre-agree the CCP4 licence so BINARY.setup skips its interactive prompt
# (downloading from ccp4.ac.uk already required accepting it). The printf
# answers any prompt a newer BINARY.setup might still ask; printf instead
# of `yes` because modbuild runs with pipefail and yes dies by SIGPIPE.
touch "${PREFIX}/.agree2ccp4v6" "${HOME}/.agree2ccp4v6"
printf 'y\ny\ny\n' | "./ccp4-${V_MAJOR}.${V_MINOR}/BINARY.setup"
# version-independent symlink so the modulefile survives 9.0.xxx updates
ln -sfn "ccp4-${V_MAJOR}.${V_MINOR}" ccp4
}