Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] Update procps-ng and dependents
@ 2023-02-23 21:31 mhmdanas
  2023-02-23 21:41 ` [PR PATCH] [Updated] " mhmdanas
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: mhmdanas @ 2023-02-23 21:31 UTC (permalink / raw)
  To: ml

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

There is a new 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)

@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: 77539 bytes --]

From 1259c43af7c16edefacdad590548eebfdbe64e7c 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 01/36] 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 282f0583d2b1..5db7355a64bc 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 147b5881db905b85dbc7a421a149f287a1320727 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 02/36] 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 e206354b405a2d184bc1d7495f512f1ddfd96d35 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Wed, 22 Feb 2023 18:29:49 +0000
Subject: [PATCH 03/36] 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 5db7355a64bc..a3898d252b04 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2311,7 +2311,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..4113d6d6463f 100644
--- a/srcpkgs/procps-ng/template
+++ b/srcpkgs/procps-ng/template
@@ -1,11 +1,14 @@
 # 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
+configure_args="LIBTOOL=libtool
+ --exec-prefix=/ --bindir=/usr/bin --sbindir=/usr/bin
  --libdir=/usr/lib --disable-kill --enable-watch8bit
  --disable-modern-top --without-systemd"
+make_build_args="LIBTOOL=libtool"
+make_install_args="LIBTOOL=libtool"
 hostmakedepends="automake gettext-devel libtool pkg-config"
 makedepends="ncurses-devel"
 checkdepends="dejagnu"
@@ -14,27 +17,23 @@ 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
 
 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 4a7bfc2c0f2f3ac183b2f16e722f4a1bb3412165 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 04/36] 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 fe19a3f610c1d07df73422b863209000ad68858e Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Wed, 22 Feb 2023 22:59:24 +0000
Subject: [PATCH 05/36] musl: backport `qsort_r`.

---
 ...allocarray.patch => 00-reallocarray.patch} |   0
 srcpkgs/musl/patches/add-qsort_r.patch        | 201 ++++++++++++++++++
 srcpkgs/musl/template                         |   6 +-
 3 files changed, 204 insertions(+), 3 deletions(-)
 rename srcpkgs/musl/patches/{reallocarray.patch => 00-reallocarray.patch} (100%)
 create mode 100644 srcpkgs/musl/patches/add-qsort_r.patch

diff --git a/srcpkgs/musl/patches/reallocarray.patch b/srcpkgs/musl/patches/00-reallocarray.patch
similarity index 100%
rename from srcpkgs/musl/patches/reallocarray.patch
rename to srcpkgs/musl/patches/00-reallocarray.patch
diff --git a/srcpkgs/musl/patches/add-qsort_r.patch b/srcpkgs/musl/patches/add-qsort_r.patch
new file mode 100644
index 000000000000..3d85496afb69
--- /dev/null
+++ b/srcpkgs/musl/patches/add-qsort_r.patch
@@ -0,0 +1,201 @@
+From b76f37fd5625d038141b52184956fb4b7838e9a5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=89rico=20Nogueira?= <ericonr@disroot.org>
+Date: Tue, 9 Mar 2021 18:02:13 -0300
+Subject: [PATCH] add qsort_r and make qsort a wrapper around it
+
+we make qsort a wrapper by providing a wrapper_cmp function that uses
+the extra argument as a function pointer. should be optimized to a tail
+call on most architectures, as long as it's built with
+-fomit-frame-pointer, so the performance impact should be minimal.
+
+to keep the git history clean, for now qsort_r is implemented in qsort.c
+and qsort is implemented in qsort_nr.c.  qsort.c also received a few
+trivial cleanups, including replacing (*cmp)() calls with cmp().
+qsort_nr.c contains only wrapper_cmp and qsort as a qsort_r wrapper
+itself.
+---
+ include/stdlib.h      |  1 +
+ src/include/stdlib.h  |  1 +
+ src/stdlib/qsort.c    | 37 ++++++++++++++++++++-----------------
+ src/stdlib/qsort_nr.c | 14 ++++++++++++++
+ 4 files changed, 36 insertions(+), 17 deletions(-)
+ create mode 100644 src/stdlib/qsort_nr.c
+
+diff --git a/include/stdlib.h b/include/stdlib.h
+index b54a051fe..7af86e3bc 100644
+--- a/include/stdlib.h
++++ b/include/stdlib.h
+@@ -146,6 +146,7 @@ int clearenv(void);
+ #define WCOREDUMP(s) ((s) & 0x80)
+ #define WIFCONTINUED(s) ((s) == 0xffff)
+ void *reallocarray (void *, size_t, size_t);
++void qsort_r (void *, size_t, size_t, int (*)(const void *, const void *, void *), void *);
+ #endif
+ 
+ #ifdef _GNU_SOURCE
+diff --git a/src/include/stdlib.h b/src/include/stdlib.h
+index e9da20158..812b04de2 100644
+--- a/src/include/stdlib.h
++++ b/src/include/stdlib.h
+@@ -8,6 +8,7 @@ hidden void __env_rm_add(char *, char *);
+ hidden int __mkostemps(char *, int, int);
+ hidden int __ptsname_r(int, char *, size_t);
+ hidden char *__randname(char *);
++hidden void __qsort_r (void *, size_t, size_t, int (*)(const void *, const void *, void *), void *);
+ 
+ hidden void *__libc_malloc(size_t);
+ hidden void *__libc_malloc_impl(size_t);
+diff --git a/src/stdlib/qsort.c b/src/stdlib/qsort.c
+index da58fd317..314ddc29d 100644
+--- a/src/stdlib/qsort.c
++++ b/src/stdlib/qsort.c
+@@ -24,6 +24,7 @@
+ /* Smoothsort, an adaptive variant of Heapsort.  Memory usage: O(1).
+    Run time: Worst case O(n log n), close to O(n) in the mostly-sorted case. */
+ 
++#define _BSD_SOURCE
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -31,7 +32,7 @@
+ #include "atomic.h"
+ #define ntz(x) a_ctz_l((x))
+ 
+-typedef int (*cmpfun)(const void *, const void *);
++typedef int (*cmpfun)(const void *, const void *, void *);
+ 
+ static inline int pntz(size_t p[2]) {
+ 	int r = ntz(p[0] - 1);
+@@ -88,7 +89,7 @@ static inline void shr(size_t p[2], int n)
+ 	p[1] >>= n;
+ }
+ 
+-static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size_t lp[])
++static void sift(unsigned char *head, size_t width, cmpfun cmp, void *arg, int pshift, size_t lp[])
+ {
+ 	unsigned char *rt, *lf;
+ 	unsigned char *ar[14 * sizeof(size_t) + 1];
+@@ -99,10 +100,10 @@ static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size
+ 		rt = head - width;
+ 		lf = head - width - lp[pshift - 2];
+ 
+-		if((*cmp)(ar[0], lf) >= 0 && (*cmp)(ar[0], rt) >= 0) {
++		if(cmp(ar[0], lf, arg) >= 0 && cmp(ar[0], rt, arg) >= 0) {
+ 			break;
+ 		}
+-		if((*cmp)(lf, rt) >= 0) {
++		if(cmp(lf, rt, arg) >= 0) {
+ 			ar[i++] = lf;
+ 			head = lf;
+ 			pshift -= 1;
+@@ -115,7 +116,7 @@ static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size
+ 	cycle(width, ar, i);
+ }
+ 
+-static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2], int pshift, int trusty, size_t lp[])
++static void trinkle(unsigned char *head, size_t width, cmpfun cmp, void *arg, size_t pp[2], int pshift, int trusty, size_t lp[])
+ {
+ 	unsigned char *stepson,
+ 	              *rt, *lf;
+@@ -130,13 +131,13 @@ static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2],
+ 	ar[0] = head;
+ 	while(p[0] != 1 || p[1] != 0) {
+ 		stepson = head - lp[pshift];
+-		if((*cmp)(stepson, ar[0]) <= 0) {
++		if(cmp(stepson, ar[0], arg) <= 0) {
+ 			break;
+ 		}
+ 		if(!trusty && pshift > 1) {
+ 			rt = head - width;
+ 			lf = head - width - lp[pshift - 2];
+-			if((*cmp)(rt, stepson) >= 0 || (*cmp)(lf, stepson) >= 0) {
++			if(cmp(rt, stepson, arg) >= 0 || cmp(lf, stepson, arg) >= 0) {
+ 				break;
+ 			}
+ 		}
+@@ -150,11 +151,11 @@ static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2],
+ 	}
+ 	if(!trusty) {
+ 		cycle(width, ar, i);
+-		sift(head, width, cmp, pshift, lp);
++		sift(head, width, cmp, arg, pshift, lp);
+ 	}
+ }
+ 
+-void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
++void __qsort_r(void *base, size_t nel, size_t width, cmpfun cmp, void *arg)
+ {
+ 	size_t lp[12*sizeof(size_t)];
+ 	size_t i, size = width * nel;
+@@ -173,16 +174,16 @@ void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
+ 
+ 	while(head < high) {
+ 		if((p[0] & 3) == 3) {
+-			sift(head, width, cmp, pshift, lp);
++			sift(head, width, cmp, arg, pshift, lp);
+ 			shr(p, 2);
+ 			pshift += 2;
+ 		} else {
+ 			if(lp[pshift - 1] >= high - head) {
+-				trinkle(head, width, cmp, p, pshift, 0, lp);
++				trinkle(head, width, cmp, arg, p, pshift, 0, lp);
+ 			} else {
+-				sift(head, width, cmp, pshift, lp);
++				sift(head, width, cmp, arg, pshift, lp);
+ 			}
+-			
++
+ 			if(pshift == 1) {
+ 				shl(p, 1);
+ 				pshift = 0;
+@@ -191,12 +192,12 @@ void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
+ 				pshift = 1;
+ 			}
+ 		}
+-		
++
+ 		p[0] |= 1;
+ 		head += width;
+ 	}
+ 
+-	trinkle(head, width, cmp, p, pshift, 0, lp);
++	trinkle(head, width, cmp, arg, p, pshift, 0, lp);
+ 
+ 	while(pshift != 1 || p[0] != 1 || p[1] != 0) {
+ 		if(pshift <= 1) {
+@@ -208,11 +209,13 @@ void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
+ 			pshift -= 2;
+ 			p[0] ^= 7;
+ 			shr(p, 1);
+-			trinkle(head - lp[pshift] - width, width, cmp, p, pshift + 1, 1, lp);
++			trinkle(head - lp[pshift] - width, width, cmp, arg, p, pshift + 1, 1, lp);
+ 			shl(p, 1);
+ 			p[0] |= 1;
+-			trinkle(head - width, width, cmp, p, pshift, 1, lp);
++			trinkle(head - width, width, cmp, arg, p, pshift, 1, lp);
+ 		}
+ 		head -= width;
+ 	}
+ }
++
++weak_alias(__qsort_r, qsort_r);
+diff --git a/src/stdlib/qsort_nr.c b/src/stdlib/qsort_nr.c
+new file mode 100644
+index 000000000..efe7ccecd
+--- /dev/null
++++ b/src/stdlib/qsort_nr.c
+@@ -0,0 +1,14 @@
++#define _BSD_SOURCE
++#include <stdlib.h>
++
++typedef int (*cmpfun)(const void *, const void *);
++
++static int wrapper_cmp(const void *v1, const void *v2, void *cmp)
++{
++	return ((cmpfun)cmp)(v1, v2);
++}
++
++void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
++{
++	__qsort_r(base, nel, width, wrapper_cmp, cmp);
++}
diff --git a/srcpkgs/musl/template b/srcpkgs/musl/template
index d661507241d4..c77cc2b6c405 100644
--- a/srcpkgs/musl/template
+++ b/srcpkgs/musl/template
@@ -2,7 +2,7 @@
 pkgname=musl
 reverts="1.2.0_1"
 version=1.1.24
-revision=14
+revision=15
 archs="*-musl"
 bootstrap=yes
 build_style=gnu-configure
@@ -10,8 +10,8 @@ configure_args="--prefix=/usr --disable-gcc-wrapper"
 short_desc="Musl C library"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="MIT"
-homepage="http://www.musl-libc.org/"
-distfiles="http://www.musl-libc.org/releases/musl-${version}.tar.gz"
+homepage="https://musl.libc.org/"
+distfiles="https://musl.libc.org/releases/musl-${version}.tar.gz"
 checksum=1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
 
 nostrip_files="libc.so"

From 874ec869e3feaed3d20d8bfc3d7dd5fcf5e5c0d5 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:43 +0000
Subject: [PATCH 06/36] cross-aarch64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-aarch64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template
index a05207a8894e..8038b28d70ad 100644
--- a/srcpkgs/cross-aarch64-linux-musl/template
+++ b/srcpkgs/cross-aarch64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-aarch64-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv8-a"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 4ed168e588ac2d3d014a830c8569aeef17e7f7a0 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:43 +0000
Subject: [PATCH 07/36] cross-aarch64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-aarch64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template
index 8038b28d70ad..80d2fedb7e9c 100644
--- a/srcpkgs/cross-aarch64-linux-musl/template
+++ b/srcpkgs/cross-aarch64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-aarch64-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv8-a"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From c6f8a44b27cf79b8cc573b31c94bd8b7abe31f1f Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:43 +0000
Subject: [PATCH 08/36] cross-arm-linux-musleabi: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabi/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index ce25d306db4b..ee59931d6d93 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabi
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv5te --with-float=soft"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From d32c8b0092962f1c09dc457ff467d3edaad4311e Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 09/36] cross-arm-linux-musleabi: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabi/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index ee59931d6d93..e98a384ffadf 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabi
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv5te --with-float=soft"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 78533fdfd78f3e86e74d7bb5f1f44eadb77be101 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 10/36] cross-arm-linux-musleabihf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index 38baeb2e4df7..333db95425dd 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabihf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 470cc82f41afeee4cf065dac32c3ddff73525dc0 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 11/36] cross-arm-linux-musleabihf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index 333db95425dd..09a511315acd 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabihf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From af0a6d19f888044a345178cc65924422c03fdd3a Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 12/36] cross-armv7l-linux-musleabihf: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-armv7l-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/template b/srcpkgs/cross-armv7l-linux-musleabihf/template
index 5d7bd4647c49..3c4ea2357661 100644
--- a/srcpkgs/cross-armv7l-linux-musleabihf/template
+++ b/srcpkgs/cross-armv7l-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-armv7l-linux-musleabihf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 74e63f0346e599fdf62912dfc71ef636dbcff077 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:45 +0000
Subject: [PATCH 13/36] cross-armv7l-linux-musleabihf: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-armv7l-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/template b/srcpkgs/cross-armv7l-linux-musleabihf/template
index 3c4ea2357661..c38d5836a0c3 100644
--- a/srcpkgs/cross-armv7l-linux-musleabihf/template
+++ b/srcpkgs/cross-armv7l-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-armv7l-linux-musleabihf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 5b2efd139288705ca10d78a8cc801288b6e43585 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:45 +0000
Subject: [PATCH 14/36] cross-i686-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-i686-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-i686-linux-musl/template b/srcpkgs/cross-i686-linux-musl/template
index 2c95f93a8fe1..6dc3fdcba07a 100644
--- a/srcpkgs/cross-i686-linux-musl/template
+++ b/srcpkgs/cross-i686-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-i686-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From a5ec887c32b24d3763babf3e48a830a6cf894955 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:45 +0000
Subject: [PATCH 15/36] cross-i686-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-i686-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-i686-linux-musl/template b/srcpkgs/cross-i686-linux-musl/template
index 6dc3fdcba07a..ec8501daad33 100644
--- a/srcpkgs/cross-i686-linux-musl/template
+++ b/srcpkgs/cross-i686-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-i686-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From 82cb1db49d6af3a10c0dbc996fa7a9176a48b89f Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:46 +0000
Subject: [PATCH 16/36] cross-mips-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template
index aefd2316ad03..f783961d70d2 100644
--- a/srcpkgs/cross-mips-linux-musl/template
+++ b/srcpkgs/cross-mips-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From 472551051b8b2e8c9bb71ac684fffe6b8edf6e2c Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:46 +0000
Subject: [PATCH 17/36] cross-mips-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template
index f783961d70d2..b50afed940f0 100644
--- a/srcpkgs/cross-mips-linux-musl/template
+++ b/srcpkgs/cross-mips-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From 24d257a90c1627f68d1773690a08154ab3459160 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:46 +0000
Subject: [PATCH 18/36] cross-mips-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-muslhf/template b/srcpkgs/cross-mips-linux-muslhf/template
index 8308fcb4f0d0..fe41bc80d808 100644
--- a/srcpkgs/cross-mips-linux-muslhf/template
+++ b/srcpkgs/cross-mips-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-muslhf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From a6ae653e24069b44ca9d11e04fc908cb74ceff08 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:47 +0000
Subject: [PATCH 19/36] cross-mips-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-muslhf/template b/srcpkgs/cross-mips-linux-muslhf/template
index fe41bc80d808..06bf9a58fcfe 100644
--- a/srcpkgs/cross-mips-linux-muslhf/template
+++ b/srcpkgs/cross-mips-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-muslhf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From 607dd9eb27c2e0170547e3f862af457da54e7d14 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:47 +0000
Subject: [PATCH 20/36] cross-mipsel-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template
index 3c1825f0d96f..23247d5bc972 100644
--- a/srcpkgs/cross-mipsel-linux-musl/template
+++ b/srcpkgs/cross-mipsel-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From 117fdd9de14b33ed7c7c4ce0b0124b91f311f78d Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:47 +0000
Subject: [PATCH 21/36] cross-mipsel-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template
index 23247d5bc972..94c0d30484ac 100644
--- a/srcpkgs/cross-mipsel-linux-musl/template
+++ b/srcpkgs/cross-mipsel-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From 92ec2bce068cc31e10424901e3acb6b7194e5a9c Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:48 +0000
Subject: [PATCH 22/36] cross-mipsel-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template
index ab199135a246..8cc208c7e86d 100644
--- a/srcpkgs/cross-mipsel-linux-muslhf/template
+++ b/srcpkgs/cross-mipsel-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-muslhf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From 6c5d5ca5aa0a0cee2b435e7494d6f5aa2840a3a9 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:48 +0000
Subject: [PATCH 23/36] cross-mipsel-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template
index 8cc208c7e86d..b02f4efe9918 100644
--- a/srcpkgs/cross-mipsel-linux-muslhf/template
+++ b/srcpkgs/cross-mipsel-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-muslhf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From 98e211e3459377525cdc44c738a8d968f4cfa26e Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:48 +0000
Subject: [PATCH 24/36] cross-powerpc-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc-linux-musl/template b/srcpkgs/cross-powerpc-linux-musl/template
index 692145be3994..e06970d76b9e 100644
--- a/srcpkgs/cross-powerpc-linux-musl/template
+++ b/srcpkgs/cross-powerpc-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From 347638a83bb22d056f726ecfc9f8cb07190d54f7 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:49 +0000
Subject: [PATCH 25/36] cross-powerpc-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc-linux-musl/template b/srcpkgs/cross-powerpc-linux-musl/template
index e06970d76b9e..51ec36d196e5 100644
--- a/srcpkgs/cross-powerpc-linux-musl/template
+++ b/srcpkgs/cross-powerpc-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From fef04ac1b644e69cad09270496eb547f875eedc1 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:49 +0000
Subject: [PATCH 26/36] cross-powerpc64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template
index 4d38c80ff744..b081a136ef29 100644
--- a/srcpkgs/cross-powerpc64-linux-musl/template
+++ b/srcpkgs/cross-powerpc64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux"

From b5f83ca7900cebaf1445abdf9349b50d1a04ca38 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:49 +0000
Subject: [PATCH 27/36] cross-powerpc64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template
index b081a136ef29..9e942d344dd8 100644
--- a/srcpkgs/cross-powerpc64-linux-musl/template
+++ b/srcpkgs/cross-powerpc64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux"

From e0e44e17b179f65c3990b4f18e8bab8ddf74898d Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 28/36] cross-powerpc64le-linux-musl: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64le-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template
index 59f8586731a7..a863233b5b32 100644
--- a/srcpkgs/cross-powerpc64le-linux-musl/template
+++ b/srcpkgs/cross-powerpc64le-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64le-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux"

From 9ffd988e0c8fe80cb607d49f29f745e7e08c6cb2 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 29/36] cross-powerpc64le-linux-musl: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64le-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template
index a863233b5b32..9888df6390b7 100644
--- a/srcpkgs/cross-powerpc64le-linux-musl/template
+++ b/srcpkgs/cross-powerpc64le-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64le-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux"

From 86363cd694c1ebac78b5b42c6fd21f1e9ab03407 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 30/36] cross-powerpcle-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpcle-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpcle-linux-musl/template b/srcpkgs/cross-powerpcle-linux-musl/template
index 0fdd3285b3f8..2f483e1f1ee5 100644
--- a/srcpkgs/cross-powerpcle-linux-musl/template
+++ b/srcpkgs/cross-powerpcle-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From 0862ebcce0711c3afc3a094440c8e60696973863 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 31/36] cross-powerpcle-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpcle-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpcle-linux-musl/template b/srcpkgs/cross-powerpcle-linux-musl/template
index 2f483e1f1ee5..5b441c0843a3 100644
--- a/srcpkgs/cross-powerpcle-linux-musl/template
+++ b/srcpkgs/cross-powerpcle-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From 43512b7a611304c9e043451bf6ccc83b7a6a7bdc Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:51 +0000
Subject: [PATCH 32/36] cross-x86_64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-x86_64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-x86_64-linux-musl/template b/srcpkgs/cross-x86_64-linux-musl/template
index 2812f3330130..4984cd77f149 100644
--- a/srcpkgs/cross-x86_64-linux-musl/template
+++ b/srcpkgs/cross-x86_64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-x86_64-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From 984b1070a333a69dd99ea50f3deeacaed530317b Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:51 +0000
Subject: [PATCH 33/36] cross-x86_64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-x86_64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-x86_64-linux-musl/template b/srcpkgs/cross-x86_64-linux-musl/template
index 4984cd77f149..6c98a67b55b3 100644
--- a/srcpkgs/cross-x86_64-linux-musl/template
+++ b/srcpkgs/cross-x86_64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-x86_64-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From 49eef9978697e718039c67850cf7948919155d6e Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 17:26:37 +0000
Subject: [PATCH 34/36] 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 fb394481cce7363c1a694632c6ef7f4bdbd8c6c3 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 17:59:06 +0000
Subject: [PATCH 35/36] 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 0f022491bf36b357c80c18367042e0eedfded6e8 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:00:59 +0000
Subject: [PATCH 36/36] 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>"

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PR PATCH] [Updated] Update procps-ng and dependents
  2023-02-23 21:31 [PR PATCH] Update procps-ng and dependents mhmdanas
@ 2023-02-23 21:41 ` mhmdanas
  2023-02-23 21:43 ` mhmdanas
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: mhmdanas @ 2023-02-23 21:41 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1284 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)

@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: 77539 bytes --]

From 1259c43af7c16edefacdad590548eebfdbe64e7c 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 01/36] 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 282f0583d2b1..5db7355a64bc 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 147b5881db905b85dbc7a421a149f287a1320727 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 02/36] 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 fcf8f4f6dd58063acf4d11304cccda132b31549b Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Wed, 22 Feb 2023 22:59:24 +0000
Subject: [PATCH 03/36] musl: backport `qsort_r`.

---
 ...allocarray.patch => 00-reallocarray.patch} |   0
 srcpkgs/musl/patches/add-qsort_r.patch        | 201 ++++++++++++++++++
 srcpkgs/musl/template                         |   6 +-
 3 files changed, 204 insertions(+), 3 deletions(-)
 rename srcpkgs/musl/patches/{reallocarray.patch => 00-reallocarray.patch} (100%)
 create mode 100644 srcpkgs/musl/patches/add-qsort_r.patch

diff --git a/srcpkgs/musl/patches/reallocarray.patch b/srcpkgs/musl/patches/00-reallocarray.patch
similarity index 100%
rename from srcpkgs/musl/patches/reallocarray.patch
rename to srcpkgs/musl/patches/00-reallocarray.patch
diff --git a/srcpkgs/musl/patches/add-qsort_r.patch b/srcpkgs/musl/patches/add-qsort_r.patch
new file mode 100644
index 000000000000..3d85496afb69
--- /dev/null
+++ b/srcpkgs/musl/patches/add-qsort_r.patch
@@ -0,0 +1,201 @@
+From b76f37fd5625d038141b52184956fb4b7838e9a5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=89rico=20Nogueira?= <ericonr@disroot.org>
+Date: Tue, 9 Mar 2021 18:02:13 -0300
+Subject: [PATCH] add qsort_r and make qsort a wrapper around it
+
+we make qsort a wrapper by providing a wrapper_cmp function that uses
+the extra argument as a function pointer. should be optimized to a tail
+call on most architectures, as long as it's built with
+-fomit-frame-pointer, so the performance impact should be minimal.
+
+to keep the git history clean, for now qsort_r is implemented in qsort.c
+and qsort is implemented in qsort_nr.c.  qsort.c also received a few
+trivial cleanups, including replacing (*cmp)() calls with cmp().
+qsort_nr.c contains only wrapper_cmp and qsort as a qsort_r wrapper
+itself.
+---
+ include/stdlib.h      |  1 +
+ src/include/stdlib.h  |  1 +
+ src/stdlib/qsort.c    | 37 ++++++++++++++++++++-----------------
+ src/stdlib/qsort_nr.c | 14 ++++++++++++++
+ 4 files changed, 36 insertions(+), 17 deletions(-)
+ create mode 100644 src/stdlib/qsort_nr.c
+
+diff --git a/include/stdlib.h b/include/stdlib.h
+index b54a051fe..7af86e3bc 100644
+--- a/include/stdlib.h
++++ b/include/stdlib.h
+@@ -146,6 +146,7 @@ int clearenv(void);
+ #define WCOREDUMP(s) ((s) & 0x80)
+ #define WIFCONTINUED(s) ((s) == 0xffff)
+ void *reallocarray (void *, size_t, size_t);
++void qsort_r (void *, size_t, size_t, int (*)(const void *, const void *, void *), void *);
+ #endif
+ 
+ #ifdef _GNU_SOURCE
+diff --git a/src/include/stdlib.h b/src/include/stdlib.h
+index e9da20158..812b04de2 100644
+--- a/src/include/stdlib.h
++++ b/src/include/stdlib.h
+@@ -8,6 +8,7 @@ hidden void __env_rm_add(char *, char *);
+ hidden int __mkostemps(char *, int, int);
+ hidden int __ptsname_r(int, char *, size_t);
+ hidden char *__randname(char *);
++hidden void __qsort_r (void *, size_t, size_t, int (*)(const void *, const void *, void *), void *);
+ 
+ hidden void *__libc_malloc(size_t);
+ hidden void *__libc_malloc_impl(size_t);
+diff --git a/src/stdlib/qsort.c b/src/stdlib/qsort.c
+index da58fd317..314ddc29d 100644
+--- a/src/stdlib/qsort.c
++++ b/src/stdlib/qsort.c
+@@ -24,6 +24,7 @@
+ /* Smoothsort, an adaptive variant of Heapsort.  Memory usage: O(1).
+    Run time: Worst case O(n log n), close to O(n) in the mostly-sorted case. */
+ 
++#define _BSD_SOURCE
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -31,7 +32,7 @@
+ #include "atomic.h"
+ #define ntz(x) a_ctz_l((x))
+ 
+-typedef int (*cmpfun)(const void *, const void *);
++typedef int (*cmpfun)(const void *, const void *, void *);
+ 
+ static inline int pntz(size_t p[2]) {
+ 	int r = ntz(p[0] - 1);
+@@ -88,7 +89,7 @@ static inline void shr(size_t p[2], int n)
+ 	p[1] >>= n;
+ }
+ 
+-static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size_t lp[])
++static void sift(unsigned char *head, size_t width, cmpfun cmp, void *arg, int pshift, size_t lp[])
+ {
+ 	unsigned char *rt, *lf;
+ 	unsigned char *ar[14 * sizeof(size_t) + 1];
+@@ -99,10 +100,10 @@ static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size
+ 		rt = head - width;
+ 		lf = head - width - lp[pshift - 2];
+ 
+-		if((*cmp)(ar[0], lf) >= 0 && (*cmp)(ar[0], rt) >= 0) {
++		if(cmp(ar[0], lf, arg) >= 0 && cmp(ar[0], rt, arg) >= 0) {
+ 			break;
+ 		}
+-		if((*cmp)(lf, rt) >= 0) {
++		if(cmp(lf, rt, arg) >= 0) {
+ 			ar[i++] = lf;
+ 			head = lf;
+ 			pshift -= 1;
+@@ -115,7 +116,7 @@ static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size
+ 	cycle(width, ar, i);
+ }
+ 
+-static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2], int pshift, int trusty, size_t lp[])
++static void trinkle(unsigned char *head, size_t width, cmpfun cmp, void *arg, size_t pp[2], int pshift, int trusty, size_t lp[])
+ {
+ 	unsigned char *stepson,
+ 	              *rt, *lf;
+@@ -130,13 +131,13 @@ static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2],
+ 	ar[0] = head;
+ 	while(p[0] != 1 || p[1] != 0) {
+ 		stepson = head - lp[pshift];
+-		if((*cmp)(stepson, ar[0]) <= 0) {
++		if(cmp(stepson, ar[0], arg) <= 0) {
+ 			break;
+ 		}
+ 		if(!trusty && pshift > 1) {
+ 			rt = head - width;
+ 			lf = head - width - lp[pshift - 2];
+-			if((*cmp)(rt, stepson) >= 0 || (*cmp)(lf, stepson) >= 0) {
++			if(cmp(rt, stepson, arg) >= 0 || cmp(lf, stepson, arg) >= 0) {
+ 				break;
+ 			}
+ 		}
+@@ -150,11 +151,11 @@ static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2],
+ 	}
+ 	if(!trusty) {
+ 		cycle(width, ar, i);
+-		sift(head, width, cmp, pshift, lp);
++		sift(head, width, cmp, arg, pshift, lp);
+ 	}
+ }
+ 
+-void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
++void __qsort_r(void *base, size_t nel, size_t width, cmpfun cmp, void *arg)
+ {
+ 	size_t lp[12*sizeof(size_t)];
+ 	size_t i, size = width * nel;
+@@ -173,16 +174,16 @@ void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
+ 
+ 	while(head < high) {
+ 		if((p[0] & 3) == 3) {
+-			sift(head, width, cmp, pshift, lp);
++			sift(head, width, cmp, arg, pshift, lp);
+ 			shr(p, 2);
+ 			pshift += 2;
+ 		} else {
+ 			if(lp[pshift - 1] >= high - head) {
+-				trinkle(head, width, cmp, p, pshift, 0, lp);
++				trinkle(head, width, cmp, arg, p, pshift, 0, lp);
+ 			} else {
+-				sift(head, width, cmp, pshift, lp);
++				sift(head, width, cmp, arg, pshift, lp);
+ 			}
+-			
++
+ 			if(pshift == 1) {
+ 				shl(p, 1);
+ 				pshift = 0;
+@@ -191,12 +192,12 @@ void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
+ 				pshift = 1;
+ 			}
+ 		}
+-		
++
+ 		p[0] |= 1;
+ 		head += width;
+ 	}
+ 
+-	trinkle(head, width, cmp, p, pshift, 0, lp);
++	trinkle(head, width, cmp, arg, p, pshift, 0, lp);
+ 
+ 	while(pshift != 1 || p[0] != 1 || p[1] != 0) {
+ 		if(pshift <= 1) {
+@@ -208,11 +209,13 @@ void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
+ 			pshift -= 2;
+ 			p[0] ^= 7;
+ 			shr(p, 1);
+-			trinkle(head - lp[pshift] - width, width, cmp, p, pshift + 1, 1, lp);
++			trinkle(head - lp[pshift] - width, width, cmp, arg, p, pshift + 1, 1, lp);
+ 			shl(p, 1);
+ 			p[0] |= 1;
+-			trinkle(head - width, width, cmp, p, pshift, 1, lp);
++			trinkle(head - width, width, cmp, arg, p, pshift, 1, lp);
+ 		}
+ 		head -= width;
+ 	}
+ }
++
++weak_alias(__qsort_r, qsort_r);
+diff --git a/src/stdlib/qsort_nr.c b/src/stdlib/qsort_nr.c
+new file mode 100644
+index 000000000..efe7ccecd
+--- /dev/null
++++ b/src/stdlib/qsort_nr.c
+@@ -0,0 +1,14 @@
++#define _BSD_SOURCE
++#include <stdlib.h>
++
++typedef int (*cmpfun)(const void *, const void *);
++
++static int wrapper_cmp(const void *v1, const void *v2, void *cmp)
++{
++	return ((cmpfun)cmp)(v1, v2);
++}
++
++void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
++{
++	__qsort_r(base, nel, width, wrapper_cmp, cmp);
++}
diff --git a/srcpkgs/musl/template b/srcpkgs/musl/template
index d661507241d4..c77cc2b6c405 100644
--- a/srcpkgs/musl/template
+++ b/srcpkgs/musl/template
@@ -2,7 +2,7 @@
 pkgname=musl
 reverts="1.2.0_1"
 version=1.1.24
-revision=14
+revision=15
 archs="*-musl"
 bootstrap=yes
 build_style=gnu-configure
@@ -10,8 +10,8 @@ configure_args="--prefix=/usr --disable-gcc-wrapper"
 short_desc="Musl C library"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="MIT"
-homepage="http://www.musl-libc.org/"
-distfiles="http://www.musl-libc.org/releases/musl-${version}.tar.gz"
+homepage="https://musl.libc.org/"
+distfiles="https://musl.libc.org/releases/musl-${version}.tar.gz"
 checksum=1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
 
 nostrip_files="libc.so"

From e31b1df8534f652a0c4e3e7ee3ff5a0eae2c1b47 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:43 +0000
Subject: [PATCH 04/36] cross-aarch64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-aarch64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template
index a05207a8894e..8038b28d70ad 100644
--- a/srcpkgs/cross-aarch64-linux-musl/template
+++ b/srcpkgs/cross-aarch64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-aarch64-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv8-a"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From c4ab92aa83653fa01c501acec8b01d6dbe553d91 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:43 +0000
Subject: [PATCH 05/36] cross-aarch64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-aarch64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template
index 8038b28d70ad..80d2fedb7e9c 100644
--- a/srcpkgs/cross-aarch64-linux-musl/template
+++ b/srcpkgs/cross-aarch64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-aarch64-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv8-a"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 3907f03153f05e52bb1a6999ecbea29c6447b0bb Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:43 +0000
Subject: [PATCH 06/36] cross-arm-linux-musleabi: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabi/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index ce25d306db4b..ee59931d6d93 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabi
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv5te --with-float=soft"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 73389f12f332586b5173e4307732c490231366cc Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 07/36] cross-arm-linux-musleabi: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabi/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index ee59931d6d93..e98a384ffadf 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabi
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv5te --with-float=soft"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From dd2861d46e5e7521f25718d10c12f3dad5152197 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 08/36] cross-arm-linux-musleabihf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index 38baeb2e4df7..333db95425dd 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabihf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From bd571f4c0c274cc255462d0b651a295dbaffa71c Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 09/36] cross-arm-linux-musleabihf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index 333db95425dd..09a511315acd 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabihf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 0ebd6c8749547827a1cedecc971d2c54767ca6d9 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 10/36] cross-armv7l-linux-musleabihf: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-armv7l-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/template b/srcpkgs/cross-armv7l-linux-musleabihf/template
index 5d7bd4647c49..3c4ea2357661 100644
--- a/srcpkgs/cross-armv7l-linux-musleabihf/template
+++ b/srcpkgs/cross-armv7l-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-armv7l-linux-musleabihf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From ff4b710cfdc2c40ab231516ea1623d1b3e10c957 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:45 +0000
Subject: [PATCH 11/36] cross-armv7l-linux-musleabihf: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-armv7l-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/template b/srcpkgs/cross-armv7l-linux-musleabihf/template
index 3c4ea2357661..c38d5836a0c3 100644
--- a/srcpkgs/cross-armv7l-linux-musleabihf/template
+++ b/srcpkgs/cross-armv7l-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-armv7l-linux-musleabihf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 2d34945b3a0a433da4592db7c611c90b5e227636 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:45 +0000
Subject: [PATCH 12/36] cross-i686-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-i686-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-i686-linux-musl/template b/srcpkgs/cross-i686-linux-musl/template
index 2c95f93a8fe1..6dc3fdcba07a 100644
--- a/srcpkgs/cross-i686-linux-musl/template
+++ b/srcpkgs/cross-i686-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-i686-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From 89cab9e507d8b0fe089e2d53c7e42e063c25bea6 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:45 +0000
Subject: [PATCH 13/36] cross-i686-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-i686-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-i686-linux-musl/template b/srcpkgs/cross-i686-linux-musl/template
index 6dc3fdcba07a..ec8501daad33 100644
--- a/srcpkgs/cross-i686-linux-musl/template
+++ b/srcpkgs/cross-i686-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-i686-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From 6b4c1c1dc3f1f446251b2cf68254f49712cbaf53 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:46 +0000
Subject: [PATCH 14/36] cross-mips-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template
index aefd2316ad03..f783961d70d2 100644
--- a/srcpkgs/cross-mips-linux-musl/template
+++ b/srcpkgs/cross-mips-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From edfe580236df933f0c47116bd21759f704cd30fb Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:46 +0000
Subject: [PATCH 15/36] cross-mips-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template
index f783961d70d2..b50afed940f0 100644
--- a/srcpkgs/cross-mips-linux-musl/template
+++ b/srcpkgs/cross-mips-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From 6aa2810a29cff6d5be5f4be358cdc0aa1e827ab2 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:46 +0000
Subject: [PATCH 16/36] cross-mips-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-muslhf/template b/srcpkgs/cross-mips-linux-muslhf/template
index 8308fcb4f0d0..fe41bc80d808 100644
--- a/srcpkgs/cross-mips-linux-muslhf/template
+++ b/srcpkgs/cross-mips-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-muslhf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From c1bfbae613abe3d067fdc5aea7ba650c9a033c54 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:47 +0000
Subject: [PATCH 17/36] cross-mips-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-muslhf/template b/srcpkgs/cross-mips-linux-muslhf/template
index fe41bc80d808..06bf9a58fcfe 100644
--- a/srcpkgs/cross-mips-linux-muslhf/template
+++ b/srcpkgs/cross-mips-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-muslhf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From 9edd58509f3cf21721e0ef2c197f39075c66cb9e Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:47 +0000
Subject: [PATCH 18/36] cross-mipsel-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template
index 3c1825f0d96f..23247d5bc972 100644
--- a/srcpkgs/cross-mipsel-linux-musl/template
+++ b/srcpkgs/cross-mipsel-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From 0b58857015f2d1959d63b93e8407df5b65d8affd Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:47 +0000
Subject: [PATCH 19/36] cross-mipsel-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template
index 23247d5bc972..94c0d30484ac 100644
--- a/srcpkgs/cross-mipsel-linux-musl/template
+++ b/srcpkgs/cross-mipsel-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From 4a71e6abaacff12fe4b04eb1df5a91c61478f79a Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:48 +0000
Subject: [PATCH 20/36] cross-mipsel-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template
index ab199135a246..8cc208c7e86d 100644
--- a/srcpkgs/cross-mipsel-linux-muslhf/template
+++ b/srcpkgs/cross-mipsel-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-muslhf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From ecc82d0fe7b5e3bf17c852fa444ce8b7bf95ab9b Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:48 +0000
Subject: [PATCH 21/36] cross-mipsel-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template
index 8cc208c7e86d..b02f4efe9918 100644
--- a/srcpkgs/cross-mipsel-linux-muslhf/template
+++ b/srcpkgs/cross-mipsel-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-muslhf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From 8e311bc8c347e6d0c21dec1edf17d70d784bf22a Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:48 +0000
Subject: [PATCH 22/36] cross-powerpc-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc-linux-musl/template b/srcpkgs/cross-powerpc-linux-musl/template
index 692145be3994..e06970d76b9e 100644
--- a/srcpkgs/cross-powerpc-linux-musl/template
+++ b/srcpkgs/cross-powerpc-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From 0b821058ba46b0048e6e9347d17e4394595197c5 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:49 +0000
Subject: [PATCH 23/36] cross-powerpc-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc-linux-musl/template b/srcpkgs/cross-powerpc-linux-musl/template
index e06970d76b9e..51ec36d196e5 100644
--- a/srcpkgs/cross-powerpc-linux-musl/template
+++ b/srcpkgs/cross-powerpc-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From 20d25217988fb32f040ec47f4eb9158f48306f13 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:49 +0000
Subject: [PATCH 24/36] cross-powerpc64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template
index 4d38c80ff744..b081a136ef29 100644
--- a/srcpkgs/cross-powerpc64-linux-musl/template
+++ b/srcpkgs/cross-powerpc64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux"

From 203d80db82c69124dd97fe7b19c3348b1cf0d040 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:49 +0000
Subject: [PATCH 25/36] cross-powerpc64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template
index b081a136ef29..9e942d344dd8 100644
--- a/srcpkgs/cross-powerpc64-linux-musl/template
+++ b/srcpkgs/cross-powerpc64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux"

From 08e59d8f2c3c16ac675407db2ac1b57d7ff95de1 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 26/36] cross-powerpc64le-linux-musl: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64le-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template
index 59f8586731a7..a863233b5b32 100644
--- a/srcpkgs/cross-powerpc64le-linux-musl/template
+++ b/srcpkgs/cross-powerpc64le-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64le-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux"

From 1e4bf677eae78fdcf3da3a0e4f9933e9607692b4 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 27/36] cross-powerpc64le-linux-musl: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64le-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template
index a863233b5b32..9888df6390b7 100644
--- a/srcpkgs/cross-powerpc64le-linux-musl/template
+++ b/srcpkgs/cross-powerpc64le-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64le-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux"

From 55bb96df257adc2c01412fb168ce88553d5567eb Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 28/36] cross-powerpcle-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpcle-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpcle-linux-musl/template b/srcpkgs/cross-powerpcle-linux-musl/template
index 0fdd3285b3f8..2f483e1f1ee5 100644
--- a/srcpkgs/cross-powerpcle-linux-musl/template
+++ b/srcpkgs/cross-powerpcle-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From e4580f58408dd315b8dd0938896a310266c3d704 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 29/36] cross-powerpcle-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpcle-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpcle-linux-musl/template b/srcpkgs/cross-powerpcle-linux-musl/template
index 2f483e1f1ee5..5b441c0843a3 100644
--- a/srcpkgs/cross-powerpcle-linux-musl/template
+++ b/srcpkgs/cross-powerpcle-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From bc9e305e4d1817d2148d1a06cc04a1f588020d8e Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:51 +0000
Subject: [PATCH 30/36] cross-x86_64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-x86_64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-x86_64-linux-musl/template b/srcpkgs/cross-x86_64-linux-musl/template
index 2812f3330130..4984cd77f149 100644
--- a/srcpkgs/cross-x86_64-linux-musl/template
+++ b/srcpkgs/cross-x86_64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-x86_64-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From 436658bdbbe50d8c28942f987c0ce559905263bb Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:51 +0000
Subject: [PATCH 31/36] cross-x86_64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-x86_64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-x86_64-linux-musl/template b/srcpkgs/cross-x86_64-linux-musl/template
index 4984cd77f149..6c98a67b55b3 100644
--- a/srcpkgs/cross-x86_64-linux-musl/template
+++ b/srcpkgs/cross-x86_64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-x86_64-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From c6973aa1188fd0793d0937aa096c2e75a0971dab Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Wed, 22 Feb 2023 18:29:49 +0000
Subject: [PATCH 32/36] 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 5db7355a64bc..a3898d252b04 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2311,7 +2311,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..4113d6d6463f 100644
--- a/srcpkgs/procps-ng/template
+++ b/srcpkgs/procps-ng/template
@@ -1,11 +1,14 @@
 # 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
+configure_args="LIBTOOL=libtool
+ --exec-prefix=/ --bindir=/usr/bin --sbindir=/usr/bin
  --libdir=/usr/lib --disable-kill --enable-watch8bit
  --disable-modern-top --without-systemd"
+make_build_args="LIBTOOL=libtool"
+make_install_args="LIBTOOL=libtool"
 hostmakedepends="automake gettext-devel libtool pkg-config"
 makedepends="ncurses-devel"
 checkdepends="dejagnu"
@@ -14,27 +17,23 @@ 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
 
 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 72444dcb33a4b1da21d9dd3a0ab6d8a1e684c9e3 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 33/36] 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 454fe9370d3714f6147f492eace16a05bb00ee33 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 17:26:37 +0000
Subject: [PATCH 34/36] 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 d8b86bff41eeb7a67404d86419cc23b473b3f8c1 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 17:59:06 +0000
Subject: [PATCH 35/36] 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 059a221b5d07079d5284788503042a3be3c9c827 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:00:59 +0000
Subject: [PATCH 36/36] 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>"

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PR PATCH] [Updated] Update procps-ng and dependents
  2023-02-23 21:31 [PR PATCH] Update procps-ng and dependents mhmdanas
  2023-02-23 21:41 ` [PR PATCH] [Updated] " mhmdanas
