summaryrefslogtreecommitdiff
path: root/gnu/packages/lua.scm
diff options
context:
space:
mode:
authorMaxim Cournoyer <maxim.cournoyer@gmail.com>2024-01-24 13:58:07 -0500
committerLudovic Courtès <ludo@gnu.org>2024-08-31 10:44:57 +0200
commit312503f00ea45a3e4a1ef810132a249b7a8496a8 (patch)
tree8bc7bf00d36ab10db819372c667ffd20030833bb /gnu/packages/lua.scm
parent86d5774605654ece8c6d1e22cdcd7ad88d5320d9 (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.scm41
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
938Lutok provides thin C++ wrappers around the Lua C API to ease the interaction
939between C++ and Lua. These wrappers make intensive use of @acronym{RAII,
940Resource Acquisition is Initialization} to prevent resource leakage, expose
941C++-friendly data types, report errors by means of exceptions and ensure that
942the Lua stack is always left untouched in the face of errors. The library
943also provides a small subset of miscellaneous utility functions built on top
944of the wrappers.
945
946Lutok focuses on providing a clean and safe C++ interface; the drawback is
947that it is not suitable for performance-critical environments. In order to
948implement error-safe C++ wrappers on top of a Lua C binary library, Lutok adds
949several layers or abstraction and error checking that go against the original
950spirit 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")