Files
MX_Pmodule/crystfel
duan_jandClaude Fable 5.1 f01c903b03 crystfel: remove committed conflict markers, fetch from DESY GitLab
build had 18 merge-conflict marker lines committed in 6abd7ea, so bash
failed on every hook. Rewritten clean with cd + std::die guards (modbuild
has no errexit in hooks) and an indexamajig existence check after install.

desy.de/~twhite tarball URL hangs (curl: (28) timed out, 0 bytes) from Ra
and outside. Switched urls to the same release tag on gitlab.desy.de and
updated the sha256 for crystfel-0.13.0.tar.gz.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-26 17:57:10 +01:00
..

crystfel

Data processing for serial (femtosecond) crystallography at FELs and synchrotrons: indexamajig, partialator, process_hkl, cell_explorer, the CrystFEL GUI and friends.

How it is built

Source tarball of the release tag from DESY GitLab (https://gitlab.desy.de/thomas.white/crystfel/-/archive//crystfel-.tar.gz, sha256-verified). The upstream page https://desy.de/~twhite/crystfel/ hangs (curl: (28) Operation timed out ... 0 bytes received) from Ra and outside, so it is not used. Built with meson per upstream INSTALL.md: meson setup build --prefix=$PREFIX && meson compile -C build && meson install -C build.

meson >= 0.60 is required (meson.build) and the Ra system meson is too old: once per build user run pip3 install --user meson ninja; the build file calls ~/.local/bin/meson and dies with a hint if it is missing.

Upstream warns: do NOT have any conda environment active while building. Build-host prerequisites (meson, ninja, gcc, and the C libraries: hdf5, gsl, and optionally cairo/gdk-pixbuf/gtk for the GUI, fftw, zmq) must be available on the Ra build node -- add build_requires: entries in files/config.yaml if matching Ra modules are needed.

Loading the module puts $PREFIX/bin on PATH.

Building on Ra

module use unstable && module load modbuild/2.1.3
cd crystfel
modbuild build 0.13.0
module use MX unstable && module load crystfel/0.13.0 && indexamajig --version

Verifying the install

module use MX unstable && module load crystfel/0.13.0
which indexamajig
indexamajig --version
cell_explorer         # GUI check, needs X

Adding a new version

Add the version under versions: and its tarball sha256 under shasums: in files/config.yaml (fetch the GitLab archive URL above with the new tag and sha256sum it; tag names on GitLab match the release version, no v prefix), then on a Ra login node: modbuild build <version> (modbuild/2.1.3).