@ 2023-02-23 21:43 ` mhmdanas
  2023-02-24 12:02 ` mhmdanas
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: mhmdanas @ 2023-02-23 21:43 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1284 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)

@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: 77539 bytes --]

From 4db40523aa119ffdd26096648a2a21f488c5c071 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 01/36] 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 282f0583d2b1..5db7355a64bc 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 bbca1650b234f5bc28f7f37da94bd5d33a25ccc5 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 02/36] 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 034b12e277e5fe9d90b4e436dbc9d98f225d2426 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Wed, 22 Feb 2023 22:59:24 +0000
Subject: [PATCH 03/36] musl: backport `qsort_r`.

---
 ...allocarray.patch => 00-reallocarray.patch} |   0
 srcpkgs/musl/patches/add-qsort_r.patch        | 201 ++++++++++++++++++
 srcpkgs/musl/template                         |   6 +-
 3 files changed, 204 insertions(+), 3 deletions(-)
 rename srcpkgs/musl/patches/{reallocarray.patch => 00-reallocarray.patch} (100%)
 create mode 100644 srcpkgs/musl/patches/add-qsort_r.patch

diff --git a/srcpkgs/musl/patches/reallocarray.patch b/srcpkgs/musl/patches/00-reallocarray.patch
similarity index 100%
rename from srcpkgs/musl/patches/reallocarray.patch
rename to srcpkgs/musl/patches/00-reallocarray.patch
diff --git a/srcpkgs/musl/patches/add-qsort_r.patch b/srcpkgs/musl/patches/add-qsort_r.patch
new file mode 100644
index 000000000000..3d85496afb69
--- /dev/null
+++ b/srcpkgs/musl/patches/add-qsort_r.patch
@@ -0,0 +1,201 @@
+From b76f37fd5625d038141b52184956fb4b7838e9a5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=89rico=20Nogueira?= <ericonr@disroot.org>
+Date: Tue, 9 Mar 2021 18:02:13 -0300
+Subject: [PATCH] add qsort_r and make qsort a wrapper around it
+
+we make qsort a wrapper by providing a wrapper_cmp function that uses
+the extra argument as a function pointer. should be optimized to a tail
+call on most architectures, as long as it's built with
+-fomit-frame-pointer, so the performance impact should be minimal.
+
+to keep the git history clean, for now qsort_r is implemented in qsort.c
+and qsort is implemented in qsort_nr.c.  qsort.c also received a few
+trivial cleanups, including replacing (*cmp)() calls with cmp().
+qsort_nr.c contains only wrapper_cmp and qsort as a qsort_r wrapper
+itself.
+---
+ include/stdlib.h      |  1 +
+ src/include/stdlib.h  |  1 +
+ src/stdlib/qsort.c    | 37 ++++++++++++++++++++-----------------
+ src/stdlib/qsort_nr.c | 14 ++++++++++++++
+ 4 files changed, 36 insertions(+), 17 deletions(-)
+ create mode 100644 src/stdlib/qsort_nr.c
+
+diff --git a/include/stdlib.h b/include/stdlib.h
+index b54a051fe..7af86e3bc 100644
+--- a/include/stdlib.h
++++ b/include/stdlib.h
+@@ -146,6 +146,7 @@ int clearenv(void);
+ #define WCOREDUMP(s) ((s) & 0x80)
+ #define WIFCONTINUED(s) ((s) == 0xffff)
+ void *reallocarray (void *, size_t, size_t);
++void qsort_r (void *, size_t, size_t, int (*)(const void *, const void *, void *), void *);
+ #endif
+ 
+ #ifdef _GNU_SOURCE
+diff --git a/src/include/stdlib.h b/src/include/stdlib.h
+index e9da20158..812b04de2 100644
+--- a/src/include/stdlib.h
++++ b/src/include/stdlib.h
+@@ -8,6 +8,7 @@ hidden void __env_rm_add(char *, char *);
+ hidden int __mkostemps(char *, int, int);
+ hidden int __ptsname_r(int, char *, size_t);
+ hidden char *__randname(char *);
++hidden void __qsort_r (void *, size_t, size_t, int (*)(const void *, const void *, void *), void *);
+ 
+ hidden void *__libc_malloc(size_t);
+ hidden void *__libc_malloc_impl(size_t);
+diff --git a/src/stdlib/qsort.c b/src/stdlib/qsort.c
+index da58fd317..314ddc29d 100644
+--- a/src/stdlib/qsort.c
++++ b/src/stdlib/qsort.c
+@@ -24,6 +24,7 @@
+ /* Smoothsort, an adaptive variant of Heapsort.  Memory usage: O(1).
+    Run time: Worst case O(n log n), close to O(n) in the mostly-sorted case. */
+ 
++#define _BSD_SOURCE
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -31,7 +32,7 @@
+ #include "atomic.h"
+ #define ntz(x) a_ctz_l((x))
+ 
+-typedef int (*cmpfun)(const void *, const void *);
++typedef int (*cmpfun)(const void *, const void *, void *);
+ 
+ static inline int pntz(size_t p[2]) {
+ 	int r = ntz(p[0] - 1);
+@@ -88,7 +89,7 @@ static inline void shr(size_t p[2], int n)
+ 	p[1] >>= n;
+ }
+ 
+-static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size_t lp[])
++static void sift(unsigned char *head, size_t width, cmpfun cmp, void *arg, int pshift, size_t lp[])
+ {
+ 	unsigned char *rt, *lf;
+ 	unsigned char *ar[14 * sizeof(size_t) + 1];
+@@ -99,10 +100,10 @@ static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size
+ 		rt = head - width;
+ 		lf = head - width - lp[pshift - 2];
+ 
+-		if((*cmp)(ar[0], lf) >= 0 && (*cmp)(ar[0], rt) >= 0) {
++		if(cmp(ar[0], lf, arg) >= 0 && cmp(ar[0], rt, arg) >= 0) {
+ 			break;
+ 		}
+-		if((*cmp)(lf, rt) >= 0) {
++		if(cmp(lf, rt, arg) >= 0) {
+ 			ar[i++] = lf;
+ 			head = lf;
+ 			pshift -= 1;
+@@ -115,7 +116,7 @@ static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size
+ 	cycle(width, ar, i);
+ }
+ 
+-static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2], int pshift, int trusty, size_t lp[])
++static void trinkle(unsigned char *head, size_t width, cmpfun cmp, void *arg, size_t pp[2], int pshift, int trusty, size_t lp[])
+ {
+ 	unsigned char *stepson,
+ 	              *rt, *lf;
+@@ -130,13 +131,13 @@ static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2],
+ 	ar[0] = head;
+ 	while(p[0] != 1 || p[1] != 0) {
+ 		stepson = head - lp[pshift];
+-		if((*cmp)(stepson, ar[0]) <= 0) {
++		if(cmp(stepson, ar[0], arg) <= 0) {
+ 			break;
+ 		}
+ 		if(!trusty && pshift > 1) {
+ 			rt = head - width;
+ 			lf = head - width - lp[pshift - 2];
+-			if((*cmp)(rt, stepson) >= 0 || (*cmp)(lf, stepson) >= 0) {
++			if(cmp(rt, stepson, arg) >= 0 || cmp(lf, stepson, arg) >= 0) {
+ 				break;
+ 			}
+ 		}
+@@ -150,11 +151,11 @@ static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2],
+ 	}
+ 	if(!trusty) {
+ 		cycle(width, ar, i);
+-		sift(head, width, cmp, pshift, lp);
++		sift(head, width, cmp, arg, pshift, lp);
+ 	}
+ }
+ 
+-void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
++void __qsort_r(void *base, size_t nel, size_t width, cmpfun cmp, void *arg)
+ {
+ 	size_t lp[12*sizeof(size_t)];
+ 	size_t i, size = width * nel;
+@@ -173,16 +174,16 @@ void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
+ 
+ 	while(head < high) {
+ 		if((p[0] & 3) == 3) {
+-			sift(head, width, cmp, pshift, lp);
++			sift(head, width, cmp, arg, pshift, lp);
+ 			shr(p, 2);
+ 			pshift += 2;
+ 		} else {
+ 			if(lp[pshift - 1] >= high - head) {
+-				trinkle(head, width, cmp, p, pshift, 0, lp);
++				trinkle(head, width, cmp, arg, p, pshift, 0, lp);
+ 			} else {
+-				sift(head, width, cmp, pshift, lp);
++				sift(head, width, cmp, arg, pshift, lp);
+ 			}
+-			
++
+ 			if(pshift == 1) {
+ 				shl(p, 1);
+ 				pshift = 0;
+@@ -191,12 +192,12 @@ void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
+ 				pshift = 1;
+ 			}
+ 		}
+-		
++
+ 		p[0] |= 1;
+ 		head += width;
+ 	}
+ 
+-	trinkle(head, width, cmp, p, pshift, 0, lp);
++	trinkle(head, width, cmp, arg, p, pshift, 0, lp);
+ 
+ 	while(pshift != 1 || p[0] != 1 || p[1] != 0) {
+ 		if(pshift <= 1) {
+@@ -208,11 +209,13 @@ void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
+ 			pshift -= 2;
+ 			p[0] ^= 7;
+ 			shr(p, 1);
+-			trinkle(head - lp[pshift] - width, width, cmp, p, pshift + 1, 1, lp);
++			trinkle(head - lp[pshift] - width, width, cmp, arg, p, pshift + 1, 1, lp);
+ 			shl(p, 1);
+ 			p[0] |= 1;
+-			trinkle(head - width, width, cmp, p, pshift, 1, lp);
++			trinkle(head - width, width, cmp, arg, p, pshift, 1, lp);
+ 		}
+ 		head -= width;
+ 	}
+ }
++
++weak_alias(__qsort_r, qsort_r);
+diff --git a/src/stdlib/qsort_nr.c b/src/stdlib/qsort_nr.c
+new file mode 100644
+index 000000000..efe7ccecd
+--- /dev/null
++++ b/src/stdlib/qsort_nr.c
+@@ -0,0 +1,14 @@
++#define _BSD_SOURCE
++#include <stdlib.h>
++
++typedef int (*cmpfun)(const void *, const void *);
++
++static int wrapper_cmp(const void *v1, const void *v2, void *cmp)
++{
++	return ((cmpfun)cmp)(v1, v2);
++}
++
++void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
++{
++	__qsort_r(base, nel, width, wrapper_cmp, cmp);
++}
diff --git a/srcpkgs/musl/template b/srcpkgs/musl/template
index d661507241d4..c77cc2b6c405 100644
--- a/srcpkgs/musl/template
+++ b/srcpkgs/musl/template
@@ -2,7 +2,7 @@
 pkgname=musl
 reverts="1.2.0_1"
 version=1.1.24
-revision=14
+revision=15
 archs="*-musl"
 bootstrap=yes
 build_style=gnu-configure
@@ -10,8 +10,8 @@ configure_args="--prefix=/usr --disable-gcc-wrapper"
 short_desc="Musl C library"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="MIT"
-homepage="http://www.musl-libc.org/"
-distfiles="http://www.musl-libc.org/releases/musl-${version}.tar.gz"
+homepage="https://musl.libc.org/"
+distfiles="https://musl.libc.org/releases/musl-${version}.tar.gz"
 checksum=1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
 
 nostrip_files="libc.so"

From 6e382f5ba70c7197dd351d5421150c6ffbdfc667 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:43 +0000
Subject: [PATCH 04/36] cross-aarch64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-aarch64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template
index a05207a8894e..8038b28d70ad 100644
--- a/srcpkgs/cross-aarch64-linux-musl/template
+++ b/srcpkgs/cross-aarch64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-aarch64-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv8-a"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From e5a1f48c78044ac935db243c8c2fa2485f7d1ed8 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:43 +0000
Subject: [PATCH 05/36] cross-aarch64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-aarch64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template
index 8038b28d70ad..80d2fedb7e9c 100644
--- a/srcpkgs/cross-aarch64-linux-musl/template
+++ b/srcpkgs/cross-aarch64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-aarch64-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv8-a"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 07e87afc38afd7cb60de6e048c1da6d6552383ed Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:43 +0000
Subject: [PATCH 06/36] cross-arm-linux-musleabi: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabi/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index ce25d306db4b..ee59931d6d93 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabi
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv5te --with-float=soft"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From ab7be4da731f9010fa3b82724dd5040435625a32 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 07/36] cross-arm-linux-musleabi: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabi/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index ee59931d6d93..e98a384ffadf 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabi
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv5te --with-float=soft"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 59801b800fed1c76c14a064a823fb044cc852cae Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 08/36] cross-arm-linux-musleabihf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index 38baeb2e4df7..333db95425dd 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabihf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From ea48a02d4600faaa719c9df6d836d307800c49cf Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 09/36] cross-arm-linux-musleabihf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index 333db95425dd..09a511315acd 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabihf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 942730aba1c33ff8ff2fabb1017794e89489da20 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 10/36] cross-armv7l-linux-musleabihf: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-armv7l-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/template b/srcpkgs/cross-armv7l-linux-musleabihf/template
index 5d7bd4647c49..3c4ea2357661 100644
--- a/srcpkgs/cross-armv7l-linux-musleabihf/template
+++ b/srcpkgs/cross-armv7l-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-armv7l-linux-musleabihf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From b47ca7d961c6cff1caeafaf7edb1719075c01b15 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:45 +0000
Subject: [PATCH 11/36] cross-armv7l-linux-musleabihf: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-armv7l-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/template b/srcpkgs/cross-armv7l-linux-musleabihf/template
index 3c4ea2357661..c38d5836a0c3 100644
--- a/srcpkgs/cross-armv7l-linux-musleabihf/template
+++ b/srcpkgs/cross-armv7l-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-armv7l-linux-musleabihf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 909fd0a517189e7c93b2664fc068be063dbebd06 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:45 +0000
Subject: [PATCH 12/36] cross-i686-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-i686-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-i686-linux-musl/template b/srcpkgs/cross-i686-linux-musl/template
index 2c95f93a8fe1..6dc3fdcba07a 100644
--- a/srcpkgs/cross-i686-linux-musl/template
+++ b/srcpkgs/cross-i686-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-i686-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From 68596476320612230fd04608ef16a3dbf367efa2 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:45 +0000
Subject: [PATCH 13/36] cross-i686-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-i686-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-i686-linux-musl/template b/srcpkgs/cross-i686-linux-musl/template
index 6dc3fdcba07a..ec8501daad33 100644
--- a/srcpkgs/cross-i686-linux-musl/template
+++ b/srcpkgs/cross-i686-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-i686-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From 886314173e11e246cbc72951816e21f1995b626e Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:46 +0000
Subject: [PATCH 14/36] cross-mips-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template
index aefd2316ad03..f783961d70d2 100644
--- a/srcpkgs/cross-mips-linux-musl/template
+++ b/srcpkgs/cross-mips-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From edfd21291e1e4fd161f94e278800955fd6044df0 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:46 +0000
Subject: [PATCH 15/36] cross-mips-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template
index f783961d70d2..b50afed940f0 100644
--- a/srcpkgs/cross-mips-linux-musl/template
+++ b/srcpkgs/cross-mips-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From 103f1a65b2e244f40ba8a58f6f845907dc3fbd8a Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:46 +0000
Subject: [PATCH 16/36] cross-mips-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-muslhf/template b/srcpkgs/cross-mips-linux-muslhf/template
index 8308fcb4f0d0..fe41bc80d808 100644
--- a/srcpkgs/cross-mips-linux-muslhf/template
+++ b/srcpkgs/cross-mips-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-muslhf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From de707d121c131456388805d6d80933a116c6c6f0 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:47 +0000
Subject: [PATCH 17/36] cross-mips-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-muslhf/template b/srcpkgs/cross-mips-linux-muslhf/template
index fe41bc80d808..06bf9a58fcfe 100644
--- a/srcpkgs/cross-mips-linux-muslhf/template
+++ b/srcpkgs/cross-mips-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-muslhf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From 4d083c81f27dc3135317168fff0bc91cac1884ec Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:47 +0000
Subject: [PATCH 18/36] cross-mipsel-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template
index 3c1825f0d96f..23247d5bc972 100644
--- a/srcpkgs/cross-mipsel-linux-musl/template
+++ b/srcpkgs/cross-mipsel-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From ec2f21d8bdc247b01c2a69ca87e7f2f5d7a71077 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:47 +0000
Subject: [PATCH 19/36] cross-mipsel-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template
index 23247d5bc972..94c0d30484ac 100644
--- a/srcpkgs/cross-mipsel-linux-musl/template
+++ b/srcpkgs/cross-mipsel-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From 2727faef76b687e1bd8cd032fe5a29a237ebede3 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:48 +0000
Subject: [PATCH 20/36] cross-mipsel-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template
index ab199135a246..8cc208c7e86d 100644
--- a/srcpkgs/cross-mipsel-linux-muslhf/template
+++ b/srcpkgs/cross-mipsel-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-muslhf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From 941d262fc7807ae85c93cacc5e896d4cffaf22f9 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:48 +0000
Subject: [PATCH 21/36] cross-mipsel-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template
index 8cc208c7e86d..b02f4efe9918 100644
--- a/srcpkgs/cross-mipsel-linux-muslhf/template
+++ b/srcpkgs/cross-mipsel-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-muslhf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From 56d6656fd735cd37fdf98e98981a08fec47d2d71 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:48 +0000
Subject: [PATCH 22/36] cross-powerpc-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc-linux-musl/template b/srcpkgs/cross-powerpc-linux-musl/template
index 692145be3994..e06970d76b9e 100644
--- a/srcpkgs/cross-powerpc-linux-musl/template
+++ b/srcpkgs/cross-powerpc-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From 1d2157738773d1989a551f4492de5b63db7ade52 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:49 +0000
Subject: [PATCH 23/36] cross-powerpc-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc-linux-musl/template b/srcpkgs/cross-powerpc-linux-musl/template
index e06970d76b9e..51ec36d196e5 100644
--- a/srcpkgs/cross-powerpc-linux-musl/template
+++ b/srcpkgs/cross-powerpc-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From 942725935f35a5d99edb55f60504f4b46446b3eb Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:49 +0000
Subject: [PATCH 24/36] cross-powerpc64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template
index 4d38c80ff744..b081a136ef29 100644
--- a/srcpkgs/cross-powerpc64-linux-musl/template
+++ b/srcpkgs/cross-powerpc64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux"

From 66b61d9f2a5faa7287f2f258d0cc02b58c4ad446 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:49 +0000
Subject: [PATCH 25/36] cross-powerpc64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template
index b081a136ef29..9e942d344dd8 100644
--- a/srcpkgs/cross-powerpc64-linux-musl/template
+++ b/srcpkgs/cross-powerpc64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux"

From d0649569f4cd5832177ad68af0ec7daa1d4ee6b9 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 26/36] cross-powerpc64le-linux-musl: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64le-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template
index 59f8586731a7..a863233b5b32 100644
--- a/srcpkgs/cross-powerpc64le-linux-musl/template
+++ b/srcpkgs/cross-powerpc64le-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64le-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux"

From 8aeaa9dd098f559b108aa3adf78f627d1c41805e Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 27/36] cross-powerpc64le-linux-musl: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64le-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template
index a863233b5b32..9888df6390b7 100644
--- a/srcpkgs/cross-powerpc64le-linux-musl/template
+++ b/srcpkgs/cross-powerpc64le-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64le-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux"

From eb5d7449d84ec765d9f40d7c3ddbd39b258e1ff6 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 28/36] cross-powerpcle-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpcle-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpcle-linux-musl/template b/srcpkgs/cross-powerpcle-linux-musl/template
index 0fdd3285b3f8..2f483e1f1ee5 100644
--- a/srcpkgs/cross-powerpcle-linux-musl/template
+++ b/srcpkgs/cross-powerpcle-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From fd242528a8c61db1176cec8a923f89487b584300 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 29/36] cross-powerpcle-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpcle-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpcle-linux-musl/template b/srcpkgs/cross-powerpcle-linux-musl/template
index 2f483e1f1ee5..5b441c0843a3 100644
--- a/srcpkgs/cross-powerpcle-linux-musl/template
+++ b/srcpkgs/cross-powerpcle-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From 16f1c8be318799f78c753218648da0bfee2ee58c Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:51 +0000
Subject: [PATCH 30/36] cross-x86_64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-x86_64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-x86_64-linux-musl/template b/srcpkgs/cross-x86_64-linux-musl/template
index 2812f3330130..4984cd77f149 100644
--- a/srcpkgs/cross-x86_64-linux-musl/template
+++ b/srcpkgs/cross-x86_64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-x86_64-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From 8d3d987cab97a8d85e8b1f640b5498909df1cc9e Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:51 +0000
Subject: [PATCH 31/36] cross-x86_64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-x86_64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-x86_64-linux-musl/template b/srcpkgs/cross-x86_64-linux-musl/template
index 4984cd77f149..6c98a67b55b3 100644
--- a/srcpkgs/cross-x86_64-linux-musl/template
+++ b/srcpkgs/cross-x86_64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-x86_64-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From 414a3f83c06efed71170c0500edcc62f77bb4d04 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Wed, 22 Feb 2023 18:29:49 +0000
Subject: [PATCH 32/36] 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 5db7355a64bc..a3898d252b04 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2311,7 +2311,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..4113d6d6463f 100644
--- a/srcpkgs/procps-ng/template
+++ b/srcpkgs/procps-ng/template
@@ -1,11 +1,14 @@
 # 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
