1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
  | 
# 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
  |