37 lines
1.3 KiB
Ruby
37 lines
1.3 KiB
Ruby
class Pigz < Formula
|
|
homepage 'http://www.zlib.net/pigz/'
|
|
url 'http://www.zlib.net/pigz/pigz-2.3.1.tar.gz'
|
|
sha1 '2d5c9a70a6afcf1d8986890026d70c96b9346c07'
|
|
revision 1
|
|
|
|
bottle do
|
|
cellar :any
|
|
sha1 "6eb3c6cad2d259e6a3230b9ac596a0357c54c170" => :yosemite
|
|
sha1 "f208f507c57ab7f32d34dc9e9d5ab7d131558d33" => :mavericks
|
|
sha1 "4348380310afb99b698813e76a4ba01e4d024a1a" => :mountain_lion
|
|
end
|
|
|
|
# avoid directory traversal vulnerability CVE-2015-1191
|
|
# http://www.openwall.com/lists/oss-security/2015/01/12/4
|
|
# https://github.com/madler/pigz/commit/fdad1406b3ec809f4954ff7cdf9e99eb18c2458f
|
|
patch do
|
|
url "https://sources.debian.net/data/main/p/pigz/2.3.1-2/debian/patches/0002-When-decompressing-with-N-or-NT-strip-any-path-from-.patch"
|
|
sha1 "b5f058c00ba3834f16d7842fa4fef73cbbf41aaf"
|
|
end
|
|
|
|
def install
|
|
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
|
|
end
|
|
end
|