build: self-contained dev shell; drop the unfetchable darksoil flake input - #13
Open
zippy wants to merge 1 commit into
Open
build: self-contained dev shell; drop the unfetchable darksoil flake input#13zippy wants to merge 1 commit into
zippy wants to merge 1 commit into
Conversation
…input The dev shell came from darksoil-studio/tauri-plugin-holochain, whose GitHub repo no longer exists (renamed to p2p-shipyard), so the flake input 404s: `nix flake update` fails outright and a fresh clone can only enter the shell while the locked source survives in a binary cache. Compose the environment locally instead, from holonix main-0.6 and its nixpkgs (the same shape as holochain/android-service-runtime): - Rust toolchain from rust-toolchain.toml via rust-overlay. The file was stale — 1.81.0 with only x86_64 targets, while the build scripts cross-compile for arm64-v8a/x86/x86_64 — because the darksoil shell had been supplying its own rust. Now 1.88.0 with the full Android + wasm target list, and nix and rustup users stay in sync. - Android SDK/NDK from nixpkgs androidenv: platform/buildTools 34 to match the gradle configs, NDK 28.0.13004108 — the exact NDK the darksoil shell shipped, so produced .so files are unchanged. - Tauri Linux desktop libs from holonix's nixpkgs: webkitgtk 2.52.1 instead of the 2.42.5 pinned via the old shell's webkitnixpkgs input. webkitgtk >= 2.44 needs a working EGL display on non-NixOS hosts, so the shellHook supplies an EGL vendor list (host drivers first, nixpkgs Mesa as fallback) instead of the old WEBKIT_DISABLE_COMPOSITING_MODE=1 (a no-op since webkitgtk 2.46). - HOST_CC/CXX/AR exports so host-targeted units (build scripts, proc-macros) keep the host toolchain under `cargo ndk`. Verified in the new shell: `cargo check --workspace --all-targets` clean, `cargo ndk -t x86_64 check -p holochain-conductor-runtime-ffi` clean, gradle configures in libraries/client, holochain 0.6.1-rc.7 on PATH matching the Cargo.toml pin.
zippy
had a problem deploying
to
Android Service Runtime Release
August 13, 2026 14:02 — with
GitHub Actions
Failure
zippy
deployed
to
Android Service Runtime Release
August 13, 2026 14:02 — with
GitHub Actions
Active
zippy
temporarily deployed
to
Android Service Runtime Release
August 13, 2026 14:02 — with
GitHub Actions
Inactive
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
The dev shell is inherited from
darksoil-studio/tauri-plugin-holochain, whose GitHub repo no longer exists (renamed top2p-shipyard). The flake input 404s:nix flake updatefails outright, and a fresh clone can only enter the dev shell while the locked source still survives in a binary cache — the environment is one cache eviction away from unbuildable.What
Compose the dev environment locally from holonix
main-0.6and its nixpkgs, the same flake shape as holochain/android-service-runtime (this repo's successor lineage), removing the darksoil dependency entirely:rust-toolchain.tomlvia rust-overlay. The file was stale — 1.81.0 with only x86_64 targets while the build scripts cross-compile for arm64-v8a/x86/x86_64 (the darksoil shell had been supplying its own rust). Now 1.88.0 with the full Android + wasm target list; nix and rustup users stay in sync.androidenv: platform/buildTools 34 matching the gradle configs, and NDK 28.0.13004108 — the exact NDK the darksoil shell shipped, so produced.sofiles are unchanged.webkitnixpkgsinput. webkitgtk ≥ 2.44 requires a working EGL display, which nix-built webkit can't find on non-NixOS hosts (nixpkgs libglvnd only searches the NixOS-only/run/opengl-driver), so the shellHook supplies an ordered EGL vendor list — host drivers first (host binaries launched from the shell are unaffected), nixpkgs Mesa as the nix-binary fallback. This replaces the oldWEBKIT_DISABLE_COMPOSITING_MODE=1workaround, which has been a no-op since webkitgtk 2.46. Diagnosed and verified end-to-end in holochain/android-service-runtime@81193a9.HOST_CC/CXX/ARexports so host-targeted units (build scripts, proc-macros) keep the host toolchain undercargo ndk.flake.lockshrinks from 25 nodes to 11; DEVELOPMENT.md's version-bump note updated.Verification (all in the new shell)
cargo check --workspace --all-targets— cleancargo ndk -t x86_64 check -p holochain-conductor-runtime-ffi— clean (NDK/cargo-ndk path CI uses)./gradlew tasksconfigures inlibraries/client(JDK 17 + SDK detection)holochain --versionon PATH is 0.6.1-rc.7, matching the Cargo.toml pinCI note: workflows keep working unchanged (
nix develop --no-update-lock-file+holochain-cicachix); the androidenv SDK derivation builds once per self-hosted runner store.