Merge remote-tracking branch 'origin/build-crystfel'
This commit is contained in:
@@ -0,0 +1,46 @@
|
|||||||
|
# crystfel
|
||||||
|
|
||||||
|
Data processing for serial (femtosecond) crystallography at FELs and
|
||||||
|
synchrotrons: indexamajig, partialator, process_hkl, cell_explorer,
|
||||||
|
the CrystFEL GUI and friends.
|
||||||
|
|
||||||
|
- Upstream: https://www.desy.de/~twhite/crystfel/
|
||||||
|
- License: GPLv3
|
||||||
|
|
||||||
|
## How it is built
|
||||||
|
|
||||||
|
Source tarball from https://desy.de/~twhite/crystfel/ (sha256-verified),
|
||||||
|
built with meson per upstream INSTALL.md:
|
||||||
|
`meson setup build --prefix=$PREFIX && meson compile -C build && meson install -C build`.
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
```sh
|
||||||
|
module use unstable && module load modbuild/2.1.2
|
||||||
|
cd crystfel
|
||||||
|
modbuild build 0.13.0
|
||||||
|
module use MX unstable && module load crystfel/0.13.0 && indexamajig --version
|
||||||
|
```
|
||||||
|
|
||||||
|
## Verifying the install
|
||||||
|
|
||||||
|
```sh
|
||||||
|
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`, then on a Ra login node:
|
||||||
|
`modbuild build <version>` (modbuild/2.1.2).
|
||||||
Executable
+40
@@ -0,0 +1,40 @@
|
|||||||
|
#!/usr/bin/env modbuild
|
||||||
|
|
||||||
|
# upstream INSTALL.md: meson setup build && meson compile && meson install.
|
||||||
|
# default pbuild::prep downloads + sha-verifies + unpacks the tarball (urls/shasums
|
||||||
|
# in files/config.yaml, strip_dirs:1 puts the sources at $SRC_DIR root).
|
||||||
|
# need to install the latest meson > 0.60 at local/bin
|
||||||
|
# could be pip3 install --user meson
|
||||||
|
# cd lines can be deleted with compile_in_sourcetree being true
|
||||||
|
pbuild::configure() {
|
||||||
|
<<<<<<< Updated upstream
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
cd "${SRC_DIR}"
|
||||||
|
>>>>>>> fc35801 (use local meson, need to pip install meson > 0.60 at home folder)
|
||||||
|
=======
|
||||||
|
>>>>>>> Stashed changes
|
||||||
|
~/.local/bin/meson setup build --prefix="${PREFIX}"
|
||||||
|
}
|
||||||
|
|
||||||
|
pbuild::compile() {
|
||||||
|
<<<<<<< Updated upstream
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
cd "${SRC_DIR}"
|
||||||
|
>>>>>>> fc35801 (use local meson, need to pip install meson > 0.60 at home folder)
|
||||||
|
=======
|
||||||
|
>>>>>>> Stashed changes
|
||||||
|
~/.local/bin/meson compile -C build
|
||||||
|
}
|
||||||
|
|
||||||
|
pbuild::install() {
|
||||||
|
<<<<<<< Updated upstream
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
cd "${SRC_DIR}"
|
||||||
|
>>>>>>> fc35801 (use local meson, need to pip install meson > 0.60 at home folder)
|
||||||
|
=======
|
||||||
|
>>>>>>> Stashed changes
|
||||||
|
~/.local/bin/meson install -C build
|
||||||
|
}
|
||||||
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
format: 1
|
||||||
|
crystfel:
|
||||||
|
defaults:
|
||||||
|
compile_in_sourcetree: true
|
||||||
|
group: MX
|
||||||
|
overlay: base
|
||||||
|
relstage: unstable
|
||||||
|
urls:
|
||||||
|
- url: https://desy.de/~twhite/crystfel/crystfel-${V_PKG}.tar.gz
|
||||||
|
strip_dirs: 1
|
||||||
|
shasums:
|
||||||
|
crystfel-0.13.0.tar.gz: e85cfb5bc9112a56939a72fedb5b76d148244e3af7a02d3c20ecc018eb1e6905
|
||||||
|
versions:
|
||||||
|
0.13.0:
|
||||||
|
config:
|
||||||
|
relstage: unstable
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
#%Module1.0
|
||||||
|
|
||||||
|
module-whatis "CrystFEL - data processing for serial femtosecond crystallography"
|
||||||
|
module-url "https://www.desy.de/~twhite/crystfel/"
|
||||||
|
module-license "GPLv3"
|
||||||
|
module-maintainer "MX Data <jiaxin.duan@psi.ch>"
|
||||||
|
|
||||||
|
module-help "
|
||||||
|
CrystFEL: a suite of programs for processing (serial) crystallography
|
||||||
|
data from free-electron lasers and synchrotrons: indexamajig, partialator,
|
||||||
|
process_hkl, cell_explorer, the CrystFEL GUI and more.
|
||||||
|
"
|
||||||
|
|
||||||
|
prepend-path PATH $PREFIX/bin
|
||||||
Reference in New Issue
Block a user