133 lines
3.8 KiB
Ruby
133 lines
3.8 KiB
Ruby
# some credit to https://github.com/maddox/magick-installer
|
|
require 'formula'
|
|
|
|
class UnsafeSvn <SubversionDownloadStrategy
|
|
def _fetch_command svncommand, url, target
|
|
[svn, '--non-interactive', '--trust-server-cert', svncommand, '--force', url, target]
|
|
end
|
|
end
|
|
|
|
def ghostscript_srsly?
|
|
ARGV.include? '--with-ghostscript'
|
|
end
|
|
|
|
def ghostscript_fonts?
|
|
File.directory? "#{HOMEBREW_PREFIX}/share/ghostscript/fonts"
|
|
end
|
|
|
|
def use_wmf?
|
|
ARGV.include? '--use-wmf'
|
|
end
|
|
|
|
def use_lqr?
|
|
ARGV.include? '--use-lqr'
|
|
end
|
|
|
|
def disable_openmp?
|
|
ARGV.include? '--disable-openmp'
|
|
end
|
|
|
|
def magick_plus_plus?
|
|
ARGV.include? '--with-magick-plus-plus'
|
|
end
|
|
|
|
def x11?
|
|
# I used this file because old Xcode seems to lack it, and its that old
|
|
# Xcode that loads of people seem to have installed still
|
|
File.file? '/usr/X11/include/ft2build.h'
|
|
end
|
|
|
|
class Imagemagick <Formula
|
|
url 'https://www.imagemagick.org/subversion/ImageMagick/trunk',
|
|
:using => UnsafeSvn, :revision => '3445'
|
|
version '6.6.7-1'
|
|
homepage 'http://www.imagemagick.org'
|
|
|
|
head 'https://www.imagemagick.org/subversion/ImageMagick/trunk',
|
|
:using => UnsafeSvn
|
|
|
|
depends_on 'jpeg'
|
|
depends_on 'libpng' unless x11?
|
|
|
|
depends_on 'ghostscript' => :recommended if ghostscript_srsly? and x11?
|
|
|
|
depends_on 'libtiff' => :optional
|
|
depends_on 'little-cms' => :optional
|
|
depends_on 'jasper' => :optional
|
|
|
|
depends_on 'libwmf' if use_wmf?
|
|
depends_on 'liblqr' if use_lqr?
|
|
|
|
def skip_clean? path
|
|
path.extname == '.la'
|
|
end
|
|
|
|
def options
|
|
[
|
|
['--with-ghostscript', 'Compile against ghostscript (not recommended.)'],
|
|
['--use-wmf', 'Compile with libwmf support.'],
|
|
['--use-lqr', 'Compile with liblqr support.'],
|
|
['--disable-openmp', 'Disable OpenMP.'],
|
|
['--with-magick-plus-plus', 'Compile with C++ interface.']
|
|
]
|
|
end
|
|
|
|
def install
|
|
ENV.x11 # Add to PATH for freetype-config on Snow Leopard
|
|
ENV.O3 # takes forever otherwise
|
|
|
|
args = [ "--disable-osx-universal-binary",
|
|
"--without-perl", # I couldn't make this compile
|
|
"--prefix=#{prefix}",
|
|
"--disable-dependency-tracking",
|
|
"--enable-shared",
|
|
"--disable-static",
|
|
"--with-modules"]
|
|
|
|
args << "--disable-openmp" if MACOS_VERSION < 10.6 or disable_openmp?
|
|
args << "--without-gslib" unless ghostscript_srsly?
|
|
args << "--with-gs-font-dir=#{HOMEBREW_PREFIX}/share/ghostscript/fonts" \
|
|
unless ghostscript_srsly? or ghostscript_fonts?
|
|
args << "--without-magic-plus-plus" unless magick_plus_plus?
|
|
|
|
# versioned stuff in main tree is pointless for us
|
|
inreplace 'configure', '${PACKAGE_NAME}-${PACKAGE_VERSION}', '${PACKAGE_NAME}'
|
|
system "./configure", *args
|
|
system "make install"
|
|
|
|
# We already copy these into the keg root
|
|
%w[NEWS.txt LICENSE ChangeLog].each {|f| (share+"ImageMagick/#{f}").unlink}
|
|
end
|
|
|
|
def caveats
|
|
s = <<-EOS.undent
|
|
If you get "repository moved" errors, try deleting the folder:
|
|
~/Library/Caches/Homebrew/imagemagick--svn
|
|
|
|
Because ImageMagick likes to remove tarballs, we're downloading their
|
|
stable release from their SVN repo instead. But they only serve the
|
|
repo over HTTPS, and have an untrusted certificate, so we auto-accept
|
|
this certificate for you.
|
|
|
|
If this bothers you, open a ticket with ImageMagick to fix their cert.
|
|
|
|
EOS
|
|
unless x11?
|
|
s += <<-EOS.undent
|
|
You don't have X11 from the Xcode DMG installed. Consequently Imagemagick is less fully featured.
|
|
|
|
EOS
|
|
end
|
|
unless ghostscript_fonts? or ghostscript_srsly?
|
|
s += <<-EOS.undent
|
|
Some tools will complain if the ghostscript fonts are not installed in:
|
|
#{HOMEBREW_PREFIX}/share/ghostscript/fonts
|
|
EOS
|
|
end
|
|
return s
|
|
end
|
|
|
|
def test
|
|
system "identify", "/Library/Application Support/Apple/iChat Icons/Flags/Argentina.gif"
|
|
end
|
|
end
|