37 lines
1.4 KiB
Ruby
37 lines
1.4 KiB
Ruby
class Pigz < Formula
|
|
desc "Parallel gzip"
|
|
homepage "https://zlib.net/pigz/"
|
|
url "https://zlib.net/pigz/pigz-2.4.tar.gz"
|
|
sha256 "a4f816222a7b4269bd232680590b579ccc72591f1bb5adafcd7208ca77e14f73"
|
|
|
|
bottle do
|
|
cellar :any_skip_relocation
|
|
sha256 "216e716eafd2786ed6fa672daf27bb77b420e05f92a14cfeccab28a6be6b7778" => :high_sierra
|
|
sha256 "9173b4bdf36c787ad7a3b7d738236e0393430b607ba44d5a32fa387b008a347a" => :sierra
|
|
sha256 "d0c4ec5ac96ab0262d5e67bd5df5432d7dc40ac1404341962c02835ca8451b5c" => :el_capitan
|
|
end
|
|
|
|
def install
|
|
# Fix dyld: lazy symbol binding failed: Symbol not found: _deflatePending
|
|
# Reported 8 Dec 2016 to madler at alumni.caltech.edu
|
|
if MacOS.version == :el_capitan && MacOS::Xcode.installed? && MacOS::Xcode.version >= "8.0"
|
|
inreplace "pigz.c", "ZLIB_VERNUM >= 0x1260", "ZLIB_VERNUM >= 0x9999"
|
|
end
|
|
|
|
system "make", "CC=#{ENV.cc}", "CFLAGS=#{ENV.cflags}"
|
|
bin.install "pigz", "unpigz"
|
|
man1.install "pigz.1"
|
|
man1.install_symlink "pigz.1" => "unpigz.1"
|
|
end
|
|
|
|
test do
|
|
test_data = "a" * 1000
|
|
(testpath/"example").write test_data
|
|
system bin/"pigz", testpath/"example"
|
|
assert (testpath/"example.gz").file?
|
|
system bin/"unpigz", testpath/"example.gz"
|
|
assert_equal test_data, (testpath/"example").read
|
|
system "/bin/dd", "if=/dev/random", "of=foo.bin", "bs=1m", "count=10"
|
|
system bin/"pigz", "foo.bin"
|
|
end
|
|
end
|