flake.nix: rewrite all drvs to use crane + rust-overlay
Build and test / test (push) Successful in 55s
Build and test / check (push) Successful in 1m32s
Run nix flake check / build (push) Successful in 6m10s
Build and test / build-dynamic-library (push) Successful in 50s
Build and test / build-static-library (push) Successful in 55s

This commit is contained in:
2026-06-04 23:56:27 +09:00
parent 5b54a07584
commit 74dad5d9c3
+28 -71
View File
@@ -92,68 +92,17 @@
];
};
cargoLock = {
lockFile = ./Cargo.lock;
};
craneLibAndroid = (crane.mkLib androidPkgs).overrideToolchain (p: p.rust-bin.stable.latest.default);
# cargoLock = {
# lockFile = ./Cargo.lock;
# };
in {
default = self.packages.${system}.tamerye-shared-lib-crane;
tamerye-shared-lib = pkgs.rustPlatform.buildRustPackage {
pname = "tamerye-shared-lib";
version = cargoToml.package.version;
inherit src;
inherit cargoLock;
strictDeps = true;
doCheck = false;
nativeBuildInputs = with pkgs; [
rustfmt
];
};
tamerye-shared-lib-android = androidPkgs.rustPlatform.buildRustPackage {
pname = "tamerye-shared-lib-android";
version = cargoToml.package.version;
inherit src;
inherit cargoLock;
strictDeps = true;
doCheck = false;
nativeBuildInputs = with androidPkgs; [
rustfmt
];
};
tamerye-static-lib-android = androidPkgs.rustPlatform.buildRustPackage {
pname = "tamerye-static-lib-android";
version = cargoToml.package.version;
inherit src;
inherit cargoLock;
strictDeps = true;
doCheck = false;
nativeBuildInputs = with androidPkgs; [
rustfmt
];
postPatch = ''
'${lib.getExe pkgs.yq-go}' '.lib.crate-type = [ "staticlib" ]' --inplace Cargo.toml
'';
buildInputs = with pkgs; [
sqlite
];
cargoExtraArgs = lib.escapeShellArgs [ "--features" "static" ];
};
tamerye-shared-lib-crane = craneLib.buildPackage {
default = self.packages.${system}.tamerye-shared-lib;
}
//
(let
buildSharedLib = craneLib': craneLib'.buildPackage {
pname = "tamerye-shared-lib";
version = cargoToml.package.version;
inherit src;
@@ -161,13 +110,18 @@
strictDeps = true;
doCheck = false;
cargoArtifacts = craneLib.buildDepsOnly {
cargoArtifacts = craneLib'.buildDepsOnly {
inherit src;
strictDeps = true;
};
};
tamerye-static-lib-crane = craneLib.buildPackage {
in {
tamerye-shared-lib = buildSharedLib craneLib;
tamerye-shared-lib-android = buildSharedLib craneLibAndroid;
})
//
(let
buildStaticLib = craneLib': craneLib'.buildPackage {
pname = "tamerye-static-lib";
version = cargoToml.package.version;
inherit src;
@@ -183,7 +137,7 @@
sqlite
];
cargoArtifacts = craneLib.buildDepsOnly {
cargoArtifacts = craneLib'.buildDepsOnly {
inherit src;
strictDeps = true;
@@ -191,11 +145,14 @@
sqlite
];
};
cargoExtraArgs = lib.escapeShellArgs [ "--features" "static" ];
};
tamerye-tests-crane = craneLib.cargoNextest {
in {
tamerye-static-lib = buildStaticLib craneLib;
tamerye-static-lib-android = buildStaticLib craneLibAndroid;
})
//
{
tamerye-tests = craneLib.cargoNextest {
pname = "tamerye-tests";
version = cargoToml.package.version;
inherit src;
@@ -229,7 +186,7 @@
# ENABLE_COLUMN_METADATA = true;
# };
extensions = [{
library = "${self.packages.${system}.tamerye-static-lib-crane}/lib/libtamerye.a";
library = "${self.packages.${system}.tamerye-static-lib}/lib/libtamerye.a";
init = "sqlite3_tamerye_init";
}];
};
@@ -243,7 +200,7 @@
# ENABLE_COLUMN_METADATA = true;
# };
extensions = [{
library = "${self.packages.${system}.tamerye-static-lib-crane}/lib/libtamerye.a";
library = "${self.packages.${system}.tamerye-static-lib}/lib/libtamerye.a";
init = "sqlite3_tamerye_init";
}];
};