diff options
author | Fis Trivial <ybbs.daans@hotmail.com> | 2018-01-08 17:19:33 +0000 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-01-11 22:49:15 +0100 |
commit | ce577655a3829a64014afcd520c8405114443d89 (patch) | |
tree | 5cbf1a66a52ca8553c403347a81a6d91c641335f | |
parent | 20bf5fce7dbdc754a6c430abbeb50fb0662bda38 (diff) | |
download | guix-ce577655a3829a64014afcd520c8405114443d89.tar.gz |
gnu: Add selene.
* gnu/packages/lua.scm (selene): New public variable. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
-rw-r--r-- | gnu/packages/lua.scm | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 3fd1c43d4a..b375ff90c3 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2016 doncatnip <gnopap@gmail.com> ;;; Copyright © 2016, 2017 Clément Lassieur <clement@lassieur.org> ;;; Copyright © 2016 José Miguel Sánchez García <jmi2k@openmailbox.org> +;;; Copyright © 2018 Fis Trivial <ybbs.daans@hotmail.com> ;;; ;;; This file is part of GNU Guix. ;;; @@ -28,8 +29,11 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) + #:use-module (guix build utils) #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) #:use-module (gnu packages) #:use-module (gnu packages readline) #:use-module (gnu packages tls) @@ -434,3 +438,59 @@ on numbers.") (define-public lua5.1-bitop (make-lua-bitop "lua5.1-bitop" lua-5.1)) + +(define-public selene + (package + (name "selene") + (version "2017.08.25") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/jeremyong/Selene.git") + ;; The release is quite old. + (commit "ffe1ade2568d4cff5894552be8f43e63e379a4c9"))) + (file-name "Selene") + (sha256 + (base32 + "1axrgv3rxxdsaf807lwvklfzicn6x6gpf35narllrnz9lg6hn508")))) + (build-system cmake-build-system) + (arguments + `(#:configure-flags + ;; lua pc file in CMakeLists.txt is lua5.3.pc + '("-DLUA_PC_CFG=lua;lua-5.3;lua-5.1") + #:test-target "all" + #:phases + ;; This is a header only library + (modify-phases %standard-phases + (delete 'build) + (replace 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((output (assoc-ref outputs "out")) + (source (assoc-ref inputs "source")) + (includedir (string-append output "/include"))) + (copy-recursively + (string-append source "/include") + includedir)) + #t)) + ;; The path of test files are hard coded. + (replace 'check + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((output (assoc-ref outputs "out")) + (source (assoc-ref inputs "source")) + (builddir (getcwd)) + (testdir (string-append builddir "/test"))) + (copy-recursively (string-append source "/test") testdir) + (invoke "make") + (mkdir-p "runner") + (copy-file "./test_runner" "./runner/test_runner") + (chdir "./runner") + (invoke "./test_runner"))))))) + (native-inputs + `(("lua" ,lua) + ("pkg-config" ,pkg-config))) + (home-page "https://github.com/jeremyong/Selene") + (synopsis "Lua C++11 bindings") + (description + "Selene is a simple C++11 header-only library enabling seamless + interoperability between C++ and Lua programming language.") + (license license:zlib))) |