Pass in rust-overlay for creating rust-bin.
Some checks failed
rust-test Build rust-test has started
format Build format has succeeded
clippy Build clippy has failed
build Build build has succeeded
foreign-document-test Build foreign-document-test has failed

This commit is contained in:
Tom Alexander
2026-07-10 21:48:42 -04:00
parent 957bb3a5c8
commit 842a77fb2b
2 changed files with 53 additions and 39 deletions

View File

@@ -96,6 +96,7 @@
bindgenTarget ? null,
}:
(organicScope.callPackage ./nix/package.nix {
inherit rust-overlay;
targetBins = [
"wasm"
];
@@ -128,18 +129,24 @@
);
in
{
library = (organicScope.callPackage ./nix/package.nix { buildLib = true; }).overrideAttrs (
old:
let
in
{
installPhase = ''
mkdir -p $out/lib
cp target/*/release/liborganic.rlib $out/lib/
'';
}
);
library =
(organicScope.callPackage ./nix/package.nix {
inherit rust-overlay;
buildLib = true;
}).overrideAttrs
(
old:
let
in
{
installPhase = ''
mkdir -p $out/lib
cp target/*/release/liborganic.rlib $out/lib/
'';
}
);
devTools = organicScope.callPackage ./nix/package.nix {
inherit rust-overlay;
targetBins = [
"parse"
"compare"

View File

@@ -1,8 +1,8 @@
{
hello,
lib,
makeRustPlatform,
rust-bin,
pkgs,
rust-overlay,
targetBins ? [ ],
features ? [ ],
@@ -12,34 +12,41 @@
}:
let
cargoToml = (lib.importTOML ../Cargo.toml);
rustToolchain = (rust-bin.fromRustupToolchainFile ../rust-toolchain.toml).override (
if cargoBuildTarget != null then
{
targets = [ cargoBuildTarget ];
}
else
{ }
);
baseRustPlatform = (
makeRustPlatform {
cargo = rustToolchain;
rustc = rustToolchain;
}
);
rustPlatform =
if cargoBuildTarget != null then
baseRustPlatform.overrideScope (
final: prev: {
cargoBuildHook = prev.cargoBuildHook.overrideDerivation (_: {
rustcTargetSpec = cargoBuildTarget;
});
cargoInstallHook = hello;
rustPlatformFor =
pkgs:
let
rust-bin = rust-overlay.lib.mkRustBin { } pkgs;
rustToolchain = (rust-bin.fromRustupToolchainFile ../rust-toolchain.toml).override (
if cargoBuildTarget != null then
{
targets = [ cargoBuildTarget ];
}
else
{ }
);
baseRustPlatform = (
pkgs.makeRustPlatform {
cargo = rustToolchain;
rustc = rustToolchain;
}
)
else
baseRustPlatform;
);
rustPlatform =
if cargoBuildTarget != null then
baseRustPlatform.overrideScope (
final: prev: {
cargoBuildHook = prev.cargoBuildHook.overrideDerivation (_: {
rustcTargetSpec = cargoBuildTarget;
});
cargoInstallHook = hello;
}
)
else
baseRustPlatform;
in
rustPlatform;
in
rustPlatform.buildRustPackage (
(rustPlatformFor pkgs).buildRustPackage (
# rustPlatform.buildRustPackage (
{
pname = "organic";
version = cargoToml.package.version;