mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
kde-plasma/plasma-desktop: Add FindXorgServer.cmake module
Update override-include-dirs.patch to cover the new module. Package-Manager: Portage-2.3.99, Repoman-2.3.22 Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
This commit is contained in:
@@ -0,0 +1,130 @@
|
||||
From 82e7a6b68d81ca2be0fdc3fc13cd5ca5f5e03e81 Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Sturmlechner <asturm@gentoo.org>
|
||||
Date: Thu, 7 May 2020 16:18:13 +0200
|
||||
Subject: [PATCH] Add FindXorgServer.cmake and use it for touchpad KCM
|
||||
|
||||
Summary:
|
||||
x11 backend of the touchpad KCM uses xserver-properties.h that is part of
|
||||
xorg-server package. As XORG_INCLUDE_DIRS seems to be empty, so far, it was
|
||||
relying on Synaptics_INCLUDE_DIRS implicitly and worked only if the header
|
||||
happened to be in the same directory as Synaptics' which is the case most of
|
||||
the time.
|
||||
|
||||
FindXorgServer.cmake is just a copy of FindXorgLibinput, adapted accordingly.
|
||||
|
||||
Test Plan:
|
||||
Pointed Synaptics_INCLUDE_DIRS somewhere else than /usr/include/xorg and build
|
||||
succeeded.
|
||||
|
||||
Reviewers: #plasma, zzag
|
||||
|
||||
Reviewed By: #plasma, zzag
|
||||
|
||||
Subscribers: broulik, plasma-devel
|
||||
|
||||
Tags: #plasma
|
||||
|
||||
Differential Revision: https://phabricator.kde.org/D29514
|
||||
---
|
||||
CMakeLists.txt | 4 +++
|
||||
cmake/modules/FindXorgServer.cmake | 45 ++++++++++++++++++++++++++++++
|
||||
kcms/CMakeLists.txt | 2 +-
|
||||
kcms/touchpad/src/backends/x11.cmake | 2 +-
|
||||
4 files changed, 51 insertions(+), 2 deletions(-)
|
||||
create mode 100644 cmake/modules/FindXorgServer.cmake
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index fbdd95433..64e8bbd60 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -133,6 +133,10 @@ find_package(Synaptics)
|
||||
set_package_properties(Synaptics PROPERTIES TYPE OPTIONAL)
|
||||
add_feature_info("Synaptics" SYNAPTICS_FOUND "Synaptics libraries needed for touchpad KCM")
|
||||
|
||||
+find_package(XorgServer)
|
||||
+set_package_properties(XorgServer PROPERTIES TYPE OPTIONAL)
|
||||
+add_feature_info("XorgServer" XORGSERVER_FOUND "XServer header needed for touchpad KCM (X11 backend)")
|
||||
+
|
||||
find_package(XorgLibinput)
|
||||
set_package_properties(XorgLibinput PROPERTIES TYPE OPTIONAL)
|
||||
add_feature_info("XorgLibinput" XORGLIBINPUT_FOUND "Libinput driver headers needed for mouse and touchpad KCM")
|
||||
diff --git a/cmake/modules/FindXorgServer.cmake b/cmake/modules/FindXorgServer.cmake
|
||||
new file mode 100644
|
||||
index 000000000..5248c6d25
|
||||
--- /dev/null
|
||||
+++ b/cmake/modules/FindXorgServer.cmake
|
||||
@@ -0,0 +1,45 @@
|
||||
+# - Find xorg-server's headers.
|
||||
+# This module defines the following variables:
|
||||
+#
|
||||
+# XORGSERVER_FOUND - true if xserver was found
|
||||
+# XORGSERVER_INCLUDE_DIRS - include path for xserver
|
||||
+# There are no libraries, just a header file
|
||||
+#
|
||||
+# Copyright (c) 2020 Andreas Sturmlechner <asturm@gentoo.org>
|
||||
+#
|
||||
+# Redistribution and use in source and binary forms, with or without
|
||||
+# modification, are permitted provided that the following conditions
|
||||
+# are met:
|
||||
+# 1. Redistributions of source code must retain the above copyright
|
||||
+# notice, this list of conditions and the following disclaimer.
|
||||
+# 2. Redistributions in binary form must reproduce the above copyright
|
||||
+# notice, this list of conditions and the following disclaimer in the
|
||||
+# documentation and/or other materials provided with the distribution.
|
||||
+# 3. Neither the name of the University nor the names of its contributors
|
||||
+# may be used to endorse or promote products derived from this software
|
||||
+# without specific prior written permission.
|
||||
+#
|
||||
+# THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
||||
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
+# ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
||||
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
||||
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
+# SUCH DAMAGE.
|
||||
+
|
||||
+find_package(PkgConfig)
|
||||
+pkg_check_modules(PC_XORGSERVER xorg-server)
|
||||
+
|
||||
+find_path(XORGSERVER_INCLUDE_DIRS
|
||||
+ NAMES xserver-properties.h
|
||||
+ HINTS ${PC_XORGSERVER_INCLUDE_DIRS} ${PC_XORGSERVER_INCLUDEDIR}
|
||||
+)
|
||||
+
|
||||
+include(FindPackageHandleStandardArgs)
|
||||
+find_package_handle_standard_args(XORGSERVER REQUIRED_VARS XORGSERVER_INCLUDE_DIRS)
|
||||
+
|
||||
+mark_as_advanced(XORGSERVER_INCLUDE_DIRS)
|
||||
diff --git a/kcms/CMakeLists.txt b/kcms/CMakeLists.txt
|
||||
index 7ab966e8e..ce730f537 100644
|
||||
--- a/kcms/CMakeLists.txt
|
||||
+++ b/kcms/CMakeLists.txt
|
||||
@@ -58,7 +58,7 @@ if(X11_Xcursor_FOUND)
|
||||
add_subdirectory(cursortheme)
|
||||
endif()
|
||||
|
||||
-if (SYNAPTICS_FOUND AND X11_Xinput_FOUND)
|
||||
+if (XORGSERVER_FOUND AND SYNAPTICS_FOUND AND X11_Xinput_FOUND)
|
||||
add_subdirectory(touchpad)
|
||||
endif()
|
||||
|
||||
diff --git a/kcms/touchpad/src/backends/x11.cmake b/kcms/touchpad/src/backends/x11.cmake
|
||||
index 9248eff7c..8a584e939 100644
|
||||
--- a/kcms/touchpad/src/backends/x11.cmake
|
||||
+++ b/kcms/touchpad/src/backends/x11.cmake
|
||||
@@ -11,7 +11,7 @@ endif()
|
||||
include_directories(${X11_Xinput_INCLUDE_PATH}
|
||||
${X11_X11_INCLUDE_PATH}
|
||||
${Synaptics_INCLUDE_DIRS}
|
||||
- ${XORG_INCLUDE_DIRS}
|
||||
+ ${XORGSERVER_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
SET(backend_SRCS
|
||||
--
|
||||
2.26.2
|
||||
|
||||
@@ -1,19 +1,19 @@
|
||||
From b11915786a97f55074b7bfe4eec6f3c5cc08ae78 Mon Sep 17 00:00:00 2001
|
||||
From 6971b5eac2088d263527b2b4a85bb08b1a2dc792 Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Sturmlechner <asturm@gentoo.org>
|
||||
Date: Mon, 6 Apr 2020 00:41:07 +0200
|
||||
Subject: [PATCH 1/2] cmake modules: Allow include dir overrides for various
|
||||
input drivers
|
||||
Subject: [PATCH] cmake modules: Allow include dir overrides for various input
|
||||
drivers
|
||||
|
||||
FindEvdev - evdev-properties.h
|
||||
FindSynaptics - synaptics-properties.h
|
||||
FindXorgLibinput - libinput-properties.h
|
||||
|
||||
Hint: Dependency for touchpad (Synaptics): xserver-properties.h (xorg-server)
|
||||
FindXorgServer - xserver-properties.h
|
||||
---
|
||||
cmake/modules/FindEvdev.cmake | 4 ++++
|
||||
cmake/modules/FindSynaptics.cmake | 4 ++++
|
||||
cmake/modules/FindXorgLibinput.cmake | 4 ++++
|
||||
3 files changed, 12 insertions(+)
|
||||
cmake/modules/FindXorgServer.cmake | 4 ++++
|
||||
4 files changed, 16 insertions(+)
|
||||
|
||||
diff --git a/cmake/modules/FindEvdev.cmake b/cmake/modules/FindEvdev.cmake
|
||||
index 153128a90..c19c31a96 100644
|
||||
@@ -81,5 +81,28 @@ index 1550751ae..5b7af5e79 100644
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(XorgLibinput REQUIRED_VARS XORGLIBINPUT_INCLUDE_DIRS)
|
||||
|
||||
diff --git a/cmake/modules/FindXorgServer.cmake b/cmake/modules/FindXorgServer.cmake
|
||||
index 5248c6d25..9de16dba0 100644
|
||||
--- a/cmake/modules/FindXorgServer.cmake
|
||||
+++ b/cmake/modules/FindXorgServer.cmake
|
||||
@@ -31,6 +31,8 @@
|
||||
# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
# SUCH DAMAGE.
|
||||
|
||||
+if(NOT XORGSERVER_INCLUDE_DIRS)
|
||||
+
|
||||
find_package(PkgConfig)
|
||||
pkg_check_modules(PC_XORGSERVER xorg-server)
|
||||
|
||||
@@ -39,6 +41,8 @@ find_path(XORGSERVER_INCLUDE_DIRS
|
||||
HINTS ${PC_XORGSERVER_INCLUDE_DIRS} ${PC_XORGSERVER_INCLUDEDIR}
|
||||
)
|
||||
|
||||
+endif()
|
||||
+
|
||||
include(FindPackageHandleStandardArgs)
|
||||
find_package_handle_standard_args(XORGSERVER REQUIRED_VARS XORGSERVER_INCLUDE_DIRS)
|
||||
|
||||
--
|
||||
2.26.2
|
||||
|
||||
@@ -127,8 +127,9 @@ RDEPEND="${COMMON_DEPEND}
|
||||
"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-5.18.4.1-override-include-dirs.patch" # downstream patch
|
||||
"${FILESDIR}/${PN}-5.18.4.1-synaptics-header.patch" # in Plasma/5.19
|
||||
"${FILESDIR}/${P}-findxorgserver.patch" # in Plasma/5.19
|
||||
"${FILESDIR}/${P}-override-include-dirs.patch" # downstream patch
|
||||
)
|
||||
|
||||
src_unpack() {
|
||||
@@ -149,6 +150,7 @@ src_configure() {
|
||||
$(cmake_use_find_package fontconfig Fontconfig)
|
||||
-DEvdev_INCLUDE_DIRS="${WORKDIR}"/include
|
||||
-DXORGLIBINPUT_INCLUDE_DIRS="${WORKDIR}"/include
|
||||
-DXORGSERVER_INCLUDE_DIRS="${WORKDIR}"/include
|
||||
-DSynaptics_INCLUDE_DIRS="${WORKDIR}"/include
|
||||
$(cmake_use_find_package ibus IBus)
|
||||
$(cmake_use_find_package scim SCIM)
|
||||
|
||||
Reference in New Issue
Block a user