(define-module (oni packages scsh) #:use-module ((guix licenses) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages scheme) #:use-module (guix build-system gnu) #:use-module (guix git-download) #:use-module (guix packages)) (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")) (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))))