Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/slyfox1186/imagemagick-build-script
A smart build script for Imagemagick and its additional modules. Automatically locates the latest code available each time the script is run.
https://github.com/slyfox1186/imagemagick-build-script
Last synced: about 2 months ago
JSON representation
A smart build script for Imagemagick and its additional modules. Automatically locates the latest code available each time the script is run.
- Host: GitHub
- URL: https://github.com/slyfox1186/imagemagick-build-script
- Owner: slyfox1186
- License: gpl-3.0
- Created: 2024-01-14T16:44:02.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2024-10-10T14:08:38.000Z (2 months ago)
- Last Synced: 2024-10-11T02:29:08.171Z (2 months ago)
- Language: Shell
- Size: 392 KB
- Stars: 1
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# imagemagick-build-script
A smart build script for Imagemagick and its additional modules. Automatically locates the latest code available each time the script is run.### To install ImageMagick use one of the below methods
#### Git Clone
```bash
git clone https://github.com/slyfox1186/imagemagick-build-script.git
cd imagemagick-build-script
sudo bash build-magick.sh
```#### Output
```
-------------------------------
| |
| ImageMagick Build Script v1.1 |
| |
-------------------------------Installing required APT packages
==========================================
[INFO] No missing packages to install or all missing packages are unavailable.Building magick-libs - version 7.1.1-29
==========================================
$ alien -d ./magick-libs-7.1.1-29.rpm
$ dpkg -i ./imagemagick-libs_7.1.1-30_amd64.debBuilding m4 - version latest
==========================================
Downloading "https://ftp.gnu.org/gnu/m4/m4-latest.tar.xz" saving as "m4-latest.tar.xz"
Download Completed
File extracted: m4-latest.tar.xz$ ./configure --prefix=/home/jman/tmp/magick-build-script/workspace --disable-nls --enable-c++ --enable-threads=posix
$ make -j32
$ make installBuilding autoconf - version latest
==========================================
Downloading "http://ftp.gnu.org/gnu/autoconf/autoconf-latest.tar.xz" saving as "autoconf-latest.tar.xz"
Download Completed
File extracted: autoconf-latest.tar.xz$ autoreconf -fi
$ ./configure --prefix=/home/jman/tmp/magick-build-script/workspace M4=/home/jman/tmp/magick-build-script/workspace/bin/m4
$ make -j32
$ make installBuilding libtool - version 2.4.7
==========================================
Downloading "https://ftp.gnu.org/gnu/libtool/libtool-2.4.7.tar.xz" saving as "libtool-2.4.7.tar.xz"
Download Completed
File extracted: libtool-2.4.7.tar.xz$ ./configure --prefix=/home/jman/tmp/magick-build-script/workspace --with-pic M4=/home/jman/tmp/magick-build-script/workspace/bin/m4
$ make -j32
$ make installBuilding pkg-config - version 0.29.2
==========================================
Downloading "https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz" saving as "pkg-config-0.29.2.tar.gz"
Download Completed
File extracted: pkg-config-0.29.2.tar.gz$ autoconf
$ ./configure --prefix=/home/jman/tmp/magick-build-script/workspace --with-pc-path=/home/jman/tmp/magick-build-script/workspace/lib64/pkgconfig:/home/jman/tmp/magick-build-script/workspace/lib/x86_64-linux-gnu/pkgconfig:/home/jman/tmp/magick-build-script/workspace/lib/pkgconfig:/home/jman/tmp/magick-build-script/workspace/share/pkgconfig:/usr/local/lib64/pkgconfig:/usr/local/lib/x86_64-linux-gnu/pkgconfig:/usr/local/lib/pkgconfig:/usr/local/share/pkgconfig:/usr/lib64/pkgconfig:/usr/lib/pkgconfig:/usr/lib/x86_64-linux-gnu/pkgconfig:/usr/share/pkgconfig:/lib64/pkgconfig:/lib/x86_64-linux-gnu/pkgconfig:/lib/pkgconfig CFLAGS=-I/home/jman/tmp/magick-build-script/workspace/include LDFLAGS=-L/home/jman/tmp/magick-build-script/workspace/lib64 -L/home/jman/tmp/magick-build-script/workspace/lib
$ make -j32
$ make installBuilding zlib - version 1.3.1
==========================================
Downloading "https://github.com/madler/zlib/releases/download/v1.3.1/zlib-1.3.1.tar.gz" saving as "zlib-1.3.1.tar.gz"
Download Completed
File extracted: zlib-1.3.1.tar.gz$ ./configure --prefix=/home/jman/tmp/magick-build-script/workspace
$ make -j32
$ make installBuilding libtiff - version 4.6.0
==========================================
Downloading "https://codeload.github.com/libsdl-org/libtiff/tar.gz/refs/tags/v4.6.0" saving as "libtiff-4.6.0.tar.gz"
Download Completed
File extracted: libtiff-4.6.0.tar.gz$ ./autogen.sh
$ ./configure --prefix=/home/jman/tmp/magick-build-script/workspace --enable-cxx --with-pic
$ make -j32
$ make installBuilding jpeg-turbo-git - version 575eddd
==========================================
Cloning completed: 575eddd
$ cmake -S . -DCMAKE_INSTALL_PREFIX=/home/jman/tmp/magick-build-script/workspace -DCMAKE_BUILD_TYPE=Release -DENABLE_SHARED=ON -DENABLE_STATIC=ON -G Ninja -Wno-dev
$ ninja -j32
$ ninja -j32 installBuilding libfpx-git - version 9b547af
==========================================
Cloning completed: 9b547af
$ autoreconf -fi
$ ./configure --prefix=/home/jman/tmp/magick-build-script/workspace --with-pic
$ make -j32
$ make installBuilding ghostscript - version gs10021
==========================================
Downloading "https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10021/ghostscript-10.02.1.tar.xz" saving as "ghostscript-10.02.1.tar.xz"
Download Completed
File extracted: ghostscript-10.02.1.tar.xz$ ./autogen.sh
$ ./configure --prefix=/home/jman/tmp/magick-build-script/workspace --with-libiconv=native
$ make -j32
$ make installBuilding libpng - version 1.6.43
==========================================
Downloading "https://github.com/pnggroup/libpng/archive/refs/tags/v1.6.43.tar.gz" saving as "libpng-1.6.43.tar.gz"
Download Completed
File extracted: libpng-1.6.43.tar.gz$ autoreconf -fi
$ ./configure --prefix=/home/jman/tmp/magick-build-script/workspace --with-pic
$ make -j32
$ make installBuilding libwebp-git - version 1.3.2
==========================================
Cloning completed: 1.3.2
$ autoreconf -fi
$ cmake -B build -DCMAKE_INSTALL_PREFIX=/home/jman/tmp/magick-build-script/workspace -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DZLIB_INCLUDE_DIR=/home/jman/tmp/magick-build-script/workspace/include -DWEBP_BUILD_ANIM_UTILS=OFF -DWEBP_BUILD_CWEBP=ON -DWEBP_BUILD_DWEBP=ON -DWEBP_BUILD_EXTRAS=OFF -DWEBP_BUILD_VWEBP=OFF -DWEBP_ENABLE_SWAP_16BIT_CSP=OFF -DWEBP_LINK_STATIC=ON -G Ninja -Wno-dev
$ ninja -j32 -C build
$ ninja -C build installBuilding freetype - version 2.13.2
==========================================
Downloading "https://gitlab.freedesktop.org/freetype/freetype/-/archive/VER-2-13-2/freetype-VER-2-13-2.tar.bz2" saving as "freetype-2.13.2.tar.bz2"
Download Completed
File extracted: freetype-2.13.2.tar.bz2$ ./autogen.sh
$ meson setup build --prefix=/home/jman/tmp/magick-build-script/workspace --buildtype=release --default-library=static --strip -Dharfbuzz=disabled -Dpng=disabled -Dbzip2=disabled -Dbrotli=disabled -Dzlib=disabled -Dtests=disabled
$ ninja -j32 -C build
$ ninja -C build installBuilding libxml2 - version 2.12.0
==========================================
Downloading "https://gitlab.gnome.org/GNOME/libxml2/-/archive/v2.12.0/libxml2-v2.12.0.tar.bz2" saving as "libxml2-2.12.0.tar.bz2"
Download Completed
File extracted: libxml2-2.12.0.tar.bz2$ ./autogen.sh
$ cmake -B build -DCMAKE_INSTALL_PREFIX=/home/jman/tmp/magick-build-script/workspace -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -G Ninja -Wno-dev
$ ninja -j32 -C build
$ ninja -C build installBuilding fontconfig - version 2.15.0
==========================================
Downloading "https://gitlab.freedesktop.org/fontconfig/fontconfig/-/archive/2.15.0/fontconfig-2.15.0.tar.bz2" saving as "fontconfig-2.15.0.tar.bz2"
Download Completed
File extracted: fontconfig-2.15.0.tar.bz2$ ./autogen.sh --noconf
$ ./configure --prefix=/home/jman/tmp/magick-build-script/workspace --disable-docbook --disable-docs --disable-shared --disable-nls --enable-iconv --enable-libxml2 --enable-static --with-arch=x86_64 --with-libiconv-prefix=/usr --with-pic
$ make -j32
$ make installBuilding c2man-git - version 577ed40
==========================================
Cloning completed: 577ed40
$ ./Configure -desO -D bin=/home/jman/tmp/magick-build-script/workspace/bin -D cc=/usr/bin/cc -D d_gnu=/usr/lib/x86_64-linux-gnu -D gcc=/usr/bin/gcc -D installmansrc=/home/jman/tmp/magick-build-script/workspace/share/man -D ldflags=-L/home/jman/tmp/magick-build-script/workspace/lib -DLIBXML_STATIC -D libpth=/usr/lib64 /usr/lib /lib64 /lib -D locincpth=/home/jman/tmp/magick-build-script/workspace/include /usr/local/include /usr/include -D loclibpth=/home/jman/tmp/magick-build-script/workspace/lib64 /home/jman/tmp/magick-build-script/workspace/lib /usr/local/lib64 /usr/local/lib -D osname=Debian -D prefix=/home/jman/tmp/magick-build-script/workspace -D privlib=/home/jman/tmp/magick-build-script/workspace/lib/c2man -D privlibexp=/home/jman/tmp/magick-build-script/workspace/lib/c2man
$ make depend
$ make -j32
$ make installBuilding fribidi - version 1.0.13
==========================================
Downloading "https://github.com/fribidi/fribidi/archive/refs/tags/v1.0.13.tar.gz" saving as "fribidi-1.0.13.tar.gz"
Download Completed
File extracted: fribidi-1.0.13.tar.gz$ autoreconf -fi
$ meson setup build --prefix=/home/jman/tmp/magick-build-script/workspace --buildtype=release --default-library=static --strip -Ddocs=false -Dtests=false
$ ninja -j32 -C build
$ ninja -C build installBuilding harfbuzz - version 8.3.0
==========================================
Downloading "https://github.com/harfbuzz/harfbuzz/archive/refs/tags/8.3.0.tar.gz" saving as "harfbuzz-8.3.0.tar.gz"
Download Completed
File extracted: harfbuzz-8.3.0.tar.gz$ ./autogen.sh
$ meson setup build --prefix=/home/jman/tmp/magick-build-script/workspace --buildtype=release --default-library=static --strip -Dbenchmark=disabled -Dcairo=disabled -Ddocs=disabled -Dglib=disabled -Dgobject=disabled -Dicu=disabled -Dintrospection=disabled -Dtests=disabled
$ ninja -j32 -C build
$ ninja -C build installBuilding raqm - version 0.10.1
==========================================
Downloading "https://codeload.github.com/host-oman/libraqm/tar.gz/refs/tags/v0.10.1" saving as "raqm-0.10.1.tar.gz"
Download Completed
File extracted: raqm-0.10.1.tar.gz$ meson setup build --prefix=/home/jman/tmp/magick-build-script/workspace --includedir=/home/jman/tmp/magick-build-script/workspace/include --buildtype=release --default-library=static --strip -Ddocs=false
$ ninja -j32 -C build
$ ninja -C build installBuilding jemalloc - version 5.3.0
==========================================
Downloading "https://github.com/jemalloc/jemalloc/archive/refs/tags/5.3.0.tar.gz" saving as "jemalloc-5.3.0.tar.gz"
Download Completed
File extracted: jemalloc-5.3.0.tar.gz$ ./autogen.sh
$ ./configure --prefix=/home/jman/tmp/magick-build-script/workspace --disable-debug --disable-doc --disable-fill --disable-log --disable-prof --disable-stats --enable-autogen --enable-static --enable-xmalloc CFLAGS=-fPIC
$ make -j32
$ make installBuilding opencl-sdk-git - version 5.3.0
==========================================
Cloning completed: 2023.12.14
$ cmake -S . -B build -DCMAKE_INSTALL_PREFIX=/home/jman/tmp/magick-build-script/workspace -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF -DBUILD_DOCS=OFF -DBUILD_EXAMPLES=OFF -DOPENCL_SDK_BUILD_SAMPLES=OFF -DOPENCL_SDK_TEST_SAMPLES=OFF -DCMAKE_C_FLAGS=-g -O3 -march=native -DNOLIBTOOL -DCMAKE_CXX_FLAGS=-g -O3 -march=native -DOPENCL_HEADERS_BUILD_CXX_TESTS=OFF -DOPENCL_ICD_LOADER_BUILD_SHARED_LIBS=ON -DOPENCL_SDK_BUILD_OPENGL_SAMPLES=OFF -DOPENCL_SDK_BUILD_SAMPLES=OFF -DOPENCL_SDK_TEST_SAMPLES=OFF -DTHREADS_PREFER_PTHREAD_FLAG=ON -G Ninja -Wno-dev
$ ninja -j32 -C build
$ ninja -C build installBuilding openjpeg - version 2.5.2
==========================================
Downloading "https://codeload.github.com/uclouvain/openjpeg/tar.gz/refs/tags/v2.5.2" saving as "openjpeg-2.5.2.tar.gz"
Download Completed
File extracted: openjpeg-2.5.2.tar.gz$ cmake -B build -DCMAKE_INSTALL_PREFIX=/home/jman/tmp/magick-build-script/workspace -DCMAKE_BUILD_TYPE=Release -DCMAKE_POSITION_INDEPENDENT_CODE=TRUE -DBUILD_SHARED_LIBS=ON -DBUILD_TESTING=OFF -DBUILD_THIRDPARTY=ON -G Ninja -Wno-dev
$ ninja -j32 -C build
$ ninja -C build installBuilding lcms2 - version 2.16
==========================================
Downloading "https://github.com/mm2/Little-CMS/archive/refs/tags/lcms2.16.tar.gz" saving as "lcms2-2.16.tar.gz"
Download Completed
File extracted: lcms2-2.16.tar.gz$ ./autogen.sh
$ ./configure --prefix=/home/jman/tmp/magick-build-script/workspace --with-pic --with-threaded
$ make -j32
$ make installBuilding dejavu-fonts-git - version 9b5d1b2
==========================================
Cloning completed: 9b5d1b2
$ ln -sf /home/jman/tmp/magick-build-script/packages/fontconfig-2.15.0/fc-lang resources/fc-lang
$ make -j32 full-ttf-------------------
| |
| Build ImageMagick |
| |
-------------------Building imagemagick-git - version 7.1.1-29
==========================================
Cloning completed: 7.1.1-29
$ autoreconf -fi
$ ../configure --prefix=/usr/local --enable-ccmalloc --enable-delegate-build --enable-hdri --enable-hugepages --enable-legacy-support --enable-opencl --with-dejavu-font-dir=/usr/share/fonts/truetype/dejavu --with-dmalloc --with-fontpath=/usr/share/fonts --with-fpx --with-gslib --with-gvc --with-heic --with-jemalloc --with-modules --with-perl --with-pic --with-pkgconfigdir=/home/jman/tmp/magick-build-script/workspace/lib/pkgconfig --with-png --with-quantum-depth=16 --with-rsvg --with-tcmalloc --with-urw-base35-font-dir=/usr/share/fonts/type1/urw-base35 --with-utilities --without-autotrace CFLAGS=-g -O3 -march=native -DNOLIBTOOL -DCL_TARGET_OPENCL_VERSION=300
$ make -j32
$ make install[INFO] ImageMagick's new version is:
Version: ImageMagick 7.1.1-30 (Beta) Q16-HDRI x86_64 53bbd00:20240302 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenCL OpenMP(4.5) TCMalloc
Delegates (built-in): bzlib cairo djvu fontconfig freetype gslib heic jbig jng jp2 jpeg jxl lcms lqr ltdl lzma openexr png ps raqm raw rsvg tiff webp wmf x xml zlib zstd
Compiler: gcc (12.2)========================================================
Do you want to clean up the build files?
========================================================[1] Yes
[2] NoYour choices are (1 or 2):
```