Install this version:
emerge -a =app-misc/todoman-4.7.0
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =app-misc/todoman-4.7.0
Or alternatively:
emerge --autounmask-write -a =app-misc/todoman-4.7.0
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 4.7.0 | 8 | ~amd64 | 0 |
# Copyright 2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{10..14} )
DISTUTILS_USE_PEP517=setuptools
# changelogs:
# https://todoman.readthedocs.io/en/stable/changelog.html
inherit pypi distutils-r1 optfeature shell-completion
DESCRIPTION="Simple, standards-based, command line todo (aka: task) manager. "
HOMEPAGE="
https://todoman.readthedocs.io/
https://github.com/pimutils/todoman
"
LICENSE="ISC"
SLOT="0"
KEYWORDS="~amd64"
DEPEND="
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/click[${PYTHON_USEDEP}]
>=dev-python/click-log-0.2.1[${PYTHON_USEDEP}]
dev-python/humanize[${PYTHON_USEDEP}]
>=dev-python/icalendar-4.0.3[${PYTHON_USEDEP}]
dev-python/parsedatetime[${PYTHON_USEDEP}]
dev-python/python-dateutil[${PYTHON_USEDEP}]
dev-python/pyxdg[${PYTHON_USEDEP}]
dev-python/urwid[${PYTHON_USEDEP}]
')
"
#RDEPEND="
# ${RDEPEND}
#"
BDEPEND="
$(python_gen_cond_dep '
dev-python/setuptools-scm[${PYTHON_USEDEP}]
')
${DEPEND}
"
# test? (
# dev-python/freezegun
# dev-python/hypothesis
# dev-python/pytest
# dev-python/pytz
# )
#IUSE="test"
#distutils_enable_tests pytest
# FAILED tests/test_ui.py::test_todo_editor_list - AttributeError: 'bool' object has no attribute 'name'
# https://github.com/pimutils/todoman/issues/600
RESTRICT="test"
# XXX: upstream the build backend patch?
PATCHES=(
"${FILESDIR}/specify-build-backend.patch"
"${FILESDIR}/disable-test-coverage.patch"
)
# dev-python/sphinx-click is ::guru
distutils_enable_sphinx "docs/source" \
dev-python/sphinx-click \
dev-python/sphinx-rtd-theme
python_compile_all() {
if use doc; then
sphinx_compile_all
# i took this trick from python-utils-r1's build_sphinx
${EPYTHON} -m sphinx.cmd.build -b man docs/source docs/build/man || die
fi
}
python_install_all() {
if use doc; then
doman docs/build/man/todo.1
einstalldocs
fi
newbashcomp contrib/completion/bash/_todo todo
dozshcomp contrib/completion/zsh/_todo
dofishcomp contrib/completion/fish/todo.fish
}
python_test() {
# https://github.com/pimutils/todoman/issues/404#issuecomment-643789777
export TZ=UTC
distutils-r1_python_test
}
pkg_postinst() {
if ! use doc; then
elog "Man pages require enabling the doc USE flag due to extra required dependencies,"
elog "one of them only available in ::guru."
fi
optfeature "repl command support (in ::guru)" dev-python/click-repl
}
${PYTHON_DEPS}
$(python_gen_cond_dep '
dev-python/click[${PYTHON_USEDEP}]
>=dev-python/click-log-0.2.1[${PYTHON_USEDEP}]
dev-python/humanize[${PYTHON_USEDEP}]
>=dev-python/icalendar-4.0.3[${PYTHON_USEDEP}]
dev-python/parsedatetime[${PYTHON_USEDEP}]
dev-python/python-dateutil[${PYTHON_USEDEP}]
dev-python/pyxdg[${PYTHON_USEDEP}]
dev-python/urwid[${PYTHON_USEDEP}]
')
$(python_gen_cond_dep '
dev-python/setuptools-scm[${PYTHON_USEDEP}]
')
${DEPEND}