mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-01-09 14:48:08 -05:00
Fixed Flake.nix
This fixes flake.nix and introduce the use of crane to create the rust package
This commit is contained in:
@@ -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";
|
||||
};
|
||||
defaultPackage = packages.default; # compat
|
||||
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";
|
||||
};
|
||||
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;
|
||||
};
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user