add adxv, imagemagick, and pymol-open-source
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
# ImageMagick
|
||||
|
||||
ImageMagick 7 image manipulation toolkit: `magick`, `convert`,
|
||||
`identify`, `mogrify`, `montage`, ... plus the MagickCore / MagickWand /
|
||||
Magick++ libraries.
|
||||
|
||||
- Upstream: https://imagemagick.org/ (source: https://github.com/ImageMagick/ImageMagick)
|
||||
- License: ImageMagick License (Apache-2.0 derived)
|
||||
|
||||
## How it is built
|
||||
|
||||
Standard autotools from the sha-pinned GitHub tag tarball; the default
|
||||
modbuild hooks do `./configure --prefix=$PREFIX && make && make install`.
|
||||
Built with the gcc/12.3.0 module (also a runtime dep — Magick++ needs
|
||||
its libstdc++ on RHEL8). Version keys are the full upstream tag
|
||||
(`7.1.2-30`), which the download URL uses as `${V}`.
|
||||
|
||||
Image-format delegates (PNG, JPEG, TIFF, ...) auto-enable from the
|
||||
`-devel` RPMs present on the build host. If a needed format is missing,
|
||||
install the RPM (e.g. `libpng-devel libjpeg-turbo-devel libtiff-devel`)
|
||||
and rebuild.
|
||||
|
||||
## Building on Ra
|
||||
|
||||
```sh
|
||||
module use unstable && module load modbuild/2.1.3
|
||||
cd ImageMagick
|
||||
modbuild build \
|
||||
--tmpdir=/das/work/p21/p21515/.cache/Pmodules \
|
||||
--distdir=/das/work/p21/p21515/.cache/Pmodules \
|
||||
7.1.2-30
|
||||
module use MX unstable && module load ImageMagick/7.1.2-30
|
||||
```
|
||||
|
||||
## Verifying the install
|
||||
|
||||
```sh
|
||||
which magick # -> /opt/psi/MX/ImageMagick/7.1.2-30/bin/magick
|
||||
magick -version # version + enabled features
|
||||
magick -list format | head # delegates that got enabled
|
||||
magick rose: /tmp/rose.png # end-to-end: writes a PNG (needs libpng delegate)
|
||||
```
|
||||
|
||||
## Adding a new version
|
||||
|
||||
Pick the tag from https://github.com/ImageMagick/ImageMagick/tags, add
|
||||
version + tarball sha256 in `files/config.yaml` (`sha256sum` the
|
||||
downloaded tag tarball), then build as above.
|
||||
Executable
+11
@@ -0,0 +1,11 @@
|
||||
#!/usr/bin/env modbuild
|
||||
|
||||
# Plain autotools build: default hooks run ./configure --prefix=$PREFIX,
|
||||
# make -j, make install. Delegates (png/jpeg/tiff/...) auto-enable from
|
||||
# whatever -devel RPMs exist on the build host; `magick -list format`
|
||||
# shows what got in.
|
||||
|
||||
pbuild::post_install() {
|
||||
# modbuild has no errexit in hooks - without this a failed make still installs the modulefile
|
||||
[[ -x "$PREFIX/bin/magick" ]] || std::die 42 "magick binary missing - configure/make failed above"
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
---
|
||||
format: 1
|
||||
ImageMagick:
|
||||
defaults:
|
||||
group: MX
|
||||
overlay: base
|
||||
relstage: unstable
|
||||
urls:
|
||||
# tag is the full version incl. patch release, e.g. 7.1.2-30 -> ${V}
|
||||
- url: https://github.com/ImageMagick/ImageMagick/archive/refs/tags/${V}.tar.gz
|
||||
name: ImageMagick-${V}.tar.gz
|
||||
strip_dirs: 1
|
||||
shasums:
|
||||
ImageMagick-7.1.2-30.tar.gz: 3034a64f22398e15ee3dd1e6b1aa83d838cfc47df1bb246ae0eca9590e6ace72
|
||||
versions:
|
||||
7.1.2-30:
|
||||
config:
|
||||
relstage: unstable
|
||||
# gcc also at runtime: Magick++ links gcc-12 libstdc++, newer than RHEL8 system one
|
||||
build_requires: [gcc/12.3.0]
|
||||
runtime_deps: [gcc/12.3.0]
|
||||
@@ -0,0 +1,18 @@
|
||||
#%Module1.0
|
||||
|
||||
module-whatis "ImageMagick - create, edit and convert bitmap images (magick, convert, ...)"
|
||||
module-url "https://imagemagick.org/"
|
||||
module-license "ImageMagick License (Apache-2.0 derived)"
|
||||
module-maintainer "MX Data <jiaxin.duan@psi.ch>"
|
||||
|
||||
module-help "
|
||||
ImageMagick 7 command-line tools (magick, convert, mogrify, identify,
|
||||
montage, ...) plus MagickCore/MagickWand/Magick++ libraries and
|
||||
pkg-config files. Enabled image formats depend on the -devel RPMs
|
||||
present at build time: check with `magick -list format`.
|
||||
"
|
||||
|
||||
prepend-path PATH $PREFIX/bin
|
||||
prepend-path LD_LIBRARY_PATH $PREFIX/lib
|
||||
prepend-path PKG_CONFIG_PATH $PREFIX/lib/pkgconfig
|
||||
prepend-path MANPATH $PREFIX/share/man
|
||||
Reference in New Issue
Block a user