122 lines
5 KiB
Ruby
122 lines
5 KiB
Ruby
require 'formula'
|
|
|
|
def ghostscript_srsly?
|
|
build.include? 'with-ghostscript'
|
|
end
|
|
|
|
def ghostscript_fonts?
|
|
File.directory? "#{HOMEBREW_PREFIX}/share/ghostscript/fonts"
|
|
end
|
|
|
|
class Imagemagick < Formula
|
|
homepage 'http://www.imagemagick.org'
|
|
|
|
# upstream's stable tarballs tend to disappear, so we provide our own mirror
|
|
# Tarball from: http://www.imagemagick.org/download/ImageMagick.tar.gz
|
|
# SHA-256 from: http://www.imagemagick.org/download/digest.rdf
|
|
url 'http://downloads.sf.net/project/machomebrew/mirror/ImageMagick-6.8.0-10.tar.gz'
|
|
sha256 'b3dfcb44300f73e73ffa8deef8bba4cf43f03d7150bf1fd0febedceac1a45c7e'
|
|
|
|
head 'https://www.imagemagick.org/subversion/ImageMagick/trunk',
|
|
:using => UnsafeSubversionDownloadStrategy
|
|
|
|
option 'with-ghostscript', 'Compile against ghostscript (not recommended.)'
|
|
option 'use-tiff', 'Compile with libtiff support.'
|
|
option 'use-cms', 'Compile with little-cms support.'
|
|
option 'use-jpeg2000', 'Compile with jasper support.'
|
|
option 'use-wmf', 'Compile with libwmf support.'
|
|
option 'use-rsvg', 'Compile with librsvg support.'
|
|
option 'use-lqr', 'Compile with liblqr support.'
|
|
option 'use-exr', 'Compile with openexr support.'
|
|
option 'enable-openmp', 'Enable OpenMP (not supported on Leopard or with Clang).'
|
|
option 'disable-opencl', 'Disable OpenCL.'
|
|
option 'enable-hdri', 'Compile with HDRI support enabled'
|
|
option 'without-magick-plus-plus', "Don't compile C++ interface."
|
|
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-x', 'Compile with X11 support.'
|
|
option 'with-fontconfig', 'Compile with fontconfig support.'
|
|
option 'without-freetype', 'Compile without freetype support.'
|
|
|
|
depends_on 'pkg-config' => :build
|
|
|
|
depends_on 'jpeg' => :recommended
|
|
depends_on :libpng
|
|
depends_on :libtool
|
|
depends_on :x11 if build.include? 'with-x'
|
|
# Can't use => with symbol deps
|
|
depends_on :fontconfig if build.include? 'with-fontconfig' or MacOS::X11.installed? # => :optional
|
|
depends_on :freetype unless build.include? 'without-freetype' and not MacOS::X11.installed? # => :recommended
|
|
|
|
depends_on 'ghostscript' => :optional if ghostscript_srsly?
|
|
|
|
depends_on 'libtiff' => :optional if build.include? 'use-tiff'
|
|
depends_on 'little-cms' => :optional if build.include? 'use-cms'
|
|
depends_on 'jasper' => :optional if build.include? 'use-jpeg2000'
|
|
depends_on 'libwmf' => :optional if build.include? 'use-wmf'
|
|
depends_on 'librsvg' => :optional if build.include? 'use-rsvg'
|
|
depends_on 'liblqr' => :optional if build.include? 'use-lqr'
|
|
depends_on 'openexr' => :optional if build.include? 'use-exr'
|
|
|
|
bottle do
|
|
sha1 '543ce5bf72c3897f25b54523a5c3de355a84ff44' => :mountainlion
|
|
sha1 '1966734b73b2cf77f47e639fe7ae48603dec15bd' => :lion
|
|
sha1 '1068830a71fb1f990d8fcb06495693eaeb4edafc' => :snowleopard
|
|
end
|
|
|
|
skip_clean :la
|
|
|
|
def install
|
|
args = [ "--disable-osx-universal-binary",
|
|
"--without-perl", # I couldn't make this compile
|
|
"--prefix=#{prefix}",
|
|
"--disable-dependency-tracking",
|
|
"--enable-shared",
|
|
"--disable-static",
|
|
"--without-pango",
|
|
"--with-included-ltdl",
|
|
"--with-modules"]
|
|
|
|
args << "--disable-openmp" unless build.include? 'enable-openmp'
|
|
args << "--disable-opencl" if build.include? 'disable-opencl'
|
|
args << "--without-gslib" unless build.include? 'with-ghostscript'
|
|
args << "--with-gs-font-dir=#{HOMEBREW_PREFIX}/share/ghostscript/fonts" \
|
|
unless ghostscript_srsly? or ghostscript_fonts?
|
|
args << "--without-magick-plus-plus" if build.include? 'without-magick-plus-plus'
|
|
args << "--enable-hdri=yes" if build.include? 'enable-hdri'
|
|
|
|
if build.include? 'with-quantum-depth-32'
|
|
quantum_depth = 32
|
|
elsif build.include? 'with-quantum-depth-16'
|
|
quantum_depth = 16
|
|
elsif build.include? 'with-quantum-depth-8'
|
|
quantum_depth = 8
|
|
end
|
|
|
|
args << "--with-quantum-depth=#{quantum_depth}" if quantum_depth
|
|
args << "--with-rsvg" if build.include? 'use-rsvg'
|
|
args << "--without-x" unless build.include? 'with-x'
|
|
args << "--with-fontconfig=yes" if build.include? 'with-fontconfig' or MacOS::X11.installed?
|
|
args << "--with-freetype=yes" unless build.include? 'without-freetype' and not MacOS::X11.installed?
|
|
|
|
# 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
|
|
unless ghostscript_fonts? or ghostscript_srsly?
|
|
<<-EOS.undent
|
|
Some tools will complain unless the ghostscript fonts are installed to:
|
|
#{HOMEBREW_PREFIX}/share/ghostscript/fonts
|
|
EOS
|
|
end
|
|
end
|
|
|
|
def test
|
|
system "#{bin}/identify", \
|
|
"/System/Library/Frameworks/SecurityInterface.framework/Versions/A/Resources/Key_Large.png"
|
|
end
|
|
end
|