Last active
April 24, 2019 09:20
-
-
Save rootux/12cf343688b4ac28b2e9ae5f06827856 to your computer and use it in GitHub Desktop.
Fixing imagemagick perl issue
This file contains 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
class Imagemagick < Formula | |
desc "Tools and libraries to manipulate images in many formats" | |
homepage "https://www.imagemagick.org/" | |
# Based on https://raw.githubusercontent.com/Homebrew/homebrew-core/6f014f2b7f1f9e618fd5c0ae9c93befea671f8be/Formula/imagemagick.rb | |
# 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" | |
head "http://git.imagemagick.org/repos/ImageMagick.git" | |
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-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 | |
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-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") | |
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 | |
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