From 74dad5d9c3aee5c73c390735c42fda6014a59aa7 Mon Sep 17 00:00:00 2001 From: h7x4 Date: Thu, 4 Jun 2026 23:56:27 +0900 Subject: [PATCH] flake.nix: rewrite all drvs to use crane + rust-overlay --- flake.nix | 99 ++++++++++++++++--------------------------------------- 1 file changed, 28 insertions(+), 71 deletions(-) diff --git a/flake.nix b/flake.nix index 2be8d63..659cf0f 100644 --- a/flake.nix +++ b/flake.nix @@ -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"; }]; };