diff --git a/lang/eisl/Makefile b/lang/eisl/Makefile index cf0df1530df4..cc231cccd9a3 100644 --- a/lang/eisl/Makefile +++ b/lang/eisl/Makefile @@ -1,54 +1,54 @@ PORTNAME= eisl DISTVERSIONPREFIX= v -DISTVERSION= 5.59 +DISTVERSION= 5.66 CATEGORIES= lang devel MAINTAINER= yuri@FreeBSD.org COMMENT= Interpreter and compiler compatible with ISLisp standard WWW= https://github.com/sasagawa888/eisl LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/license.txt BROKEN_armv7= stage breaks: Abort trap (likely due to the memory allocation problem) BROKEN_i386= stage breaks: data segment of more than 500GB is required, see https://github.com/sasagawa888/eisl/issues/218 TEST_DEPENDS= cppcheck:devel/cppcheck USES= gmake gl localbase:ldflags ncurses:port tcl # port because tests need ncurses6-config USE_GL= gl glu glut USE_GITHUB= yes GH_ACCOUNT= sasagawa888 ALL_TARGET= ${PORTNAME} TEST_TARGET= check # tests print some errors and warnings, see https://github.com/sasagawa888/eisl/issues/181#issuecomment-1195147029 MAKEFILE= makefile CFLAGS+= -D__BSD_VISIBLE # w/out this there's error: use of undeclared identifier '_SC_NPROCESSORS_CONF' CFLAGS+= -I${TCL_INCLUDEDIR} LDFLAGS+= -lncursesw .include .if ${ARCH} == riscv64 EXTRA_PATCHES= ${FILESDIR}/extra-patch-makefile .endif .include .if ${OPSYS} == FreeBSD CFLAGS+= -Wno-error=int-conversion .endif .if ${OPSYS} == FreeBSD CFLAGS+= -Wno-error=incompatible-function-pointer-types .endif post-install: ${STRIP_CMD} \ ${STAGEDIR}${PREFIX}/bin/eisl \ ${STAGEDIR}${PREFIX}/bin/edlis .include diff --git a/lang/eisl/distinfo b/lang/eisl/distinfo index 34164a0cf753..ac0398fd7706 100644 --- a/lang/eisl/distinfo +++ b/lang/eisl/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1763915853 -SHA256 (sasagawa888-eisl-v5.59_GH0.tar.gz) = 703a5abeb668359f8aa913168ff1c3882795a880d158f310e4993a1f10d70368 -SIZE (sasagawa888-eisl-v5.59_GH0.tar.gz) = 3116593 +TIMESTAMP = 1778397767 +SHA256 (sasagawa888-eisl-v5.66_GH0.tar.gz) = 0b7fe2f362713bec8cdb4f996c49bef47822f73b419d5427d90efe2d01f7bc63 +SIZE (sasagawa888-eisl-v5.66_GH0.tar.gz) = 4491453 diff --git a/lang/eisl/files/patch-extension.c b/lang/eisl/files/patch-extension.c index de091c6b67fd..dc8834fd8eeb 100644 --- a/lang/eisl/files/patch-extension.c +++ b/lang/eisl/files/patch-extension.c @@ -1,40 +1,43 @@ ---- extension.c.orig 2025-11-23 16:41:16 UTC +-- Disable Linux-specific framebuffer code and includes. +-- This is needed because FreeBSD doesn't have . + +--- extension.c.orig 2026-05-09 21:27:05 UTC +++ extension.c -@@ -20,8 +20,6 @@ +@@ -21,8 +21,6 @@ #include #include #include -#include -#include #include -@@ -131,6 +129,7 @@ void init_exsubr(void) +@@ -129,6 +127,7 @@ void init_exsubr(void) def_subr("RECV-SOCKET", f_recv_socket); def_subr("CLOSE-SOCKET", f_close_socket); +#if 0 def_subr("GR-OPEN", f_gr_open); def_subr("GR-CLOSE", f_gr_close); def_subr("GR-CLS", f_gr_cls); -@@ -138,6 +137,7 @@ void init_exsubr(void) +@@ -136,6 +135,7 @@ void init_exsubr(void) def_subr("GR-CIRCLE", f_gr_circle); def_subr("GR-RECT", f_gr_rect); def_subr("GR-LINE", f_gr_line); +#endif - #ifdef __rpi__ + #ifdef __rpiwiring__ def_subr("WIRINGPI-SETUP-GPIO", f_wiringpi_setup_gpio); -@@ -1891,6 +1891,7 @@ int f_close_socket(int arglist, int th) +@@ -1921,6 +1921,7 @@ int f_close_socket(int arglist, int th) } +# if 0 //-------/dev/fb0------------------------ - #define BLACK 0x000000 -@@ -2201,3 +2202,4 @@ int f_gr_line(int arglist, int th) - fb_draw_line(GET_INT(arg1),GET_INT(arg2),GET_INT(arg3),GET_INT(arg4),color_to_number(arg5)); - return(T); + #ifdef __rpi__ +@@ -2271,3 +2272,4 @@ int f_gr_line(int arglist, int th) + GET_INT(arg4), color_to_number(arg5)); + return (T); } +#endif diff --git a/lang/eisl/files/patch-ffi.h b/lang/eisl/files/patch-ffi.h index 1b76ce9b70fa..8053a0dd1d6a 100644 --- a/lang/eisl/files/patch-ffi.h +++ b/lang/eisl/files/patch-ffi.h @@ -1,11 +1,14 @@ +-- Reduce CELLSIZE. +-- This saves memory on FreeBSD. + --- ffi.h.orig 2025-11-23 16:45:45 UTC +++ ffi.h @@ -4,7 +4,7 @@ #ifndef FFI_H #define FFI_H -#define CELLSIZE 20000000 +#define CELLSIZE 10000000 static const int NIL = 0; static const int T = 2; static const int SMALL_INT_MAX = 1000000000; diff --git a/lang/eisl/files/patch-makefile b/lang/eisl/files/patch-makefile index d776cf2b650b..4b7a64b014b7 100644 --- a/lang/eisl/files/patch-makefile +++ b/lang/eisl/files/patch-makefile @@ -1,44 +1,60 @@ ---- makefile.orig 2025-09-30 06:45:40 UTC +-- Fix build on FreeBSD. +-- Use port's CC and CURSES flags, and respect LDFLAGS. + +--- makefile.orig 2026-05-10 07:33:30 UTC +++ makefile @@ -6,11 +6,11 @@ USE_GDB ?= 0 USE_FLTO ?= 0 USE_GDB ?= 0 -CC := gcc +#CC := gcc LIBS := -lm -ldl -lpthread -lncurses - INCS := -Icii/include + INCS := -CURSES_CFLAGS := $(shell ncursesw6-config --cflags) -CURSES_LIBS := $(shell ncursesw6-config --libs) +#CURSES_CFLAGS := $(shell ncursesw6-config --cflags) +#CURSES_LIBS := $(shell ncursesw6-config --libs) CFLAGS += $(INCS) -Wall $(CURSES_CFLAGS) -@@ -33,7 +33,7 @@ ifeq ($(USE_FLTO),1) - CFLAGS += -O3 -DNDEBUG=1 -Wno-stringop-truncation +@@ -29,17 +29,17 @@ SRC_LISP := library/bit.lsp \ + library/plot.lsp \ + library/unistd.lsp + +-CFLAGS += -O3 ++#CFLAGS += -O3 ifeq ($(USE_FLTO),1) --CFLAGS += -O3 -flto -DNDEBUG=1 -Wno-stringop-truncation -+CFLAGS += -O3 -DNDEBUG=1 -Wno-stringop-truncation +-CFLAGS += -O3 -flto ++#CFLAGS += -flto endif ifeq ($(USE_GDB),1) - CFLAGS += -O0 -g -DNDEBUG=1 -Wno-stringop-truncation -@@ -98,7 +98,7 @@ eisl: $(EISL_OBJS) $(OBJ_CII) +-CFLAGS += -O0 -g ++CFLAGS += -g + endif + + ifeq ($(shell uname -n),raspberrypi) +-CFLAGS += -O3 ++#CFLAGS += -O3 + endif + + OBJ_LISP := $(SRC_LISP:.lsp=.o) +@@ -98,7 +98,7 @@ eisl: $(EISL_OBJS) all: $(TARGETS) - eisl: $(EISL_OBJS) $(OBJ_CII) + eisl: $(EISL_OBJS) - $(CC) $(CFLAGS) $^ -o $@ $(LIBS) -+ $(CC) $(CFLAGS) $^ -o $@ $(LIBS) $(LDFLAGS) ++ $(CC) $(CFLAGS) $^ -o $@ $(LIBS) $(LDFLAGS) - %.o: %.c eisl.h ffi.h term.h cii/include/except.h + %.o: %.c eisl.h ffi.h term.h $(CC) $(CFLAGS) -c $< -o $@ -@@ -126,7 +126,7 @@ edlis: edlis.o syn_highlight.o $(OBJ_CII) +@@ -125,7 +125,7 @@ edlis: edlis.o syn_highlight.o - edlis: edlis.o syn_highlight.o $(OBJ_CII) + edlis: edlis.o syn_highlight.o - $(CC) $(CFLAGS) $^ -o $@ $(CURSES_LIBS) + $(CC) $(CFLAGS) $^ -o $@ $(CURSES_LIBS) $(LDFLAGS) edlis.o: edlis.c edlis.h term.h $(CC) $(CFLAGS) -c edlis.c