Ver código fonte

Fixed Flake.nix

This fixes flake.nix and introduce the use of crane to create the rust package
actias-nebula 3 anos atrás
pai
commit
f764b4e2de
1 arquivos alterados com 96 adições e 108 exclusões
  1. 96 108
      contrib/flake.nix

+ 96 - 108
contrib/flake.nix

@@ -6,125 +6,113 @@
 # $ nix develop
 # $ nix build '.#darkfi-ircd'
 # $ nix run '.#darkfi-ircd'
-
 {
   description = "DarkFi";
 
-  inputs.nixpkgs.url = "github:nixos/nixpkgs/nixos-22.11";
+  inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
   inputs.utils.url = "github:numtide/flake-utils";
-  inputs.rust-overlay.url = "github:oxalica/rust-overlay";
+  inputs.crane.url = "github:ipetkov/crane";
+  inputs.crane.inputs.nixpkgs.follows = "nixpkgs";
 
-  outputs = { self, nixpkgs, utils, rust-overlay }:
-    utils.lib.eachDefaultSystem (system:
-      let
-        overlays = [
-          (import rust-overlay)
-        ];
-        pkgs = import nixpkgs rec {
-          inherit system overlays;
-        };
-        rust-bin = pkgs.rust-bin.stable."1.66.0".default.override {
-          extensions = [ "rust-src" ];
-        };
-        buildRustPackage = (pkgs.makeRustPlatform {
-          cargo = rust-bin;
-          rustc = rust-bin;
-        }).buildRustPackage;
-        myNativeBuildInputs = with pkgs; [
-          pkg-config
-          gnumake
-          cmake
-          clang
-          libclang
-          llvm
-        ];
-        myBuildInputs = with pkgs; [
-          expat
-          fontconfig
-          freetype
-          openssl
-        ];
-        myBuildRustPackage = attrs:
-          buildRustPackage ({
-            version = "0.3.0";
+  outputs = {
+    self,
+    nixpkgs,
+    utils,
+    crane,
+  }:
+    utils.lib.eachDefaultSystem (system: let
+      craneLib = crane.lib.${system};
+      pkgs = import nixpkgs {
+        inherit system;
+      };
+      myNativeBuildInputs = with pkgs; [
+        pkg-config
+        gnumake
+        cmake
+        clang
+        libclang
+        llvm
+      ];
+      myBuildInputs = with pkgs; [
+        expat
+        fontconfig
+        freetype
+        openssl
+      ];
+      myBuildRustPackage = attrs:
+        craneLib.buildPackage ({
             src = ../.;
-            cargoLock = {
-              lockFile = ../Cargo.lock;
-              outputHashes = {
-                "term_grid-0.2.0" = "sha256-wl4ZlFjY34xPuMpXdX1a/g9YUomKLIYp2U8r9/goti0=";
-                "halo2_proofs-0.2.0" = "sha256-WkDg1SgGPH9KyEAgwyl+OXrPk+w9Rd+8ZC+bbGx0Yek=";
-                #"dashu-0.2.0" = "sha256-gD1eb0N6sxEm6vpaQWqdodRGPvAlsPcV2Jxp63VQZZ4=";
-              };
-            };
             nativeBuildInputs = myNativeBuildInputs;
             buildInputs = myBuildInputs;
             #RUST_BACKTRACE=1;
             #RUST_LOG="trace";
-          } // attrs);
-      in rec {
-        packages = rec {
-          darkfi-drk = myBuildRustPackage rec {
-            pname = "darkfi-drk";
-            buildAndTestSubdir = "./bin/drk";
-          };
-          darkfi-darkfid = myBuildRustPackage rec {
-            pname = "darkfi-darkfid";
-            buildAndTestSubdir = "./bin/darkfid";
-          };
-          darkfi-dnetview = myBuildRustPackage rec {
-            pname = "darkfi-dnetview";
-            buildAndTestSubdir = "./bin/dnetview";
-          };
-          darkfi-ircd = myBuildRustPackage rec {
-            pname = "darkfi-ircd";
-            buildAndTestSubdir = "./bin/ircd";
-          };
-          darkfi-tau = myBuildRustPackage rec {
-            pname = "darkfi-tau";
-            buildAndTestSubdir = "./bin/tau";
-          };
-          darkfi-taud = myBuildRustPackage rec {
-            pname = "darkfi-taud";
-            buildAndTestSubdir = "./bin/taud";
-          };
-          darkfi-zkas = myBuildRustPackage rec {
-            pname = "darkfi-zkas";
-            buildAndTestSubdir = "./bin/zkas";
-          };
-          default = darkfi-drk;
+          }
+          // attrs);
+    in rec {
+      packages = rec {
+        darkfi-drk = myBuildRustPackage {
+          pname = "darkfi-drk";
+          buildAndTestSubdir = "./bin/drk";
+        };
+        darkfi-darkfid = myBuildRustPackage {
+          pname = "darkfi-darkfid";
+          buildAndTestSubdir = "./bin/darkfid";
+        };
+        darkfi-dnetview = myBuildRustPackage {
+          pname = "darkfi-dnetview";
+          buildAndTestSubdir = "./bin/dnetview";
+        };
+        darkfi-ircd = myBuildRustPackage {
+          pname = "darkfi-ircd";
+          cargoExtraArgs = "--package=ircd";
+          buildAndTestSubdir = "./bin/ircd";
+        };
+        darkfi-tau = myBuildRustPackage {
+          pname = "darkfi-tau";
+          buildAndTestSubdir = "./bin/tau";
+        };
+        darkfi-taud = myBuildRustPackage {
+          pname = "darkfi-taud";
+          buildAndTestSubdir = "./bin/taud";
         };
-        defaultPackage = packages.default; # compat
+        darkfi-zkas = myBuildRustPackage {
+          pname = "darkfi-zkas";
+          buildAndTestSubdir = "./bin/zkas";
+        };
+        default = darkfi-drk;
+      };
+      defaultPackage = packages.default; # compat
 
-        apps = rec {
-          darkfi-drk = utils.lib.mkApp {
-            drv = packages.darkfi-drk;
-            exePath = "/bin/drk";
-          };
-          darkfi-darkfid = utils.lib.mkApp {
-            drv = packages.darkfi-darkfid;
-            exePath = "/bin/darkfid";
-          };
-          darkfi-dnetview = utils.lib.mkApp {
-            drv = packages.darkfi-dnetview;
-            exePath = "/bin/dnetview";
-          };
-          darkfi-ircd = utils.lib.mkApp {
-            drv = packages.darkfi-ircd;
-            exePath = "/bin/ircd";
-          };
-          darkfi-tau = utils.lib.mkApp {
-            drv = packages.darkfi-tau;
-            exePath = "/bin/tau";
-          };
-          darkfi-taud = utils.lib.mkApp {
-            drv = packages.darkfi-taud;
-            exePath = "/bin/taud";
-          };
-          darkfi-zkas = utils.lib.mkApp {
-            drv = packages.darkfi-zkas;
-            exePath = "/bin/zkas";
-          };
-          default = darkfi-drk;
+      apps = rec {
+        darkfi-drk = utils.lib.mkApp {
+          drv = packages.darkfi-drk;
+          exePath = "/bin/drk";
+        };
+        darkfi-darkfid = utils.lib.mkApp {
+          drv = packages.darkfi-darkfid;
+          exePath = "/bin/darkfid";
+        };
+        darkfi-dnetview = utils.lib.mkApp {
+          drv = packages.darkfi-dnetview;
+          exePath = "/bin/dnetview";
+        };
+        darkfi-ircd = utils.lib.mkApp {
+          drv = packages.darkfi-ircd;
+          exePath = "/bin/ircd";
+        };
+        darkfi-tau = utils.lib.mkApp {
+          drv = packages.darkfi-tau;
+          exePath = "/bin/tau";
+        };
+        darkfi-taud = utils.lib.mkApp {
+          drv = packages.darkfi-taud;
+          exePath = "/bin/taud";
+        };
+        darkfi-zkas = utils.lib.mkApp {
+          drv = packages.darkfi-zkas;
+          exePath = "/bin/zkas";
         };
-      });
+        default = darkfi-drk;
+      };
+    });
 }