diff options
| author | Jan Wielkiewicz <tona_kosmicznego_smiecia@interia.pl> | 2026-03-14 16:08:26 +0100 |
|---|---|---|
| committer | Nguyễn Gia Phong <cnx@loang.net> | 2026-04-09 14:49:49 +0900 |
| commit | ac7d349a06b68c36e92d29ba9d957abe7a10cd97 (patch) | |
| tree | ee62e9c1228a1ac1b46ca6d9d719c64e4f1a9e91 /gnu/packages/lua.scm | |
| parent | 65f18abb4f22215efb3ae32536067ad93138a047 (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.scm | 67 |
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 | ||
| 2082 | SQLite3 database engine. It provides a complete binding to the SQLite3 C API | ||
| 2083 | from 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)) | ||
