app-office/beancount - 3.2.3 (stuff)

Search

Install

Install this version:

emerge -a =app-office/beancount-3.2.3

If this version is masked, you can unmask it using the autounmask tool or standard emerge options:

autounmask =app-office/beancount-3.2.3

Or alternatively:

emerge --autounmask-write -a =app-office/beancount-3.2.3

Package Information

Description:
A double-entry accounting system that uses text files as input
Homepage:
https://beancount.github.io https://github.com/beancount/beancount
License:
GPL-2

Ebuild Details

Version EAPI Keywords Slot
3.2.3 8 ~amd64 ~arm64 0
View Raw Ebuild
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2

EAPI=8

DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=meson-python
PYTHON_COMPAT=( python3_{11..14} )

inherit distutils-r1 pypi

DESCRIPTION="A double-entry accounting system that uses text files as input"
HOMEPAGE="
	https://beancount.github.io
	https://github.com/beancount/beancount
"

LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~amd64 ~arm64"

RDEPEND="
	dev-python/click[${PYTHON_USEDEP}]
	dev-python/python-dateutil[${PYTHON_USEDEP}]
	dev-python/regex[${PYTHON_USEDEP}]
"
# meson.build resolves bison/flex via find_program() and generates the
# parser at build time, so the v2 hand-rolled grammar/lexer rebuild dance
# is gone — these are pure build tools now.
BDEPEND="
	>=sys-devel/bison-3.8.0
	>=sys-devel/flex-2.6.4
"

# The suite uses only stock pytest + unittest (self.subTest is built-in,
# not pytest-subtests), so load no third-party plugins.
EPYTEST_PLUGINS=()

EPYTEST_DESELECT=(
	# Both call find_repository_root() to locate the top-level examples/
	# ledgers, which live in the source tree only — not installed as part
	# of the Python package, so they cannot pass against the install tree.
	projects/export_test.py::TestExport::test_export_basic
	scripts/check_examples_test.py::TestCheckExamples::test_example_files
)

distutils_enable_tests pytest

python_test() {
	# Run against the installed copy from an empty dir: the C _parser
	# extension is built into the meson install tree, not in-place in
	# ${S}, so collecting tests from the source tree fails to import it.
	cd "${T}" || die
	epytest --pyargs beancount
}

Inherited Eclasses

Dependencies

RDEPEND

	dev-python/click[]
	dev-python/python-dateutil[]
	dev-python/regex[]

BDEPEND

	>=sys-devel/bison-3.8.0
	>=sys-devel/flex-2.6.4