Add shells/guile-gash version 0.1

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.
This commit is contained in:
ng0 2019-11-13 10:04:19 +00:00
parent 785eabc481
commit d7421a980d
5 changed files with 129 additions and 1 deletions

View file

@ -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

19
shells/guile-gash/DESCR Normal file
View file

@ -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.

View file

@ -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"

81
shells/guile-gash/PLIST Normal file
View file

@ -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

View file

@ -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