gnu: emacsy: Cleanup build.

* gnu/packages/guile-xyz.scm (emacsy): Wrap binaries; fixes guile version
conflicts.  Move some propagated inputs to inputs.
This commit is contained in:
Amar Singh 2019-07-10 16:45:50 +05:30 committed by Jan Nieuwenhuizen
parent e8c2da4104
commit 114f02bac4
No known key found for this signature in database
GPG Key ID: F3C1A0D9C1D65273
1 changed files with 35 additions and 5 deletions

View File

@ -2353,22 +2353,52 @@ more expressive and flexible than the traditional @code{format} procedure.")
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("texinfo" ,texinfo) ("texinfo" ,texinfo)
("texlive" ,(texlive-union (list texlive-generic-epsf))))) ("texlive" ,(texlive-union (list texlive-generic-epsf)))))
(propagated-inputs (inputs
`(("dbus-glib" ,dbus-glib) `(("dbus-glib" ,dbus-glib)
("guile" ,guile-2.2) ("guile" ,guile-2.2)
("guile-lib" ,guile-lib) ("guile-lib" ,guile-lib)
("guile-readline" ,guile-readline) ("guile-readline" ,guile-readline)
("glib-networking" ,glib-networking)
("freeglut" ,freeglut) ("freeglut" ,freeglut)
("gssettings-desktop-schemas" ,gsettings-desktop-schemas)
("webkitgtk" ,webkitgtk))) ("webkitgtk" ,webkitgtk)))
(propagated-inputs
`(("glib-networking" ,glib-networking)
("gssettings-desktop-schemas" ,gsettings-desktop-schemas)))
(arguments (arguments
`(#:phases `(#:modules ((guix build gnu-build-system)
(guix build utils)
(ice-9 popen)
(ice-9 rdelim)
(ice-9 regex)
(ice-9 ftw)
(srfi srfi-26))
#:phases
(modify-phases %standard-phases (modify-phases %standard-phases
(add-before 'configure 'setenv (add-before 'configure 'setenv
(lambda _ (lambda _
(setenv "GUILE_AUTO_COMPILE" "0") (setenv "GUILE_AUTO_COMPILE" "0")
#t))))) #t))
(add-after 'install 'wrap-binaries
(lambda* (#:key inputs outputs #:allow-other-keys)
(let* ((out (assoc-ref outputs "out"))
(effective (read-line
(open-pipe* OPEN_READ
"guile" "-c"
"(display (effective-version))")))
(deps (map (cut assoc-ref inputs <>)
'("guile-lib" "guile-readline")))
(scm-path (map (cut string-append <> "/share/guile/site/"
effective) `(,out ,@deps)))
(go-path (map (cut string-append <> "/lib/guile/" effective
"/site-ccache/") `(,out ,@deps)))
(examples (filter (cut string-match "emacsy" <>)
(scandir (string-append out "/bin/"))))
(progs (map (cut string-append out "/bin/" <>)
examples)))
(map (cut wrap-program <>
`("GUILE_LOAD_PATH" ":" prefix ,scm-path)
`("GUILE_LOAD_COMPILED_PATH" ":" prefix ,go-path))
progs)
#t))))))
(home-page "https://savannah.nongnu.org/projects/emacsy") (home-page "https://savannah.nongnu.org/projects/emacsy")
(synopsis "Embeddable GNU Emacs-like library using Guile") (synopsis "Embeddable GNU Emacs-like library using Guile")
(description (description