Import devel/fpc-fpmkunit version 2.6.4
[dports.git] / Mk / bsd.kde4.mk
1 # $FreeBSD$
2
3 .if !defined(_POSTMKINCLUDED) && !defined(Kde_Pre_Include)
4
5 # Please make sure all changes to this file are past through the maintainer.
6 # Do not commit them yourself (unless of course you're the Port's Wraith ;).
7 Kde_Include_MAINTAINER= kde@FreeBSD.org
8 Kde_Pre_Include=        bsd.kde4.mk
9
10 #
11 # This file contains some variable definitions that are supposed to make your
12 # life easier when dealing with ports related to the KDE Software Compilation 4.
13 # It's automatically included when ${USE_KDE4} is defined in a port's Makefile.
14 #
15 # KDE4 related ports can use this as follows:
16 #
17 # USE_KDE4=             kdelibs kdeprefix
18 # USE_QT4=              corelib # Set Qt 4 components here.
19 #
20 # .include <bsd.port.mk>
21 #
22 # Additionally, '_build' and '_run' suffixes can be used to force components
23 # dependency type (e.g., 'marble_run'). If no suffix is set, a default
24 # dependency type will be used. If you want to force both types, add the
25 # component twice with both suffixes (e.g., 'pykde4_build pykde4_run').
26 #
27 # Available KDE4 components are:
28 #
29 # baloo                 - Baloo core libraries
30 # baloo-widgets         - Baloo widgets library
31 # baseapps              - Basic applications for KDE Desktop
32 # kactivities           - KDE activities library
33 # kate                  - KDE text editor framework
34 # kdelibs               - KDE Developer Platform
35 # kdeprefix             - If set, port will be installed into ${KDE4_PREFIX} instead of
36 #                         ${LOCALBASE}
37 # kfilemetadata         - KDE library for extracting file metadata
38 # korundum              - KDE Ruby bindings
39 # libkcddb              - KDE CDDB library
40 # libkcompactdisc       - KDE library for interfacing with audio CDs
41 # libkdcraw             - KDE LibRaw library
42 # libkdeedu             - Libraries used by KDE educational applications
43 # libkdegames           - Libraries used by KDE games
44 # libkexiv2             - KDE Exiv2 library
45 # libkipi               - KDE Image Plugin Interface
46 # libkonq               - Konqueror core library
47 # libksane              - KDE SANE library
48 # marble                - KDE virtual globe
49 # okular                - KDE universal document viewer
50 # nepomuk-core          - Nepomuk core libraries
51 # nepomuk-widgets       - Nepomuk widgets library
52 # oxygen                - KDE icon theme
53 # perlkde               - KDE Perl bindings
54 # perlqt                - Qt 4 Perl bindings
55 # pimlibs               - KDE-Pim libraries
56 # pykde4                - KDE Python bindings
57 # pykdeuic4             - PyKDE user interface compiler
58 # qtruby                - Qt 4 Ruby bindings
59 # runtime               - Components required by many KDE Applications
60 # smokegen              - SMOKE base libraries
61 # smokekde              - KDE SMOKE libraries
62 # smokeqt               - Qt 4 SMOKE libraries
63 # workspace             - KDE user environments
64 # akonadi               - Storage server for KDE-Pim
65 # attica                - Qt library implementing Open Collaboration Services API
66 # automoc4              - Automatic moc for Qt 4 packages
67 # ontologies            - Shared ontologies for semantic searching
68 # qimageblitz           - KDE graphical effects and filters library
69 # soprano               - Qt 4 RDF framework
70 # strigi                - Desktop search daemon
71 #
72 # These read-only variables can be used in a port's Makefile:
73 #
74 # KDE4_PREFIX           - The place where KDE4 ports live. Currently it is
75 #                         ${LOCALBASE}/kde4, but this could change in the future.
76 #
77
78 KDE4_VERSION?=          4.14.2
79 KDE4_ACTIVITES_VERSION= 4.13.3
80 KDE4_WORKSPACE_VERSION= 4.11.13
81 KDE4_BRANCH?=           stable
82 KTP_VERSION?=           0.6.1
83 KTP_BRANCH?=            stable
84 CALLIGRA_VERSION?=      2.7.5
85 CALLIGRA_BRANCH?=       stable
86 KDEVELOP_VERSION?=      4.6.0
87 KDEVELOP_BRANCH?=       stable
88
89 KDE4_PREFIX?=   ${LOCALBASE}
90
91 # Help cmake to find files when testing ports with non-default PREFIX
92 CMAKE_ARGS+=    -DCMAKE_PREFIX_PATH="${LOCALBASE};${KDE4_PREFIX}" \
93                 -DKDE4_BUILD_TESTS:BOOL=OFF
94
95 # ${PREFIX} and ${NO_MTREE} have to be defined in the pre-makefile section.
96 .if defined(USE_KDE4) && ${USE_KDE4:Mkdeprefix} != ""
97 . if ${.MAKEFLAGS:MPREFIX=*} == ""
98 PREFIX=         ${KDE4_PREFIX}
99 .  if ${KDE4_PREFIX} != ${LOCALBASE}
100 NO_MTREE=       yes
101 .  endif
102 . endif
103 .endif
104
105 PLIST_SUB+=     KDE4_PREFIX="${KDE4_PREFIX}" \
106                 KDE4_VERSION="${KDE4_VERSION}" \
107                 KDE4_GENERIC_LIB_VERSION=${KDE4_VERSION} \
108                 KDE4_NON_GENERIC_LIB_VERSION=${KDE4_VERSION:S,^4,5,}
109
110 # Keep in sync with cmake/modules/PythonMacros.cmake
111 _PYTHON_SHORT_VER=      ${PYTHON_VERSION:S/^python//:S/.//}
112 .if ${_PYTHON_SHORT_VER} > 31
113 PLIST_SUB+=     PYCACHE="__pycache__/" \
114                 PYC_SUFFIX=cpython-${_PYTHON_SHORT_VER}.pyc \
115                 PYO_SUFFIX=cpython-${_PYTHON_SHORT_VER}.pyo
116 .else
117 PLIST_SUB+=     PYCACHE="" \
118                 PYC_SUFFIX=pyc \
119                 PYO_SUFFIX=pyo
120 .endif
121
122 .endif # !defined(_POSTMKINCLUDED) && !defined(Kde_Pre_Include)
123
124 .if defined(_POSTMKINCLUDED) && !defined(Kde_Post_Include)
125
126 Kde_Post_Include=       bsd.kde4.mk
127
128 #
129 # KDE4 components.
130 # Set ${component}_TYPE to 'build' or 'run' to specify default dependency type
131 # for ${component}; otherwise, it will default to 'build run'.
132 #
133
134 _USE_KDE4_ALL=          baloo baloo-widgets \
135                         baseapps kactivities kate kdelibs kfilemetadata \
136                         korundum libkcddb libkcompactdisc libkdcraw libkdeedu \
137                         libkexiv2 libkdegames libkipi libkonq libksane marble \
138                         nepomuk-core nepomuk-widgets \
139                         okular oxygen perlkde perlqt pimlibs pykde4 pykdeuic4 \
140                         qtruby runtime smokegen smokekde smokeqt \
141                         workspace
142 # These components are not part of the Software Compilation.
143 _USE_KDE4_ALL+=         akonadi attica automoc4 ontologies qimageblitz soprano \
144                         strigi
145 # Meta components
146 _USE_KDE4_ALL+=         kdeprefix
147 # Deprecated
148 _USE_KDE4_ALL+=         kdehier
149
150 baloo_PORT=             sysutils/baloo
151 baloo_PATH=             ${KDE4_PREFIX}/lib/libbaloocore.so
152
153 baloo-widgets_PORT=     sysutils/baloo-widgets
154 baloo-widgets_PATH=     ${KDE4_PREFIX}/lib/libbaloowidgets.so
155
156 baseapps_PORT=          x11/kde4-baseapps
157 baseapps_PATH=          ${KDE4_PREFIX}/bin/kfmclient
158 baseapps_TYPE=          run
159
160 kactivities_PORT=       x11/kactivities
161 kactivities_PATH=       ${KDE4_PREFIX}/lib/libkactivities.so
162
163 kate_PORT=              editors/kate
164 kate_PATH=              ${KDE4_PREFIX}/lib/libkateinterfaces.so
165
166 kdelibs_PORT=           x11/kdelibs4
167 kdelibs_PATH=           ${KDE4_PREFIX}/lib/libkdecore.so
168
169 .if ${KDE4_PREFIX} != ${LOCALBASE}
170 kdeprefix_PORT=         misc/kdehier4
171 kdeprefix_PATH=         kdehier4>=1.3
172 kdeprefix_TYPE=         run
173 .endif
174
175 kfilemetadata_PORT=     sysutils/kfilemetadata
176 kfilemetadata_PATH=     ${KDE4_PREFIX}/lib/libkfilemetadata.so
177
178 korundum_PORT=          devel/ruby-korundum
179 korundum_PATH=          ${KDE4_PREFIX}/lib/kde4/krubypluginfactory.so
180 korundum_TYPE=          run
181
182 libkcddb_PORT=          audio/libkcddb
183 libkcddb_PATH=          ${KDE4_PREFIX}/lib/libkcddb.so
184
185 libkcompactdisc_PORT=   audio/libkcompactdisc
186 libkcompactdisc_PATH=   ${KDE4_PREFIX}/lib/libkcompactdisc.so
187
188 libkdcraw_PORT=         graphics/libkdcraw-kde4
189 libkdcraw_PATH=         ${KDE4_PREFIX}/lib/libkdcraw.so
190
191 libkdeedu_PORT=         misc/libkdeedu
192 libkdeedu_PATH=         ${KDE4_PREFIX}/lib/libkeduvocdocument.so
193
194 libkdegames_PORT=       games/libkdegames
195 libkdegames_PATH=       ${KDE4_PREFIX}/lib/libkdegames.so
196
197 libkexiv2_PORT=         graphics/libkexiv2-kde4
198 libkexiv2_PATH=         ${KDE4_PREFIX}/lib/libkexiv2.so
199
200 libkipi_PORT=           graphics/libkipi-kde4
201 libkipi_PATH=           ${KDE4_PREFIX}/lib/libkipi.so
202
203 libkonq_PORT=           x11/libkonq
204 libkonq_PATH=           ${KDE4_PREFIX}/lib/libkonq.so
205
206 libksane_PORT=          graphics/libksane
207 libksane_PATH=          ${KDE4_PREFIX}/lib/libksane.so
208
209 marble_PORT=            astro/marble
210 marble_PATH=            ${KDE4_PREFIX}/lib/libmarblewidget.so
211
212 nepomuk-core_PORT=      sysutils/nepomuk-core
213 nepomuk-core_PATH=      ${KDE4_PREFIX}/lib/libnepomukcore.so
214
215 nepomuk-widgets_PORT=   sysutils/nepomuk-widgets
216 nepomuk-widgets_PATH=   ${KDE4_PREFIX}/lib/libnepomukwidgets.so
217
218 okular_PORT=            graphics/okular
219 okular_PATH=            ${KDE4_PREFIX}/lib/libokularcore.so
220
221 oxygen_PORT=            x11-themes/kde4-icons-oxygen
222 oxygen_PATH=            ${KDE4_PREFIX}/share/icons/oxygen/index.theme
223 oxygen_TYPE=            run
224
225 perlkde_PORT=           devel/p5-perlkde
226 perlkde_PATH=           ${KDE4_PREFIX}/lib/kde4/kperlpluginfactory.so
227 perlkde_TYPE=           run
228
229 perlqt_PORT=            devel/p5-perlqt
230 perlqt_PATH=            ${KDE4_PREFIX}/bin/puic4
231
232 pimlibs_PORT=           deskutils/kdepimlibs4
233 pimlibs_PATH=           ${KDE4_PREFIX}/lib/libkpimutils.so
234
235 pykde4_PORT=            devel/py-pykde4
236 pykde4_PATH=            ${KDE4_PREFIX}/lib/kde4/kpythonpluginfactory.so
237 pykde4_TYPE=            run
238
239 pykdeuic4_PORT=         devel/py-pykdeuic4
240 pykdeuic4_PATH=         ${LOCALBASE}/bin/pykdeuic4
241 pykdeuic4_TYPE=         run
242
243 qtruby_PORT=            devel/ruby-qtruby
244 qtruby_PATH=            ${KDE4_PREFIX}/lib/libqtruby4shared.so
245
246 runtime_PORT=           x11/kde4-runtime
247 runtime_PATH=           ${KDE4_PREFIX}/bin/knotify4
248 runtime_TYPE=           run
249
250 smokegen_PORT=          devel/smokegen
251 smokegen_PATH=          ${KDE4_PREFIX}/lib/libsmokebase.so
252
253 smokekde_PORT=          devel/smokekde
254 smokekde_PATH=          ${KDE4_PREFIX}/lib/libsmokekdecore.so
255
256 smokeqt_PORT=           devel/smokeqt
257 smokeqt_PATH=           ${KDE4_PREFIX}/lib/libsmokeqtcore.so
258
259 workspace_PORT=         x11/kde4-workspace
260 workspace_PATH=         ${KDE4_PREFIX}/lib/libkworkspace.so
261
262 akonadi_PORT=           databases/akonadi
263 akonadi_PATH=           ${KDE4_PREFIX}/lib/libakonadiprotocolinternals.so
264
265 attica_PORT=            x11-toolkits/attica
266 attica_PATH=            ${LOCALBASE}/lib/libattica.so
267
268 automoc4_PORT=          devel/automoc4
269 automoc4_PATH=          ${LOCALBASE}/bin/automoc4
270 automoc4_TYPE=          build
271
272 ontologies_PORT=        x11-toolkits/shared-desktop-ontologies
273 ontologies_PATH=        ${LOCALBASE}/share/ontology/core/rdf.ontology
274
275 qimageblitz_PORT=       x11/qimageblitz
276 qimageblitz_PATH=       ${LOCALBASE}/lib/libqimageblitz.so
277
278 soprano_PORT=           textproc/soprano
279 soprano_PATH=           ${LOCALBASE}/lib/libsoprano.so
280
281 strigi_PORT=            deskutils/libstreamanalyzer
282 strigi_PATH=            ${LOCALBASE}/lib/libstreamanalyzer.so.0
283
284 # Iterate through components deprived of suffix.
285 .for component in ${USE_KDE4:O:u:C/_.+//}
286   # Check that the component is valid.
287 . if ${_USE_KDE4_ALL:M${component}} != ""
288    # Skip meta-components (e.g. kdeprefix).
289 .  if defined(${component}_PORT) && defined(${component}_PATH)
290 ${component}_DEPENDS=   ${${component}_PATH}:${PORTSDIR}/${${component}_PORT}
291     # Check if a dependency type is explicitly requested.
292 .   if ${USE_KDE4:M${component}_*} != "" && ${USE_KDE4:M${component}} == ""
293 ${component}_TYPE=      # empty
294 .    if ${USE_KDE4:M${component}_build} != ""
295 ${component}_TYPE+=     build
296 .    endif
297 .    if ${USE_KDE4:M${component}_run} != ""
298 ${component}_TYPE+=     run
299 .    endif
300 .   endif # ${USE_KDE4:M${component}_*} != "" && ${USE_KDE4:M${component}} == ""
301     # If no dependency type is set, default to full dependency.
302 .   if !defined(${component}_TYPE)
303 ${component}_TYPE=      build run
304 .   endif
305     # Set real dependencies.
306 .   if ${${component}_TYPE:Mbuild} != ""
307 BUILD_DEPENDS+=         ${${component}_DEPENDS}
308 .   endif
309 .   if ${${component}_TYPE:Mrun} != ""
310 RUN_DEPENDS+=           ${${component}_DEPENDS}
311 .   endif
312 .  endif # defined(${component}_PORT) && defined(${component}_PATH)
313 . else # ! ${_USE_KDE4_ALL:M${component}} != ""
314 IGNORE=                         can't be installed: unknown USE_KDE4 component '${component}'
315 . endif # ${_USE_KDE4_ALL:M${component}} != ""
316 .endfor
317
318 .endif # defined(_POSTMKINCLUDED) && !defined(Kde_Post_Include)