This commit is contained in:
Daniel 2024-04-15 11:58:10 -04:00
parent 7f542245d1
commit d1b341bc58
4 changed files with 265 additions and 0 deletions

114
graphics/poppler/Makefile Normal file
View file

@ -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 <bsd.port.mk>

View file

@ -0,0 +1,3 @@
TIMESTAMP = 1713196665
SHA256 (poppler-24.03.0.tar.xz) = bafbf0db5713dec25b5d16eb2cd87e4a62351cdc40f050c3937cd8dd6882d446
SIZE (poppler-24.03.0.tar.xz) = 1902068

View file

@ -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.

144
graphics/poppler/pkg-plist Normal file
View file

@ -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