From d1b341bc585746c727a8c61919b5b9bb1980ba6c Mon Sep 17 00:00:00 2001 From: Dan Ponte Date: Mon, 15 Apr 2024 11:58:10 -0400 Subject: [PATCH] poppler --- graphics/poppler/Makefile | 114 +++++++++++++++++++++++++++++ graphics/poppler/distinfo | 3 + graphics/poppler/pkg-descr | 4 ++ graphics/poppler/pkg-plist | 144 +++++++++++++++++++++++++++++++++++++ 4 files changed, 265 insertions(+) create mode 100644 graphics/poppler/Makefile create mode 100644 graphics/poppler/distinfo create mode 100644 graphics/poppler/pkg-descr create mode 100644 graphics/poppler/pkg-plist diff --git a/graphics/poppler/Makefile b/graphics/poppler/Makefile new file mode 100644 index 0000000..ab80e9e --- /dev/null +++ b/graphics/poppler/Makefile @@ -0,0 +1,114 @@ +PORTNAME= poppler +DISTVERSION= 24.03.0 +CATEGORIES= graphics print +MASTER_SITES= https://poppler.freedesktop.org/ + +MAINTAINER?= desktop@FreeBSD.org +COMMENT?= PDF rendering library +WWW= https://poppler.freedesktop.org/ + +LICENSE= GPLv2 +LICENSE_FILE= ${WRKSRC}/COPYING + +LIB_DEPENDS= libnspr4.so:devel/nspr \ + liblcms2.so:graphics/lcms2 \ + libpng.so:graphics/png \ + libtiff.so:graphics/tiff \ + libfreetype.so:print/freetype2 \ + libnss3.so:security/nss \ + libfontconfig.so:x11-fonts/fontconfig \ + libgpgmepp.so:security/gpgme-cpp +BUILD_DEPENDS= ${LOCALBASE}/include/boost/container/small_vector.hpp:devel/boost-libs \ + gsed:textproc/gsed +RUN_DEPENDS= poppler-data>0:graphics/poppler-data + +USES= cmake:insource compiler:c++17-lang cpe gnome gperf jpeg libtool \ + localbase pathfix pkgconfig tar:xz +CPE_VENDOR= freedesktop +USE_GNOME= cairo libxml2 +USE_LDCONFIG= yes +CMAKE_ON= ENABLE_LIBJPEG \ + ENABLE_LIBPNG \ + ENABLE_LIBTIFF \ + ENABLE_UNSTABLE_API_ABI_HEADERS \ + ENABLE_ZLIB \ + ENABLE_NSS \ + ENABLE_SPLASH +CMAKE_OFF= BUILD_GTK_TESTS +# Ensure that path ordering does not lead to openjpeg15 being found and picked +# instead of openjpeg2 on systems that have both installed +# Note: since f3ba77e14cac05d43caf35100848eeaee3bc64b4 graphics/openjpeg15 installs +# its cmake files to ${PREFIX}/lib/openjpeg15 +CMAKE_ARGS+= -DCMAKE_IGNORE_PATH:PATH=${PREFIX}/lib/openjpeg-1.5 + +# Slave ports. +_POPPLER_SLAVES= library glib qt5 qt6 utils +_SLAVE_PORT?= library + +BINARY_ALIAS= gperf=${GPERF} \ + sed=${LOCALBASE}/bin/gsed + +# Activate the wanted module, and deactivate the others. +CMAKE_ON+= ENABLE_${_SLAVE_PORT:tu} +CMAKE_OFF+= ${_POPPLER_SLAVES:N${_SLAVE_PORT}:tu:S/^/ENABLE_/} + +.if ${_SLAVE_PORT} == library +PORTSCOUT= limitw:1,even +USES+= iconv +CMAKE_ON+= ENABLE_CPP +PLIST_SUB+= SHLIB_VER=134 + +OPTIONS_DEFINE= CURL OPENJPEG +OPTIONS_DEFAULT= OPENJPEG +OPTIONS_SUB= yes +.else +PORTSCOUT= ignore:1 + +LIB_DEPENDS+= libpoppler.so:graphics/poppler +PKGNAMESUFFIX= -${_SLAVE_PORT} + +BUILD_WRKSRC= ${WRKSRC}/${_SLAVE_PORT} +INSTALL_WRKSRC= ${WRKSRC}/${_SLAVE_PORT} + +CMAKE_ARGS+= -DENABLE_LIBOPENJPEG:STRING="none" \ + -DENABLE_LIBCURL:BOOL=FALSE + +. if ${_SLAVE_PORT} == glib +USES+= python:build +USE_GNOME+= glib20 introspection:Build +BINARY_ALIAS+= python3=${PYTHON_CMD} +. elif ${_SLAVE_PORT} == qt5 +USES+= qt:5 +USE_QT= core gui widgets xml \ + buildtools:build qmake:build testlib:build +. elif ${_SLAVE_PORT} == qt6 +USES+= gl qt:6 +USE_GL+= gl opengl +USE_QT= base +. elif ${_SLAVE_PORT} == utils +LIB_DEPENDS+= libpoppler-glib.so:graphics/poppler-glib +USES+= gnome +. endif + +.endif + +CURL_CMAKE_BOOL= ENABLE_LIBCURL +CURL_LIB_DEPENDS= libcurl.so:ftp/curl + +OPENJPEG_LIB_DEPENDS= libopenjp2.so:graphics/openjpeg +OPENJPEG_CMAKE_ON= -DENABLE_LIBOPENJPEG:STRING="openjpeg2" +OPENJPEG_CMAKE_OFF= -DENABLE_LIBOPENJPEG:STRING="none" + +post-install: +.if ${_SLAVE_PORT} == glib + ${INSTALL_DATA} ${WRKSRC}/poppler-glib.pc \ + ${STAGEDIR}${PREFIX}/libdata/pkgconfig +.elif ${_SLAVE_PORT} == qt5 + ${INSTALL_DATA} ${WRKSRC}/poppler-qt5.pc \ + ${STAGEDIR}${PREFIX}/libdata/pkgconfig +.elif ${_SLAVE_PORT} == qt6 + ${INSTALL_DATA} ${WRKSRC}/poppler-qt6.pc \ + ${STAGEDIR}${PREFIX}/libdata/pkgconfig +.endif + +.include diff --git a/graphics/poppler/distinfo b/graphics/poppler/distinfo new file mode 100644 index 0000000..a1f7f75 --- /dev/null +++ b/graphics/poppler/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1713196665 +SHA256 (poppler-24.03.0.tar.xz) = bafbf0db5713dec25b5d16eb2cd87e4a62351cdc40f050c3937cd8dd6882d446 +SIZE (poppler-24.03.0.tar.xz) = 1902068 diff --git a/graphics/poppler/pkg-descr b/graphics/poppler/pkg-descr new file mode 100644 index 0000000..e5d390b --- /dev/null +++ b/graphics/poppler/pkg-descr @@ -0,0 +1,4 @@ +Poppler is a fork of the xpdf PDF viewer developed by Derek Noonburg +of Glyph and Cog, LLC. It provides PDF rendering functionality as a +shared library, and uses modern components from Freedesktop.org such as +fontconfig and cairo to take advantage of modern UNIX desktops. diff --git a/graphics/poppler/pkg-plist b/graphics/poppler/pkg-plist new file mode 100644 index 0000000..b927aab --- /dev/null +++ b/graphics/poppler/pkg-plist @@ -0,0 +1,144 @@ +include/poppler/Annot.h +include/poppler/AnnotStampImageHelper.h +include/poppler/Array.h +include/poppler/BBoxOutputDev.h +include/poppler/CMap.h +include/poppler/CachedFile.h +include/poppler/CairoFontEngine.h +include/poppler/CairoOutputDev.h +include/poppler/CairoRescaleBox.h +include/poppler/Catalog.h +include/poppler/CertificateInfo.h +include/poppler/CharCodeToUnicode.h +include/poppler/CharTypes.h +%%CURL%%include/poppler/CurlCachedFile.h +%%CURL%%include/poppler/CurlPDFDocBuilder.h +include/poppler/DateInfo.h +include/poppler/Decrypt.h +include/poppler/Dict.h +include/poppler/Error.h +include/poppler/ErrorCodes.h +include/poppler/FDPDFDocBuilder.h +include/poppler/FILECacheLoader.h +include/poppler/FileSpec.h +include/poppler/FontEncodingTables.h +include/poppler/FontInfo.h +include/poppler/Form.h +include/poppler/Function.h +include/poppler/Gfx.h +include/poppler/GfxFont.h +include/poppler/GfxState.h +include/poppler/GfxState_helpers.h +include/poppler/GlobalParams.h +include/poppler/Hints.h +include/poppler/JArithmeticDecoder.h +include/poppler/JBIG2Stream.h +%%OPENJPEG%%include/poppler/JPEG2000Stream.h +%%NO_OPENJPEG%%include/poppler/JPXStream.h +include/poppler/JSInfo.h +include/poppler/Lexer.h +include/poppler/Linearization.h +include/poppler/Link.h +include/poppler/LocalPDFDocBuilder.h +include/poppler/MarkedContentOutputDev.h +include/poppler/Movie.h +include/poppler/NameToCharCode.h +include/poppler/NameToUnicodeTable.h +include/poppler/Object.h +include/poppler/OptionalContent.h +include/poppler/Outline.h +include/poppler/OutputDev.h +include/poppler/PDFDoc.h +include/poppler/PDFDocBuilder.h +include/poppler/PDFDocEncoding.h +include/poppler/PDFDocFactory.h +include/poppler/PSOutputDev.h +include/poppler/PSTokenizer.h +include/poppler/Page.h +include/poppler/PageTransition.h +include/poppler/Parser.h +include/poppler/PopplerCache.h +include/poppler/PreScanOutputDev.h +include/poppler/ProfileData.h +include/poppler/Rendition.h +include/poppler/SecurityHandler.h +include/poppler/Sound.h +include/poppler/SplashOutputDev.h +include/poppler/Stream-CCITT.h +include/poppler/Stream.h +include/poppler/StructElement.h +include/poppler/StructTreeRoot.h +include/poppler/TextOutputDev.h +include/poppler/UTF.h +include/poppler/UnicodeCClassTables.h +include/poppler/UnicodeCompTables.h +include/poppler/UnicodeDecompTables.h +include/poppler/UnicodeMap.h +include/poppler/UnicodeMapFuncs.h +include/poppler/UnicodeMapTables.h +include/poppler/UnicodeTypeTable.h +include/poppler/ViewerPreferences.h +include/poppler/XRef.h +include/poppler/cpp/poppler-destination.h +include/poppler/cpp/poppler-document.h +include/poppler/cpp/poppler-embedded-file.h +include/poppler/cpp/poppler-font-private.h +include/poppler/cpp/poppler-font.h +include/poppler/cpp/poppler-global.h +include/poppler/cpp/poppler-image.h +include/poppler/cpp/poppler-page-renderer.h +include/poppler/cpp/poppler-page-transition.h +include/poppler/cpp/poppler-page.h +include/poppler/cpp/poppler-rectangle.h +include/poppler/cpp/poppler-toc.h +include/poppler/cpp/poppler-version.h +include/poppler/cpp/poppler_cpp_export.h +include/poppler/fofi/FoFiBase.h +include/poppler/fofi/FoFiEncodings.h +include/poppler/fofi/FoFiIdentifier.h +include/poppler/fofi/FoFiTrueType.h +include/poppler/fofi/FoFiType1.h +include/poppler/fofi/FoFiType1C.h +include/poppler/goo/GooCheckedOps.h +include/poppler/goo/GooLikely.h +include/poppler/goo/GooString.h +include/poppler/goo/GooTimer.h +include/poppler/goo/ImgWriter.h +include/poppler/goo/JpegWriter.h +include/poppler/goo/PNGWriter.h +include/poppler/goo/TiffWriter.h +include/poppler/goo/gdir.h +include/poppler/goo/gfile.h +include/poppler/goo/gmem.h +include/poppler/goo/grandom.h +include/poppler/goo/gstrtod.h +include/poppler/poppler-config.h +include/poppler/poppler_private_export.h +include/poppler/splash/Splash.h +include/poppler/splash/SplashBitmap.h +include/poppler/splash/SplashClip.h +include/poppler/splash/SplashErrorCodes.h +include/poppler/splash/SplashFTFont.h +include/poppler/splash/SplashFTFontEngine.h +include/poppler/splash/SplashFTFontFile.h +include/poppler/splash/SplashFont.h +include/poppler/splash/SplashFontEngine.h +include/poppler/splash/SplashFontFile.h +include/poppler/splash/SplashFontFileID.h +include/poppler/splash/SplashGlyphBitmap.h +include/poppler/splash/SplashMath.h +include/poppler/splash/SplashPath.h +include/poppler/splash/SplashPattern.h +include/poppler/splash/SplashScreen.h +include/poppler/splash/SplashState.h +include/poppler/splash/SplashTypes.h +include/poppler/splash/SplashXPath.h +include/poppler/splash/SplashXPathScanner.h +lib/libpoppler-cpp.so +lib/libpoppler-cpp.so.0 +lib/libpoppler-cpp.so.0.11.0 +lib/libpoppler.so +lib/libpoppler.so.%%SHLIB_VER%% +lib/libpoppler.so.%%SHLIB_VER%%.0.0 +libdata/pkgconfig/poppler-cpp.pc +libdata/pkgconfig/poppler.pc