From: "Andreas Sturmlechner" <asturm@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] proj/kde:master commit in: kde-plasma/libkworkspace/, kde-plasma/libkworkspace/files/
Date: Mon, 22 Oct 2018 18:14:39 +0000 (UTC) [thread overview]
Message-ID: <1540231572.fb911c3477d846c25f47e37f91deeb2e86e1ef84.asturm@gentoo> (raw)
commit: fb911c3477d846c25f47e37f91deeb2e86e1ef84
Author: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 22 09:04:35 2018 +0000
Commit: Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Mon Oct 22 18:06:12 2018 +0000
URL: https://gitweb.gentoo.org/proj/kde.git/commit/?id=fb911c34
kde-plasma/libkworkspace: New package (split from plasma-workspace)
In Plasma 5.13, kde-cli-tools began to depend on libkworkspace for
Wayland support in KCMs. Besides making circular dep workarounds
necessary, this also meant a considerable chunk of Plasma added to
the kde-cli-tools depgraph, which is used by applications even if
not having a Plasma desktop installed.
Revdeps already search for libkworkspace independently, which means
no revdep patching is required to support this split package.
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>
Package-Manager: Portage-2.3.51, Repoman-2.3.11
.../files/libkworkspace-5.14.2-standalone.patch | 96 ++++++++++++++++++++++
.../libkworkspace-5.14.49.9999.ebuild | 54 ++++++++++++
kde-plasma/libkworkspace/libkworkspace-9999.ebuild | 54 ++++++++++++
kde-plasma/libkworkspace/metadata.xml | 8 ++
4 files changed, 212 insertions(+)
diff --git a/kde-plasma/libkworkspace/files/libkworkspace-5.14.2-standalone.patch b/kde-plasma/libkworkspace/files/libkworkspace-5.14.2-standalone.patch
new file mode 100644
index 0000000000..f2332f7261
--- /dev/null
+++ b/kde-plasma/libkworkspace/files/libkworkspace-5.14.2-standalone.patch
@@ -0,0 +1,96 @@
+From 2e0a1d8f524d3bb645248787eed4532a250540fc Mon Sep 17 00:00:00 2001
+From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com>
+Date: Mon, 22 Oct 2018 10:35:10 +0200
+Subject: [PATCH] libkworkspace: Allow standalone build
+
+---
+ libkworkspace/CMakeLists.txt | 64 +++++++++++++++++++++++++++++++++---
+ 1 file changed, 60 insertions(+), 4 deletions(-)
+
+diff --git a/libkworkspace/CMakeLists.txt b/libkworkspace/CMakeLists.txt
+index f66013f9..4e58bd60 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,3 +1,59 @@
++project(libkworkspace)
++
++if(${CMAKE_SOURCE_DIR} STREQUAL ${libkworkspace_SOURCE_DIR})
++ set(PROJECT_VERSION "GENTOO_PV")
++ set(PROJECT_VERSION_MAJOR 5)
++
++ cmake_minimum_required(VERSION 3.0)
++
++ set(QT_MIN_VERSION "GENTOO_QT_MINIMAL")
++ set(KF5_MIN_VERSION "GENTOO_KF5_MINIMAL")
++ 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 CoreAddons I18n Plasma WindowSystem)
++
++ find_package(KWinDBusInterface 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)
++
++ set(ksmserver_xml ../ksmserver/org.kde.KSMServerInterface.xml)
++else()
++ set(ksmserver_xml ${plasma-workspace_SOURCE_DIR}/ksmserver/org.kde.KSMServerInterface.xml)
++ set_source_files_properties(${KWIN_INTERFACE} PROPERTIES INCLUDE "interface_util.h")
++endif()
+
+ set(kworkspace_LIB_SRCS kdisplaymanager.cpp
+ kworkspace.cpp
+@@ -9,11 +65,7 @@ remove_definitions(-DQT_NO_CAST_FROM_BYTEARRAY)
+ remove_definitions(-DQT_NO_CAST_TO_ASCII)
+
+
+-set(ksmserver_xml ${plasma-workspace_SOURCE_DIR}/ksmserver/org.kde.KSMServerInterface.xml)
+ qt5_add_dbus_interface( kworkspace_LIB_SRCS ${ksmserver_xml} ksmserver_interface )
+-
+-set_source_files_properties(${KWIN_INTERFACE} PROPERTIES INCLUDE "interface_util.h")
+-
+ qt5_add_dbus_interface( kworkspace_LIB_SRCS ${KWIN_INTERFACE} kwin_interface )
+
+
+@@ -77,3 +129,7 @@ install(EXPORT libkworkspaceLibraryTargets
+ if(BUILD_TESTING)
+ add_subdirectory(autotests)
+ endif()
++
++if ("${CMAKE_BINARY_DIR}" STREQUAL "${CMAKE_CURRENT_BINARY_DIR}")
++ feature_summary(WHAT ALL FATAL_ON_MISSING_REQUIRED_PACKAGES)
++endif()
+--
+2.19.1
+
diff --git a/kde-plasma/libkworkspace/libkworkspace-5.14.49.9999.ebuild b/kde-plasma/libkworkspace/libkworkspace-5.14.49.9999.ebuild
new file mode 100644
index 0000000000..f2e5f9b894
--- /dev/null
+++ b/kde-plasma/libkworkspace/libkworkspace-5.14.49.9999.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+KDE_TEST="true"
+KMNAME="plasma-workspace"
+inherit kde5
+
+DESCRIPTION="Workspace library to interact with the Plasma session manager"
+
+KEYWORDS=""
+IUSE=""
+
+DEPEND="
+ $(add_frameworks_dep kcoreaddons)
+ $(add_frameworks_dep ki18n)
+ $(add_frameworks_dep kwindowsystem)
+ $(add_frameworks_dep plasma)
+ $(add_qt_dep qtdbus)
+ $(add_qt_dep qtx11extras)
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXau
+"
+RDEPEND="${DEPEND}
+ !kde-plasma/libkworkspace:4
+ !<kde-plasma/plasma-workspace-5.14.2:5
+"
+
+S="${S}/${PN}"
+
+PATCHES=( "${FILESDIR}/${PN}-5.14.2-standalone.patch" )
+
+src_prepare() {
+ # delete colliding libkworkspace translations, let kde5_src_prepare do its magic
+ if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ find ../po -type f -name "*po" -and -not -name "libkworkspace*" -delete || die
+ rm -rf po/*/docs || die
+ cp -a ../po ./ || die
+ fi
+ kde5_src_prepare
+ if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ cat >> CMakeLists.txt <<- _EOF_ || die
+ ki18n_install(po)
+ _EOF_
+ fi
+
+ sed -e "/set/s/GENTOO_PV/${PV}/" \
+ -e "/set/s/GENTOO_QT_MINIMAL/${QT_MINIMAL}/" \
+ -e "/set/s/GENTOO_KF5_MINIMAL/${FRAMEWORKS_MINIMAL}/" \
+ -i CMakeLists.txt || die "Failed to prepare CMakeLists.txt"
+}
diff --git a/kde-plasma/libkworkspace/libkworkspace-9999.ebuild b/kde-plasma/libkworkspace/libkworkspace-9999.ebuild
new file mode 100644
index 0000000000..f2e5f9b894
--- /dev/null
+++ b/kde-plasma/libkworkspace/libkworkspace-9999.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+KDE_TEST="true"
+KMNAME="plasma-workspace"
+inherit kde5
+
+DESCRIPTION="Workspace library to interact with the Plasma session manager"
+
+KEYWORDS=""
+IUSE=""
+
+DEPEND="
+ $(add_frameworks_dep kcoreaddons)
+ $(add_frameworks_dep ki18n)
+ $(add_frameworks_dep kwindowsystem)
+ $(add_frameworks_dep plasma)
+ $(add_qt_dep qtdbus)
+ $(add_qt_dep qtx11extras)
+ x11-libs/libICE
+ x11-libs/libSM
+ x11-libs/libX11
+ x11-libs/libXau
+"
+RDEPEND="${DEPEND}
+ !kde-plasma/libkworkspace:4
+ !<kde-plasma/plasma-workspace-5.14.2:5
+"
+
+S="${S}/${PN}"
+
+PATCHES=( "${FILESDIR}/${PN}-5.14.2-standalone.patch" )
+
+src_prepare() {
+ # delete colliding libkworkspace translations, let kde5_src_prepare do its magic
+ if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ find ../po -type f -name "*po" -and -not -name "libkworkspace*" -delete || die
+ rm -rf po/*/docs || die
+ cp -a ../po ./ || die
+ fi
+ kde5_src_prepare
+ if [[ ${KDE_BUILD_TYPE} = release ]]; then
+ cat >> CMakeLists.txt <<- _EOF_ || die
+ ki18n_install(po)
+ _EOF_
+ fi
+
+ sed -e "/set/s/GENTOO_PV/${PV}/" \
+ -e "/set/s/GENTOO_QT_MINIMAL/${QT_MINIMAL}/" \
+ -e "/set/s/GENTOO_KF5_MINIMAL/${FRAMEWORKS_MINIMAL}/" \
+ -i CMakeLists.txt || die "Failed to prepare CMakeLists.txt"
+}
diff --git a/kde-plasma/libkworkspace/metadata.xml b/kde-plasma/libkworkspace/metadata.xml
new file mode 100644
index 0000000000..2fdbf33d96
--- /dev/null
+++ b/kde-plasma/libkworkspace/metadata.xml
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>kde@gentoo.org</email>
+ <name>Gentoo KDE Project</name>
+ </maintainer>
+</pkgmetadata>
next reply other threads:[~2018-10-22 18:14 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-10-22 18:14 Andreas Sturmlechner [this message]
-- strict thread matches above, loose matches on Subject: below --
2020-02-02 18:11 [gentoo-commits] proj/kde:master commit in: kde-plasma/libkworkspace/, kde-plasma/libkworkspace/files/ Andreas Sturmlechner
2020-06-06 14:18 Andreas Sturmlechner
2021-06-03 11:01 Andreas Sturmlechner
2021-12-10 15:10 Andreas Sturmlechner
2023-11-24 11:19 Andreas Sturmlechner
2023-11-30 22:55 Andreas Sturmlechner
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1540231572.fb911c3477d846c25f47e37f91deeb2e86e1ef84.asturm@gentoo \
--to=asturm@gentoo.org \
--cc=gentoo-commits@lists.gentoo.org \
--cc=gentoo-dev@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox