brew install https://gist.githubusercontent.com/ledermann/0825a492abd2d465fc589be2f4e3bff1/raw/8b9f75ae8ff3caf9327cceea7518f1fd3a14b761/imagemagick.rb
Last active
January 12, 2017 06:22
-
-
Save ledermann/0825a492abd2d465fc589be2f4e3bff1 to your computer and use it in GitHub Desktop.
Install ImageMagick 6.9.7-3
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
require 'formula' | |
class Imagemagick < Formula | |
desc "Tools and libraries to manipulate images in many formats" | |
homepage "https://www.imagemagick.org/" | |
# Please always keep the Homebrew mirror as the primary URL as the | |
# ImageMagick site removes tarballs regularly which means we get issues | |
# unnecessarily and older versions of the formula are broken. | |
url "https://dl.bintray.com/homebrew/mirror/imagemagick-6.9.7-3.tar.xz" | |
mirror "https://www.imagemagick.org/download/ImageMagick-6.9.7-3.tar.xz" | |
sha256 "801767344b835b810a5f88c26f062f0fa01a97264dfe9bf5e5adf59a0b5c91a1" | |
bottle do | |
sha256 "9258c4fc88187040a23e8c62e451ef725eb504b721181eba4e6dda382884bf8e" => :sierra | |
sha256 "6bb941944b07a17da426a1fae986ef8b13ba091dd52728e2ed59adb19d5fcce0" => :el_capitan | |
sha256 "7246f8e60983e429ee088e8a3d2f2b3fb780c868cc5f5d3effff4146ddafe12e" => :yosemite | |
end | |
option "with-fftw", "Compile with FFTW support" | |
option "with-hdri", "Compile with HDRI support" | |
option "with-opencl", "Compile with OpenCL support" | |
option "with-openmp", "Compile with OpenMP support" | |
option "with-perl", "Compile with PerlMagick" | |
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 "without-magick-plus-plus", "disable build/install of Magick++" | |
option "without-modules", "Disable support for dynamically loadable modules" | |
option "without-threads", "Disable threads support" | |
option "with-zero-configuration", "Disables depending on XML configuration files" | |
deprecated_option "enable-hdri" => "with-hdri" | |
deprecated_option "with-jp2" => "with-openjpeg" | |
depends_on "pkg-config" => :build | |
depends_on "libtool" => :run | |
depends_on "xz" | |
depends_on "jpeg" => :recommended | |
depends_on "libpng" => :recommended | |
depends_on "libtiff" => :recommended | |
depends_on "freetype" => :recommended | |
depends_on :x11 => :optional | |
depends_on "fontconfig" => :optional | |
depends_on "little-cms" => :optional | |
depends_on "little-cms2" => :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 | |
depends_on "openjpeg" => :optional | |
depends_on "fftw" => :optional | |
depends_on "pango" => :optional | |
depends_on :perl => ["5.5", :optional] | |
needs :openmp if build.with? "openmp" | |
skip_clean :la | |
def install | |
args = %W[ | |
--disable-osx-universal-binary | |
--prefix=#{prefix} | |
--disable-dependency-tracking | |
--disable-silent-rules | |
--enable-shared | |
--enable-static | |
] | |
if build.without? "modules" | |
args << "--without-modules" | |
else | |
args << "--with-modules" | |
end | |
if build.with? "opencl" | |
args << "--enable-opencl" | |
else | |
args << "--disable-opencl" | |
end | |
if build.with? "openmp" | |
args << "--enable-openmp" | |
else | |
args << "--disable-openmp" | |
end | |
if build.with? "webp" | |
args << "--with-webp=yes" | |
else | |
args << "--without-webp" | |
end | |
if build.with? "openjpeg" | |
args << "--with-openjp2" | |
else | |
args << "--without-openjp2" | |
end | |
args << "--without-gslib" if build.without? "ghostscript" | |
args << "--with-perl" << "--with-perl-options='PREFIX=#{prefix}'" if build.with? "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.with? "hdri" | |
args << "--without-fftw" if build.without? "fftw" | |
args << "--without-pango" if build.without? "pango" | |
args << "--without-threads" if build.without? "threads" | |
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 << "--enable-zero-configuration" if build.with? "zero-configuration" | |
if build.with? "quantum-depth-32" | |
quantum_depth = 32 | |
elsif build.with?("quantum-depth-16") || build.with?("perl") | |
quantum_depth = 16 | |
elsif build.with? "quantum-depth-8" | |
quantum_depth = 8 | |
end | |
args << "--with-quantum-depth=#{quantum_depth}" if quantum_depth | |
# 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 may need to adjust your PERL5LIB variable: | |
export PERL5LIB="#{HOMEBREW_PREFIX}/lib/perl5/site_perl":$PERL5LIB | |
EOS | |
s if build.with? "perl" | |
end | |
test do | |
assert_match "PNG", shell_output("#{bin}/identify #{test_fixtures("test.png")}") | |
# Check support for recommended features and delegates. | |
features = shell_output("#{bin}/convert -version") | |
%w[Modules freetype jpeg png tiff].each do |feature| | |
assert_match feature, features | |
end | |
end | |
end |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment