summaryrefslogtreecommitdiff
path: root/user/libkworkspace
diff options
context:
space:
mode:
Diffstat (limited to 'user/libkworkspace')
-rw-r--r--user/libkworkspace/APKBUILD50
-rw-r--r--user/libkworkspace/session.patch11
-rw-r--r--user/libkworkspace/standalone.patch108
3 files changed, 169 insertions, 0 deletions
diff --git a/user/libkworkspace/APKBUILD b/user/libkworkspace/APKBUILD
new file mode 100644
index 000000000..4a653b663
--- /dev/null
+++ b/user/libkworkspace/APKBUILD
@@ -0,0 +1,50 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox-kde@adelielinux.org>
+pkgname=libkworkspace
+pkgver=5.24.5
+pkgrel=0
+pkgdesc="KDE Plasma 5 workspace library"
+url="https://www.kde.org/plasma-desktop"
+arch="all"
+options="!check" # Test requires X11 accelration.
+license="(GPL-2.0-only OR GPL-3.0-only) AND LGPL-2.1+ AND GPL-2.0+ AND MIT AND LGPL-2.1-only AND LGPL-2.0+ AND (LGPL-2.1-only OR LGPL-3.0-only) AND LGPL-2.0-only"
+depends="kinit"
+depends_dev="qt5-qtbase-dev"
+makedepends="cmake extra-cmake-modules libice-dev libsm-dev libxau-dev
+ kconfig-dev kcoreaddons-dev ki18n-dev kinit-dev kscreenlocker-dev
+ kwin-dev kwindowsystem-dev plasma-framework-dev qt5-qtx11extras-dev"
+subpackages="$pkgname-dev"
+source="https://download.kde.org/stable/plasma/$pkgver/plasma-workspace-$pkgver.tar.xz
+ session.patch
+ standalone.patch
+ "
+builddir="$srcdir"/plasma-workspace-$pkgver/libkworkspace
+
+build() {
+ if [ "$CBUILD" != "$CHOST" ]; then
+ CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
+ fi
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_INSTALL_LIBDIR=lib \
+ -DBUILD_SHARED_LIBS=True \
+ -DCMAKE_BUILD_TYPE=RelWithDebugInfo \
+ -DCMAKE_CXX_FLAGS="$CXXFLAGS" \
+ -DCMAKE_C_FLAGS="$CFLAGS" \
+ -DBUILD_TESTING=OFF \
+ ${CMAKE_CROSSOPTS} . \
+ -Bbuild
+ make -C build
+}
+
+check() {
+ CTEST_OUTPUT_ON_FAILURE=TRUE make -C build test
+}
+
+package() {
+ make DESTDIR="$pkgdir" -C build install
+}
+
+sha512sums="ae40fe545b03e42e9f8fe2e8885d3853f4b52d4fd2ed3ecf7d24fa59b4924b8f8b389e8713ec6a3a875bc66df3952de9157d4a5631b283105a9329a1a1825996 plasma-workspace-5.24.5.tar.xz
+30e7e39aa99a43c59fe7a88d389ba8309c66907bb55221d936c6a01e150f28e55b81a38dedb8dea3d73169581a29c9393b8fac0b5c7fc1e779d0b970da419d28 session.patch
+867539bf129a28d06ba4838a716ec511980bb6b10f339180175855d1e3e933f4f2391fe3d9df7ea9b2cdb965c47d6746a12804acd98d5ed0d1979bf9630d4e8b standalone.patch"
diff --git a/user/libkworkspace/session.patch b/user/libkworkspace/session.patch
new file mode 100644
index 000000000..26fc062bd
--- /dev/null
+++ b/user/libkworkspace/session.patch
@@ -0,0 +1,11 @@
+--- libkworkspace/sessionmanagementbackend.cpp.old 2020-01-16 12:37:11.000000000 +0000
++++ libkworkspace/sessionmanagementbackend.cpp 2020-01-26 23:48:25.419351063 +0000
+@@ -191,7 +191,7 @@
+
+ bool ConsoleKitSessionBackend::exists()
+ {
+- return QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral("org.freedesktop.login1"));
++ return QDBusConnection::systemBus().interface()->isServiceRegistered(QStringLiteral("org.freedesktop.ConsoleKit"));
+ }
+
+ ConsoleKitSessionBackend::ConsoleKitSessionBackend()
diff --git a/user/libkworkspace/standalone.patch b/user/libkworkspace/standalone.patch
new file mode 100644
index 000000000..3cf78db08
--- /dev/null
+++ b/user/libkworkspace/standalone.patch
@@ -0,0 +1,108 @@
+From 2360505a8f6475b6988efa60c3ba746bfbe4c4d0 Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <asturm@gentoo.org>
+Date: Sun, 2 Feb 2020 18:29:57 +0100
+Subject: [PATCH] libkworkspace: Allow standalone build
+
+---
+ libkworkspace/CMakeLists.txt | 67 +++++++++++++++++++++++++++++++++++-
+ 1 file changed, 66 insertions(+), 1 deletion(-)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 015c5181f..0aa635e11 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,3 +1,56 @@
++project(libkworkspace)
++
++if(${CMAKE_SOURCE_DIR} STREQUAL ${libkworkspace_SOURCE_DIR})
++ set(PROJECT_VERSION "5.24.5")
++ set(PROJECT_VERSION_MAJOR 5)
++
++ cmake_minimum_required(VERSION 3.16)
++
++ set(QT_MIN_VERSION "5.15.0")
++ set(KF5_MIN_VERSION "5.82.0")
++ find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS Core DBus)
++ find_package(ECM ${KF5_MIN_VERSION} REQUIRED NO_MODULE)
++ set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${ECM_KDE_MODULE_DIR})
++
++ include(KDEInstallDirs)
++ include(KDECMakeSettings)
++ include(KDECompilerSettings NO_POLICY_SCOPE)
++ include(ECMMarkNonGuiExecutable)
++ include(CMakePackageConfigHelpers)
++ include(WriteBasicConfigVersionFile)
++ include(CheckIncludeFiles)
++ include(FeatureSummary)
++ include(ECMQtDeclareLoggingCategory)
++ include(KDEPackageAppTemplates)
++ include(ECMMarkAsTest)
++ include(GenerateExportHeader)
++
++ find_package(KF5 ${KF5_MIN_VERSION} REQUIRED COMPONENTS Config CoreAddons I18n Init WindowSystem)
++
++ find_package(KWinDBusInterface CONFIG REQUIRED)
++ find_package(KScreenLocker 5.13.80 REQUIRED)
++ find_package(ScreenSaverDBusInterface CONFIG REQUIRED)
++
++ find_package(X11)
++ set_package_properties(X11 PROPERTIES DESCRIPTION "X11 libraries"
++ URL "http://www.x.org"
++ TYPE OPTIONAL
++ PURPOSE "Required for X11 support")
++
++ if(X11_FOUND)
++ find_package(Qt5X11Extras ${QT_MIN_VERSION} CONFIG REQUIRED)
++ set(HAVE_X11 1)
++ endif()
++
++ if(BUILD_TESTING)
++ find_package(Qt5Test ${QT_MIN_VERSION} CONFIG REQUIRED)
++ endif()
++
++ check_include_files(unistd.h HAVE_UNISTD_H)
++
++ configure_file(../config-workspace.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-workspace.h)
++ configure_file(../config-X11.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/config-X11.h)
++endif()
+
+ set(kworkspace_LIB_SRCS kdisplaymanager.cpp
+ kworkspace.cpp
+@@ -12,9 +65,17 @@ add_definitions(-DTRANSLATION_DOMAIN=\"libkworkspace\")
+ qt_add_dbus_interface(kworkspace_LIB_SRCS ${KINIT_DBUS_INTERFACES_DIR}/kf5_org.kde.KLauncher.xml klauncher_interface)
+ qt_add_dbus_interface(kworkspace_LIB_SRCS ${KSCREENLOCKER_DBUS_INTERFACES_DIR}/kf5_org.freedesktop.ScreenSaver.xml screenlocker_interface )
+ qt_add_dbus_interface(kworkspace_LIB_SRCS ${KSCREENLOCKER_DBUS_INTERFACES_DIR}/org.kde.screensaver.xml kscreenlocker_interface )
++if(${CMAKE_SOURCE_DIR} STREQUAL ${libkworkspace_SOURCE_DIR})
++qt_add_dbus_interface(kworkspace_LIB_SRCS ../ksmserver/org.kde.LogoutPrompt.xml logoutprompt_interface)
++qt_add_dbus_interface(kworkspace_LIB_SRCS ../startkde/plasma-session/org.kde.Startup.xml startup_interface)
++qt_add_dbus_interface(kworkspace_LIB_SRCS ../startkde/plasma-shutdown/org.kde.Shutdown.xml shutdown_interface)
++set(ksmserver_xml ../ksmserver/org.kde.KSMServerInterface.xml)
++else()
+ qt_add_dbus_interface(kworkspace_LIB_SRCS ${plasma-workspace_SOURCE_DIR}/ksmserver/org.kde.LogoutPrompt.xml logoutprompt_interface)
+ qt_add_dbus_interface(kworkspace_LIB_SRCS ${plasma-workspace_SOURCE_DIR}/startkde/plasma-session/org.kde.Startup.xml startup_interface)
+ qt_add_dbus_interface(kworkspace_LIB_SRCS ${plasma-workspace_SOURCE_DIR}/startkde/plasma-shutdown/org.kde.Shutdown.xml shutdown_interface)
++set(ksmserver_xml ${plasma-workspace_SOURCE_DIR}/ksmserver/org.kde.KSMServerInterface.xml)
++endif()
+
+ set_source_files_properties("${CMAKE_CURRENT_SOURCE_DIR}/org.freedesktop.login1.Manager.xml"
+ "${CMAKE_SOURCE_DIR}/data/interfaces/org.freedesktop.login1.Seat.xml"
+@@ -30,7 +91,6 @@ list(APPEND kworkspace_LIB_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/login1_manager_inte
+ qt_add_dbus_interface(kworkspace_LIB_SRCS "org.freedesktop.UPower.xml" upower_interface)
+ qt_add_dbus_interface(kworkspace_LIB_SRCS "org.freedesktop.ConsoleKit.Manager.xml" consolekit_manager_interface)
+
+-set(ksmserver_xml ${plasma-workspace_SOURCE_DIR}/ksmserver/org.kde.KSMServerInterface.xml)
+ qt_add_dbus_interface( kworkspace_LIB_SRCS ${ksmserver_xml} ksmserver_interface )
+
+ add_library(kworkspace ${kworkspace_LIB_SRCS})
+@@ -98,3 +158,8 @@ if(BUILD_TESTING)
+ add_subdirectory(autotests)
+ add_subdirectory(tests)
+ endif()
++
++if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
++ install( FILES sessionmanagementbackend.h DESTINATION ${KDE_INSTALL_INCLUDEDIR}/kworkspace5 COMPONENT Devel )
++ feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
++endif()
+--
+2.31.1
+