blob: b2a866cd60635b77a4c583197b867191ddb336ba (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
PORTNAME= poppler
DISTVERSION= 22.09.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
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=124
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
.endif
.include <bsd.port.mk>
|