ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/mports/trunk/Mk/extensions/qt.mk
Revision: 23358
Committed: Sat May 5 18:35:02 2018 UTC (5 years, 11 months ago) by laffer1
File size: 25352 byte(s)
Log Message:
update qt

File Contents

# Content
1 # $MidnightBSD$
2 #
3 # $FreeBSD: head/Mk/bsd.qt.mk 371720 2014-10-29 22:43:21Z rakuco $
4 #
5 # Port variables:
6 # USE_QT* - List of Qt modules to depend on, with optional '_build'
7 # and '_run' suffixes. Define it empty to include this file
8 # without depending on Qt ports.
9 # QT_DIST - The port belongs to the Qt distribution. Set to 'yes' for
10 # Qt 4, or to the distribution name(s) for newer versions.
11 # QT_NONSTANDARD - Suppress modification of configure and make environment.
12 #
13 # Global switches (for inclusion into /etc/make.conf):
14 # QT4_OPTIONS - A list of (Qt 4-only) global options; can be CUPS, NAS
15 # and/or QGTKSTYLE. If set, Qt will be built with support
16 # for:
17 # * Common UNIX Printing System (CUPS);
18 # * Network Audio System (NAS);
19 # * GTK+-based Qt theme (QGTKSTYLE).
20
21 .if !defined(_POSTMKINCLUDED) && !defined(Qt_Pre_Include)
22 Qt_Include_MAINTAINER= ports@MidnightBSD.org
23 Qt_Pre_Include= qt.mk
24
25 # Qt versions currently supported by the framework.
26 _QT_SUPPORTED?= 4 5
27 QT4_VERSION?= 4.8.7
28 QT5_VERSION?= 5.6.2
29
30 QT_PREFIX?= ${LOCALBASE}
31
32 _QT_RELNAME= qt${_QT_VERSION:R:R}
33 _QT_VERSION= # empty
34 .for ver in ${_QT_SUPPORTED}
35 . if defined(USE_QT${ver})
36 . if empty(_QT_VERSION)
37 _QT_VERSION= ${QT${ver}_VERSION}
38 . else
39 # Reject different USE_QT*.
40 IGNORE?= can't be installed: different Qt versions specified via USE_QT[${_QT_SUPPORTED:S/ //g}] #'
41 . endif
42 . endif
43 .endfor
44
45 .if empty(_QT_VERSION)
46 # The file was included without USE_QT*.
47 IGNORE?= can't be installed: bsd.qt.mk may only be included via USE_QT[${_QT_SUPPORTED:S/ //g}] #'
48 .endif
49
50 .if defined(QT_DIST)
51 QT_NONSTANDARD= yes
52
53 . if ! ${.MAKEFLAGS:MPREFIX=*}
54 PREFIX= ${QT_PREFIX}
55 . endif
56
57 MASTER_SITES= ${MASTER_SITE_QT}
58 # Useless, as it must be defined before including bsd.port.pre.mk (at least
59 # because of bsd.options.mk).
60 #PKGNAMEPREFIX?= ${_QT_RELNAME}-
61 DISTINFO_FILE= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/distinfo
62
63 # Can go after a while.
64 CONFLICTS_BUILD=qt-3.* qt-copy-3.*
65
66 LICENSE?= LGPL21
67
68 . if !exists(${PKGDIR}/pkg-descr)
69 DESCR?= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/pkg-descr
70 . endif
71
72 # Stage support.
73 DESTDIRNAME= INSTALL_ROOT
74
75 . if ${_QT_VERSION:M4*}
76 MASTER_SITE_SUBDIR= official_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/
77 DISTNAME= qt-everywhere-opensource-src-${_QT_VERSION}
78 DIST_SUBDIR= KDE
79 . else
80 MASTER_SITE_SUBDIR?= official_releases/qt/${_QT_VERSION:R}/${_QT_VERSION}/submodules/
81 DISTNAME= ${QT_DIST:S,^,qt,:S,$,-opensource-src-${DISTVERSION},}
82 DISTFILES= ${DISTNAME:S,$,${EXTRACT_SUFX},}
83 DIST_SUBDIR= KDE/Qt/${_QT_VERSION}
84
85 USES+= tar:xz
86
87 # Qt (at least when used with qmake) has a tendency to overlink: some libraries
88 # have dependencies on others in the mkspec configurations and the latter are
89 # always passed to the linker even if they are not actually used. By passing
90 # --as-needed to the linker by default when building the Qt ports we do not
91 # have to declare a lot of unnecessary dependencies in USE_QT5.
92 # This could arguably work for Qt4 too, but since it is maintenance mode it is
93 # better not to fix what is not explicitly broken there.
94 LDFLAGS+= -Wl,--as-needed
95
96 . if ${.TARGETS:Mmakesum} || ${.TARGETS:Mfetch} && \
97 defined(DISABLE_SIZE) && defined(NO_CHECKSUM)
98 # Ensure that the "makesum" target (with its inner "fetch" one) uses
99 # devel/qt*/distinfo for every port.
100 . if ${DISTINFO_FILE:H} == ${.CURDIR:H:H}/devel/${_QT_RELNAME}
101 QT_DIST= 3d base canvas3d connectivity declarative graphicaleffects imageformats \
102 location multimedia quickcontrols quickcontrols2 script sensors serialbus serialport svg tools \
103 translations webchannel websockets x11extras xmlpatterns
104 . endif
105 . endif
106
107 . if ${QT_DIST} == "base" && ${PORTNAME} != "qmake"
108 # Qt configure requires pkg-config to detect dependencies.
109 USES+= pkgconfig
110
111 # Set QMAKESPEC when building qtbase so that qmake (called by the configure
112 # script) can find the mkspecs we create ourselves in devel/qmake5.
113 CONFIGURE_ENV+= QMAKESPEC="${QMAKESPEC}"
114 MAKE_ENV+= QMAKESPEC="${QMAKESPEC}"
115 . endif
116
117 # -nomake is only used by qtbase's configure script.
118 # Other ports from other Qt modules will automatically build examples and
119 # tests if the directories exist because of mkspecs/features/qt_parts.prf.
120 EXTRACT_AFTER_ARGS?= ${DISTNAME:S,$,/examples,:S,^,--exclude ,} \
121 ${DISTNAME:S,$,/tests,:S,^,--exclude ,}
122 . endif # ! ${_QT_VERSION:M4*}
123
124 CONFIGURE_ENV+= MAKE="${MAKE:T}"
125
126 CONFIGURE_ARGS+=-opensource -confirm-license \
127 -platform ${QMAKESPEC} \
128 -no-pch \
129 -prefix ${PREFIX} \
130 -bindir ${PREFIX}/${QT_BINDIR_REL} \
131 -headerdir ${PREFIX}/${QT_INCDIR_REL} \
132 -libdir ${PREFIX}/${QT_LIBDIR_REL} \
133 -plugindir ${PREFIX}/${QT_PLUGINDIR_REL} \
134 -importdir ${PREFIX}/${QT_IMPORTDIR_REL} \
135 -datadir ${PREFIX}/${QT_DATADIR_REL} \
136 -docdir ${PREFIX}/${QT_DOCDIR_REL} \
137 -translationdir ${PREFIX}/${QT_L10NDIR_REL} \
138 -sysconfdir ${PREFIX}/${QT_ETCDIR_REL}
139
140 . if ${_QT_VERSION:M4*}
141 CONFIGURE_ARGS+=-fast \
142 -system-libjpeg -system-libpng \
143 -system-libmng -system-libtiff -system-zlib \
144 -no-phonon-backend \
145 -examplesdir ${PREFIX}/${QT_EXAMPLEDIR_REL}/examples \
146 -demosdir ${PREFIX}/${QT_EXAMPLEDIR_REL}/demos
147 . else
148 CONFIGURE_ARGS+=-nomake examples -nomake tests \
149 -archdatadir ${PREFIX}/${QT_ARCHDIR_REL} \
150 -libexecdir ${PREFIX}/${QT_LIBEXECDIR_REL} \
151 -qmldir ${PREFIX}/${QT_QMLDIR_REL} \
152 -examplesdir ${PREFIX}/${QT_EXAMPLEDIR_REL} \
153 -testsdir ${PREFIX}/${QT_TESTDIR_REL}
154 . if ${ARCH} == i386 && empty(MACHINE_CPU:Msse2)
155 CONFIGURE_ARGS+=-no-sse2
156 . endif
157 . endif
158
159 . if defined(WANT_QT_DEBUG) || defined(WITH_DEBUG)
160 WITH_DEBUG= yes
161 STRIP= # It's done prior to bsd.qt.mk inclusion.
162 CONFIGURE_ARGS+=-debug -separate-debug-info
163 # Override configuration in global qconfig.pri.
164 QMAKE_ARGS+= QT_CONFIG+="debug separate_debug_info" \
165 QT_CONFIG-="release"
166 PLIST_SUB+= DEBUG=""
167 . else
168 CONFIGURE_ARGS+=-release -no-separate-debug-info
169 QMAKE_ARGS+= QT_CONFIG+="release" \
170 QT_CONFIG-="debug separate_debug_info"
171 PLIST_SUB+= DEBUG="@comment "
172 . endif
173
174 . if defined(WANT_QT_VERBOSE_CONFIGURE)
175 CONFIGURE_ARGS+=-verbose
176 . endif
177
178 . if ${QT_DIST} == "base" || ${_QT_VERSION:M4*}
179 . if ${_QT_VERSION:M4*}
180 _EXTRA_PATCHES_QT4= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-src-corelib-global-qglobal.h
181 . else
182 _EXTRA_PATCHES_QT5= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-src_corelib_global_qcompilerdetection.h
183 . endif
184 EXTRA_PATCHES?= ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-configure \
185 ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-config.tests-unix-compile.test \
186 ${.CURDIR:H:H}/devel/${_QT_RELNAME}/files/extrapatch-libtool \
187 ${_EXTRA_PATCHES_QT4} ${_EXTRA_PATCHES_QT5}
188 . endif
189
190 # Override settings installed in qconfig.h and *.pri files. The flags will be
191 # installed along with the port, but have to be passed as arguments while
192 # building the port itself. Flags prefixed with "-" (e.g., "-CUPS" and "-cups")
193 # are needed to disable some features.
194 . if !defined(${QT_MODNAME}) || empty(${QT_MODNAME})
195 # Used for both qconfig-*.h and qt_config_*.pri; it can't be empty.
196 QT_MODNAME= ${PORTNAME}
197 . endif
198 QT_DEFINES?= # For qconfig.h flags (without "QT_" prefix).
199 QT_CONFIG?= # For *.pri files QT_CONFIG flags.
200 . if ${QT_DEFINES}
201 QMAKE_ARGS+= DEFINES+="${QT_DEFINES:O:u:C/^([^-])/QT_\1/:C/^-/QT_NO_/:O}"
202 . if ${QT_DEFINES:N-*}
203 # Use a script to cleanup qconfig-modules.h (see qt-post-install).
204 PKGDEINSTALL= ${WRKDIR}/pkg-deinstall
205 . endif
206 . endif
207 . if ${QT_CONFIG:N-*}
208 QMAKE_ARGS+= QT_CONFIG+="${QT_CONFIG:N-*:O:u}"
209 . endif
210 . if ${QT_CONFIG:M-*}
211 QMAKE_ARGS+= QT_CONFIG-="${QT_CONFIG:M-*:O:u:C/^-//}"
212 . endif
213
214 PLIST_SUB+= SHORTVER=${DISTVERSION:R} \
215 FULLVER=${DISTVERSION:C/-.*//}
216 .endif # defined(QT_DIST)
217
218 .if ${_QT_VERSION:M4*}
219 QT_BINDIR_REL?= bin
220 QT_LIBDIR_REL?= lib/${_QT_RELNAME}
221 QT_PLUGINDIR_REL?= ${QT_LIBDIR_REL}/plugins
222 QT_IMPORTDIR_REL?= ${QT_LIBDIR_REL}/imports
223 .endif
224
225 # A wrapper (qtchooser) is used to invoke binaries.
226 QT_BINDIR_REL?= ${QT_ARCHDIR_REL}/bin
227 QT_INCDIR_REL?= include/${_QT_RELNAME}
228 QT_LIBDIR_REL?= lib
229 QT_ARCHDIR_REL?=${QT_LIBDIR_REL}/${_QT_RELNAME}
230 QT_PLUGINDIR_REL?= ${QT_ARCHDIR_REL}/plugins
231 QT_LIBEXECDIR_REL?= libexec/${_QT_RELNAME}
232 QT_IMPORTDIR_REL?= ${QT_ARCHDIR_REL}/imports
233 QT_QMLDIR_REL?= ${QT_ARCHDIR_REL}/qml
234 QT_DATADIR_REL?=share/${_QT_RELNAME}
235 QT_DOCDIR_REL?= share/doc/${_QT_RELNAME}
236 QT_L10NDIR_REL?=${QT_DATADIR_REL}/translations
237 QT_ETCDIR_REL?= etc/xdg
238 QT_EXAMPLEDIR_REL?= share/examples/${_QT_RELNAME}
239 QT_TESTDIR_REL?=${QT_DATADIR_REL}/tests
240
241 # Not customizable.
242 .if ${_QT_VERSION:M4*}
243 QT_MKSPECDIR_REL= ${QT_DATADIR_REL}/mkspecs
244
245 _QT_LIBVER= # empty
246 _QT_BINSUFX= -${_QT_RELNAME}
247 .else
248 QT_MKSPECDIR_REL= ${QT_ARCHDIR_REL}/mkspecs
249
250 _QT_LIBVER= ${_QT_VERSION:R:R}
251 _QT_BINSUFX= # empty
252 .endif
253
254 LRELEASE?= ${QT_BINDIR}/lrelease${_QT_BINSUFX}
255 LUPDATE?= ${QT_BINDIR}/lupdate${_QT_BINSUFX}
256 MOC?= ${QT_BINDIR}/moc${_QT_BINSUFX}
257 RCC?= ${QT_BINDIR}/rcc
258 UIC?= ${QT_BINDIR}/uic${_QT_BINSUFX}
259 QMAKE?= ${QT_BINDIR}/qmake${_QT_BINSUFX}
260 # Needed to redefine the qmake target for internal Qt configuration.
261 _QMAKE?= ${QMAKE}
262 QMAKESPEC?= ${QT_MKSPECDIR}/freebsd-${QMAKE_COMPILER}
263
264 # The whole Qt distribution should be built with the same compiler, but it's
265 # better to support custom settings. Dereferencing the detection allows to
266 # avoid forking a shell on each inclusion of this file, and to catch any CXX
267 # customization (via USE_GCC, etc.).
268 QMAKE_COMPILER= $$(ccver="$$(${CXX} --version)"; case "$$ccver" in *clang*) echo clang ;; *) echo g++ ;; esac)
269
270 # Import QMAKE_ENV and QMAKE_ARGS definitions.
271 USES+= qmake:_env
272
273 PLIST_SUB+= QT_PREFIX="${QT_PREFIX}"
274
275 .for dir in BIN INC LIB ARCH PLUGIN LIBEXEC IMPORT \
276 QML DATA DOC L10N ETC EXAMPLE TEST MKSPEC
277 QT_${dir}DIR= ${QT_PREFIX}/${QT_${dir}DIR_REL}
278 PLIST_SUB+= QT_${dir}DIR="${QT_${dir}DIR_REL}"
279 .endfor
280
281 .endif # !defined(_POSTMKINCLUDED) && !defined(Qt_Pre_Include)
282
283 .if defined(_POSTMKINCLUDED) && !defined(Qt_Post_Include)
284
285 Qt_Post_Include= qt.mk
286
287 .if !defined(QT_NONSTANDARD)
288 CONFIGURE_ENV+= QTDIR="${QT_PREFIX}" QMAKE="${QMAKE}" \
289 MOC="${MOC}" RCC="${RCC}" UIC="${UIC}" \
290 QMAKESPEC="${QMAKESPEC}"
291 CONFIGURE_ARGS+=--with-qt-includes=${QT_INCDIR} \
292 --with-qt-libraries=${QT_LIBDIR} \
293 --with-extra-includes=${LOCALBASE}/include \
294 --with-extra-libs=${LOCALBASE}/lib
295 .endif # !defined(QT_NONSTANDARD)
296
297 _USE_QT_ALL= assistant clucene dbus declarative designer doc gui help \
298 imageformats l10n linguist linguisttools multimedia \
299 network opengl pixeltool qdbusviewer qmake script \
300 scripttools sql sql-ibase sql-mysql sql-odbc sql-pgsql \
301 sql-sqlite2 sql-sqlite3 svg testlib webkit \
302 xml xmlpatterns
303
304 _USE_QT4_ONLY= accessible assistant-adp assistantclient codecs-cn codecs-jp \
305 codecs-kr codecs-tw corelib demo graphicssystems-opengl \
306 help-tools iconengines inputmethods makeqpf moc phonon \
307 phonon-gst porting qdoc3 qmlviewer qt3support qtconfig \
308 qtestlib qvfb rcc uic uic3 xmlpatterns-tool
309
310 _USE_QT5_ONLY= 3d buildtools canvas3d concurrent connectivity core \
311 examples graphicaleffects location paths phonon4 \
312 printsupport qdbus qdoc qdoc-data qev qml quick quickcontrols \
313 quickcontrols2 sensors serialbus serialport sql-tds \
314 uiplugin uitools webchannel websockets widgets x11extras
315
316 3d_PORT= graphics/${_QT_RELNAME}-3d
317 3d_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}3DCore.so
318
319 accessible_PORT= accessibility/${_QT_RELNAME}-accessible
320 accessible_PATH= ${QT_PLUGINDIR}/accessible/libqtaccessiblewidgets.so
321
322 assistant_PORT= devel/${_QT_RELNAME}-assistant
323 assistant_PATH= ${QT_BINDIR}/assistant${_QT_BINSUFX}
324
325 assistant-adp_PORT= devel/${_QT_RELNAME}-assistant-adp
326 assistant-adp_PATH= ${QT_BINDIR}/assistant_adp
327
328 assistantclient_PORT= devel/${_QT_RELNAME}-libqtassistantclient
329 assistantclient_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}AssistantClient.so
330
331 buildtools_PORT= devel/${_QT_RELNAME}-buildtools
332 buildtools_PATH= ${MOC}
333
334 canvas3d_PORT= x11-toolkits/${_QT_RELNAME}-canvas3d
335 canvas3d_PATH= ${QT_QMLDIR}/QtCanvas3D/qmldir
336
337 clucene_PORT= textproc/clucene-${_QT_RELNAME}
338 clucene_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}CLucene.so
339
340 codecs-cn_PORT= chinese/${_QT_RELNAME}-codecs-cn
341 codecs-cn_PATH= ${QT_PLUGINDIR}/codecs/libqcncodecs.so
342
343 codecs-jp_PORT= japanese/${_QT_RELNAME}-codecs-jp
344 codecs-jp_PATH= ${QT_PLUGINDIR}/codecs/libqjpcodecs.so
345
346 codecs-kr_PORT= korean/${_QT_RELNAME}-codecs-kr
347 codecs-kr_PATH= ${QT_PLUGINDIR}/codecs/libqkrcodecs.so
348
349 codecs-tw_PORT= chinese/${_QT_RELNAME}-codecs-tw
350 codecs-tw_PATH= ${QT_PLUGINDIR}/codecs/libqtwcodecs.so
351
352 concurrent_PORT= devel/${_QT_RELNAME}-concurrent
353 concurrent_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Concurrent.so
354
355 connectivity_PORT= comms/${_QT_RELNAME}-connectivity
356 connectivity_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Bluetooth.so
357
358 core_PORT= devel/${_QT_RELNAME}-core
359 core_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Core.so
360
361 corelib_PORT= devel/${_QT_RELNAME}-corelib
362 corelib_PATH= ${core_PATH}
363
364 dbus_PORT= devel/dbus-${_QT_RELNAME}
365 dbus_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}DBus.so
366
367 declarative_PORT= x11-toolkits/${_QT_RELNAME}-declarative
368 declarative_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Declarative.so
369
370 demo_PORT= misc/${_QT_RELNAME}-qtdemo
371 demo_PATH= ${QT_BINDIR}/qtdemo
372
373 designer_PORT= devel/${_QT_RELNAME}-designer
374 designer_PATH= ${QT_BINDIR}/designer${_QT_BINSUFX}
375
376 doc_PORT= misc/${_QT_RELNAME}-doc
377 doc_PATH= ${_QT_RELNAME}-doc>=${_QT_VERSION:R:R}
378
379 examples_PORT= misc/${_QT_RELNAME}-examples
380 examples_PATH= ${_QT_RELNAME}-examples>=${_QT_VERSION:R:R}
381
382 graphicaleffects_PORT= graphics/${_QT_RELNAME}-graphicaleffects
383 graphicaleffects_PATH= ${QT_QMLDIR}/QtGraphicalEffects/qmldir
384
385 graphicssystems-opengl_PORT= x11/${_QT_RELNAME}-graphicssystems-opengl
386 graphicssystems-opengl_PATH= ${QT_PLUGINDIR}/graphicssystems/libqglgraphicssystem.so
387
388 gui_PORT= x11-toolkits/${_QT_RELNAME}-gui
389 gui_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Gui.so
390
391 help_PORT= devel/${_QT_RELNAME}-help
392 help_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Help.so
393
394 help-tools_PORT= devel/${_QT_RELNAME}-help-tools
395 help-tools_PATH= ${QT_BINDIR}/qhelpgenerator
396
397 iconengines_PORT= graphics/${_QT_RELNAME}-iconengines
398 iconengines_PATH= ${QT_PLUGINDIR}/iconengines/libqsvgicon.so
399
400 imageformats_PORT= graphics/${_QT_RELNAME}-imageformats
401 imageformats_PATH= ${QT_PLUGINDIR}/imageformats/libqtiff.so
402
403 inputmethods_PORT= x11/${_QT_RELNAME}-inputmethods
404 inputmethods_PATH= ${QT_PLUGINDIR}/inputmethods/libqimsw-multi.so
405
406 linguist_PORT= devel/${_QT_RELNAME}-linguist
407 linguist_PATH= ${QT_BINDIR}/linguist${_QT_BINSUFX}
408
409 linguisttools_PORT= devel/${_QT_RELNAME}-linguisttools
410 linguisttools_PATH= ${LRELEASE}
411
412 location_PORT= devel/${_QT_RELNAME}-location
413 location_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Location.so
414
415 l10n_PORT= misc/${_QT_RELNAME}-l10n
416 l10n_PATH= ${_QT_RELNAME}-l10n>=${_QT_VERSION:R:R}
417
418 makeqpf_PORT= devel/${_QT_RELNAME}-makeqpf
419 makeqpf_PATH= ${QT_BINDIR}/makeqpf${_QT_BINSUFX}
420
421 moc_PORT= devel/${_QT_RELNAME}-moc
422 moc_PATH= ${MOC}
423
424 multimedia_PORT= multimedia/${_QT_RELNAME}-multimedia
425 multimedia_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Multimedia.so
426
427 network_PORT= net/${_QT_RELNAME}-network
428 network_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Network.so
429
430 opengl_PORT= graphics/${_QT_RELNAME}-opengl
431 opengl_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}OpenGL.so
432
433 paths_PORT= sysutils/${_QT_RELNAME}-qtpaths
434 paths_PATH= ${QT_BINDIR}/qtpaths
435
436 pixeltool_PORT= graphics/${_QT_RELNAME}-pixeltool
437 pixeltool_PATH= ${QT_BINDIR}/pixeltool
438
439 phonon_PORT= multimedia/phonon
440 phonon_PATH= ${QT_LIBDIR}/libphonon.so
441
442 phonon4_PORT= multimedia/${_QT_RELNAME}-phonon4
443 phonon4_PATH= ${QT_LIBDIR}/libphonon4${_QT_RELNAME}.so
444
445 phonon-gst_PORT= multimedia/phonon-gstreamer
446 phonon-gst_PATH= ${QT_PLUGINDIR}/phonon_backend/libphonon_gstreamer.so
447
448 porting_PORT= devel/${_QT_RELNAME}-porting
449 porting_PATH= ${QT_BINDIR}/qt3to4
450
451 printsupport_PORT= print/${_QT_RELNAME}-printsupport
452 printsupport_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}PrintSupport.so
453
454 qdbus_PORT= devel/${_QT_RELNAME}-qdbus
455 qdbus_PATH= ${QT_BINDIR}/qdbus
456
457 qdbusviewer_PORT= devel/${_QT_RELNAME}-qdbusviewer
458 qdbusviewer_PATH= ${QT_BINDIR}/qdbusviewer
459
460 qdoc_PORT= devel/${_QT_RELNAME}-qdoc
461 qdoc_PATH= ${QT_BINDIR}/qdoc
462
463 qdoc-data_PORT= devel/${_QT_RELNAME}-qdoc-data
464 qdoc-data_PATH= ${QT_DOCDIR}/global/config.qdocconf
465
466 qdoc3_PORT= devel/${_QT_RELNAME}-qdoc3
467 qdoc3_PATH= ${QT_BINDIR}/qdoc3
468
469 qev_PORT= x11/${_QT_RELNAME}-qev
470 qev_PATH= ${QT_BINDIR}/qev
471
472 qmake_PORT= devel/qmake${_QT_VERSION:R:R}
473 qmake_PATH= ${QMAKE}
474
475 qml_PORT= lang/${_QT_RELNAME}-qml
476 qml_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Qml.so
477
478 qmlviewer_PORT= devel/${_QT_RELNAME}-qmlviewer
479 qmlviewer_PATH= ${QT_BINDIR}/qmlviewer
480
481 qt3support_PORT= devel/${_QT_RELNAME}-qt3support
482 qt3support_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}3Support.so
483
484 qtconfig_PORT= misc/${_QT_RELNAME}-qtconfig
485 qtconfig_PATH= ${QT_BINDIR}/qtconfig${_QT_BINSUFX}
486
487 qtestlib_PORT= ${testlib_PORT}
488 qtestlib_PATH= ${testlib_PATH}
489
490 quick_PORT= x11-toolkits/${_QT_RELNAME}-quick
491 quick_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Quick.so
492
493 quickcontrols_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols
494 quickcontrols_PATH= ${QT_QMLDIR}/QtQuick/Controls/qmldir
495
496 quickcontrols2_PORT= x11-toolkits/${_QT_RELNAME}-quickcontrols2
497 quickcontrols2_PATH= ${QT_QMLDIR}/Qt/labs/controls/qmldir
498
499 qvfb_PORT= devel/${_QT_RELNAME}-qvfb
500 qvfb_PATH= ${QT_BINDIR}/qvfb${_QT_BINSUFX}
501
502 rcc_PORT= devel/${_QT_RELNAME}-rcc
503 rcc_PATH= ${RCC}
504
505 sensors_PORT= comms/${_QT_RELNAME}-sensors
506 sensors_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Sensors.so
507
508 script_PORT= devel/${_QT_RELNAME}-script
509 script_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Script.so
510
511 scripttools_PORT= devel/${_QT_RELNAME}-scripttools
512 scripttools_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}ScriptTools.so
513
514 serialbus_PORT= comms/${_QT_RELNAME}-serialbus
515 serialbus_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}SerialBus.so
516
517 serialport_PORT= comms/${_QT_RELNAME}-serialport
518 serialport_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}SerialPort.so
519
520 sql_PORT= databases/${_QT_RELNAME}-sql
521 sql_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Sql.so
522
523 sql-pgsql_PATH= ${QT_PLUGINDIR}/sqldrivers/libqsqlpsql.so
524
525 .if ${_QT_VERSION:M4*}
526 sql-sqlite2_PORT= databases/${_QT_RELNAME}-sqlite-plugin
527 .endif
528
529 sql-sqlite3_PATH= ${QT_PLUGINDIR}/sqldrivers/libqsqlite.so
530
531 .for db in ibase mysql odbc pgsql sqlite2 sqlite3 tds
532 .if ${_QT_VERSION:M4*}
533 sql-${db}_PORT?= databases/${_QT_RELNAME}-${db}-plugin
534 .else
535 sql-${db}_PORT?= databases/${_QT_RELNAME}-sqldrivers-${db}
536 .endif
537 sql-${db}_PATH?= ${QT_PLUGINDIR}/sqldrivers/libqsql${db:C/^sql//}.so
538 .endfor
539
540 svg_PORT= graphics/${_QT_RELNAME}-svg
541 svg_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Svg.so
542
543 testlib_PORT= devel/${_QT_RELNAME}-testlib
544 testlib_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Test.so
545
546 uic_PORT= devel/${_QT_RELNAME}-uic
547 uic_PATH= ${UIC}
548
549 uic3_PORT= devel/${_QT_RELNAME}-uic3
550 uic3_PATH= ${QT_BINDIR}/uic3
551
552 uiplugin_PORT= x11-toolkits/${_QT_RELNAME}-uiplugin
553 uiplugin_PATH= ${QT_INCDIR}/QtUiPlugin/QtUiPlugin
554
555 uitools_PORT= devel/${_QT_RELNAME}-uitools
556 uitools_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}UiTools.a
557
558 webchannel_PORT= www/${_QT_RELNAME}-webchannel
559 webchannel_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}WebChannel.so
560
561 websockets_PORT= www/${_QT_RELNAME}-websockets
562 websockets_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}WebSockets.so
563
564 webkit_PORT= www/webkit-${_QT_RELNAME}
565 webkit_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}WebKit.so
566
567 widgets_PORT= x11-toolkits/${_QT_RELNAME}-widgets
568 widgets_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Widgets.so
569
570 x11extras_PORT= x11/${_QT_RELNAME}-x11extras
571 x11extras_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}X11Extras.so
572
573 xml_PORT= textproc/${_QT_RELNAME}-xml
574 xml_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}Xml.so
575
576 xmlpatterns_PORT= textproc/${_QT_RELNAME}-xmlpatterns
577 xmlpatterns_PATH= ${QT_LIBDIR}/libQt${_QT_LIBVER}XmlPatterns.so
578
579 xmlpatterns-tool_PORT= textproc/${_QT_RELNAME}-xmlpatterns-tool
580 xmlpatterns-tool_PATH= ${QT_BINDIR}/xmlpatterns
581
582 _USE_QT_ALL+= ${_USE_QT${_QT_VERSION:R:R}_ONLY}
583 .for comp in ${_USE_QT_ALL}
584 ${comp}_BUILD_DEPENDS?= ${${comp}_PATH}:${${comp}_PORT}
585 ${comp}_RUN_DEPENDS?= ${${comp}_PATH}:${${comp}_PORT}
586 ${comp}_build_BUILD_DEPENDS?= ${${comp}_BUILD_DEPENDS}
587 ${comp}_run_RUN_DEPENDS?= ${${comp}_RUN_DEPENDS}
588 _USE_QT_ALL_SUFFIXED+= ${comp} ${comp}_build ${comp}_run
589 .endfor
590
591 _USE_QT= ${USE_QT${_QT_VERSION:R:R}}
592 .for comp in ${_USE_QT:O:u}
593 . if ${_USE_QT_ALL_SUFFIXED:M${comp}}
594 BUILD_DEPENDS+= ${${comp}_BUILD_DEPENDS}
595 RUN_DEPENDS+= ${${comp}_RUN_DEPENDS}
596 . else
597 IGNORE?= can't be installed: unknown USE_QT${_QT_VERSION:R:R} component '${comp}' #'
598 . endif
599 .endfor
600
601 .if defined(QT_DIST) && ! ${_QT_VERSION:M4*}
602 . if ${QT_DIST} == "base"
603 # qtbase requires some tools to be symlinked to the build directory.
604 _QT_TOOLS= # empty
605 . if ${PORTNAME} != "qmake"
606 _QT_TOOLS+= ${QMAKE}
607 . endif
608 . if ${PORTNAME} != "buildtools"
609 _QT_TOOLS+= ${MOC} ${RCC}
610 . endif
611 . if ${PORTNAME} != "qdoc"
612 _QT_TOOLS+= qdoc
613 . endif
614 . if ${PORTNAME} != "dbus"
615 _QT_TOOLS+= qdbuscpp2xml qdbusxml2cpp
616 . endif
617 . if ${PORTNAME} != "widgets"
618 _QT_TOOLS+= ${UIC}
619 . endif
620
621 pre-configure: qtbase-pre-configure
622 qtbase-pre-configure:
623 . for tool in ${_QT_TOOLS}
624 @${TEST} -e ${QT_BINDIR}/${tool:T} && \
625 ${LN} -sf ${QT_BINDIR}/${tool:T} ${CONFIGURE_WRKSRC}/bin/${tool:T} || \
626 ${TRUE}
627 . endfor
628
629 # Add ${LOCALBASE}/lib to DEFAULT_LIBDIRS, which we use to filter out
630 # certain paths from pkg-config calls (see the explanation in
631 # devel/qt5/files/patch-configure) as well as for setting
632 # QMAKE_DEFAULT_LIBDIR in mkspecs/qconfig.pri. Part of the solution for
633 # ports/194088.
634 post-patch: qtbase-post-patch
635 qtbase-post-patch:
636 ${REINPLACE_CMD} -e "/DEFAULT_LIBDIRS=/ s,\\\\\"\\\\n,\\\\n${LOCALBASE}/lib&," \
637 ${WRKSRC}/configure
638
639 . if ${PORTNAME} != "qmake"
640 _QMAKE= ${CONFIGURE_WRKSRC}/bin/qmake
641
642 post-configure: qmake-configure
643 . endif
644 . endif # ${QT_DIST} == "base"
645
646 pre-configure: qt5-pre-configure
647 qt5-pre-configure:
648 # Qt 5.3.2 introduced a check in mkspecs/features/create_cmake.prf that
649 # requires tests/auto/cmake to be present, otherwise the configure stage will
650 # fail.
651 # Since we cannot extract tests/auto/cmake/ and exclude tests/ at the same
652 # time, we have to disable the check in a cache file (the only way to get this
653 # value through to the configure script in qtbase).
654 ${MKDIR} ${CONFIGURE_WRKSRC}
655 ${ECHO_CMD} 'CMAKE_MODULE_TESTS = -' > ${CONFIGURE_WRKSRC}/.qmake.cache
656 # We piggyback on QMAKE_LIBDIR_FLAGS to make sure -L${WRKSRC}/lib is passed to
657 # the linker before -L/usr/local/lib. By default, the opposite happens, which
658 # is a problem when a Qt port is being upgraded, since an existing library
659 # would end up being picked up instead of those built in ${WRKSRC}/lib. Since
660 # qmake appends the value of QMAKE_LIBDIR to QMAKE_LIBDIR_FLAGS, we can use the
661 # latter to get the linker path order right. qmake is smart enough to strip
662 # occurrences of ${WRKSRC}/lib from .pc and .prl files when installing them.
663 # See QTBUG-40825 and ports bugs 194088, 195105 and 198720.
664 ${ECHO_CMD} 'QMAKE_LIBDIR_FLAGS = -L${CONFIGURE_WRKSRC}/lib' >> ${CONFIGURE_WRKSRC}/.qmake.cache
665
666 pre-install: qt-pre-install
667 qt-pre-install:
668 # Search both in CONFIGURE_WRKSRC and WRKSRC, as the former is not
669 # a subdirectory of the latter for out-of-source builds.
670 ${FIND} ${WRKSRC} ${CONFIGURE_WRKSRC} -name "Makefile*" -type f | \
671 ${XARGS} ${REINPLACE_CMD} -e 's,${TRUE_PREFIX}/${QT_LIBDIR_REL}/pkgconfig,${TRUE_PREFIX}/libdata/pkgconfig,g'
672
673 post-install: qt-post-install
674 qt-post-install:
675 . if ${QT_DEFINES:N-*}
676 # We can't use SUB_FILES with a shared pkg-deinstall.in.
677 # We need it to be a script instead of a group of @unexecs, otherwise
678 # qconfig-modules.h cleanup will be run in pre-deinstall stage, which is
679 # useless. This will probably be replaced by a Keywords/ script in the future.
680 @${SED} -e 's,%%QT_MODNAME%%,${QT_MODNAME},g' \
681 -e 's,%%QT_INCDIR%%,${QT_INCDIR},g' \
682 ${.CURDIR:H:H}/devel/${_QT_RELNAME}/${FILESDIR:T}/${PKGDEINSTALL:T}.in > \
683 ${PKGDEINSTALL}
684 @${MKDIR} ${FAKE_DESTDIR}${QT_INCDIR}/QtCore/modules
685 @${ECHO_CMD} -n \
686 > ${FAKE_DESTDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
687 . for def in ${QT_DEFINES:N-*:O:u:C/=.*$//}
688 @${ECHO_CMD} "#if !defined(QT_${def}) && !defined(QT_NO_${def})" \
689 >> ${FAKE_DESTDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
690 ${ECHO_CMD} "# define QT_${def}" \
691 >> ${FAKE_DESTDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
692 @${ECHO_CMD} "#endif" \
693 >> ${FAKE_DESTDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
694 @${ECHO_CMD} \
695 >> ${FAKE_DESTDIR}${QT_INCDIR}/QtCore/modules/qconfig-${QT_MODNAME}.h
696 . endfor
697 @${ECHO_CMD} "${QT_INCDIR_REL}/QtCore/modules/qconfig-${QT_MODNAME}.h" \
698 >> ${TMPPLIST}
699 @${ECHO_CMD} "@exec echo '#include <QtCore/modules/qconfig-${QT_MODNAME}.h>' >> ${QT_PREFIX}/${QT_INCDIR_REL}/QtCore/qconfig-modules.h" \
700 >> ${TMPPLIST}
701 . endif # ${QT_DEFINES:N-*}
702 . if ${QT_CONFIG:N-*}
703 @${MKDIR} ${FAKE_DESTDIR}${QT_MKSPECDIR}/modules
704 ${ECHO_CMD} "QT_CONFIG += ${QT_CONFIG:N-*:O:u}" \
705 > ${FAKE_DESTDIR}${QT_MKSPECDIR}/modules/qt_config_${QT_MODNAME}.pri
706 @${ECHO_CMD} "${QT_MKSPECDIR_REL}/modules/qt_config_${QT_MODNAME}.pri" \
707 >> ${TMPPLIST}
708 . endif # ${QT_CONFIG:N-*}
709 .endif # defined(QT_DIST) && ! ${_QT_VERSION:M4*}
710
711 .endif # defined(_POSTMKINCLUDED) && !defined(Qt_Post_Include)

Properties

Name Value
svn:keywords MidnightBSD=%H