git: 99131e98ca0d - main - lang/eisl: New port: Interpreter and compiler compatible with ISLisp standard

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Wed, 10 Nov 2021 02:15:34 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=99131e98ca0d204ec31eec6ad7e2a5ee85dbfed5

commit 99131e98ca0d204ec31eec6ad7e2a5ee85dbfed5
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2021-11-10 02:14:18 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2021-11-10 02:15:32 +0000

    lang/eisl: New port: Interpreter and compiler compatible with ISLisp standard
---
 lang/Makefile                    |  1 +
 lang/eisl/Makefile               | 26 +++++++++++++++++++
 lang/eisl/distinfo               |  3 +++
 lang/eisl/files/patch-function.c | 56 ++++++++++++++++++++++++++++++++++++++++
 lang/eisl/pkg-descr              |  4 +++
 5 files changed, 90 insertions(+)

diff --git a/lang/Makefile b/lang/Makefile
index e35bd548f879..7009a8a5e602 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -46,6 +46,7 @@
     SUBDIR += duktape
     SUBDIR += duktape-lib
     SUBDIR += ecl
+    SUBDIR += eisl
     SUBDIR += elixir
     SUBDIR += elixir-devel
     SUBDIR += elixir-mode.el
diff --git a/lang/eisl/Makefile b/lang/eisl/Makefile
new file mode 100644
index 000000000000..2de2e68ef662
--- /dev/null
+++ b/lang/eisl/Makefile
@@ -0,0 +1,26 @@
+PORTNAME=	eisl
+DISTVERSIONPREFIX=	v
+DISTVERSION=	2.25
+CATEGORIES=	lang devel
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Interpreter and compiler compatible with ISLisp standard
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/documents/license.txt
+
+USES=		gmake ncurses:base
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	sasagawa888
+
+ALL_TARGET=	${PORTNAME}
+
+MAKEFILE=	makefile
+
+LDFLAGS+=	-lncursesw
+
+PLIST_FILES=	bin/edlis \
+		bin/eisl
+
+.include <bsd.port.mk>
diff --git a/lang/eisl/distinfo b/lang/eisl/distinfo
new file mode 100644
index 000000000000..b30358c12008
--- /dev/null
+++ b/lang/eisl/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1636509151
+SHA256 (sasagawa888-eisl-v2.25_GH0.tar.gz) = b0064798be3f6e782faf03471a7fe6d34d5edb11b6d1089ef3c14a22d1ababb8
+SIZE (sasagawa888-eisl-v2.25_GH0.tar.gz) = 1734714
diff --git a/lang/eisl/files/patch-function.c b/lang/eisl/files/patch-function.c
new file mode 100644
index 000000000000..19aa3ee99221
--- /dev/null
+++ b/lang/eisl/files/patch-function.c
@@ -0,0 +1,56 @@
+--- function.c.orig	2021-11-10 01:54:06 UTC
++++ function.c
+@@ -2127,7 +2127,7 @@ f_read(int arglist)
+                     save,
+                     n,
+                     res;
+-#if __linux || __APPLE__ || defined(__OpenBSD__)
++#if __linux || __APPLE__ || defined(__OpenBSD__) || defined(__FreeBSD__)
+     int             save1;
+ #endif
+ 
+@@ -2139,7 +2139,7 @@ f_read(int arglist)
+     if (n > 0 && !input_stream_p(arg1))
+ 	error(NOT_IN_STREAM, "read", arg1);
+ 
+-#if __linux || __APPLE__ || defined(__OpenBSD__)
++#if __linux || __APPLE__ || defined(__OpenBSD__) || defined(__FreeBSD__)
+     save1 = repl_flag;
+     repl_flag = 0;
+ #endif
+@@ -2151,7 +2151,7 @@ f_read(int arglist)
+ 	res = sread();
+ 	input_stream = save;
+ 	if (res == FEND) {
+-#if __linux || __APPLE__ || defined(__OpenBSD__)
++#if __linux || __APPLE__ || defined(__OpenBSD__) || defined(__FreeBSD__)
+ 	    repl_flag = save1;
+ #endif
+ 	    error(END_STREAM, "read", NIL);
+@@ -2163,7 +2163,7 @@ f_read(int arglist)
+ 	res = sread();
+ 	input_stream = save;
+ 	if (res == FEND) {
+-#if __linux || __APPLE__ || defined(__OpenBSD__)
++#if __linux || __APPLE__ || defined(__OpenBSD__) || defined(__FreeBSD__)
+ 	    repl_flag = save1;
+ #endif
+ 	    if (nullp(arg2) && n == 2)
+@@ -2174,7 +2174,7 @@ f_read(int arglist)
+ 		error(END_STREAM, "read", NIL);
+ 	}
+     }
+-#if __linux || __APPLE__ || defined(__OpenBSD__)
++#if __linux || __APPLE__ || defined(__OpenBSD__) || defined(__FreeBSD__)
+     repl_flag = save1;
+ #endif
+     return (res);
+@@ -2374,7 +2374,7 @@ f_read_line(int arglist)
+                     res,
+                     c;
+     char            rl_buf[LINE_MAX];
+-#if __linux || __APPLE__ || defined(__OpenBSD__)
++#if __linux || __APPLE__ || defined(__OpenBSD__) || defined(__FreeBSD__)
+     int             save1;
+ #endif
+ 
diff --git a/lang/eisl/pkg-descr b/lang/eisl/pkg-descr
new file mode 100644
index 000000000000..af02cc2e0e53
--- /dev/null
+++ b/lang/eisl/pkg-descr
@@ -0,0 +1,4 @@
+Easy-ISLisp (EISL) is an interpreter and compiler compatible with the ISLisp
+standard.
+
+WWW: https://github.com/sasagawa888/eisl