+configure_args="LIBTOOL=libtool
+ --exec-prefix=/ --bindir=/usr/bin --sbindir=/usr/bin
  --libdir=/usr/lib --disable-kill --enable-watch8bit
  --disable-modern-top --without-systemd"
+make_build_args="LIBTOOL=libtool"
+make_install_args="LIBTOOL=libtool"
 hostmakedepends="automake gettext-devel libtool pkg-config"
 makedepends="ncurses-devel"
 checkdepends="dejagnu"
@@ -14,27 +17,23 @@ 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
 
 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 d2c195522e7b8b4283c8c9b1fcd67642dbd620d5 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 33/36] 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 5786b0e6664dc31a669d3942711096968579fff8 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 17:26:37 +0000
Subject: [PATCH 34/36] 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 49f8a4c0022ffba0b79dd5061c420c7b7b9b200f Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 17:59:06 +0000
Subject: [PATCH 35/36] 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 444b48206b5e86c8154884e76ea474503ac3122a Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:00:59 +0000
Subject: [PATCH 36/36] 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>"

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PR PATCH] [Updated] Update procps-ng and dependents
  2023-02-23 21:31 [PR PATCH] Update procps-ng and dependents 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
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: mhmdanas @ 2023-02-24 12:02 UTC (permalink / raw)
  To: ml

