{"id":19690504,"url":"https://github.com/olilarkin/skia-builder","last_synced_at":"2026-01-07T01:12:10.757Z","repository":{"id":261119927,"uuid":"850455879","full_name":"olilarkin/skia-builder","owner":"olilarkin","description":"Build Skia libs for multiple platforms","archived":false,"fork":false,"pushed_at":"2025-04-21T07:37:08.000Z","size":34,"stargazers_count":11,"open_issues_count":1,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-30T06:42:22.221Z","etag":null,"topics":["skia","wasm","xcframework"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/olilarkin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","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},"funding":{"github":"olilarkin","patreon":"olilarkin"}},"created_at":"2024-08-31T20:21:41.000Z","updated_at":"2025-04-20T22:48:43.000Z","dependencies_parsed_at":"2024-11-04T20:28:39.856Z","dependency_job_id":"0ea42367-6740-448d-a715-a595a04ef30e","html_url":"https://github.com/olilarkin/skia-builder","commit_stats":null,"previous_names":["olilarkin/skia-builder"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olilarkin%2Fskia-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olilarkin%2Fskia-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olilarkin%2Fskia-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/olilarkin%2Fskia-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/olilarkin","download_url":"https://codeload.github.com/olilarkin/skia-builder/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252810240,"owners_count":21807758,"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":["skia","wasm","xcframework"],"created_at":"2024-11-11T19:05:46.374Z","updated_at":"2026-01-02T20:28:00.178Z","avatar_url":"https://github.com/olilarkin.png","language":"Python","funding_links":["https://github.com/sponsors/olilarkin","https://patreon.com/olilarkin"],"categories":[],"sub_categories":[],"readme":"# SKIA BUILDER\r\n\r\nThis is a python script and github actions workflow to manage building static libraries for [SKIA](https://skia.org/).\r\n\r\n![output](https://github.com/user-attachments/assets/b40cc273-272c-4f38-a64f-968327408fa5)\r\n\r\nThe script automates the process of building the libraries for various platforms (macOS, iOS, Windows, WASM). It handles the setup of the build environment, cloning of the Skia repository, configuration of build parameters, and compilation. The script also includes functionality for creating universal binaries for macOS and an XCFramework for apple platforms.\r\n\r\nThe GN Args are supplied in constants which you will need to tweak if you want to modify the build.\r\n\r\n## Building\r\n\r\nSkia's build scripts requires ninja and python3 to be installed on all platforms. Emscripten is installed via skia.\r\n\r\n## Helper commands\r\n\r\nThere is a Makefile with helper commands to build the libraries for each platform (from macOS). On windows you can use the `build-win.sh` script.\r\n\r\n```bash\r\nmake example-mac # Build example for macOS (will also build libSkia etc)\r\n./example/build-mac/example\r\nImage saved as output.png\r\n```\r\n\r\nOther options:\r\n```bash\r\nmake skia-mac # Build libraries for macOS\r\nmake skia-ios # Build libraries for iOS\r\nmake skia-wasm # Build libraries for WASM\r\nmake skia-xcframework # Build XCFramework\r\nmake example-mac # Build example for macOS\r\nmake example-wasm # Build example for WASM\r\nmake serve-wasm # Serve the WASM example\r\n```\r\n\r\n## Build script\r\n\r\nThe script is called as follows\r\n\r\n```\r\nbuild-skia.py [-h] [-config {Debug,Release}] [-archs ARCHS] [-branch BRANCH] [--shallow] {mac,ios,win,spm,wasm}\r\n```\r\n\r\n## Building on macOS\r\n\r\nNote: you may need to call \r\n\r\n```bash\r\nulimit -n 2048\r\n```\r\n\r\nin order to increase the number of files that can be opened at once.\r\n\r\n### Build for macOS universal (arm64 \u0026 x86_64 intel)\r\n\r\n```bash\r\npython3 build-skia.py -config Release -branch chrome/m129 mac\r\n```\r\n\r\n### Build for iOS (including x86_64 simulator)\r\n\r\n```bash\r\npython3 build-skia.py -config Release -branch chrome/m129 ios\r\n```\r\n\r\n### Build an XCFramework\r\n\r\n```bash\r\npython3 build-skia.py -config Release -branch chrome/m129 xcframework\r\n```\r\n\r\n## Building on Windows \r\n\r\nOn Windows, you need to install LLVM in order to compile Skia with clang, as recommened by the authors.\r\n\r\nLLVM should be installed in `C:\\Program Files\\LLVM\\`\r\n\r\n```bash\r\npy -3 build-skia.py -config Release -branch chrome/m129 win\r\n```\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folilarkin%2Fskia-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Folilarkin%2Fskia-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Folilarkin%2Fskia-builder/lists"}