diff options
| author | Maxim Cournoyer <maxim.cournoyer@gmail.com> | 2024-01-24 13:58:07 -0500 |
|---|---|---|
| committer | Ludovic Courtès <ludo@gnu.org> | 2024-08-31 10:44:57 +0200 |
| commit | 312503f00ea45a3e4a1ef810132a249b7a8496a8 (patch) | |
| tree | 8bc7bf00d36ab10db819372c667ffd20030833bb /gnu/packages/lua.scm | |
| parent | 86d5774605654ece8c6d1e22cdcd7ad88d5320d9 (diff) | |
gnu: Add lutok.
* gnu/packages/lua.scm (lutok): New variable.
Change-Id: I595b26c601c8ca8c997c86e8f8eb17fbe363a038
Diffstat (limited to 'gnu/packages/lua.scm')
| -rw-r--r-- | gnu/packages/lua.scm | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index b47ea67e8ea..074ab6a0aa0 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm | |||
| @@ -22,6 +22,7 @@ | |||
| 22 | ;;; Copyright © 2023 Valter Nazianzeno <manipuladordedados@gmail.com> | 22 | ;;; Copyright © 2023 Valter Nazianzeno <manipuladordedados@gmail.com> |
| 23 | ;;; Copyright © 2023 Timo Wilken <guix@twilken.net> | 23 | ;;; Copyright © 2023 Timo Wilken <guix@twilken.net> |
| 24 | ;;; Copyright © 2024 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> | 24 | ;;; Copyright © 2024 Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> |
| 25 | ;;; Copyright © 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com> | ||
| 25 | ;;; | 26 | ;;; |
| 26 | ;;; This file is part of GNU Guix. | 27 | ;;; This file is part of GNU Guix. |
| 27 | ;;; | 28 | ;;; |
| @@ -50,11 +51,13 @@ | |||
| 50 | #:use-module (guix build-system meson) | 51 | #:use-module (guix build-system meson) |
| 51 | #:use-module (guix build-system trivial) | 52 | #:use-module (guix build-system trivial) |
| 52 | #:use-module (gnu packages) | 53 | #:use-module (gnu packages) |
| 54 | #:use-module (gnu packages autotools) | ||
| 53 | #:use-module (gnu packages base) | 55 | #:use-module (gnu packages base) |
| 54 | #:use-module (gnu packages bash) | 56 | #:use-module (gnu packages bash) |
| 55 | #:use-module (gnu packages boost) | 57 | #:use-module (gnu packages boost) |
| 56 | #:use-module (gnu packages curl) | 58 | #:use-module (gnu packages curl) |
| 57 | #:use-module (gnu packages build-tools) | 59 | #:use-module (gnu packages build-tools) |
| 60 | #:use-module (gnu packages check) | ||
| 58 | #:use-module (gnu packages gcc) | 61 | #:use-module (gnu packages gcc) |
| 59 | #:use-module (gnu packages compression) | 62 | #:use-module (gnu packages compression) |
| 60 | #:use-module (gnu packages gcc) | 63 | #:use-module (gnu packages gcc) |
| @@ -909,6 +912,44 @@ on numbers.") | |||
| 909 | (define-public lua5.1-bitop | 912 | (define-public lua5.1-bitop |
| 910 | (make-lua-bitop "lua5.1-bitop" lua-5.1)) | 913 | (make-lua-bitop "lua5.1-bitop" lua-5.1)) |
| 911 | 914 | ||
| 915 | (define-public lutok | ||
| 916 | (package | ||
| 917 | (name "lutok") | ||
| 918 | (version "0.4") | ||
| 919 | (source (origin | ||
| 920 | (method git-fetch) | ||
| 921 | (uri (git-reference | ||
| 922 | (url "https://github.com/freebsd/lutok") | ||
| 923 | (commit (string-append name "-" version)))) | ||
| 924 | (file-name (git-file-name name version)) | ||
| 925 | (sha256 | ||
| 926 | (base32 | ||
| 927 | "0a2vc2wy5hasw69h1mz768ywx6c4ccl9jzzd4ixddwba3z3ha03b")))) | ||
| 928 | (build-system gnu-build-system) | ||
| 929 | ;; Disable the test suite to avoid a circular dependency on kyua. | ||
| 930 | (arguments (list #:tests? #f)) | ||
| 931 | (native-inputs (list autoconf automake libtool pkg-config)) | ||
| 932 | (inputs (list atf)) | ||
| 933 | (propagated-inputs (list lua-5.2)) ;included in c_gate.hpp | ||
| 934 | (home-page "https://github.com/freebsd/lutok") | ||
| 935 | (synopsis "Lightweight C++ API for Lua") | ||
| 936 | (description "Lutok is a lightweight C++ API library for Lua. | ||
| 937 | |||
| 938 | Lutok provides thin C++ wrappers around the Lua C API to ease the interaction | ||
| 939 | between C++ and Lua. These wrappers make intensive use of @acronym{RAII, | ||
| 940 | Resource Acquisition is Initialization} to prevent resource leakage, expose | ||
| 941 | C++-friendly data types, report errors by means of exceptions and ensure that | ||
| 942 | the Lua stack is always left untouched in the face of errors. The library | ||
| 943 | also provides a small subset of miscellaneous utility functions built on top | ||
| 944 | of the wrappers. | ||
| 945 | |||
| 946 | Lutok focuses on providing a clean and safe C++ interface; the drawback is | ||
| 947 | that it is not suitable for performance-critical environments. In order to | ||
| 948 | implement error-safe C++ wrappers on top of a Lua C binary library, Lutok adds | ||
| 949 | several layers or abstraction and error checking that go against the original | ||
| 950 | spirit of the Lua C API and thus degrade performance.") | ||
| 951 | (license license:bsd-3))) | ||
| 952 | |||
| 912 | (define-public selene | 953 | (define-public selene |
| 913 | (package | 954 | (package |
| 914 | (name "selene") | 955 | (name "selene") |
