Skip to content

Conversation

gcurtis
Copy link
Collaborator

@gcurtis gcurtis commented Oct 24, 2024

Update the patching flake to use the devbox flake (added in 37c36a1) instead of copying the binary manually.

  • It uses the flakeref "github:jetify-com/devbox/" + build.Version to get the same version of Devbox that's currently running.
  • For dev builds, it attempts to find the devbox source and use the local flake instead.

When Devbox needs to patch a package, it generates a flake that calls devbox patch as its builder. Because flake builds are sandboxed, we need a way of getting devbox into the Nix store.

Previously, we were just copying the currently running devbox executable into the Nix store and using that. However, Devbox isn't actually a static binary (we don't build with CGO_ENABLED=0). This causes devbox patch to fail because the flake is isolated from the system's linker.

Update the patching flake to use the devbox flake (added in 37c36a1)
instead of copying the binary manually.

- It uses the flakeref `"github:jetify-com/devbox/" + build.Version` to
  get the same version of Devbox that's currently running.
- For dev builds, it attempts to find the devbox source and use the
  local flake instead.

When Devbox needs to patch a package, it generates a flake that calls
`devbox patch` as its builder. Because flake builds are sandboxed, we
need a way of getting devbox into the Nix store.

Previously, we were just copying the currently running devbox executable
into the Nix store and using that. However, Devbox isn't actually a
static binary (we don't build with CGO_ENABLED=0). This causes `devbox
patch` to fail because the flake is isolated from the system's linker.
@gcurtis gcurtis requested review from mikeland73 and savil October 24, 2024 16:01
@gcurtis gcurtis merged commit cab9ca6 into main Oct 24, 2024
29 checks passed
@gcurtis gcurtis deleted the gcurtis/patch-flake branch October 24, 2024 19:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants