gnu: Add scsh.
* gnu/packages/shells.scm (scsh): New variable.
This commit is contained in:
		
							parent
							
								
									8a0c2552b4
								
							
						
					
					
						commit
						52ddeaa0c2
					
				
					 1 changed files with 49 additions and 0 deletions
				
			
		| 
						 | 
					@ -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))))
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Reference in a new issue