guix-patches
[Top][All Lists]
Advanced

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

[bug#74858] [PATCH] gnu: add guile-guix-graze


From: bigbookofbug
Subject: [bug#74858] [PATCH] gnu: add guile-guix-graze
Date: Fri, 13 Dec 2024 20:18:47 +0000

From: emma thompson <bigbookofbug@proton.me>

---
 gnu/packages/guile-xyz.scm | 63 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 63 insertions(+)

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index bd5878d229..ef98fdbc54 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -2317,6 +2317,69 @@ (define-public guile2.2-ics
     (inputs (list guile-2.2))
     (propagated-inputs (list guile2.2-lib guile2.2-dsv guile2.2-smc))))
 
+(define-public guile-guix-graze
+  (let ((version "0.1"))
+    (package
+      (name "guix-graze")
+      (version version)
+      (source
+       (origin
+        (method git-fetch)
+        (uri (git-reference
+              (url "https://gitlab.com/bigbookofbug/guix-graze";)
+              (commit version)))
+        (file-name (git-file-name name version))
+        (sha256
+         (base32 "0fk8gfdnm41gwmhppjv7zwg5j7fb0n7ww27sdcdf8s9rjs9415fl"))))
+      (build-system gnu-build-system)
+      (arguments
+       (list
+       #:modules
+          `(((guix build guile-build-system)
+            #:select
+            (target-guile-effective-version))
+           ,@%default-gnu-imported-modules)
+         #:phases
+          (with-imported-modules
+            `((guix build guile-build-system)
+              ,@%default-gnu-imported-modules)
+            #~(modify-phases
+                    %standard-phases
+                    (add-after
+                       'install
+                       'graze-wrap-binaries
+                     (lambda* (#:key inputs #:allow-other-keys)
+                       (let* ((version (target-guile-effective-version))
+                              (site-ccache
+                               (string-append "/lib/guile/" version 
"/site-ccache"))
+                              (site (string-append "/share/guile/site/" 
version))
+                              (dep-path
+                               (lambda (env path)
+                                 (list env ":" 'prefix
+                                       (cons (string-append
+                                              nil output
+                                              path)
+                                             (map (lambda (input)
+                                                    (string-append
+                                                     (assoc-ref inputs input)
+                                                     path))
+                                                  (list "guile-config"))))))
+                              (bin (string-append (ungexp output) "/bin/")))
+                         (wrap-program
+                             (string-append bin "graze")
+                           (dep-path "GUILE_LOAD_PATH" site)
+                           (dep-path "GUILE_LOAD_COMPILED_PATH" 
site-ccache)))))))))
+      (native-inputs
+       (list autoconf automake pkg-config guile-3.0))
+      (inputs (list bash-minimal guile-3.0))
+      (propagated-inputs (list guile-config))
+      (synopsis "A guix shell templating and automation system")
+      (description
+       "Graze is a command-line tool used for complex guix shell invocations, 
where a simple manifest does not suffice. Through the use of a shell.scm file, 
it allows for a declarative approach to Guix development environments, and a 
project templating system inspired by Nix's flake templates.")
+      (home-page
+   "https://gitlab.com/bigbookofbug/guix-graze";)
+      (license license:gpl3+))))
+
 (define-public guile-imanifest
   (let ((commit "ccd5a2111b008d778106f5595a3a585954d95d0")
         (revision "0"))

base-commit: 0787a180b3ca64d3958438920ca1b58a2a27fba4
-- 
2.46.0







reply via email to

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