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