[PATCH] gnu: Add guile2.2-bash.

  • Open
  • quality assurance status badge
Details
2 participants
  • david larsson
  • Ludovic Courtès
Owner
unassigned
Submitted by
david larsson
Severity
normal

Debbugs page

david larsson wrote 4 years ago
(address . guix-patches@gnu.org)
cddcb5d9a62440d4e07168df27864c43@selfhosted.xyz
From 00288ef6849c78b09c2934bd4565af76cccc2825 Mon Sep 17 00:00:00 2001
From: methuselah-0 <david.larsson@selfhosted.xyz>
Date: Wed, 31 Mar 2021 20:43:16 +0200
Subject: [PATCH] gnu: Add guile2.2-bash.

* gnu/packages/guile-xyz.scm (guile2.2-bash): New variable.
---
gnu/packages/guile-xyz.scm | 68 ++++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)

Toggle diff (95 lines)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index c798bed817..90f2ec720e 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -36,6 +36,7 @@
;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net>
+;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -429,6 +430,73 @@ enable -f ~/.guix-profile/lib/bash/libguile-bash.so
scm
and then run @command{scm example.scm}.")
(license license:gpl3+))))

+(define-public guile2.2-bash
+ (let ((commit "678e06df1e9f786ba87b47b18fa5c041eb0e3e86")
+ (revision "1"))
+ (package
+ (name "guile2.2-bash")
+ (version (string-append "0.1.6-" revision "." (string-take commit
7)))
+ (home-page
+ "https://gitlab.com/methuselah-0/guile-bash")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (commit commit)
+ (url
"https://gitlab.com/methuselah-0/guile-bash.git")))
+ (sha256
+ (base32
+
"1dipzbyy3jlc3d40v5vbf4a9vlw6fyv4b03hfvj94iy3papji5sn"))
+ (file-name (string-append name "-" version
"-checkout"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags
+ ;; Add -I to match 'bash.pc' of Bash 4.4.
+ (list (string-append "CPPFLAGS=-I"
+ (assoc-ref %build-inputs "bash:include")
+ "/include/bash/include")
+
+ ;; The '.a' file is useless.
+ "--disable-static"
+
+ ;; Install 'lib/bash' as Bash 4.4 expects.
+ (string-append "--libdir=" (assoc-ref %outputs "out")
+ "/lib/bash"))))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("autoconf" ,autoconf-wrapper)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'.
+ ("gettext" ,gettext-minimal)
+
+ ;; Bash with loadable module support, for the
test
+ ;; suite.
+ ("bash-full" ,bash)))
+ (inputs `(("guile" ,guile-2.2)
+ ("bash:include" ,bash "include")))
+ (synopsis "Extend Bash using Guile")
+ (description
+ "Guile-Bash provides a shared library and set of Guile modules,
+allowing you to extend Bash in Scheme. Scheme interfaces allow you to
access
+the following aspects of Bash:
+
+@itemize
+@item aliases;
+@item setting and getting Bash variables;
+@item creating dynamic variables;
+@item creating Bash functions with a Scheme implementation;
+@item reader macro for output capturing;
+@item reader macro for evaluating raw Bash commands.
+@end itemize
+
+To enable it, run:
+
+@example
+enable -f ~/.guix-profile/lib/bash/libguile-bash.so scm
+@end example
+
+and then run @command{scm \"$(pwd)\"/example.scm}.")
+ (license license:gpl3+))))
+
(define-public guile-8sync
(package
(name "guile-8sync")
--
2.30.2
From 00288ef6849c78b09c2934bd4565af76cccc2825 Mon Sep 17 00:00:00 2001
From: methuselah-0 <david.larsson@selfhosted.xyz>
Date: Wed, 31 Mar 2021 20:43:16 +0200
Subject: [PATCH] gnu: Add guile2.2-bash.

* gnu/packages/guile-xyz.scm (guile2.2-bash): New variable.
---
gnu/packages/guile-xyz.scm | 68 ++++++++++++++++++++++++++++++++++++++
1 file changed, 68 insertions(+)

Toggle diff (88 lines)
diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index c798bed817..90f2ec720e 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -36,6 +36,7 @@
;;; Copyright © 2021 Bonface Munyoki Kilyungi <me@bonfacemunyoki.com>
;;; Copyright © 2021 Xinglu Chen <public@yoctocell.xyz>
;;; Copyright © 2021 Leo Le Bouter <lle-bout@zaclys.net>
+;;; Copyright © 2021 David Larsson <david.larsson@selfhosted.xyz>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -429,6 +430,73 @@ enable -f ~/.guix-profile/lib/bash/libguile-bash.so scm
and then run @command{scm example.scm}.")
(license license:gpl3+))))
+(define-public guile2.2-bash
+ (let ((commit "678e06df1e9f786ba87b47b18fa5c041eb0e3e86")
+ (revision "1"))
+ (package
+ (name "guile2.2-bash")
+ (version (string-append "0.1.6-" revision "." (string-take commit 7)))
+ (home-page
+ "https://gitlab.com/methuselah-0/guile-bash")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (commit commit)
+ (url "https://gitlab.com/methuselah-0/guile-bash.git")))
+ (sha256
+ (base32
+ "1dipzbyy3jlc3d40v5vbf4a9vlw6fyv4b03hfvj94iy3papji5sn"))
+ (file-name (string-append name "-" version "-checkout"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:configure-flags
+ ;; Add -I to match 'bash.pc' of Bash 4.4.
+ (list (string-append "CPPFLAGS=-I"
+ (assoc-ref %build-inputs "bash:include")
+ "/include/bash/include")
+
+ ;; The '.a' file is useless.
+ "--disable-static"
+
+ ;; Install 'lib/bash' as Bash 4.4 expects.
+ (string-append "--libdir=" (assoc-ref %outputs "out")
+ "/lib/bash"))))
+ (native-inputs `(("pkg-config" ,pkg-config)
+ ("autoconf" ,autoconf-wrapper)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ;; Gettext brings 'AC_LIB_LINKFLAGS_FROM_LIBS'.
+ ("gettext" ,gettext-minimal)
+
+ ;; Bash with loadable module support, for the test
+ ;; suite.
+ ("bash-full" ,bash)))
+ (inputs `(("guile" ,guile-2.2)
+ ("bash:include" ,bash "include")))
+ (synopsis "Extend Bash using Guile")
+ (description
+ "Guile-Bash provides a shared library and set of Guile modules,
+allowing you to extend Bash in Scheme. Scheme interfaces allow you to access
+the following aspects of Bash:
+
+@itemize
+@item aliases;
+@item setting and getting Bash variables;
+@item creating dynamic variables;
+@item creating Bash functions with a Scheme implementation;
+@item reader macro for output capturing;
+@item reader macro for evaluating raw Bash commands.
+@end itemize
+
+To enable it, run:
+
+@example
+enable -f ~/.guix-profile/lib/bash/libguile-bash.so scm
+@end example
+
+and then run @command{scm \"$(pwd)\"/example.scm}.")
+ (license license:gpl3+))))
+
(define-public guile-8sync
(package
(name "guile-8sync")
--
2.30.2
Ludovic Courtès wrote 4 years ago
(name . david larsson)(address . david.larsson@selfhosted.xyz)(address . 47528@debbugs.gnu.org)
874kglvzap.fsf@gnu.org
Hi David,

david larsson <david.larsson@selfhosted.xyz> skribis:

Toggle quote (7 lines)
> From 00288ef6849c78b09c2934bd4565af76cccc2825 Mon Sep 17 00:00:00 2001
> From: methuselah-0 <david.larsson@selfhosted.xyz>
> Date: Wed, 31 Mar 2021 20:43:16 +0200
> Subject: [PATCH] gnu: Add guile2.2-bash.
>
> * gnu/packages/guile-xyz.scm (guile2.2-bash): New variable.

Since you’re maintaining your own version of ‘guile-bash’ upstream, how
about making sure that it works with Guile 3.0 (the current default in
Guix) and changing ‘guile-bash’ to refer to your version and to use
Guile 3.0?

Thanks,
Ludo’.
david larsson wrote 4 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 47528@debbugs.gnu.org)
68b2ec1d3d3883dabf0d8fe35846526e@selfhosted.xyz
On 2021-04-05 11:46, Ludovic Courtès wrote:
Toggle quote (19 lines)
> Hi David,
>
> david larsson <david.larsson@selfhosted.xyz> skribis:
>
>> From 00288ef6849c78b09c2934bd4565af76cccc2825 Mon Sep 17 00:00:00 2001
>> From: methuselah-0 <david.larsson@selfhosted.xyz>
>> Date: Wed, 31 Mar 2021 20:43:16 +0200
>> Subject: [PATCH] gnu: Add guile2.2-bash.
>>
>> * gnu/packages/guile-xyz.scm (guile2.2-bash): New variable.
>
> Since you’re maintaining your own version of ‘guile-bash’ upstream, how
> about making sure that it works with Guile 3.0 (the current default in
> Guix) and changing ‘guile-bash’ to refer to your version and to use
> Guile 3.0?
>
> Thanks,
> Ludo’.

Hi, I would have liked to, but I don't understand the codebase as well
as I want to yet so Im unable to. The project is created by Dmitry
Bogatov, and my minor edit (removed a test-case) is just a quick-fix to
make the package build for guile2.2. Hopefully, Dmitry will be back some
day to maintain the project again.

Best regards,
David
?
Your comment

Commenting via the web interface is currently disabled.

To comment on this conversation send an email to 47528@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 47528
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help