34 lines
1.4 KiB
Nix
34 lines
1.4 KiB
Nix
{ config, stdenv, callPackage, fetchFromGitHub, mkFilter }:
|
|
|
|
let
|
|
inherit (stdenv.lib) attrByPath strings traceValFn;
|
|
|
|
repo = "nimbus";
|
|
|
|
localPath = attrByPath ["status-im" "nimbus" "src-override"] "" config;
|
|
localSrc = builtins.path rec { # We use builtins.path so that we can name the resulting derivation, otherwise the name would be taken from the checkout directory, which is outside of our control
|
|
path = traceValFn (path: "Using local ${repo} sources from ${path}\n") localPath;
|
|
name = "${repo}-source-local";
|
|
filter =
|
|
# Keep this filter as restrictive as possible in order to avoid unnecessary rebuilds and limit closure size
|
|
mkFilter {
|
|
dirRootsToInclude = [ "nix" "wrappers" "vendor" ];
|
|
dirsToExclude = [ ".git" ".svn" "CVS" ".hg" ".vscode" ".dependabot" ".github" "examples" "docs" ];
|
|
filesToInclude = [ "Makefile" "nim.cfg" "nimbus.nimble" "default.nix" ];
|
|
root = path;
|
|
};
|
|
};
|
|
|
|
src = if localPath != "" then localSrc
|
|
else fetchFromGitHub rec {
|
|
inherit repo;
|
|
name = "${repo}-source-${strings.substring 0 7 rev}";
|
|
rev = "73278f20d0bf27fb7c6c331b515abb765814f1cc";
|
|
owner = "status-im";
|
|
sha256 = "0myq234zqnpmqsc2452xygnyc6sjs8x1blyrpa4bi9v2cwbyap5c";
|
|
fetchSubmodules = true;
|
|
};
|
|
nimbusDeriv = import "${src}/nix/default.nix";
|
|
|
|
in nimbusDeriv
|