summaryrefslogtreecommitdiff
path: root/gnu/packages/shells.scm
diff options
context:
space:
mode:
authorMeiyo Peng <meiyo.peng@gmail.com>2019-01-20 21:41:21 +0800
committerLudovic Courtès <ludo@gnu.org>2019-01-28 23:13:41 +0100
commit1d962fc0a1fb676bc327fd69b42086701a3b3d86 (patch)
tree04d1be6d95ebf02da4862f31abe865242607454b /gnu/packages/shells.scm
parente1dba5bea01672c94c9bc4e64695675a2da5bfea (diff)
downloadpatches-1d962fc0a1fb676bc327fd69b42086701a3b3d86.tar
patches-1d962fc0a1fb676bc327fd69b42086701a3b3d86.tar.gz
gnu: Add fish-foreign-env.
* gnu/packages/shells.scm (fish-foreign-env): New variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages/shells.scm')
-rw-r--r--gnu/packages/shells.scm50
1 files changed, 50 insertions, 0 deletions
diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index e92b2fcc63..8e2ca2a9a3 100644
--- a/gnu/packages/shells.scm
+++ b/gnu/packages/shells.scm
@@ -30,6 +30,7 @@
#:use-module (gnu packages)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
#:use-module (gnu packages bison)
#:use-module (gnu packages documentation)
#:use-module (gnu packages groff)
@@ -45,6 +46,7 @@
#:use-module (gnu packages scheme)
#:use-module (guix build-system gnu)
#:use-module (guix build-system python)
+ #:use-module (guix build-system trivial)
#:use-module (guix download)
#:use-module (guix git-download)
#:use-module (guix licenses)
@@ -182,6 +184,54 @@ and syntax highlighting.")
(home-page "https://fishshell.com/")
(license gpl2)))
+(define-public fish-foreign-env
+ (package
+ (name "fish-foreign-env")
+ (version "0.20190116")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/oh-my-fish/plugin-foreign-env.git")
+ (commit "dddd9213272a0ab848d474d0cbde12ad034e65bc")))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "00xqlyl3lffc5l0viin1nyp819wf81fncqyz87jx8ljjdhilmgbs"))))
+ (build-system trivial-build-system)
+ (arguments
+ '(#:modules ((guix build utils))
+ #:builder
+ (begin
+ (use-modules (guix build utils))
+ (let* ((source (assoc-ref %build-inputs "source"))
+ (out (assoc-ref %outputs "out"))
+ (func-path (string-append out "/share/fish/functions")))
+ (mkdir-p func-path)
+ (copy-recursively (string-append source "/functions")
+ func-path)
+
+ ;; Embed absolute paths.
+ (substitute* `(,(string-append func-path "/fenv.fish")
+ ,(string-append func-path "/fenv.apply.fish")
+ ,(string-append func-path "/fenv.main.fish"))
+ (("bash")
+ (string-append (assoc-ref %build-inputs "bash") "/bin/bash"))
+ (("sed")
+ (string-append (assoc-ref %build-inputs "sed") "/bin/sed"))
+ ((" tr ")
+ (string-append " " (assoc-ref %build-inputs "coreutils")
+ "/bin/tr ")))))))
+ (inputs
+ `(("bash" ,bash)
+ ("coreutils" ,coreutils)
+ ("sed" ,sed)))
+ (home-page "https://github.com/oh-my-fish/plugin-foreign-env")
+ (synopsis "Foreign environment interface for fish shell")
+ (description "@code{fish-foreign-env} wraps bash script execution in a way
+that environment variables that are exported or modified get imported back
+into fish.")
+ (license expat)))
+
(define-public rc
(package
(name "rc")