aboutsummaryrefslogtreecommitdiff
path: root/x11/kde-workspace-kde4/Makefile
blob: 42891d21ed777692b79031288a7af8ac374b147a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
# $FreeBSD$

PORTNAME=	kde-workspace
PORTVERSION=	${KDE4_WORKSPACE_VERSION}
PORTREVISION=	21
CATEGORIES=	x11 kde kde-applications
PKGNAMESUFFIX=	-kde4

MAINTAINER=	kde@FreeBSD.org
COMMENT=	KDE Plasma Desktop

LIB_DEPENDS=	libdbus-1.so:devel/dbus \
		libck-connector.so:sysutils/consolekit2 \
		libpci.so:devel/libpci \
		libhal.so:sysutils/hal \
		libqjson.so:devel/qjson@qt4 \
		libcln.so:math/cln \
		libqalculate.so:math/libqalculate \
		libprison.so:graphics/prison \
		libboost_thread.so:devel/boost-libs \
		libdbusmenu-qt.so:devel/libdbusmenu-qt@qt4 \
		libfontconfig.so:x11-fonts/fontconfig \
		libfreetype.so:print/freetype2 \
		libpng.so:graphics/png \
		libxcb-render-util.so:x11/xcb-util-renderutil \
		libxcb-image.so:x11/xcb-util-image \
		libxcb-keysyms.so:x11/xcb-util-keysyms
BUILD_DEPENDS=	xrdb:x11/xrdb
RUN_DEPENDS=	${KDE_PREFIX}/env/xdg-env.sh:misc/kde4-xdg-env \
		${LOCALBASE}/share/icons/hicolor/index.theme:misc/hicolor-icon-theme \
		xprop:x11/xprop \
		xsetroot:x11/xsetroot \
		xmessage:x11/xmessage \
		xrdb:x11/xrdb \
		mkfontdir:x11-fonts/mkfontdir \
		xset:x11/xset \
		setxkbmap:x11/setxkbmap \
		${KDE_PREFIX}/bin/ksysguardd:sysutils/ksysguardd-kde4 \
		${KDE_PREFIX}/lib/kde4/libexec/polkit-kde-authentication-agent-1:sysutils/polkit-kde \
		${KDE_PREFIX}/lib/kde4/libexec/polkitkde1helper:sysutils/kcm-polkit-kde \
		${LOCALBASE}/etc/pam.d/kde:security/pam_kde \
		${KDE_PREFIX}/share/apps/ksplash/Themes/Default/Theme.rc:x11-themes/kde-base-artwork-kde4

USES=		cmake:outsource,noninja compiler:c++11-lib gettext gmake jpeg kde:4 \
		pkgconfig shebangfix tar:xz
USE_GL=		gl glu
USE_GNOME=	glib20 libxml2
USE_KDE=	kactivities kdelibs nepomuk-core oxygen-icons5 \
		pimlibs akonadi automoc4 ontologies qimageblitz soprano strigi
USE_QT4=	corelib dbus declarative designer_build gui network \
		opengl phonon qtestlib script sql svg webkit xml \
		moc_build qmake_build rcc_build uic_build
USE_XORG=	ice sm kbproto x11 xau xcb xcomposite xcursor xdamage xdmcp xext xfixes \
		xft xi xinerama xkbfile xpm xrandr xrender xres xscrnsaver xtst xxf86vm
SHEBANG_FILES=	kwin/clients/oxygen/data/update_oxygen.pl
USE_LDCONFIG=	yes

KDE_APPLICATIONS_VERSION=	15.08.0

# clang 6.0 defaults to -std=gnu++14, but the port fails with too many errors
# when built in C++11 (or later) mode.
USE_CXXSTD=	gnu++98

CMAKE_ARGS=	-DCMAKE_REQUIRED_FLAGS:STRING="-L${LOCALBASE}/lib" \
		-DBUILD_python:BOOL=OFF \
		-DBUILD_ruby:BOOL=OFF \
		-DWITH_Xmms:BOOL=OFF \
		-DWITH_UDev:BOOL=OFF

SUB_FILES=	pkg-message
USE_RC_SUBR=	kdm4

USERS=		kdm
GROUPS=		kdm

OPTIONS_DEFINE=	GLES GPS KACTIVITY UPOWER WALLPAPERS
OPTIONS_GROUP=	PHONON PLASMA
OPTIONS_GROUP_PHONON=	GSTREAMER VLC
OPTIONS_GROUP_PLASMA=	PYTHON RUBY
OPTIONS_DEFAULT=	GLES GPS KACTIVITY UPOWER VLC WALLPAPERS
OPTIONS_SUB=	yes # GPS GLES

