gnu: Add scsh.

* gnu/packages/shells.scm (scsh): New variable.
This commit is contained in:
ng0 2017-02-16 10:02:57 -06:00 committed by Christopher Allan Webber
parent 8a0c2552b4
commit 52ddeaa0c2
No known key found for this signature in database
GPG Key ID: 4BC025925FF8F4D3
1 changed files with 49 additions and 0 deletions

View File

@ -37,6 +37,7 @@
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages python) #:use-module (gnu packages python)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages scheme)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix download) #:use-module (guix download)
@ -382,3 +383,51 @@ primitives that you are used to from Bash and IPython. It works on all major
systems including Linux, Mac OSX, and Windows. Xonsh is meant for the daily systems including Linux, Mac OSX, and Windows. Xonsh is meant for the daily
use of experts and novices alike.") use of experts and novices alike.")
(license bsd-2))) (license bsd-2)))
(define-public scsh
(let ((commit "114432435e4eadd54334df6b37fcae505079b49f")
(revision "1"))
(package
(name "scsh")
(version (string-append "0.0.0-" revision "." (string-take commit 7)))
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/scheme/scsh")
(commit commit)))
(file-name (string-append name "-" version "-checkout"))
(sha256
(base32
"1ghk08akiz7hff1pndi8rmgamgcrn2mv9asbss9l79d3c2iaav3q"))))
(build-system gnu-build-system)
(arguments
`(#:test-target "test"
#:phases
(modify-phases %standard-phases
(add-before 'configure 'replace-rx
(lambda* (#:key inputs #:allow-other-keys)
(let* ((rx (assoc-ref inputs "scheme48-rx"))
(rxpath (string-append rx "/share/scheme48-"
,(package-version scheme48)
"/rx")))
(delete-file-recursively "rx")
(symlink rxpath "rx"))
#t))
(add-before 'configure 'autoreconf
(lambda _
(zero? (system* "autoreconf")))))))
(inputs
`(("scheme48" ,scheme48)
("scheme48-rx" ,scheme48-rx)))
(native-inputs
`(("autoconf" ,autoconf)
("automake" ,automake)))
(home-page "https://github.com/scheme/scsh")
(synopsis "Unix shell embedded in Scheme")
(description
"Scsh is a Unix shell embedded in Scheme. Scsh has two main
components: a process notation for running programs and setting up pipelines
and redirections, and a complete syscall library for low-level access to the
operating system.")
(license bsd-3))))