1 # Created by: arved@FreeBSD.org
5 PORTVERSION= ${KDE4_KDELIBS_VERSION}
8 MASTER_SITES= KDE/${KDE4_APPLICATIONS_BRANCH}/applications/${KDE4_APPLICATIONS_VERSION}/src
9 DIST_SUBDIR= KDE/${PORTVERSION}
11 MAINTAINER= kde@FreeBSD.org
12 COMMENT= Base set of libraries needed by KDE programs
14 LIB_DEPENDS= libIlmImf.so:graphics/OpenEXR \
15 libjasper.so:graphics/jasper \
16 libpcre.so:devel/pcre \
17 libenchant.so:textproc/enchant \
18 libgif.so:graphics/giflib \
19 libpng.so:graphics/png \
20 libhal.so:sysutils/hal \
22 libpolkit-qt-core-1.so:sysutils/polkit-qt \
23 libdbusmenu-qt.so:devel/libdbusmenu-qt
25 BUILD_DEPENDS= docbook-xml>0:textproc/docbook-xml \
26 ${LOCALBASE}/share/xsl/docbook/html/docbook.xsl:textproc/docbook-xsl
28 RUN_DEPENDS= ${LOCALBASE}/share/icons/hicolor/index.theme:misc/hicolor-icon-theme \
30 docbook-xml>0:textproc/docbook-xml \
31 ${LOCALBASE}/share/xsl/docbook/html/docbook.xsl:textproc/docbook-xsl
33 USES= cmake:outsource fam gettext grantlee:4 jpeg kde:4 perl5 \
34 shared-mime-info shebangfix tar:xz
35 USE_GNOME= libxml2 libxslt
36 USE_KDE= oxygen-icons4 \
37 attica automoc4 ontologies soprano strigi
39 USE_QT4= corelib dbus declarative designer_build gui \
40 network opengl phonon qt3support \
41 qtestlib script sql svg webkit xml \
42 moc_build qmake_build rcc_build uic_build \
43 imageformats_run qdbusviewer_run
44 USE_XORG= sm x11 xcursor xext xfixes xft xpm xrender xtst
46 MAKE_ENV= XDG_CONFIG_HOME=/dev/null
48 CMAKE_ARGS+= -DWITH_ACL:BOOL=Off \
50 -DWITH_ASPELL:BOOL=Off \
51 -DWITH_HSPELL:BOOL=Off \
52 -DWITH_UDev:BOOL=Off \
53 -DKDE_DISTRIBUTION_TEXT:STRING="${OPSYS}" \
54 -DKDE_DEFAULT_HOME:STRING=".kde4"
56 # Do not conflict with KDE Frameworks 5 headers: instead of installing kdelibs4
57 # headers directly into ${LOCALBASE}/include, put them into include/kde4 (this
58 # also applies to all ports depending on kdelibs4 that derive their header
59 # installation location from it).
60 # If we install the headers directly into ${LOCALBASE}/include, with KDE
61 # Frameworks 5 installed it is possible to end up in a situation where the
62 # compiler is passed this:
63 # -I${LOCALBASE}/include -I${LOCALBASE}/KF5
64 # which in turn leads to kdelibs4 headers with the same name being used instead
65 # of the KF5 ones, possibly breaking the build.
66 CMAKE_ARGS+= -DINCLUDE_INSTALL_DIR:PATH="${KDE_PREFIX}/include/kde4"
68 SHEBANG_FILES= kdecore/kconfig_compiler/checkkcfg.pl \
70 khtml/bindings/scripts/generate-bindings.pl \
71 kio/misc/fileshareset \
74 kioslave/http/kcookiejar/kcookiescfg.pl
76 OPTIONS_DEFINE= AVAHI UPNP
79 AVAHI_LIB_DEPENDS= libavahi-core.so:net/avahi-app
81 UPNP_DESC= UPnP backend for Solid (WARNING: Unstable)
82 UPNP_LIB_DEPENDS= libHUpnp.so:net/hupnp
83 UPNP_CMAKE_ON= -DHUPNP_ENABLED:BOOL=On
86 ${REINPLACE_CMD} -e 's,/usr/local,${LOCALBASE},g' \
87 ${PATCH_WRKSRC}/kde3support/kdeui/k3sconfig.cpp \
88 ${PATCH_WRKSRC}/kdecore/network/k3socks.cpp \
89 ${PATCH_WRKSRC}/kdecore/kernel/kstandarddirs.cpp \
90 ${PATCH_WRKSRC}/kdeui/dialogs/kcupsoptionswidget_p.cpp \
91 ${PATCH_WRKSRC}/kdeui/kernel/start-session-bus.sh \
92 ${PATCH_WRKSRC}/kio/kssl/kopenssl.cpp \
93 ${PATCH_WRKSRC}/kio/kio/ksambashare.cpp \
94 ${PATCH_WRKSRC}/kjsembed/qtonly/FindQJSInternal.cmake
95 # Fix rgb named colors database path.
96 ${REINPLACE_CMD} -e 's|/usr/X11R6|${LOCALBASE}|g' \
97 ${PATCH_WRKSRC}/kdeui/colors/kcolordialog.cpp
100 ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|g' \
101 -e 's|/usr/X11R6|${LOCALBASE}|g' \
102 ${PATCH_WRKSRC}/cmake/modules/*.cmake \
103 ${PATCH_WRKSRC}/ConfigureChecks.cmake \
104 ${PATCH_WRKSRC}/doc/api/doxygen.sh
105 ${REINPLACE_CMD} -e 's|/usr/include|${LOCALBASE}/include|g' \
106 ${PATCH_WRKSRC}/cmake/modules/FindDNSSD.cmake
107 ${REINPLACE_CMD} -e 's|soprano/cmake|cmake/Modules|g' \
108 ${PATCH_WRKSRC}/cmake/modules/FindSoprano.cmake
109 # FindBerkeleyDB.cmake should be rewritten to support multiple version
110 # provided by ports, instead of hardcoding one of them
111 # ${REINPLACE_CMD} -e 's|/usr/local/include/db4|${BDB_INCLUDE_DIR}|' \
112 # -e 's|NAMES db|NAMES ${BDB_LIB_NAME} ${LOCALBASE}/lib|' \
113 # ${PATCH_WRKSRC}/cmake/modules/FindBerkeleyDB.cmake
114 # When XSync (xext) is found, xscreensaver is just used as a fallback,
115 # then we can disable it.
116 ${REINPLACE_CMD} -e '/macro_bool_to_01/ s|^.*X11_Xscreensaver.*$$|set(HAVE_XSCREENSAVER 0)|' \
117 ${PATCH_WRKSRC}/CMakeLists.txt
120 # workaround for non-standard mime files and directories
121 ${MKDIR} ${STAGEDIR}/${PREFIX}/share/mime/all \
122 ${STAGEDIR}/${PREFIX}/share/mime/uri
124 .include <bsd.port.mk>