Sun Mar 10 21:02:21 2024 UTC (78d)
wm/sdorfehs: fix build on SunOS

Bump revision.


(vins)
diff -r1.11 -r1.12 pkgsrc/wm/sdorfehs/Makefile
diff -r1.7 -r1.8 pkgsrc/wm/sdorfehs/distinfo
diff -r0 -r1.3 pkgsrc/wm/sdorfehs/patches/patch-Makefile
diff -r0 -r1.1 pkgsrc/wm/sdorfehs/patches/patch-actions.c
diff -r0 -r1.1 pkgsrc/wm/sdorfehs/patches/patch-communications.c

cvs diff -r1.11 -r1.12 pkgsrc/wm/sdorfehs/Makefile (expand / switch to unified diff)

--- pkgsrc/wm/sdorfehs/Makefile 2023/11/12 13:23:50 1.11
+++ pkgsrc/wm/sdorfehs/Makefile 2024/03/10 21:02:21 1.12
@@ -1,31 +1,34 @@ @@ -1,31 +1,34 @@
1# $NetBSD: Makefile,v 1.11 2023/11/12 13:23:50 wiz Exp $ 1# $NetBSD: Makefile,v 1.12 2024/03/10 21:02:21 vins Exp $
2 2
3DISTNAME= sdorfehs-1.5 3DISTNAME= sdorfehs-1.5
4PKGREVISION= 2 4PKGREVISION= 3
5CATEGORIES= wm 5CATEGORIES= wm
6MASTER_SITES= ${MASTER_SITE_GITHUB:=jcs/} 6MASTER_SITES= ${MASTER_SITE_GITHUB:=jcs/}
7GITHUB_TAG= v${PKGVERSION_NOREV} 7GITHUB_TAG= v${PKGVERSION_NOREV}
8 8
9MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= https://github.com/jcs/sdorfehs/ 10HOMEPAGE= https://github.com/jcs/sdorfehs/
11COMMENT= Tiling window manager descended from ratpoison 11COMMENT= Tiling window manager descended from ratpoison
12LICENSE= gnu-gpl-v2 12LICENSE= gnu-gpl-v2
13 13
14USE_TOOLS+= pkg-config 14LIBS.SunOS+= -lsocket
 15
 16MAKE_ENV+= CC=${CC:Q}
 17MAKE_ENV+= CFLAGS=${CFLAGS:Q}
 18MAKE_ENV+= LDFLAGS=${LDFLAGS:Q}
 19MAKE_ENV+= LIBS=${LIBS:Q}
15 20
16SUBST_CLASSES+= prefix 21SUBST_CLASSES+= prefix
17SUBST_MESSAGE.prefix= Fixing paths. 22SUBST_MESSAGE.prefix= Fixing paths.
18SUBST_STAGE.prefix= pre-configure 23SUBST_STAGE.prefix= pre-configure
19SUBST_FILES.prefix+= Makefile 24SUBST_FILES.prefix+= Makefile
20SUBST_SED.prefix+= -e 's,/usr/local,${PREFIX},g' 25SUBST_VARS.prefix= PKGMANDIR PREFIX
21SUBST_SED.prefix+= -e 's,/usr/X11R6,${X11BASE},g' 
22SUBST_SED.prefix+= -e 's,/etc,${PKG_SYSCONFDIR}/,g' 
23 26
24INSTALLATION_DIRS= bin/ ${PKGMANDIR}/man1/ 27INSTALLATION_DIRS= bin/ ${PKGMANDIR}/man1/
25 28
26.include "../../x11/libX11/buildlink3.mk" 29.include "../../x11/libX11/buildlink3.mk"
27.include "../../x11/libXft/buildlink3.mk" 30.include "../../x11/libXft/buildlink3.mk"
28.include "../../x11/libXrandr/buildlink3.mk" 31.include "../../x11/libXrandr/buildlink3.mk"
29.include "../../x11/libXres/buildlink3.mk" 32.include "../../x11/libXres/buildlink3.mk"
30.include "../../x11/libXtst/buildlink3.mk" 33.include "../../x11/libXtst/buildlink3.mk"
31.include "../../mk/bsd.pkg.mk" 34.include "../../mk/bsd.pkg.mk"

cvs diff -r1.7 -r1.8 pkgsrc/wm/sdorfehs/distinfo (expand / switch to unified diff)

