Files

1.7 KiB

ImageMagick

ImageMagick 7 image manipulation toolkit: magick, convert, identify, mogrify, montage, ... plus the MagickCore / MagickWand / Magick++ libraries.

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

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

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.