From a9c84530f86ab6d31218a28a1c976d1bacd7a365 Mon Sep 17 00:00:00 2001 From: Dawn Date: Tue, 1 Sep 2026 10:56:37 +0200 Subject: [PATCH] update pymol-open-source --- pymol-open-source/README.md | 12 ++++++++---- pymol-open-source/build | 10 ++++++---- 2 files changed, 14 insertions(+), 8 deletions(-) diff --git a/pymol-open-source/README.md b/pymol-open-source/README.md index f091915..39e08d4 100644 --- a/pymol-open-source/README.md +++ b/pymol-open-source/README.md @@ -20,9 +20,12 @@ Build options passed as `uv pip install -C k=v` (upstream `_custom_build/backend.py` turns them into `build_ext --k=v`): - `use-msgpackc=no` — no msgpack-c/mmtf-cpp on Ra; disables fast MMTF load -- `no-libxml=yes` — disables COLLADA export -- `no-vmd-plugins=no` — disables VMD molfile plugins (needs libnetcdf). - `no` is correct: upstream stores the value straight into `vmd_plugins`. +- `no-libxml=true` — disables COLLADA export +- `no-vmd-plugins=false` — disables VMD molfile plugins (needs libnetcdf). + `false` is correct: upstream stores the value straight into `vmd_plugins`. + +Boolean flags take ONLY `true`/`false` — upstream `str2bool` rejects +`yes`/`no` with "Boolean value expected". Required system RPMs on the build host (if the compile fails, ask sysadmins for): `glew-devel libpng-devel freetype-devel mesa-libGL-devel`. @@ -46,7 +49,8 @@ module use MX unstable && module load pymol-open-source/3.1.0 ```sh which pymol # -> .../pymol-open-source/3.1.0/venv/bin/pymol -readlink -f "$PYMOL_ENV/bin/python" # must resolve inside the module PREFIX +readlink -f "$PYMOL_ENV/bin/python" # system /usr/bin/python3.12 (RPM) is fine; + # inside $PREFIX/python if uv had to download one pymol -cq # headless no-op: exits 0 without X pymol # Qt GUI check, needs X ``` diff --git a/pymol-open-source/build b/pymol-open-source/build index 3a5ef8d..f8ec693 100755 --- a/pymol-open-source/build +++ b/pymol-open-source/build @@ -16,9 +16,10 @@ pbuild::configure() { export UV_PYTHON_INSTALL_DIR="$PREFIX/python" "$UV" venv --python 3.12 "$PREFIX/venv" || std::die 42 "uv venv failed - is uv at \$UV?" - # stage glm where setup.py's PREFIX_PATH lookup expects it: /include/glm + # stage glm where setup.py's PREFIX_PATH lookup expects it: /include/glm. + # strip_dirs applies to the glm tarball too, so headers land at $SRC_DIR/glm directly mkdir -p "$SRC_DIR/deps/include" - cp -r "$SRC_DIR/glm-1.0.1/glm" "$SRC_DIR/deps/include/" || \ + cp -r "$SRC_DIR/glm" "$SRC_DIR/deps/include/" || \ std::die 42 "glm staging failed - glm tarball missing from SRC_DIR?" } @@ -33,9 +34,10 @@ pbuild::install() { export CC=gcc CXX=g++ export PREFIX_PATH="$SRC_DIR/deps" # -C k=v reaches setup.py as `build_ext --k=v` (_custom_build/backend.py). - # no-vmd-plugins=no is deliberate: upstream dest is vmd_plugins, so `no` disables them. + # str2bool accepts ONLY true/false (yes/no -> "Boolean value expected"). + # no-vmd-plugins=false is deliberate: upstream dest is vmd_plugins, false disables them. "$UV" pip install --python "$PREFIX/venv/bin/python" \ - -C use-msgpackc=no -C no-libxml=yes -C no-vmd-plugins=no \ + -C use-msgpackc=no -C no-libxml=true -C no-vmd-plugins=false \ "$SRC_DIR" || \ std::die 42 "pymol build failed - check system devel RPMs (glew, libpng, freetype, mesa-libGL)" # Qt GUI; without it pymol falls back to CLI-only