--- pkgsrc/wm/sdorfehs/distinfo 2023/01/28 12:46:30 1.7
+++ pkgsrc/wm/sdorfehs/distinfo 2024/03/10 21:02:21 1.8
@@ -1,6 +1,8 @@ @@ -1,6 +1,8 @@
1$NetBSD: distinfo,v 1.7 2023/01/28 12:46:30 pin Exp $ 1$NetBSD: distinfo,v 1.8 2024/03/10 21:02:21 vins Exp $
2 2
3BLAKE2s (sdorfehs-1.5.tar.gz) = 270d21d0f5eec9401273654b1cc87dbf224f8e8b2b829bbb6552a20ce1f692af 3BLAKE2s (sdorfehs-1.5.tar.gz) = 270d21d0f5eec9401273654b1cc87dbf224f8e8b2b829bbb6552a20ce1f692af
4SHA512 (sdorfehs-1.5.tar.gz) = 2bbb354d186e06b95b1d01e04bc97585121630dd9544ea8b10299dc5f15bc94bbd5cd55cbb72d6f04a3abf930652731b2070810fe908532953af87f02ec06687 4SHA512 (sdorfehs-1.5.tar.gz) = 2bbb354d186e06b95b1d01e04bc97585121630dd9544ea8b10299dc5f15bc94bbd5cd55cbb72d6f04a3abf930652731b2070810fe908532953af87f02ec06687
5Size (sdorfehs-1.5.tar.gz) = 122223 bytes 5Size (sdorfehs-1.5.tar.gz) = 122223 bytes
6SHA1 (patch-Makefile) = d8e18bb85595776540647e3477cec6c7c94c4432 6SHA1 (patch-Makefile) = 1a9fbef21cada05f2a1bbe2f1788b906fa933af5
 7SHA1 (patch-actions.c) = 7abd557982f896e2e4dadbaf94d752336046675a
 8SHA1 (patch-communications.c) = 53e710277415d2d38179a1a1419b024ef0e7dbac

File Added: pkgsrc/wm/sdorfehs/patches/patch-Makefile
$NetBSD: patch-Makefile,v 1.3 2024/03/10 21:02:21 vins Exp $

* Honour pkgsrc compiler/linker flags.
* Do not require pkg-config.
* Provide a pkgsrc-compliant install target.

--- Makefile.orig	2023-01-27 20:35:24.000000000 +0000
+++ Makefile
@@ -4,14 +4,11 @@ VERSION!=	[ -d .git ] && \
 		echo "git-`git rev-list --abbrev-commit --tags --max-count=1`" || \
 		echo "${VERSION}"
 
-CC?=		cc
-PREFIX?=	/usr/local
-PKGLIBS=	x11 xft xrandr xtst xres
-CFLAGS+=	-O2 -Wall \
-		-Wunused -Wmissing-prototypes -Wstrict-prototypes \
-		`pkg-config --cflags ${PKGLIBS}` \
+CC?=		@CC@
+PREFIX?=	@PREFIX@
+CFLAGS+=	-Wall -Wunused -Wmissing-prototypes -Wstrict-prototypes \
 		-DVERSION=\"${VERSION}\"
-LDFLAGS+=	`pkg-config --libs ${PKGLIBS}`
+LIBS+=		-lX11 -lXft -lXrandr -lXtst -lXRes
 
 # uncomment to enable debugging
 #CFLAGS+=	-g -DDEBUG=1
@@ -20,7 +17,7 @@ LDFLAGS+=	`pkg-config --libs ${PKGLIBS}`
 #CFLAGS+=	-DSENDCMD_DEBUG=1
 
 BINDIR=		${DESTDIR}$(PREFIX)/bin
-MANDIR=		${DESTDIR}$(PREFIX)/man/man1
+MANDIR=		${DESTDIR}$(PREFIX)/@PKGMANDIR@/man1
 
 SRC!=		ls *.c
 OBJ=		${SRC:.c=.o}
@@ -31,12 +28,13 @@ MAN=		sdorfehs.1
 all: sdorfehs
 
 sdorfehs: $(OBJ)
-	$(CC) -o $@ $(OBJ) $(LDFLAGS)
+	$(CC) -o $@ $(OBJ) $(LDFLAGS) $(LIBS)
 
 install: all
-	mkdir -p $(BINDIR) $(MANDIR)
-	install -s $(BIN) $(BINDIR)
-	install -m 644 $(MAN) $(MANDIR)
+	$(BSD_INSTALL_PROGRAM_DIR) $(BINDIR)
+	$(BSD_INSTALL_PROGRAM) $(BIN) $(BINDIR)
+	$(BSD_INSTALL_MAN_DIR) $(MANDIR)
+	$(BSD_INSTALL_MAN) $(MAN) $(MANDIR)
 
 regress:
 	scan-build $(MAKE)

