Github messages for voidlinux
 help / color / mirror / Atom feed
From: mhmdanas <mhmdanas@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] Update procps-ng and dependents
Date: Mon, 13 Mar 2023 11:48:50 +0100	[thread overview]
Message-ID: <20230313104850.4lLJIzJBOy36hm9_pXacZC4FGF6y7BJpR4GXuzeHkq4@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-42416@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 1332 bytes --]

There is an updated pull request by mhmdanas against master on the void-packages repository

https://github.com/mhmdanas/void-packages procps-ng-4.0.3
https://github.com/void-linux/void-packages/pull/42416

Update procps-ng and dependents
#### Testing the changes
- I tested the changes in this PR: **briefly** (briefly tested CPU-X, igt-gpu-tools, and procps-ng, but not lxqt-session since I don't use LXQt)

Any testing appreciated.

@Piraty @Hoshpak @Gottox

<!--
#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**|**NO**
-->

<!-- Note: If the build is likely to take more than 2 hours, please add ci skip tag as described in
https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#continuous-integration
and test at least one native build and, if supported, at least one cross build.
Ignore this section if this PR is not skipping CI.
-->
<!--
#### Local build testing
- I built this PR locally for my native architecture, (ARCH-LIBC)
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - aarch64-musl
  - armv7l
  - armv6l-musl
-->


A patch file from https://github.com/void-linux/void-packages/pull/42416.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-procps-ng-4.0.3-42416.patch --]
[-- Type: text/x-diff, Size: 45504 bytes --]

From 5fb1fe317d4a0a7ae47cc927de28ae3bed6e87a7 Mon Sep 17 00:00:00 2001
From: Subhaditya Nath <sn03.general@gmail.com>
Date: Mon, 30 Jan 2023 23:53:36 +0530
Subject: [PATCH 1/7] libcpuid: update to 0.6.2, orphan.

Maintainer hasn't touched the package since creating it.
---
 common/shlibs             | 2 +-
 srcpkgs/libcpuid/template | 6 +++---
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 5cc81b9f90b2..65ec4ad5fb9b 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -669,7 +669,7 @@ libatasmart.so.4 libatasmart-0.17_1
 libsgutils2-1.45.so.2 libsgutils-1.45_1
 liblvm2app.so.2.2 liblvm2app-2.02.54_1
 libcpufreq.so.0 libcpufreq-007_1
-libcpuid.so.15 libcpuid-0.5.0_1
+libcpuid.so.16 libcpuid-0.6.2_1
 libgucharmap_2_90.so.7 gucharmap-3.0.0_1
 libgphoto2.so.6 libgphoto2-2.5.7_1
 libgphoto2_port.so.12 libgphoto2-2.5.7_1
diff --git a/srcpkgs/libcpuid/template b/srcpkgs/libcpuid/template
index 3cfeb869ba2a..6257293e664e 100644
--- a/srcpkgs/libcpuid/template
+++ b/srcpkgs/libcpuid/template
@@ -1,18 +1,18 @@
 # Template file for 'libcpuid'
 pkgname=libcpuid
-version=0.5.1
+version=0.6.2
 revision=1
 archs="i686* x86_64*"
 build_style=cmake
 hostmakedepends="doxygen"
 checkdepends="python3"
 short_desc="Small C library for x86 CPU detection and feature extraction"
-maintainer="cr6git <quark6@protonmail.com>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="BSD-2-Clause"
 homepage="https://github.com/anrieff/libcpuid"
 changelog="https://raw.githubusercontent.com/anrieff/libcpuid/master/ChangeLog"
 distfiles="https://github.com/anrieff/libcpuid/archive/v${version}.tar.gz"
-checksum=36d62842ef43c749c0ba82237b10ede05b298d79a0e39ef5fd1115ba1ff8e126
+checksum=3e7f2fc243a6a68d6c909b701cfa0db6422ec33fccf91ea5ab7beda3eb798672
 
 post_install() {
 	vlicense COPYING

From d2c10b7ba12f7eabbca77796587b28e1142fc21d Mon Sep 17 00:00:00 2001
From: Subhaditya Nath <sn03.general@gmail.com>
Date: Mon, 30 Jan 2023 23:54:06 +0530
Subject: [PATCH 2/7] nix: revbump for libcpuid-0.6.2

---
 srcpkgs/nix/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/nix/template b/srcpkgs/nix/template
index 1c9bd931df65..6c842fa336c3 100644
--- a/srcpkgs/nix/template
+++ b/srcpkgs/nix/template
@@ -1,7 +1,7 @@
 # Template file for 'nix'
 pkgname=nix
 version=2.11.0
-revision=2
+revision=3
 build_style=gnu-configure
 build_helper=qemu
 # Use /nix/var as suggested by the official Manual.

From 236d98149be01a7a0c969e4e5e69b6610414f7da Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Wed, 22 Feb 2023 18:29:49 +0000
Subject: [PATCH 3/7] procps-ng: update to 4.0.3.

---
 common/shlibs              |  2 +-
 srcpkgs/procps-ng/template | 31 +++++++++++++++----------------
 2 files changed, 16 insertions(+), 17 deletions(-)

diff --git a/common/shlibs b/common/shlibs
index 65ec4ad5fb9b..781badd7443b 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2320,7 +2320,7 @@ libgedacairo.so.1 geda-1.10.2_1
 libxornstorage.so.0 geda-1.10.2_1
 libclutter-gst-3.0.so.0 clutter-gst3-3.0.4_1
 libgsound.so.0 gsound-1.0.1_1
-libprocps.so.8 procps-ng-3.3.16_1
+libproc2.so.0 procps-ng-4.0.3_1
 libgegl-0.4.so.0 gegl-0.4.16_1
 libgegl-npd-0.4.so gegl-0.4.16_1
 libgegl-sc-0.4.so gegl-0.4.16_1
diff --git a/srcpkgs/procps-ng/template b/srcpkgs/procps-ng/template
index 54239e6550f6..00fa9817f531 100644
--- a/srcpkgs/procps-ng/template
+++ b/srcpkgs/procps-ng/template
@@ -1,12 +1,12 @@
 # Template file for 'procps-ng'
 pkgname=procps-ng
-version=3.3.17
-revision=2
+version=4.0.3
+revision=1
 build_style=gnu-configure
 configure_args="--exec-prefix=/ --bindir=/usr/bin --sbindir=/usr/bin
  --libdir=/usr/lib --disable-kill --enable-watch8bit
  --disable-modern-top --without-systemd"
-hostmakedepends="automake gettext-devel libtool pkg-config"
+hostmakedepends="gettext-devel pkg-config"
 makedepends="ncurses-devel"
 checkdepends="dejagnu"
 short_desc="Utilities for monitoring your system and its processes"
@@ -14,27 +14,26 @@ maintainer="Enno Boland <gottox@voidlinux.org>"
 license="GPL-2.0-or-later, LGPL-2.1-or-later"
 homepage="https://gitlab.com/procps-ng/procps"
 changelog="https://gitlab.com/procps-ng/procps/raw/master/NEWS"
-distfiles="${SOURCEFORGE_SITE}/${pkgname}/Production/${pkgname}-${version}.tar.xz"
-checksum=4518b3e7aafd34ec07d0063d250fd474999b20b200218c3ae56f5d2113f141b4
+distfiles="${SOURCEFORGE_SITE}/procps-ng/Production/procps-ng-${version}.tar.xz"
+checksum=303c8ec4f96ae18d8eaef86c2bd0986938764a45dc505fe0a0af868c674dba92
+# "pmap X with unreachable process" and "pmap XX with unreachable process" fail
+# in the CI.
+make_check=ci-skip
 
 conf_files="/etc/sysctl.conf"
 
-post_extract() {
-	sed -i 's,ncursesw/ncurses.h,ncurses.h,g' watch.c
-	sed -i '1i#include <utmp.h>' w.c
-	sed -i '1i#include <langinfo.h>' proc/escape.c
-}
+if [ "$XBPS_TARGET_LIBC" = musl ]; then
+	# See https://gitlab.com/procps-ng/procps/-/issues/193 and
+	# https://gitlab.com/procps-ng/procps/-/merge_requests/129.
+	configure_args+=" --disable-w"
+fi
 
-pre_configure() {
-	autoreconf -fi
+post_extract() {
+	vsed -i 's,ncursesw/ncurses.h,ncurses.h,g' src/watch.c
 }
 
 post_install() {
 	vconf ${FILESDIR}/sysctl.conf
-
-	# clashes with extrace, will be renamed in procps-ng 3.3.18.
-	rm -f ${DESTDIR}/usr/bin/pwait
-	rm -f ${DESTDIR}/usr/share/man/man1/pwait.1
 }
 
 procps-ng-devel_package() {

From 54e7609b2f2486259a7f3e1155f7f2b03747813c Mon Sep 17 00:00:00 2001
From: Subhaditya Nath <sn03.general@gmail.com>
Date: Mon, 30 Jan 2023 23:54:38 +0530
Subject: [PATCH 4/7] CPU-X: update to 4.5.2, orphan

---
 srcpkgs/CPU-X/template | 30 ++++++++++++++++--------------
 1 file changed, 16 insertions(+), 14 deletions(-)

diff --git a/srcpkgs/CPU-X/template b/srcpkgs/CPU-X/template
index e132a629bbfb..bde8e7071d9e 100644
--- a/srcpkgs/CPU-X/template
+++ b/srcpkgs/CPU-X/template
@@ -1,25 +1,27 @@
 # Template file for 'CPU-X'
 pkgname=CPU-X
-version=4.3.0
-revision=2
+version=4.5.2
+revision=1
 archs="x86_64* i686*"
 build_style=cmake
 hostmakedepends="pkg-config nasm"
 makedepends="ncurses-devel gettext-devel libcpuid-devel pciutils-devel
- glfw-devel ocl-icd-devel procps-ng-devel libstatgrab
- $(vopt_if gtk3 gtk+3-devel)"
+ glfw-devel ocl-icd-devel procps-ng-devel libstatgrab gtk+3-devel
+ vulkan-loader Vulkan-Headers"
+checkdepends="mawk nawk grep"
 short_desc="Free software that gathers information on CPU, motherboard and more"
-maintainer="Subhaditya Nath <sn03.general@gmail.com>"
+maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
-homepage="https://x0rg.github.io/CPU-X/"
-changelog="https://raw.githubusercontent.com/X0rg/CPU-X/master/ChangeLog.md"
-distfiles="https://github.com/X0rg/CPU-X/archive/v${version}.tar.gz"
-checksum=6ad7a8ac2d6c687a38a895fbbfbf2de690311676ac374d5857588bb983839433
-build_options="gtk3"
-build_options_default="gtk3"
-# needs grep -P which is not available in chroot-grep and replacing it with
-# grep breaks base-chroot
-make_check=no
+homepage="https://thetumultuousunicornofdarkness.github.io/CPU-X/"
+changelog="https://github.com/TheTumultuousUnicornOfDarkness/CPU-X/blob/master/ChangeLog.md"
+distfiles="https://github.com/thetumultuousunicornofdarkness/CPU-X/archive/v${version}.tar.gz"
+checksum=6cdab38928ca5684b22f7b8d868d42a25a48be6da813743b6b59a88d6e9f25d1
+
+if [ "$XBPS_BUILD_ENVIRONMENT" != void-packages-ci ]; then
+	# Installing the packages in checkdepends causes base-chroot to break.
+	# So, only run the checks in CI, where the chroot is ethereal anyway.
+	make_check=no
+fi
 
 if [ "$XBPS_TARGET_LIBC" = musl ]; then
 	makedepends+=" libexecinfo-devel"

From dfcbf14375d84230044fb445c1ec3e9d9b5af4c5 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 17:26:37 +0000
Subject: [PATCH 5/7] lxqt-session: fix build/run with libproc2.

---
 srcpkgs/lxqt-session/patches/456.patch | 78 ++++++++++++++++++++++++++
 srcpkgs/lxqt-session/template          |  2 +-
 2 files changed, 79 insertions(+), 1 deletion(-)
 create mode 100644 srcpkgs/lxqt-session/patches/456.patch

diff --git a/srcpkgs/lxqt-session/patches/456.patch b/srcpkgs/lxqt-session/patches/456.patch
new file mode 100644
index 000000000000..298f3cd67db2
--- /dev/null
+++ b/srcpkgs/lxqt-session/patches/456.patch
@@ -0,0 +1,78 @@
+From 0d16e9e007794320b219eb4bf002fc38a45f107b Mon Sep 17 00:00:00 2001
+From: Palo Kisa <palo.kisa@gmail.com>
+Date: Mon, 9 Jan 2023 10:36:47 +0100
+Subject: [PATCH] reaper: Build/Run on systems with procps-ng >= 4.0.0
+
+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 a3c5e0d0..f208600c 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 2acd0309..1ea4bdc7 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))
diff --git a/srcpkgs/lxqt-session/template b/srcpkgs/lxqt-session/template
index 50a3c977d173..86cbb45ac94c 100644
--- a/srcpkgs/lxqt-session/template
+++ b/srcpkgs/lxqt-session/template
@@ -1,7 +1,7 @@
 # Template file for 'lxqt-session'
 pkgname=lxqt-session
 version=1.2.0
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config lxqt-build-tools qt5-qmake qt5-host-tools xdg-user-dirs
  perl"

From 8cf3a6b7288805fefb2ce40e70961e32afeace66 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 17:59:06 +0000
Subject: [PATCH 6/7] igt-gpu-tools: update to 1.27.1.

---
 .../patches/fix-build-with-libproc2.diff      | 491 ++++++++++++++++++
 ...t_edid-Allocate-raw-8-bytes-for-VSDB.patch |  42 --
 .../patches/meson-fix-underscorify-call.patch |  36 --
 srcpkgs/igt-gpu-tools/patches/musl.patch      | 342 ++++++++----
 srcpkgs/igt-gpu-tools/template                |  18 +-
 5 files changed, 725 insertions(+), 204 deletions(-)
 create mode 100644 srcpkgs/igt-gpu-tools/patches/fix-build-with-libproc2.diff
 delete mode 100644 srcpkgs/igt-gpu-tools/patches/igt_edid-Allocate-raw-8-bytes-for-VSDB.patch
 delete mode 100644 srcpkgs/igt-gpu-tools/patches/meson-fix-underscorify-call.patch

diff --git a/srcpkgs/igt-gpu-tools/patches/fix-build-with-libproc2.diff b/srcpkgs/igt-gpu-tools/patches/fix-build-with-libproc2.diff
new file mode 100644
index 000000000000..21b1866c9cd9
--- /dev/null
+++ b/srcpkgs/igt-gpu-tools/patches/fix-build-with-libproc2.diff
@@ -0,0 +1,491 @@
+Description: Link to libproc2
+ libproc2 is the new library for libprocps
+Author: Craig Small <csmall@debian.org>
+Bug-Debian: https://bugs.debian.org/1024221
+Reviewed-by: Craig Small <csmall@debian.org>
+Last-Update: 2022-12-22
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/lib/igt_aux.c
++++ b/lib/igt_aux.c
+@@ -52,8 +52,16 @@
+ #include <assert.h>
+ #include <grp.h>
+ 
++#ifdef HAVE_LIBPROCPS
+ #include <proc/readproc.h>
++#endif
++#ifdef HAVE_LIBPROC2
++#include <libproc2/pids.h>
++#endif
++
+ #include <libudev.h>
++#include <linux/limits.h>
++#include <dirent.h>
+ 
+ #include "drmtest.h"
+ #include "i915_drm.h"
+@@ -1217,6 +1225,7 @@ void igt_unlock_mem(void)
+  */
+ int igt_is_process_running(const char *comm)
+ {
++#if HAVE_LIBPROCPS
+ 	PROCTAB *proc;
+ 	proc_t *proc_info;
+ 	bool found = false;
+@@ -1235,6 +1244,26 @@ int igt_is_process_running(const char *c
+ 
+ 	closeproc(proc);
+ 	return found;
++#endif
++#ifdef HAVE_LIBPROC2
++	enum pids_item Item[] = { PIDS_CMD };
++	struct pids_info *info = NULL;
++	struct pids_stack *stack;
++	char *pid_comm;
++	bool found = false;
++
++	if (procps_pids_new(&info, Item, 1) < 0)
++	    return false;
++	while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) {
++	    pid_comm = PIDS_VAL(0, str, stack, info);
++	    if (!strncasecmp(pid_comm, comm, strlen(pid_comm))) {
++		found = true;
++		break;
++	    }
++	}
++	procps_pids_unref(&info);
++	return found;
++#endif
+ }
+ 
+ /**
+@@ -1251,6 +1280,7 @@ int igt_is_process_running(const char *c
+  */
+ int igt_terminate_process(int sig, const char *comm)
+ {
++#ifdef HAVE_LIBPROCPS
+ 	PROCTAB *proc;
+ 	proc_t *proc_info;
+ 	int err = 0;
+@@ -1272,6 +1302,29 @@ int igt_terminate_process(int sig, const
+ 
+ 	closeproc(proc);
+ 	return err;
++#endif
++#ifdef HAVE_LIBPROC2
++	enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD };
++	struct pids_info *info = NULL;
++	struct pids_stack *stack;
++	char *pid_comm;
++	int pid;
++	int err = 0;
++
++	if (procps_pids_new(&info, Items, 2) < 0)
++		return -errno;
++	while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) {
++		pid = PIDS_VAL(0, s_int, stack, info);
++		pid_comm = PIDS_VAL(1, str, stack, info);
++		if (!strncasecmp(pid_comm, comm, strlen(pid_comm))) {
++			if (kill(pid, sig) < 0)
++				err = -errno;
++			break;
++		}
++	}
++	procps_pids_unref(&info);
++	return err;
++#endif
+ }
+ 
+ struct pinfo {
+@@ -1341,9 +1394,9 @@ igt_show_stat_header(void)
+ }
+ 
+ static void
+-igt_show_stat(proc_t *info, int *state, const char *fn)
++igt_show_stat(const pid_t tid, const char *cmd, int *state, const char *fn)
+ {
+-	struct pinfo p = { .pid = info->tid, .comm = info->cmd, .fn = fn };
++	struct pinfo p = { .pid = tid, .comm = cmd, .fn = fn };
+ 
+ 	if (!*state)
+ 		igt_show_stat_header();
+@@ -1353,7 +1406,7 @@ igt_show_stat(proc_t *info, int *state,
+ }
+ 
+ static void
+-__igt_lsof_fds(proc_t *proc_info, int *state, char *proc_path, const char *dir)
++__igt_lsof_fds(const pid_t tid, const char *cmd, int *state, char *proc_path, const char *dir)
+ {
+ 	struct dirent *d;
+ 	struct stat st;
+@@ -1400,7 +1453,7 @@ again:
+ 		dirn = dirname(copy_fd_lnk);
+ 
+ 		if (!strncmp(dir, dirn, strlen(dir)))
+-			igt_show_stat(proc_info, state, fd_lnk);
++			igt_show_stat(tid, cmd, state, fd_lnk);
+ 
+ 		free(copy_fd_lnk);
+ 		free(fd_lnk);
+@@ -1416,13 +1469,14 @@ again:
+ static void
+ __igt_lsof(const char *dir)
+ {
+-	PROCTAB *proc;
+-	proc_t *proc_info;
+-
+ 	char path[30];
+ 	char *name_lnk;
+ 	struct stat st;
+ 	int state = 0;
++#ifdef HAVE_LIBPROCPS
++	PROCTAB *proc;
++	proc_t *proc_info;
++
+ 
+ 	proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG);
+ 	igt_assert(proc != NULL);
+@@ -1456,6 +1510,44 @@ __igt_lsof(const char *dir)
+ 	}
+ 
+ 	closeproc(proc);
++#endif
++#ifdef HAVE_LIBPROC2
++	enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD };
++	struct pids_info *info = NULL;
++	struct pids_stack *stack;
++
++	if (procps_pids_new(&info, Items, 2) < 0)
++		return;
++	while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) {
++		ssize_t read;
++		int tid = PIDS_VAL(0, s_int, stack, info);
++		char *pid_comm = PIDS_VAL(1, str, stack, info);
++
++		/* check current working directory */
++		memset(path, 0, sizeof(path));
++		snprintf(path, sizeof(path), "/proc/%d/cwd", tid);
++
++		if (stat(path, &st) == -1)
++			continue;
++
++		name_lnk = malloc(st.st_size + 1);
++
++		igt_assert((read = readlink(path, name_lnk, st.st_size + 1)));
++		name_lnk[read] = '\0';
++
++		if (!strncmp(dir, name_lnk, strlen(dir)))
++			igt_show_stat(tid, pid_comm, &state, name_lnk);
++
++		/* check also fd, seems that lsof(8) doesn't look here */
++		memset(path, 0, sizeof(path));
++		snprintf(path, sizeof(path), "/proc/%d/fd", tid);
++
++		__igt_lsof_fds(tid, pid_comm, &state, path, dir);
++
++		free(name_lnk);
++	}
++	procps_pids_unref(&info);
++#endif
+ }
+ 
+ /**
+@@ -1490,7 +1582,7 @@ igt_lsof(const char *dpath)
+ 	free(sanitized);
+ }
+ 
+-static void pulseaudio_unload_module(proc_t *proc_info)
++static void pulseaudio_unload_module(const uid_t euid, const gid_t egid)
+ {
+ 	struct igt_helper_process pa_proc = {};
+ 	char xdg_dir[PATH_MAX];
+@@ -1498,14 +1590,14 @@ static void pulseaudio_unload_module(pro
+ 	struct passwd *pw;
+ 
+ 	igt_fork_helper(&pa_proc) {
+-		pw = getpwuid(proc_info->euid);
++		pw = getpwuid(euid);
+ 		homedir = pw->pw_dir;
+-		snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", proc_info->euid);
++		snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", euid);
+ 
+ 		igt_info("Request pulseaudio to stop using audio device\n");
+ 
+-		setgid(proc_info->egid);
+-		setuid(proc_info->euid);
++		setgid(egid);
++		setuid(euid);
+ 		clearenv();
+ 		setenv("HOME", homedir, 1);
+ 		setenv("XDG_RUNTIME_DIR",xdg_dir, 1);
+@@ -1524,10 +1616,12 @@ static void pipewire_reserve_wait(void)
+ 	char xdg_dir[PATH_MAX];
+ 	const char *homedir;
+ 	struct passwd *pw;
+-	proc_t *proc_info;
+-	PROCTAB *proc;
++	int tid=0, euid, egid;
+ 
++#ifdef HAVE_LIBPROCPS
+ 	igt_fork_helper(&pw_reserve_proc) {
++		proc_t *proc_info;
++		PROCTAB *proc;
+ 		igt_info("Preventing pipewire-pulse to use the audio drivers\n");
+ 
+ 		proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG);
+@@ -1539,21 +1633,44 @@ static void pipewire_reserve_wait(void)
+ 			freeproc(proc_info);
+ 		}
+ 		closeproc(proc);
++		tid = proc_info->tid;
++		euid = proc_info->euid;
++		egid = proc_info->egid;
++		freeproc(proc_info);
++#endif
++#ifdef HAVE_LIBPROC2
++	igt_fork(child, 1) {
++		enum pids_item Items[] = { PIDS_ID_PID, PIDS_ID_EUID, PIDS_ID_EGID };
++		enum rel_items { EU_PID, EU_EUID, EU_EGID };
++		struct pids_info *info = NULL;
++		struct pids_stack *stack;
++
++		igt_info("Preventing pipewire-pulse to use the audio drivers\n");
++
++		if (procps_pids_new(&info, Items, 3) < 0)
++		    return;
++		while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) {
++			tid = PIDS_VAL(EU_PID, s_int, stack, info);
++			if (pipewire_pulse_pid == tid)
++				break;
++		}
++		euid = PIDS_VAL(EU_EUID, s_int, stack, info);
++		egid = PIDS_VAL(EU_EGID, s_int, stack, info);
++		procps_pids_unref(&info);
++#endif
+ 
+ 		/* Sanity check: if it can't find the process, it means it has gone */
+-		if (pipewire_pulse_pid != proc_info->tid)
++		if (pipewire_pulse_pid != tid)
+ 			exit(0);
+ 
+-		pw = getpwuid(proc_info->euid);
++		pw = getpwuid(euid);
+ 		homedir = pw->pw_dir;
+-		snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", proc_info->euid);
+-		setgid(proc_info->egid);
+-		setuid(proc_info->euid);
++		snprintf(xdg_dir, sizeof(xdg_dir), "/run/user/%d", euid);
++		setgid(egid);
++		setuid(euid);
+ 		clearenv();
+ 		setenv("HOME", homedir, 1);
+ 		setenv("XDG_RUNTIME_DIR",xdg_dir, 1);
+-		freeproc(proc_info);
+-
+ 		/*
+ 		 * pw-reserve will run in background. It will only exit when
+ 		 * igt_kill_children() is called later on. So, it shouldn't
+@@ -1570,9 +1687,7 @@ static void pipewire_reserve_wait(void)
+ int pipewire_pulse_start_reserve(void)
+ {
+ 	bool is_pw_reserve_running = false;
+-	proc_t *proc_info;
+ 	int attempts = 0;
+-	PROCTAB *proc;
+ 
+ 	if (!pipewire_pulse_pid)
+ 		return 0;
+@@ -1584,6 +1699,10 @@ int pipewire_pulse_start_reserve(void)
+ 	 * pipewire version 0.3.50 or upper.
+ 	 */
+ 	for (attempts = 0; attempts < PIPEWIRE_RESERVE_MAX_TIME; attempts++) {
++#ifdef HAVE_LIBPROCPS
++		proc_t *proc_info;
++		PROCTAB *proc;
++
+ 		usleep(1000);
+ 		proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG);
+ 		igt_assert(proc != NULL);
+@@ -1598,6 +1717,25 @@ int pipewire_pulse_start_reserve(void)
+ 			freeproc(proc_info);
+ 		}
+ 		closeproc(proc);
++#endif
++#ifdef HAVE_LIBPROC2
++		enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD };
++		struct pids_info *info = NULL;
++		struct pids_stack *stack;
++
++		usleep(1000);
++
++		if (procps_pids_new(&info, Items, 2) < 0)
++			return 1;
++		while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) {
++			if (!strcmp(PIDS_VAL(1, str, stack, info), "pw-reserve")) {
++				is_pw_reserve_running = true;
++				pipewire_pw_reserve_pid = PIDS_VAL(0, s_int, stack, info);
++				break;
++			}
++		}
++		procps_pids_unref(&info);
++#endif
+ 		if (is_pw_reserve_running)
+ 			break;
+ 	}
+@@ -1645,7 +1783,7 @@ void pipewire_pulse_stop_reserve(void)
+  * If the check fails, it means that the process can simply be killed.
+  */
+ static int
+-__igt_lsof_audio_and_kill_proc(proc_t *proc_info, char *proc_path)
++__igt_lsof_audio_and_kill_proc(const pid_t tid, const char *cmd, const uid_t euid, const gid_t egid, char *proc_path)
+ {
+ 	const char *audio_dev = "/dev/snd/";
+ 	char path[PATH_MAX * 2];
+@@ -1670,10 +1808,10 @@ __igt_lsof_audio_and_kill_proc(proc_t *p
+ 	 * 2) unload/unbind the the audio driver(s);
+ 	 * 3) stop the pw-reserve thread.
+ 	 */
+-	if (!strcmp(proc_info->cmd, "pipewire-pulse")) {
++	if (!strcmp(cmd, "pipewire-pulse")) {
+ 		igt_info("process %d (%s) is using audio device. Should be requested to stop using them.\n",
+-			 proc_info->tid, proc_info->cmd);
+-		pipewire_pulse_pid = proc_info->tid;
++			 tid, cmd);
++		pipewire_pulse_pid = tid;
+ 		return 0;
+ 	}
+ 	/*
+@@ -1685,9 +1823,9 @@ __igt_lsof_audio_and_kill_proc(proc_t *p
+ 	 * will respawn them. So, just ignore here, they'll honor pw-reserve,
+ 	 * when the time comes.
+ 	 */
+-	if (!strcmp(proc_info->cmd, "pipewire-media-session"))
++	if (!strcmp(cmd, "pipewire-media-session"))
+ 		return 0;
+-	if (!strcmp(proc_info->cmd, "wireplumber"))
++	if (!strcmp(cmd, "wireplumber"))
+ 		return 0;
+ 
+ 	dp = opendir(proc_path);
+@@ -1723,22 +1861,22 @@ __igt_lsof_audio_and_kill_proc(proc_t *p
+ 		 * enough to unbind audio modules and won't cause race issues
+ 		 * with systemd trying to reload it.
+ 		 */
+-		if (!strcmp(proc_info->cmd, "pulseaudio")) {
+-			pulseaudio_unload_module(proc_info);
++		if (!strcmp(cmd, "pulseaudio")) {
++			pulseaudio_unload_module(euid, egid);
+ 			break;
+ 		}
+ 
+ 		/* For all other processes, just kill them */
+ 		igt_info("process %d (%s) is using audio device. Should be terminated.\n",
+-				proc_info->tid, proc_info->cmd);
++				tid, cmd);
+ 
+-		if (kill(proc_info->tid, SIGTERM) < 0) {
++		if (kill(tid, SIGTERM) < 0) {
+ 			igt_info("Fail to terminate %s (pid: %d) with SIGTERM\n",
+-				proc_info->cmd, proc_info->tid);
+-			if (kill(proc_info->tid, SIGABRT) < 0) {
++				cmd, tid);
++			if (kill(tid, SIGABRT) < 0) {
+ 				fail++;
+ 				igt_info("Fail to terminate %s (pid: %d) with SIGABRT\n",
+-					proc_info->cmd, proc_info->tid);
++					cmd, tid);
+ 			}
+ 		}
+ 
+@@ -1760,9 +1898,10 @@ int
+ igt_lsof_kill_audio_processes(void)
+ {
+ 	char path[PATH_MAX];
++	int fail = 0;
++#ifdef HAVE_LIBPROCPS
+ 	proc_t *proc_info;
+ 	PROCTAB *proc;
+-	int fail = 0;
+ 
+ 	proc = openproc(PROC_FILLCOM | PROC_FILLSTAT | PROC_FILLARG);
+ 	igt_assert(proc != NULL);
+@@ -1772,12 +1911,35 @@ igt_lsof_kill_audio_processes(void)
+ 		if (snprintf(path, sizeof(path), "/proc/%d/fd", proc_info->tid) < 1)
+ 			fail++;
+ 		else
+-			fail += __igt_lsof_audio_and_kill_proc(proc_info, path);
++			fail += __igt_lsof_audio_and_kill_proc(proc_info->pid, proc_info->cmd, proc_info->euid, proc_info->egid, path);
+ 
+ 		freeproc(proc_info);
+ 	}
+ 	closeproc(proc);
++#endif
++#ifdef HAVE_LIBPROC2
++	enum pids_item Items[] = { PIDS_ID_PID, PIDS_CMD, PIDS_ID_EUID, PIDS_ID_EGID };
++	enum rel_items { EU_PID, EU_CMD, EU_EUID, EU_EGID };
++	struct pids_info *info = NULL;
++	struct pids_stack *stack;
++	pid_t tid;
++
++	if (procps_pids_new(&info, Items, 4) < 0)
++		return 1;
++	while ((stack = procps_pids_get(info, PIDS_FETCH_TASKS_ONLY))) {
++		tid = PIDS_VAL(EU_PID, s_int, stack, info);
+ 
++		if (snprintf(path, sizeof(path), "/proc/%d/fd", tid) < 1)
++			fail++;
++		else
++			fail += __igt_lsof_audio_and_kill_proc(tid,
++				PIDS_VAL(EU_CMD, str, stack, info),
++				PIDS_VAL(EU_EUID, s_int, stack, info),
++				PIDS_VAL(EU_EGID, s_int, stack, info),
++				path);
++	}
++	procps_pids_unref(&info);
++#endif
+ 	return fail;
+ }
+ 
+--- a/lib/meson.build
++++ b/lib/meson.build
+@@ -105,7 +105,6 @@ lib_deps = [
+ 	libdrm,
+ 	libdw,
+ 	libkmod,
+-	libprocps,
+ 	libudev,
+ 	math,
+ 	pciaccess,
+@@ -169,6 +168,12 @@ if chamelium.found()
+ 	lib_sources += 'monitor_edids/monitor_edids_helper.c'
+ endif
+ 
++if libprocps.found()
++	lib_deps += libprocps
++else
++	lib_deps += libproc2
++endif
++
+ if get_option('srcdir') != ''
+     srcdir = join_paths(get_option('srcdir'), 'tests')
+ else
+--- a/meson.build
++++ b/meson.build
+@@ -120,7 +120,15 @@ build_info += 'With libdrm: ' + ','.join
+ 
+ pciaccess = dependency('pciaccess', version : '>=0.10')
+ libkmod = dependency('libkmod')
+-libprocps = dependency('libprocps', required : true)
++libprocps = dependency('libprocps', required : false)
++libproc2 = dependency('libproc2', required : false)
++if libprocps.found()
++  config.set('HAVE_LIBPROCPS', 1)
++elif libproc2.found()
++  config.set('HAVE_LIBPROC2', 1)
++else
++  error('Either libprocps or libproc2 is required')
++endif
+ 
+ libunwind = dependency('libunwind', required : get_option('libunwind'))
+ build_info += 'With libunwind: @0@'.format(libunwind.found())
diff --git a/srcpkgs/igt-gpu-tools/patches/igt_edid-Allocate-raw-8-bytes-for-VSDB.patch b/srcpkgs/igt-gpu-tools/patches/igt_edid-Allocate-raw-8-bytes-for-VSDB.patch
deleted file mode 100644
index 7cc9e289305c..000000000000
--- a/srcpkgs/igt-gpu-tools/patches/igt_edid-Allocate-raw-8-bytes-for-VSDB.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 2107b0a53692fb329175bc16169c3699712187aa Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Sat, 27 Feb 2021 14:10:41 -0800
-Subject: [PATCH] lib/igt_edid: Allocate raw 8-bytes for VSDB
-
-hdmi_vsdb is an element of cea_vsdb which makes the size of cea_vsdb to
-be 8 ( 3bytes ieee_oui ) + ( 5bytes hdmi_vsdb struct), its true that we
-only use 7 bytes technically we can only allocate 7byte array but since
-we are writing to elements of hdmi_vsdb struct which is sitting at offet
-4-8 in cea_vsdb, compiler thinks we have an element which is out of
-array bounds since out allocated size is 7bytes
-
-This errors out
-../git/lib/igt_edid.c:365:13: error: array subscript 'struct hdmi_vsdb[0]' is partly outside array bounds of 'char[7]' [-Werror=array-bounds]
-  365 |         hdmi->src_phy_addr[0] = 0x10;
-      |             ^~
-
-allocating one extra byte matches with size of cea_vsdb and compiler is
-happy
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
-Reviewed-by: Martin Peres <martin.peres@mupuf.org>
----
- lib/igt_edid.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/igt_edid.c b/lib/igt_edid.c
-index 1c85486d..ce09cc47 100644
---- a/lib/igt_edid.c
-+++ b/lib/igt_edid.c
-@@ -351,7 +351,7 @@ void cea_sad_init_pcm(struct cea_sad *sad, int channels,
- const struct cea_vsdb *cea_vsdb_get_hdmi_default(size_t *size)
- {
- 	/* We'll generate a VSDB with 2 extension fields. */
--	static char raw[CEA_VSDB_HDMI_MIN_SIZE + 2] = {0};
-+	static char raw[CEA_VSDB_HDMI_MIN_SIZE + 3] = {0};
- 	struct cea_vsdb *vsdb;
- 	struct hdmi_vsdb *hdmi;
- 
--- 
-GitLab
-
diff --git a/srcpkgs/igt-gpu-tools/patches/meson-fix-underscorify-call.patch b/srcpkgs/igt-gpu-tools/patches/meson-fix-underscorify-call.patch
deleted file mode 100644
index 142e2fa44fb6..000000000000
--- a/srcpkgs/igt-gpu-tools/patches/meson-fix-underscorify-call.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-From 963917a3565466832a3b2fc22e9285d34a0bf944 Mon Sep 17 00:00:00 2001
-From: Petri Latvala <petri.latvala@intel.com>
-Date: Thu, 28 Oct 2021 11:05:31 +0300
-Subject: [PATCH] lib/meson.build: Fix underscorify call
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-f.underscorify() is correct, f.underscorify(f) is an error that later
-meson versions don't like at all.
-
-Closes: https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/issues/107
-Fixes: 588555f77909 ("lib/i915: Extract helpers for determining scheduler capabilities")
-Cc: Arkadiusz Hiler <arek@hiler.eu>
-Signed-off-by: Petri Latvala <petri.latvala@intel.com>
-Reviewed-by: José Roberto de Souza <jose.souza@intel.com>
----
- lib/meson.build | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/lib/meson.build b/lib/meson.build
-index c3080fc8..297b0ad2 100644
---- a/lib/meson.build
-+++ b/lib/meson.build
-@@ -155,7 +155,7 @@ lib_version = vcs_tag(input : 'version.h.in', output : 'version.h',
- 
- lib_intermediates = []
- foreach f: lib_sources
--    name = f.underscorify(f)
-+    name = f.underscorify()
-     lib = static_library('igt-' + name,
- 	[ f, lib_version ],
- 	include_directories: inc,
--- 
-GitLab
-
diff --git a/srcpkgs/igt-gpu-tools/patches/musl.patch b/srcpkgs/igt-gpu-tools/patches/musl.patch
index 1c1335162e56..615afdb8f8ea 100644
--- a/srcpkgs/igt-gpu-tools/patches/musl.patch
+++ b/srcpkgs/igt-gpu-tools/patches/musl.patch
@@ -1,22 +1,58 @@
+diff --git a/benchmarks/gem_exec_tracer.c b/benchmarks/gem_exec_tracer.c
+index 7e86473e..3156dfc2 100644
+--- a/benchmarks/gem_exec_tracer.c
++++ b/benchmarks/gem_exec_tracer.c
+@@ -271,7 +271,11 @@ static int is_i915(int fd)
+ }
+ 
+ int
++#ifdef __GLIBC__
+ ioctl(int fd, unsigned long request, ...)
++#else
++ioctl(int fd, int request, ...)
++#endif
+ {
+ 	struct trace *t, **p;
+ 	va_list args;
 diff --git a/benchmarks/gem_syslatency.c b/benchmarks/gem_syslatency.c
-index 7671dc4..3ac9544 100644
+index 312c428b..e0740fc1 100644
 --- a/benchmarks/gem_syslatency.c
 +++ b/benchmarks/gem_syslatency.c
-@@ -44,7 +44,11 @@
- 
+@@ -46,6 +46,8 @@
  #include <linux/unistd.h>
+ #endif
  
--#define sigev_notify_thread_id _sigev_un._tid
-+#ifndef __GLIBC__
-+#include "signal_compat.h"
-+#endif
-+
 +#define sigev_notify_thread_id sigev_notify_function
++
+ #include "i915/gem_create.h"
+ #include "i915/gem_ring.h"
+ #include "igt_aux.h"
+diff --git a/lib/amdgpu/amd_pci_unplug.c b/lib/amdgpu/amd_pci_unplug.c
+index 078398b5..554f489c 100644
+--- a/lib/amdgpu/amd_pci_unplug.c
++++ b/lib/amdgpu/amd_pci_unplug.c
+@@ -21,6 +21,7 @@
+  *
+ */
+ #include <linux/limits.h>
++#include <limits.h> // PATH_MAX
+ #include <fcntl.h>
+ #include <sys/stat.h>
+ #include <pthread.h>
+diff --git a/lib/igt_audio.c b/lib/igt_audio.c
+index e0b1bafe..dd5e0d2c 100644
+--- a/lib/igt_audio.c
++++ b/lib/igt_audio.c
+@@ -26,6 +26,7 @@
  
- static volatile int done;
+ #include "config.h"
  
++#include <limits.h> // PATH_MAX
+ #include <errno.h>
+ #include <fcntl.h>
+ #include <gsl/gsl_fft_real.h>
 diff --git a/lib/igt_aux.c b/lib/igt_aux.c
-index 578f857..3e98cf0 100644
+index 15e30440..9792899d 100644
 --- a/lib/igt_aux.c
 +++ b/lib/igt_aux.c
 @@ -31,6 +31,7 @@
@@ -24,49 +60,60 @@ index 578f857..3e98cf0 100644
  #include <stdio.h>
  #include <fcntl.h>
 +#include <limits.h> // PATH_MAX
+ #include <pwd.h>
  #include <sys/stat.h>
  #include <sys/ioctl.h>
- #include <string.h>
-@@ -73,6 +74,12 @@
- #include <libgen.h>   /* for dirname() */
- #endif
- 
-+#ifndef __GLIBC__
-+#include "signal_compat.h"
-+#endif
-+
-+//#include <asm-generic/siginfo.h>
-+
- /**
-  * SECTION:igt_aux
-  * @short_description: Auxiliary libraries and support functions
 diff --git a/lib/igt_aux.h b/lib/igt_aux.h
-index 04d2290..a0ada9e 100644
+index e734c87b..b626d28c 100644
 --- a/lib/igt_aux.h
 +++ b/lib/igt_aux.h
-@@ -46,7 +46,7 @@
+@@ -48,7 +48,7 @@
+ # ifndef HAVE_GETTID
  #  define gettid() (pid_t)(syscall(__NR_gettid))
  # endif
+-# define sigev_notify_thread_id _sigev_un._tid
++# define sigev_notify_thread_id sigev_notify_function
  #endif
--#define sigev_notify_thread_id _sigev_un._tid
-+#define sigev_notify_thread_id sigev_notify_function
  
  /* auxialiary igt helpers from igt_aux.c */
- /* generally useful helpers */
+diff --git a/lib/igt_device_scan.c b/lib/igt_device_scan.c
+index ed128d24..ebff1ad3 100644
+--- a/lib/igt_device_scan.c
++++ b/lib/igt_device_scan.c
+@@ -27,6 +27,7 @@
+ #include "igt_list.h"
+ #include "intel_chipset.h"
+ 
++#include <limits.h> // PATH_MAX
+ #include <ctype.h>
+ #include <dirent.h>
+ #include <fcntl.h>
 diff --git a/lib/igt_eld.c b/lib/igt_eld.c
-index 3d7fd4d..d51774b 100644
+index ef6625df..3e9b8a40 100644
 --- a/lib/igt_eld.c
 +++ b/lib/igt_eld.c
-@@ -29,6 +29,7 @@
+@@ -26,6 +26,7 @@
+ #include "config.h"
+ 
+ #include <dirent.h>
++#include <limits.h> // PATH_MAX
+ #include <errno.h>
+ #include <glob.h>
  #include <stdint.h>
- #include <stdio.h>
- #include <string.h>
-+#include <limits.h>
+diff --git a/lib/igt_frame.c b/lib/igt_frame.c
+index 45523a79..86b8aad4 100644
+--- a/lib/igt_frame.c
++++ b/lib/igt_frame.c
+@@ -26,6 +26,7 @@
+ 
+ #include "config.h"
  
- #include "igt_core.h"
- #include "igt_eld.h"
++#include <limits.h> // PATH_MAX
+ #include <fcntl.h>
+ #include <pixman.h>
+ #include <cairo.h>
 diff --git a/lib/igt_halffloat.c b/lib/igt_halffloat.c
-index 08ab05f..7d6a6e6 100644
+index 08ab05fc..7d6a6e6a 100644
 --- a/lib/igt_halffloat.c
 +++ b/lib/igt_halffloat.c
 @@ -162,7 +162,7 @@ static inline float _half_to_float(uint16_t val)
@@ -78,8 +125,20 @@ index 08ab05f..7d6a6e6 100644
  #pragma GCC push_options
  #pragma GCC target("f16c")
  
+diff --git a/lib/igt_hwmon.c b/lib/igt_hwmon.c
+index 309019d6..6216a160 100644
+--- a/lib/igt_hwmon.c
++++ b/lib/igt_hwmon.c
+@@ -2,6 +2,7 @@
+ /*
+  * Copyright © 2022 Intel Corporation
+  */
++#include <limits.h> // PATH_MAX
+ #include <sys/stat.h>
+ #include <sys/sysmacros.h>
+ #include <dirent.h>
 diff --git a/lib/igt_x86.c b/lib/igt_x86.c
-index 6ac700d..ddf5edd 100644
+index 6ac700df..ddf5edda 100644
 --- a/lib/igt_x86.c
 +++ b/lib/igt_x86.c
 @@ -190,7 +190,7 @@ char *igt_x86_features_to_string(unsigned features, char *line)
@@ -91,93 +150,146 @@ index 6ac700d..ddf5edd 100644
  #pragma GCC push_options
  #pragma GCC target("sse4.1")
  #pragma GCC diagnostic ignored "-Wpointer-arith"
-diff --git a/lib/signal_compat.h b/lib/signal_compat.h
-new file mode 100644
-index 0000000..acae648
---- /dev/null
-+++ b/lib/signal_compat.h
-@@ -0,0 +1,4 @@
-+#define SIGEV_SIGNAL    0       /* notify via signal */
-+#define SIGEV_NONE      1       /* other notification: meaningless */
-+#define SIGEV_THREAD    2       /* deliver via thread creation */
-+#define SIGEV_THREAD_ID 4       /* deliver to thread */
-diff --git a/tests/drm_read.c b/tests/drm_read.c
-index cfb1c04..18be922 100644
---- a/tests/drm_read.c
-+++ b/tests/drm_read.c
-@@ -220,7 +220,7 @@ static void test_short_buffer_wakeup(int in, enum pipe pipe)
- 		pthread_mutex_unlock(&w.mutex);
- 
- 		/* Give each thread a chance to sleep in drm_read() */
--		pthread_yield();
-+		sched_yield();
- 
- 		/* One event should wake all threads as none consume */
- 		generate_event(w.fd, pipe);
-diff --git a/tests/kms_hdmi_inject.c b/tests/kms_hdmi_inject.c
-index 8c0d133..f272418 100644
---- a/tests/kms_hdmi_inject.c
-+++ b/tests/kms_hdmi_inject.c
-@@ -25,7 +25,7 @@
+diff --git a/runner/executor.c b/runner/executor.c
+index 9d3623b4..aac3ac56 100644
+--- a/runner/executor.c
++++ b/runner/executor.c
+@@ -1,6 +1,7 @@
+ #include <ctype.h>
+ #include <errno.h>
+ #include <fcntl.h>
++#include <limits.h> // PATH_MAX
+ #include <glib.h>
+ #ifdef __linux__
+ #include <linux/watchdog.h>
+diff --git a/runner/runner_tests.c b/runner/runner_tests.c
+index a7e968f8..6d605251 100644
+--- a/runner/runner_tests.c
++++ b/runner/runner_tests.c
+@@ -1,5 +1,6 @@
+ #include <dirent.h>
+ #include <fcntl.h>
++#include <limits.h> // PATH_MAX
+ #include <sys/stat.h>
+ #include <sys/types.h>
+ #include <unistd.h>
+diff --git a/tests/device_reset.c b/tests/device_reset.c
+index 39ee8dca..fa8e3b9f 100644
+--- a/tests/device_reset.c
++++ b/tests/device_reset.c
+@@ -3,6 +3,7 @@
+  * Copyright(c) 2020 Intel Corporation. All rights reserved.
+  */
+ #include <fcntl.h>
++#include <limits.h> // PATH_MAX
+ #include <sys/ioctl.h>
+ #include <sys/stat.h>
+ #include <signal.h>
+diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c
+index 74935430..0dc87d8c 100644
+--- a/tests/i915/i915_pm_rpm.c
++++ b/tests/i915/i915_pm_rpm.c
+@@ -27,6 +27,7 @@
+ 
  #include "config.h"
  
- #include <dirent.h>
--
-+#include <limits.h>
- #include "igt.h"
- #include "igt_edid.h"
- #include "igt_eld.h"
++#include <limits.h> // PATH_MAX
+ #include <stdio.h>
+ #include <stdint.h>
+ #include <stdbool.h>
+diff --git a/tests/kms_atomic.c b/tests/kms_atomic.c
+index 2a3fb74b..781af5e8 100644
+--- a/tests/kms_atomic.c
++++ b/tests/kms_atomic.c
+@@ -830,7 +830,7 @@ static void crtc_invalid_params_fence(igt_pipe_t *pipe,
+ {
+ 	int timeline, fence_fd;
+ 	void *map;
+-	const ptrdiff_t PAGE_SIZE = sysconf(_SC_PAGE_SIZE);
++	const ptrdiff_t intelsize = sysconf(_SC_PAGE_SIZE);
+ 	uint64_t old_mode_id = pipe->values[IGT_CRTC_MODE_ID];
+ 
+ 	igt_require_sw_sync();
+@@ -838,28 +838,28 @@ static void crtc_invalid_params_fence(igt_pipe_t *pipe,
+ 	timeline = sw_sync_timeline_create();
+ 
+ 	/* invalid out_fence_ptr */
+-	map = mmap(NULL, PAGE_SIZE, PROT_READ, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
++	map = mmap(NULL, intelsize, PROT_READ, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
+ 	igt_assert(map != MAP_FAILED);
+ 
+ 	igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)map);
+ 	crtc_commit_atomic_err(pipe, plane, ATOMIC_RELAX_NONE, EFAULT);
+-	munmap(map, PAGE_SIZE);
++	munmap(map, intelsize);
+ 
+ 	/* invalid out_fence_ptr */
+-	map = mmap(NULL, PAGE_SIZE, PROT_EXEC, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
++	map = mmap(NULL, intelsize, PROT_EXEC, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
+ 	igt_assert(map != MAP_FAILED);
+ 
+ 	igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)map);
+ 	crtc_commit_atomic_err(pipe, plane, ATOMIC_RELAX_NONE, EFAULT);
+-	munmap(map, PAGE_SIZE);
++	munmap(map, intelsize);
+ 
+ 	/* invalid out_fence_ptr */
+-	map = mmap(NULL, PAGE_SIZE, PROT_NONE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
++	map = mmap(NULL, intelsize, PROT_NONE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
+ 	igt_assert(map != MAP_FAILED);
+ 
+ 	igt_pipe_obj_set_prop_value(pipe, IGT_CRTC_OUT_FENCE_PTR, (ptrdiff_t)map);
+ 	crtc_commit_atomic_err(pipe, plane, ATOMIC_RELAX_NONE, EFAULT);
+-	munmap(map, PAGE_SIZE);
++	munmap(map, intelsize);
+ 
+ 	/* valid in fence but not allowed prop on crtc */
+ 	fence_fd = sw_sync_timeline_create_fence(timeline, 1);
 diff --git a/tests/kms_sysfs_edid_timing.c b/tests/kms_sysfs_edid_timing.c
-index 1201388..e75c7e9 100644
+index 77521108..3b16cba8 100644
 --- a/tests/kms_sysfs_edid_timing.c
 +++ b/tests/kms_sysfs_edid_timing.c
-@@ -24,6 +24,7 @@
+@@ -22,6 +22,7 @@
+  */
+ #include "igt.h"
  
++#include <limits.h> // PATH_MAX
  #include <dirent.h>
  #include <fcntl.h>
-+#include <limits.h>
  #include <sys/stat.h>
- 
- #define THRESHOLD_PER_CONNECTOR	10
-diff --git a/tests/i915/gem_close_race.c b/tests/i915/gem_close_race.c
-index 57e0048..ad5f504 100644
---- a/tests/i915/gem_close_race.c
-+++ b/tests/i915/gem_close_race.c
-@@ -51,7 +51,11 @@
- static uint32_t devid;
- static bool has_64bit_relocations;
- 
--#define sigev_notify_thread_id _sigev_un._tid
-+#ifndef __GLIBC__
-+#include "signal_compat.h"
-+#endif
-+
-+#define sigev_notify_thread_id sigev_notify_function
- 
- static void selfcopy(int fd, uint32_t handle, int loops)
- {
-diff --git a/tests/i915/i915_pm_rpm.c b/tests/i915/i915_pm_rpm.c
-index e2c7ba2..08e44b7 100644
---- a/tests/i915/i915_pm_rpm.c
-+++ b/tests/i915/i915_pm_rpm.c
-@@ -36,6 +36,7 @@
+diff --git a/tests/testdisplay.c b/tests/testdisplay.c
+index ee272dfb..b8146b41 100644
+--- a/tests/testdisplay.c
++++ b/tests/testdisplay.c
+@@ -58,6 +58,7 @@
+ #include <strings.h>
  #include <unistd.h>
- #include <fcntl.h>
- #include <dirent.h>
-+#include <limits.h>
+ #include <termios.h>
++#include <limits.h> // PATH_MAX
+ #include <sys/poll.h>
+ #include <sys/time.h>
  #include <sys/ioctl.h>
- #include <sys/mman.h>
+diff --git a/tests/tools_test.c b/tests/tools_test.c
+index 8412ba52..f36a6192 100644
+--- a/tests/tools_test.c
++++ b/tests/tools_test.c
+@@ -26,6 +26,7 @@
  #include <sys/types.h>
-diff --git a/tests/panfrost_submit.c b/tests/panfrost_submit.c
-index 13ce85b..ceb2e6d 100644
---- a/tests/panfrost_submit.c
-+++ b/tests/panfrost_submit.c
-@@ -68,7 +68,7 @@ static void check_error(int fd, struct panfrost_submit *submit)
- static void check_fb(int fd, struct panfrost_bo *bo)
- {
-         int gpu_prod_id = igt_panfrost_get_param(fd, DRM_PANFROST_PARAM_GPU_PROD_ID);
--        __uint32_t *fbo;
-+        uint32_t *fbo;
-         int i;
+ #include <sys/stat.h>
+ #include <fcntl.h>
++#include <limits.h> // PATH_MAX
+ #include <libgen.h>
+ #include <unistd.h>
+ #ifdef __linux__
+diff --git a/tools/igt_compliance_utils.c b/tools/igt_compliance_utils.c
+index 0faf3fc8..f6bd970e 100644
+--- a/tools/igt_compliance_utils.c
++++ b/tools/igt_compliance_utils.c
+@@ -24,6 +24,7 @@
+  */
  
-         fbo = bo->map;
+ #include "igt.h"
++#include <limits.h> // PATH_MAX
+ #include <stdio.h>
+ #include <string.h>
+ #include <stdlib.h>
diff --git a/srcpkgs/igt-gpu-tools/template b/srcpkgs/igt-gpu-tools/template
index 02f6cc4bba66..225e2c79118a 100644
--- a/srcpkgs/igt-gpu-tools/template
+++ b/srcpkgs/igt-gpu-tools/template
@@ -1,11 +1,10 @@
 # Template file for 'igt-gpu-tools'
 pkgname=igt-gpu-tools
-version=1.25
-revision=6
+version=1.27.1
+revision=1
 build_style=meson
-configure_args="-Db_ndebug=false -Db_lto=false"
-# b_lto=true makes the build hang at a random point
-hostmakedepends="pkg-config flex peg python3-docutils gtk-doc"
+configure_args="-Db_ndebug=false -Ddocs=disabled"
+hostmakedepends="pkg-config flex peg python3-docutils"
 makedepends="libdrm-devel libkmod-devel liboping-devel procps-ng-devel libunwind-devel
  elfutils-devel pixman-devel valgrind-devel cairo-devel xmlrpc-c-devel gsl-devel
  alsa-lib-devel json-c-devel libXrandr-devel"
@@ -13,18 +12,15 @@ short_desc="Tools for development and testing of the DRM drivers"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="https://gitlab.freedesktop.org/drm/igt-gpu-tools"
-distfiles="${XORG_SITE}/app/${pkgname}-${version}.tar.xz"
-checksum=40454d8f0484ea2477862007398a08eef78a6c252c4defce1c934548593fdd11
+changelog="https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/raw/master/NEWS"
+distfiles="${XORG_SITE}/app/igt-gpu-tools-${version}.tar.xz"
+checksum=93b9a4816ed22b5145bb61024314c8a65caeea991ce93027643f1d40723bf417
 # tests don't behave in containers
 make_check=ci-skip
 
 lib32disabled=yes
 archs="i686* x86_64*"
 
-if [ -z "${XBPS_CHECK_PKGS}" ]; then
-	configure_args+=" -Dtests=disabled -Drunner=disabled -Ddocs=disabled"
-fi
-
 post_install() {
 	vlicense COPYING
 }

From 6f8d639806ba9de1b0190b1e10a90c2ddad9eb5a Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:00:59 +0000
Subject: [PATCH 7/7] open-vm-tools: remove procps-ng-devel from makedepends.

It's not needed anymore, see
https://github.com/vmware/open-vm-tools/commit/ed2e2348dd6af823f9458c5959c89acf2f13a952.
---
 srcpkgs/open-vm-tools/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/open-vm-tools/template b/srcpkgs/open-vm-tools/template
index 8e533e3ae90c..6e4e19bfdd5e 100644
--- a/srcpkgs/open-vm-tools/template
+++ b/srcpkgs/open-vm-tools/template
@@ -10,7 +10,7 @@ configure_args="--sbindir=/usr/bin --with-udev-rules-dir=/usr/lib/udev/rules.d
  $(vopt_with x11 x) $(vopt_with pam)"
 hostmakedepends="automake libtool pkg-config glib-devel rpcsvc-proto"
 makedepends="fuse-devel glib-devel libmspack-devel openssl-devel libtirpc-devel
- libxerces-c-devel procps-ng-devel $(vopt_if pam 'pam-devel')
+ libxerces-c-devel $(vopt_if pam 'pam-devel')
  $(vopt_if x11 'gdk-pixbuf-xlib-devel gtkmm-devel libXtst-devel xmlsec1-devel')"
 short_desc="Open source implementation of VMware Tools"
 maintainer="Piraty <mail@piraty.dev>"

  parent reply	other threads:[~2023-03-13 10:48 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-23 21:31 [PR PATCH] " mhmdanas
2023-02-23 21:41 ` [PR PATCH] [Updated] " mhmdanas
2023-02-23 21:43 ` mhmdanas
2023-02-24 12:02 ` mhmdanas
2023-02-24 12:13 ` mhmdanas
2023-03-09 20:29 ` mhmdanas
2023-03-13 10:48 ` mhmdanas [this message]
2023-04-28 18:09 ` mhmdanas
2023-05-01 17:55 ` [PR PATCH] [Merged]: " leahneukirchen

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=20230313104850.4lLJIzJBOy36hm9_pXacZC4FGF6y7BJpR4GXuzeHkq4@z \
    --to=mhmdanas@users.noreply.github.com \
    --cc=ml@inbox.vuxu.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;
as well as URLs for NNTP newsgroup(s).