Index | Thread | Search

From:
Marc Espie <marc.espie.openbsd@gmail.com>
Subject:
Re: add X11 flavor for nethack 5.0.0
To:
Thomas Frohwein <tfrohwein@fastmail.com>
Cc:
ports@openbsd.org
Date:
Sun, 12 Jul 2026 10:01:06 +0200

Download raw body.

Thread
On Sat, Jul 11, 2026 at 04:16:24PM -0700, Thomas Frohwein wrote:
> On Sat, 11 Jul 2026 18:05:42 +0200
> Marc Espie <marc.espie.openbsd@gmail.com> wrote:
> 
> > I was simply missing a very small patch in Makefile.src.
> > 
> > There is no bump needed, as the no_x11 flavor isn't 
> > affected.
> 
> Looks to me like something is amiss when trying to make package:
> 
> Creating package nethack-5.0.0
> pkg_create: Missing fragments for no_x11: /usr/ports/mystuff/games/nethack/5.0/pkg/PFRAG.no_x11 and /usr/ports/mystuff/games/nethack/5.0/pkg/PFRAG.no-no_x11 don't exist
> 
> I also get a bunch of changes to PLIST after I run `make update-plist`.
> 
> I might be missing something, but currently can't manage to install...
> 
> > 
> > Index: Makefile
> > ===================================================================
> > RCS file: /build/data/openbsd/cvs/ports/games/nethack/5.0/Makefile,v
> > diff -u -p -r1.1.1.1 Makefile
> > --- Makefile	30 Jun 2026 14:59:13 -0000	1.1.1.1
> > +++ Makefile	11 Jul 2026 16:00:58 -0000
> > @@ -15,9 +15,14 @@ WANTLIB +=	c curses m lua5.4
> >  
> >  # XXX for now I haven't ported the other flavors
> >  FLAVORS = no_x11
> > -FLAVOR ?= no_x11
> > +FLAVOR ?= 
> >  
> > -CONFIG =	simple-config
> > +.if ${FLAVOR} == "no_x11"
> > +CONFIG = 	simple-config
> > +.else
> > +CONFIG =		x-config
> > +WANTLIB += X11 Xaw Xext Xmu Xt
> > +.endif
> >  
> >  RUN_DEPENDS = games/hackdata
> >  WRKDIST =	${WRKDIR}/NetHack-$V
> > @@ -55,6 +60,11 @@ post-install:
> >  	${INSTALL_DATA} ${WRKSRC}/doc/Guidebook.txt \
> >  		${PREFIX}/share/doc/nethack-$V/Guidebook.txt
> >  	ln -s ${TRUEPREFIX}/${GAMEDIR}/recover
> > ${PREFIX}/bin/recover-$V +.if ${FLAVOR} == ""
> > +	${INSTALL_DATA_DIR} ${PREFIX}/lib/X11/app-defaults
> > +	@${INSTALL_DATA} ${WRKSRC}/win/X11/NetHack.ad \
> > +	    ${PREFIX}/lib/X11/app-defaults/NetHack-$V
> > +.endif
> >  .for i in $(MAN)
> >  	${WRKBUILD}/util/makedefs --grep --input ${WRKSRC}/doc/$i.6 \
> >  		--output ${PREFIX}/man/man6/$i-$V.6
> > Index: files/x-config
> > ===================================================================
> > RCS file: files/x-config
> > diff -N files/x-config
> > --- /dev/null	1 Jan 1970 00:00:00 -0000
> > +++ files/x-config	11 Jul 2026 14:50:23 -0000
> > @@ -0,0 +1,11 @@
> > +CFLAGS +=-DX11_GRAPHICS -I$(X11BASE)/include
> > +LFLAGS += -L$(X11BASE)/lib
> > +
> > +WINSRC += $(WINX11SRC)
> > +WINOBJ += $(WINX11OBJ)
> > +#WINLIB += $(WINX11LIB)
> > +WINLIB += -lXaw -lXmu -lXext -lXt -lX11
> > +
> > +LINKCMD = $(CC)
> > +
> > +VARDATND = $(XFILES)
> > Index: patches/patch-sys_unix_Makefile_src
> > ===================================================================
> > RCS file:
> > /build/data/openbsd/cvs/ports/games/nethack/5.0/patches/patch-sys_unix_Makefile_src,v
> > diff -u -p -r1.1.1.1 patch-sys_unix_Makefile_src ---
> > patches/patch-sys_unix_Makefile_src	30 Jun 2026 14:59:13
> > -0000	1.1.1.1 +++ patches/patch-sys_unix_Makefile_src
> > 11 Jul 2026 16:01:02 -0000 @@ -1,6 +1,15 @@ Index:
> > sys/unix/Makefile.src --- sys/unix/Makefile.src.orig
> >  +++ sys/unix/Makefile.src
> > +@@ -263,7 +263,7 @@ WINX11SRC = ../win/X11/Window.c
> > ../win/X11/dialogs.c .
> > + WINX11OBJ = $(TARGETPFX)Window.o $(TARGETPFX)dialogs.o
> > $(TARGETPFX)winX.o \
> > + 	$(TARGETPFX)winmap.o $(TARGETPFX)winmenu.o
> > $(TARGETPFX)winmesg.o \
> > + 	$(TARGETPFX)winmisc.o $(TARGETPFX)winstat.o
> > $(TARGETPFX)wintext.o \ +-	$(TARGETPFX)winval.o
> > #$(TARGETPFX)tile.o ++	$(TARGETPFX)winval.o $(TARGETPFX)tile.o
> > + #
> > + # Files for a Qt 3 interface (renamed since nethack 3.6.x)
> > + #
> >  @@ -506,6 +506,7 @@ LUA_VERSION ?=5.4.8
> >   LUABASE = liblua-$(LUA_VERSION).a
> >   LUALIB = ../lib/lua/$(LUABASE)
> > Index: pkg/PLIST
> > ===================================================================
> > RCS file: /build/data/openbsd/cvs/ports/games/nethack/5.0/pkg/PLIST,v
> > diff -u -p -r1.1.1.1 PLIST
> > --- pkg/PLIST	30 Jun 2026 14:59:13 -0000	1.1.1.1
> > +++ pkg/PLIST	11 Jul 2026 15:59:24 -0000
> > @@ -34,5 +34,6 @@ ${GAMEDIR}/xlogfile
> >  @mode
> >  @man man/man6/nethack-${V}.6
> >  @man man/man6/recover-${V}.6
> > +!%%no_x11%%
> >  share/doc/nethack-${V}/
> >  share/doc/nethack-${V}/Guidebook.txt
> > 
> 
> 
Ah I forgot to cvs add the fragment. It's the exact same one as for 3.6.

