summary refs log tree commit diff
diff options
context:
space:
mode:
authorRicardo Wurmus <rekado@elephly.net>2017-05-04 17:06:53 +0200
committerRicardo Wurmus <rekado@elephly.net>2017-05-04 17:09:00 +0200
commit7ec309af909add2791638d7e712e95c6dd24e723 (patch)
tree54719d7552231b2f4a2276859900033eaf483a09
parent6ba4eca234470c2151755b071e8a06c9e4e49b1b (diff)
downloadguix-7ec309af909add2791638d7e712e95c6dd24e723.tar.gz
gnu: lua-libmpack: Update to new upstream source.
Inheriting the source from libmpack no longer works, because upstream has
moved the Lua bindings to a separate repository.

This is a follow-up to commit b5236121065abe32a88f8f0644ceb505f5cf1d18.

* gnu/packages/serialization.scm (lua-libmpack)[source]: Use new upstream
source.
[arguments]: Adjust make flags and build phases.
[native-inputs]: Add package sources of libmpack.
[home-page]: Use new home page URL.
-rw-r--r--gnu/packages/serialization.scm35
1 files changed, 26 insertions, 9 deletions
diff --git a/gnu/packages/serialization.scm b/gnu/packages/serialization.scm
index 7110491fa6..8e355223d6 100644
--- a/gnu/packages/serialization.scm
+++ b/gnu/packages/serialization.scm
@@ -165,6 +165,14 @@ that implements both the msgpack and msgpack-rpc specifications.")
 (define-public lua-libmpack
   (package (inherit libmpack)
     (name "lua-libmpack")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "https://github.com/libmpack/libmpack-lua/"
+                                  "archive/" (package-version libmpack) ".tar.gz"))
+              (file-name (string-append name "-" (package-version libmpack) ".tar.gz"))
+              (sha256
+               (base32
+                "153zrrbyxhf71dgzjjhrk56rfwk3nisslpgcqyg44v8fnz1xpk6i"))))
     (build-system gnu-build-system)
     (arguments
      `(;; FIXME: tests require "busted", which is not yet available in Guix.
@@ -174,26 +182,35 @@ that implements both the msgpack and msgpack-rpc specifications.")
        (let* ((lua-version ,(package-version lua))
               (lua-major+minor ,(version-major+minor (package-version lua))))
          (list "CC=gcc"
+               "FETCH=echo"  ; don't fetch anything from the web
+               "UNTGZ=echo"  ; and don't try to unpack it
                "USE_SYSTEM_LUA=yes"
-               (string-append "LUA_VERSION=" lua-version)
-               (string-append "LUA_VERSION_MAJ_MIN=" lua-major+minor)
+               (string-append "MPACK_LUA_VERSION=" lua-version)
+               (string-append "MPACK_LUA_VERSION_NOPATCH=" lua-major+minor)
                (string-append "PREFIX="
                               (assoc-ref %outputs "out"))
                (string-append "LUA_CMOD_INSTALLDIR="
                               (assoc-ref %outputs "out")
-                              "/lib/lua/" lua-major+minor)
-               ;; This is unnecessary as of upstream commit 02886c13ff8a2,
-               ;; which is not part of the current release.
-               "CFLAGS=-DLUA_C89_NUMBERS -fPIC"))
+                              "/lib/lua/" lua-major+minor)))
        #:phases
        (modify-phases %standard-phases
          (delete 'configure)
-         (add-after 'unpack 'chdir
-           (lambda _ (chdir "binding/lua") #t)))))
+         (add-after 'unpack 'unpack-mpack-sources
+           (lambda* (#:key inputs #:allow-other-keys)
+             ;; This is broken because mpack-src is not a file, but all
+             ;; prerequisites are added to the inputs of the gcc invocation.
+             (substitute* "Makefile"
+               (("\\$\\(MPACK\\): mpack-src") "$(MPACK): "))
+             (mkdir-p "mpack-src")
+             (zero? (system* "tar" "-C" "mpack-src"
+                             "--strip-components=1"
+                             "-xvf" (assoc-ref inputs "libmpack"))))))))
     (inputs
      `(("lua" ,lua)))
     (native-inputs
-     `(("pkg-config" ,pkg-config)))
+     `(("pkg-config" ,pkg-config)
+       ("libmpack" ,(package-source libmpack))))
+    (home-page "https://github.com/libmpack/libmpack-lua")
     (synopsis "Lua bindings for the libmpack binary serialization library")))
 
 (define-public lua5.2-libmpack