gnu: lua-lpeg: Avoid code repetition.

* gnu/packages/lua.scm (make-lua-lpeg): New procedure.
(lua-lpeg, lua5.2-lpeg): Call make-lua-lpeg.
This commit is contained in:
Clément Lassieur 2017-11-25 03:12:07 +01:00
parent 1aace3dc34
commit 149b2c439e
No known key found for this signature in database
GPG Key ID: 89F96D4808F359C7
1 changed files with 6 additions and 24 deletions

View File

@ -356,9 +356,9 @@ based libraries. It allows using GObject-based libraries directly from Lua.
Notable examples are GTK+, GStreamer and Webkit.") Notable examples are GTK+, GStreamer and Webkit.")
(license license:expat))) (license license:expat)))
(define-public lua-lpeg (define (make-lua-lpeg name lua)
(package (package
(name "lua-lpeg") (name name)
(version "1.0.1") (version "1.0.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
@ -390,29 +390,11 @@ Grammars (PEGs).")
(home-page "http://www.inf.puc-rio.br/~roberto/lpeg") (home-page "http://www.inf.puc-rio.br/~roberto/lpeg")
(license license:expat))) (license license:expat)))
(define-public lua-lpeg
(make-lua-lpeg "lua-lpeg" lua))
(define-public lua5.2-lpeg (define-public lua5.2-lpeg
(package (inherit lua-lpeg) (make-lua-lpeg "lua5.2-lpeg" lua-5.2))
(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)))))
;; Lua 5.3 is not supported. ;; Lua 5.3 is not supported.
(define (make-lua-bitop name lua) (define (make-lua-bitop name lua)