syndicate-flake/preserves-nim/default.nix

45 lines
1.0 KiB
Nix

{ lib, nimPackages, fetchFromGitea }:
with nimPackages;
let
bigints = fetchNimble {
pname = "bigints";
version = "0.5.0";
hash = "sha256-zMTXXC0lYVzXaKl8eC/SA/CymRgovgzxBdvEn1VE9p0=";
};
compiler = fetchNimble {
pname = "compiler";
version = "1.4.8";
hash = "sha256-OaSe9Bn/+rjVk4pJKjjwI9rpnDm/T7lRmKeh/DOPn38=";
};
npeg = fetchNimble {
pname = "npeg";
version = "0.24.1";
hash = "sha256-AKYDrR38345CQxV7kLvglGmkc/m8EX6TGtaFckJL3Dc=";
};
in buildNimPackage rec {
outputs = [ "out" "dev" ];
pname = "preserves";
version = "2.0.0";
src = fetchFromGitea {
domain = "git.syndicate-lang.org";
owner = "ehmry";
repo = "preserves-nim";
rev = "v${version}";
sha256 = "sha256-DRncKqq9+2WR1V1EeTnAh7ObCUNqfz7hp8onrCi1mlA=";
};
buildInputs = [ compiler bigints npeg ];
postInstall = ''
pushd $out/bin
for link in preserves_decode preserves_from_json preserves_to_json;
do ln -s preserves_encode $link
done
popd
'';
doCheck = true;
}