~ruther/guix-local

0b2d1fd41096cb394064bfa3e599c7024904ec97 — Ludovic Courtès 3 years ago b378259
gnu: guile-readline: Switch to gexps.

* gnu/packages/guile.scm (make-guile-readline): Switch to gexps.
1 files changed, 38 insertions(+), 35 deletions(-)

M gnu/packages/guile.scm
M gnu/packages/guile.scm => gnu/packages/guile.scm +38 -35
@@ 470,42 470,45 @@ without requiring the source code to be rewritten.")
    (source (package-source guile))
    (build-system gnu-build-system)
    (arguments
     '(#:configure-flags '("--disable-silent-rules"
                           "--enable-mini-gmp")   ;for Guile >= 3.0.6
       #:phases (modify-phases %standard-phases
                  (add-before 'build 'chdir
                    (lambda* (#:key outputs #:allow-other-keys)
                      (invoke "make" "-C" "libguile" "scmconfig.h")
                      (invoke "make" "-C" "lib")
                      (chdir "guile-readline")

                      (substitute* "Makefile"
                        (("../libguile/libguile-[[:graph:]]+\\.la")
                         ;; Remove dependency on libguile-X.Y.la.
                         "")
                        (("^READLINE_LIBS = (.*)$" _ libs)
                         ;; Link against the provided libguile.
                         (string-append "READLINE_LIBS = "
                                        "-lguile-$(GUILE_EFFECTIVE_VERSION) "
                                        libs "\n"))
                        (("\\$\\(top_builddir\\)/meta/build-env")
                         ;; Use the provided Guile, not the one from
                         ;; $(builddir).
                         "")

                        ;; Install modules to the 'site' directories.
                        (("^moddir = .*$")
                         "moddir = $(pkgdatadir)/site/$(GUILE_EFFECTIVE_VERSION)\n")
                        (("^ccachedir = .*$")
                         "ccachedir = $(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/site-ccache\n"))

                      ;; Load 'guile-readline.so' from the right place.
                      (substitute* "ice-9/readline.scm"
                        (("load-extension \"guile-readline\"")
                         (format #f "load-extension \
     (list #:configure-flags
           #~'("--disable-silent-rules"
               "--enable-mini-gmp")               ;for Guile >= 3.0.6

           #:phases
           #~(modify-phases %standard-phases
               (add-before 'build 'chdir
                 (lambda* (#:key outputs #:allow-other-keys)
                   (invoke "make" "-C" "libguile" "scmconfig.h")
                   (invoke "make" "-C" "lib")
                   (chdir "guile-readline")

                   (substitute* "Makefile"
                     (("../libguile/libguile-[[:graph:]]+\\.la")
                      ;; Remove dependency on libguile-X.Y.la.
                      "")
                     (("^READLINE_LIBS = (.*)$" _ libs)
                      ;; Link against the provided libguile.
                      (string-append "READLINE_LIBS = "
                                     "-lguile-$(GUILE_EFFECTIVE_VERSION) "
                                     libs "\n"))
                     (("\\$\\(top_builddir\\)/meta/build-env")
                      ;; Use the provided Guile, not the one from
                      ;; $(builddir).
                      "")

                     ;; Install modules to the 'site' directories.
                     (("^moddir = .*$")
                      "moddir = $(pkgdatadir)/site/$(GUILE_EFFECTIVE_VERSION)\n")
                     (("^ccachedir = .*$")
                      "ccachedir = $(pkglibdir)/$(GUILE_EFFECTIVE_VERSION)/site-ccache\n"))

                   ;; Load 'guile-readline.so' from the right place.
                   (substitute* "ice-9/readline.scm"
                     (("load-extension \"guile-readline\"")
                      (format #f "load-extension \
 (string-append ~s \"/lib/guile/\" (effective-version) \"/extensions/guile-readline\")"
                                 (assoc-ref outputs "out"))))
                      #t)))))
                              (assoc-ref outputs "out"))))
                   #t)))))
    (home-page (package-home-page guile))
    (native-inputs (package-native-inputs guile))
    (propagated-inputs (package-propagated-inputs guile))