From: mhmdanas <mhmdanas@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] Update procps-ng and dependents
Date: Thu, 09 Mar 2023 21:29:36 +0100 [thread overview]
Message-ID: <20230309202936.B3nHtIVblCI2v8xN4HbMqA22ED21m3KHPstffhL17C0@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 0bd4f40246e7ae8acf9f88e6777a598cb31107c6 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 9611107727e729dcdf0901c2dafc2cd940d26439 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 8d40001c5cbdab20f38863158539146d4e88eb4f 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 c9f288601b647cf5d98e06b037c7c2a8860a3611 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 f19788c2e7bb925c41382c8d8d398b101cebfccb 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 30b07b28e4b3e3f89f927c050577280b4bb85396 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 aad6c519454a57833036738fb8a49fd22927e330 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>"
next prev parent reply other threads:[~2023-03-09 20:29 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 [this message]
2023-03-13 10:48 ` mhmdanas
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=20230309202936.B3nHtIVblCI2v8xN4HbMqA22ED21m3KHPstffhL17C0@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).