/Library/Formula/gd.rb

https://bitbucket.org/smcferrin/homebrew · Ruby · 53 lines · 45 code · 8 blank · 0 comment · 1 complexity · 96c0d34fdaa7c918e46e262c88bee1c0 MD5 · raw file

  1. require 'formula'
  2. class Gd < Formula
  3. homepage 'http://bitbucket.org/pierrejoye/gd-libgd'
  4. url 'http://www.libgd.org/releases/gd-2.0.36RC1.tar.gz'
  5. mirror 'http://download.osgeo.org/mapserver/libgd/gd-2.0.36RC1.tar.gz'
  6. sha1 '21cf2ec93fd80836fc0cb4741201f7cc5440819a'
  7. head 'http://bitbucket.org/pierrejoye/gd-libgd', :using => :hg
  8. depends_on :libpng => :recommended
  9. depends_on 'jpeg' => :recommended
  10. depends_on 'giflib' => :optional
  11. depends_on :freetype => :optional
  12. fails_with :llvm do
  13. build 2326
  14. cause "Undefined symbols when linking"
  15. end
  16. def install
  17. args = ["--prefix=#{prefix}"]
  18. args << "--without-freetype" unless build.with? 'freetype'
  19. system "./configure", *args
  20. system "make install"
  21. (lib+'pkgconfig/gdlib.pc').write pc_file
  22. end
  23. def pc_file; <<-EOS.undent
  24. prefix=#{opt_prefix}
  25. exec_prefix=${prefix}
  26. libdir=/${exec_prefix}/lib
  27. includedir=/${prefix}/include
  28. bindir=/${prefix}/bin
  29. ldflags= -L/${prefix}/lib
  30. Name: gd
  31. Description: A graphics library for quick creation of PNG or JPEG images
  32. Version: #{version}
  33. Requires:
  34. Libs: -L${libdir} -lgd
  35. Libs.private: -ljpeg -lpng12 -lz -lm
  36. Cflags: -I${includedir}
  37. EOS
  38. end
  39. test do
  40. system "#{bin}/pngtogd", \
  41. "/System/Library/Frameworks/SecurityInterface.framework/Versions/A/Resources/Key_Large.png", \
  42. "gd_test.gd"
  43. system "#{bin}/gdtopng", "gd_test.gd", "gd_test.png"
  44. end
  45. end