nixpkgs/pkgs/tools/text/ledger2beancount/default.nix

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

58 lines
1.5 KiB
Nix
Raw Normal View History

2021-01-15 10:19:50 +01:00
{ lib, stdenv, fetchFromGitHub, makeWrapper, perlPackages, beancount }:
2020-05-21 22:41:08 +02:00
let
perlDeps = with perlPackages; [
DateCalc
DateTimeFormatStrptime
enum
FileBaseDir
GetoptLongDescriptive
ListMoreUtils
RegexpCommon
2020-05-21 22:41:08 +02:00
StringInterpolate
YAMLLibYAML
2020-05-21 22:41:08 +02:00
];
in stdenv.mkDerivation rec {
pname = "ledger2beancount";
2022-12-04 07:25:28 +01:00
version = "2.7";
2020-05-21 22:41:08 +02:00
src = fetchFromGitHub {
owner = "beancount";
2020-05-21 22:41:08 +02:00
repo = "ledger2beancount";
rev = version;
2022-12-04 07:25:28 +01:00
sha256 = "sha256-2LIP3ljK1HMAwjk2ueIf9pFL+UUnGDgx9GYNtRztdFY=";
2020-05-21 22:41:08 +02:00
};
2021-07-20 12:01:25 +02:00
dontBuild = true;
2020-05-21 22:41:08 +02:00
nativeBuildInputs = [ makeWrapper ];
buildInputs = [ perlPackages.perl beancount ] ++ perlDeps;
makeFlags = [ "prefix=$(out)" ];
installFlags = [ "INSTALL=install" ];
installPhase = ''
mkdir -p $out
cp -r $src/bin $out/bin
'';
postFixup = ''
wrapProgram "$out/bin/ledger2beancount" \
--set PERL5LIB "${perlPackages.makeFullPerlPath perlDeps}"
'';
meta = with lib; {
2020-05-21 22:41:08 +02:00
description = "Ledger to Beancount text-based converter";
longDescription = ''
A script to automatically convert Ledger-based textual ledgers to Beancount ones.
Conversion is based on (concrete) syntax, so that information that is not meaningful for accounting reasons but still valuable (e.g., comments, formatting, etc.) can be preserved.
'';
homepage = "https://github.com/beancount/ledger2beancount";
2020-05-21 22:41:08 +02:00
license = licenses.gpl3Plus;
platforms = platforms.all;
maintainers = with maintainers; [ pablovsky ];
};
}