bf7a82e66d
Specify dependencies in your formula's deps function. You can return an Array, String or Hash, eg: def deps { :optional => 'libogg', :required => %w[flac sdl], :recommended => 'cmake' } end Note currently the Hash is flattened and qualifications are ignored. If you only return an Array or String, the qualification is assumed to be :required. Other packaging systems have problems when it comes to packages requiring a specific version of a package, or some patches that may not work well with other software. With Homebrew we have some options: 1. If the formula is vanilla but an older version we can cherry-pick the old version and install it in the Cellar in parallel, but just not symlink it into /usr/local while forcing the formula that depends on it to link to that one and not any other versions of it. 2. If the dependency requires patches then we shouldn't install this for use by any other tools, (I guess this needs to be decided on a per-situation basis). It can be installed into the parent formula's prefix, and not symlinked into /usr/local. In this case the dependency's Formula derivation should be saved in the parent formula's file (check git or flac for an example of this). Both the above can be done currently with hacks, so I'll flesh out a proper way sometime this week.
42 lines
No EOL
1.3 KiB
Ruby
42 lines
No EOL
1.3 KiB
Ruby
require 'brewkit'
|
|
|
|
# some credit to http://github.com/maddox/magick-installer
|
|
|
|
class Imagemagick <Formula
|
|
@url='ftp://ftp.imagemagick.org/pub/ImageMagick/ImageMagick-6.5.5-4.tar.bz2'
|
|
@md5='8cb7471a50428e4892ee46aa404e54c2'
|
|
@homepage='http://www.imagemagick.org'
|
|
|
|
def deps
|
|
{ :required => 'jpeg', :optional => %w[libwmf libtiff little-cms ghostscript] }
|
|
end
|
|
|
|
def install
|
|
ENV.libpng
|
|
ENV.deparallelize
|
|
|
|
# TODO eventually these will be external optional dependencies
|
|
# but for now I am lazy
|
|
|
|
# versioned stuff in main tree is pointless for us
|
|
inreplace 'configure', '${PACKAGE_NAME}-${PACKAGE_VERSION}', '${PACKAGE_NAME}'
|
|
|
|
system "./configure", "--disable-dependency-tracking",
|
|
"--without-maximum-compile-warnings",
|
|
"--prefix=#{prefix}",
|
|
"--disable-osx-universal-binary",
|
|
"--with-gs-font-dir=#{prefix}/share/ghostscript/fonts",
|
|
"--without-perl" # I couldn't make this compile
|
|
system "make install"
|
|
|
|
# We already copy these in
|
|
d=prefix+'share'
|
|
(d+'NEWS.txt').unlink
|
|
(d+'LICENSE').unlink
|
|
(d+'ChangeLog').unlink
|
|
end
|
|
|
|
def caveats
|
|
"I'm not a heavy user of ImageMagick, so please check everything is installed."
|
|
end
|
|
end |