{"id":15394927,"url":"https://github.com/kassane/sokol-d","last_synced_at":"2025-04-15T23:53:55.473Z","repository":{"id":212499738,"uuid":"730376427","full_name":"kassane/sokol-d","owner":"kassane","description":"D bindings for the sokol headers (https://github.com/floooh/sokol)","archived":false,"fork":false,"pushed_at":"2025-04-15T17:42:15.000Z","size":3217,"stargazers_count":15,"open_issues_count":3,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-15T18:22:40.286Z","etag":null,"topics":["bindings","d","dlang","sokol","zig"],"latest_commit_sha":null,"homepage":"http://sokol-d.dub.pm/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"zlib","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kassane.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-12-11T19:41:35.000Z","updated_at":"2025-04-06T09:27:28.000Z","dependencies_parsed_at":"2024-03-12T14:50:36.366Z","dependency_job_id":"b3417145-8f87-4fc4-84c6-2e6fa3778a92","html_url":"https://github.com/kassane/sokol-d","commit_stats":{"total_commits":152,"total_committers":5,"mean_commits":30.4,"dds":"0.20394736842105265","last_synced_commit":"64bcaab0e93a15284085287dd23113c8b86694ef"},"previous_names":["kassane/sokol-d"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kassane%2Fsokol-d","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kassane%2Fsokol-d/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kassane%2Fsokol-d/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kassane%2Fsokol-d/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kassane","download_url":"https://codeload.github.com/kassane/sokol-d/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249173061,"owners_count":21224481,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bindings","d","dlang","sokol","zig"],"created_at":"2024-10-01T15:24:58.214Z","updated_at":"2025-04-15T23:53:55.452Z","avatar_url":"https://github.com/kassane.png","language":"C","funding_links":[],"categories":["Game Bindings"],"sub_categories":[],"readme":"\n[![CI Build](https://github.com/kassane/sokol-d/actions/workflows/build.yml/badge.svg)](https://github.com/kassane/sokol-d/actions/workflows/build.yml)\n\nAuto-generated [D](https://dlang.org) bindings for the [sokol headers](https://github.com/floooh/sokol).\n\n#### Targets\n\n- Native\n- Wasm (`-Dtarget=wasm32-emscripten-none`) - LTO enabled on release-mode.\n\nBy default, the backend 3D API will be selected based on the target platform:\n\n- macOS: Metal\n- Windows: D3D11\n- Linux: GL\n\n## BUILD\n\n**Required**\n\n- [zig](https://ziglang.org/download) v0.14.0 or master\n- [ldc](https://ldc-developers.github.io) v1.40.0 or latest-CI (nightly)\n\nSupported platforms are: Windows, macOS, Linux (with X11)\n\nOn Linux install the following packages: libglu1-mesa-dev, mesa-common-dev, xorg-dev, libasound-dev (or generally: the dev packages required for X11, GL and ALSA development)\n\n```bash\n# build sokol library + all examples [default: static library]\nzig build\n\n# build sokol shared library + all examples\nzig build -Dshared\n\n# build sokol library only\nzig build -Dartifact\n\n# Run Examples\nzig build run-blend\nzig build run-bufferoffsets\nzig build run-clear\nzig build run-cube\nzig build run-debugtext\nzig build run-mrt\nzig build run-saudio\nzig build run-instancing\nzig build run-offscreen\nzig build run-sgl_context\nzig build run-sgl_points\nzig build run-user_data\nzig build run-noninterleaved\nzig build run-texcube\nzig build run-quad\nzig build run-triangle\nzig build run-shapes\nzig build run-vertexpull\nzig build run-imgui -Dimgui # optional: -Dimgui-version=docking\nzig build run-droptest -Dimgui # optional: -Dimgui-version=docking\n\nzig build --help\n# Project-Specific Options:\n#   -Dgl=[bool]                  Force OpenGL (default: false)\n#   -Dgles3=[bool]               Force OpenGL ES3 (default: false)\n#   -Dwgpu=[bool]                Force WebGPU (default: false, web only)\n#   -Dx11=[bool]                 Force X11 (default: true, Linux only)\n#   -Dwayland=[bool]             Force Wayland (default: false, Linux only, not supported in main-line headers)\n#   -Degl=[bool]                 Force EGL (default: false, Linux only)\n#   -Dimgui=[bool]               Add support for sokol_imgui.h bindings\n#   -Dsokol_imgui_cprefix=[string] Override Dear ImGui C bindings prefix for sokol_imgui.h (see SOKOL_IMGUI_CPREFIX)\n#   -Dcimgui_header_path=[string] Override the Dear ImGui C bindings header name (default: cimgui.h)\n#   -Dimgui-version=[enum]       Select ImGui version to use\n#                                  Supported Values:\n#                                    default\n#                                    docking\n#   -Dubsan=[bool]               Enable undefined behavior sanitizer\n#   -Dtsan=[bool]                Enable thread sanitizer\n#   -Dartifact=[bool]            Build artifacts (default: false)\n#   -DbetterC=[bool]             Omit generating some runtime information and helper functions (default: false)\n#   -DzigCC=[bool]               Use zig cc as compiler and linker (default: false)\n#   -Dshaders=[bool]             Build shaders (default: false)\n#   -Dtarget=[string]            The CPU architecture, OS, and ABI to build for\n#   -Dcpu=[string]               Target CPU features to add or subtract\n#   -Dofmt=[string]              Target object format\n#   -Ddynamic-linker=[string]    Path to interpreter on the target system\n#   -Doptimize=[enum]            Prioritize performance, safety, or binary size\n#                                  Supported Values:\n#                                    Debug\n#                                    ReleaseSafe\n#                                    ReleaseFast\n#                                    ReleaseSmall\n#   -Dshared=[bool]              Build sokol dynamic library (default: static)\n```\n(also run `zig build -l` to get a list of build targets)\n\n## Shaders\n\nCheckout [sokol-tools](https://github.com/floooh/sokol-tools) for a sokol shader pipeline! It supports these D bindings and all shaders in the examples folder\nhere have been compiled using it with `-f sokol_d`!\n\n```bash\nzig build -Dshaders # (re)generate D bindings from shaders.\n```\n\n\u003cbr\u003e\n\n## License and attributions\n\nThis code is released under the zlib license (see [LICENSE](LICENSE) for info). Parts of `gen_d.py` have been copied and modified from\nthe zig-bindings[^1] and rust-bindings[^2] for sokol.\n\nThe sokol headers are created by Andre Weissflog (floooh) and sokol is released under its own license[^3].\n\n[^1]: https://github.com/floooh/sokol-zig/\n[^2]: https://github.com/floooh/sokol-rust/\n[^3]: https://github.com/floooh/sokol/blob/master/LICENSE\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkassane%2Fsokol-d","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkassane%2Fsokol-d","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkassane%2Fsokol-d/lists"}