class Parallel < Formula desc "Shell command parallelization utility" homepage "https://savannah.gnu.org/projects/parallel/" url "https://ftp.gnu.org/gnu/parallel/parallel-20250522.tar.bz2" mirror "https://ftpmirror.gnu.org/parallel/parallel-20250522.tar.bz2" sha256 "b4b28f475f8cff8bb6ed4b03cc5a67041f18fc73fa256923b23181b56afdb2cb" 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: "4ac5d7a0937fb137d8656c3739331268098100c6cdf4aa46ce16aace2eb92254" end conflicts_with "moreutils", because: "both install a `parallel` executable" def install ENV.append_path "PATH", bin system "./configure", "--prefix=#{prefix}" system "make", "install" bash_completion.install share/"bash-completion/completions/parallel" inreplace_files = [ bin/"parallel", doc/"parallel.texi", doc/"parallel_design.texi", doc/"parallel_examples.texi", man1/"parallel.1", man7/"parallel_design.7", man7/"parallel_examples.7", ] # Ignore `inreplace` failures when building from HEAD or not building a bottle. inreplace inreplace_files, "/usr/local", HOMEBREW_PREFIX, audit_result: 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