[-- 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: 77574 bytes --]

From b0236699bbafce55b4c291e5b9f54889f78785a3 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 01/36] 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 282f0583d2b1..5db7355a64bc 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 389b857420405f2db9ace44166ae0ff35b76a23a 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 02/36] 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 4592e494db1b89ead6d45794ee315624f1d8a29f Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Wed, 22 Feb 2023 22:59:24 +0000
Subject: [PATCH 03/36] musl: backport `qsort_r`.

---
 ...allocarray.patch => 00-reallocarray.patch} |   0
 srcpkgs/musl/patches/add-qsort_r.patch        | 201 ++++++++++++++++++
 srcpkgs/musl/template                         |   6 +-
 3 files changed, 204 insertions(+), 3 deletions(-)
 rename srcpkgs/musl/patches/{reallocarray.patch => 00-reallocarray.patch} (100%)
 create mode 100644 srcpkgs/musl/patches/add-qsort_r.patch

diff --git a/srcpkgs/musl/patches/reallocarray.patch b/srcpkgs/musl/patches/00-reallocarray.patch
similarity index 100%
rename from srcpkgs/musl/patches/reallocarray.patch
rename to srcpkgs/musl/patches/00-reallocarray.patch
diff --git a/srcpkgs/musl/patches/add-qsort_r.patch b/srcpkgs/musl/patches/add-qsort_r.patch
new file mode 100644
index 000000000000..3d85496afb69
--- /dev/null
+++ b/srcpkgs/musl/patches/add-qsort_r.patch
@@ -0,0 +1,201 @@
+From b76f37fd5625d038141b52184956fb4b7838e9a5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=89rico=20Nogueira?= <ericonr@disroot.org>
+Date: Tue, 9 Mar 2021 18:02:13 -0300
+Subject: [PATCH] add qsort_r and make qsort a wrapper around it
+
+we make qsort a wrapper by providing a wrapper_cmp function that uses
+the extra argument as a function pointer. should be optimized to a tail
+call on most architectures, as long as it's built with
+-fomit-frame-pointer, so the performance impact should be minimal.
+
+to keep the git history clean, for now qsort_r is implemented in qsort.c
+and qsort is implemented in qsort_nr.c.  qsort.c also received a few
+trivial cleanups, including replacing (*cmp)() calls with cmp().
+qsort_nr.c contains only wrapper_cmp and qsort as a qsort_r wrapper
+itself.
+---
+ include/stdlib.h      |  1 +
+ src/include/stdlib.h  |  1 +
+ src/stdlib/qsort.c    | 37 ++++++++++++++++++++-----------------
+ src/stdlib/qsort_nr.c | 14 ++++++++++++++
+ 4 files changed, 36 insertions(+), 17 deletions(-)
+ create mode 100644 src/stdlib/qsort_nr.c
+
+diff --git a/include/stdlib.h b/include/stdlib.h
+index b54a051fe..7af86e3bc 100644
+--- a/include/stdlib.h
++++ b/include/stdlib.h
+@@ -146,6 +146,7 @@ int clearenv(void);
+ #define WCOREDUMP(s) ((s) & 0x80)
+ #define WIFCONTINUED(s) ((s) == 0xffff)
+ void *reallocarray (void *, size_t, size_t);
++void qsort_r (void *, size_t, size_t, int (*)(const void *, const void *, void *), void *);
+ #endif
+ 
+ #ifdef _GNU_SOURCE
+diff --git a/src/include/stdlib.h b/src/include/stdlib.h
+index e9da20158..812b04de2 100644
+--- a/src/include/stdlib.h
++++ b/src/include/stdlib.h
+@@ -8,6 +8,7 @@ hidden void __env_rm_add(char *, char *);
+ hidden int __mkostemps(char *, int, int);
+ hidden int __ptsname_r(int, char *, size_t);
+ hidden char *__randname(char *);
++hidden void __qsort_r (void *, size_t, size_t, int (*)(const void *, const void *, void *), void *);
+ 
+ hidden void *__libc_malloc(size_t);
+ hidden void *__libc_malloc_impl(size_t);
+diff --git a/src/stdlib/qsort.c b/src/stdlib/qsort.c
+index da58fd317..314ddc29d 100644
+--- a/src/stdlib/qsort.c
++++ b/src/stdlib/qsort.c
+@@ -24,6 +24,7 @@
+ /* Smoothsort, an adaptive variant of Heapsort.  Memory usage: O(1).
+    Run time: Worst case O(n log n), close to O(n) in the mostly-sorted case. */
+ 
++#define _BSD_SOURCE
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -31,7 +32,7 @@
+ #include "atomic.h"
+ #define ntz(x) a_ctz_l((x))
+ 
+-typedef int (*cmpfun)(const void *, const void *);
++typedef int (*cmpfun)(const void *, const void *, void *);
+ 
+ static inline int pntz(size_t p[2]) {
+ 	int r = ntz(p[0] - 1);
+@@ -88,7 +89,7 @@ static inline void shr(size_t p[2], int n)
+ 	p[1] >>= n;
+ }
+ 
+-static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size_t lp[])
++static void sift(unsigned char *head, size_t width, cmpfun cmp, void *arg, int pshift, size_t lp[])
+ {
+ 	unsigned char *rt, *lf;
+ 	unsigned char *ar[14 * sizeof(size_t) + 1];
+@@ -99,10 +100,10 @@ static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size
+ 		rt = head - width;
+ 		lf = head - width - lp[pshift - 2];
+ 
+-		if((*cmp)(ar[0], lf) >= 0 && (*cmp)(ar[0], rt) >= 0) {
++		if(cmp(ar[0], lf, arg) >= 0 && cmp(ar[0], rt, arg) >= 0) {
+ 			break;
+ 		}
+-		if((*cmp)(lf, rt) >= 0) {
++		if(cmp(lf, rt, arg) >= 0) {
+ 			ar[i++] = lf;
+ 			head = lf;
+ 			pshift -= 1;
+@@ -115,7 +116,7 @@ static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size
+ 	cycle(width, ar, i);
+ }
+ 
+-static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2], int pshift, int trusty, size_t lp[])
++static void trinkle(unsigned char *head, size_t width, cmpfun cmp, void *arg, size_t pp[2], int pshift, int trusty, size_t lp[])
+ {
+ 	unsigned char *stepson,
+ 	              *rt, *lf;
+@@ -130,13 +131,13 @@ static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2],
+ 	ar[0] = head;
+ 	while(p[0] != 1 || p[1] != 0) {
+ 		stepson = head - lp[pshift];
+-		if((*cmp)(stepson, ar[0]) <= 0) {
++		if(cmp(stepson, ar[0], arg) <= 0) {
+ 			break;
+ 		}
+ 		if(!trusty && pshift > 1) {
+ 			rt = head - width;
+ 			lf = head - width - lp[pshift - 2];
+-			if((*cmp)(rt, stepson) >= 0 || (*cmp)(lf, stepson) >= 0) {
++			if(cmp(rt, stepson, arg) >= 0 || cmp(lf, stepson, arg) >= 0) {
+ 				break;
+ 			}
+ 		}
+@@ -150,11 +151,11 @@ static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2],
+ 	}
+ 	if(!trusty) {
+ 		cycle(width, ar, i);
+-		sift(head, width, cmp, pshift, lp);
++		sift(head, width, cmp, arg, pshift, lp);
+ 	}
+ }
+ 
+-void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
++void __qsort_r(void *base, size_t nel, size_t width, cmpfun cmp, void *arg)
+ {
+ 	size_t lp[12*sizeof(size_t)];
+ 	size_t i, size = width * nel;
+@@ -173,16 +174,16 @@ void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
+ 
+ 	while(head < high) {
+ 		if((p[0] & 3) == 3) {
+-			sift(head, width, cmp, pshift, lp);
++			sift(head, width, cmp, arg, pshift, lp);
+ 			shr(p, 2);
+ 			pshift += 2;
+ 		} else {
+ 			if(lp[pshift - 1] >= high - head) {
+-				trinkle(head, width, cmp, p, pshift, 0, lp);
++				trinkle(head, width, cmp, arg, p, pshift, 0, lp);
+ 			} else {
+-				sift(head, width, cmp, pshift, lp);
++				sift(head, width, cmp, arg, pshift, lp);
+ 			}
+-			
++
+ 			if(pshift == 1) {
+ 				shl(p, 1);
+ 				pshift = 0;
+@@ -191,12 +192,12 @@ void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
+ 				pshift = 1;
+ 			}
+ 		}
+-		
++
+ 		p[0] |= 1;
+ 		head += width;
+ 	}
+ 
+-	trinkle(head, width, cmp, p, pshift, 0, lp);
++	trinkle(head, width, cmp, arg, p, pshift, 0, lp);
+ 
+ 	while(pshift != 1 || p[0] != 1 || p[1] != 0) {
+ 		if(pshift <= 1) {
+@@ -208,11 +209,13 @@ void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
+ 			pshift -= 2;
+ 			p[0] ^= 7;
+ 			shr(p, 1);
+-			trinkle(head - lp[pshift] - width, width, cmp, p, pshift + 1, 1, lp);
++			trinkle(head - lp[pshift] - width, width, cmp, arg, p, pshift + 1, 1, lp);
+ 			shl(p, 1);
+ 			p[0] |= 1;
+-			trinkle(head - width, width, cmp, p, pshift, 1, lp);
++			trinkle(head - width, width, cmp, arg, p, pshift, 1, lp);
+ 		}
+ 		head -= width;
+ 	}
+ }
++
++weak_alias(__qsort_r, qsort_r);
+diff --git a/src/stdlib/qsort_nr.c b/src/stdlib/qsort_nr.c
+new file mode 100644
+index 000000000..efe7ccecd
+--- /dev/null
++++ b/src/stdlib/qsort_nr.c
+@@ -0,0 +1,14 @@
++#define _BSD_SOURCE
++#include <stdlib.h>
++
++typedef int (*cmpfun)(const void *, const void *);
++
++static int wrapper_cmp(const void *v1, const void *v2, void *cmp)
++{
++	return ((cmpfun)cmp)(v1, v2);
++}
++
++void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
++{
++	__qsort_r(base, nel, width, wrapper_cmp, cmp);
++}
diff --git a/srcpkgs/musl/template b/srcpkgs/musl/template
index d661507241d4..c77cc2b6c405 100644
--- a/srcpkgs/musl/template
+++ b/srcpkgs/musl/template
@@ -2,7 +2,7 @@
 pkgname=musl
 reverts="1.2.0_1"
 version=1.1.24
-revision=14
+revision=15
 archs="*-musl"
 bootstrap=yes
 build_style=gnu-configure
@@ -10,8 +10,8 @@ configure_args="--prefix=/usr --disable-gcc-wrapper"
 short_desc="Musl C library"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="MIT"
-homepage="http://www.musl-libc.org/"
-distfiles="http://www.musl-libc.org/releases/musl-${version}.tar.gz"
+homepage="https://musl.libc.org/"
+distfiles="https://musl.libc.org/releases/musl-${version}.tar.gz"
 checksum=1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
 
 nostrip_files="libc.so"

From 1309ce6f7f92ccf7a8e5f95a226382e0ffdbeb3b Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:43 +0000
Subject: [PATCH 04/36] cross-aarch64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-aarch64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template
index a05207a8894e..8038b28d70ad 100644
--- a/srcpkgs/cross-aarch64-linux-musl/template
+++ b/srcpkgs/cross-aarch64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-aarch64-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv8-a"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From cdb0e53756999deb7464678ec0d9b47a6c3dedaf Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:43 +0000
Subject: [PATCH 05/36] cross-aarch64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-aarch64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template
index 8038b28d70ad..80d2fedb7e9c 100644
--- a/srcpkgs/cross-aarch64-linux-musl/template
+++ b/srcpkgs/cross-aarch64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-aarch64-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv8-a"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 933cc7f7c5a65c48f55e02c0f207d41fd9122ee3 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:43 +0000
Subject: [PATCH 06/36] cross-arm-linux-musleabi: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabi/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index ce25d306db4b..ee59931d6d93 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabi
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv5te --with-float=soft"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 2623ec92aa51b049a51a8e19e6a70fa47ae7abb9 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 07/36] cross-arm-linux-musleabi: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabi/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index ee59931d6d93..e98a384ffadf 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabi
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv5te --with-float=soft"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From c5f3abd5b8db451766a4058bfda2287f449f1d98 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 08/36] cross-arm-linux-musleabihf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index 38baeb2e4df7..333db95425dd 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabihf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 8326d371e384441d7e964087758aa89a5108011f Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 09/36] cross-arm-linux-musleabihf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index 333db95425dd..09a511315acd 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabihf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 6bbdf66b792be03be5d1b3a235a0508da433af8a Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 10/36] cross-armv7l-linux-musleabihf: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-armv7l-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/template b/srcpkgs/cross-armv7l-linux-musleabihf/template
index 5d7bd4647c49..3c4ea2357661 100644
--- a/srcpkgs/cross-armv7l-linux-musleabihf/template
+++ b/srcpkgs/cross-armv7l-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-armv7l-linux-musleabihf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 91abce60855f1862f94526c4bb7b6fb1a7b55668 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:45 +0000
Subject: [PATCH 11/36] cross-armv7l-linux-musleabihf: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-armv7l-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/template b/srcpkgs/cross-armv7l-linux-musleabihf/template
index 3c4ea2357661..c38d5836a0c3 100644
--- a/srcpkgs/cross-armv7l-linux-musleabihf/template
+++ b/srcpkgs/cross-armv7l-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-armv7l-linux-musleabihf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 43a7d770526c429bbf542c1cf520660576d38d8b Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:45 +0000
Subject: [PATCH 12/36] cross-i686-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-i686-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-i686-linux-musl/template b/srcpkgs/cross-i686-linux-musl/template
index 2c95f93a8fe1..6dc3fdcba07a 100644
--- a/srcpkgs/cross-i686-linux-musl/template
+++ b/srcpkgs/cross-i686-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-i686-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From 83e3a1bad5aeb90bc90a2f6a84de9a338f050947 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:45 +0000
Subject: [PATCH 13/36] cross-i686-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-i686-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-i686-linux-musl/template b/srcpkgs/cross-i686-linux-musl/template
index 6dc3fdcba07a..ec8501daad33 100644
--- a/srcpkgs/cross-i686-linux-musl/template
+++ b/srcpkgs/cross-i686-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-i686-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From 6bf48d5fe0c512245ad22d90c42076433c973d68 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:46 +0000
Subject: [PATCH 14/36] cross-mips-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template
index aefd2316ad03..f783961d70d2 100644
--- a/srcpkgs/cross-mips-linux-musl/template
+++ b/srcpkgs/cross-mips-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From 3e6bf19af3d3a76e69d346216908d57a22dcd3c0 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:46 +0000
Subject: [PATCH 15/36] cross-mips-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template
index f783961d70d2..b50afed940f0 100644
--- a/srcpkgs/cross-mips-linux-musl/template
+++ b/srcpkgs/cross-mips-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From ba5dfde13d9067c429920a575284c1f558028e88 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:46 +0000
Subject: [PATCH 16/36] cross-mips-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-muslhf/template b/srcpkgs/cross-mips-linux-muslhf/template
index 8308fcb4f0d0..fe41bc80d808 100644
--- a/srcpkgs/cross-mips-linux-muslhf/template
+++ b/srcpkgs/cross-mips-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-muslhf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From f12f19e3845ab9c899e66634d9240ab7b465ddaf Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:47 +0000
Subject: [PATCH 17/36] cross-mips-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-muslhf/template b/srcpkgs/cross-mips-linux-muslhf/template
index fe41bc80d808..06bf9a58fcfe 100644
--- a/srcpkgs/cross-mips-linux-muslhf/template
+++ b/srcpkgs/cross-mips-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-muslhf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From ede24ecfdf8aa3d700dc0c6301101f89b4442710 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:47 +0000
Subject: [PATCH 18/36] cross-mipsel-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template
index 3c1825f0d96f..23247d5bc972 100644
--- a/srcpkgs/cross-mipsel-linux-musl/template
+++ b/srcpkgs/cross-mipsel-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From fc77dd6a3e96b1610121015073d96c32397892fe Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:47 +0000
Subject: [PATCH 19/36] cross-mipsel-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template
index 23247d5bc972..94c0d30484ac 100644
--- a/srcpkgs/cross-mipsel-linux-musl/template
+++ b/srcpkgs/cross-mipsel-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From 1dae5d0742d528f0a58dee9fbb7bc158f1cc5a76 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:48 +0000
Subject: [PATCH 20/36] cross-mipsel-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template
index ab199135a246..8cc208c7e86d 100644
--- a/srcpkgs/cross-mipsel-linux-muslhf/template
+++ b/srcpkgs/cross-mipsel-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-muslhf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From df8d41d8a42dcc4e990e900f0671c3b9bfab8bc2 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:48 +0000
Subject: [PATCH 21/36] cross-mipsel-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template
index 8cc208c7e86d..b02f4efe9918 100644
--- a/srcpkgs/cross-mipsel-linux-muslhf/template
+++ b/srcpkgs/cross-mipsel-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-muslhf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From 2c46a3718060b0175527bd69902f83c64ded7b1b Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:48 +0000
Subject: [PATCH 22/36] cross-powerpc-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc-linux-musl/template b/srcpkgs/cross-powerpc-linux-musl/template
index 692145be3994..e06970d76b9e 100644
--- a/srcpkgs/cross-powerpc-linux-musl/template
+++ b/srcpkgs/cross-powerpc-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From 4d4af3a14bff77ce57a0fec18a6a41820cde87d1 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:49 +0000
Subject: [PATCH 23/36] cross-powerpc-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc-linux-musl/template b/srcpkgs/cross-powerpc-linux-musl/template
index e06970d76b9e..51ec36d196e5 100644
--- a/srcpkgs/cross-powerpc-linux-musl/template
+++ b/srcpkgs/cross-powerpc-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From e3615f944cffc4ace26920d8374fd88c1a126eb7 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:49 +0000
Subject: [PATCH 24/36] cross-powerpc64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template
index 4d38c80ff744..b081a136ef29 100644
--- a/srcpkgs/cross-powerpc64-linux-musl/template
+++ b/srcpkgs/cross-powerpc64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux"

From c497b21ef3607ea158e06135bcce6764b137e35d Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:49 +0000
Subject: [PATCH 25/36] cross-powerpc64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template
index b081a136ef29..9e942d344dd8 100644
--- a/srcpkgs/cross-powerpc64-linux-musl/template
+++ b/srcpkgs/cross-powerpc64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux"

From 2f979adfdcfed08b81feac8e706a13481459e3fe Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 26/36] cross-powerpc64le-linux-musl: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64le-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template
index 59f8586731a7..a863233b5b32 100644
--- a/srcpkgs/cross-powerpc64le-linux-musl/template
+++ b/srcpkgs/cross-powerpc64le-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64le-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux"

