summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/lua.scm69
-rw-r--r--gnu/packages/wm.scm8
2 files changed, 44 insertions, 33 deletions
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index a69291ec8a..bd0d58a559 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -10,6 +10,7 @@
 ;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org>
 ;;; Copyright © 2018, 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com>
+;;; Copyright © 2020 Nicolas Goaziou <mail@nicolasgoaziou.fr>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -338,40 +339,41 @@ secure session between the peers.")
 (define-public lua5.2-sec
   (make-lua-sec "lua5.2-sec" lua-5.2))
 
-(define-public lua-lgi
+(define (make-lua-lgi name lua)
   (package
-    (name "lua-lgi")
+    (name name)
     (version "0.9.2")
     (source
-      (origin
-        (method git-fetch)
-        (uri (git-reference
-               (url "https://github.com/pavouk/lgi")
-               (commit version)))
-        (file-name (git-file-name name version))
-        (sha256
-         (base32
-          "03rbydnj411xpjvwsyvhwy4plm96481d7jax544mvk7apd8sd5jj"))))
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/pavouk/lgi")
+             (commit version)))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "03rbydnj411xpjvwsyvhwy4plm96481d7jax544mvk7apd8sd5jj"))))
     (build-system gnu-build-system)
     (arguments
-     '(#:make-flags (list "CC=gcc"
-                          (string-append "PREFIX=" (assoc-ref %outputs "out")))
+     `(#:make-flags
+       (list "CC=gcc"
+             (string-append "PREFIX=" (assoc-ref %outputs "out")))
        #:phases
        (modify-phases %standard-phases
-         (delete 'configure) ; no configure script
+         (delete 'configure)            ; no configure script
          (add-before 'build 'set-env
            (lambda* (#:key inputs #:allow-other-keys)
-             ;; we need to load cairo dynamically
-             (let* ((cairo (string-append
-                             (assoc-ref inputs "cairo") "/lib" )))
+             ;; We need to load cairo dynamically.
+             (let* ((cairo (string-append (assoc-ref inputs "cairo") "/lib")))
                (setenv "LD_LIBRARY_PATH" cairo)
                #t)))
          (add-before 'build 'set-lua-version
            (lambda _
-             ;; lua version and therefore install directories are hardcoded
-             ;; FIXME: This breaks when we update lua to >=5.3
+             ;; Lua version and therefore install directories are hardcoded.
              (substitute* "./lgi/Makefile"
-               (("LUA_VERSION=5.1") "LUA_VERSION=5.2"))
+               (("LUA_VERSION=5.1")
+                (format #f
+                        "LUA_VERSION=~a"
+                        ,(version-major+minor (package-version lua)))))
              #t))
          (add-before 'check 'skip-test-gtk
            (lambda _
@@ -392,26 +394,35 @@ secure session between the peers.")
                              (assoc-ref inputs "xorg-server")))
              (setenv "DISPLAY" ":1")
              #t)))))
+    (native-inputs
+     `(("dbus" ,dbus)                   ;tests use 'dbus-run-session'
+       ("pkg-config" ,pkg-config)))
     (inputs
-     `(("gobject-introspection" ,gobject-introspection)
+     `(("cairo" ,cairo)
        ("glib" ,glib)
-       ("pango" ,pango)
+       ("gobject-introspection" ,gobject-introspection)
        ("gtk" ,gtk+-2)
-       ("lua" ,lua)
-       ("cairo" ,cairo)
        ("libffi" ,libffi)
+       ("lua" ,lua)
+       ("pango" ,pango)
        ("xorg-server" ,xorg-server)))
-    (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("dbus" ,dbus)))                          ;tests use 'dbus-run-session'
     (home-page "https://github.com/pavouk/lgi/")
     (synopsis "Lua bridge to GObject based libraries")
     (description
-     "LGI is gobject-introspection based dynamic Lua binding to GObject
-based libraries.  It allows using GObject-based libraries directly from Lua.
+     "LGI is gobject-introspection based dynamic Lua binding to GObject based
+libraries.  It allows using GObject-based libraries directly from Lua.
 Notable examples are GTK+, GStreamer and Webkit.")
     (license license:expat)))
 
+(define-public lua-lgi
+  (make-lua-lgi "lua-lgi" lua))
+
+(define-public lua5.1-lgi
+  (make-lua-lgi "lua5.1-lgi" lua-5.1))
+
+(define-public lua5.2-lgi
+  (make-lua-lgi "lua5.2-lgi" lua-5.2))
+
 (define (make-lua-lpeg name lua)
   (package
     (name name)
diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm
index 52d7042806..23e2e97215 100644
--- a/gnu/packages/wm.scm
+++ b/gnu/packages/wm.scm
@@ -948,9 +948,9 @@ experience.")
                     (lua-lgi (assoc-ref inputs "lua-lgi") ))
                (setenv "LD_LIBRARY_PATH" cairo )
                (setenv "LUA_PATH" (string-append lua-lgi
-                                                 "/share/lua/5.2/?.lua"))
+                                                 "/share/lua/5.3/?.lua"))
                (setenv "LUA_CPATH" (string-append lua-lgi
-                                                  "/lib/lua/5.2/?.so"))
+                                                  "/lib/lua/5.3/?.so"))
                #t)))
          (replace 'check
            (lambda _
@@ -974,9 +974,9 @@ experience.")
                  `("GI_TYPELIB_PATH" ":" prefix (,(getenv "GI_TYPELIB_PATH")))
                  `("LD_LIBRARY_PATH" suffix (, cairo))
                  `("LUA_PATH" suffix (,(string-append lua-lgi
-                                                      "/share/lua/5.2/?.lua")))
+                                                      "/share/lua/5.3/?.lua")))
                  `("LUA_CPATH" suffix (,(string-append
-                                          lua-lgi "/lib/lua/5.2/?.so"))))))))))
+                                          lua-lgi "/lib/lua/5.3/?.so"))))))))))
     (synopsis "Highly configurable window manager")
     (description
      "Awesome has been designed as a framework window manager.  It is fast, small,