nixpkgs/pkgs/applications/office/hledger-check-fancyassertions/default.nix
sternenseemann df9411eed4 hledger-check-fancyassertions: tie version to hledger-lib
This means that updating hledger-lib will automatically force us to
update hledger-check-fancyassertions. Any new hash mismatch will be
caught by src.name changing, forcing a rebuild of the derivation.
2021-12-21 16:01:51 +01:00

48 lines
1.4 KiB
Nix

{lib, stdenvNoCC, haskellPackages, fetchurl, writers}:
let
hledger-lib = haskellPackages.hledger-lib_1_24_1;
in
stdenvNoCC.mkDerivation rec {
pname = "hledger-check-fancyassertions";
inherit (hledger-lib) version;
src = fetchurl {
name = "hledger-check-fancyassertion-${version}.hs";
url = "https://raw.githubusercontent.com/simonmichael/hledger/hledger-lib-${version}/bin/hledger-check-fancyassertions.hs";
sha256 = "0naggvivc6szsc8haa52a6lm079ikz5qfva0ljnqx0f1zlkxv984";
};
dontUnpack = true;
dontBuild = true;
executable = writers.writeHaskell
"hledger-check-fancyassertions"
{
libraries = [
hledger-lib
] ++ (with haskellPackages; [
base base-compat base-compat-batteries filepath
megaparsec microlens optparse-applicative string-qq text time
transformers
]);
inherit (haskellPackages) ghc;
}
src;
installPhase = ''
runHook preInstall
install -D $executable $out/bin/${pname}
runHook postInstall
'';
meta = with lib; {
description = "Complex account balance assertions for hledger journals";
homepage = "https://hledger.org/";
changelog = "https://github.com/simonmichael/hledger/blob/master/CHANGES.md";
license = licenses.gpl3;
maintainers = [ maintainers.DamienCassou ];
platforms = lib.platforms.all; # GHC can cross-compile
};
}