From 8a9586d370c28881021435004c5a86d8a9229708 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 27/36] cross-powerpc64le-linux-musl: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64le-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template
index a863233b5b32..9888df6390b7 100644
--- a/srcpkgs/cross-powerpc64le-linux-musl/template
+++ b/srcpkgs/cross-powerpc64le-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64le-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux"

From 48ee0fdc90f1c99e2f996401c2e697ce695ad685 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 28/36] cross-powerpcle-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpcle-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpcle-linux-musl/template b/srcpkgs/cross-powerpcle-linux-musl/template
index 0fdd3285b3f8..2f483e1f1ee5 100644
--- a/srcpkgs/cross-powerpcle-linux-musl/template
+++ b/srcpkgs/cross-powerpcle-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From 3e0cceeb83bf6596bd8494d54c9561748d87f4ae Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 29/36] cross-powerpcle-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpcle-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpcle-linux-musl/template b/srcpkgs/cross-powerpcle-linux-musl/template
index 2f483e1f1ee5..5b441c0843a3 100644
--- a/srcpkgs/cross-powerpcle-linux-musl/template
+++ b/srcpkgs/cross-powerpcle-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From c6a342faffe41273114333d53426be3630615e50 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:51 +0000
Subject: [PATCH 30/36] cross-x86_64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-x86_64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-x86_64-linux-musl/template b/srcpkgs/cross-x86_64-linux-musl/template
index 2812f3330130..4984cd77f149 100644
--- a/srcpkgs/cross-x86_64-linux-musl/template
+++ b/srcpkgs/cross-x86_64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-x86_64-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From 42bee797a9d2939f3e5ce0aab300d403e02553ed Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:51 +0000
Subject: [PATCH 31/36] cross-x86_64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-x86_64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-x86_64-linux-musl/template b/srcpkgs/cross-x86_64-linux-musl/template
index 4984cd77f149..6c98a67b55b3 100644
--- a/srcpkgs/cross-x86_64-linux-musl/template
+++ b/srcpkgs/cross-x86_64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-x86_64-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

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

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

diff --git a/common/shlibs b/common/shlibs
index 5db7355a64bc..a3898d252b04 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2311,7 +2311,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..bc1a11bf9ed2 100644
--- a/srcpkgs/procps-ng/template
+++ b/srcpkgs/procps-ng/template
@@ -1,11 +1,14 @@
 # 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
+configure_args="LIBTOOL=libtool
+ --exec-prefix=/ --bindir=/usr/bin --sbindir=/usr/bin
  --libdir=/usr/lib --disable-kill --enable-watch8bit
  --disable-modern-top --without-systemd"
+make_build_args="LIBTOOL=libtool"
+make_install_args="LIBTOOL=libtool"
 hostmakedepends="automake gettext-devel libtool pkg-config"
 makedepends="ncurses-devel"
 checkdepends="dejagnu"
@@ -14,27 +17,27 @@ 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
 
 conf_files="/etc/sysctl.conf"
 
+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
+
 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
+	vsed -i 's,ncursesw/ncurses.h,ncurses.h,g' src/watch.c
 }
 
-pre_configure() {
-	autoreconf -fi
+do_check() {
+	make check RUNTESTFLAGS="-v -v -v"
 }
 
 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 da1fe0a8443c56175ea77a0a1ccdb52e404d4cd1 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 33/36] 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 6bf16138d2dcc6e1d06069a0027f17d35d7dbb3d Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 17:26:37 +0000
