diff --git a/testing/slurm/APKBUILD b/testing/slurm/APKBUILD
index 5e9c351ea9a002c1c82b58c41cbe556846a67af0..71fd7aebbd7240e254d3a36daa27021077eea324 100644
--- a/testing/slurm/APKBUILD
+++ b/testing/slurm/APKBUILD
@@ -1,39 +1,27 @@
 # Contributor: prspkt <prspkt@protonmail.com>
 # Maintainer: prspkt <prspkt@protonmail.com>
 pkgname=slurm
-pkgver=0.4.3
+pkgver=0.4.4
 pkgrel=0
 pkgdesc="Yet another network load monitor"
 url="https://github.com/mattthias/slurm"
 arch="all"
 options="!check" # no upstream/available test-suite
 license="GPL-2.0-or-later"
-makedepends="cmake linux-headers ncurses-dev"
+makedepends="meson linux-headers ncurses-dev"
 subpackages="$pkgname-doc"
-source="$pkgname-$pkgver.tar.gz::https://github.com/mattthias/slurm/archive/upstream/$pkgver.tar.gz
-	fix-includes.patch
-	fix-bufsize.patch"
-
+source="$pkgname-$pkgver.tar.gz::https://github.com/mattthias/slurm/archive/upstream/$pkgver.tar.gz"
 builddir="$srcdir/$pkgname-upstream-$pkgver"
 
 build() {
-	if [ "$CBUILD" != "$CHOST" ]; then
-		CMAKE_CROSSOPTS="-DCMAKE_SYSTEM_NAME=Linux -DCMAKE_HOST_SYSTEM_NAME=Linux"
-	fi
-
-	cmake -B build \
-		-DCMAKE_BUILD_TYPE=None \
-		-DCMAKE_INSTALL_PREFIX=/usr \
-		-DCMAKE_C_FLAGS="$CFLAGS" \
-		$CMAKE_CROSSOPTS
-		make -C build
+	abuild-meson . output
+	meson compile ${JOBS:+-j ${JOBS}} -C output
 }
 
 package() {
-	make -C build DESTDIR="$pkgdir" install
-	install -Dm644 slurm.1 "$pkgdir"/usr/share/man/man1/slurm.1
+	DESTDIR="$pkgdir" meson install --no-rebuild -C output
 }
 
-sha512sums="de67d661fbad564f4a3a8f94f1209d466e11a8094b79c25e0beb1b2d07ad680fe2c6f832dc0f8c3a85f7f2d0d02363b4842cbca58ba9d30ca8d7b3133ecc64c9  slurm-0.4.3.tar.gz
-f6cf0d23c9b311b7b9b2384f00a751d091304f518caf8d4882bbf15c95ea5724e8e1c90b55f175d8781cd1edc917bf65ec09f8cf1c7665c2cb1412b0a5f8cba3  fix-includes.patch
-6211306f2e6787cc8c4f4e02e4af840003db6b90f32b6a7191e019300a00e460c8a16b13e2ad24c0f51bd5af7de9f7d85ede44b6f4de3d1c8544f9deacb29890  fix-bufsize.patch"
+sha512sums="
+5a54d004e18a27ead40140f0b5d1bf4db773d2d12a1d8358993944e0a51db8598353e330e114851b90125f09fd8d5ebfb50d2be362e85ad50e7c39ce6aa6bcc1  slurm-0.4.4.tar.gz
+"
diff --git a/testing/slurm/fix-bufsize.patch b/testing/slurm/fix-bufsize.patch
deleted file mode 100644
index f9adc1d9bf7146d798710b78762709bddae0a9c3..0000000000000000000000000000000000000000
--- a/testing/slurm/fix-bufsize.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/src/linux.c
-+++ b/src/linux.c
-@@ -68,11 +68,11 @@
- 
-     /* do not parse the first two lines as they only contain static garbage */
-     fseek(proc_net_dev, 0, SEEK_SET);
--    fgets(buffer, BUFSIZ-1, proc_net_dev);
--    fgets(buffer, BUFSIZ-1, proc_net_dev);
-+    fgets(buffer, BUFSIZE-1, proc_net_dev);
-+    fgets(buffer, BUFSIZE-1, proc_net_dev);
- 
-     interfacefound = 0;
--    while (fgets(buffer, BUFSIZ-1, proc_net_dev) != NULL)
-+    while (fgets(buffer, BUFSIZE-1, proc_net_dev) != NULL)
-     {
-         /* find the device name and substitute ':' with '\0' */
-         ptr = buffer;
diff --git a/testing/slurm/fix-includes.patch b/testing/slurm/fix-includes.patch
deleted file mode 100644
index 9e933ffc509ced2269d15d7c88e4042f43732c6f..0000000000000000000000000000000000000000
--- a/testing/slurm/fix-includes.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- a/os.h
-+++ b/os.h
-@@ -177,7 +177,7 @@
- #elif defined (__linux__)             /* L I N U X */
- #include <stdio.h>
- #include <sys/param.h>
--#include <sys/sysctl.h>
-+#include <linux/sysctl.h>
- #include <stdlib.h>
- #include <stdarg.h>
- #include <unistd.h>
-@@ -195,8 +195,8 @@
- #include <netinet/in.h>
- #include <net/if.h>
- #include <arpa/inet.h>
--#include <net/ppp_defs.h>
--#include <net/if_ppp.h>
-+#include <linux/ppp_defs.h>
-+#include <linux/if_ppp.h>
- #elif defined (__Solaris__)           /* S O L A R I S */
- #include <stdio.h>
- #define NO_CURSES_E	1