dotfiles/oni/packages/scsh.scm

58 lines
2.2 KiB
Scheme
Raw Normal View History

(define-module (oni packages scsh)
#:use-module ((guix licenses) #:prefix license:)
2023-03-06 19:21:23 +01:00
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
2023-03-06 19:21:23 +01:00
#:use-module (gnu packages scheme)
#:use-module (guix build-system gnu)
#:use-module (guix git-download)
#:use-module (guix packages))
(define-public scsh
2023-03-06 19:21:23 +01:00
(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"))
(patches (search-patches "scsh-nonstring-search-path.patch"))))
(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)))))
(inputs
(list scheme48 scheme48-rx))
(native-inputs
(list autoconf automake))
(native-search-paths
(list (search-path-specification
(variable "SCSH_LIB_DIRS")
(separator " ")
(files '("share/scsh-0.7")))))
(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 license:bsd-3))))