Subject: [PATCH 34/36] 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 0b0bf929b58c47201a1a8708f26ca6eae1ab57ff Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 17:59:06 +0000
Subject: [PATCH 35/36] 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 b5788e188e7f54e26f358e4590352702a471822e Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:00:59 +0000
Subject: [PATCH 36/36] 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>"

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PR PATCH] [Updated] Update procps-ng and dependents
  2023-02-23 21:31 [PR PATCH] Update procps-ng and dependents mhmdanas
                   ` (2 preceding siblings ...)
  2023-02-24 12:02 ` mhmdanas
@ 2023-02-24 12:13 ` mhmdanas
  2023-03-09 20:29 ` mhmdanas
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: mhmdanas @ 2023-02-24 12:13 UTC (permalink / raw)
  To: ml

[-- 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: 77622 bytes --]

From b0236699bbafce55b4c291e5b9f54889f78785a3 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 01/36] 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 282f0583d2b1..5db7355a64bc 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 389b857420405f2db9ace44166ae0ff35b76a23a 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 02/36] 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 4592e494db1b89ead6d45794ee315624f1d8a29f Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Wed, 22 Feb 2023 22:59:24 +0000
Subject: [PATCH 03/36] musl: backport `qsort_r`.

---
 ...allocarray.patch => 00-reallocarray.patch} |   0
 srcpkgs/musl/patches/add-qsort_r.patch        | 201 ++++++++++++++++++
 srcpkgs/musl/template                         |   6 +-
 3 files changed, 204 insertions(+), 3 deletions(-)
 rename srcpkgs/musl/patches/{reallocarray.patch => 00-reallocarray.patch} (100%)
 create mode 100644 srcpkgs/musl/patches/add-qsort_r.patch

diff --git a/srcpkgs/musl/patches/reallocarray.patch b/srcpkgs/musl/patches/00-reallocarray.patch
similarity index 100%
rename from srcpkgs/musl/patches/reallocarray.patch
rename to srcpkgs/musl/patches/00-reallocarray.patch
diff --git a/srcpkgs/musl/patches/add-qsort_r.patch b/srcpkgs/musl/patches/add-qsort_r.patch
new file mode 100644
index 000000000000..3d85496afb69
--- /dev/null
+++ b/srcpkgs/musl/patches/add-qsort_r.patch
@@ -0,0 +1,201 @@
+From b76f37fd5625d038141b52184956fb4b7838e9a5 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?=C3=89rico=20Nogueira?= <ericonr@disroot.org>
+Date: Tue, 9 Mar 2021 18:02:13 -0300
+Subject: [PATCH] add qsort_r and make qsort a wrapper around it
+
+we make qsort a wrapper by providing a wrapper_cmp function that uses
+the extra argument as a function pointer. should be optimized to a tail
+call on most architectures, as long as it's built with
+-fomit-frame-pointer, so the performance impact should be minimal.
+
+to keep the git history clean, for now qsort_r is implemented in qsort.c
+and qsort is implemented in qsort_nr.c.  qsort.c also received a few
+trivial cleanups, including replacing (*cmp)() calls with cmp().
+qsort_nr.c contains only wrapper_cmp and qsort as a qsort_r wrapper
+itself.
+---
+ include/stdlib.h      |  1 +
+ src/include/stdlib.h  |  1 +
+ src/stdlib/qsort.c    | 37 ++++++++++++++++++++-----------------
+ src/stdlib/qsort_nr.c | 14 ++++++++++++++
+ 4 files changed, 36 insertions(+), 17 deletions(-)
+ create mode 100644 src/stdlib/qsort_nr.c
+
+diff --git a/include/stdlib.h b/include/stdlib.h
+index b54a051fe..7af86e3bc 100644
+--- a/include/stdlib.h
++++ b/include/stdlib.h
+@@ -146,6 +146,7 @@ int clearenv(void);
+ #define WCOREDUMP(s) ((s) & 0x80)
+ #define WIFCONTINUED(s) ((s) == 0xffff)
+ void *reallocarray (void *, size_t, size_t);
++void qsort_r (void *, size_t, size_t, int (*)(const void *, const void *, void *), void *);
+ #endif
+ 
+ #ifdef _GNU_SOURCE
+diff --git a/src/include/stdlib.h b/src/include/stdlib.h
+index e9da20158..812b04de2 100644
+--- a/src/include/stdlib.h
++++ b/src/include/stdlib.h
+@@ -8,6 +8,7 @@ hidden void __env_rm_add(char *, char *);
+ hidden int __mkostemps(char *, int, int);
+ hidden int __ptsname_r(int, char *, size_t);
+ hidden char *__randname(char *);
++hidden void __qsort_r (void *, size_t, size_t, int (*)(const void *, const void *, void *), void *);
+ 
+ hidden void *__libc_malloc(size_t);
+ hidden void *__libc_malloc_impl(size_t);
+diff --git a/src/stdlib/qsort.c b/src/stdlib/qsort.c
+index da58fd317..314ddc29d 100644
+--- a/src/stdlib/qsort.c
++++ b/src/stdlib/qsort.c
+@@ -24,6 +24,7 @@
+ /* Smoothsort, an adaptive variant of Heapsort.  Memory usage: O(1).
+    Run time: Worst case O(n log n), close to O(n) in the mostly-sorted case. */
+ 
++#define _BSD_SOURCE
+ #include <stdint.h>
+ #include <stdlib.h>
+ #include <string.h>
+@@ -31,7 +32,7 @@
+ #include "atomic.h"
+ #define ntz(x) a_ctz_l((x))
+ 
+-typedef int (*cmpfun)(const void *, const void *);
++typedef int (*cmpfun)(const void *, const void *, void *);
+ 
+ static inline int pntz(size_t p[2]) {
+ 	int r = ntz(p[0] - 1);
+@@ -88,7 +89,7 @@ static inline void shr(size_t p[2], int n)
+ 	p[1] >>= n;
+ }
+ 
+-static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size_t lp[])
++static void sift(unsigned char *head, size_t width, cmpfun cmp, void *arg, int pshift, size_t lp[])
+ {
+ 	unsigned char *rt, *lf;
+ 	unsigned char *ar[14 * sizeof(size_t) + 1];
+@@ -99,10 +100,10 @@ static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size
+ 		rt = head - width;
+ 		lf = head - width - lp[pshift - 2];
+ 
+-		if((*cmp)(ar[0], lf) >= 0 && (*cmp)(ar[0], rt) >= 0) {
++		if(cmp(ar[0], lf, arg) >= 0 && cmp(ar[0], rt, arg) >= 0) {
+ 			break;
+ 		}
+-		if((*cmp)(lf, rt) >= 0) {
++		if(cmp(lf, rt, arg) >= 0) {
+ 			ar[i++] = lf;
+ 			head = lf;
+ 			pshift -= 1;
+@@ -115,7 +116,7 @@ static void sift(unsigned char *head, size_t width, cmpfun cmp, int pshift, size
+ 	cycle(width, ar, i);
+ }
+ 
+-static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2], int pshift, int trusty, size_t lp[])
++static void trinkle(unsigned char *head, size_t width, cmpfun cmp, void *arg, size_t pp[2], int pshift, int trusty, size_t lp[])
+ {
+ 	unsigned char *stepson,
+ 	              *rt, *lf;
+@@ -130,13 +131,13 @@ static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2],
+ 	ar[0] = head;
+ 	while(p[0] != 1 || p[1] != 0) {
+ 		stepson = head - lp[pshift];
+-		if((*cmp)(stepson, ar[0]) <= 0) {
++		if(cmp(stepson, ar[0], arg) <= 0) {
+ 			break;
+ 		}
+ 		if(!trusty && pshift > 1) {
+ 			rt = head - width;
+ 			lf = head - width - lp[pshift - 2];
+-			if((*cmp)(rt, stepson) >= 0 || (*cmp)(lf, stepson) >= 0) {
++			if(cmp(rt, stepson, arg) >= 0 || cmp(lf, stepson, arg) >= 0) {
+ 				break;
+ 			}
+ 		}
+@@ -150,11 +151,11 @@ static void trinkle(unsigned char *head, size_t width, cmpfun cmp, size_t pp[2],
+ 	}
+ 	if(!trusty) {
+ 		cycle(width, ar, i);
+-		sift(head, width, cmp, pshift, lp);
++		sift(head, width, cmp, arg, pshift, lp);
+ 	}
+ }
+ 
+-void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
++void __qsort_r(void *base, size_t nel, size_t width, cmpfun cmp, void *arg)
+ {
+ 	size_t lp[12*sizeof(size_t)];
+ 	size_t i, size = width * nel;
+@@ -173,16 +174,16 @@ void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
+ 
+ 	while(head < high) {
+ 		if((p[0] & 3) == 3) {
+-			sift(head, width, cmp, pshift, lp);
++			sift(head, width, cmp, arg, pshift, lp);
+ 			shr(p, 2);
+ 			pshift += 2;
+ 		} else {
+ 			if(lp[pshift - 1] >= high - head) {
+-				trinkle(head, width, cmp, p, pshift, 0, lp);
++				trinkle(head, width, cmp, arg, p, pshift, 0, lp);
+ 			} else {
+-				sift(head, width, cmp, pshift, lp);
++				sift(head, width, cmp, arg, pshift, lp);
+ 			}
+-			
++
+ 			if(pshift == 1) {
+ 				shl(p, 1);
+ 				pshift = 0;
+@@ -191,12 +192,12 @@ void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
+ 				pshift = 1;
+ 			}
+ 		}
+-		
++
+ 		p[0] |= 1;
+ 		head += width;
+ 	}
+ 
+-	trinkle(head, width, cmp, p, pshift, 0, lp);
++	trinkle(head, width, cmp, arg, p, pshift, 0, lp);
+ 
+ 	while(pshift != 1 || p[0] != 1 || p[1] != 0) {
+ 		if(pshift <= 1) {
+@@ -208,11 +209,13 @@ void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
+ 			pshift -= 2;
+ 			p[0] ^= 7;
+ 			shr(p, 1);
+-			trinkle(head - lp[pshift] - width, width, cmp, p, pshift + 1, 1, lp);
++			trinkle(head - lp[pshift] - width, width, cmp, arg, p, pshift + 1, 1, lp);
+ 			shl(p, 1);
+ 			p[0] |= 1;
+-			trinkle(head - width, width, cmp, p, pshift, 1, lp);
++			trinkle(head - width, width, cmp, arg, p, pshift, 1, lp);
+ 		}
+ 		head -= width;
+ 	}
+ }
++
++weak_alias(__qsort_r, qsort_r);
+diff --git a/src/stdlib/qsort_nr.c b/src/stdlib/qsort_nr.c
+new file mode 100644
+index 000000000..efe7ccecd
+--- /dev/null
++++ b/src/stdlib/qsort_nr.c
+@@ -0,0 +1,14 @@
++#define _BSD_SOURCE
++#include <stdlib.h>
++
++typedef int (*cmpfun)(const void *, const void *);
++
++static int wrapper_cmp(const void *v1, const void *v2, void *cmp)
++{
++	return ((cmpfun)cmp)(v1, v2);
++}
++
++void qsort(void *base, size_t nel, size_t width, cmpfun cmp)
++{
++	__qsort_r(base, nel, width, wrapper_cmp, cmp);
++}
diff --git a/srcpkgs/musl/template b/srcpkgs/musl/template
index d661507241d4..c77cc2b6c405 100644
--- a/srcpkgs/musl/template
+++ b/srcpkgs/musl/template
@@ -2,7 +2,7 @@
 pkgname=musl
 reverts="1.2.0_1"
 version=1.1.24
-revision=14
+revision=15
 archs="*-musl"
 bootstrap=yes
 build_style=gnu-configure
@@ -10,8 +10,8 @@ configure_args="--prefix=/usr --disable-gcc-wrapper"
 short_desc="Musl C library"
 maintainer="Enno Boland <gottox@voidlinux.org>"
 license="MIT"
-homepage="http://www.musl-libc.org/"
-distfiles="http://www.musl-libc.org/releases/musl-${version}.tar.gz"
+homepage="https://musl.libc.org/"
+distfiles="https://musl.libc.org/releases/musl-${version}.tar.gz"
 checksum=1370c9a812b2cf2a7d92802510cca0058cc37e66a7bedd70051f0a34015022a3
 
 nostrip_files="libc.so"

From 1309ce6f7f92ccf7a8e5f95a226382e0ffdbeb3b Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:43 +0000
Subject: [PATCH 04/36] cross-aarch64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-aarch64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template
index a05207a8894e..8038b28d70ad 100644
--- a/srcpkgs/cross-aarch64-linux-musl/template
+++ b/srcpkgs/cross-aarch64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-aarch64-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv8-a"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From cdb0e53756999deb7464678ec0d9b47a6c3dedaf Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:43 +0000
Subject: [PATCH 05/36] cross-aarch64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-aarch64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-aarch64-linux-musl/template b/srcpkgs/cross-aarch64-linux-musl/template
index 8038b28d70ad..80d2fedb7e9c 100644
--- a/srcpkgs/cross-aarch64-linux-musl/template
+++ b/srcpkgs/cross-aarch64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-aarch64-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv8-a"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 933cc7f7c5a65c48f55e02c0f207d41fd9122ee3 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:43 +0000
Subject: [PATCH 06/36] cross-arm-linux-musleabi: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabi/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index ce25d306db4b..ee59931d6d93 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabi
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv5te --with-float=soft"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 2623ec92aa51b049a51a8e19e6a70fa47ae7abb9 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 07/36] cross-arm-linux-musleabi: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabi/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabi/template b/srcpkgs/cross-arm-linux-musleabi/template
index ee59931d6d93..e98a384ffadf 100644
--- a/srcpkgs/cross-arm-linux-musleabi/template
+++ b/srcpkgs/cross-arm-linux-musleabi/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabi
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv5te --with-float=soft"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From c5f3abd5b8db451766a4058bfda2287f449f1d98 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 08/36] cross-arm-linux-musleabihf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index 38baeb2e4df7..333db95425dd 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabihf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 8326d371e384441d7e964087758aa89a5108011f Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 09/36] cross-arm-linux-musleabihf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-arm-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-arm-linux-musleabihf/template b/srcpkgs/cross-arm-linux-musleabihf/template
index 333db95425dd..09a511315acd 100644
--- a/srcpkgs/cross-arm-linux-musleabihf/template
+++ b/srcpkgs/cross-arm-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-arm-linux-musleabihf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv6 --with-fpu=vfp --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 6bbdf66b792be03be5d1b3a235a0508da433af8a Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:44 +0000
Subject: [PATCH 10/36] cross-armv7l-linux-musleabihf: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-armv7l-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/template b/srcpkgs/cross-armv7l-linux-musleabihf/template
index 5d7bd4647c49..3c4ea2357661 100644
--- a/srcpkgs/cross-armv7l-linux-musleabihf/template
+++ b/srcpkgs/cross-armv7l-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-armv7l-linux-musleabihf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 91abce60855f1862f94526c4bb7b6fb1a7b55668 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:45 +0000
Subject: [PATCH 11/36] cross-armv7l-linux-musleabihf: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-armv7l-linux-musleabihf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-armv7l-linux-musleabihf/template b/srcpkgs/cross-armv7l-linux-musleabihf/template
index 3c4ea2357661..c38d5836a0c3 100644
--- a/srcpkgs/cross-armv7l-linux-musleabihf/template
+++ b/srcpkgs/cross-armv7l-linux-musleabihf/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-armv7l-linux-musleabihf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=armv7-a --with-fpu=vfpv3 --with-float=hard"
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"

From 43a7d770526c429bbf542c1cf520660576d38d8b Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:45 +0000
Subject: [PATCH 12/36] cross-i686-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-i686-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-i686-linux-musl/template b/srcpkgs/cross-i686-linux-musl/template
index 2c95f93a8fe1..6dc3fdcba07a 100644
--- a/srcpkgs/cross-i686-linux-musl/template
+++ b/srcpkgs/cross-i686-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-i686-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From 83e3a1bad5aeb90bc90a2f6a84de9a338f050947 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:45 +0000
Subject: [PATCH 13/36] cross-i686-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-i686-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-i686-linux-musl/template b/srcpkgs/cross-i686-linux-musl/template
index 6dc3fdcba07a..ec8501daad33 100644
--- a/srcpkgs/cross-i686-linux-musl/template
+++ b/srcpkgs/cross-i686-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-i686-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From 6bf48d5fe0c512245ad22d90c42076433c973d68 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:46 +0000
Subject: [PATCH 14/36] cross-mips-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template
index aefd2316ad03..f783961d70d2 100644
--- a/srcpkgs/cross-mips-linux-musl/template
+++ b/srcpkgs/cross-mips-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From 3e6bf19af3d3a76e69d346216908d57a22dcd3c0 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:46 +0000
Subject: [PATCH 15/36] cross-mips-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-musl/template b/srcpkgs/cross-mips-linux-musl/template
index f783961d70d2..b50afed940f0 100644
--- a/srcpkgs/cross-mips-linux-musl/template
+++ b/srcpkgs/cross-mips-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From ba5dfde13d9067c429920a575284c1f558028e88 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:46 +0000
Subject: [PATCH 16/36] cross-mips-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-muslhf/template b/srcpkgs/cross-mips-linux-muslhf/template
index 8308fcb4f0d0..fe41bc80d808 100644
--- a/srcpkgs/cross-mips-linux-muslhf/template
+++ b/srcpkgs/cross-mips-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-muslhf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From f12f19e3845ab9c899e66634d9240ab7b465ddaf Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:47 +0000
Subject: [PATCH 17/36] cross-mips-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mips-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mips-linux-muslhf/template b/srcpkgs/cross-mips-linux-muslhf/template
index fe41bc80d808..06bf9a58fcfe 100644
--- a/srcpkgs/cross-mips-linux-muslhf/template
+++ b/srcpkgs/cross-mips-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mips-linux-muslhf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From ede24ecfdf8aa3d700dc0c6301101f89b4442710 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:47 +0000
Subject: [PATCH 18/36] cross-mipsel-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template
index 3c1825f0d96f..23247d5bc972 100644
--- a/srcpkgs/cross-mipsel-linux-musl/template
+++ b/srcpkgs/cross-mipsel-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From fc77dd6a3e96b1610121015073d96c32397892fe Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:47 +0000
Subject: [PATCH 19/36] cross-mipsel-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-musl/template b/srcpkgs/cross-mipsel-linux-musl/template
index 23247d5bc972..94c0d30484ac 100644
--- a/srcpkgs/cross-mipsel-linux-musl/template
+++ b/srcpkgs/cross-mipsel-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=soft
  --with-linker-hash-style=sysv"

From 1dae5d0742d528f0a58dee9fbb7bc158f1cc5a76 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:48 +0000
Subject: [PATCH 20/36] cross-mipsel-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template
index ab199135a246..8cc208c7e86d 100644
--- a/srcpkgs/cross-mipsel-linux-muslhf/template
+++ b/srcpkgs/cross-mipsel-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-muslhf
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From df8d41d8a42dcc4e990e900f0671c3b9bfab8bc2 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:48 +0000
Subject: [PATCH 21/36] cross-mipsel-linux-muslhf: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-mipsel-linux-muslhf/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-mipsel-linux-muslhf/template b/srcpkgs/cross-mipsel-linux-muslhf/template
index 8cc208c7e86d..b02f4efe9918 100644
--- a/srcpkgs/cross-mipsel-linux-muslhf/template
+++ b/srcpkgs/cross-mipsel-linux-muslhf/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-mipsel-linux-muslhf
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--with-arch=mips32r2 --with-float=hard
  --with-linker-hash-style=sysv"

From 2c46a3718060b0175527bd69902f83c64ded7b1b Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:48 +0000
Subject: [PATCH 22/36] cross-powerpc-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc-linux-musl/template b/srcpkgs/cross-powerpc-linux-musl/template
index 692145be3994..e06970d76b9e 100644
--- a/srcpkgs/cross-powerpc-linux-musl/template
+++ b/srcpkgs/cross-powerpc-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From 4d4af3a14bff77ce57a0fec18a6a41820cde87d1 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:49 +0000
Subject: [PATCH 23/36] cross-powerpc-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc-linux-musl/template b/srcpkgs/cross-powerpc-linux-musl/template
index e06970d76b9e..51ec36d196e5 100644
--- a/srcpkgs/cross-powerpc-linux-musl/template
+++ b/srcpkgs/cross-powerpc-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpc-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From e3615f944cffc4ace26920d8374fd88c1a126eb7 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:49 +0000
Subject: [PATCH 24/36] cross-powerpc64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template
index 4d38c80ff744..b081a136ef29 100644
--- a/srcpkgs/cross-powerpc64-linux-musl/template
+++ b/srcpkgs/cross-powerpc64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux"

From c497b21ef3607ea158e06135bcce6764b137e35d Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:49 +0000
Subject: [PATCH 25/36] cross-powerpc64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64-linux-musl/template b/srcpkgs/cross-powerpc64-linux-musl/template
index b081a136ef29..9e942d344dd8 100644
--- a/srcpkgs/cross-powerpc64-linux-musl/template
+++ b/srcpkgs/cross-powerpc64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpc-linux"

From 2f979adfdcfed08b81feac8e706a13481459e3fe Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 26/36] cross-powerpc64le-linux-musl: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64le-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template
index 59f8586731a7..a863233b5b32 100644
--- a/srcpkgs/cross-powerpc64le-linux-musl/template
+++ b/srcpkgs/cross-powerpc64le-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64le-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux"

From 8a9586d370c28881021435004c5a86d8a9229708 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 27/36] cross-powerpc64le-linux-musl: revbump for
 musl-1.1.24_15.

---
 srcpkgs/cross-powerpc64le-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpc64le-linux-musl/template b/srcpkgs/cross-powerpc64le-linux-musl/template
index a863233b5b32..9888df6390b7 100644
--- a/srcpkgs/cross-powerpc64le-linux-musl/template
+++ b/srcpkgs/cross-powerpc64le-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-powerpc64le-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float --with-abi=elfv2 --enable-targets=powerpcle-linux"

From 48ee0fdc90f1c99e2f996401c2e697ce695ad685 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 28/36] cross-powerpcle-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpcle-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpcle-linux-musl/template b/srcpkgs/cross-powerpcle-linux-musl/template
index 0fdd3285b3f8..2f483e1f1ee5 100644
--- a/srcpkgs/cross-powerpcle-linux-musl/template
+++ b/srcpkgs/cross-powerpcle-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From 3e0cceeb83bf6596bd8494d54c9561748d87f4ae Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:50 +0000
Subject: [PATCH 29/36] cross-powerpcle-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-powerpcle-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-powerpcle-linux-musl/template b/srcpkgs/cross-powerpcle-linux-musl/template
index 2f483e1f1ee5..5b441c0843a3 100644
--- a/srcpkgs/cross-powerpcle-linux-musl/template
+++ b/srcpkgs/cross-powerpcle-linux-musl/template
@@ -5,7 +5,7 @@ _musl_version=1.1.24
 _linux_version=5.10.4
 pkgname=cross-powerpcle-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 configure_args="--enable-secureplt --disable-vtable-verify
  --disable-decimal-float"

From c6a342faffe41273114333d53426be3630615e50 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:51 +0000
Subject: [PATCH 30/36] cross-x86_64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-x86_64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-x86_64-linux-musl/template b/srcpkgs/cross-x86_64-linux-musl/template
index 2812f3330130..4984cd77f149 100644
--- a/srcpkgs/cross-x86_64-linux-musl/template
+++ b/srcpkgs/cross-x86_64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-x86_64-linux-musl
 version=0.35
-revision=2
+revision=3
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From 42bee797a9d2939f3e5ce0aab300d403e02553ed Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:04:51 +0000
Subject: [PATCH 31/36] cross-x86_64-linux-musl: revbump for musl-1.1.24_15.

---
 srcpkgs/cross-x86_64-linux-musl/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/cross-x86_64-linux-musl/template b/srcpkgs/cross-x86_64-linux-musl/template
index 4984cd77f149..6c98a67b55b3 100644
--- a/srcpkgs/cross-x86_64-linux-musl/template
+++ b/srcpkgs/cross-x86_64-linux-musl/template
@@ -6,7 +6,7 @@ _linux_version=5.10.4
 _libucontext_version=1.0
 pkgname=cross-x86_64-linux-musl
 version=0.35
-revision=3
+revision=4
 build_style=void-cross
 hostmakedepends="texinfo tar gcc-objc gcc-go flex perl python3"
 makedepends="isl15-devel libmpc-devel gmp-devel mpfr-devel

From e5abe8508b6f4ed2e106eee2c3df511d9dd5be8c Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Wed, 22 Feb 2023 18:29:49 +0000
Subject: [PATCH 32/36] 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 5db7355a64bc..a3898d252b04 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2311,7 +2311,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..aaf3d03e9e41 100644
--- a/srcpkgs/procps-ng/template
+++ b/srcpkgs/procps-ng/template
@@ -1,11 +1,14 @@
 # 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
+configure_args="LIBTOOL=${XBPS_CROSS_BASE}/usr/bin/libtool
+ --exec-prefix=/ --bindir=/usr/bin --sbindir=/usr/bin
  --libdir=/usr/lib --disable-kill --enable-watch8bit
  --disable-modern-top --without-systemd"
+make_install_args="LIBTOOL=${XBPS_CROSS_BASE}/usr/bin/libtool"
+make_install_args="LIBTOOL=${XBPS_CROSS_BASE}/usr/bin/libtool"
 hostmakedepends="automake gettext-devel libtool pkg-config"
 makedepends="ncurses-devel"
 checkdepends="dejagnu"
@@ -14,27 +17,23 @@ 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
 
 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 969967cf1f105d58a6ada0d38ad32d40980b0a75 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 33/36] 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 bb5b3294f178cc3838e2f3f126ae9eabccb58757 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 17:26:37 +0000
