public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
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>


             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