Move Rust build into its own flake at rust/flake.nix using crane, and reference it as an input from the top-level flake. The Haskell build gets the Rust artifacts (header + static lib) via a haskell.nix override that symlinks them into place before configure. Use Cabal's Cgarnet_rs naming convention for extra-bundled-libraries to satisfy the shared library install phase naming requirements. Also extract inputs.nix, default.nix, and shell.nix for flake-compat (nix-build / nix-shell) support.
8 lines
352 B
Nix
8 lines
352 B
Nix
(import
|
|
(let lock = builtins.fromJSON (builtins.readFile ./flake.lock);
|
|
in fetchTarball {
|
|
url = "https://github.com/${lock.nodes.flake-compat.locked.owner}/${lock.nodes.flake-compat.locked.repo}/archive/${lock.nodes.flake-compat.locked.rev}.tar.gz";
|
|
sha256 = lock.nodes.flake-compat.locked.narHash;
|
|
}) { src = ./.; }
|
|
).outputs.inputs
|