3 .if !defined(_POSTMKINCLUDED) && !defined(Kde_Pre_Include)
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
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.
15 # KDE4 related ports can use this as follows:
17 # USE_KDE4= kdelibs kdeprefix
18 # USE_QT4= corelib # Set Qt 4 components here.
20 # .include <bsd.port.mk>
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').
27 # Available KDE4 components are:
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
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
72 # These read-only variables can be used in a port's Makefile:
74 # KDE4_PREFIX - The place where KDE4 ports live. Currently it is
75 # ${LOCALBASE}/kde4, but this could change in the future.
79 KDE4_ACTIVITES_VERSION= 4.13.3
80 KDE4_WORKSPACE_VERSION= 4.11.13
84 CALLIGRA_VERSION?= 2.7.5
85 CALLIGRA_BRANCH?= stable
86 KDEVELOP_VERSION?= 4.6.0
87 KDEVELOP_BRANCH?= stable
89 KDE4_PREFIX?= ${LOCALBASE}
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
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}
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,}
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
117 PLIST_SUB+= PYCACHE="" \
122 .endif # !defined(_POSTMKINCLUDED) && !defined(Kde_Pre_Include)
124 .if defined(_POSTMKINCLUDED) && !defined(Kde_Post_Include)
126 Kde_Post_Include= bsd.kde4.mk
130 # Set ${component}_TYPE to 'build' or 'run' to specify default dependency type
131 # for ${component}; otherwise, it will default to 'build run'.
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 \
142 # These components are not part of the Software Compilation.
143 _USE_KDE4_ALL+= akonadi attica automoc4 ontologies qimageblitz soprano \
146 _USE_KDE4_ALL+= kdeprefix
148 _USE_KDE4_ALL+= kdehier
150 baloo_PORT= sysutils/baloo
151 baloo_PATH= ${KDE4_PREFIX}/lib/libbaloocore.so
153 baloo-widgets_PORT= sysutils/baloo-widgets
154 baloo-widgets_PATH= ${KDE4_PREFIX}/lib/libbaloowidgets.so
156 baseapps_PORT= x11/kde4-baseapps
157 baseapps_PATH= ${KDE4_PREFIX}/bin/kfmclient
160 kactivities_PORT= x11/kactivities
161 kactivities_PATH= ${KDE4_PREFIX}/lib/libkactivities.so
163 kate_PORT= editors/kate
164 kate_PATH= ${KDE4_PREFIX}/lib/libkateinterfaces.so
166 kdelibs_PORT= x11/kdelibs4
167 kdelibs_PATH= ${KDE4_PREFIX}/lib/libkdecore.so
169 .if ${KDE4_PREFIX} != ${LOCALBASE}
170 kdeprefix_PORT= misc/kdehier4
171 kdeprefix_PATH= kdehier4>=1.3
175 kfilemetadata_PORT= sysutils/kfilemetadata
176 kfilemetadata_PATH= ${KDE4_PREFIX}/lib/libkfilemetadata.so
178 korundum_PORT= devel/ruby-korundum
179 korundum_PATH= ${KDE4_PREFIX}/lib/kde4/krubypluginfactory.so
182 libkcddb_PORT= audio/libkcddb
183 libkcddb_PATH= ${KDE4_PREFIX}/lib/libkcddb.so
185 libkcompactdisc_PORT= audio/libkcompactdisc
186 libkcompactdisc_PATH= ${KDE4_PREFIX}/lib/libkcompactdisc.so
188 libkdcraw_PORT= graphics/libkdcraw-kde4
189 libkdcraw_PATH= ${KDE4_PREFIX}/lib/libkdcraw.so
191 libkdeedu_PORT= misc/libkdeedu
192 libkdeedu_PATH= ${KDE4_PREFIX}/lib/libkeduvocdocument.so
194 libkdegames_PORT= games/libkdegames
195 libkdegames_PATH= ${KDE4_PREFIX}/lib/libkdegames.so
197 libkexiv2_PORT= graphics/libkexiv2-kde4
198 libkexiv2_PATH= ${KDE4_PREFIX}/lib/libkexiv2.so
200 libkipi_PORT= graphics/libkipi-kde4
201 libkipi_PATH= ${KDE4_PREFIX}/lib/libkipi.so
203 libkonq_PORT= x11/libkonq
204 libkonq_PATH= ${KDE4_PREFIX}/lib/libkonq.so
206 libksane_PORT= graphics/libksane
207 libksane_PATH= ${KDE4_PREFIX}/lib/libksane.so
209 marble_PORT= astro/marble
210 marble_PATH= ${KDE4_PREFIX}/lib/libmarblewidget.so
212 nepomuk-core_PORT= sysutils/nepomuk-core
213 nepomuk-core_PATH= ${KDE4_PREFIX}/lib/libnepomukcore.so
215 nepomuk-widgets_PORT= sysutils/nepomuk-widgets
216 nepomuk-widgets_PATH= ${KDE4_PREFIX}/lib/libnepomukwidgets.so
218 okular_PORT= graphics/okular
219 okular_PATH= ${KDE4_PREFIX}/lib/libokularcore.so
221 oxygen_PORT= x11-themes/kde4-icons-oxygen
222 oxygen_PATH= ${KDE4_PREFIX}/share/icons/oxygen/index.theme
225 perlkde_PORT= devel/p5-perlkde
226 perlkde_PATH= ${KDE4_PREFIX}/lib/kde4/kperlpluginfactory.so
229 perlqt_PORT= devel/p5-perlqt
230 perlqt_PATH= ${KDE4_PREFIX}/bin/puic4
232 pimlibs_PORT= deskutils/kdepimlibs4
233 pimlibs_PATH= ${KDE4_PREFIX}/lib/libkpimutils.so
235 pykde4_PORT= devel/py-pykde4
236 pykde4_PATH= ${KDE4_PREFIX}/lib/kde4/kpythonpluginfactory.so
239 pykdeuic4_PORT= devel/py-pykdeuic4
240 pykdeuic4_PATH= ${LOCALBASE}/bin/pykdeuic4
243 qtruby_PORT= devel/ruby-qtruby
244 qtruby_PATH= ${KDE4_PREFIX}/lib/libqtruby4shared.so
246 runtime_PORT= x11/kde4-runtime
247 runtime_PATH= ${KDE4_PREFIX}/bin/knotify4
250 smokegen_PORT= devel/smokegen
251 smokegen_PATH= ${KDE4_PREFIX}/lib/libsmokebase.so
253 smokekde_PORT= devel/smokekde
254 smokekde_PATH= ${KDE4_PREFIX}/lib/libsmokekdecore.so
256 smokeqt_PORT= devel/smokeqt
257 smokeqt_PATH= ${KDE4_PREFIX}/lib/libsmokeqtcore.so
259 workspace_PORT= x11/kde4-workspace
260 workspace_PATH= ${KDE4_PREFIX}/lib/libkworkspace.so
262 akonadi_PORT= databases/akonadi
263 akonadi_PATH= ${KDE4_PREFIX}/lib/libakonadiprotocolinternals.so
265 attica_PORT= x11-toolkits/attica
266 attica_PATH= ${LOCALBASE}/lib/libattica.so
268 automoc4_PORT= devel/automoc4
269 automoc4_PATH= ${LOCALBASE}/bin/automoc4
272 ontologies_PORT= x11-toolkits/shared-desktop-ontologies
273 ontologies_PATH= ${LOCALBASE}/share/ontology/core/rdf.ontology
275 qimageblitz_PORT= x11/qimageblitz
276 qimageblitz_PATH= ${LOCALBASE}/lib/libqimageblitz.so
278 soprano_PORT= textproc/soprano
279 soprano_PATH= ${LOCALBASE}/lib/libsoprano.so
281 strigi_PORT= deskutils/libstreamanalyzer
282 strigi_PATH= ${LOCALBASE}/lib/libstreamanalyzer.so.0
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
297 . if ${USE_KDE4:M${component}_run} != ""
298 ${component}_TYPE+= run
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
305 # Set real dependencies.
306 . if ${${component}_TYPE:Mbuild} != ""
307 BUILD_DEPENDS+= ${${component}_DEPENDS}
309 . if ${${component}_TYPE:Mrun} != ""
310 RUN_DEPENDS+= ${${component}_DEPENDS}
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}} != ""
318 .endif # defined(_POSTMKINCLUDED) && !defined(Kde_Post_Include)