From: Omar Polo Subject: Re: [update] Brandy 1.20.1 -> 1.23.2 To: Jag Talon Cc: ports@openbsd.org, Stuart Henderson Date: Sun, 04 Aug 2024 20:54:35 +0200 On 2024/08/03 08:43:32 -0400, Jag Talon wrote: > Ah makes sense! Ok here's the patch without the conversions. upon a brief look the other patches seemed fine to me, please consider sending them upstream. Just a tip however, you can use sizeof(var) in some situation to avoid having to repeat the constant or literal size (that both could go out of sync accidentally.) I agree with sthen however that for these non-portability things it's better to hear from upstream. Then, we can even backport them while they're doing a release eventually. > OK? (btw, ) It looks fine to me. However I find strange when ports don't output the commands they're running (it makes reading the failures in bulk builds harder), so remove the '@' from their makefile. With that I noticed that the port was built with -O3 which is not OK: the port should respect the cflags from the port infrastructure (default to '-O2 -pipe', so it's easy to spot). Then, I realize that with a bit of effort we could avoid patching the makefile to adjust the cflags and ldflags. It means that we have to switch from the post-build to a do-build, but meh. It's subjective, but I slightly prefer it like this. (while here i've also change the makefile to use -C instead of cd.) Index: Makefile =================================================================== RCS file: /home/cvs/ports/lang/brandy/Makefile,v diff -u -p -r1.6 Makefile --- Makefile 26 Sep 2023 12:02:00 -0000 1.6 +++ Makefile 4 Aug 2024 18:40:30 -0000 @@ -1,42 +1,56 @@ -COMMENT = interpreter for BBC Basic (Basic V) +COMMENT = interpreter for BBC Basic (Basic VI) -DISTNAME = brandy-1.20.1 -REVISION = 1 +V = 1.23.2 +DISTNAME = MatrixBrandy-${V} +PKGNAME = brandy-${V} +EXTRACT_SUFX = .tar.xz CATEGORIES = lang -HOMEPAGE = http://jaguar.orpheusweb.co.uk/branpage.html +HOMEPAGE = http://brandy.matrixnetwork.co.uk/ +MAINTAINER = Jag Talon # GPLv2+ PERMIT_PACKAGE = Yes -WANTLIB += SDL c m +WANTLIB += SDL X11 c m pthread -SITES = ${SITE_SOURCEFORGE:=brandy/} +SITES = http://brandy.matrixnetwork.co.uk/releases/ LIB_DEPENDS += devel/sdl +USE_GMAKE = Yes -CFLAGS += -I${LOCALBASE}/include/SDL -LDFLAGS += -L${LOCALBASE}/lib +SDL_CFLAGS !!= sdl-config --cflags +SDL_LDFLAGS !!= sdl-config --libs -MAKE_FLAGS = CC="${CC}" CFLAGS="${CFLAGS}" LD="${CC}" LDFLAGS="${LDFLAGS}" +# since we disable git +CFLAGS += -DBRANDY_RELEASE +CFLAGS += ${SDL_CFLAGS} -DDEFAULT_IGNORE -Wall +LDFLAGS += ${SDL_LDFLAGS} -lm -pthread -L${X11BASE}/lib/ -lX11 + +MAKE_FLAGS = CC="${CC}" LD="${CC}" LIBS="${LDFLAGS}" CFLAGS="${CFLAGS}" MAKE_FILE = makefile NO_TEST = Yes -post-build: - cd ${WRKSRC}; \ - ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} ${MAKE_FLAGS} -f makefile.text +do-build: + ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} -f makefile -C "${WRKSRC}" \ + ${MAKE_FLAGS} CFLAGS="${CFLAGS} -DUSE_SDL" all + ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} -f makefile.text -C "${WRKSRC}" \ + ${MAKE_FLAGS} CFLAGS="${CFLAGS} -DNO_SDL" clean all do-install: ${INSTALL_PROGRAM} ${WRKSRC}/tbrandy ${PREFIX}/bin/brandy ${INSTALL_PROGRAM} ${WRKSRC}/brandy ${PREFIX}/bin/brandy-sdl + ${INSTALL_DATA_DIR} ${PREFIX}/share/doc/brandy - ${INSTALL_DATA} ${WRKSRC}/docs/basic ${PREFIX}/share/doc/brandy - ${INSTALL_DATA} ${WRKSRC}/docs/messages ${PREFIX}/share/doc/brandy - ${INSTALL_DATA} ${WRKSRC}/docs/use ${PREFIX}/share/doc/brandy + ${INSTALL_DATA} ${WRKSRC}/docs/* ${PREFIX}/share/doc/brandy + ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/brandy - ${INSTALL_DATA} ${WRKSRC}/examples/* ${PREFIX}/share/examples/brandy + ${INSTALL_DATA} ${WRKSRC}/examples/[!Mode7]* ${PREFIX}/share/examples/brandy + + ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/brandy/Mode7 + ${INSTALL_DATA} ${WRKSRC}/examples/Mode7/* ${PREFIX}/share/examples/brandy/Mode7 .include Index: distinfo =================================================================== RCS file: /home/cvs/ports/lang/brandy/distinfo,v diff -u -p -r1.1.1.1 distinfo --- distinfo 19 Mar 2017 21:49:31 -0000 1.1.1.1 +++ distinfo 4 Aug 2024 18:16:30 -0000 @@ -1,2 +1,2 @@ -SHA256 (brandy-1.20.1.tar.gz) = YiPgbFQf7qxKWrrXM/3g0Uxuveta0DbAPQ+r5C/vA+w= -SIZE (brandy-1.20.1.tar.gz) = 422587 +SHA256 (MatrixBrandy-1.23.2.tar.xz) = CI8WhMIBtzn6MObxvjlDNGNitQjbMpUWoZWN9tAXyQA= +SIZE (MatrixBrandy-1.23.2.tar.xz) = 461888 Index: patches/patch-makefile =================================================================== RCS file: /home/cvs/ports/lang/brandy/patches/patch-makefile,v diff -u -p -r1.2 patch-makefile --- patches/patch-makefile 11 Mar 2022 19:28:51 -0000 1.2 +++ patches/patch-makefile 4 Aug 2024 18:29:59 -0000 @@ -1,11 +1,25 @@ ---- makefile.orig Sat Mar 18 21:34:08 2017 -+++ makefile Sat Mar 18 21:35:05 2017 -@@ -3,7 +3,7 @@ - CC = gcc - LD = gcc +- remove git.mk since we're not in a git repo +- show commands ran by make + +Index: makefile +--- makefile.orig ++++ makefile +@@ -5,8 +5,6 @@ LD = gcc + STRIP = strip + ADDFLAGS = ${BRANDY_BUILD_FLAGS} --CFLAGS += -g -DDEBUG -I/usr/include/SDL -DUSE_SDL -+CFLAGS += -DUSE_SDL - CFLAGS2 = -O2 -I/usr/include/SDL -DUSE_SDL +-include build/git.mk +- + #CFLAGS = -g -DDEBUG $(shell sdl-config --cflags) -I/usr/local/include/SDL -DUSE_SDL -DDEFAULT_IGNORE -Wall $(GITFLAGS) $(ADDFLAGS) + #CFLAGS = -g $(shell sdl-config --cflags) -I/usr/local/include/SDL -DUSE_SDL -DDEFAULT_IGNORE -Wall $(GITFLAGS) $(ADDFLAGS) + CFLAGS = -O3 -fPIE $(shell sdl-config --cflags) -DUSE_SDL -DDEFAULT_IGNORE -Wall $(GITFLAGS) $(ADDFLAGS) +@@ -78,8 +76,7 @@ brandy: $(OBJ) - LDFLAGS += + include build/depends.mk + +-.c.o:; @echo -n "$@ " +- @$(CC) $(CFLAGS) $< -c -o $@ >/dev/null ++.c.o:; $(CC) $(CFLAGS) $< -c -o $@ + + recompile: + $(CC) $(CFLAGS) $(SRC) $(LIBS) -o brandy Index: patches/patch-makefile_text =================================================================== RCS file: /home/cvs/ports/lang/brandy/patches/patch-makefile_text,v diff -u -p -r1.2 patch-makefile_text --- patches/patch-makefile_text 11 Mar 2022 19:28:51 -0000 1.2 +++ patches/patch-makefile_text 4 Aug 2024 18:30:52 -0000 @@ -1,11 +1,25 @@ ---- makefile.text.orig Thu Jun 27 14:56:55 2013 -+++ makefile.text Tue Mar 14 22:53:59 2017 -@@ -3,7 +3,7 @@ - CC = gcc - LD = gcc +- remove git.mk since we're not in a git repo +- show commands ran by make + +Index: makefile.text +--- makefile.text.orig ++++ makefile.text +@@ -5,8 +5,6 @@ LD = gcc + STRIP = strip + ADDFLAGS = ${BRANDY_BUILD_FLAGS} --CFLAGS += -g -DDEBUG -DNO_SDL -+CFLAGS += -DNO_SDL - CFLAGS2 = -O2 -DNO_SDL +-include build/git.mk +- + #CFLAGS = -g -DDEBUG -I/usr/include/SDL -DNO_SDL -DDEFAULT_IGNORE -Wall $(GITFLAGS) $(ADDFLAGS) + #CFLAGS = -g -I/usr/include/SDL -DNO_SDL -DDEFAULT_IGNORE -Wall $(GITFLAGS) $(ADDFLAGS) + CFLAGS = -O3 -fPIE -I/usr/include/SDL -DNO_SDL -DDEFAULT_IGNORE -Wall $(GITFLAGS) $(ADDFLAGS) +@@ -57,8 +55,7 @@ sbrandy: $(OBJ) $(SIMPLETEXTOBJ) + include build/depends.mk - LDFLAGS = + .c.o: +- @echo -n "$@ " +- @$(CC) $(CFLAGS) $< -c -o $@ ++ $(CC) $(CFLAGS) $< -c -o $@ + + trecompile: + $(CC) $(CFLAGS) $(SRC) $(TEXTONLYSRC) $(LIBS) -o tbrandy Index: patches/patch-src_keyboard_c =================================================================== RCS file: patches/patch-src_keyboard_c diff -N patches/patch-src_keyboard_c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-src_keyboard_c 4 Aug 2024 18:24:28 -0000 @@ -0,0 +1,11 @@ +Index: src/keyboard.c +--- src/keyboard.c.orig ++++ src/keyboard.c +@@ -108,6 +108,7 @@ + ** + */ + ++#include + #include + #include + #include Index: pkg/DESCR =================================================================== RCS file: /home/cvs/ports/lang/brandy/pkg/DESCR,v diff -u -p -r1.1.1.1 DESCR --- pkg/DESCR 19 Mar 2017 21:49:31 -0000 1.1.1.1 +++ pkg/DESCR 4 Aug 2024 18:15:40 -0000 @@ -1,5 +1,5 @@ -Brandy implements Basic V, the dialect of Basic that Acorn Computers +Brandy implements Basic VI, the dialect of Basic that Acorn Computers supplied with their ranges of desktop computers that use the ARM -processor such as the Archimedes and RiscPC. Basic V is an extended +processor such as the Archimedes and RiscPC. Basic VI is an extended version of BBC Basic. This was the Basic used on the BBC Micro that Acorn made during the early 1980s. Index: pkg/PLIST =================================================================== RCS file: /home/cvs/ports/lang/brandy/pkg/PLIST,v diff -u -p -r1.3 PLIST --- pkg/PLIST 11 Mar 2022 19:28:52 -0000 1.3 +++ pkg/PLIST 4 Aug 2024 18:15:40 -0000 @@ -1,24 +1,67 @@ @bin bin/brandy @bin bin/brandy-sdl share/doc/brandy/ -share/doc/brandy/basic -share/doc/brandy/messages -share/doc/brandy/use +share/doc/brandy/COPYING +share/doc/brandy/ChangeLog +share/doc/brandy/Config.txt +share/doc/brandy/Mode7.txt +share/doc/brandy/README +share/doc/brandy/ScreenModes.txt +share/doc/brandy/banana-bugs.txt +share/doc/brandy/basic.txt +share/doc/brandy/compiling.txt +share/doc/brandy/extensions.txt +share/doc/brandy/graphics.txt +share/doc/brandy/history.txt +share/doc/brandy/identification.txt +share/doc/brandy/internals.txt +share/doc/brandy/jgh-notes.txt +share/doc/brandy/keyboard-codes +share/doc/brandy/keymap.txt +share/doc/brandy/messages.txt +share/doc/brandy/networking.txt +share/doc/brandy/osbyte.txt +share/doc/brandy/raspi-gpio.txt +share/doc/brandy/standalone-app.txt +share/doc/brandy/sys-calls.txt +share/doc/brandy/use.txt share/examples/brandy/ +share/examples/brandy/BubbleUniverse +share/examples/brandy/Mode7/ +share/examples/brandy/Mode7/M7terminal +share/examples/brandy/Mode7/README +share/examples/brandy/Mode7/SAA505xDemo +share/examples/brandy/Mode7/m7point +share/examples/brandy/Mode7/mode7demo +share/examples/brandy/Mode7/telstar +share/examples/brandy/Mode7/ttxtedit share/examples/brandy/README +share/examples/brandy/SAA505Xlib +share/examples/brandy/Snow +share/examples/brandy/bin2c share/examples/brandy/cmdline share/examples/brandy/combsort share/examples/brandy/cricket -share/examples/brandy/dow +share/examples/brandy/gpiolib share/examples/brandy/graphdemo share/examples/brandy/hanoi share/examples/brandy/hex share/examples/brandy/lands +share/examples/brandy/mouse-doodle share/examples/brandy/pastriang +share/examples/brandy/platformcheck +share/examples/brandy/shroud +share/examples/brandy/sierpinski share/examples/brandy/sieve +share/examples/brandy/sine +share/examples/brandy/sphere +share/examples/brandy/spiral +share/examples/brandy/spiral-pattern +share/examples/brandy/splash share/examples/brandy/tekdemo1 share/examples/brandy/tekdemo2 share/examples/brandy/teklib +share/examples/brandy/tekspiral share/examples/brandy/trees1 share/examples/brandy/trees2 share/examples/brandy/tvtime