Compare commits

...

2 Commits

Author SHA1 Message Date
Emery Hemingway e03df9a2e8 Adjust to Syndicate API 2023-10-10 09:26:46 +01:00
Emery Hemingway 4b55b2774e Add lockfile 2023-10-10 09:26:36 +01:00
7 changed files with 18 additions and 11 deletions

2
.gitignore vendored
View File

@ -1 +1 @@
/.direnv
/nim.cfg

3
Tupfile Normal file
View File

@ -0,0 +1,3 @@
include_rules
: |> !nim_lk |> | ./<lock>
: lock.json |> !nim_cfg |> | ./<lock>

View File

@ -1,2 +1,3 @@
include ../syndicate-nim/depends.tup
NIM_FLAGS += --path:$(TUP_CWD)/../syndicate-nim/src
NIM_GROUPS += $(TUP_CWD)/<lock>

1
lock.json Normal file
View File

@ -0,0 +1 @@
{"depends":[{"method":"fetchzip","packages":["syndicate"],"path":"/nix/store/008s11kkqscfqxs6g29q77c38pnrlppi-source","ref":"20231005","rev":"552e51899c82c0c2f4f466382be7d8e22a1da689","sha256":"1j3k0zlh5z02adhfvb7rdqz8fjzc6gri4v3v1fgcv2h2b7vrf0dg","srcDir":"src","url":"https://git.syndicate-lang.org/ehmry/syndicate-nim/archive/552e51899c82c0c2f4f466382be7d8e22a1da689.tar.gz"},{"method":"fetchzip","packages":["hashlib"],"path":"/nix/store/v03nzlpdgbfxd2zhcnkfbkq01d5kqxcl-source","rev":"84e0247555e4488594975900401baaf5bbbfb53","sha256":"1pfczsv8kl36qpv543f93d2y2vgz2acckssfap7l51s2x62m6qwx","srcDir":"","url":"https://github.com/khchen/hashlib/archive/84e0247555e4488594975900401baaf5bbbfb53.tar.gz"},{"method":"fetchzip","packages":["preserves"],"path":"/nix/store/vx6ihnickx7d5lwy69i8k7fsjicv33r3-source","ref":"20230914","rev":"c915accf7d2a36ca1f323e2f02e2df7375e815f1","sha256":"11rlcbs9mvk335ibkbj8fk9aslhmnlaiqhcsjpp5n04k447sr7nx","srcDir":"src","url":"https://git.syndicate-lang.org/ehmry/preserves-nim/archive/c915accf7d2a36ca1f323e2f02e2df7375e815f1.tar.gz"},{"method":"fetchzip","packages":["nimcrypto"],"path":"/nix/store/zyr8zwh7vaiycn1s4r8cxwc71f2k5l0h-source","ref":"traditional-api","rev":"602c5d20c69c76137201b5d41f788f72afb95aa8","sha256":"1dmdmgb6b9m5f8dyxk781nnd61dsk3hdxqks7idk9ncnpj9fng65","srcDir":"","url":"https://github.com/cheatfate/nimcrypto/archive/602c5d20c69c76137201b5d41f788f72afb95aa8.tar.gz"},{"method":"fetchzip","packages":["npeg"],"path":"/nix/store/ffkxmjmigfs7zhhiiqm0iw2c34smyciy-source","ref":"1.2.1","rev":"26d62fdc40feb84c6533956dc11d5ee9ea9b6c09","sha256":"0xpzifjkfp49w76qmaylan8q181bs45anmp46l4bwr3lkrr7bpwh","srcDir":"src","url":"https://github.com/zevv/npeg/archive/26d62fdc40feb84c6533956dc11d5ee9ea9b6c09.tar.gz"}]}

View File

@ -1,5 +1,7 @@
let
syndicate = builtins.getFlake "syndicate";
pkgs =
import <nixpkgs> { overlays = builtins.attrValues syndicate.overlays; };
in pkgs.sqlite_actor
{ pkgs ? import <nixpkgs> { } }:
pkgs.nim2Packages.buildNimPackage {
name = "dummy";
propagatedNativeBuildInputs = [ pkgs.pkg-config ];
propagatedBuildInputs = [ pkgs.sqlcipher ];
}

View File

@ -1,4 +1,4 @@
version = "20230527"
version = "20231010"
author = "Emery Hemingway"
description = "Syndicate Actor for accessing SQLite databases"
license = "Unlicense"

View File

@ -51,7 +51,7 @@ proc finalize(stmt: Stmt): cint {.importSqlite3.}
doAssert libversion_number() == SQLITE_VERSION_NUMBER
import preserves, syndicate
import preserves, syndicate, syndicate/relays
import ./sql
proc logError(db: Sqlite3; context: string) =
@ -61,7 +61,7 @@ type
Value = Preserve[void]
Args {.preservesDictionary.} = object
database: string
dataspace: Ref
dataspace: Cap
proc extractValue(stmt: Stmt; col: cint): Value =
case column_type(stmt, col)
@ -84,9 +84,9 @@ proc extractRecord(stmt: Stmt; label: Value, arity: cint): Value =
result = initRecord(label, arity)
for col in 0..<arity: result.record[col] = extractValue(stmt, col)
runActor("main") do (root: Ref; turn: var Turn):
runActor("main") do (root: Cap; turn: var Turn):
connectStdio(root, turn)
during(turn, root, ?Args) do (path: string, ds: Ref):
during(turn, root, ?Args) do (path: string, ds: Cap):
var db: Sqlite3
if open_v2(path, addr db, SQLITE_OPEN_READONLY, nil) != SQLITE_OK:
logError(db, path)