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-26.04.0.tar.xz" sha256 "b0955163114af96bc0106f68cb24daf973a629462453d8b82775f81b0d4e0693" license "GPL-2.0-only" compatibility_version 3 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: "fbdf4c7b2b192b74b94c1c6bc32c7ab62c2985d6af6e9ff0bb256a504c011861" sha256 arm64_sequoia: "104a1b259f934d2e273fc9ddf6997c44eef552b111dbf7a17c1d6daf02a8a288" sha256 arm64_sonoma: "5c87f637b4ba8d818ce079fa76e7dec401a79605d12e8d764c2af034b6179d4d" sha256 sonoma: "485f75afc3df14da17ed619c3b98193875ee12bee861d749e136c9e4fe9d8986" sha256 arm64_linux: "2e1e4fda5ec5aafa7e6d97e79199268135535a80a695af99b54eeacd0a617bd9" sha256 x86_64_linux: "949e46fcdedfa1844535f62e012f1fe1db9a0afece4b4a0cfeb73db34c63a2b0" end depends_on "cmake" => :build depends_on "gettext" => :build depends_on "gobject-introspection" => :build depends_on "pkgconf" => :build depends_on "cairo" depends_on "fontconfig" depends_on "freetype" depends_on "glib" 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 on_macos do depends_on "gettext" depends_on "gpgme" depends_on "libassuan" end on_linux do depends_on "zlib-ng-compat" 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 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