class Asciidoc < Formula include Language::Python::Shebang desc "Formatter/translator for text files to numerous formats. Includes a2x" homepage "https://asciidoc.org/" url "https://github.com/asciidoc-py/asciidoc-py/archive/9.1.1.tar.gz" sha256 "914dfc1542c30bd47faa0aaaae0985cb57d0ca584015729ccd1b94d90da3a616" license "GPL-2.0-only" head "https://github.com/asciidoc-py/asciidoc-py.git", branch: "main" livecheck do url :stable regex(/^v?(\d+(?:\.\d+)+)$/i) end bottle do sha256 cellar: :any_skip_relocation, all: "6a697842eca38197c1dbf98e0d4948d4712ca71ead18f2d47c31a9b333c68280" end depends_on "autoconf" => :build depends_on "docbook-xsl" => :build depends_on "docbook" depends_on "python@3.9" depends_on "source-highlight" uses_from_macos "libxml2" => :build uses_from_macos "libxslt" => :build on_linux do depends_on "xmlto" => :build end def install ENV["XML_CATALOG_FILES"] = etc/"xml/catalog" system "autoconf" system "./configure", "--prefix=#{prefix}" %w[ a2x.py asciidoc.py filters/code/code-filter.py filters/graphviz/graphviz2png.py filters/latex/latex2img.py filters/music/music2png.py filters/unwraplatex.py ].map { |f| rewrite_shebang detected_python_shebang, f } # otherwise macOS's xmllint bails out inreplace "Makefile", "-f manpage", "-f manpage -L" system "make", "install" system "make", "docs" end def caveats <<~EOS If you intend to process AsciiDoc files through an XML stage (such as a2x for manpage generation) you need to add something like: export XML_CATALOG_FILES=#{etc}/xml/catalog to your shell rc file so that xmllint can find AsciiDoc's catalog files. See `man 1 xmllint' for more. EOS end test do (testpath/"test.txt").write("== Hello World!") system "#{bin}/asciidoc", "-b", "html5", "-o", "test.html", "test.txt" assert_match %r{