Skip to content

Instantly share code, notes, and snippets.

@jagdeepsingh
Last active August 29, 2022 05:34
Show Gist options
  • Save jagdeepsingh/4b03cbeab16cc0bc729bbc6d275402d3 to your computer and use it in GitHub Desktop.
Save jagdeepsingh/4b03cbeab16cc0bc729bbc6d275402d3 to your computer and use it in GitHub Desktop.
imagemagick

Install ImageMagick 6.7.7-10

$ brew install https://gist.githubusercontent.com/JagdeepSingh/4b03cbeab16cc0bc729bbc6d275402d3/raw/d8a0aaa484b833ed0c3a072e1d6a6d6bc87b19dd/imagemagick.rb
require 'formula'
class Imagemagick < Formula
homepage 'http://www.imagemagick.org'
url 'http://www.imagemagick.org/download/releases/ImageMagick-6.7.7-10.tar.xz'
sha256 '85b0f9afe122c52a821001976a4f54ae011bb3d94a87b97e3112e515185731ad'
head 'https://www.imagemagick.org/subversion/ImageMagick/trunk',
:using => UnsafeSubversionDownloadStrategy
option 'with-quantum-depth-8', 'Compile with a quantum depth of 8 bit'
option 'with-quantum-depth-16', 'Compile with a quantum depth of 16 bit'
option 'with-quantum-depth-32', 'Compile with a quantum depth of 32 bit'
option 'with-perl', 'enable build/install of PerlMagick'
option 'without-magick-plus-plus', 'disable build/install of Magick++'
depends_on "libtool" => :run
depends_on 'pkg-config' => :build
depends_on 'jpeg' => :recommended
depends_on 'libpng' => :recommended
depends_on 'freetype' => :recommended
depends_on :x11 => :optional
depends_on 'fontconfig' => :optional
depends_on 'libtiff' => :optional
depends_on 'little-cms' => :optional
depends_on 'little-cms2' => :optional
depends_on 'jasper' => :optional
depends_on 'libwmf' => :optional
depends_on 'librsvg' => :optional
depends_on 'liblqr' => :optional
depends_on 'openexr' => :optional
depends_on 'ghostscript' => :optional
depends_on 'webp' => :optional
opoo '--with-ghostscript is not recommended' if build.with? 'ghostscript'
skip_clean :la
def install
args = [ "--disable-osx-universal-binary",
"--prefix=#{prefix}",
"--disable-dependency-tracking",
"--enable-shared",
"--disable-static",
"--without-pango",
"--with-modules",
"--disable-openmp"]
args << "--disable-opencl" if build.include? 'disable-opencl'
args << "--without-gslib" if build.without? 'ghostscript'
args << "--without-perl" if build.without? 'perl'
args << "--with-gs-font-dir=#{HOMEBREW_PREFIX}/share/ghostscript/fonts" if build.without? 'ghostscript'
args << "--without-magick-plus-plus" if build.without? 'magick-plus-plus'
args << "--enable-hdri=yes" if build.include? 'enable-hdri'
if build.with? 'quantum-depth-32'
quantum_depth = 32
elsif build.with? 'quantum-depth-16'
quantum_depth = 16
elsif build.with? 'quantum-depth-8'
quantum_depth = 8
end
args << "--with-quantum-depth=#{quantum_depth}" if quantum_depth
args << "--with-rsvg" if build.with? 'librsvg'
args << "--without-x" if build.without? 'x11'
args << "--with-fontconfig=yes" if build.with? 'fontconfig'
args << "--with-freetype=yes" if build.with? 'freetype'
args << "--with-webp=yes" if build.include? 'webp'
# versioned stuff in main tree is pointless for us
inreplace 'configure', '${PACKAGE_NAME}-${PACKAGE_VERSION}', '${PACKAGE_NAME}'
system "./configure", *args
system "make install"
end
def caveats
s = <<-EOS.undent
For full Perl support you must install the Image::Magick module from the CPAN.
https://metacpan.org/module/Image::Magick
The version of the Perl module and ImageMagick itself need to be kept in sync.
If you upgrade one, you must upgrade the other.
For this version of ImageMagick you should install
version #{version} of the Image::Magick Perl module.
EOS
s if build.with? 'perl'
end
test do
system "#{bin}/identify", "/usr/share/doc/cups/images/cups.png"
end
end
@robd
Copy link

robd commented Mar 14, 2017

👍 Works for me - thanks!

@jakubfiala
Copy link

very helpful, thanks!

@ahmadhasankhan
Copy link

Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
==> Updated Formulae
arangodb

######################################################################## 100.0%
######################################################################## 100.0%
Error: imagemagick: uninitialized constant #<Class:0x00007ffac6ef5c90>::UnsafeSubversionDownloadStrategy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment