mirror of
https://github.com/darkrenaissance/darkfi.git
synced 2026-01-06 21:34:00 -05:00
130 lines
3.7 KiB
Nix
130 lines
3.7 KiB
Nix
# Nix flake
|
|
#
|
|
# To use it, install Nix & Nix flakes (see https://nixos.wiki/wiki/Flakes)
|
|
# Then use these commands to get a development shell, build and run binaries:
|
|
# $ cd contrib
|
|
# $ nix develop
|
|
# $ nix build '.#darkfi-ircd'
|
|
# $ nix run '.#darkfi-ircd'
|
|
{
|
|
description = "DarkFi";
|
|
|
|
inputs.nixpkgs.url = "github:nixos/nixpkgs/nixpkgs-unstable";
|
|
inputs.utils.url = "github:numtide/flake-utils";
|
|
inputs.crane.url = "github:ipetkov/crane";
|
|
inputs.crane.inputs.nixpkgs.follows = "nixpkgs";
|
|
|
|
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 = ../.;
|
|
nativeBuildInputs = myNativeBuildInputs;
|
|
buildInputs = myBuildInputs;
|
|
#RUST_BACKTRACE=1;
|
|
#RUST_LOG="trace";
|
|
}
|
|
// attrs);
|
|
in rec {
|
|
packages = rec {
|
|
darkfi-drk = myBuildRustPackage {
|
|
pname = "darkfi-drk";
|
|
cargoExtraArgs = "--package=drk";
|
|
buildAndTestSubdir = "./bin/drk";
|
|
};
|
|
darkfi-darkfid = myBuildRustPackage {
|
|
pname = "darkfi-darkfid";
|
|
cargoExtraArgs = "--package=darkfid";
|
|
buildAndTestSubdir = "./bin/darkfid";
|
|
};
|
|
darkfi-dnetview = myBuildRustPackage {
|
|
pname = "darkfi-dnetview";
|
|
cargoExtraArgs = "--package=dnetview";
|
|
buildAndTestSubdir = "./bin/dnetview";
|
|
};
|
|
darkfi-ircd = myBuildRustPackage {
|
|
pname = "darkfi-ircd";
|
|
cargoExtraArgs = "--package=ircd";
|
|
buildAndTestSubdir = "./bin/ircd";
|
|
};
|
|
darkfi-tau = myBuildRustPackage {
|
|
pname = "darkfi-tau";
|
|
cargoExtraArgs = "--package=tau";
|
|
buildAndTestSubdir = "./bin/tau";
|
|
};
|
|
darkfi-taud = myBuildRustPackage {
|
|
pname = "darkfi-taud";
|
|
cargoExtraArgs = "--package=taud";
|
|
buildAndTestSubdir = "./bin/taud";
|
|
};
|
|
darkfi-zkas = myBuildRustPackage {
|
|
pname = "darkfi-zkas";
|
|
cargoExtraArgs = "--package=zkas";
|
|
buildAndTestSubdir = "./bin/zkas";
|
|
};
|
|
darkfi-vanityaddr = myBuildRustPackage {
|
|
pname = "darkfi-vanityaddr";
|
|
cargoExtraArgs = "--package=vanityaddr";
|
|
buildAndTestSubdir = "./bin/vanityadddr";
|
|
};
|
|
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;
|
|
};
|
|
});
|
|
}
|