~bigbes/tarantool

tarantool-protobuf

1bbd8f313c8f0721802b427ce86c40b4f470e867 — Eugene Blikh 3 months ago fde45f1
build: add scm-1 rockspec for the pb runtime

Installs the 12 modules under pb.* from runtime/pb/ via builtin build
type; lua >= 5.1 is the only declared dependency since every other
import (bit, datetime, digest, ffi, fiber, json, protobuf, utf8) is a
Tarantool builtin. Plugin stays out of scope — it's a Go binary built
via the Justfile, not a luarocks artifact. Source URL points at the
planned sourcecraft.dev home that matches go.mod's module path.
1 files changed, 45 insertions(+), 0 deletions(-)

A tarantool-protobuf-scm-1.rockspec
A tarantool-protobuf-scm-1.rockspec => tarantool-protobuf-scm-1.rockspec +45 -0
@@ 0,0 1,45 @@
package = "tarantool-protobuf"
version = "scm-1"

source = {
    url = "git+https://sourcecraft.dev/bigbes/tarantool-protobuf.git",
    branch = "master",
}

description = {
    summary = "Protocol Buffers (proto3) + gRPC runtime for Tarantool",
    detailed = [[
A protoc plugin (Go) and pure-Lua runtime that give Tarantool a complete
proto3 + gRPC stack — decode, map, oneof, services, well-known types, JSON
and text-format codecs, and zero-copy lazy decode views. The Lua module
is named `pb` to avoid colliding with Tarantool's encode-only built-in
`protobuf` module. This rockspec installs only the runtime; the
`protoc-gen-tarantool` plugin must be built separately from the Go
sources (see Justfile).
]],
    homepage = "https://sourcecraft.dev/bigbes/tarantool-protobuf",
    license  = "BSD-2-Clause",
    maintainer = "Eugene Blikh <bigbes@gmail.com>",
}

dependencies = {
    "lua >= 5.1",
}

build = {
    type = "builtin",
    modules = {
        ["pb"]               = "runtime/pb/init.lua",
        ["pb.codec"]         = "runtime/pb/codec.lua",
        ["pb.descriptor_pb"] = "runtime/pb/descriptor_pb.lua",
        ["pb.dynamic"]       = "runtime/pb/dynamic.lua",
        ["pb.fileset"]       = "runtime/pb/fileset.lua",
        ["pb.grpc"]          = "runtime/pb/grpc.lua",
        ["pb.json"]          = "runtime/pb/json.lua",
        ["pb.lazy"]          = "runtime/pb/lazy.lua",
        ["pb.parser"]        = "runtime/pb/parser.lua",
        ["pb.text"]          = "runtime/pb/text.lua",
        ["pb.wire"]          = "runtime/pb/wire.lua",
        ["pb.wkt"]           = "runtime/pb/wkt.lua",
    },
}