summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--shells/Makefile3
-rw-r--r--shells/guile-gash/DESCR19
-rw-r--r--shells/guile-gash/Makefile21
-rw-r--r--shells/guile-gash/PLIST81
-rw-r--r--shells/guile-gash/distinfo6
5 files changed, 129 insertions, 1 deletions
diff --git a/shells/Makefile b/shells/Makefile
index 712cafb72d5..b7b554d3b83 100644
--- a/shells/Makefile
+++ b/shells/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.61 2018/11/10 20:00:04 wiz Exp $
+# $NetBSD: Makefile,v 1.62 2019/11/13 10:04:19 ng0 Exp $
#
COMMENT= Shells
@@ -16,6 +16,7 @@ SUBDIR+= es
SUBDIR+= esh
SUBDIR+= fish
SUBDIR+= git-sh
+SUBDIR+= guile-gash
SUBDIR+= heirloom-sh
SUBDIR+= lshell
SUBDIR+= mksh
diff --git a/shells/guile-gash/DESCR b/shells/guile-gash/DESCR
new file mode 100644
index 00000000000..a5aecdf8e83
--- /dev/null
+++ b/shells/guile-gash/DESCR
@@ -0,0 +1,19 @@
+Gash is a POSIX-compatible shell written in Guile Scheme. It provides
+both the shell interface, as well as a Guile library for parsing shell
+scripts. Gash is designed to bootstrap Bash as part of the Guix
+bootstrap process. There are plans to develop Gash into a
+general-purpose shell and tool for building interfaces between Scheme
+and the shell.
+
+Features of the shell
+* Sophisticated enough to be used to build Bash.
+* Has a nice colorized prompt.
+* Includes all of the POSIX-specified "special" built-ins except for
+ `times'.
+* Includes about half of the POSIX-specified "regular" built-ins
+ (see `gash/built-ins.scm' for details).
+
+Features of the programming interface
+* Parses Shell scripts into an AST.
+* Provides a rudimentary interface for writing Shell-like Scheme
+ scripts.
diff --git a/shells/guile-gash/Makefile b/shells/guile-gash/Makefile
new file mode 100644
index 00000000000..efb5cd1b7f2
--- /dev/null
+++ b/shells/guile-gash/Makefile
@@ -0,0 +1,21 @@
+# $NetBSD: Makefile,v 1.1 2019/11/13 10:04:19 ng0 Exp $
+
+DISTNAME= gash-0.1
+PKGNAME= guile-${DISTNAME}
+CATEGORIES= shells
+MASTER_SITES= http://download.savannah.nongnu.org/releases/gash/
+
+MAINTAINER= ng0@NetBSD.org
+HOMEPAGE= https://git.savannah.nongnu.org/cgit/gash.git
+COMMENT= POSIX-compatible shell written in Guile Scheme
+LICENSE= gnu-gpl-v3
+
+GNU_CONFIGURE= yes
+GUILE_NEED_BOOTSTRAP= yes
+
+USE_TOOLS+= pkg-config
+
+INFO_FILES= YES
+
+.include "../../lang/guile22/module.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/shells/guile-gash/PLIST b/shells/guile-gash/PLIST
new file mode 100644
index 00000000000..ddf7ff6c680
--- /dev/null
+++ b/shells/guile-gash/PLIST
@@ -0,0 +1,81 @@
+@comment $NetBSD: PLIST,v 1.1 2019/11/13 10:04:19 ng0 Exp $
+guile/2.2/bin/gash
+guile/2.2/info/gash.info
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/break.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/cd.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/colon.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/command.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/continue.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/dot.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/echo.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/eval.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/exec.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/exit.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/export.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/false.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/pwd.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/read.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/readonly.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/return.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/set.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/shift.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/trap.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/true.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/type.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/umask.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/unset.go
+guile/2.2/lib/guile/2.2/ccache/gash/built-ins/utils.go
+guile/2.2/lib/guile/2.2/ccache/gash/compat.go
+guile/2.2/lib/guile/2.2/ccache/gash/compat/hash-table.go
+guile/2.2/lib/guile/2.2/ccache/gash/compat/textual-ports.go
+guile/2.2/lib/guile/2.2/ccache/gash/config.go
+guile/2.2/lib/guile/2.2/ccache/gash/environment.go
+guile/2.2/lib/guile/2.2/ccache/gash/eval.go
+guile/2.2/lib/guile/2.2/ccache/gash/gash.go
+guile/2.2/lib/guile/2.2/ccache/gash/lexer.go
+guile/2.2/lib/guile/2.2/ccache/gash/parser.go
+guile/2.2/lib/guile/2.2/ccache/gash/pattern.go
+guile/2.2/lib/guile/2.2/ccache/gash/readline.go
+guile/2.2/lib/guile/2.2/ccache/gash/repl.go
+guile/2.2/lib/guile/2.2/ccache/gash/shell.go
+guile/2.2/lib/guile/2.2/ccache/gash/word.go
+guile/2.2/share/guile/2.2/gash/built-ins.scm
+guile/2.2/share/guile/2.2/gash/built-ins/break.scm
+guile/2.2/share/guile/2.2/gash/built-ins/cd.scm
+guile/2.2/share/guile/2.2/gash/built-ins/colon.scm
+guile/2.2/share/guile/2.2/gash/built-ins/command.scm
+guile/2.2/share/guile/2.2/gash/built-ins/continue.scm
+guile/2.2/share/guile/2.2/gash/built-ins/dot.scm
+guile/2.2/share/guile/2.2/gash/built-ins/echo.scm
+guile/2.2/share/guile/2.2/gash/built-ins/eval.scm
+guile/2.2/share/guile/2.2/gash/built-ins/exec.scm
+guile/2.2/share/guile/2.2/gash/built-ins/exit.scm
+guile/2.2/share/guile/2.2/gash/built-ins/export.scm
+guile/2.2/share/guile/2.2/gash/built-ins/false.scm
+guile/2.2/share/guile/2.2/gash/built-ins/pwd.scm
+guile/2.2/share/guile/2.2/gash/built-ins/read.scm
+guile/2.2/share/guile/2.2/gash/built-ins/readonly.scm
+guile/2.2/share/guile/2.2/gash/built-ins/return.scm
+guile/2.2/share/guile/2.2/gash/built-ins/set.scm
+guile/2.2/share/guile/2.2/gash/built-ins/shift.scm
+guile/2.2/share/guile/2.2/gash/built-ins/trap.scm
+guile/2.2/share/guile/2.2/gash/built-ins/true.scm
+guile/2.2/share/guile/2.2/gash/built-ins/type.scm
+guile/2.2/share/guile/2.2/gash/built-ins/umask.scm
+guile/2.2/share/guile/2.2/gash/built-ins/unset.scm
+guile/2.2/share/guile/2.2/gash/built-ins/utils.scm
+guile/2.2/share/guile/2.2/gash/compat.scm
+guile/2.2/share/guile/2.2/gash/compat/hash-table.scm
+guile/2.2/share/guile/2.2/gash/compat/textual-ports.scm
+guile/2.2/share/guile/2.2/gash/config.scm
+guile/2.2/share/guile/2.2/gash/environment.scm
+guile/2.2/share/guile/2.2/gash/eval.scm
+guile/2.2/share/guile/2.2/gash/gash.scm
+guile/2.2/share/guile/2.2/gash/lexer.scm
+guile/2.2/share/guile/2.2/gash/parser.scm
+guile/2.2/share/guile/2.2/gash/pattern.scm
+guile/2.2/share/guile/2.2/gash/readline.scm
+guile/2.2/share/guile/2.2/gash/repl.scm
+guile/2.2/share/guile/2.2/gash/shell.scm
+guile/2.2/share/guile/2.2/gash/word.scm
diff --git a/shells/guile-gash/distinfo b/shells/guile-gash/distinfo
new file mode 100644
index 00000000000..00cd4764f49
--- /dev/null
+++ b/shells/guile-gash/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1 2019/11/13 10:04:19 ng0 Exp $
+
+SHA1 (gash-0.1.tar.gz) = 806e42582feb0f4a769f7f56d04b78f11cc5b933
+RMD160 (gash-0.1.tar.gz) = 1cfc0db59584f4ada407c293b5509b88dd84566a
+SHA512 (gash-0.1.tar.gz) = 4f90d40eb434e3f735ef727aeeb55d88b1962b0e7d1f02f711961234934a62a40d8f8d8c1004fe8fc825c0b01fab520eaacba28bcf758452e3db3d66098c2c85
+Size (gash-0.1.tar.gz) = 321694 bytes