Index | Thread | Search

From:
Ryan Freeman <ryan@slipgate.org>
Subject:
Re: UPDATE: net/slurm
To:
ports@openbsd.org
Date:
Sat, 2 May 2026 12:50:02 -0700

Download raw body.

Thread
On Tue, Apr 21, 2026 at 09:08:46PM -0700, Ryan Freeman wrote:
> On Mon, Apr 20, 2026 at 05:31:48PM -0700, Ryan Freeman wrote:
> > Hi,
> > 
> > Attached is a patch to pull net/slurm up to version 0.4.4 with additional
> > patches from an open PR: https://github.com/mattthias/slurm/pull/53
> > 
> > 0.4.3 to 0.4.4 does change the build system to meson.
> > Installing the manpage is no-longer a manual step in the port Makefile.
> > OpenBSD ports patches were pulled in upstream, except the manpage patch.
> > This one is pulled upstream but after the 0.4.4 release, so the local
> > patch remains: https://github.com/mattthias/slurm/commit/ef79c98269eb16bc49efcb520588a379c99f4f57
> > 
> > The PR adds several fixes, important enough to bring them in (almost)
> > entirely.  Changes for code paths limited to other platforms are ignored.
> > 
> > The PR has been open for 2 years, but I did post indicating the fixes worked
> > good for me, hopefully @mattthias merges the request.
> > 
> > applied from Iksas' pull request:
> > - fix out-of-bounds accesses of _x_speedarray 4873377
> > - remove unused constants 7a47a63
> > - tidy up height constants cc6d46d
> > - fix an error where ERR_IFACE_DOWN would never be set 0111751
> > - wrap numerical constants in parantheses to prevent silent errors in the future 8b673e9
> > - fix calculation of maximum speed 32e054a
> > - fix a bug where the graph would not automatically re-scale c8c32a9
> > - make sure graphs are centered when a terminal of width 80 is used c2022b3
> > - fix more out-of-bounds memory accesses 362f597
> > - fix graph rescaling in classic mode (-c) 323d2bf
> > 
> > ignored parts of the pull request:
> > - patch for src/hpux.c
> > - patch for os.h, dealing with constants when building for HP-UX or Solaris
> > 
> > Is this an OK direction for pulling in these outside patches?  Is using 'pl'
> > the appropriate marker under PKGNAME?
> > 
> > Tests good on amd64, ran for a few days and noted making terminal window larger
> > doesn't immediately muck up the output anymore.  There used to be some visible
> > character garbage when first starting the program as well, that is now gone.
> 
> Apologies for not responding to the reply; I wasn't subscribed to ports@
> and only saw it on marc.info.  I fixed that.
> 
> Applied @landry's suggestion to just use the fork repo for now w/ a comment.
> Added benefit is the fork includes the man page patch, so all patches are gone.

ping, resending diff for convenience


Index: Makefile
===================================================================
RCS file: /cvs/ports/net/slurm/Makefile,v
diff -u -p -r1.17 Makefile
--- Makefile	13 Feb 2026 12:02:17 -0000	1.17
+++ Makefile	22 Apr 2026 04:01:51 -0000
@@ -1,14 +1,12 @@
 COMMENT =	network traffic monitor and statistics
 
-GH_VERSION =	0.4.3
-GH_ACCOUNT =	mattthias
-GH_PROJECT =	slurm
-GH_TAGNAME =	upstream/${GH_VERSION}
-DISTNAME =	${GH_PROJECT}-${GH_VERSION}
+V =		0.4.4
+# alt repo pulls in several fixes https://github.com/mattthias/slurm/pull/53
+DIST_TUPLE =	github Iksas slurm 323d2bfced4b762f207633b50c0832ae1b19c40c .
+PKGNAME =	slurm-${V}pl0
 CATEGORIES =	net
-REVISION =	0
 
