[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
02/11: gnu: Add lutok.
From: |
guix-commits |
Subject: |
02/11: gnu: Add lutok. |
Date: |
Fri, 2 Feb 2024 09:50:15 -0500 (EST) |
apteryx pushed a commit to branch wip-cu-switch-to-pkgconf
in repository guix.
commit b1c40458ada64f7ebfe875771bb896eefb0b6a8b
Author: Maxim Cournoyer <maxim.cournoyer@gmail.com>
AuthorDate: Wed Jan 24 13:58:07 2024 -0500
gnu: Add lutok.
* gnu/packages/lua.scm (lutok): New variable.
Change-Id: I595b26c601c8ca8c997c86e8f8eb17fbe363a038
---
gnu/packages/lua.scm | 41 +++++++++++++++++++++++++++++++++++++++++
1 file changed, 41 insertions(+)
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index 1cde6bd66c..07c803d27e 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -20,6 +20,7 @@
;;; Copyright © 2022 Leo Nikkilä <hello@lnikki.la>
;;; Copyright © 2023 Yovan Naumovski <yovan@gorski.stream>
;;; Copyright © 2023 Valter Nazianzeno <manipuladordedados@gmail.com>
+;;; Copyright © 2024 Maxim Cournoyer <maxim.cournoyer@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -48,9 +49,11 @@
#:use-module (guix build-system meson)
#:use-module (guix build-system trivial)
#:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
#:use-module (gnu packages bash)
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
+ #:use-module (gnu packages check)
#:use-module (gnu packages gcc)
#:use-module (gnu packages glib)
#:use-module (gnu packages gperf)
@@ -898,6 +901,44 @@ on numbers.")
(define-public lua5.1-bitop
(make-lua-bitop "lua5.1-bitop" lua-5.1))
+(define-public lutok
+ (package
+ (name "lutok")
+ (version "0.4")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/freebsd/lutok")
+ (commit (string-append name "-" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "0a2vc2wy5hasw69h1mz768ywx6c4ccl9jzzd4ixddwba3z3ha03b"))))
+ (build-system gnu-build-system)
+ ;; Disable the test suite to avoid a circular dependency on kyua.
+ (arguments (list #:tests? #f))
+ (native-inputs (list autoconf automake libtool pkg-config))
+ (inputs (list atf))
+ (propagated-inputs (list lua-5.2)) ;included in c_gate.hpp
+ (home-page "https://github.com/freebsd/lutok")
+ (synopsis "Lightweight C++ API for Lua")
+ (description "Lutok is a lightweight C++ API library for Lua.
+
+Lutok provides thin C++ wrappers around the Lua C API to ease the interaction
+between C++ and Lua. These wrappers make intensive use of @acronym{RAII,
+Resource Acquisition is Initialization} to prevent resource leakage, expose
+C++-friendly data types, report errors by means of exceptions and ensure that
+the Lua stack is always left untouched in the face of errors. The library
+also provides a small subset of miscellaneous utility functions built on top
+of the wrappers.
+
+Lutok focuses on providing a clean and safe C++ interface; the drawback is
+that it is not suitable for performance-critical environments. In order to
+implement error-safe C++ wrappers on top of a Lua C binary library, Lutok adds
+several layers or abstraction and error checking that go against the original
+spirit of the Lua C API and thus degrade performance.")
+ (license license:bsd-3)))
+
(define-public selene
(package
(name "selene")
- branch wip-cu-switch-to-pkgconf created (now 1ebdd93e65), guix-commits, 2024/02/02
- 02/11: gnu: Add lutok.,
guix-commits <=
- 08/11: gnu: base: Add cautionary comments for canonical-package, %final-inputs usage., guix-commits, 2024/02/02
- 07/11: gnu: pkgconf: Add support for cross-compilation., guix-commits, 2024/02/02
- 09/11: gnu: commencement: Do not export unused make-gcc-toolchain., guix-commits, 2024/02/02
- 03/11: gnu: Add kyua., guix-commits, 2024/02/02
- 05/11: gnu: Add pkgconf-as-pkg-config., guix-commits, 2024/02/02
- 06/11: gnu: pkgconf: Add $PKG_CONFIG_PATH search path., guix-commits, 2024/02/02
- 11/11: gnu: pkg-config: Alias to pkgconf-as-pkg-config., guix-commits, 2024/02/02
- 01/11: gnu: Add atf., guix-commits, 2024/02/02
- 04/11: gnu: pkgconf: Enable test suite., guix-commits, 2024/02/02
- 10/11: refresh: Import %final-inputs from (gnu packages base)., guix-commits, 2024/02/02