homebrew-core/Formula/parallel.rb

52 lines
1.5 KiB
Ruby

class Parallel < Formula
desc "Shell command parallelization utility"
homepage "https://savannah.gnu.org/projects/parallel/"
url "https://ftp.gnu.org/gnu/parallel/parallel-20220722.tar.bz2"
mirror "https://ftpmirror.gnu.org/parallel/parallel-20220722.tar.bz2"
sha256 "0e4083ac0d850c434598c6dfbf98f3b6dd2cc932a3af9269eb1f9323e43af019"
license "GPL-3.0-or-later"
version_scheme 1
head "https://git.savannah.gnu.org/git/parallel.git", branch: "master"
livecheck do
url :homepage
regex(/GNU Parallel v?(\d{6,8}).*? released/i)
end
bottle do
sha256 cellar: :any_skip_relocation, all: "f975128d36fcc257e985a374eca0677fa812283ba7f3203ccb157b549373eba7"
end
conflicts_with "moreutils", because: "both install a `parallel` executable"
def install
ENV.append_path "PATH", bin
system "./configure", "--prefix=#{prefix}"
system "make", "install"
inreplace_files = [
bin/"parallel",
doc/"parallel_design.texi",
man1/"parallel.1",
man7/"parallel_design.7",
]
# Ignore `inreplace` failures when building from HEAD or not building a bottle.
inreplace inreplace_files, "/usr/local", HOMEBREW_PREFIX, build.stable? && build.bottle?
end
def caveats
<<~EOS
To use the --csv option, the Perl Text::CSV module has to be installed.
You can install it via:
perl -MCPAN -e'install Text::CSV'
EOS
end
test do
assert_equal "test\ntest\n",
shell_output("#{bin}/parallel --will-cite echo ::: test test")
end
end