sysutils/slurm-wlm: fix build on -CURRENT

The CPU_OR macro has been made compatible with GLIBC on -CURRENT,
the FreeBSD specific alternative is therefore no longer required.

While here pass --disable-slurmrestd to prevent the auto-configure
script from attempting to build slurmrestd if glib is found by
auto-configure (it does not build on FreeBSD due to Linux specific
headers and shell features provided by Bash but by the /bin/sh in
FreeBSD).

This port has numerous build issues when not building in a clean
jail (i.e. on a system with a previous version installed or with
other software that is detected by auto-configure).

The port revision is not bumped since these changes do not modify
the package that is generated.
This commit is contained in:
Stefan Eßer 2022-01-02 23:02:21 +01:00
parent a22bf33284
commit addda1277a
2 changed files with 13 additions and 1 deletions

View file

@ -77,7 +77,8 @@ RRD_CONFIGURE_WITH= rrdtool
# --docdir is non-functional
# CONFIGURE_ARGS= --docdir=${DOCSDIR}
# FreeBSD Infiniband support is still experimental
CONFIGURE_ARGS= --without-ofed
# slurmrestd does not build on FreeBSD
CONFIGURE_ARGS= --without-ofed --disable-slurmrestd
DOCSDIR= ${PREFIX}/share/doc/${PORTNAME}-${DISTVERSION}
CFLAGS+= -I${WRKSRC}/slurm -I${LOCALBASE}/include -fcommon

View file

@ -0,0 +1,11 @@
--- src/plugins/task/affinity/affinity.c.orig 2021-05-12 20:23:20 UTC
+++ src/plugins/task/affinity/affinity.c
@@ -297,7 +297,7 @@ void reset_cpuset(cpu_set_t *new_mask, cpu_set_t *cur_
if (slurm_getaffinity(1, sizeof(full_mask), &full_mask)) {
/* Try to get full CPU mask from process init */
CPU_ZERO(&full_mask);
-#ifdef __FreeBSD__
+#if defined(__FreeBSD__) && !defined(CPU_ALLOC)
CPU_OR(&full_mask, cur_mask);
#else
CPU_OR(&full_mask, &full_mask, cur_mask);