class Netpbm < Formula desc "Image manipulation" homepage "https://netpbm.sourceforge.io/" # Maintainers: Look at https://sourceforge.net/p/netpbm/code/HEAD/tree/ # for stable versions and matching revisions. url "svn://svn.code.sf.net/p/netpbm/code/stable", :revision => 3154 version "10.73.18" version_scheme 1 head "https://svn.code.sf.net/p/netpbm/code/trunk" bottle do cellar :any sha256 "9b067be48ab266bf848ce40ca6537c47a9b3289d6efd68f571f0b8740ba77a59" => :high_sierra sha256 "643dd3415c96de3201ee9ed1856672690e18a5db8206c302dfbda59a4aa92bd4" => :sierra sha256 "d12e3868feb8ff8b161d2b46896875d510fac2bf71ac715558fb222a0c461187" => :el_capitan end depends_on "libtiff" depends_on "jasper" depends_on "jpeg" depends_on "libpng" conflicts_with "jbigkit", :because => "both install `pbm.5` and `pgm.5` files" def install # Fix file not found errors for /usr/lib/system/libsystem_symptoms.dylib and # /usr/lib/system/libsystem_darwin.dylib on 10.11 and 10.12, respectively if MacOS.version == :sierra || MacOS.version == :el_capitan ENV["SDKROOT"] = MacOS.sdk_path end cp "config.mk.in", "config.mk" inreplace "config.mk" do |s| s.remove_make_var! "CC" s.change_make_var! "CFLAGS_SHLIB", "-fno-common" s.change_make_var! "NETPBMLIBTYPE", "dylib" s.change_make_var! "NETPBMLIBSUFFIX", "dylib" s.change_make_var! "LDSHLIB", "--shared -o $(SONAME)" s.change_make_var! "TIFFLIB", "-ltiff" s.change_make_var! "JPEGLIB", "-ljpeg" s.change_make_var! "PNGLIB", "-lpng" s.change_make_var! "ZLIB", "-lz" s.change_make_var! "JASPERLIB", "-ljasper" s.change_make_var! "JASPERHDR_DIR", "#{Formula["jasper"].opt_include}/jasper" end ENV.deparallelize system "make" system "make", "package", "pkgdir=#{buildpath}/stage" cd "stage" do inreplace "pkgconfig_template" do |s| s.gsub! "@VERSION@", File.read("VERSION").sub("Netpbm ", "").chomp s.gsub! "@LINKDIR@", lib s.gsub! "@INCLUDEDIR@", include end prefix.install %w[bin include lib misc] # do man pages explicitly; otherwise a junk file is installed in man/web man1.install Dir["man/man1/*.1"] man5.install Dir["man/man5/*.5"] lib.install Dir["link/*.a"], Dir["link/*.dylib"] (lib/"pkgconfig").install "pkgconfig_template" => "netpbm.pc" end (bin/"doc.url").unlink end test do fwrite = Utils.popen_read("#{bin}/pngtopam #{test_fixtures("test.png")} -alphapam") (testpath/"test.pam").write fwrite system "#{bin}/pamdice", "test.pam", "-outstem", testpath/"testing" assert_predicate testpath/"testing_0_0.", :exist? end end