Index: Makefile
===================================================================
RCS file: /build/data/openbsd/cvs/ports/games/nethack/5.0/Makefile,v
diff -u -p -r1.1.1.1 Makefile
--- Makefile	30 Jun 2026 14:59:13 -0000	1.1.1.1
+++ Makefile	11 Jul 2026 16:00:58 -0000
@@ -15,9 +15,14 @@ WANTLIB +=	c curses m lua5.4
 
 # XXX for now I haven't ported the other flavors
 FLAVORS = no_x11
-FLAVOR ?= no_x11
+FLAVOR ?= 
 
-CONFIG =	simple-config
+.if ${FLAVOR} == "no_x11"
+CONFIG = 	simple-config
+.else
+CONFIG =		x-config
+WANTLIB += X11 Xaw Xext Xmu Xt
+.endif
 
 RUN_DEPENDS = games/hackdata
 WRKDIST =	${WRKDIR}/NetHack-$V
@@ -55,6 +60,11 @@ post-install:
 	${INSTALL_DATA} ${WRKSRC}/doc/Guidebook.txt \
 		${PREFIX}/share/doc/nethack-$V/Guidebook.txt
 	ln -s ${TRUEPREFIX}/${GAMEDIR}/recover ${PREFIX}/bin/recover-$V
+.if ${FLAVOR} == ""
+	${INSTALL_DATA_DIR} ${PREFIX}/lib/X11/app-defaults
+	@${INSTALL_DATA} ${WRKSRC}/win/X11/NetHack.ad \
+	    ${PREFIX}/lib/X11/app-defaults/NetHack-$V
+.endif
 .for i in $(MAN)
 	${WRKBUILD}/util/makedefs --grep --input ${WRKSRC}/doc/$i.6 \
 		--output ${PREFIX}/man/man6/$i-$V.6
