aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSAKAI Hiroaki <kozos@kozos.jp>2023-09-12 05:07:06 +0000
committerRobert Clausecker <fuz@FreeBSD.org>2023-09-12 14:55:24 +0000
commit7c0a57e68365edb77a8822e4715152aad8b92294 (patch)
tree7e9e6e662eacd7178e93c8fb4337aeef94bc1787
parent3bd1be2a2e38570464de8a71ccb6a957f88bccef (diff)
downloadports-7c0a57e68365edb77a8822e4715152aad8b92294.tar.gz
ports-7c0a57e68365edb77a8822e4715152aad8b92294.zip
lang/nll: Simple language for programming learning
NLL is a simple language for programming learning Simple script language for beginners for programming learning. Complicated sentence structures are abolished and It is designed to understand if you can go on reading it by a line unit. Integer arithmetic, character string processing, a floating decimal operation are possible. This has text drawing, graphic and sound function and can make simple games. NLL is one implementation in NLUX of programming language HOBBY. PR: 244786
-rw-r--r--lang/Makefile1
-rw-r--r--lang/nll/Makefile107
-rw-r--r--lang/nll/distinfo3
-rw-r--r--lang/nll/pkg-descr11
4 files changed, 122 insertions, 0 deletions
diff --git a/lang/Makefile b/lang/Makefile
index 53ceb0f5ba9a..8583715f1acc 100644
--- a/lang/Makefile
+++ b/lang/Makefile
@@ -217,6 +217,7 @@
SUBDIR += nickle
SUBDIR += nim
SUBDIR += njs
+ SUBDIR += nll
SUBDIR += nqc
SUBDIR += nwcc
SUBDIR += nx
diff --git a/lang/nll/Makefile b/lang/nll/Makefile
new file mode 100644
index 000000000000..2c8cebfc1541
--- /dev/null
+++ b/lang/nll/Makefile
@@ -0,0 +1,107 @@
+PORTNAME= nll
+PORTVERSION= 20230909a
+CATEGORIES= lang
+MASTER_SITES= https://kozos.jp/nlux/archive/
+DISTNAME= nlux-alpha-20230909
+
+MAINTAINER= kozos@kozos.jp
+COMMENT= Simple language for programming learning
+WWW= https://kozos.jp/nll/
+
+LICENSE= ZLIB
+LICENSE_FILE= ${WRKSRC}/LICENSE
+
+FLAVORS= default nosdl
+FLAVOR?= ${FLAVORS:[1]}
+nosdl_PKGNAMESUFFIX= -nosdl
+
+USES= zip
+WRKSRC= ${WRKDIR}/nlux/${PORTNAME}
+MAKE_ARGS= BUILD= ARCH= CCOMPILER=${CC}
+
+PORTDOCS= README.txt AUDIO.txt
+PORTEXAMPLES= *.nll
+
+PLIST_FILES= bin/${PORTNAME} man/man1/${PORTNAME}.1.gz
+
+OPTIONS_DEFINE= DOCS EXAMPLES NCURSES SYSTEM SYSCALL NETWORK
+OPTIONS_DEFAULT?= NCURSES SYSTEM LIBEDIT SDL2
+
+OPTIONS_RADIO= LINEEDIT
+OPTIONS_RADIO_LINEEDIT= LIBEDIT READLINE NLLINE GETLINE FGETS
+
+LINEEDIT_DESC= Line editor
+NLLINE_DESC= Internal readline compatible library
+GETLINE_DESC= Use getline
+FGETS_DESC= Use fgets()
+
+NCURSES_USES= ncurses
+
+SYSTEM_DESC= System function support
+SYSCALL_DESC= System call function support
+NETWORK_DESC= Network support
+
+LIBEDIT_USES= libedit
+READLINE_USES= readline
+
+NCURSES_MAKE_ARGS=
+NCURSES_MAKE_ARGS_OFF= USE_CURSES=
+
+SYSTEM_MAKE_ARGS= USE_SYSTEM_FUNCTION=yes
+SYSTEM_MAKE_ARGS_OFF= USE_SYSTEM_FUNCTION=
+SYSCALL_MAKE_ARGS= USE_SYSCALL_FUNCTION=yes
+SYSCALL_MAKE_ARGS_OFF= USE_SYSCALL_FUNCTION=
+NETWORK_MAKE_ARGS= USE_NETWORK_FUNCTION=yes
+NETWORK_MAKE_ARGS_OFF= USE_NETWORK_FUNCTION=
+
+LIBEDIT_MAKE_ARGS= READLINE=libedit READLINEDIR=${LOCALBASE}
+READLINE_MAKE_ARGS= READLINE=readline READLINEDIR=${LOCALBASE}
+NLLINE_MAKE_ARGS= READLINE=nlline
+GETLINE_MAKE_ARGS= READLINE=getline
+FGETS_MAKE_ARGS= READLINE=fgets
+
+.if ${FLAVOR} == default
+OPTIONS_RADIO+= SDLVER
+OPTIONS_RADIO_SDLVER= NOSDL SDL1 SDL2
+
+SDLVER_DESC= SDL version
+NOSDL_DESC= Disable SDL (limited graphic and audio function)
+SDL1_DESC= Use SDL 1.2
+SDL2_DESC= Use SDL 2.0
+
+SDL1_USES= sdl xorg
+SDL1_USE= XORG=x11 SDL=sdl
+SDL2_USES= sdl xorg
+SDL2_USE= XORG=x11 SDL=sdl2
+
+NOSDL_MAKE_ARGS= USE_SDL1= USE_SDL2=
+NOSDL_MAKE_ARGS_OFF=
+SDL1_MAKE_ARGS= USE_SDL1=yes SDLDIR=${LOCALBASE}
+SDL1_MAKE_ARGS_OFF= USE_SDL1=
+SDL2_MAKE_ARGS= USE_SDL2=yes SDLDIR=${LOCALBASE}
+SDL2_MAKE_ARGS_OFF= USE_SDL2=
+.endif
+
+.if ${FLAVOR} == nosdl
+COMMENT+= (limited graphic and audio function)
+MAKE_ARGS= USE_SDL1= USE_SDL2=
+.endif
+
+post-install:
+ ${INSTALL_PROGRAM} ${WRKDIR}/nlux/bin/${PORTNAME} \
+ ${STAGEDIR}${PREFIX}/bin
+ ${INSTALL_MAN} ${WRKDIR}/nlux/man/man1/${PORTNAME}.1 \
+ ${STAGEDIR}${MANPREFIX}/man/man1
+
+post-install-DOCS-on:
+ ${MKDIR} ${STAGEDIR}${DOCSDIR}
+ ${INSTALL_DATA} ${PORTDOCS:S/^/${WRKSRC}\//} ${STAGEDIR}${DOCSDIR}
+
+post-install-EXAMPLES-on:
+ ${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
+ ${INSTALL_DATA} ${PORTEXAMPLES:S/^/${WRKSRC}\/samples\//} ${STAGEDIR}${EXAMPLESDIR}
+ ${INSTALL_DATA} ${PORTEXAMPLES:S/^/${WRKSRC}\/samples\/graphic\//} ${STAGEDIR}${EXAMPLESDIR}
+ ${INSTALL_DATA} ${PORTEXAMPLES:S/^/${WRKSRC}\/samples\/audio\//} ${STAGEDIR}${EXAMPLESDIR}
+ ${INSTALL_DATA} ${PORTEXAMPLES:S/^/${WRKSRC}\/samples\/network\//} ${STAGEDIR}${EXAMPLESDIR}
+
+.include <bsd.port.mk>
diff --git a/lang/nll/distinfo b/lang/nll/distinfo
new file mode 100644
index 000000000000..5ce1a431307a
--- /dev/null
+++ b/lang/nll/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1694231096
+SHA256 (nlux-alpha-20230909.zip) = 95de3cff019d852872f1870b4838fc939c6394a407659e582f3afc8735a47671
+SIZE (nlux-alpha-20230909.zip) = 998690
diff --git a/lang/nll/pkg-descr b/lang/nll/pkg-descr
new file mode 100644
index 000000000000..4286badd2308
--- /dev/null
+++ b/lang/nll/pkg-descr
@@ -0,0 +1,11 @@
+NLL is a simple language for programming learning
+
+Simple script language for beginners for programming learning.
+
+Complicated sentence structures are abolished and It is designed to understand
+if you can go on reading it by a line unit.
+Integer arithmetic, character string processing, a floating decimal operation
+are possible.
+This has text drawing, graphic and sound function and can make simple games.
+
+NLL is one implementation in NLUX of programming language HOBBY.