GLES_DESC=	OpenGL ES 2.0 support in kwin and kinfocenter
GLES_USE=	GL=egl,glesv2
GLES_CMAKE_OFF=	-DWITH_OpenGLES=off

GPS_DESC=	GPS geolocation via gpsd
GPS_LIB_DEPENDS=	libgps.so:astro/gpsd
GPS_CMAKE_ON=	-DWITH_libgps:BOOL=ON
GPS_CMAKE_OFF=	-DWITH_libgps:BOOL=OFF

GSTREAMER_DESC=	Multimedia via Phonon-GStreamer
GSTREAMER_USE=	QT4=phonon-gst_run

KACTIVITY_DESC=		Activity Manager daemon
KACTIVITY_RUN_DEPENDS=	${KDE_PREFIX}/bin/kactivitymanagerd:x11/kactivitymanagerd

PYTHON_DESC=		Python plasmoids support
PYTHON_RUN_DEPENDS=	${KDE_PREFIX}/share/apps/plasma_scriptengine_python/plasma_importer.py:x11/plasma-scriptengine-python-kde4

RUBY_DESC=		Ruby plasmoids support
RUBY_RUN_DEPENDS=	${KDE_PREFIX}/share/apps/plasma_scriptengine_ruby/applet.rb:x11/plasma-scriptengine-ruby-kde4

UPOWER_DESC=		Power management via UPower
UPOWER_RUN_DEPENDS=	${LOCALBASE}/libexec/upowerd:sysutils/upower

VLC_DESC=		Multimedia via Phonon-VLC
VLC_RUN_DEPENDS=	${KDE_PREFIX}/lib/kde4/plugins/phonon_backend/phonon_vlc.so:multimedia/phonon-vlc@qt4

WALLPAPERS_DESC=	Install official KDE wallpapers
WALLPAPERS_RUN_DEPENDS=	${KDE_PREFIX}/share/wallpapers/Horos/metadata.desktop:x11-themes/kde-wallpapers-kde4 \
			${KDE_PREFIX}/share/wallpapers/stripes-freebsd-blue/metadata.desktop:x11-themes/wallpapers-freebsd-kde4

.if !exists(/usr/lib/libutempter.so)
LIB_DEPENDS+=	libutempter.so:sysutils/libutempter
.endif

post-patch:
	@${REINPLACE_CMD} -e 's,/usr/local,${LOCALBASE},g' \
		${PATCH_WRKSRC}/startkde.cmake \
		${PATCH_WRKSRC}/kcontrol/kfontinst/lib/KfiConstants.h \
		${PATCH_WRKSRC}/kcontrol/kfontinst/kio/KioFonts.cpp \
		${PATCH_WRKSRC}/kcontrol/keyboard/x11_helper.cpp \
		${PATCH_WRKSRC}/kdm/backend/client.c \
		${PATCH_WRKSRC}/kdm/kfrontend/genkdmconf.c \
		${PATCH_WRKSRC}/CMakeLists.txt

pre-configure:
	${REINPLACE_CMD} -e '/ksysguardd/ d' \
		${PATCH_WRKSRC}/ksysguard/CMakeLists.txt \
		${PATCH_WRKSRC}/ksysguard/example/CMakeLists.txt
	${REINPLACE_CMD} -e '/PolicyKit/ d' \
		${PATCH_WRKSRC}/doc/CMakeLists.txt

post-install:
	${RLN} ${STAGEDIR}${PREFIX}/bin/startkde ${STAGEDIR}${PREFIX}/bin/startkde4
# Install kde4.desktop to launch kde4 via sddm.
	${MKDIR} ${STAGEDIR}${PREFIX}/share/xsessions
	${INSTALL_DATA} ${FILESDIR}/kde4.desktop ${STAGEDIR}${PREFIX}/share/xsessions

post-install-GSTREAMER-on:
	@${HEAD} -1 ${PKGMESSAGE} >> ${PKGMESSAGE}

post-install-GSTREAMER-off:
	@${CAT} ${FILESDIR}/pkg-message.gstreamer >> ${PKGMESSAGE}
	@${HEAD} -1 ${PKGMESSAGE} >> ${PKGMESSAGE}

.include <bsd.port.mk>