https://github.com/tiawl/libjq.zig
@jqlang C API packaged for @ziglang
https://github.com/tiawl/libjq.zig
binding jq jqlang zig zig-package ziglang
Last synced: 5 months ago
JSON representation
@jqlang C API packaged for @ziglang
- Host: GitHub
- URL: https://github.com/tiawl/libjq.zig
- Owner: tiawl
- License: unlicense
- Created: 2024-10-21T15:28:48.000Z (6 months ago)
- Default Branch: trunk
- Last Pushed: 2024-12-02T08:16:46.000Z (5 months ago)
- Last Synced: 2024-12-02T09:25:41.297Z (5 months ago)
- Topics: binding, jq, jqlang, zig, zig-package, ziglang
- Language: C
- Homepage:
- Size: 460 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# libjq.zig
This is a fork of [jqlang/jq][1] to package the libjq C API for [Zig][2]
## Why this fork ?
The intention under this fork is to package [jqlang/jq][1] for [Zig][2]. So:
* Unnecessary files have been deleted,
* The build system has been replaced with `build.zig`,
* A cron runs every day to check [jqlang/jq][1]. Then it updates this repository if a new release is available.## How to use it
The goal of this repository is not to provide a [Zig][2] binding for [jqlang/jq][1]. There are at least as many legit ways as possible to make a binding as there are active accounts on Github. So you are not going to find an answer for this question here. The point of this repository is to abstract the [jqlang/jq][1] compilation process with [Zig][2] (which is not new comers friendly and not easy to maintain) to let you focus on your application. So you can use **libjq.zig**:
- as raw (see the [examples directory](https://github.com/tiawl/libjq.zig/blob/trunk/examples)),
- as a daily updated interface for your [Zig][2] binding of [jqlang/jq][1] (an available exemple is coming soon).## Dependencies
The [Zig][2] part of this package is relying on the latest [Zig][2] release (0.13.0) and will only be updated for the next one (so for the 0.14.0).
Here the repositories' version used by this fork:
* [jqlang/jq](https://github.com/tiawl/libjq.zig/blob/trunk/.references/jq)## CICD reminder
These repositories are automatically updated when a new release is available:
* (coming soon)This repository is automatically updated when a new release is available from these repositories:
* [jqlang/jq][1]
* [tiawl/toolbox][3]
* [tiawl/oniguruma.zig][9]
* [tiawl/spaceporn-action-env][8]
* [tiawl/spaceporn-action-bot][4]
* [tiawl/spaceporn-action-ci][5] (TODO)
* [tiawl/spaceporn-action-cd-ping][6] (TODO)
* [tiawl/spaceporn-action-cd-pong][7]## `zig build` options
These additional options have been implemented for maintainability tasks:
```
-Dfetch Update .references folder and build.zig.zon then stop execution
-Dupdate Update binding
```## License
This repository is not subject to a unique License:
The parts of this repository originated from this repository are dedicated to the public domain. See the LICENSE file for more details.
**For other parts, it is subject to the License restrictions their respective owners choosed. By design, the public domain code is incompatible with the License notion. In this case, the License prevails. So if you have any doubt about a file property, open an issue.**
[1]:https://github.com/jqlang/jq
[2]:https://github.com/ziglang/zig
[3]:https://github.com/tiawl/toolbox
[4]:https://github.com/tiawl/spaceporn-action-bot
[5]:https://github.com/tiawl/spaceporn-action-ci
[6]:https://github.com/tiawl/spaceporn-action-cd-ping
[7]:https://github.com/tiawl/spaceporn-action-cd-pong
[8]:https://github.com/tiawl/spaceporn-action-env
[9]:https://github.com/tiawl/oniguruma.zig