diff options
author | Max Brazhnikov <makc@FreeBSD.org> | 2012-05-25 02:15:20 +0000 |
---|---|---|
committer | Max Brazhnikov <makc@FreeBSD.org> | 2012-05-25 02:15:20 +0000 |
commit | f564508406256a7dc7e7f9589788c00e917c1863 (patch) | |
tree | b6ce65710c94504aa252a65ee74453340de3d60c /Mk/bsd.kde4.mk | |
parent | 4319d238082bcfa3ccbb9d4f572c65c0547d8269 (diff) | |
download | ports-f564508406256a7dc7e7f9589788c00e917c1863.tar.gz ports-f564508406256a7dc7e7f9589788c00e917c1863.zip |
Notes
Diffstat (limited to 'Mk/bsd.kde4.mk')
-rw-r--r-- | Mk/bsd.kde4.mk | 347 |
1 files changed, 240 insertions, 107 deletions
diff --git a/Mk/bsd.kde4.mk b/Mk/bsd.kde4.mk index dfed4d49bb40..bec1267eebec 100644 --- a/Mk/bsd.kde4.mk +++ b/Mk/bsd.kde4.mk @@ -8,173 +8,306 @@ # Please make sure all changes to this file are past through the maintainer. # Do not commit them yourself (unless of course you're the Port's Wraith ;). -Kde_Pre_Include= bsd.kde4.mk Kde_Include_MAINTAINER= kde@FreeBSD.org +Kde_Pre_Include= bsd.kde4.mk # -# This file contains some variable definitions that are supposed to -# make your life easier when dealing with ports related to the KDE4 -# desktop environment. It's automatically included when USE_KDE4 -# is defined in the ports' makefile. +# This file contains some variable definitions that are supposed to make your +# life easier when dealing with ports related to the KDE Software Compilation 4. +# It's automatically included when ${USE_KDE4} is defined in a port's Makefile. # # KDE4 related ports can use this as follows: # -# USE_KDE4= kdehier kdeprefix kdelibs +# USE_KDE4= kdehier kdelibs kdeprefix # USE_QT_VER= 4 -# QT_COMPONENTS=corelib #set additional qt4 components here +# QT_COMPONENTS=corelib # Set additional Qt 4 components here. # # .include <bsd.port.mk> # +# Additionally, '_build' and '_run' suffixes can be used to force components +# dependency type (e.g., 'marble_run'). If no suffix is set, a default +# dependency type will be used. If you want to force both types, add the +# component twice with both suffixes (e.g., 'pykde4_build pykde4_run'). +# # Available KDE4 components are: # -# akonadi - Akonadi PIM storage service -# automoc4 - automoc4 tool -# baseapps - Basic KDE applications (Konqueror, Dolphin) -# kdeexp - experimental libraries (with non-stable ABI/API) -# kdehier - Provides common KDE directories -# kdelibs - The base set of KDE libraries -# kdeprefix - If set, port will be installed into ${KDE4_PREFIX} instead of ${LOCALBASE} -# oxygen - icon themes -# pimlibs - KDE PIM libraries -# pimruntime - KDE PIM runtime services -# pykde4 - Python bindings for KDE -# pykdeuic4 - User Interface Compiler for PyKDE -# runtime - More KDE applications -# sharedmime - share-mime-info wrapper for KDE ports -# workspace - More KDE applications (Plasma, kwin, etc.) -# -# These read-only variables can be used in port Makefile: +# baseapps - Basic applications for KDE Desktop +# kate - KDE text editor framework +# kdehier - Hierarchy of common KDE directories +# kdelibs - KDE Developer Platform +# kdeprefix - If set, port will be installed into ${KDE4_PREFIX} instead of +# ${LOCALBASE} +# korundum - KDE Ruby bindings +# libkdcraw - KDE LibRaw library +# libkdeedu - Libraries used by KDE educational applications +# libkexiv2 - KDE Exiv2 library +# libkipi - KDE Image Plugin Interface +# libkonq - Konqueror core library +# libksane - KDE SANE library +# marble - KDE virtual globe +# okular - KDE universal document viewer +# oxygen - KDE icon theme +# perlkde - KDE Perl bindings +# perlqt - Qt 4 Perl bindings +# pimlibs - KDE-Pim libraries +# pykde4 - KDE Python bindings +# pykdeuic4 - PyKDE user interface compiler +# qtruby - Qt 4 Ruby bindings +# runtime - Components required by many KDE Applications +# sharedmime - MIME types database for KDE ports +# smokegen - SMOKE base libraries +# smokekde - KDE SMOKE libraries +# smokeqt - Qt 4 SMOKE libraries +# workspace - KDE user environments +# akonadi - Storage server for KDE-Pim +# attica - Qt library implementing Open Collaboration Services API +# automoc4 - Automatic moc for Qt 4 packages +# ontologies - Shared ontologies for semantic searching +# qimageblitz - KDE graphical effects and filters library +# soprano - Qt 4 RDF framework +# strigi - Desktop search daemon +# +# These read-only variables can be used in a port's Makefile: # # MASTER_SITE_KDE_kde -# - MASTER_SITE_KDE_kde is equivalent to MASTER_SITE_KDE -# with :kde tag. It could be used when port needs multiple -# distfiles from different sites. See for details porters-handbook: -# http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/makefile-distfiles.html -# KDE4_PREFIX - The place where KDE4 ports live. Currently it is {LOCALBASE}/kde4, -# but this could be changed in a future. +# - It is equivalent to ${MASTER_SITE_KDE} with :kde tag. It could +# be used when port needs multiple distfiles from different +# sites. See for details the Porter's Handbook: +# http://www.FreeBSD.org/doc/en_US.ISO8859-1/books/porters-handbook/makefile-distfiles.html +# KDE4_PREFIX - The place where KDE4 ports live. Currently it is +# ${LOCALBASE}/kde4, but this could change in the future. # -KDE4_VERSION= 4.7.4 -KDE4_BRANCH?= stable -KDEPIM4_VERSION= 4.4.11.1 -KDEPIM4_BRANCH?= stable -KOFFICE2_VERSION= 2.3.2 -KOFFICE2_BRANCH?= stable -KDEVELOP_VERSION= 4.2.3 -KDEVELOP_BRANCH?= stable +KDE4_VERSION?= 4.8.3 +KDE4_BRANCH?= stable +KOFFICE2_VERSION?= 2.3.2 +KOFFICE2_BRANCH?= stable +KDEVELOP_VERSION?= 4.2.3 +KDEVELOP_BRANCH?= stable # -# KDE4 is installed into its own prefix to not conflict with KDE3 +# KDE4 is installed into its own prefix to avoid conflicting with KDE3. # -KDE4_PREFIX?= ${LOCALBASE}/kde4 + +KDE4_PREFIX?= ${LOCALBASE}/kde4 # -# Tagged MASTER_SITE_KDE +# Common definitions for KDE4 ports. # -kmaster= ${MASTER_SITE_KDE:S@%/@%/:kde@g} + +# ${PREFIX} and ${NO_MTREE} have to be defined in the pre-makefile section. +.if defined(USE_KDE4) && ${USE_KDE4:Mkdeprefix} != "" +. if ${.MAKEFLAGS:MPREFIX=*} == "" +PREFIX= ${KDE4_PREFIX} +. if ${KDE4_PREFIX} != ${LOCALBASE} +NO_MTREE= yes +. endif +. endif +.endif + +# Tagged ${MASTER_SITE_KDE}. +kmaster= ${MASTER_SITE_KDE:S@%/@%/:kde@g} .if !defined(MASTER_SITE_SUBDIR) MASTER_SITE_KDE_kde= ${kmaster:S@%SUBDIR%/@@g} .else -ksub=${MASTER_SITE_SUBDIR} +ksub= ${MASTER_SITE_SUBDIR} MASTER_SITE_KDE_kde= ${kmaster:S@%SUBDIR%/@${ksub}/@g} -.endif # !defined(MASTER_SITE_SUBDIR) +.endif + +PLIST_SUB+= KDE4_PREFIX="${KDE4_PREFIX}" + +# The following definitions are not intended for usage in KDE4-dependent ports. +.if defined(KDE4_BUILDENV) + +USE_CMAKE= yes +CMAKE_SOURCE_PATH= ${WRKSRC} +USE_LDCONFIG= yes + +. if ${KDE4_BRANCH} == "unstable" +WITH_DEBUG= yes +. endif + +. if defined(WITH_DEBUG) +CMAKE_BUILD_TYPE= DebugFull +. endif + +PLIST_SUB+= KDE4_VERSION="${KDE4_VERSION}" + +CONFIGURE_WRKSRC= ${CMAKE_SOURCE_PATH}/build +BUILD_WRKSRC= ${CONFIGURE_WRKSRC} +INSTALL_WRKSRC?= ${BUILD_WRKSRC} + +post-extract: kde4-create-builddir + +kde4-create-builddir: + ${MKDIR} ${BUILD_WRKSRC} + +.endif # defined(KDE4_BUILDENV) + +.endif # !defined(_POSTMKINCLUDED) && !defined(Kde_Pre_Include) + +.if defined(_POSTMKINCLUDED) && !defined(Kde_Post_Include) + +Kde_Post_Include= bsd.kde4.mk # -# KDE4 modules +# KDE4 components. +# Set ${component}_TYPE to 'build' or 'run' to specify default dependency type +# for ${component}; otherwise, it will default to 'build run'. # -_USE_KDE4_ALL= akonadi automoc4 baseapps kdebase kdehier kdelibs kdeprefix \ - oxygen pimlibs pimruntime pykde4 pykdeuic4 runtime \ - sharedmime workspace -akonadi_LIB_DEPENDS= akonadiprotocolinternals.1:${PORTSDIR}/databases/akonadi +_USE_KDE4_ALL= baseapps kdebase kate kdehier kdelibs kdeprefix korundum \ + libkdcraw libkdeedu libkexiv2 libkipi libkonq libksane \ + marble okular oxygen perlkde perlqt pimlibs pykde4 \ + pykdeuic4 qtruby runtime sharedmime smokegen smokekde \ + smokeqt workspace +# These components are not shipped with the Software Compilation. +_USE_KDE4_ALL+= akonadi attica automoc4 ontologies qimageblitz soprano \ + strigi -automoc4_BUILD_DEPENDS= ${LOCALBASE}/bin/automoc4:${PORTSDIR}/devel/automoc4 +# Do baseapps and runtime really need to be in ${BUILD_DEPENDS}? +baseapps_PORT= x11/kde4-baseapps +baseapps_PATH= ${KDE4_PREFIX}/bin/kfmclient -baseapps_LIB_DEPENDS= konq.7:${PORTSDIR}/x11/kde4-baseapps -kdebase_LIB_DEPENDS= ${baseapps_LIB_DEPENDS} +# kdebase was replaced by baseapps. +kdebase_PORT= ${baseapps_PORT} +kdebase_PATH= ${baseapps_PATH} -kdehier_RUN_DEPENDS= kdehier4>=1:${PORTSDIR}/misc/kdehier4 +kate_PORT= editors/kate +kate_PATH= ${KDE4_PREFIX}/lib/libkateinterfaces.so.5 -kdelibs_LIB_DEPENDS= kimproxy.5:${PORTSDIR}/x11/kdelibs4 +kdehier_PORT= misc/kdehier4 +kdehier_PATH= kdehier4>=0 +kdehier_TYPE= run -kdeprefix_PREFIX= ${KDE4_PREFIX} +kdelibs_PORT= x11/kdelibs4 +kdelibs_PATH= ${KDE4_PREFIX}/lib/libkdecore.so.7 -oxygen_RUN_DEPENDS= ${KDE4_PREFIX}/share/icons/oxygen/index.theme:${PORTSDIR}/x11-themes/kde4-icons-oxygen +korundum_PORT= devel/kdebindings4-ruby-korundum +korundum_PATH= ${KDE4_PREFIX}/lib/kde4/krubypluginfactory.so +korundum_TYPE= run -pimlibs_LIB_DEPENDS= kpimutils.5:${PORTSDIR}/deskutils/kdepimlibs4 +libkdcraw_PORT= graphics/libkdcraw-kde4 +libkdcraw_PATH= ${KDE4_PREFIX}/lib/libkdcraw.so.20 -pimruntime_LIB_DEPENDS= kdepim-copy.5:${PORTSDIR}/deskutils/kdepim4-runtime +libkdeedu_PORT= misc/libkdeedu +libkdeedu_PATH= ${KDE4_PREFIX}/lib/libkeduvocdocument.so.5 -pykde4_RUN_DEPENDS= ${KDE4_PYTHON_SITELIBDIR}/PyKDE4/kdeui.so:${PORTSDIR}/devel/kdebindings4-python-pykde4 +libkexiv2_PORT= graphics/libkexiv2-kde4 +libkexiv2_PATH= ${KDE4_PREFIX}/lib/libkexiv2.so.10 -pykdeuic4_RUN_DEPENDS= ${LOCALBASE}/bin/pykdeuic4:${PORTSDIR}/devel/kdebindings4-python-pykdeuic4 +libkipi_PORT= graphics/libkipi-kde4 +libkipi_PATH= ${KDE4_PREFIX}/lib/libkipi.so.8 -runtime_BUILD_DEPENDS= ${KDE4_PREFIX}/bin/kdebugdialog:${PORTSDIR}/x11/kde4-runtime -runtime_RUN_DEPENDS= ${KDE4_PREFIX}/bin/kdebugdialog:${PORTSDIR}/x11/kde4-runtime +libkonq_PORT= x11/libkonq +libkonq_PATH= ${KDE4_PREFIX}/lib/libkonq.so.7 -sharedmime_BUILD_DEPENDS= kde4-shared-mime-info>=1:${PORTSDIR}/misc/kde4-shared-mime-info -sharedmime_RUN_DEPENDS= kde4-shared-mime-info>=1:${PORTSDIR}/misc/kde4-shared-mime-info +libksane_PORT= graphics/libksane +libksane_PATH= ${KDE4_PREFIX}/lib/libksane.so.0 -workspace_LIB_DEPENDS= kscreensaver.5:${PORTSDIR}/x11/kde4-workspace +marble_PORT= astro/marble +marble_PATH= ${KDE4_PREFIX}/lib/libmarblewidget.so.13 +okular_PORT= graphics/okular +okular_PATH= ${KDE4_PREFIX}/lib/libokularcore.so.1 -PLIST_SUB+= KDE4_PREFIX="${KDE4_PREFIX}" +oxygen_PORT= x11-themes/kde4-icons-oxygen +oxygen_PATH= ${KDE4_PREFIX}/share/icons/oxygen/index.theme +oxygen_TYPE= run -KDE4_PYTHON_SITELIBDIR= ${PYTHON_SITELIBDIR:S;${PYTHONBASE};${KDE4_PREFIX};} +perlkde_PORT= devel/kdebindings4-perl-perlkde +perlkde_PATH= ${KDE4_PREFIX}/lib/kde4/kperlpluginfactory.so +perlkde_TYPE= run -# -# Common build related stuff for kde4 ports. It's not intended for usage -# in KDE4-dependent ports -# -.if defined(KDE4_BUILDENV) +perlqt_PORT= devel/kdebindings4-perl-perlqt +perlqt_PATH= ${KDE4_PREFIX}/bin/puic4 -.if ${KDE4_BRANCH} == "unstable" -WITH_DEBUG=yes -.endif +pimlibs_PORT= deskutils/kdepimlibs4 +pimlibs_PATH= ${KDE4_PREFIX}/lib/libkpimutils.so.5 -.if defined(WITH_DEBUG) -CMAKE_BUILD_TYPE= DebugFull -.endif +pykde4_PORT= devel/kdebindings4-python-pykde4 +pykde4_PATH= ${KDE4_PREFIX}/lib/kde4/kpythonpluginfactory.so +pykde4_TYPE= run -PLIST_SUB+= KDE4_VERSION="${KDE4_VERSION}" +pykdeuic4_PORT= devel/kdebindings4-python-pykdeuic4 +pykdeuic4_PATH= ${LOCALBASE}/bin/pykdeuic4 +pykdeuic4_TYPE= run -USE_LDCONFIG= yes +qtruby_PORT= devel/kdebindings4-ruby-qtruby +qtruby_PATH= ${KDE4_PREFIX}/lib/libqtruby4shared.so.2 -USE_CMAKE= yes -CMAKE_SOURCE_PATH= ${WRKSRC} -CONFIGURE_WRKSRC= ${CMAKE_SOURCE_PATH}/build -BUILD_WRKSRC= ${CONFIGURE_WRKSRC} -INSTALL_WRKSRC?= ${BUILD_WRKSRC} +runtime_PORT= x11/kde4-runtime +runtime_PATH= ${KDE4_PREFIX}/bin/knotify4 -post-extract: kde-create-builddir +sharedmime_PORT= misc/kde4-shared-mime-info +sharedmime_PATH= kde4-shared-mime-info>=0 -kde-create-builddir: - ${MKDIR} ${BUILD_WRKSRC} +smokegen_PORT= devel/kdebindings4-smoke-smokegen +smokegen_PATH= ${KDE4_PREFIX}/lib/libsmokebase.so.3 -.endif # KDE4_BUILDENV +smokekde_PORT= devel/kdebindings4-smoke-smokekde +smokekde_PATH= ${KDE4_PREFIX}/lib/libsmokekdecore.so.3 -.endif #!defined(_POSTMKINCLUDED) && !defined(Kde_Pre_Include) +smokeqt_PORT= devel/kdebindings4-smoke-smokeqt +smokeqt_PATH= ${KDE4_PREFIX}/lib/libsmokeqtcore.so.3 -.if defined(_POSTMKINCLUDED) && !defined(Kde_Post_Include) +workspace_PORT= x11/kde4-workspace +workspace_PATH= ${KDE4_PREFIX}/lib/libkworkspace.so.5 -Kde_Post_Include= bsd.kde4.mk +akonadi_PORT= databases/akonadi +akonadi_PATH= ${KDE4_PREFIX}/lib/libakonadiprotocolinternals.so.1 + +attica_PORT= x11-toolkits/attica +attica_PATH= ${LOCALBASE}/lib/libattica.so.0 + +automoc4_PORT= devel/automoc4 +automoc4_PATH= ${LOCALBASE}/bin/automoc4 +automoc4_TYPE= build + +ontologies_PORT= x11-toolkits/shared-desktop-ontologies +ontologies_PATH= ${LOCALBASE}/share/ontology/core/rdf.ontology + +qimageblitz_PORT= x11/qimageblitz +qimageblitz_PATH= ${LOCALBASE}/lib/libqimageblitz.so.4 + +soprano_PORT= textproc/soprano +soprano_PATH= ${LOCALBASE}/lib/libsoprano.so.4 -.for component in ${USE_KDE4} -. if ${_USE_KDE4_ALL:M${component}}!="" -BUILD_DEPENDS+= ${${component}_BUILD_DEPENDS} -LIB_DEPENDS+= ${${component}_LIB_DEPENDS} -RUN_DEPENDS+= ${${component}_RUN_DEPENDS} -. if defined(${component}_PREFIX) -. if ${.MAKEFLAGS:MPREFIX=*}=="" -PREFIX= ${${component}_PREFIX} -. if ${KDE4_PREFIX} != ${LOCALBASE} -NO_MTREE= yes +strigi_PORT= deskutils/strigi +strigi_PATH= ${LOCALBASE}/lib/libstreamanalyzer.so.0 + +# Iterate through components deprived of suffix. +.for component in ${USE_KDE4:O:u:C/_.+//} + # Check that the component is valid. +. if ${_USE_KDE4_ALL:M${component}} != "" + # Skip meta-components (e.g., kdeprefix). +. if defined(${component}_PORT) && defined(${component}_PATH) +${component}_DEPENDS= ${${component}_PATH}:${PORTSDIR}/${${component}_PORT} + # Check if a dependency type is explicitly requested. +. if ${USE_KDE4:M${component}_*} != "" && ${USE_KDE4:M${component}} == "" +${component}_TYPE= # empty +. if ${USE_KDE4:M${component}_build} != "" +${component}_TYPE+= build +. endif +. if ${USE_KDE4:M${component}_run} != "" +${component}_TYPE+= run . endif +. endif # ${USE_KDE4:M${component}_*} != "" && ${USE_KDE4:M${component}} == "" + # If no dependency type is set, default to full dependency. +. if !defined(${component}_TYPE) +${component}_TYPE= build run . endif -. endif -. else -IGNORE= cannot install: Unknown component ${component} -. endif + # Set real dependencies. +. if ${${component}_TYPE:Mbuild} != "" +BUILD_DEPENDS+= ${${component}_DEPENDS} +. endif +. if ${${component}_TYPE:Mrun} != "" +RUN_DEPENDS+= ${${component}_DEPENDS} +. endif +. endif # defined(${component}_PORT) && defined(${component}_PATH) +. else # ! ${_USE_KDE4_ALL:M${component}} != "" +IGNORE= can't be installed: unknown USE_KDE4 component '${component}' +. endif # ${_USE_KDE4_ALL:M${component}} != "" .endfor -.endif #defined(_POSTMKINCLUDED) && !defined(Kde_Post_Include) +.endif # defined(_POSTMKINCLUDED) && !defined(Kde_Post_Include) |