Subject: [bug#63113] [PATCH 16/27] gnu: lxqt-session: Update to 1.3.0.

From: [email-masked]
Date: Thu, 27 Apr 2023 21:26:28 +0800

From: 宋文武 <[email-masked]>

* gnu/packages/lxqt.scm (lxqt-session): Update to 1.3.0.
[patches]: Remove.
* gnu/packages/patches/lxqt-session-procps-4.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
---
 gnu/local.mk                                  |  1 -
 gnu/packages/lxqt.scm                         |  5 +-
 .../patches/lxqt-session-procps-4.patch       | 82 -------------------
 3 files changed, 2 insertions(+), 86 deletions(-)
 delete mode 100644 gnu/packages/patches/lxqt-session-procps-4.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index c0a5c721fc..c153c38651 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1531,7 +1531,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/lua-5.4-liblua-so.patch			\
   %D%/packages/patches/luit-posix.patch				\
   %D%/packages/patches/lvm2-static-link.patch			\
-  %D%/packages/patches/lxqt-session-procps-4.patch              \
   %D%/packages/patches/mailutils-variable-lookup.patch		\
   %D%/packages/patches/make-impure-dirs.patch			\
   %D%/packages/patches/mars-install.patch			\
diff --git a/gnu/packages/lxqt.scm b/gnu/packages/lxqt.scm
index b02aa45510..c771b205b8 100644
--- a/gnu/packages/lxqt.scm
+++ b/gnu/packages/lxqt.scm
@@ -668,15 +668,14 @@ (define-public lxqt-runner
 (define-public lxqt-session
   (package
     (name "lxqt-session")
-    (version "1.2.0")
+    (version "1.3.0")
     (source
      (origin
        (method url-fetch)
        (uri (string-append "https://github.com/lxqt/" name "/releases/download/"
                            version "/" name "-" version ".tar.xz"))
        (sha256
-        (base32 "0rjw3rw6kpaa3csrga005qg5bxmdxfgrnn1qngs2nrny35v97ckl"))
-       (patches (search-patches "lxqt-session-procps-4.patch"))))
+        (base32 "0xa5nqiq9mxwfynnw91i4c2cgpmpapl4nxys084nbs7yd88kbm2l"))))
     (build-system cmake-build-system)
     (inputs
      (list eudev
diff --git a/gnu/packages/patches/lxqt-session-procps-4.patch b/gnu/packages/patches/lxqt-session-procps-4.patch
deleted file mode 100644
index d10e310723..0000000000
--- a/gnu/packages/patches/lxqt-session-procps-4.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-From d1db1c791195f3c0cf148e2be8bd46c5a51ca535 Mon Sep 17 00:00:00 2001
-From: Palo Kisa <[email-masked]>
-Date: Tue, 7 Mar 2023 14:21:40 +0100
-Subject: [PATCH 978/978] reaper: Build/Run on systems with procps-ng >= 4.0.0
- (#456)
-
-On Linux, make it possible to use libproc2 or libprocps whichever is
-available.
----
- CMakeLists.txt                  |  6 +++++-
- lxqt-session/src/procreaper.cpp | 24 +++++++++++++++++++++++-
- 2 files changed, 28 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a3c5e0d..f208600 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -35,7 +35,11 @@ find_package(X11 REQUIRED)
- message(STATUS "Building with Qt${Qt5Core_VERSION}")
- find_package(PkgConfig REQUIRED)
- if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
--    pkg_search_module(PROCPS REQUIRED libprocps)
-+    pkg_search_module(PROCPS REQUIRED libproc2 libprocps)
-+    message(STATUS "Using PROCPS -> ${PROCPS_MODULE_NAME} v${PROCPS_VERSION}")
-+    if (PROCPS_VERSION VERSION_GREATER_EQUAL 4.0.0)
-+        add_definitions("-DUSING_LIBPROC2")
-+    endif()
- endif()
- 
- # Please don't move, must be after lxqt
-diff --git a/lxqt-session/src/procreaper.cpp b/lxqt-session/src/procreaper.cpp
-index 2acd030..1ea4bdc 100644
---- a/lxqt-session/src/procreaper.cpp
-+++ b/lxqt-session/src/procreaper.cpp
-@@ -29,7 +29,11 @@
- #include "log.h"
- #if defined(Q_OS_LINUX)
- #include <sys/prctl.h>
--#include <proc/readproc.h>
-+# if defined(USING_LIBPROC2)
-+#  include <libproc2/pids.h>
-+# else
-+#  include <proc/readproc.h>
-+# endif
- #elif defined(Q_OS_FREEBSD)
- #include <sys/procctl.h>
- #include <libutil.h>
-@@ -109,6 +113,23 @@ void ProcReaper::stop(const std::set<int64_t> & excludedPids)
-     const pid_t my_pid = ::getpid();
-     std::vector<pid_t> children;
- #if defined(Q_OS_LINUX)
-+# if defined(USING_LIBPROC2)
-+    constexpr pids_item items[] = { PIDS_ID_PPID, PIDS_ID_TGID };
-+    enum rel_items { rel_ppid, rel_tgid };
-+    pids_info * info = nullptr;
-+    procps_pids_new(&info, const_cast<pids_item *>(items), sizeof(items) / sizeof(pids_item));
-+    pids_stack * stack = nullptr;
-+    while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY)))
-+    {
-+        const int ppid = PIDS_VAL(rel_ppid, s_int, stack, info);
-+        if (ppid == my_pid)
-+        {
-+            const int tgid = PIDS_VAL(rel_tgid, s_int, stack, info);
-+            children.push_back(tgid);
-+        }
-+    }
-+    procps_pids_unref(&info);
-+# else
-     PROCTAB * proc_dir = ::openproc(PROC_FILLSTAT);
-     while (proc_t * proc = ::readproc(proc_dir, nullptr))
-     {
-@@ -119,6 +140,7 @@ void ProcReaper::stop(const std::set<int64_t> & excludedPids)
-         ::freeproc(proc);
-     }
-     ::closeproc(proc_dir);
-+# endif
- #elif defined(Q_OS_FREEBSD)
-     int cnt = 0;
-     if (kinfo_proc *proc_info = kinfo_getallproc(&cnt))
--- 
-2.39.2
-
-- 
2.39.2