homebrew-core/Formula/poppler.rb
Martin Afanasjew b92eea9be0 poppler: refuse to build with incompatible options
Previously, if both `--with-qt` and `--with-qt5` were passed, the latter
was silently ignored. This sometimes caused confusion because the Qt 5
bindings were missing. The build now aborts in such cases and prints a
helpful error message.

Closes Homebrew/homebrew#44954.

Signed-off-by: Xu Cheng <xucheng@me.com>
2015-10-20 20:43:45 +08:00

77 lines
2.3 KiB
Ruby

class Poppler < Formula
desc "PDF rendering library (based on the xpdf-3.0 code base)"
homepage "http://poppler.freedesktop.org"
url "http://poppler.freedesktop.org/poppler-0.36.0.tar.xz"
sha256 "93cc067b23c4ef7421380d3e8bd7c940b2027668446750787d7c1cb42720248e"
bottle do
sha256 "ee3a00acc6fc9ea30530e59a09b758cbde2fb64b762553a7de39268ec70aa174" => :el_capitan
sha256 "9a2b1e4159da1ee0c898f7b6b0aab3d936846c310b801f0d1724c19834c70e0a" => :yosemite
sha256 "c924b235f741f53850d308170a3f38d65a0d5eb7472f9144369d6d8aa7c12bba" => :mavericks
end
option "with-qt", "Build Qt backend"
option "with-qt5", "Build Qt5 backend"
option "with-little-cms2", "Use color management system"
deprecated_option "with-qt4" => "with-qt"
deprecated_option "with-lcms2" => "with-little-cms2"
depends_on "pkg-config" => :build
depends_on "cairo"
depends_on "fontconfig"
depends_on "freetype"
depends_on "gettext"
depends_on "glib"
depends_on "gobject-introspection"
depends_on "jpeg"
depends_on "libpng"
depends_on "libtiff"
depends_on "openjpeg"
depends_on "qt" => :optional
depends_on "qt5" => :optional
depends_on "little-cms2" => :optional
conflicts_with "pdftohtml", :because => "both install `pdftohtml` binaries"
resource "font-data" do
url "http://poppler.freedesktop.org/poppler-data-0.4.7.tar.gz"
sha256 "e752b0d88a7aba54574152143e7bf76436a7ef51977c55d6bd9a48dccde3a7de"
end
def install
ENV["LIBOPENJPEG_CFLAGS"] = "-I#{Formula["openjpeg"].opt_include}/openjpeg-1.5"
args = %W[
--disable-dependency-tracking
--prefix=#{prefix}
--enable-xpdf-headers
--enable-poppler-glib
--disable-gtk-test
--enable-introspection=yes
]
if build.with?("qt") && build.with?("qt5")
raise "poppler: --with-qt and --with-qt5 cannot be used at the same time"
elsif build.with? "qt"
args << "--enable-poppler-qt4"
elsif build.with? "qt5"
args << "--enable-poppler-qt5"
else
args << "--disable-poppler-qt4" << "--disable-poppler-qt5"
end
args << "--enable-cms=lcms2" if build.with? "little-cms2"
system "./configure", *args
system "make", "install"
resource("font-data").stage do
system "make", "install", "prefix=#{prefix}"
end
end
test do
system "#{bin}/pdfinfo", test_fixtures("test.pdf")
end
end