Skip to content

Instantly share code, notes, and snippets.

@DhashS
Created February 7, 2024 16:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save DhashS/6e1ea068096220f2872a5f3fb08355d5 to your computer and use it in GitHub Desktop.
Save DhashS/6e1ea068096220f2872a5f3fb08355d5 to your computer and use it in GitHub Desktop.
{
"name": "foo_project",
"pkg_meta": {
"__description": "a project packaged with warpforge",
"__liscence": "MIT",
"__readme": "README.md"
},
"srcs": [
"src/foo.c",
],
"outs": [
"out:build/foo:amd64,linux", // execution platform constraints
{
"outs": ["build/foo.exe"],
contraint_values: ["amd64", "windows"]
}
],
"cmd": [
"$(location @busybox//mkdir) build", // default platform
"cd build",
"cmake .. -G Ninja",
"$(location @ninja//ninja)",
"amd64": { // this is the execution platform of the build, not the target platform
"windows_10": [
"mkdir build",
"cd build",
"cmake .. -G Ninja",
"$(location @ninja_win//ninja)"
]
}
],
"deps": [
{
"type": "new_git",
"name": "bar",
"url": ""
"patch": "/patches/bar.patch" // contains warpforge packaging rules to reference internal targets
// could also contain commit/tag ref
},
{
"type": "wf_git",
"name": "fizz",
"repo": "dhashs/fizz"
},
"warphub:dhashs/dankmemes:dankmemes:/pkg/dankmemes", //optional tag or commit after warphub ref
"git:git@github.com/DhashS/biz:biz:/pkg/biz" // same
],
"tools": [
"warphub:std_tools:cmake:1.0:cmake", // optional tool mount point
"warphub:std_tools:cmake_win:1.0:cmake", // optional tool mount point
"warphub:std_tools:busybox:1.0:busybox",
"warphub:std_tools:ninja:1.0:ninja:/tools/ninja",
"warphub:std_tools:ninja_win:1.0:ninja:/tools/ninja",
]
"mounts": [
{
"pkg": "@bar//quxx",
"location": "/pkg/quxx", // loads the transitive closure of the packages in quxx into here
"mount_options": {
"symlink": false
}
},
"mount:@dankmemes//...:/pkg/dankmemes",
"mount:@biz//fuzz:quzz:/pkg/biz/quzz"
],
"resolvers": [
"https://warpforge.com/repo",
"https://radix.bio/repo"
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment