~ruther/guix-local

149b2c439e226c62e549bad7eecd649e1a3b8021 — ClĂ©ment Lassieur 8 years ago 1aace3d
gnu: lua-lpeg: Avoid code repetition.

* gnu/packages/lua.scm (make-lua-lpeg): New procedure.
(lua-lpeg, lua5.2-lpeg): Call make-lua-lpeg.
1 files changed, 6 insertions(+), 24 deletions(-)

M gnu/packages/lua.scm
M gnu/packages/lua.scm => gnu/packages/lua.scm +6 -24
@@ 356,9 356,9 @@ based libraries.  It allows using GObject-based libraries directly from Lua.
Notable examples are GTK+, GStreamer and Webkit.")
    (license license:expat)))

(define-public lua-lpeg
(define (make-lua-lpeg name lua)
  (package
    (name "lua-lpeg")
    (name name)
    (version "1.0.1")
    (source (origin
              (method url-fetch)


@@ 390,29 390,11 @@ Grammars (PEGs).")
    (home-page "http://www.inf.puc-rio.br/~roberto/lpeg")
    (license license:expat)))

(define-public lua-lpeg
  (make-lua-lpeg "lua-lpeg" lua))

(define-public lua5.2-lpeg
  (package (inherit lua-lpeg)
    (name "lua5.2-lpeg")
    ;; XXX: The arguments field is almost an exact copy of the field in
    ;; "lua-lpeg", except for the version string, which was derived from "lua"
    ;; and now is taken from "lua-5.2".  See this discussion for context:
    ;; http://lists.gnu.org/archive/html/guix-devel/2017-01/msg02048.html
    (arguments
     `(#:phases
       (modify-phases %standard-phases
         (delete 'configure)
         ;; `make install` isn't available, so we have to do it manually
         (replace 'install
           (lambda* (#:key outputs #:allow-other-keys)
             (let ((out (assoc-ref outputs "out"))
                   (lua-version ,(version-major+minor (package-version lua-5.2))))
               (install-file "lpeg.so"
                             (string-append out "/lib/lua/" lua-version))
               (install-file "re.lua"
                             (string-append out "/share/lua/" lua-version))
               #t))))
       #:test-target "test"))
    (inputs `(("lua", lua-5.2)))))
  (make-lua-lpeg "lua5.2-lpeg" lua-5.2))

;; Lua 5.3 is not supported.
(define (make-lua-bitop name lua)