Skip to content

The NATS C client library ported to the zig build system

License

MIT, Apache-2.0 licenses found

Licenses found

MIT
LICENSE
Apache-2.0
LICENSE-NATS_C
Notifications You must be signed in to change notification settings

allyourcodebase/nats.c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NATS.c

This is the NATS C client library, packaged for Zig.

Status

This library only explicitly supports Linux, macOS, and Windows operating systems. Building for other platforms is currently untested, so your mileage may vary.

Zig Bindings

The following projects provide Zig language bindings to the NATS.c library:

Usage

First, update your build.zig.zon:

# Initialize a `zig build` project if you haven't already
zig init
# replace <refname> with the version you want to use, e.g. 3.8.2+1
zig fetch --save git+https://github.com/allyourcodebase/nats.c.git#<refname>

You can then import nats_c in your build.zig with:

const nats_c_dep = b.dependency("nats_c", .{
    .target = target,
    .optimize = optimize,
    .@"enable-libsodium" = true, // Use libsodium for optimized implementations of some signing routines
    .@"enable-tls" = true, // enable SSL/TLS support
    .@"force-host-verify" = true, // force hostname verification for TLS connections
    .@"enable-streaming" = true, // build with support for NATS streaming extensions
});
your_exe.linkLibrary(nats_c_dep.artifact("nats_c"));

Dependencies

The NATS.c library has optional dependencies:

These dependencies are currently automatically retrieved and compiled as static libraries by the Zig build system.

Version Support Matrix

Refname NATS.c Version Zig 0.12.x Zig 0.13.x Zig 0.14.0-dev
3.8.2+1 3.8.2+1

About

The NATS C client library ported to the zig build system

Resources

License

MIT, Apache-2.0 licenses found

Licenses found

MIT
LICENSE
Apache-2.0
LICENSE-NATS_C

Stars

Watchers

Forks

Packages

No packages published

Languages