69 lines
2.6 KiB
Ruby
69 lines
2.6 KiB
Ruby
class Upx < Formula
|
|
desc "Compress/expand executable files"
|
|
homepage "https://upx.github.io/"
|
|
revision 1
|
|
head "https://github.com/upx/upx.git", :branch => "devel"
|
|
|
|
stable do
|
|
url "https://github.com/upx/upx/archive/v3.95.tar.gz"
|
|
sha256 "fdb79c8238360115770e9c13bdaeb48da6fb09c813b0a461c5f9faee176d6fb9"
|
|
|
|
# This can be removed, along with the two patches, when switching back to
|
|
# the release tarball rather than the archive tarball. This should be
|
|
# done on the next stable release.
|
|
resource "lzma-sdk" do
|
|
url "https://github.com/upx/upx-lzma-sdk/archive/v3.95.tar.gz"
|
|
sha256 "4932ed7b79cf47aa91fe737c068f74553e17033161c7e7e532e4b967f02f1557"
|
|
end
|
|
|
|
# Patch required due to 3.95 MacOS bug https://github.com/upx/upx/issues/218
|
|
# and ought to be included in the next release
|
|
patch do
|
|
url "https://github.com/upx/upx/commit/0dac6b7be3339ac73051d40ed4d268cd2bb0dc7c.patch?full_index=1"
|
|
sha256 "957de8bab55bb71156a1ae59fa66c67636acd265a4c6fa43d12e8793bafebb22"
|
|
end
|
|
|
|
# https://github.com/Homebrew/homebrew-core/pull/31846#issuecomment-419750313
|
|
patch do
|
|
url "https://github.com/upx/upx/commit/9bb6854e642a2505102b9d3f9ec8535ec8ab6d9c.patch?full_index=1"
|
|
sha256 "f525a574b65e6484f0eb29e2a37d5df58da85b121adec06271b19ed5f4cc49b4"
|
|
end
|
|
|
|
# The following two patches fix an issue where UPX 3.95 produces broken go binaries - will be fixed in 3.96
|
|
# See https://github.com/upx/upx/issues/222 for details
|
|
patch do
|
|
url "https://github.com/upx/upx/commit/4d1c754af943f4640062884f38742fd97a6bda0d.patch?full_index=1"
|
|
sha256 "64c1cbfd2127172bab973be5cdfba3ad05b0ee506c9076eb6bf0e2d8b4d205b0"
|
|
end
|
|
|
|
patch do
|
|
url "https://github.com/upx/upx/commit/bb1f9cdecd02130e468b9bed680a9bb6122f8a0c.patch?full_index=1"
|
|
sha256 "2712240751a0b5c6cb3e4d562fc79b125d612f1f185cd84766fcee12900dea61"
|
|
end
|
|
end
|
|
|
|
bottle do
|
|
cellar :any_skip_relocation
|
|
sha256 "29c7ae82e1fda0f801c388d874d02d9371ca5c7842ae9a8355a16eb2daa8035f" => :mojave
|
|
sha256 "bd7b838097f139055c99a692f9e74f62582d020203d649a190d74c9e9ccab584" => :high_sierra
|
|
sha256 "209bff5e1c4622c2e8f19ef8855e006ad5fb2fde93f937717b39c9aebc4de07e" => :sierra
|
|
end
|
|
|
|
depends_on "ucl"
|
|
|
|
def install
|
|
(buildpath/"src/lzma-sdk").install resource("lzma-sdk") if build.stable?
|
|
system "make", "all"
|
|
bin.install "src/upx.out" => "upx"
|
|
man1.install "doc/upx.1"
|
|
end
|
|
|
|
test do
|
|
cp "#{bin}/upx", "."
|
|
chmod 0755, "./upx"
|
|
|
|
system "#{bin}/upx", "-1", "./upx"
|
|
system "./upx", "-V" # make sure the binary we compressed works
|
|
system "#{bin}/upx", "-d", "./upx"
|
|
end
|
|
end
|