diff mbox series

[bug#40984,1/2] gnu: Add guile3.0-ncurses.

Message ID f2be7628d5cce892974bb100eb07ce272f546048.1588264594.git.mjbecze@riseup.net
State Accepted
Headers show
Series [bug#40984,1/2] gnu: Add guile3.0-ncurses. | expand

Checks

Context Check Description
cbaines/comparison success View comparision
cbaines/git branch success View Git branch
cbaines/applying patch success View Laminar job

Commit Message

Martin Becze April 30, 2020, 4:37 p.m. UTC
* gnu/packages/guile-xyz.scm (guile3.0-ncurses): new variable.
---
 gnu/packages/guile-xyz.scm | 29 ++++++++++++++++++++++++++++-
 1 file changed, 28 insertions(+), 1 deletion(-)

Comments

Mathieu Othacehe May 1, 2020, 10:47 a.m. UTC | #1
Hello Martin,

Thanks for this patch.

> +               (substitute* files
> +                 (("\"libguile-ncurses\"")
> +                  (format #f "\"~a/lib/guile/3.0/libguile-ncurses\""
> +                          out)))
> +               #t))))))))

I think you could modify guile-ncurses to use "effective-version"
instead of hardcoded "2.2". This way, guile3.0-ncurses would just
inherit from guile-ncurses this way:

--8<---------------cut here---------------start------------->8---
(define-public guile3.0-ncurses
  (package
    (inherit guile-ncurses)
    (name "guile3.0-ncurses")
    (version "3.0")
    (inputs `(("ncurses" ,ncurses)
              ("guile" ,guile-3.0)))))
--8<---------------cut here---------------end--------------->8---

WDYT?

Thanks,

Mathieu
diff mbox series

Patch

diff --git a/gnu/packages/guile-xyz.scm b/gnu/packages/guile-xyz.scm
index 6ec1c4c2fc..37511e9bca 100644
--- a/gnu/packages/guile-xyz.scm
+++ b/gnu/packages/guile-xyz.scm
@@ -23,7 +23,7 @@ 
 ;;; Copyright © 2019 swedebugia <swedebugia@riseup.net>
 ;;; Copyright © 2019, 2020 Amar Singh <nly@disroot.org>
 ;;; Copyright © 2019 Timothy Sample <samplet@ngyro.com>
-;;; Copyright © 2019 Martin Becze <mjbecze@riseup.net>
+;;; Copyright © 2019, 2020 Martin Becze <mjbecze@riseup.net>
 ;;; Copyright © 2020 Evan Straw <evan.straw99@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
@@ -1858,6 +1858,33 @@  many readers as needed).")
 library.")
     (license license:lgpl3+)))
 
+(define-public guile3.0-ncurses
+  (package
+    (inherit guile-ncurses)
+    (name "guile3.0-ncurses")
+    (version "3.0")
+    (inputs `(("ncurses" ,ncurses)
+              ("guile" ,guile-3.0)))
+    (arguments
+     '(#:configure-flags (list "--with-ncursesw"  ; unicode support
+                               "--with-gnu-filesystem-hierarchy")
+       #:phases
+       (modify-phases %standard-phases
+         (add-before 'build 'fix-libguile-ncurses-file-name
+           (lambda* (#:key outputs #:allow-other-keys)
+             (invoke "make" "install"
+                     "-c" "src/ncurses"
+                     "-j" (number->string
+                           (parallel-job-count)))
+             (let* ((out   (assoc-ref outputs "out"))
+                    (dir   "src/ncurses")
+                    (files (find-files dir ".scm")))
+               (substitute* files
+                 (("\"libguile-ncurses\"")
+                  (format #f "\"~a/lib/guile/3.0/libguile-ncurses\""
+                          out)))
+               #t))))))))
+
 (define-public guile-ncurses/gpm
   (package
     (inherit guile-ncurses)