guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

06/07: gnu: Add fish-foreign-env.


From: guix-commits
Subject: 06/07: gnu: Add fish-foreign-env.
Date: Mon, 28 Jan 2019 17:13:58 -0500 (EST)

civodul pushed a commit to branch master
in repository guix.

commit 1d962fc0a1fb676bc327fd69b42086701a3b3d86
Author: Meiyo Peng <address@hidden>
Date:   Sun Jan 20 21:41:21 2019 +0800

    gnu: Add fish-foreign-env.
    
    * gnu/packages/shells.scm (fish-foreign-env): New variable.
    
    Signed-off-by: Ludovic Courtès <address@hidden>
---
 gnu/packages/shells.scm | 50 +++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)

diff --git a/gnu/packages/shells.scm b/gnu/packages/shells.scm
index e92b2fc..8e2ca2a 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")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]