Index: files/x-config
===================================================================
RCS file: files/x-config
diff -N files/x-config
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ files/x-config	11 Jul 2026 14:50:23 -0000
@@ -0,0 +1,11 @@
+CFLAGS +=-DX11_GRAPHICS -I$(X11BASE)/include
+LFLAGS += -L$(X11BASE)/lib
+
+WINSRC += $(WINX11SRC)
+WINOBJ += $(WINX11OBJ)
+#WINLIB += $(WINX11LIB)
+WINLIB += -lXaw -lXmu -lXext -lXt -lX11
+
+LINKCMD = $(CC)
+
+VARDATND = $(XFILES)
Index: patches/patch-sys_unix_Makefile_src
===================================================================
RCS file: /build/data/openbsd/cvs/ports/games/nethack/5.0/patches/patch-sys_unix_Makefile_src,v
diff -u -p -r1.1.1.1 patch-sys_unix_Makefile_src
--- patches/patch-sys_unix_Makefile_src	30 Jun 2026 14:59:13 -0000	1.1.1.1
+++ patches/patch-sys_unix_Makefile_src	11 Jul 2026 16:01:02 -0000
@@ -1,6 +1,15 @@
 Index: sys/unix/Makefile.src
 --- sys/unix/Makefile.src.orig
 +++ sys/unix/Makefile.src
+@@ -263,7 +263,7 @@ WINX11SRC = ../win/X11/Window.c ../win/X11/dialogs.c .
+ WINX11OBJ = $(TARGETPFX)Window.o $(TARGETPFX)dialogs.o $(TARGETPFX)winX.o \
+ 	$(TARGETPFX)winmap.o $(TARGETPFX)winmenu.o $(TARGETPFX)winmesg.o \
+ 	$(TARGETPFX)winmisc.o $(TARGETPFX)winstat.o $(TARGETPFX)wintext.o \
+-	$(TARGETPFX)winval.o #$(TARGETPFX)tile.o
++	$(TARGETPFX)winval.o $(TARGETPFX)tile.o
+ #
+ # Files for a Qt 3 interface (renamed since nethack 3.6.x)
+ #
 @@ -506,6 +506,7 @@ LUA_VERSION ?=5.4.8
  LUABASE = liblua-$(LUA_VERSION).a
  LUALIB = ../lib/lua/$(LUABASE)
Index: pkg/PFRAG.no-no_x11
===================================================================
RCS file: pkg/PFRAG.no-no_x11
diff -N pkg/PFRAG.no-no_x11
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ pkg/PFRAG.no-no_x11	11 Jul 2026 15:58:58 -0000
@@ -0,0 +1,5 @@
+lib/X11/app-defaults/NetHack-${V}
+${GAMEDIR}/pet_mark.xbm
+${GAMEDIR}/pilemark.xbm
+${GAMEDIR}/rip.xpm
+${GAMEDIR}/x11tiles
Index: pkg/PLIST
===================================================================
RCS file: /build/data/openbsd/cvs/ports/games/nethack/5.0/pkg/PLIST,v
diff -u -p -r1.1.1.1 PLIST
--- pkg/PLIST	30 Jun 2026 14:59:13 -0000	1.1.1.1
+++ pkg/PLIST	11 Jul 2026 15:59:24 -0000
@@ -34,5 +34,6 @@ ${GAMEDIR}/xlogfile
 @mode
 @man man/man6/nethack-${V}.6
 @man man/man6/recover-${V}.6
+!%%no_x11%%
 share/doc/nethack-${V}/
 share/doc/nethack-${V}/Guidebook.txt