Subject: [PATCH 34/36] 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 cd5119fc0d58d8170a93516fa668f93ed0ca3c79 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 17:59:06 +0000
Subject: [PATCH 35/36] 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 0b17f8f860bb8c43214acdef09d0dcbf42a58e75 Mon Sep 17 00:00:00 2001
From: mhmdanas <triallax@tutanota.com>
Date: Thu, 23 Feb 2023 18:00:59 +0000
Subject: [PATCH 36/36] 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>"

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PR PATCH] [Updated] Update procps-ng and dependents
  2023-02-23 21:31 [PR PATCH] Update procps-ng and dependents mhmdanas
                   ` (3 preceding siblings ...)
  2023-02-24 12:13 ` mhmdanas
@ 2023-03-09 20:29 ` mhmdanas
  2023-03-13 10:48 ` mhmdanas
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: mhmdanas @ 2023-03-09 20:29 UTC (permalink / raw)
  To: ml

[-- 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>"

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PR PATCH] [Updated] Update procps-ng and dependents
  2023-02-23 21:31 [PR PATCH] Update procps-ng and dependents mhmdanas
                   ` (4 preceding siblings ...)
  2023-03-09 20:29 ` mhmdanas
@ 2023-03-13 10:48 ` mhmdanas
  2023-04-28 18:09 ` mhmdanas
  2023-05-01 17:55 ` [PR PATCH] [Merged]: " leahneukirchen
  7 siblings, 0 replies; 9+ messages in thread
From: mhmdanas @ 2023-03-13 10:48 UTC (permalink / raw)
  To: ml

[-- 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>"

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PR PATCH] [Updated] Update procps-ng and dependents
  2023-02-23 21:31 [PR PATCH] Update procps-ng and dependents mhmdanas
                   ` (5 preceding siblings ...)
  2023-03-13 10:48 ` mhmdanas
@ 2023-04-28 18:09 ` mhmdanas
  2023-05-01 17:55 ` [PR PATCH] [Merged]: " leahneukirchen
  7 siblings, 0 replies; 9+ messages in thread
From: mhmdanas @ 2023-04-28 18:09 UTC (permalink / raw)
  To: ml

[-- 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: 42259 bytes --]

From 56cbe0d9ea29590f402492e6f59d1fe847de0e21 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 ff086d681fb6..cc4d40d3e7b9 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -672,7 +672,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 25eaee0141df7237efe6e9cc7c48ba12fc7e7c90 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 314e234f9d79283a929f81f9d630f5bbcde40d55 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 cc4d40d3e7b9..c19e0647fb73 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -2330,7 +2330,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 a4de2fa6987d4f37c94718ae1a8932e8a18c75ab 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 cf7a945a6dd74846cced1ad9f4ee070cde238ba5 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/template | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/srcpkgs/lxqt-session/template b/srcpkgs/lxqt-session/template
index 979c6097840e..3b677d93e1c6 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.3.0
-revision=1
+revision=2
 build_style=cmake
 hostmakedepends="pkg-config lxqt-build-tools qt5-qmake qt5-host-tools xdg-user-dirs
  perl"

From 41b98125f029227941bd256c88e57a0e91663a5f 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 0dfd7106cf2b71b4594cbd789ebb3a1a33519226 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>"

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PR PATCH] [Merged]: Update procps-ng and dependents
  2023-02-23 21:31 [PR PATCH] Update procps-ng and dependents mhmdanas
                   ` (6 preceding siblings ...)
  2023-04-28 18:09 ` mhmdanas
@ 2023-05-01 17:55 ` leahneukirchen
  7 siblings, 0 replies; 9+ messages in thread
From: leahneukirchen @ 2023-05-01 17:55 UTC (permalink / raw)
  To: ml

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

There's a merged pull request on the void-packages repository

Update procps-ng and dependents
https://github.com/void-linux/void-packages/pull/42416

Description:
#### 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
-->


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2023-05-01 17:55 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-02-23 21:31 [PR PATCH] Update procps-ng and dependents 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
2023-04-28 18:09 ` mhmdanas
2023-05-01 17:55 ` [PR PATCH] [Merged]: " leahneukirchen

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).