Skip to content

Commit

Permalink
pkg: flesh out packages list
Browse files Browse the repository at this point in the history
Signed-off-by: Stephen Gutekanst <[email protected]>
  • Loading branch information
slimsag committed Jul 30, 2023
1 parent 5c90c63 commit 4a56823
Show file tree
Hide file tree
Showing 2 changed files with 149 additions and 18 deletions.
124 changes: 106 additions & 18 deletions config.toml
Original file line number Diff line number Diff line change
Expand Up @@ -84,30 +84,118 @@ unsafe = true
url = '/pkg'
weight = 100
[[menu.pkg]]
identifier = 'pkg-glfw'
name = 'mach-glfw'
url = '/pkg/glfw'
identifier = 'pkg-experimental'
name = 'Experimental'
url = '/pkg/experimental'
weight = 101
[[menu.pkg]]
identifier = 'pkg-c'
name = 'C libraries / headers'
url = '/pkg/c'
weight = 200

[[menu.pkg]]
identifier = 'pkg-pure'
name = 'Pure Zig'
url = '/pkg'
weight = 200
[[menu.pkg]]
identifier = 'pkg-gpu'
name = 'mach-gpu'
url = '/pkg/gpu'
identifier = 'pkg-pure-ecs'
parent = 'pkg-pure'
name = 'ecs'
url = '/pkg/mach-ecs'
weight = 2000
[[menu.pkg]]
identifier = 'pkg-pure-sysaudio'
parent = 'pkg-pure'
name = 'sysaudio'
url = '/pkg/mach-sysaudio'
weight = 2100
[[menu.pkg]]
identifier = 'pkg-pure-sysjs'
parent = 'pkg-pure'
name = 'sysjs'
url = '/pkg/mach-pure-sysjs'
weight = 2200
[[menu.pkg]]
identifier = 'pkg-pure-dusk'
parent = 'pkg-pure'
name = 'dusk'
url = '/pkg/mach-dusk'
weight = 2300
[[menu.pkg]]
identifier = 'pkg-pure-gamemode'
parent = 'pkg-pure'
name = 'gamemode'
url = '/pkg/mach-gamemode'
weight = 2400
[[menu.pkg]]
identifier = 'pkg-pure-earcut'
parent = 'pkg-pure'
name = 'earcut'
url = '/pkg/mach-earcut'
weight = 2500
[[menu.pkg]]
identifier = 'pkg-pure-fastfilter'
parent = 'pkg-pure'
name = 'fastfilter'
url = '/pkg/mach-fastfilter'
weight = 2600


[[menu.pkg]]
identifier = 'pkg-bind'
name = 'Bindings'
url = '/pkg'
weight = 300
[[menu.pkg]]
identifier = 'pkg-freetype'
name = 'mach-freetype'
url = '/pkg/freetype'
weight = 400
identifier = 'pkg-bind-gpu'
parent = 'pkg-bind'
name = 'gpu'
url = '/pkg/mach-gpu'
weight = 3000
[[menu.pkg]]
identifier = 'pkg-experimental'
name = 'Experimental'
url = '/pkg/experimental'
weight = 500
identifier = 'pkg-bind-gpu-dawn'
parent = 'pkg-bind'
name = 'gpu-dawn'
url = '/pkg/mach-gpu-dawn'
weight = 3100
[[menu.pkg]]
identifier = 'pkg-known-issues'
name = 'Known issues ⮕'
url = '/about/known-issues'
weight = 600
identifier = 'pkg-bind-basisu'
parent = 'pkg-bind'
name = 'basisu'
url = '/pkg/mach-basisu'
weight = 3200
[[menu.pkg]]
identifier = 'pkg-bind-freetype'
parent = 'pkg-bind'
name = 'freetype'
url = '/pkg/mach-freetype'
weight = 3300
[[menu.pkg]]
identifier = 'pkg-bind-glfw'
parent = 'pkg-bind'
name = 'glfw'
url = '/pkg/mach-glfw'
weight = 3400
[[menu.pkg]]
identifier = 'pkg-bind-model3d'
parent = 'pkg-bind'
name = 'model3d'
url = '/pkg/mach-model3d'
weight = 3500
[[menu.pkg]]
identifier = 'pkg-bind-opus'
parent = 'pkg-bind'
name = 'opus'
url = '/pkg/mach-opus'
weight = 3600
[[menu.pkg]]
identifier = 'pkg-bind-flac'
parent = 'pkg-bind'
name = 'flac'
url = '/pkg/mach-flac'
weight = 3700


[[menu.about]]
Expand Down
43 changes: 43 additions & 0 deletions content/pkg/c.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
---
title: "C libraries / headers packaged via Zig - Mach"
description: "Experimental Mach standalone libraries for Zig gamedev, including ones for Entity Component Systems, interacting with JavaScript via WebAssembly, audio input/output, and more."
draft: false
layout: "docs"
docs_type: "pkg"
rss_ignore: true
images: ["/img/mach-opengraph.png"]
---

# C libraries & headers packaged via the Zig build system

Mach provides an ecosystem of C libraries via the Zig package manager.

**_These aren’t Zig bindings_** to these libraries (which we have separately), but instead are just forks of the actual project with their build system replaced by `build.zig` so you can depend on them and build them using the Zig package manager.

Pure forks with build.zig:

* [brotli](https://github.com/hexops/brotli)
* [harfbuzz](https://github.com/hexops/harfbuzz)
* [freetype](https://github.com/hexops/freetype)
* [glfw](https://github.com/hexops/glfw)
* [basisu](https://github.com/hexops/basisu)
* [opus](https://github.com/hexops/opus)
* [opusfile](https://github.com/hexops/opusfile)
* [flac](https://github.com/hexops/flac)
* [ogg](https://github.com/hexops/ogg)

Header packages:

* [direct3d-headers](https://github.com/hexops/direct3d-headers)
* [wayland-headers](https://github.com/hexops/wayland-headers)
* [x11-headers](https://github.com/hexops/x11-headers)
* [vulkan-headers](https://github.com/hexops/vulkan-headers)
* [opengl-headers](https://github.com/hexops/opengl-headers)
* [linux-audio-headers](https://github.com/hexops/linux-audio-headers)

Special cases:

* [vulkan-zig-generated](https://github.com/hexops/vulkan-zig-generated) pre-generated Vulkan bindings
* [xcode-frameworks](https://github.com/hexops/dawnxcode-frameworks) macOS XCode frameworks
* [dawn](https://github.com/hexops/dawn) (wrench-generated source branches with vendored dependency tree)
* [DirectXShaderCompilerwn](https://github.com/hexops/DirectXShaderCompiler) (fork for Zig compilation support)

0 comments on commit 4a56823

Please sign in to comment.