summaryrefslogtreecommitdiff
path: root/gnu/packages/lua.scm
diff options
context:
space:
mode:
authorJan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl>2026-03-14 16:08:26 +0100
committerNguyễn Gia Phong <cnx@loang.net>2026-04-09 14:49:49 +0900
commitac7d349a06b68c36e92d29ba9d957abe7a10cd97 (patch)
treeee62e9c1228a1ac1b46ca6d9d719c64e4f1a9e91 /gnu/packages/lua.scm
parent65f18abb4f22215efb3ae32536067ad93138a047 (diff)
gnu: Add lua-lsqlite3 and variants.
* gnu/packages/lua.scm (make-lua-lsqlite3): New procedure. (lua-lsqlite3, lua5.1-lsqlite3, lua5.2-lsqlite3, lua5.4-lsqlite3): New variables. Change-Id: I5f07f8178491b8e5afcf402c05c76ae508beeb3b Merges: https://codeberg.org/guix/guix/pulls/6570 Reviewed-by: Carlo Zancanaro <carlo@zancanaro.id.au> Signed-off-by: Nguyễn Gia Phong <cnx@loang.net>
Diffstat (limited to 'gnu/packages/lua.scm')
-rw-r--r--gnu/packages/lua.scm67
1 files changed, 67 insertions, 0 deletions
diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm
index f2011021555..229932019ff 100644
--- a/gnu/packages/lua.scm
+++ b/gnu/packages/lua.scm
@@ -82,6 +82,7 @@
82 #:use-module (gnu packages readline) 82 #:use-module (gnu packages readline)
83 #:use-module (gnu packages rsync) 83 #:use-module (gnu packages rsync)
84 #:use-module (gnu packages ssh) 84 #:use-module (gnu packages ssh)
85 #:use-module (gnu packages sqlite)
85 #:use-module (gnu packages tls) 86 #:use-module (gnu packages tls)
86 #:use-module (gnu packages version-control) 87 #:use-module (gnu packages version-control)
87 #:use-module (gnu packages vim) 88 #:use-module (gnu packages vim)
@@ -2027,3 +2028,69 @@ the @code{lunitx} module for running tests automatically at program exit.")
2027 2028
2028(define-public lua5.4-lunitx 2029(define-public lua5.4-lunitx
2029 (make-lua-lunitx "lua5.4-lunitx" lua-5.4)) 2030 (make-lua-lunitx "lua5.4-lunitx" lua-5.4))
2031
2032(define (make-lua-lsqlite3 name lua lua-lunitx)
2033 (package
2034 (name name)
2035 (version "0.9.6")
2036 (source (origin
2037 (method url-fetch)
2038 (uri "https://lua.sqlite.org/home/zip/lsqlite3_v096.zip")
2039 (file-name (string-append "lsqlite3-v" version ".zip"))
2040 (sha256
2041 (base32
2042 "10md6bfvbzflrhz4n75jr1ppmz86mwsip85llny23w2ld9iygipc"))))
2043 (build-system gnu-build-system)
2044 (arguments
2045 (list
2046 #:tests? (not (%current-target-system))
2047 #:phases
2048 #~(modify-phases %standard-phases
2049 (delete 'configure)
2050 (replace 'build
2051 (lambda _
2052 (invoke #$(cc-for-target) "-fPIC" "-shared" "-O2"
2053 "-o" "lsqlite3.so"
2054 "lsqlite3.c"
2055 "-llua" "-lsqlite3")))
2056 (replace 'install
2057 (lambda* (#:key outputs #:allow-other-keys)
2058 (let* ((out (assoc-ref outputs "out"))
2059 (lua-version
2060 #$(version-major+minor (package-version lua)))
2061 (cmod-dir (string-append out "/lib/lua/" lua-version)))
2062 (install-file "lsqlite3.so" cmod-dir))))
2063 (delete 'check)
2064 (add-after 'install 'check
2065 (lambda* (#:key tests? outputs #:allow-other-keys)
2066 (when tests?
2067 ;; Built only for the upstream test suite (test-dyld.lua).
2068 (invoke #$(cc-for-target) "-fPIC" "-shared" "-O2"
2069 "-o" "extras/libsqlitefunctions.so"
2070 "extras/extension-functions.c"
2071 "-lsqlite3")
2072 ;; Only test the dynamic lsqlite3 module; lsqlite3complete
2073 ;; (SQLite amalgamation) is not built by this package.
2074 (invoke "lua" "test/tests-sqlite3.lua" "lsqlite3")
2075 (invoke "lua" "test/test.lua")
2076 (invoke "lua" "test/test-dyld.lua")))))))
2077 (native-inputs (list unzip lua-lunitx))
2078 (inputs (list lua sqlite))
2079 (home-page "https://lua.sqlite.org/")
2080 (synopsis "SQLite3 binding for Lua")
2081 (description "LuaSQLite3 is a thin wrapper around the public domain
2082SQLite3 database engine. It provides a complete binding to the SQLite3 C API
2083from within Lua programs.")
2084 (license license:expat)))
2085
2086(define-public lua-lsqlite3
2087 (make-lua-lsqlite3 "lua-lsqlite3" lua lua-lunitx))
2088
2089(define-public lua5.1-lsqlite3
2090 (make-lua-lsqlite3 "lua5.1-lsqlite3" lua-5.1 lua5.1-lunitx))
2091
2092(define-public lua5.2-lsqlite3
2093 (make-lua-lsqlite3 "lua5.2-lsqlite3" lua-5.2 lua5.2-lunitx))
2094
2095(define-public lua5.4-lsqlite3
2096 (make-lua-lsqlite3 "lua5.4-lsqlite3" lua-5.4 lua5.4-lunitx))