8485926d28
Jbigkit includes libjbig, a C Library for JBIG1 images, and two CLI programs called pbmtojbg and jbgtopbm. Jbigkit builds without a 'configure' using only a Makefile that gets patched by the formula with good CCFLAGS. The makefile comes set with CC = gcc, and it overrides all relevant compiler variables except MAKEFLAGS with very good results. The jbigkit formula builds a universal library, but the makefile is only written to create a static one. There is no make install function to date. The library has no dependencies, but it can be used by libtiff, which will automatically find it during libtiff's configure. Jbigkit was tested on Mac OSX 10.6.8, with a 64bit kernel, and gcc-4.2.1. Closes Homebrew/homebrew#7699. Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
49 lines
1.5 KiB
Ruby
49 lines
1.5 KiB
Ruby
require 'formula'
|
|
|
|
class Jbigkit < Formula
|
|
url 'http://www.cl.cam.ac.uk/~mgk25/download/jbigkit-2.0.tar.gz'
|
|
homepage 'http://www.cl.cam.ac.uk/~mgk25/jbigkit/'
|
|
md5 '3dd87f605abb1a97a22dc79d8b3e8f6c'
|
|
|
|
def options
|
|
[
|
|
['--with-check', "Verify the library during install. Takes ~10s."]
|
|
]
|
|
end
|
|
|
|
def install
|
|
# Set for a universal build and patch the Makefile.
|
|
# There's no configure. It creates a static lib.
|
|
ENV.universal_binary
|
|
inreplace 'Makefile', "CCFLAGS = -O2 -W", "CCFLAGS = #{ENV.cflags}"
|
|
system "make"
|
|
|
|
# It needs j1 to make the tests happen in sequence.
|
|
system "make -j1 test" if ARGV.include? '--with-check'
|
|
|
|
# Install the files using three common styles of syntax:
|
|
prefix.install %w[contrib examples]
|
|
Dir.chdir 'pbmtools' do
|
|
bin.install %w(pbmtojbg jbgtopbm pbmtojbg85 jbgtopbm85)
|
|
man1.install %w(pbmtojbg.1 jbgtopbm.1)
|
|
man5.install %w(pbm.5 pgm.5)
|
|
end
|
|
Dir.chdir 'libjbig' do
|
|
lib.install Dir['lib*.a']
|
|
(prefix+'src').install Dir['j*.c', 'j*.txt']
|
|
include.install Dir['j*.h']
|
|
end
|
|
end
|
|
|
|
def test
|
|
puts
|
|
mktemp do
|
|
system "#{HOMEBREW_PREFIX}/bin/jbgtopbm #{prefix}/examples/ccitt7.jbg | pbmtojbg - testoutput.jbg"
|
|
system "/usr/bin/cmp #{prefix}/examples/ccitt7.jbg testoutput.jbg"
|
|
ohai "The test was successful converting between jbig and pbm and back."
|
|
puts
|
|
system "/usr/bin/file #{HOMEBREW_PREFIX}/lib/libjbig.a #{HOMEBREW_PREFIX}/lib/libjbig85.a"
|
|
puts
|
|
end
|
|
end
|
|
end
|