class Xz < Formula desc "General-purpose data compression with high compression ratio" homepage "https://tukaani.org/xz/" url "https://github.com/tukaani-project/xz/releases/download/v5.8.3/xz-5.8.3.tar.gz" mirror "https://downloads.sourceforge.net/project/lzmautils/xz-5.8.3.tar.gz" mirror "http://downloads.sourceforge.net/project/lzmautils/xz-5.8.3.tar.gz" sha256 "3d3a1b973af218114f4f889bbaa2f4c037deaae0c8e815eec381c3d546b974a0" license all_of: [ "0BSD", "GPL-2.0-or-later", ] version_scheme 1 compatibility_version 1 deny_network_access! [:build, :postinstall] def install system "./configure", *std_configure_args, "--disable-silent-rules", "--disable-nls" system "make", "check" system "make", "install" end test do path = testpath/"data.txt" original_contents = "." * 1000 path.write original_contents # compress: data.txt -> data.txt.xz system bin/"xz", path refute_path_exists path # decompress: data.txt.xz -> data.txt system bin/"xz", "-d", "#{path}.xz" assert_equal original_contents, path.read # Check that http mirror works xz_tar = testpath/"xz.tar.gz" stable.mirrors.each do |mirror| next if mirror.start_with?("https") xz_tar.unlink if xz_tar.exist? # Set fake CA Cert to block any HTTPS redirects. system "curl", "--location", mirror, "--cacert", "/fake", "--output", xz_tar assert_equal stable.checksum.hexdigest, xz_tar.sha256 end end end