File Added: pkgsrc/wm/sdorfehs/patches/patch-actions.c
$NetBSD: patch-actions.c,v 1.1 2024/03/10 21:02:21 vins Exp $

Define `TIOCNOTTY' ioctl on SunOS using TTCOMPAT(4M).

--- actions.c.orig	2024-03-10 19:16:37.092649863 +0000
+++ actions.c
@@ -28,6 +28,10 @@
 #include <limits.h>
 #include <X11/Xproto.h>
 #include <X11/extensions/XTest.h>
+#if defined(__sun)
+# define BSD_COMP
+# include <sys/stropts.h>
+#endif
 #include <sys/ioctl.h>
 
 #include "sdorfehs.h"

File Added: pkgsrc/wm/sdorfehs/patches/patch-communications.c
$NetBSD: patch-communications.c,v 1.1 2024/03/10 21:02:21 vins Exp $

Rename local variables to avoid name clash on SunOS.

--- communications.c.orig	2024-03-10 19:07:49.914451195 +0000
+++ communications.c
@@ -49,26 +49,26 @@ init_control_socket_path(void)
 void
 listen_for_commands(void)
 {
-	struct sockaddr_un sun;
+	struct sockaddr_un lsun;
 
 	if ((rp_glob_screen.control_socket_fd = socket(AF_UNIX,
 	    SOCK_STREAM | SOCK_NONBLOCK, 0)) == -1)
 		err(1, "socket");
 
-	if (strlen(rp_glob_screen.control_socket_path) >= sizeof(sun.sun_path))
+	if (strlen(rp_glob_screen.control_socket_path) >= sizeof(lsun.sun_path))
 		err(1, "control socket path too long: %s",
 		    rp_glob_screen.control_socket_path);
 
-	strncpy(sun.sun_path, rp_glob_screen.control_socket_path,
-	    sizeof(sun.sun_path));
-	sun.sun_family = AF_UNIX;
+	strncpy(lsun.sun_path, rp_glob_screen.control_socket_path,
+	    sizeof(lsun.sun_path));
+	lsun.sun_family = AF_UNIX;
 
 	if (unlink(rp_glob_screen.control_socket_path) == -1 &&
 	    errno != ENOENT)
 		err(1, "unlink %s",rp_glob_screen.control_socket_path);
 
-	if (bind(rp_glob_screen.control_socket_fd, (struct sockaddr *)&sun,
-	    sizeof(sun)) == -1)
+	if (bind(rp_glob_screen.control_socket_fd, (struct sockaddr *)&lsun,
+	    sizeof(lsun)) == -1)
 		err(1, "bind %s", rp_glob_screen.control_socket_path);
 
 	if (chmod(rp_glob_screen.control_socket_path, 0600) == -1)
@@ -84,7 +84,7 @@ listen_for_commands(void)
 int
 send_command(int interactive, unsigned char *cmd)
 {
-	struct sockaddr_un sun;
+	struct sockaddr_un lsun;
 	char *wcmd, *bufstart;
 	char ret[BUFSZ+1];
 	char success = 0;
@@ -108,15 +108,15 @@ send_command(int interactive, unsigned c
 	if ((fd = socket(AF_UNIX, SOCK_STREAM, 0)) == -1)
 		err(1, "socket");
 
-	if (strlen(rp_glob_screen.control_socket_path) >= sizeof(sun.sun_path))
+	if (strlen(rp_glob_screen.control_socket_path) >= sizeof(lsun.sun_path))
 		err(1, "control socket path too long: %s",
 		    rp_glob_screen.control_socket_path);
 
-	strncpy(sun.sun_path, rp_glob_screen.control_socket_path,
-	    sizeof(sun.sun_path));
-	sun.sun_family = AF_UNIX;
+	strncpy(lsun.sun_path, rp_glob_screen.control_socket_path,
+	    sizeof(lsun.sun_path));
+	lsun.sun_family = AF_UNIX;
 
-	if (connect(fd, (struct sockaddr *)&sun, sizeof(sun)) == -1)
+	if (connect(fd, (struct sockaddr *)&lsun, sizeof(lsun)) == -1)
 		err(1, "failed to connect to control socket at %s",
 		    rp_glob_screen.control_socket_path);