~ruther/guix-local

0f11f64022afbd82600b5c301f0af40fcb60fb9a — Ludovic Courtès 9 years ago b974386
gnu: guile-cairo: Honor the Guile effective version.

* gnu/packages/gtk.scm (guile-cairo)[arguments]: Add #:modules.
Get the effective version of Guile and use that in installation
directory names.
1 files changed, 24 insertions(+), 8 deletions(-)

M gnu/packages/gtk.scm
M gnu/packages/gtk.scm => gnu/packages/gtk.scm +24 -8
@@ 740,26 740,42 @@ application suites.")
                "1f5nd9n46n6cwfl1byjml02q3y2hgn7nkx98km1czgwarxl7ws3x"))))
    (build-system gnu-build-system)
    (arguments
     '(#:phases (modify-phases %standard-phases
     '(#:modules ((guix build utils)
                  (guix build gnu-build-system)
                  (ice-9 popen)
                  (ice-9 rdelim))

       #:phases (modify-phases %standard-phases
                  (add-before 'configure 'set-module-directory
                    (lambda* (#:key outputs #:allow-other-keys)
                      ;; Install modules under $out/share/guile/site/2.0.
                      (let ((out (assoc-ref outputs "out")))
                      (let ((out (assoc-ref outputs "out"))
                            (effective
                             (read-line
                              (open-pipe* OPEN_READ "guile" "-c"
                                          "(display (effective-version))"))))
                        (substitute* "Makefile.in"
                          (("scmdir = ([[:graph:]]+).*" _ value)
                           (string-append "scmdir = " value "/2.0\n")))
                           (string-append "scmdir = " value "/" effective "\n")))
                        (substitute* "cairo/Makefile.in"
                          (("moduledir = ([[:graph:]]+).*" _ value)
                           (string-append "moduledir = "
                                          "$(prefix)/share/guile/site/2.0/cairo\n'"))))))
                                          "$(prefix)/share/guile/site/"
                                          effective "/cairo\n'")))
                        #t)))
                  (add-after 'install 'install-missing-file
                    (lambda* (#:key outputs #:allow-other-keys)
                      ;; By default 'vector-types.scm' is not installed, so do
                      ;; it here.
                      (let ((out (assoc-ref outputs "out")))
                        (copy-file "cairo/vector-types.scm"
                                   (string-append out "/share/guile/site/2.0"
                                                  "/cairo/vector-types.scm"))))))))
                      (let ((out (assoc-ref outputs "out"))
                            (effective
                             (read-line
                              (open-pipe* OPEN_READ "guile" "-c"
                                          "(display (effective-version))"))))
                        (install-file "cairo/vector-types.scm"
                                      (string-append out "/share/guile/site/"
                                                     effective "/cairo"))
                        #t))))))
    (inputs
     `(("guile-lib" ,guile-lib)
       ("expat" ,expat)