class Poppler < Formula desc "PDF rendering library (based on the xpdf-3.0 code base)" homepage "https://poppler.freedesktop.org/" url "https://poppler.freedesktop.org/poppler-25.12.0.tar.xz" sha256 "c18b40eb36b1a0c5b86e29ca054bf0770304583da4f2cdd42fe86eca6a20de48" license "GPL-2.0-only" head "https://gitlab.freedesktop.org/poppler/poppler.git", branch: "master" livecheck do url :homepage regex(/href=.*?poppler[._-]v?(\d+(?:\.\d+)+)\.t/i) end bottle do sha256 arm64_tahoe: "0a0fa9c290cfd239685c702a2e901639f8088c0c95ddd0fa62a72b0ae1b4f8d9" sha256 arm64_sequoia: "9e8c2ecd0b8381d54d0107ad49dbe5d5bcda0d6050bcc5527e04570dc6f33a71" sha256 arm64_sonoma: "748ad1d382ea31409dbbcb3c7a8a69c1ee9fa81e2f916402d964e3dde19165d1" sha256 sonoma: "584dfd780a32e86eed44b2edc5a4c261c972b2902cb0ec35048c597701279cfa" sha256 arm64_linux: "1ebb7a2151adf8eb80b57f943f9badc50f272dcd164f7ee49ade052df5751563" sha256 x86_64_linux: "91b5ee0ee07d6b559d6c750c339d6278f34f56454b238556b6828b10cf2aea7b" end depends_on "cmake" => :build depends_on "gobject-introspection" => :build depends_on "pkgconf" => :build depends_on "cairo" depends_on "fontconfig" depends_on "freetype" depends_on "gettext" depends_on "glib" depends_on "gpgme" depends_on "gpgmepp" depends_on "jpeg-turbo" depends_on "libpng" depends_on "libtiff" depends_on "little-cms2" depends_on "nspr" depends_on "nss" depends_on "openjpeg" uses_from_macos "gperf" => :build uses_from_macos "curl", since: :monterey # 7.68.0 required by poppler as of https://gitlab.freedesktop.org/poppler/poppler/-/commit/8646a6aa2cb60644b56dc6e6e3b3af30ba920245 uses_from_macos "zlib" on_macos do depends_on "libassuan" end conflicts_with "pdftohtml", "pdf2image", "xpdf", because: "poppler, pdftohtml, pdf2image, and xpdf install conflicting executables" resource "font-data" do url "https://poppler.freedesktop.org/poppler-data-0.4.12.tar.gz" sha256 "c835b640a40ce357e1b83666aabd95edffa24ddddd49b8daff63adb851cdab74" livecheck do url "https://poppler.freedesktop.org/" regex(/href=.*?poppler-data[._-]v?(\d+(?:\.\d+)+)\.t/i) end end def install ENV.cxx11 args = std_cmake_args + %W[ -DBUILD_GTK_TESTS=OFF -DENABLE_BOOST=OFF -DENABLE_CMS=lcms2 -DENABLE_GLIB=ON -DENABLE_QT5=OFF -DENABLE_QT6=OFF -DENABLE_UNSTABLE_API_ABI_HEADERS=ON -DWITH_GObjectIntrospection=ON -DCMAKE_INSTALL_RPATH=#{rpath} ] system "cmake", "-S", ".", "-B", "build_shared", *args system "cmake", "--build", "build_shared" system "cmake", "--install", "build_shared" system "cmake", "-S", ".", "-B", "build_static", *args, "-DBUILD_SHARED_LIBS=OFF" system "cmake", "--build", "build_static" lib.install "build_static/libpoppler.a" lib.install "build_static/cpp/libpoppler-cpp.a" lib.install "build_static/glib/libpoppler-glib.a" resource("font-data").stage do system "make", "install", "prefix=#{prefix}" end end test do system bin/"pdfinfo", test_fixtures("test.pdf") end end