Add custom scsh from upstream to test

This commit is contained in:
Tom Willemse 2023-03-06 10:21:23 -08:00
parent 4eb646a8da
commit 60d1260775

View file

@ -1,17 +1,57 @@
(define-module (oni packages scsh) (define-module (oni packages scsh)
#:use-module ((guix licenses) #:prefix license:) #:use-module ((guix licenses) #:prefix license:)
#:use-module (gnu packages)
#:use-module (gnu packages autotools) #:use-module (gnu packages autotools)
#:use-module ((gnu packages shells) #:prefix shells:) #:use-module (gnu packages scheme)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix git-download) #:use-module (guix git-download)
#:use-module (guix packages)) #:use-module (guix packages))
(define-public scsh (define-public scsh
(package (let ((commit "114432435e4eadd54334df6b37fcae505079b49f")
(inherit shells:scsh) (revision "1"))
;; (native-search-paths (package
;; (list (search-path-specification (name "scsh")
;; (variable "SCSH_LIB_DIRS") (version (string-append "0.0.0-" revision "." (string-take commit 7)))
;; (separator #f) (source
;; (files '("share/scsh-0.7"))))) (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))))