syndicate-flake/preserves-nim/default.nix

46 lines
1.1 KiB
Nix

{ lib, buildNimPackage, fetchFromGitea, fetchFromGitHub }:
let
compiler = fetchFromGitHub {
owner = "nim-lang";
repo = "nim";
rev = "v1.6.0";
hash = "sha256-C9oveXIufv0HqMQw6eNmLbku4Sd7r28PKcRILvKYzn0=";
};
npeg = fetchFromGitHub {
owner = "zevv";
repo = "npeg";
rev = "0.25.0";
hash = "sha256-E/0hCz0XsoAb/bAksqrKTyi8/FwBdP8kT6uUUAdru68=";
};
in buildNimPackage rec {
pname = "preserves";
version = "3.3.0";
src = fetchFromGitea {
domain = "git.syndicate-lang.org";
owner = "ehmry";
repo = "${pname}-nim";
rev = "nim-${pname}-${version}";
sha256 = "sha256-bKALG3Gfq6Pezu9KH6LPc4L57iapILkClbEJVmlQsBY=";
};
propagatedBuildInputs = [ compiler npeg ];
preConfigure = "substituteInPlace preserves.nimble --replace '# bin ' 'bin '";
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;
meta = src.meta // {
maintainers = [ lib.maintainers.ehmry ];
license = lib.licenses.unlicense;
};
}