commit 3e00416224db14b31beb2f3f6dabfabd1057e1f9502a116d229052f168701548 Author: Peter Simons Date: Tue Jun 16 10:58:03 2020 +0000 osc copypac from project:devel:languages:haskell:ghc-8.10.x package:hledger-interest revision:2, using keep-link OBS-URL: https://build.opensuse.org/package/show/devel:languages:haskell/hledger-interest?expand=0&rev=1 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/hledger-interest-1.5.5.tar.gz b/hledger-interest-1.5.5.tar.gz new file mode 100644 index 0000000..fec10b5 --- /dev/null +++ b/hledger-interest-1.5.5.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:af3ec95d3b95b8d8a13f4b95c0bbd288c9c2ef1b6d217f403d0fc4d76e0551e7 +size 8549 diff --git a/hledger-interest.changes b/hledger-interest.changes new file mode 100644 index 0000000..7f249ce --- /dev/null +++ b/hledger-interest.changes @@ -0,0 +1,5 @@ +------------------------------------------------------------------- +Tue Jun 9 09:26:20 UTC 2020 - psimons@suse.com + +- Add hledger-interest at version 1.5.5. + diff --git a/hledger-interest.spec b/hledger-interest.spec new file mode 100644 index 0000000..587a315 --- /dev/null +++ b/hledger-interest.spec @@ -0,0 +1,102 @@ +# +# spec file for package hledger-interest +# +# Copyright (c) 2020 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: hledger-interest +Version: 1.5.5 +Release: 0 +Summary: Computes interest for a given account +License: BSD-3-Clause +URL: https://hackage.haskell.org/package/%{name} +Source0: https://hackage.haskell.org/package/%{name}-%{version}/%{name}-%{version}.tar.gz +BuildRequires: ghc-Cabal-devel +BuildRequires: ghc-Decimal-devel +BuildRequires: ghc-hledger-lib-devel +BuildRequires: ghc-mtl-devel +BuildRequires: ghc-rpm-macros +BuildRequires: ghc-text-devel +BuildRequires: ghc-time-devel + +%description +Hledger-interest is a small command-line utility based on Simon Michael's +hleder library. Its purpose is to compute interest for a given ledger account. +Using command line flags, the program can be configured to use various schemes +for day-counting, such as act/act, 30/360, 30E/360, and 30/360isda. +Furthermore, it supports a (small) number of interest schemes, i.e. +annual interest with a fixed rate and the scheme mandated by the German BGB288 +(Basiszins fuer Verbrauchergeschaefte). Extending support for other schemes is +fairly easy, but currently requires changes to the source code. + +As an example, consider the following loan, stored in a file called +'test.ledger': + +> 2008/09/26 Loan > Assets:Bank EUR 10000.00 > Liabilities:Bank > > 2008/11/27 +Payment > Assets:Bank EUR -3771.12 > Liabilities:Bank > > 2009/05/03 Payment > +Assets:Bank EUR -1200.00 > Liabilities:Bank > > 2010/12/10 Payment > +Assets:Bank EUR -3700.00 > Liabilities:Bank + +Suppose that loan earns 5% interest per year, and payments amortize interest +before amortizing the principal claim, then the resulting ledger would look +like this: + +> $ hledger-interest --file=test.ledger --source=Expenses:Interest +--target=Liabilities:Bank --30-360 --annual=0.05 Liabilities:Bank > 2008/09/26 +Loan > Assets:Bank EUR 10000.00 > Liabilities:Bank > > 2008/11/27 Payment > +Assets:Bank EUR -3771.12 > Liabilities:Bank > > 2008/11/27 5.00% interest for +EUR -10000.00 over 61 days > Liabilities:Bank EUR -84.72 > Expenses:Interest > +> 2008/12/31 5.00% interest for EUR -6313.60 over 34 days > Liabilities:Bank +EUR -29.81 > Expenses:Interest > > 2009/05/03 Payment > Assets:Bank EUR +-1200.00 > Liabilities:Bank > > 2009/05/03 5.00% interest for EUR -6343.42 over +123 days > Liabilities:Bank EUR -108.37 > Expenses:Interest > > 2009/12/31 +5.00% interest for EUR -5251.78 over 238 days > Liabilities:Bank EUR -173.60 > +Expenses:Interest > > 2010/12/10 Payment > Assets:Bank EUR -3700.00 > +Liabilities:Bank > > 2010/12/10 5.00% interest for EUR -5425.38 over 340 days > +Liabilities:Bank EUR -256.20 > Expenses:Interest > > 2010/12/31 5.00% interest +for EUR -1981.58 over 21 days > Liabilities:Bank EUR -5.78 > Expenses:Interest + +Running the utility with '--help' gives a brief overview over the available +options: + +> Usage: hledger-interest [OPTION...] ACCOUNT > -h --help print this message +and exit > -V --version show version number and exit > -v --verbose echo input +ledger to stdout (default) > -q --quiet don't echo input ledger to stdout > +--today compute interest up until today > -f FILE --file=FILE input ledger file +(pass '-' for stdin) > -s ACCOUNT --source=ACCOUNT interest source account > -t +ACCOUNT --target=ACCOUNT interest target account > -I --ignore-assertions +ignore any failing balance assertions > --act use 'act' day counting convention +> --30-360 use '30/360' day counting convention > --30E-360 use '30E/360' day +counting convention > --30E-360isda use '30E/360isda' day counting convention > +--constant=RATE constant interest rate > --annual-schedule=SCHEDULE schedule of +annual interest rates. > syntax: '[(Date1,Rate1),(Date2,Rate2),...]' > +--annual=RATE annual interest rate > --bgb288 compute interest according to +German BGB288. + +%prep +%setup -q + +%build +%ghc_bin_build + +%install +%ghc_bin_install + +%files +%license LICENSE +%doc README.md +%{_bindir}/%{name} + +%changelog