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.07.0.tar.xz" sha256 "c504a9066dbdfebe377ad53cec641fd971ee96c4e1e8ca74e6c9c03d46d817ae" 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_sequoia: "3560d3df79e931767f72b74169ca69959d6dba7c858bdec5b4d620f7ba69806d" sha256 arm64_sonoma: "2d78a5989af01748a7c1e9db1cece90dee62880d48842a3a6181a12d2e4bacf6" sha256 arm64_ventura: "35145176d16b304e5be2cc6d5543357f469651272d86afccbbfed59855dfcb55" sha256 sonoma: "926084d4193ba342ff4a4c823de92c4b270c3e6e24d2d04c8df42949ebb1c175" sha256 ventura: "826d529e015d839b40a0219361b4c41ee13410ee357ab90eb37133ffe2d14df6" sha256 arm64_linux: "0a5083e99dbf0555c13322a7f9e0ae40813fc93c0c0f46b0627862b999a8957e" sha256 x86_64_linux: "cfeeaace6cb7b57b38e77ba86867a2c06de5b606853e16cda7b947e95ff94f92" 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 "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 # removes /usr/include from CFLAGS (not clear why) ENV["PKG_CONFIG_SYSTEM_INCLUDE_PATH"] = "/usr/include" if OS.mac? && MacOS.version < :mojave 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