aboutsummaryrefslogtreecommitdiffstats
path: root/Mk
diff options
context:
space:
mode:
Diffstat (limited to 'Mk')
-rw-r--r--Mk/bsd.kde4.mk244
-rw-r--r--Mk/bsd.port.mk15
2 files changed, 126 insertions, 133 deletions
diff --git a/Mk/bsd.kde4.mk b/Mk/bsd.kde4.mk
index b97852c46756..1dfb9ae87e35 100644
--- a/Mk/bsd.kde4.mk
+++ b/Mk/bsd.kde4.mk
@@ -3,27 +3,63 @@
#
# $FreeBSD$
#
-# Please view me with 4 column tabs!
+
+.if !defined(_POSTMKINCLUDED) && !defined(Kde_Pre_Include)
# 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_MAINTAINER= kde@FreeBSD.org
-
-# This section contains the USE_ definitions.
-# XXX: Write HAVE_ definitions sometime.
-
-# USE_QT_VER - Says that the port uses the Qt toolkit. Possible values:
-# 3, 4; each specify the major version of Qt to use.
-# Note: 4 is handled by bsd.qt.mk.
-# USE_KDELIBS_VER - Says that the port uses KDE libraries. Possible values:
-# 3 specifies the major version of KDE to use.
-# This implies USE_QT of the appropriate version.
-# USE_KDEBASE_VER - Says that the port uses the KDE base. Possible values:
-# 3 specifies the major version of KDE to use.
-# This implies USE_KDELIBS of the appropriate version.
-
-# tagged MASTER_SITE_KDE_kde
-kmaster= ${MASTER_SITE_KDE:S@%/@%/:kde@g}
+Kde_Pre_Include= bsd.kde4.mk
+Kde_Include_MAINTAINER= kde@FreeBSD.org
+
+#
+# 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.
+#
+# KDE4 related ports can use this as follows:
+#
+# USE_KDE4= kdehier kdeprefix kdelibs
+# USE_QT_VER= 4
+# QT_COMPONENTS=corelib #set additional qt4 components here
+#
+# .include <bsd.port.mk>
+#
+# Available KDE4 components are:
+#
+# akonadi - Akonadi PIM storage service
+# automoc4 - automoc4 tool
+# kdebase - Basic KDE applications (Konqueror, Dolphin)
+# kdehier - Provides common KDE directories
+# kdelibs - The base set of KDE4 libraries
+# kdeprefix - If set, port will be installed into ${KDE4_PREFIX} instead of ${LOCALBASE}
+# pimlibs - KDE4 PIM libraries
+# runtime - More KDE applications
+# sharedmime - share-mime-info wrapper for KDE4 ports
+# workspace - More KDE applications (Plasma, kwin, etc.)
+#
+# These read-only variables can be used in port 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.
+#
+
+KDE4_VERSION= 4.1.0
+
+#
+# KDE4 is installed into its own prefix to not conflict with KDE3
+#
+KDE4_PREFIX?= ${LOCALBASE}/kde4
+
+#
+# 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
@@ -31,128 +67,72 @@ ksub=${MASTER_SITE_SUBDIR}
MASTER_SITE_KDE_kde= ${kmaster:S@%SUBDIR%/@${ksub}/@g}
.endif # !defined(MASTER_SITE_SUBDIR)
-# USE_KDEBASE_VER section
-.if defined(USE_KDEBASE_VER)
-.if ${USE_KDEBASE_VER} == CVS
-LIB_DEPENDS+= kfontinst:${PORTSDIR}/x11/kdebase
-USE_KDELIBS_VER=CVS
-.elif ${USE_KDEBASE_VER} == 3
-# kdebase 3.x common stuff
-LIB_DEPENDS+= kfontinst:${PORTSDIR}/x11/kdebase3
-USE_KDELIBS_VER=3
-.endif # ${USE_KDEBASE_VER} == 3
-.endif # defined(USE_KDEBASE_VER)
+#
+# KDE4 modules
+#
+_USE_KDE4_ALL= akonadi automoc4 kdebase kdehier kdelibs kdeprefix \
+ pimlibs runtime sharedmime workspace
-# USE_KDELIBS_VER section
-.if defined(USE_KDELIBS_VER)
+akonadi_LIB_DEPENDS= akonadiprotocolinternals.1:${PORTSDIR}/databases/akonadi
-## This is needed for configure scripts to figure out
-## which threads lib to use
+automoc4_BUILD_DEPENDS= ${KDE4_PREFIX}/bin/automoc4:${PORTSDIR}/devel/automoc4
-CONFIGURE_ENV+= PTHREAD_LIBS="${PTHREAD_LIBS}"
+kdebase_LIB_DEPENDS= konq.7:${PORTSDIR}/x11/kdebase4
-## Every KDE application is inherently IPv6-capable
+kdehier_RUN_DEPENDS= kdehier4>=1:${PORTSDIR}/misc/kdehier4
-CATEGORIES+=ipv6
+kdelibs_LIB_DEPENDS= kimproxy.5:${PORTSDIR}/x11/kdelibs4
-## XXX - This really belongs into bsd.port.mk
-.if !defined(_NO_KDE_CONFTARGET_HACK)
-CONFIGURE_TARGET=
-CONFIGURE_ARGS+=--build=${MACHINE_ARCH}-portbld-freebsd${OSREL} \
- --x-libraries=${LOCALBASE}/lib --x-includes=${LOCALBASE}/include \
- --disable-as-needed
-.endif
+kdeprefix_PREFIX= ${KDE4_PREFIX}
-.if ${USE_KDELIBS_VER} == CVS
-LIB_DEPENDS+= kimproxy:${PORTSDIR}/x11/kdelibs
-USE_QT_VER= CVS
-PREFIX= ${KDE_CVS_PREFIX}
-.elif ${USE_KDELIBS_VER} == 3
-# kdelibs 3.x common stuff
-LIB_DEPENDS+= kimproxy:${PORTSDIR}/x11/kdelibs3
-USE_QT_VER= 3
-PREFIX= ${KDE_PREFIX}
-.else
-IGNORE= cannot install: unsupported value in USE_KDELIBS_VER
-.endif # ${USE_KDELIBS_VER} == 3
-.endif # defined(USE_KDELIBS_VER)
-
-# End of USE_KDELIBS_VER section
-
-# USE_QT_VER section
-.if ${USE_QT_VER} == CVS
-
-KDE_CVS_PREFIX?= ${LOCALBASE}/kde-cvs
-QT_CVS_PREFIX?= ${LOCALBASE}/qt-cvs
-QTCPPFLAGS?=
-QTCFGLIBS?=
-
-MOC?= ${QT_CVS_PREFIX}/bin/moc
-BUILD_DEPENDS+= ${MOC}:${PORTSDIR}/x11-toolkits/qt-copy
-RUN_DEPENDS+= ${MOC}:${PORTSDIR}/x11-toolkits/qt-copy
-QTCPPFLAGS+= -D_GETOPT_H # added to work around broken getopt.h #inc
-.if !defined (QT_NONSTANDARD)
-CONFIGURE_ARGS+=--with-extra-libs="${LOCALBASE}/lib" \
- --with-extra-includes="${LOCALBASE}/include"
-CONFIGURE_ENV+= MOC="${MOC}" CPPFLAGS="${CPPFLAGS} ${QTCPPFLAGS}" LIBS="${QTCFGLIBS}" \
- QTDIR="${QT_CVS_PREFIX}" KDEDIR="${KDE_CVS_PREFIX}"
-.endif
+pimlibs_LIB_DEPENDS= kpimutils.5:${PORTSDIR}/deskutils/kdepimlibs4
+
+runtime_BUILD_DEPENDS= ${KDE4_PREFIX}/bin/kdebugdialog:${PORTSDIR}/x11/kdebase4-runtime
+runtime_RUN_DEPENDS= ${KDE4_PREFIX}/bin/kdebugdialog:${PORTSDIR}/x11/kdebase4-runtime
+
+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
+
+workspace_LIB_DEPENDS= kscreensaver.5:${PORTSDIR}/x11/kdebase4-workspace
-.elif ${USE_QT_VER} == 3
-
-# Yeah, it's namespace pollution, but this is really the best place for this
-# stuff. Arts does NOT use it anymore.
-KDE_VERSION= 3.5.8
-KDE_ORIGVER= ${KDE_VERSION}
-KDE_PREFIX?= ${LOCALBASE}
-
-QTCPPFLAGS?=
-QTCGFLIBS?=
-
-# Qt 3.x common stuff
-QT_PREFIX?= ${LOCALBASE}
-MOC?= ${QT_PREFIX}/bin/moc
-#LIB_DEPENDS+= qt-mt.3:${PORTSDIR}/x11-toolkits/qt33
-BUILD_DEPENDS+= ${QT_PREFIX}/bin/moc:${PORTSDIR}/x11-toolkits/qt33
-RUN_DEPENDS+= ${QT_PREFIX}/bin/moc:${PORTSDIR}/x11-toolkits/qt33
-QTCPPFLAGS+= -I${LOCALBASE}/include -I${PREFIX}/include \
- -I${QT_PREFIX}/include -D_GETOPT_H
-QTCFGLIBS+= -Wl,-export-dynamic -L${LOCALBASE}/lib -ljpeg \
- -L${QT_PREFIX}/lib
-.if defined(PACKAGE_BUILDING)
-TMPDIR?= /tmp
-MAKE_ENV+= TMPDIR="${TMPDIR}"
-CONFIGURE_ENV+= TMPDIR="${TMPDIR}"
.endif
-.if !defined(QT_NONSTANDARD)
-CONFIGURE_ARGS+=--with-qt-includes=${QT_PREFIX}/include \
- --with-qt-libraries=${QT_PREFIX}/lib \
- --with-extra-libs=${LOCALBASE}/lib \
- --with-extra-includes=${LOCALBASE}/include
-CONFIGURE_ENV+= MOC="${MOC}" CPPFLAGS="${CPPFLAGS} ${QTCPPFLAGS}" LIBS="${QTCFGLIBS}" \
- QTDIR="${QT_PREFIX}" KDEDIR="${KDE_PREFIX}"
-.endif # !defined(QT_NONSTANDARD)
+.if defined(_POSTMKINCLUDED) && !defined(Kde_Post_Include)
+
+Kde_Post_Include= bsd.kde4.mk
+
+.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
+. endif
+. endif
+. endif
+. else
+IGNORE= cannot install: Unknown component ${component}
+. endif
+.endfor
-.else
-IGNORE= cannot install: unsupported value of USE_QT_VER
-.endif # defined(USE_QT_VER)
-
-# End of USE_QT_VER section
-
-# Assemble plist from parts
-# <alane@freebsd.org> 2002-12-06
-.if defined(KDE_BUILD_PLIST)
-PLIST?= ${WRKDIR}/plist
-PLIST_BASE?= plist.base
-PLIST_APPEND?=
-plist_base=${FILESDIR}/${PLIST_BASE}
-plist_base_rm=${FILESDIR}/${PLIST_BASE}.rm
-plist_append=${PLIST_APPEND:C:([A-Za-z0-9._]+):${FILESDIR}/\1:}
-plist_append_rm=${PLIST_APPEND:C:([A-Za-z0-9._]+):${FILESDIR}/\1.rm:}
-kde-plist:
- ${CAT} ${plist_base} ${plist_append} 2>/dev/null >${PLIST}
- -${CAT} ${plist_append_rm} ${plist_base_rm} 2>/dev/null >>${PLIST};true
-.PHONY: kde-plist
-pre-build: kde-plist
-.endif # defined(KDE_BUILD_PLIST)
+#
+# Common build related stuff for kde4 ports. It's not intended for usage
+# in KDE4-dependent ports
+#
+.if defined(KDE4_BUILDENV)
+USE_CMAKE= yes
+CMAKE_DEBUG= yes
+CMAKE_VERBOSE= yes
+
+USE_LDCONFIG= ${KDE4_PREFIX}/lib ${KDE4_PREFIX}/lib/kde4
+
+WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}/build
+CMAKE_SOURCE_PATH= ..
+
+.endif # KDE4_BUILDENV
+
+.endif
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk
index 6466a3e83866..f9b5ce83a443 100644
--- a/Mk/bsd.port.mk
+++ b/Mk/bsd.port.mk
@@ -461,10 +461,15 @@ FreeBSD_MAINTAINER= portmgr@FreeBSD.org
# USE_KDELIBS_VER - Set to 3 to use the KDE libraries.
# Implies inclusion of bsd.kde.mk.
#
+# USE_KDE4 - A list of the KDE4 dependencies the port has (e.g.,
+# kdelibs, kdebase). Implies that the port needs KDE.
+# Implies inclusion of bsd.kde4.mk. See bsd.kde4.mk
+# for more details.
+#
# USE_QT_VER - Set to 3 or 4 to use the respective version
# of the QT libraries.
# Implies inclusion of bsd.kde.mk.
-##
+#
# USE_LINUX - Set to yes to say the port needs the default linux base port.
# Set to value <X>, if the port needs emulators/linux_base-<X>.
# If set to "7", a dependency is registered to emulators/linux_base.
@@ -1527,6 +1532,10 @@ PERL= ${LOCALBASE}/bin/perl
.include "${PORTSDIR}/Mk/bsd.xfce.mk"
.endif
+.if defined(USE_KDE4) || defined(KDE4_BUILDENV)
+.include "${PORTSDIR}/Mk/bsd.kde4.mk"
+.endif
+
# You can force skipping these test by defining IGNORE_PATH_CHECKS
.if !defined(IGNORE_PATH_CHECKS)
.if (${PREFIX:C,(^.).*,\1,} != "/")
@@ -2004,6 +2013,10 @@ PLIST_SUB+= PERL_VERSION=${PERL_VERSION} \
.include "${PORTSDIR}/Mk/bsd.xfce.mk"
.endif
+.if defined(USE_KDE4)
+.include "${PORTSDIR}/Mk/bsd.kde4.mk"
+.endif
+
.if defined(USE_CMAKE)
.include "${PORTSDIR}/Mk/bsd.cmake.mk"
.endif