| # Copyright 1999-2019 Gentoo Authors |
| # Distributed under the terms of the GNU General Public License v2 |
| |
| EAPI=6 |
| |
| inherit cmake-utils flag-o-matic toolchain-funcs xdg-utils |
| |
| if [[ ${PV} == *9999* ]] ; then |
| inherit git-r3 |
| EGIT_REPO_URI="https://anongit.freedesktop.org/git/poppler/poppler.git" |
| SLOT="0/9999" |
| else |
| SRC_URI="https://poppler.freedesktop.org/${P}.tar.xz" |
| KEYWORDS="*" |
| SLOT="0/90" # CHECK THIS WHEN BUMPING!!! SUBSLOT IS libpoppler.so SOVERSION |
| fi |
| |
| DESCRIPTION="PDF rendering library based on the xpdf-3.0 code base" |
| HOMEPAGE="https://poppler.freedesktop.org/" |
| |
| LICENSE="GPL-2" |
| IUSE="cairo cjk curl cxx debug doc +introspection +jpeg +jpeg2k +lcms nss png qt5 tiff +utils" |
| |
| # No test data provided |
| RESTRICT="test" |
| |
| BDEPEND=" |
| dev-util/glib-utils |
| virtual/pkgconfig |
| " |
| DEPEND=" |
| media-libs/fontconfig |
| media-libs/freetype |
| sys-libs/zlib |
| cairo? ( |
| dev-libs/glib:2 |
| x11-libs/cairo |
| introspection? ( dev-libs/gobject-introspection:= ) |
| ) |
| curl? ( net-misc/curl ) |
| jpeg? ( virtual/jpeg:0 ) |
| jpeg2k? ( >=media-libs/openjpeg-2.3.0-r1:2= ) |
| lcms? ( media-libs/lcms:2 ) |
| nss? ( >=dev-libs/nss-3.19:0 ) |
| png? ( media-libs/libpng:0= ) |
| qt5? ( |
| dev-qt/qtcore:5 |
| dev-qt/qtgui:5 |
| dev-qt/qtxml:5 |
| ) |
| tiff? ( media-libs/tiff:0 ) |
| " |
| RDEPEND="${DEPEND} |
| cjk? ( app-text/poppler-data ) |
| " |
| |
| DOCS=( AUTHORS NEWS README.md README-XPDF ) |
| |
| PATCHES=( |
| "${FILESDIR}/${PN}-0.60.1-qt5-dependencies.patch" |
| "${FILESDIR}/${PN}-0.28.1-fix-multilib-configuration.patch" |
| "${FILESDIR}/${PN}-0.78.0-respect-cflags.patch" |
| "${FILESDIR}/${PN}-0.61.0-respect-cflags.patch" |
| "${FILESDIR}/${PN}-0.57.0-disable-internal-jpx.patch" |
| ) |
| |
| src_prepare() { |
| cmake-utils_src_prepare |
| |
| # Clang doesn't grok this flag, the configure nicely tests that, but |
| # cmake just uses it, so remove it if we use clang |
| if [[ ${CC} == clang ]] ; then |
| sed -e 's/-fno-check-new//' -i cmake/modules/PopplerMacros.cmake || die |
| fi |
| |
| if ! grep -Fq 'cmake_policy(SET CMP0002 OLD)' CMakeLists.txt ; then |
| sed -e '/^cmake_minimum_required/acmake_policy(SET CMP0002 OLD)' \ |
| -i CMakeLists.txt || die |
| else |
| einfo "policy(SET CMP0002 OLD) - workaround can be removed" |
| fi |
| |
| # we need to up the C++ version, bug #622526, #643278 |
| append-cxxflags -std=c++11 |
| } |
| |
| src_configure() { |
| xdg_environment_reset |
| local mycmakeargs=( |
| -DBUILD_GTK_TESTS=OFF |
| -DBUILD_QT5_TESTS=OFF |
| -DBUILD_CPP_TESTS=OFF |
| -DENABLE_SPLASH=ON |
| -DENABLE_ZLIB=ON |
| -DENABLE_ZLIB_UNCOMPRESS=OFF |
| -DENABLE_UNSTABLE_API_ABI_HEADERS=ON |
| -DSPLASH_CMYK=OFF |
| -DUSE_FIXEDPOINT=OFF |
| -DUSE_FLOAT=OFF |
| -DWITH_Cairo=$(usex cairo) |
| -DENABLE_LIBCURL=$(usex curl) |
| -DENABLE_CPP=$(usex cxx) |
| -DWITH_JPEG=$(usex jpeg) |
| -DENABLE_DCTDECODER=$(usex jpeg libjpeg none) |
| -DENABLE_LIBOPENJPEG=$(usex jpeg2k openjpeg2 none) |
| -DENABLE_CMS=$(usex lcms lcms2 none) |
| -DWITH_NSS3=$(usex nss) |
| -DWITH_PNG=$(usex png) |
| $(cmake-utils_use_find_package qt5 Qt5Core) |
| -DWITH_TIFF=$(usex tiff) |
| -DENABLE_UTILS=$(usex utils) |
| ) |
| use cairo && mycmakeargs+=( -DWITH_GObjectIntrospection=$(usex introspection) ) |
| |
| cmake-utils_src_configure |
| } |
| |
| src_install() { |
| cmake-utils_src_install |
| |
| # live version doesn't provide html documentation |
| if use cairo && use doc && [[ ${PV} != *9999* ]]; then |
| # For now install gtk-doc there |
| insinto /usr/share/gtk-doc/html/poppler |
| doins -r "${S}"/glib/reference/html/* |
| fi |
| } |