feat: make devbox.json cross-platform for GTK4/libadwaita
Linux now gets gtk4/libadwaita declared as nix devbox packages (scoped to linux platforms, with the dev output requested explicitly - nixpkgs splits runtime libs from headers/pkgconfig, and devbox only installs the default output unless told otherwise). macOS keeps using Homebrew's build exactly as before (nixpkgs' GTK build is much rockier there). PKG_CONFIG_PATH moved out of the static env block (which can't be platform-conditional) into init_hook, which can branch on uname. Verified building clean with 0 warnings on both this machine (Linux) and apfel (macOS).
This commit is contained in:
parent
2447e9bcb5
commit
ba97f63841
1 changed files with 21 additions and 10 deletions
31
devbox.json
31
devbox.json
|
|
@ -1,18 +1,29 @@
|
||||||
{
|
{
|
||||||
"$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.17.2/.schema/devbox.schema.json",
|
"$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.17.2/.schema/devbox.schema.json",
|
||||||
"packages": [
|
"packages": {
|
||||||
"rustc@latest",
|
"rustc": "latest",
|
||||||
"cargo@latest",
|
"cargo": "latest",
|
||||||
"pkg-config@latest",
|
"pkg-config": "latest",
|
||||||
"rustfmt@latest"
|
"rustfmt": "latest",
|
||||||
],
|
"gtk4": {
|
||||||
|
"version": "latest",
|
||||||
|
"platforms": ["x86_64-linux", "aarch64-linux"],
|
||||||
|
"outputs": ["out", "dev"]
|
||||||
|
},
|
||||||
|
"libadwaita": {
|
||||||
|
"version": "latest",
|
||||||
|
"platforms": ["x86_64-linux", "aarch64-linux"],
|
||||||
|
"outputs": ["out", "dev"]
|
||||||
|
}
|
||||||
|
},
|
||||||
"env": {
|
"env": {
|
||||||
"PATH": "/opt/homebrew/bin:/opt/homebrew/sbin:$PATH",
|
"PATH": "/opt/homebrew/bin:/opt/homebrew/sbin:$PATH"
|
||||||
"PKG_CONFIG_PATH": "/opt/homebrew/lib/pkgconfig",
|
|
||||||
"PKG_CONFIG_PATH_arm64_apple_darwin": "/opt/homebrew/lib/pkgconfig"
|
|
||||||
},
|
},
|
||||||
"shell": {
|
"shell": {
|
||||||
"init_hook": [],
|
"init_hook": [
|
||||||
|
"export PKG_CONFIG_PATH=\"$DEVBOX_PACKAGES_DIR/lib/pkgconfig:$PKG_CONFIG_PATH\"",
|
||||||
|
"if [[ \"$(uname)\" == \"Darwin\" ]]; then export PKG_CONFIG_PATH=\"/opt/homebrew/lib/pkgconfig:$PKG_CONFIG_PATH\"; export PKG_CONFIG_PATH_arm64_apple_darwin=\"/opt/homebrew/lib/pkgconfig\"; fi"
|
||||||
|
],
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build": [
|
"build": [
|
||||||
"cargo build --release"
|
"cargo build --release"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue