diff --git a/xdsgui/README.md b/xdsgui/README.md new file mode 100644 index 0000000..1adc49c --- /dev/null +++ b/xdsgui/README.md @@ -0,0 +1,33 @@ +# xdsgui + +Graphical user interface for XDS data processing: visualizes control +images and statistics, helps with writing XDS.INP. + +- Upstream: https://wiki.uni-konstanz.de/xds/index.php/XDSGUI +- License: free of charge (see upstream) + +## How it is built + +Upstream ships a prebuilt, unversioned Linux binary at a fixed URL, so +the module version is the download date. `pbuild::install` wgets +`xdsgui` and the `generate_XDS.INP` helper script from +https://wiki.uni-konstanz.de/pub/linux_bin/ into `$PREFIX/bin` and +marks them executable. + +Loading the module puts `$PREFIX/bin` on `PATH` and auto-loads the +runtime dependencies `H5ToXds/1.1.0`, `xds/20260616` and +`autoPROC/20240710` (xdsgui calls xds and the helper tools). + +## Verifying the install + +```sh +module use MX unstable && module load xdsgui/ +which xdsgui generate_XDS.INP # both under .../xdsgui//bin +module list # H5ToXds, xds, autoPROC pulled in +xdsgui # on a node with X forwarding; GUI opens +``` + +## Adding a new version + +Add the new download date under `versions:` in `files/config.yaml`, +then on a Ra login node: `modbuild build ` (modbuild/2.1.2). diff --git a/xdsgui/build b/xdsgui/build new file mode 100755 index 0000000..b8ac76c --- /dev/null +++ b/xdsgui/build @@ -0,0 +1,22 @@ +#!/usr/bin/env modbuild + +pbuild::prep() { + : +} + +pbuild::configure() { + : +} + +pbuild::compile() { + : +} + +pbuild::install() { + # upstream ships unversioned binaries at fixed URLs; module version = download date + mkdir -p "${PREFIX}/bin" + cd "${PREFIX}/bin" + wget https://wiki.uni-konstanz.de/pub/linux_bin/xdsgui + wget https://wiki.uni-konstanz.de/pub/linux_bin/generate_XDS.INP + chmod a+x xdsgui generate_XDS.INP +} diff --git a/xdsgui/files/config.yaml b/xdsgui/files/config.yaml new file mode 100644 index 0000000..f26b675 --- /dev/null +++ b/xdsgui/files/config.yaml @@ -0,0 +1,15 @@ +--- +format: 1 +xdsgui: + defaults: + group: MX + overlay: base + relstage: unstable + versions: + 20260818: + config: + relstage: unstable + runtime_deps: + - H5ToXds/1.1.0 + - xds/20260616 + - autoPROC/20240710 diff --git a/xdsgui/modulefile b/xdsgui/modulefile new file mode 100644 index 0000000..5c050e8 --- /dev/null +++ b/xdsgui/modulefile @@ -0,0 +1,15 @@ +#%Module1.0 + +module-whatis "XDSGUI - graphical user interface for XDS data processing" +module-url "https://wiki.uni-konstanz.de/xds/index.php/XDSGUI" +module-license "free of charge (see module-url)" +module-maintainer "MX Data " + +module-help " +XDSGUI: a GUI for XDS that visualizes control images and statistics, +and helps beginners and experts with data processing. Also installs +the generate_XDS.INP helper script. Loading this module pulls in +H5ToXds, xds and autoPROC as runtime dependencies. +" + +prepend-path PATH $PREFIX/bin