-HOMEPAGE =	http://github.com/mattthias/slurm/wiki/
+HOMEPAGE =	https://github.com/mattthias/slurm/wiki/
 
 MAINTAINER =	Ryan Freeman <ryan@slipgate.org>
 
@@ -17,18 +15,15 @@ PERMIT_PACKAGE =	Yes
 
 WANTLIB =	c curses
 
-MODULES =	devel/cmake
-
-MODCMAKE_POLICY_VERSION_OVERRIDE = Yes
+MODULES =	devel/meson
 
 pre-configure:
-	@${SUBST_CMD} ${WRKSRC}/theme.c ${WRKSRC}/slurm.1
+	@${SUBST_CMD} ${WRKSRC}/slurm.1
 
 post-install:
 	${INSTALL_DATA_DIR} ${PREFIX}/share/doc/slurm/
 .for i in COPYRIGHT FAQ THANKS COPYING
 	${INSTALL_DATA} ${WRKSRC}/$i ${PREFIX}/share/doc/slurm/
 .endfor
-	${INSTALL_MAN} ${WRKSRC}/slurm.1 ${PREFIX}/man/man1/
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/net/slurm/distinfo,v
diff -u -p -r1.4 distinfo
--- distinfo	23 Sep 2015 09:44:55 -0000	1.4
+++ distinfo	22 Apr 2026 04:01:51 -0000
@@ -1,2 +1,2 @@
-SHA256 (slurm-0.4.3.tar.gz) = uWDA0hWSe+HQLBduGxiTIYVgMCJskfhAKEiGtyfTo6w=
-SIZE (slurm-0.4.3.tar.gz) = 36085
+SHA256 (Iksas-slurm-323d2bfced4b762f207633b50c0832ae1b19c40c.tar.gz) = TtrWagW1fLkI6DvmsQqFnx677CnC7CArl/9TuOs57W8=
+SIZE (Iksas-slurm-323d2bfced4b762f207633b50c0832ae1b19c40c.tar.gz) = 76428
Index: patches/patch-slurm_1
===================================================================
RCS file: patches/patch-slurm_1
diff -N patches/patch-slurm_1
--- patches/patch-slurm_1	11 Mar 2022 19:47:31 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,23 +0,0 @@
-avoid makewhatis error; N.B. hand-edited to avoid CVS keyword.
-
---- slurm.1.orig	Fri Feb  6 02:33:54 2004
-+++ slurm.1	Wed Sep 17 10:24:47 2008
-@@ -1,3 +1,2 @@
--.TH slurm 1
- .Dd February 23, 2003
- .Dt slurm 1
-@@ -11,5 +10,6 @@
- .Op Fl csl
- .Op Fl d Ar delay
--.B  -i interface
-+.Op Fl i Ar interface
-+.Op Fl t Ar theme
- .Sh DESCRIPTION
- slurm is a generic network load monitor which shows device statistics
-@@ -34,4 +34,6 @@
- .It Fl i Ar interface
- select interface to monitor (required)
-+.It Fl t Ar theme
-+select theme, searches ~/.slurm and ${PREFIX}/share/slurm
- .El
- .Sh KEYS
Index: patches/patch-src_if_media_c
===================================================================
RCS file: patches/patch-src_if_media_c
diff -N patches/patch-src_if_media_c
--- patches/patch-src_if_media_c	11 Mar 2022 19:47:31 -0000	1.4
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,47 +0,0 @@
---- src/if_media.c.orig	Mon Sep 27 07:08:59 2004
-+++ src/if_media.c	Fri Sep 11 09:22:41 2015
-@@ -51,7 +51,7 @@ int get_if_speed (char *ifstring)
-     int speed=ERR_IFACE_NO_SPEED;
-     int s; /* socket */
-     struct ifmediareq ifmr;
--    int *media_list;
-+    uint64_t *media_list;
-     int type, physical;
- 
-     if ((s = socket(AF_INET, SOCK_DGRAM, 0)) == -1)
-@@ -75,7 +75,7 @@ int get_if_speed (char *ifstring)
-         return ERR_IFACE_NO_SPEED;
-     }
- 
--    media_list = (int *)malloc(ifmr.ifm_count * sizeof(int));
-+    media_list = (uint64_t *)malloc(ifmr.ifm_count * sizeof(uint64_t));
-     if (media_list == NULL)
-         fprintf(stderr, "malloc() error in if_media.c\n");
-     ifmr.ifm_ulist = media_list;
-@@ -95,8 +95,16 @@ int get_if_speed (char *ifstring)
-      *
-      */
- 
-+#ifdef IFM_TYPE
-+    type = IFM_TYPE(ifmr.ifm_active);
-+#else
-     type = ifmr.ifm_active & 0xf0;
-+#endif
-+#ifdef IFM_TYPE
-+    physical = IFM_SUBTYPE(ifmr.ifm_active);
-+#else
-     physical = ifmr.ifm_active & 0x0f;
-+#endif
- 
- #ifdef MEDIADEBUG
-     printf("      all: %6d\n", ifmr.ifm_current);
-@@ -202,7 +210,8 @@ int get_if_speed (char *ifstring)
- #endif
- #if WIRELESS && \
- 	(defined(__FreeBSD__) && (__FreeBSD_version >= 500111)) || \
--	(defined(__NetBSD__) && (__NetBSD_Version_ > 106020000))
-+	(defined(__NetBSD__) && (__NetBSD_Version_ > 106020000)) || \
-+	defined(__OpenBSD__)
-                 case IFM_IEEE80211_OFDM6:
-                     speed = 6 * 1000;
-                     break;
Index: patches/patch-src_openbsd_c
===================================================================
RCS file: patches/patch-src_openbsd_c
diff -N patches/patch-src_openbsd_c
--- patches/patch-src_openbsd_c	11 Mar 2022 19:47:31 -0000	1.2
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,11 +0,0 @@
---- src/openbsd.c.orig	Sun Feb 23 11:26:02 2003
-+++ src/openbsd.c	Mon Feb 23 05:19:51 2015
-@@ -128,7 +128,7 @@ int get_stat(void)
-             /* search for the right network interface */
-             if (sdl->sdl_family != AF_LINK)
-                 continue;
--            if (strcmp(sdl->sdl_data, ifdata.if_name) != 0)
-+            if (strncmp(sdl->sdl_data, ifdata.if_name, sdl->sdl_nlen) != 0)
-                 continue;
-             strncpy(s, sdl->sdl_data, sdl->sdl_nlen);
-             s[sdl->sdl_nlen] = '\0';
Index: patches/patch-theme_c
===================================================================
RCS file: patches/patch-theme_c
diff -N patches/patch-theme_c
--- patches/patch-theme_c	11 Mar 2022 19:47:31 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,19 +0,0 @@
---- theme.c.orig	Wed Sep 23 09:44:38 2015
-+++ theme.c	Wed Sep 23 09:45:42 2015
-@@ -58,14 +58,14 @@ int theme_readfile(theme *t, char *name)
- 	/* search for the theme:
- 	 *  - in the local directory
- 	 *  - in ~/.slurm
--	 *  - in /usr/local/share/slurm
-+	 *  - in ${PREFIX}/share/slurm
- 	 *    (make this /usr/share/slurm for Debian systems by specifing
- 	 *     -D__Debian__)
- 	 */
- 	search_paths[0] = ".";                               /* local directory */
- 	search_paths[1] = strcat(getenv("HOME"), "/.slurm"); /* $HOME/.slurm/ */
- 	search_paths[2] = "/usr/share/slurm";                /* Debian style */
--	search_paths[3] = "/usr/local/share/slurm";          /* default install path */
-+	search_paths[3] = "${PREFIX}/share/slurm";          /* default install path */
- 	search_paths[4] = "/usr/pkg/share/slurm";            /* NetBSD style */
- 
- 	for (iter=0; iter <= 4; iter++) {