# Provides support for KDE and KF5-based ports. # # Feature: kde # Valid ARGS: 5 # # 5: Depend on KDE Frameworks 5 components and variables. # # Variables that can be set by a port: # # USE_KDE List of KF5/Plasma5 components (other ports) that this # port depends on. # * foo_build Add a build-time dependency (BUILD_DEPENDS) # * foo_run Add a run-time dependency (RUN_DEPENDS) # * foo (default) Add both dependencies on component , or # a LIB_DEPENDS if applicable. # # To simplify the ports, also: # CATEGORIES If the port is part of one of the KDE Software distribution, # it can add, in addition to 'kde' one of the following: # kde-applications: part of applications release # kde-frameworks: part of frameworks release # kde-plasma: part of plasma release # this will then set default values for MASTER_SITES and DIST_SUBDIR # as well as CPE_VENDOR and LICENSE. # # option DOCS If the port is part of kde-applications (see CATEGORIES, # above) and has an option defined for DOCS then a dependency # for doctools_build is added. The option itself doesn't # have to do anything -- the dependency is always there. # # KDE_INVENT If the port does not have a regular release, and should # be fetched from KDE Invent (a GitLab instance) it can set # KDE_INVENT to 3 space-separated values: # * a full 40-character commit hash # * a category name inside KDE Invent # * a repository name inside KDE Invent # Default values for category and name are: # * the first item in CATEGORIES that is not "kde"; this # is useful when the FreeBSD ports category and the KDE # category are the same (which happens sometimes) # * PORTNAME, often the FreeBSD port name is the same # as the upstream name and it will not need to be specified. # Sometimes `KDE_INVENT=` will do and often # `KDE_INVENT= ` is enough. # # Setting KDE_INVENT is the equivalent of a handful of USE_GITLAB # and related settings. # # MAINTAINER: kde@FreeBSD.org .if !defined(_INCLUDE_USES_KDE_MK) _INCLUDE_USES_KDE_MK= yes _KDE_SUPPORTED= 5 . if empty(kde_ARGS) IGNORE= kde needs a version (${_KDE_SUPPORTED}) . endif . for ver in ${_KDE_SUPPORTED:O:u} . if ${kde_ARGS:M${ver}} . if !defined(_KDE_VERSION) _KDE_VERSION= ${ver} . else IGNORE?= cannot be installed: different KDE versions specified via kde:[${_KDE_SUPPORTED:S/ //g}] #' . endif . endif . endfor . if empty(_KDE_VERSION) IGNORE?= kde:[${_KDE_SUPPORTED:S/ //g}] needs an argument #' . else _KDE_RELNAME= KDE${_KDE_VERSION} # === VERSIONS OF THE DIFFERENT COMPONENTS ===================================== # Current KDE desktop. KDE_PLASMA_VERSION?= 5.24.3 KDE_PLASMA_BRANCH?= stable # Current KDE frameworks. KDE_FRAMEWORKS_VERSION?= 5.91.0 KDE_FRAMEWORKS_BRANCH?= stable # Current KDE applications. KDE_APPLICATIONS_VERSION?= 21.12.3 KDE_APPLICATIONS_SHLIB_VER?= 5.19.3 # G as in KDE Gear, and as in "don't make the variable name longer than required" KDE_APPLICATIONS_SHLIB_G_VER?= 21.12.3 KDE_APPLICATIONS_BRANCH?= stable # Extended KDE universe applications. CALLIGRA_VERSION?= 2.9.11 CALLIGRA_BRANCH?= stable # ============================================================================== # === INSTALLATION PREFIXES AND HEADER LOCATION ================================ # Define unversioned prefix variable. KDE_PREFIX= ${LOCALBASE} # ============================================================================== # === CATEGORIES HANDLING -- SETTING DEFAULT VALUES ============================ # Doing MASTER_SITES magic based on the category of the port _KDE_CATEGORIES_SUPPORTED= kde-applications kde-frameworks kde-plasma . for cat in ${_KDE_CATEGORIES_SUPPORTED} . if ${CATEGORIES:M${cat}} . if !defined(_KDE_CATEGORY) _KDE_CATEGORY= ${cat} . else IGNORE?= cannot be installed: multiple kde-<...> categories specified via CATEGORIES=${CATEGORIES} #' . endif . endif . endfor # Doing source-selection if the sources are on KDE invent . if defined(KDE_INVENT) _invent_hash= ${KDE_INVENT:[1]} _invent_category= ${KDE_INVENT:[2]} _invent_name= ${KDE_INVENT:[3]} # Fill in default values if bits are missing . if empty(_invent_category) _invent_category= ${CATEGORIES:Nkde:[1]} . endif . if empty(_invent_name) _invent_name= ${PORTNAME} . endif # If valid, use it for GitLab . if empty(_invent_hash) || empty(_invent_category) || empty(_invent_name) IGNORE?= invalid KDE_INVENT value '${KDE_INVENT}' . else USE_GITLAB= yes GL_SITE= https://invent.kde.org GL_ACCOUNT= ${_invent_category} GL_PROJECT= ${_invent_name} GL_COMMIT= ${_invent_hash} . endif . endif . if defined(_KDE_CATEGORY) # KDE is normally licensed under the LGPL 2.0. LICENSE?= LGPL20 # Set CPE Vendor Information # As _KDE_CATEGORY is set we can assume it is port release by KDE and the # vendor is therefore kde. CPE_VENDOR?= kde . if ${_KDE_CATEGORY:Mkde-applications} PORTVERSION?= ${KDE_APPLICATIONS_VERSION} MASTER_SITES?= KDE/${KDE_APPLICATIONS_BRANCH}/release-service/${KDE_APPLICATIONS_VERSION}/src # Let bsd.port.mk create the plist-entries for the documentation. # KDE Applications ports install their documentation to # ${PREFIX}/share/doc. This is only done if the port # defines OPTION DOCS -- the _KDE_OPTIONS here is to # avoid make errors when there are no options defined at all. _KDE_OPTIONS= bogus ${OPTIONS_DEFINE} . if ${_KDE_OPTIONS:MDOCS} DOCSDIR= ${PREFIX}/share/doc PORTDOCS?= HTML/* USE_KDE+= doctools_build . endif # Further pass along a SHLIB_VER PLIST_SUB PLIST_SUB+= KDE_APPLICATIONS_SHLIB_VER=${KDE_APPLICATIONS_SHLIB_VER} \ KDE_APPLICATIONS_VERSION_SHORT="${KDE_APPLICATIONS_VERSION:R:R}" DIST_SUBDIR?= KDE/release-service/${KDE_APPLICATIONS_VERSION} . elif ${_KDE_CATEGORY:Mkde-plasma} PORTVERSION?= ${KDE_PLASMA_VERSION} PKGNAMEPREFIX?= plasma5- MASTER_SITES?= KDE/${KDE_PLASMA_BRANCH}/plasma/${KDE_PLASMA_VERSION} DIST_SUBDIR?= KDE/plasma/${KDE_PLASMA_VERSION} . elif ${_KDE_CATEGORY:Mkde-frameworks} PORTVERSION?= ${KDE_FRAMEWORKS_VERSION} PKGNAMEPREFIX?= kf5- # This is a slight duplication of _USE_FRAMEWORKS_PORTING -- it maybe would be # better to rely on ${_USE_FRAMEWORKS_PORTING:S/^/k/g} _PORTINGAIDS= kjs kjsembed kdelibs4support kdesignerplugin kdewebkit khtml kmediaplayer kross kxmlrpcclient . if ${_PORTINGAIDS:M*${PORTNAME}*} MASTER_SITES?= KDE/${KDE_FRAMEWORKS_BRANCH}/frameworks/${KDE_FRAMEWORKS_VERSION:R}/portingAids . else MASTER_SITES?= KDE/${KDE_FRAMEWORKS_BRANCH}/frameworks/${KDE_FRAMEWORKS_VERSION:R} . endif DIST_SUBDIR?= KDE/frameworks/${KDE_FRAMEWORKS_VERSION} . else IGNORE?= unknown CATEGORY value '${_KDE_CATEGORY}' #' . endif . endif #defined(_KDE_CATEGORY) # ============================================================================== # === SET UP CMAKE ENVIRONMENT ================================================= # Help cmake to find files when testing ports with non-default PREFIX. CMAKE_ARGS+= -DCMAKE_PREFIX_PATH="${LOCALBASE}" # We set KDE_INSTALL_USE_QT_SYS_PATHS to install mkspecs files, plugins and # imports to the Qt 5 install directory. CMAKE_ARGS+= -DCMAKE_MODULE_PATH="${LOCALBASE};${KDE_PREFIX}" \ -DCMAKE_INSTALL_PREFIX="${KDE_PREFIX}" \ -DKDE_INSTALL_USE_QT_SYS_PATHS:BOOL=true # Set man-page installation prefix. CMAKE_ARGS+= -DKDE_INSTALL_MANDIR:PATH="${KDE_PREFIX}/man" \ -DMAN_INSTALL_DIR:PATH="${KDE_PREFIX}/man" # Disable autotests unless TEST_TARGET is defined. . if !defined(TEST_TARGET) CMAKE_ARGS+= -DBUILD_TESTING:BOOL=false . endif # ============================================================================== # === SET UP PLIST_SUB ========================================================= # Prefix and include directory. PLIST_SUB+= KDE_PREFIX="${KDE_PREFIX}" # KDE Applications version. PLIST_SUB+= KDE_APPLICATIONS_VERSION="${KDE_APPLICATIONS_VERSION}" \ KDE_FRAMEWORKS_VERSION="${KDE_FRAMEWORKS_VERSION}" \ KDE_PLASMA_VERSION="${KDE_PLASMA_VERSION}" # ============================================================================== _USE_KDE_BOTH= akonadi attica libkcddb libkcompactdisc libkdcraw libkdegames \ libkeduvocdocument libkexiv2 libkipi libksane okular \ baloo baloo-widgets kate marble # List of components of the KDE Frameworks distribution. # The *_TIER variables are internal, primarily for checking # that our list of frameworks matches the structure offered upstream. _USE_FRAMEWORKS_TIER1= apidox archive attica5 breeze-icons codecs config \ coreaddons dbusaddons dnssd holidays i18n idletime itemmodels \ itemviews kirigami2 kquickcharts oxygen-icons5 plotting prison \ qqc2-desktop-style solid sonnet syntaxhighlighting \ threadweaver wayland widgetsaddons windowsystem # NOT LISTED TIER1: modemmanagerqt networkmanagerqt (not applicable) _USE_FRAMEWORKS_TIER2= auth completion crash doctools \ filemetadata kimageformats jobwidgets notifications \ package pty syndication unitconversion _USE_FRAMEWORKS_TIER3= activities activities-stats baloo5 bookmarks configwidgets \ designerplugin emoticons globalaccel guiaddons \ iconthemes init kcmutils kdav kdeclarative \ kded kdesu kdewebkit kio kwayland-server newstuff notifyconfig parts \ people plasma-framework purpose runner service texteditor \ textwidgets wallet xmlgui xmlrpcclient _USE_FRAMEWORKS_TIER4= frameworkintegration calendarcore contacts # Porting Aids frameworks provide code and utilities to ease the transition from # kdelibs 4 to KDE Frameworks 5. Code should aim to port away from this framework, # new projects should avoid using these libraries. _USE_FRAMEWORKS_PORTING=js jsembed kdelibs4support khtml mediaplayer kross _USE_FRAMEWORKS_ALL= ecm \ ${_USE_FRAMEWORKS_TIER1} \ ${_USE_FRAMEWORKS_TIER2} \ ${_USE_FRAMEWORKS_TIER3} \ ${_USE_FRAMEWORKS_TIER4} \ ${_USE_FRAMEWORKS_PORTING} \ ${_USE_FRAMEWORKS_EXTRA} \ kpublictransport kosm \ plasma-wayland-protocols # List of components of the KDE Plasma distribution. _USE_PLASMA_ALL= activitymanagerd breeze breeze-gtk \ decoration discover drkonqi hotkeys \ infocenter kde-cli-tools kde-gtk-config \ kdeplasma-addons kgamma5 kmenuedit kscreen \ kscreenlocker ksshaskpass ksysguard ksystemstats kwallet-pam \ kwayland-integration kwin kwrited layer-shell-qt libkscreen \ libksysguard milou oxygen plasma-browser-integration \ plasma-desktop plasma-disks plasma-integration plasma-pa \ plasma-sdk plasma-workspace plasma-workspace-wallpapers \ polkit-kde-agent-1 powerdevil systemsettings # List of components of the KDE PIM distribution (part of applications). _USE_KDEPIM5_ALL= akonadicontacts akonadiimportwizard akonadimime akonadinotes \ akonadicalendar akonadisearch alarmcalendar \ calendarcore calendarsupport calendarutils \ contacts eventviews gapi grantleetheme \ gravatar identitymanagement imap \ incidenceeditor kdepim-addons \ kdepim-runtime5 kitinerary kontactinterface kpkpass \ ksmtp ldap libkdepim libkleo libksieve mailcommon \ mailimporter mailtransport mbox messagelib \ mime pimcommon pimtextedit tnef \ kalarm kontact kmail mbox-importer \ akonadiconsole akregator grantlee-editor kaddressbook \ kalarm kmail-account-wizard kmail knotes kontact \ korganizer pim-data-exporter _USE_KDE5_ALL= ${_USE_FRAMEWORKS_ALL} \ ${_USE_PLASMA_ALL} \ ${_USE_KDEPIM5_ALL} \ ${_USE_KDE_BOTH} # ====================== frameworks components ================================= kde-activities_PORT= x11/kf5-kactivities kde-activities_LIB= libKF5Activities.so kde-activities-stats_PORT= x11/kf5-kactivities-stats kde-activities-stats_LIB= libKF5ActivitiesStats.so kde-apidox_PORT= devel/kf5-kapidox kde-apidox_PATH= ${KDE_PREFIX}/bin/kapidox_generate kde-apidox_TYPE= run kde-archive_PORT= archivers/kf5-karchive kde-archive_LIB= libKF5Archive.so kde-attica5_PORT= x11-toolkits/kf5-attica kde-attica5_LIB= libKF5Attica.so kde-auth_PORT= devel/kf5-kauth kde-auth_LIB= libKF5Auth.so kde-baloo5_PORT= sysutils/kf5-baloo kde-baloo5_LIB= libKF5Baloo.so kde-bookmarks_PORT= devel/kf5-kbookmarks kde-bookmarks_LIB= libKF5Bookmarks.so kde-breeze-icons_PORT= x11-themes/kf5-breeze-icons kde-breeze-icons_PATH= ${KDE_PREFIX}/share/icons/breeze/index.theme kde-breeze-icons_TYPE= run kde-codecs_PORT= textproc/kf5-kcodecs kde-codecs_LIB= libKF5Codecs.so kde-completion_PORT= x11-toolkits/kf5-kcompletion kde-completion_LIB= libKF5Completion.so kde-config_PORT= devel/kf5-kconfig kde-config_LIB= libKF5ConfigCore.so kde-configwidgets_PORT= x11-toolkits/kf5-kconfigwidgets kde-configwidgets_LIB= libKF5ConfigWidgets.so kde-coreaddons_PORT= devel/kf5-kcoreaddons kde-coreaddons_LIB= libKF5CoreAddons.so kde-crash_PORT= devel/kf5-kcrash kde-crash_LIB= libKF5Crash.so kde-dbusaddons_PORT= devel/kf5-kdbusaddons kde-dbusaddons_LIB= libKF5DBusAddons.so kde-designerplugin_PORT= x11-toolkits/kf5-kdesignerplugin kde-designerplugin_PATH= ${KDE_PREFIX}/bin/kgendesignerplugin kde-designerplugin_TYPE= run kde-dnssd_PORT= dns/kf5-kdnssd kde-dnssd_LIB= libKF5DNSSD.so kde-doctools_PORT= devel/kf5-kdoctools kde-doctools_PATH= ${KDE_PREFIX}/bin/meinproc5 kde-ecm_PORT= devel/kf5-extra-cmake-modules kde-ecm_PATH= ${LOCALBASE}/share/ECM/cmake/ECMConfig.cmake kde-emoticons_PORT= x11-themes/kf5-kemoticons kde-emoticons_LIB= libKF5Emoticons.so kde-filemetadata_PORT= devel/kf5-kfilemetadata kde-filemetadata_LIB= libKF5FileMetaData.so kde-frameworkintegration_PORT= x11/kf5-frameworkintegration kde-frameworkintegration_LIB= libKF5Style.so kde-globalaccel_PORT= x11/kf5-kglobalaccel kde-globalaccel_LIB= libKF5GlobalAccel.so kde-guiaddons_PORT= x11-toolkits/kf5-kguiaddons kde-guiaddons_LIB= libKF5GuiAddons.so kde-holidays_PORT= net/kf5-kholidays kde-holidays_LIB= libKF5Holidays.so kde-i18n_PORT= devel/kf5-ki18n kde-i18n_LIB= libKF5I18n.so kde-iconthemes_PORT= x11-themes/kf5-kiconthemes kde-iconthemes_LIB= libKF5IconThemes.so kde-idletime_PORT= devel/kf5-kidletime kde-idletime_LIB= libKF5IdleTime.so kde-init_PORT= x11/kf5-kinit kde-init_PATH= ${KDE_PREFIX}/bin/kdeinit5 kde-itemmodels_PORT= devel/kf5-kitemmodels kde-itemmodels_LIB= libKF5ItemModels.so kde-itemviews_PORT= x11-toolkits/kf5-kitemviews kde-itemviews_LIB= libKF5ItemViews.so kde-jobwidgets_PORT= x11-toolkits/kf5-kjobwidgets kde-jobwidgets_LIB= libKF5JobWidgets.so kde-js_PORT= www/kf5-kjs kde-js_LIB= libKF5JS.so kde-jsembed_PORT= www/kf5-kjsembed kde-jsembed_LIB= libKF5JsEmbed.so kde-kcmutils_PORT= devel/kf5-kcmutils kde-kcmutils_LIB= libKF5KCMUtils.so kde-kdeclarative_PORT= devel/kf5-kdeclarative kde-kdeclarative_LIB= libKF5Declarative.so kde-kded_PORT= x11/kf5-kded kde-kded_PATH= ${KDE_PREFIX}/bin/kded5 kde-kdelibs4support_PORT= x11/kf5-kdelibs4support kde-kdelibs4support_LIB= libKF5KDELibs4Support.so kde-kdesu_PORT= security/kf5-kdesu kde-kdesu_LIB= libKF5Su.so kde-kdewebkit_PORT= www/kf5-kdewebkit kde-kdewebkit_LIB= libKF5WebKit.so kde-khtml_PORT= www/kf5-khtml kde-khtml_LIB= libKF5KHtml.so kde-kimageformats_PORT= graphics/kf5-kimageformats kde-kimageformats_PATH= ${QT_PLUGINDIR}/imageformats/kimg_xcf.so kde-kimageformats_TYPE= run kde-kio_PORT= devel/kf5-kio kde-kio_LIB= libKF5KIOCore.so kde-kirigami2_PORT= x11-toolkits/kf5-kirigami2 kde-kirigami2_PATH= ${QT_QMLDIR}/org/kde/kirigami.2/libKirigamiPlugin.so kde-kquickcharts_PORT= graphics/kf5-kquickcharts kde-kquickcharts_PATH= ${QT_QMLDIR}/org/kde/quickcharts/controls/libchartscontrolsplugin.so kde-kross_PORT= lang/kf5-kross kde-kross_LIB= libKF5KrossCore.so kde-kwayland-server_PORT= x11/plasma5-kwayland-server kde-kwayland-server_LIB= libKWaylandServer.so kde-layer-shell-qt_PORT= x11/plasma5-layer-shell-qt kde-layer-shell-qt_LIB= libLayerShellQtInterface.so kde-mediaplayer_PORT= multimedia/kf5-kmediaplayer kde-mediaplayer_LIB= libKF5MediaPlayer.so.5 kde-newstuff_PORT= devel/kf5-knewstuff kde-newstuff_LIB= libKF5NewStuff.so kde-notifications_PORT= devel/kf5-knotifications kde-notifications_LIB= libKF5Notifications.so kde-notifyconfig_PORT= devel/kf5-knotifyconfig kde-notifyconfig_LIB= libKF5NotifyConfig.so kde-oxygen-icons5_PORT= x11-themes/kf5-oxygen-icons5 kde-oxygen-icons5_PATH= ${KDE_PREFIX}/share/icons/oxygen/index.theme kde-oxygen-icons5_TYPE= run kde-package_PORT= devel/kf5-kpackage kde-package_LIB= libKF5Package.so kde-parts_PORT= devel/kf5-kparts kde-parts_LIB= libKF5Parts.so kde-people_PORT= devel/kf5-kpeople kde-people_LIB= libKF5People.so kde-plasma-framework_PORT= x11/kf5-plasma-framework kde-plasma-framework_LIB= libKF5Plasma.so kde-plasma-wayland-protocols_PORT= x11/plasma-wayland-protocols kde-plasma-wayland-protocols_PATH= ${KDE_PREFIX}/lib/cmake/PlasmaWaylandProtocols/PlasmaWaylandProtocolsConfig.cmake kde-plotting_PORT= graphics/kf5-kplotting kde-plotting_LIB= libKF5Plotting.so kde-prison_PORT= graphics/kf5-prison kde-prison_LIB= libKF5Prison.so kde-pty_PORT= devel/kf5-kpty kde-pty_LIB= libKF5Pty.so kde-purpose_PORT= misc/kf5-purpose kde-purpose_LIB= libKF5Purpose.so kde-qqc2-desktop-style_PORT= x11-themes/kf5-qqc2-desktop-style kde-qqc2-desktop-style_PATH= ${QT_PLUGINDIR}/kf5/kirigami/org.kde.desktop.so kde-runner_PORT= x11/kf5-krunner kde-runner_LIB= libKF5Runner.so kde-service_PORT= devel/kf5-kservice kde-service_PATH= ${KDE_PREFIX}/bin/kbuildsycoca5 kde-solid_PORT= devel/kf5-solid kde-solid_LIB= libKF5Solid.so kde-sonnet_PORT= textproc/kf5-sonnet kde-sonnet_LIB= libKF5SonnetCore.so kde-syndication_PORT= net/kf5-syndication kde-syndication_LIB= libKF5Syndication.so kde-syntaxhighlighting_PORT= textproc/kf5-syntax-highlighting kde-syntaxhighlighting_LIB= libKF5SyntaxHighlighting.so kde-texteditor_PORT= devel/kf5-ktexteditor kde-texteditor_LIB= libKF5TextEditor.so kde-textwidgets_PORT= x11-toolkits/kf5-ktextwidgets kde-textwidgets_LIB= libKF5TextWidgets.so kde-threadweaver_PORT= devel/kf5-threadweaver kde-threadweaver_LIB= libKF5ThreadWeaver.so kde-unitconversion_PORT= devel/kf5-kunitconversion kde-unitconversion_LIB= libKF5UnitConversion.so kde-wallet_PORT= sysutils/kf5-kwallet kde-wallet_LIB= libKF5Wallet.so kde-wayland_PORT= x11/kf5-kwayland kde-wayland_LIB= libKF5WaylandClient.so kde-widgetsaddons_PORT= x11-toolkits/kf5-kwidgetsaddons kde-widgetsaddons_LIB= libKF5WidgetsAddons.so kde-windowsystem_PORT= x11/kf5-kwindowsystem kde-windowsystem_LIB= libKF5WindowSystem.so kde-xmlgui_PORT= x11-toolkits/kf5-kxmlgui kde-xmlgui_LIB= libKF5XmlGui.so kde-xmlrpcclient_PORT= net/kf5-kxmlrpcclient kde-xmlrpcclient_LIB= libKF5XmlRpcClient.so # ====================== end of frameworks components ========================== # ====================== plasma components ===================================== kde-activitymanagerd_PORT= x11/plasma5-kactivitymanagerd kde-activitymanagerd_LIB= libkactivitymanagerd_plugin.so kde-breeze_PORT= x11-themes/plasma5-breeze kde-breeze_PATH= ${KDE_PREFIX}/share/QtCurve/Breeze.qtcurve kde-breeze-gtk_PORT= x11-themes/plasma5-breeze-gtk kde-breeze-gtk_PATH= ${KDE_PREFIX}/share/themes/Breeze/gtk-2.0/gtkrc kde-decoration_PORT= x11-wm/plasma5-kdecoration kde-decoration_LIB= libkdecorations2.so kde-discover_PORT= sysutils/plasma5-discover kde-discover_PATH= ${KDE_PREFIX}/bin/plasma-discover kde-drkonqi_PORT= sysutils/plasma5-drkonqi kde-drkonqi_PATH= ${KDE_PREFIX}/lib/libexec/drkonqi kde-hotkeys_PORT= devel/plasma5-khotkeys kde-hotkeys_LIB= libkhotkeysprivate.so.5 kde-infocenter_PORT= sysutils/plasma5-kinfocenter kde-infocenter_PATH= ${KDE_PREFIX}/bin/kinfocenter kde-kde-cli-tools_PORT= sysutils/plasma5-kde-cli-tools kde-kde-cli-tools_PATH= ${KDE_PREFIX}/bin/kcmshell5 kde-kde-gtk-config_PORT= x11-themes/plasma5-kde-gtk-config kde-kde-gtk-config_PATH= ${KDE_PREFIX}/lib/kconf_update_bin/gtk_theme kde-kdeplasma-addons_PORT= x11-toolkits/plasma5-kdeplasma-addons kde-kdeplasma-addons_LIB= libplasmapotdprovidercore.so kde-kgamma5_PORT= x11/plasma5-kgamma5 kde-kgamma5_PATH= ${QT_PLUGINDIR}/plasma/kcms/systemsettings/kcm_kgamma.so kde-kmenuedit_PORT= sysutils/plasma5-kmenuedit kde-kmenuedit_PATH= ${KDE_PREFIX}/bin/kmenuedit kde-kscreen_PORT= x11/plasma5-kscreen kde-kscreen_PATH= ${KDE_PREFIX}/bin/kscreen-console kde-kscreenlocker_PORT= security/plasma5-kscreenlocker kde-kscreenlocker_LIB= libKScreenLocker.so kde-ksshaskpass_PORT= security/plasma5-ksshaskpass kde-ksshaskpass_PATH= ${KDE_PREFIX}/bin/ksshaskpass kde-ksysguard_PORT= sysutils/plasma5-ksysguard kde-ksysguard_PATH= ${KDE_PREFIX}/bin/ksysguard kde-ksystemstats_PORT= sysutils/plasma5-ksystemstats kde-ksystemstats_PATH= ${KDE_PREFIX}/bin/ksystemstats kde-kwallet-pam_PORT= security/plasma5-kwallet-pam kde-kwallet-pam_PATH= ${KDE_PREFIX}/lib/pam_kwallet5.so kde-kwayland-integration_PORT= x11/plasma5-kwayland-integration kde-kwayland-integration_PATH= ${QT_PLUGINDIR}/kf5/org.kde.kidletime.platforms/KF5IdleTimeKWaylandPlugin.so kde-kwin_PORT= x11-wm/plasma5-kwin kde-kwin_PATH= ${KDE_PREFIX}/bin/kwin_x11 kde-kwrited_PORT= devel/plasma5-kwrited kde-kwrited_PATH= ${QT_PLUGINDIR}/kf5/kded/kwrited.so kde-libkscreen_PORT= x11/plasma5-libkscreen kde-libkscreen_LIB= libKF5Screen.so kde-libksysguard_PORT= sysutils/plasma5-libksysguard kde-libksysguard_LIB= libksgrd.so kde-milou_PORT= deskutils/plasma5-milou kde-milou_LIB= libmilou.so.5 kde-oxygen_PORT= x11-themes/plasma5-oxygen kde-oxygen_PATH= ${QT_PLUGINDIR}/styles/oxygen.so kde-plasma-browser-integration_PORT= www/plasma5-plasma-browser-integration kde-plasma-browser-integration_PATH= ${KDE_PREFIX}/bin/plasma-browser-integration-host kde-plasma-desktop_PORT= x11/plasma5-plasma-desktop kde-plasma-desktop_PATH= ${KDE_PREFIX}/bin/kaccess kde-plasma-disks_PORT= sysutils/plasma5-plasma-disks kde-plasma-disks_PATH= ${KDE_PREFIX}/lib/libexec/kauth/kded-smart-helper kde-plasma-integration_PORT= x11/plasma5-plasma-integration kde-plasma-integration_PATH= ${QT_PLUGINDIR}/platformthemes/KDEPlasmaPlatformTheme.so kde-plasma-pa_PORT= audio/plasma5-plasma-pa kde-plasma-pa_PATH= ${QT_PLUGINDIR}/kcms/kcm_pulseaudio.so kde-plasma-sdk_PORT= devel/plasma5-plasma-sdk kde-plasma-sdk_PATH= ${KDE_PREFIX}/bin/plasmoidviewer kde-plasma-workspace_PORT= x11/plasma5-plasma-workspace kde-plasma-workspace_LIB= libkworkspace5.so kde-plasma-workspace-wallpapers_PORT= x11-themes/plasma5-plasma-workspace-wallpapers kde-plasma-workspace-wallpapers_PATH= ${KDE_PREFIX}/share/wallpapers/Autumn/contents/images/1280x1024.jpg kde-polkit-kde-agent-1_PORT= sysutils/plasma5-polkit-kde-agent-1 kde-polkit-kde-agent-1_PATH= ${KDE_PREFIX}/lib/libexec/polkit-kde-authentication-agent-1 kde-powerdevil_PORT= sysutils/plasma5-powerdevil kde-powerdevil_LIB= libpowerdevilcore.so kde-systemsettings_PORT= sysutils/plasma5-systemsettings kde-systemsettings_PATH= ${KDE_PREFIX}/bin/systemsettings5 # ====================== end of plasma components ============================== # ====================== pim5 components ======================================= kde-akonadicontacts_PORT= net/akonadi-contacts kde-akonadicontacts_LIB= libKF5AkonadiContact.so kde-akonadiimportwizard_PORT= deskutils/akonadi-import-wizard kde-akonadiimportwizard_LIB= libKPimImportWizard.so kde-akonadimime_PORT= net/akonadi-mime kde-akonadimime_LIB= libKF5AkonadiMime.so kde-akonadinotes_PORT= net/akonadi-notes kde-akonadinotes_LIB= libKF5AkonadiNotes.so kde-akonadicalendar_PORT= net/akonadi-calendar kde-akonadicalendar_LIB= libKF5AkonadiCalendar.so kde-akonadisearch_PORT= net/akonadi-search kde-akonadisearch_LIB= libKF5AkonadiSearchCore.so kde-alarmcalendar_PORT= net/kalarmcal kde-alarmcalendar_LIB= libKF5AlarmCalendar.so kde-calendarsupport_PORT= net/calendarsupport kde-calendarsupport_LIB= libKF5CalendarSupport.so kde-calendarcore_PORT= net/kf5-kcalendarcore kde-calendarcore_LIB= libKF5CalendarCore.so kde-calendarutils_PORT= net/kcalutils kde-calendarutils_LIB= libKF5CalendarUtils.so kde-contacts_PORT= net/kf5-kcontacts kde-contacts_LIB= libKF5Contacts.so kde-eventviews_PORT= net/eventviews kde-eventviews_LIB= libKF5EventViews.so kde-gapi_PORT= net/libkgapi kde-gapi_LIB= libKPimGAPICore.so kde-grantleetheme_PORT= deskutils/grantleetheme kde-grantleetheme_LIB= libKF5GrantleeTheme.so kde-gravatar_PORT= net/libgravatar kde-gravatar_LIB= libKF5Gravatar.so kde-identitymanagement_PORT= net/kidentitymanagement kde-identitymanagement_LIB= libKF5IdentityManagement.so kde-imap_PORT= net/kimap kde-imap_LIB= libKF5IMAP.so kde-incidenceeditor_PORT= net/incidenceeditor kde-incidenceeditor_LIB= libKF5IncidenceEditor.so kde-kdav_PORT= net/kf5-kdav kde-kdav_LIB= libKF5DAV.so kde-kdepim-addons_PORT= deskutils/kdepim-addons kde-kdepim-addons_PATH= ${KDE_PREFIX}/lib/contacteditor/editorpageplugins/cryptopageplugin.so kde-kdepim-runtime5_PORT= deskutils/kdepim-runtime kde-kdepim-runtime5_PATH= ${KDE_PREFIX}/bin/gidmigrator kde-kitinerary_PORT= net/kitinerary kde-kitinerary_LIB= libKPimItinerary.so kde-kontactinterface_PORT= net/kontactinterface kde-kontactinterface_LIB= libKF5KontactInterface.so kde-kpkpass_PORT= security/kpkpass kde-kpkpass_LIB= libKPimPkPass.so kde-ksmtp_PORT= net/ksmtp kde-ksmtp_LIB= libKPimSMTP.so kde-ldap_PORT= net/kldap kde-ldap_LIB= libKF5Ldap.so kde-libkdepim_PORT= deskutils/libkdepim kde-libkdepim_LIB= libKF5Libkdepim.so kde-libkleo_PORT= security/libkleo kde-libkleo_LIB= libKF5Libkleo.so kde-libksieve_PORT= net/libksieve kde-libksieve_LIB= libKF5KSieve.so kde-mailcommon_PORT= net/mailcommon kde-mailcommon_LIB= libKF5MailCommon.so kde-mailimporter_PORT= net/mailimporter kde-mailimporter_LIB= libKF5MailImporter.so kde-mailtransport_PORT= net/kmailtransport kde-mailtransport_LIB= libKF5MailTransport.so kde-mbox_PORT= net/kmbox kde-mbox_LIB= libKF5Mbox.so kde-messagelib_PORT= net/messagelib kde-messagelib_LIB= libKF5MessageList.so kde-mime_PORT= net/kmime kde-mime_LIB= libKF5Mime.so kde-pimcommon_PORT= net/pimcommon kde-pimcommon_LIB= libKF5PimCommon.so kde-pimtextedit_PORT= net/kpimtextedit kde-pimtextedit_LIB= libKF5PimTextEdit.so kde-tnef_PORT= net/ktnef kde-tnef_LIB= libKF5Tnef.so # PIM Applications kde-akonadiconsole_PORT= deskutils/akonadiconsole kde-akonadiconsole_PATH= ${KDE_PREFIX}/bin/akonadiconsole kde-akregator_PORT= deskutils/akregator kde-akregator_PATH= ${KDE_PREFIX}/bin/akregator kde-grantlee-editor_PORT= deskutils/grantlee-editor kde-grantlee-editor_PATH= ${KDE_PREFIX}/bin/contactthemeeditor kde-kaddressbook_PORT= deskutils/kaddressbook kde-kaddressbook_PATH= ${KDE_PREFIX}/bin/kaddressbook kde-kalarm_PORT= deskutils/kalarm kde-kalarm_PATH= ${KDE_PREFIX}/bin/kalarm kde-kmail_PORT= deskutils/kmail kde-kmail_PATH= ${KDE_PREFIX}/bin/kmail kde-kmail-account-wizard_PORT= deskutils/kmail-account-wizard kde-kmail-account-wizard_PATH= ${KDE_PREFIX}/bin/accountwizard kde-knotes_PORT= deskutils/knotes kde-knotex_PATH= ${KDE_PREFIX}/bin/knotes kde-kontact_PORT= deskutils/kontact kde-kontact_PATH= ${KDE_PREFIX}/bin/kontact kde-korganizer_PORT= deskutils/korganizer kde-korganizer_PATH= ${KDE_PREFIX}/bin/korganizer kde-mbox-importer_PORT= deskutils/mbox-importer kde-mbox-importer_PATH= ${KDE_PREFIX}/bin/mboximporter kde-pim-data-exporter_PORT= deskutils/pim-data-exporter kde-pim-data-exporter_PATH= ${KDE_PREFIX}/bin/pimdataexporter # ====================== end of pim5 components ================================ # ====================== multiversion component ================================ kde-akonadi5_PORT= databases/akonadi kde-akonadi5_LIB= libKF5AkonadiPrivate.so kde-baloo-widgets5_PORT= sysutils/baloo-widgets kde-baloo-widgets5_LIB= libKF5BalooWidgets.so kde-kate5_PORT= editors/kate kde-kate5_PATH= ${QT_PLUGINDIR}/ktexteditor/katebacktracebrowserplugin.so kde-libkcddb5_PORT= audio/libkcddb kde-libkcddb5_LIB= libKF5Cddb.so kde-libkcompactdisc5_PORT= audio/libkcompactdisc kde-libkcompactdisc5_LIB= libKF5CompactDisc.so kde-libkdcraw5_PORT= graphics/libkdcraw kde-libkdcraw5_LIB= libKF5KDcraw.so kde-libkdegames5_PORT= games/libkdegames kde-libkdegames5_LIB= libKF5KDEGames.so kde-libkeduvocdocument5_PORT= misc/libkeduvocdocument kde-libkeduvocdocument5_LIB= libKEduVocDocument.so kde-libkexiv25_PORT= graphics/libkexiv2 kde-libkexiv25_LIB= libKF5KExiv2.so kde-libkipi5_PORT= graphics/libkipi kde-libkipi5_LIB= libKF5Kipi.so kde-libksane5_PORT= graphics/libksane kde-libksane5_LIB= libKF5Sane.so kde-marble5_PORT= astro/marble kde-marble5_LIB= libmarblewidget-qt5.so kde-kpublictransport_PORT= devel/kpublictransport kde-kpublictransport_LIB= libKPublicTransport.so kde-kosm_PORT= astro/kosmindoormap kde-kosm_LIB= libKOSM.so kde-okular5_PORT= graphics/okular kde-okular5_LIB= libOkular5Core.so # ====================== end of multiversion components ======================== # ====================== select the proper multiversion component ============== . for comp in ${_USE_KDE_BOTH} kde-${comp}_PORT= ${kde-${comp}${_KDE_VERSION}_PORT} . if defined(kde-${comp}${_KDE_VERSION}_LIB) kde-${comp}_LIB= ${kde-${comp}${_KDE_VERSION}_LIB} . else . if defined(kde-${comp}${_KDE_VERSION}_PATH}) kde-${comp}_PATH= ${kde-${comp}${_KDE_VERSION}_LIB} . endif # If neither is defined, this gets caught below when checking components . endif . endfor #=============================================================================== # end of component list ######################################################## _USE_KDE_ALL= ${_USE_${_KDE_RELNAME}_ALL} # Iterate through components deprived of suffix. . for component in ${USE_KDE:O:u:C/_.+//} # Check that the component is valid. . if ${_USE_KDE_ALL:M${component}} != "" # Skip meta-components (currently none). . if defined(kde-${component}_PORT) && (defined(kde-${component}_PATH) || defined(kde-${component}_LIB)) # Check if a dependency type is explicitly requested. . if ${USE_KDE:M${component}_*} != "" && ${USE_KDE:M${component}} == "" kde-${component}_TYPE= # empty . if ${USE_KDE:M${component}_build} != "" kde-${component}_TYPE+= build . endif . if ${USE_KDE:M${component}_run} != "" kde-${component}_TYPE+= run . endif . endif # ${USE_KDE:M${component}_*} != "" && ${USE_KDE:M${component}} == "" # If no dependency type is set, default to full dependency. . if !defined(kde-${component}_TYPE) kde-${component}_TYPE= build run . endif # Set real dependencies. . if defined(kde-${component}_LIB) && ${kde-${component}_TYPE:Mbuild} && ${kde-${component}_TYPE:Mrun} LIB_DEPENDS+= ${kde-${component}_LIB}:${kde-${component}_PORT} . else kde-${component}_PATH?= ${KDE_PREFIX}/lib/${kde-${component}_LIB} kde-${component}_DEPENDS= ${kde-${component}_PATH}:${kde-${component}_PORT} . if ${kde-${component}_TYPE:Mbuild} != "" BUILD_DEPENDS+= ${kde-${component}_DEPENDS} . endif . if ${kde-${component}_TYPE:Mrun} != "" RUN_DEPENDS+= ${kde-${component}_DEPENDS} . endif . endif # ${kde-${component}_LIB} && ${kde-${component}_TYPE:Mbuild} && ${kde-${component}_TYPE:Mrun} . endif # defined(kde-${component}_PORT) && defined(kde-${component}_PATH) . else # ! ${_USE_KDE_ALL:M${component}} != "" IGNORE= cannot be installed: unknown USE_KDE component '${component}' . endif # ${_USE_KDE_ALL:M${component}} != "" . endfor . endif .endif