93 lines
2.5 KiB
Nix
93 lines
2.5 KiB
Nix
{
|
|
perSystem = {
|
|
config,
|
|
self',
|
|
inputs',
|
|
pkgs,
|
|
lib,
|
|
system,
|
|
...
|
|
}: let
|
|
osxDependencies = with pkgs;
|
|
lib.optionals stdenv.isDarwin
|
|
[
|
|
darwin.apple_sdk.frameworks.Security
|
|
darwin.apple_sdk.frameworks.CoreServices
|
|
];
|
|
|
|
cargoTomlContents = builtins.readFile ../Cargo.toml;
|
|
version = (builtins.fromTOML cargoTomlContents).package.version;
|
|
echo-net = pkgs.rustPlatform.buildRustPackage {
|
|
inherit version;
|
|
name = "cll2v0";
|
|
buildInputs = with pkgs; [openssl] ++ osxDependencies;
|
|
nativeBuildInputs = with pkgs; [pkg-config openssl.dev];
|
|
src = let
|
|
baseDir = ./../.;
|
|
fileHasAnySuffix = fileSuffixes: file: (lib.lists.any (s: lib.hasSuffix s file.name) fileSuffixes);
|
|
rustFilter = basePath: (
|
|
let
|
|
mainFilter = lib.fileset.fileFilter (fileHasAnySuffix [".rs" ".toml"]) basePath;
|
|
in
|
|
lib.fileset.unions [mainFilter (basePath + "/Cargo.toml") (basePath + "/Cargo.lock")]
|
|
);
|
|
in
|
|
pkgs.lib.fileset.toSource {
|
|
root = baseDir;
|
|
fileset = rustFilter baseDir;
|
|
};
|
|
cargoLock.lockFile = ../Cargo.lock;
|
|
meta = {
|
|
description = "Cardano Lightning L2 V0";
|
|
homepage = "cardano-lightning.org";
|
|
# license = licenses.mit;
|
|
};
|
|
};
|
|
|
|
packages = {
|
|
echo-net = echo-net;
|
|
default = packages.echo-net;
|
|
};
|
|
|
|
# FIXME :: I don't know if this is necessary,
|
|
# but I don't know to fix it.
|
|
# overlays.default = final: prev: {echo-net = packages.echo-net;};
|
|
|
|
gitRev =
|
|
if (builtins.hasAttr "rev" self')
|
|
then self'.rev
|
|
else "dirty";
|
|
in {
|
|
inherit packages; # overlays;
|
|
|
|
devShells.default = pkgs.mkShell {
|
|
nativeBuildInputs = [
|
|
config.treefmt.build.wrapper
|
|
];
|
|
shellHook = ''
|
|
export GIT_REVISION=${gitRev}
|
|
${config.pre-commit.installationScript}
|
|
'';
|
|
buildInputs = with pkgs;
|
|
[
|
|
pkg-config
|
|
openssl
|
|
cargo-insta
|
|
(pkgs.rust-bin.stable.latest.default.override {
|
|
extensions = ["rust-src" "clippy" "rustfmt" "rust-analyzer"];
|
|
# targets = [ "wasm32-unknown-unknown" ];
|
|
})
|
|
sqlx-cli
|
|
sqlite
|
|
# nodePackages_latest.nodejs
|
|
# nodePackages_latest.typescript-language-server
|
|
# cmake
|
|
# wasm-pack
|
|
# protobuf
|
|
# sqlite
|
|
]
|
|
++ osxDependencies;
|
|
};
|
|
};
|
|
}
|