aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula/gd.rb
blob: 17bb90d5ba93db8828d2b00abeb4602de16fbd13 (plain)
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
require 'formula'

class Gd < Formula
  homepage 'https://bitbucket.org/libgd/gd-libgd'
  # libgd doesn't have their latest (non-alpha) version.
  # When they do release a stable version, use that url.
  # Watch this space: http://libgd.bitbucket.org/pages/downloads.html
  url 'http://download.osgeo.org/mapserver/libgd/gd-2.0.36RC1.tar.gz'
  sha1 '21cf2ec93fd80836fc0cb4741201f7cc5440819a'

  head 'https://bitbucket.org/libgd/gd-libgd', :using => :hg

  option :universal

  depends_on :libpng => :recommended
  depends_on 'jpeg' => :recommended
  depends_on 'giflib' => :optional
  depends_on :freetype => :optional

  fails_with :llvm do
    build 2326
    cause "Undefined symbols when linking"
  end

  def install
    ENV.universal_binary if build.universal?
    args = %W{--disable-dependency-tracking --prefix=#{prefix}}
    args << "--without-freetype" unless build.with? 'freetype'
    system "./configure", *args
    system "make install"
    (lib+'pkgconfig/gdlib.pc').write pc_file
  end

  def pc_file; <<-EOS.undent
    prefix=#{opt_prefix}
    exec_prefix=${prefix}
    libdir=/${exec_prefix}/lib
    includedir=/${prefix}/include
    bindir=/${prefix}/bin
    ldflags=  -L/${prefix}/lib

    Name: gd
    Description: A graphics library for quick creation of PNG or JPEG images
    Version: #{version}
    Requires:
    Libs: -L${libdir} -lgd
    Libs.private: -ljpeg -lpng12 -lz -lm
    Cflags: -I${includedir}
    EOS
  end

  test do
    system "#{bin}/pngtogd", "/usr/share/doc/cups/images/cups.png", "gd_test.gd"
    system "#{bin}/gdtopng", "gd_test.gd", "gd_test.png"
  end
end