mirror of
https://github.com/gentoo-mirror/guru.git
synced 2025-04-20 23:46:14 -04:00
app-office/beancount: new package, a ledger-like accounting software
Signed-off-by: Wolfgang E. Sanyer <WolfgangESanyer@gmail.com>
This commit is contained in:
parent
9ffdbddce8
commit
15f13b15dc
1
app-office/beancount/Manifest
Normal file
1
app-office/beancount/Manifest
Normal file
@ -0,0 +1 @@
|
||||
DIST beancount-2.3.3.tar.gz 1784037 BLAKE2B ff62ef30d3bcadd3f1dc195adf71cb58703e50c93e12cf71ef699c651ce67daf89ea8285b53b43811687fb132c02d8d6364651d87bc3e092f9485e6934883110 SHA512 420369105939bcdcf2b7caaba27ab1d486b3dfc18e0a3286d917a6380345eaf5fa64ff5e0779fd2275129b7088de24f4a2dbd0232a482aceb124064e5c56ccc4
|
56
app-office/beancount/beancount-2.3.3.ebuild
Normal file
56
app-office/beancount/beancount-2.3.3.ebuild
Normal file
@ -0,0 +1,56 @@
|
||||
# Copyright 2021 Gentoo Authors
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
EAPI=7
|
||||
|
||||
PYTHON_COMPAT=( python3_{7..8} )
|
||||
|
||||
DISTUTILS_SINGLE_IMPL=1
|
||||
|
||||
inherit distutils-r1
|
||||
|
||||
DESCRIPTION="A double-entry accounting system that uses text files as input"
|
||||
HOMEPAGE="https://github.com/beancount/beancount"
|
||||
SRC_URI="https://github.com/beancount/beancount/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
||||
|
||||
LICENSE="GPL-2"
|
||||
SLOT="0"
|
||||
KEYWORDS="~amd64 ~x86"
|
||||
IUSE="test"
|
||||
RESTRICT="!test? ( test )"
|
||||
|
||||
PATCHES=(
|
||||
"${FILESDIR}/${PN}-2.3.3-disable-network-tests.patch"
|
||||
"${FILESDIR}/${PN}-2.3.3-disable-tmp-access-tests.patch"
|
||||
"${FILESDIR}/${PN}-2.3.3-disable-install-test.patch"
|
||||
)
|
||||
|
||||
RDEPEND="
|
||||
$(python_gen_cond_dep '
|
||||
>=dev-python/beautifulsoup-4[${PYTHON_USEDEP}]
|
||||
>=dev-python/bottle-0.12[${PYTHON_USEDEP}]
|
||||
>=dev-python/google-api-python-client-1.8.2[${PYTHON_USEDEP}]
|
||||
>=dev-python/httplib2-0.10[${PYTHON_USEDEP}]
|
||||
>=dev-python/lxml-3.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/oauth2client-4.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/ply-3.4[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-dateutil-2.6.0[${PYTHON_USEDEP}]
|
||||
>=dev-python/python-magic-0.4.12[${PYTHON_USEDEP}]
|
||||
>=dev-python/requests-2.0[${PYTHON_USEDEP}]
|
||||
')
|
||||
"
|
||||
|
||||
BDEPEND="
|
||||
test? (
|
||||
${RDEPEND}
|
||||
$(python_gen_cond_dep '
|
||||
>=dev-python/pytest-5.4.2[${PYTHON_USEDEP}]
|
||||
')
|
||||
)
|
||||
"
|
||||
|
||||
python_test(){
|
||||
esetup.py build_ext -i
|
||||
make ctest
|
||||
make test
|
||||
}
|
@ -0,0 +1,31 @@
|
||||
diff --git a/beancount/scripts/setup_test.py b/beancount/scripts/setup_test.py
|
||||
index 59a165d1..45717643 100644
|
||||
--- a/beancount/scripts/setup_test.py
|
||||
+++ b/beancount/scripts/setup_test.py
|
||||
@@ -12,6 +12,10 @@ import sys
|
||||
import tarfile
|
||||
import tempfile
|
||||
import unittest
|
||||
+import pytest
|
||||
+
|
||||
+pytest.skip("these installation tests fail in portage and are un-needed"
|
||||
+ , allow_module_level=True)
|
||||
|
||||
from beancount.utils import test_utils
|
||||
|
||||
@@ -30,7 +34,6 @@ class TestSetup(test_utils.TestCase):
|
||||
if path.exists(self.installdir):
|
||||
shutil.rmtree(self.installdir)
|
||||
|
||||
- @unittest.skipIf(is_bazel_build(), "Cannot setup within Bazel.")
|
||||
def test_setup(self):
|
||||
# We need to create the installation target directory and have our
|
||||
# PYTHONPATH set on it in order for setuptools to work properly in a
|
||||
@@ -50,6 +53,7 @@ class TestSetup(test_utils.TestCase):
|
||||
if path.exists(egg_info):
|
||||
shutil.rmtree(egg_info)
|
||||
|
||||
+ @pytest.mark.skip(reason="Portage will make sure things install correctly")
|
||||
def run_setup(self, installdir, extra_env=None):
|
||||
"""Run setup.py with the given extra environment variables.
|
||||
|
@ -0,0 +1,73 @@
|
||||
diff --git a/beancount/scripts/bake_test.py b/beancount/scripts/bake_test.py
|
||||
index 67dbefc0..a95488c1 100644
|
||||
--- a/beancount/scripts/bake_test.py
|
||||
+++ b/beancount/scripts/bake_test.py
|
||||
@@ -6,6 +6,7 @@ import textwrap
|
||||
from os import path
|
||||
from unittest import mock
|
||||
import unittest
|
||||
+import pytest
|
||||
|
||||
import lxml.html
|
||||
|
||||
@@ -188,6 +189,7 @@ class TestScriptBake(test_utils.TestCase):
|
||||
test_utils.run_with_args(bake.main, self.get_args() + [filename, output])
|
||||
|
||||
@test_utils.docfile
|
||||
+ @pytest.mark.skip(reason="network unreachable during portage installation")
|
||||
def test_bake_directory(self, filename):
|
||||
"""
|
||||
2013-01-01 open Expenses:Restaurant
|
||||
@@ -210,6 +212,7 @@ class TestScriptBake(test_utils.TestCase):
|
||||
class TestScriptArchive(TestScriptBake):
|
||||
|
||||
@test_utils.docfile
|
||||
+ @pytest.mark.skip(reason="network unreachable during portage installation")
|
||||
def test_bake_archive__known(self, filename):
|
||||
"""
|
||||
2013-01-01 open Expenses:Restaurant
|
||||
diff --git a/beancount/web/web_test.py b/beancount/web/web_test.py
|
||||
index dd7059fc..1aab3e44 100644
|
||||
--- a/beancount/web/web_test.py
|
||||
+++ b/beancount/web/web_test.py
|
||||
@@ -4,6 +4,7 @@ __license__ = "GNU GPLv2"
|
||||
import unittest
|
||||
import urllib.parse
|
||||
from os import path
|
||||
+import pytest
|
||||
|
||||
from beancount.utils import test_utils
|
||||
from beancount.parser import version
|
||||
@@ -48,26 +49,32 @@ class TestWeb(unittest.TestCase):
|
||||
self.ignore_regexp)
|
||||
|
||||
@test_utils.docfile
|
||||
+ @pytest.mark.skip(reason="network unreachable during portage installation")
|
||||
def test_scrape_empty_file(self, filename):
|
||||
"""
|
||||
;; A file with no entries in it.
|
||||
"""
|
||||
self.scrape(filename)
|
||||
|
||||
+ @pytest.mark.skip(reason="network unreachable during portage installation")
|
||||
def test_scrape_basic(self):
|
||||
self.scrape('simple/basic.beancount')
|
||||
|
||||
+ @pytest.mark.skip(reason="network unreachable during portage installation")
|
||||
def test_scrape_basic_view(self):
|
||||
self.scrape('simple/basic.beancount', extra_args=['--view', 'year/2013'])
|
||||
|
||||
+ @pytest.mark.skip(reason="network unreachable during portage installation")
|
||||
def test_scrape_in_incognito(self):
|
||||
self.scrape('simple/basic.beancount', extra_args=['--incognito'])
|
||||
|
||||
+ @pytest.mark.skip(reason="network unreachable during portage installation")
|
||||
def test_scrape_starterkit(self):
|
||||
self.scrape('simple/starter.beancount')
|
||||
|
||||
# Note: Great idea, but sorry, too slow (approx. 50s on MBA). We need to
|
||||
# find some way to enable this on demand.
|
||||
+ @pytest.mark.skip(reason="network unreachable during portage installation")
|
||||
def __test_scrape_example(self):
|
||||
self.scrape('example.beancount')
|
||||
|
@ -0,0 +1,20 @@
|
||||
diff --git a/beancount/projects/will_test.py b/beancount/projects/will_test.py
|
||||
index 0a8e92b8..12d4c50a 100644
|
||||
--- a/beancount/projects/will_test.py
|
||||
+++ b/beancount/projects/will_test.py
|
||||
@@ -3,6 +3,7 @@ __license__ = "GNU GPLv2"
|
||||
|
||||
import logging
|
||||
import unittest
|
||||
+import pytest
|
||||
|
||||
from beancount import loader
|
||||
from beancount.core import getters
|
||||
@@ -95,6 +96,7 @@ class TestWillFunctions(test_utils.TestCase):
|
||||
class TestWillReport(test_utils.TestCase):
|
||||
|
||||
@loader.load_doc()
|
||||
+ @pytest.mark.skip(reason="Cannot access /tmp during portage installation")
|
||||
def test_create_report(self, entries, _, options_map):
|
||||
"""
|
||||
option "title" "Report Creation Test"
|
14
app-office/beancount/metadata.xml
Normal file
14
app-office/beancount/metadata.xml
Normal file
@ -0,0 +1,14 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
|
||||
<pkgmetadata>
|
||||
<maintainer type="person">
|
||||
<email>ezzieyguywuf@gmail.com</email>
|
||||
<name>Wolfgang E. Sanyer</name>
|
||||
</maintainer>
|
||||
<longdescription lang="en">
|
||||
Beancount defines a simple data format or “language” that lets you
|
||||
define financial transaction records in a text file, load them in memory
|
||||
and generate and export a variety of reports, such as balance sheets or
|
||||
income statements.
|
||||
</longdescription>
|
||||
</pkgmetadata>
|
Loading…
x
Reference in New Issue
Block a user