Install this version:
emerge -a =app-misc/todoman-4.6.0-r1
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =app-misc/todoman-4.6.0-r1
Or alternatively:
emerge --autounmask-write -a =app-misc/todoman-4.6.0-r1
| Version | EAPI | Keywords | Slot |
|---|---|---|---|
| 4.6.0-r1 | 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
# so that python_fix_shebang doesn't break
DISTUTILS_SINGLE_IMPL=1
# TODO: tests
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
"
#SRC_URI=""
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"
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() {
distutils-r1_python_compile
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_fix_shebang bin/todo
}
python_install() {
distutils-r1_python_install
if use doc; then
doman docs/build/man/todo.1
fi
newbashcomp contrib/completion/bash/_todo todo
newzshcomp contrib/completion/zsh/_todo todo
# upstream says overwrite default todo binary for performance reasons
# https://todoman.readthedocs.io/en/stable/install.html#:~:text=If%20your,one
dobin "${S}/bin/todo"
}
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 the docs dependency is also only available in ::guru."
fi
optfeature "repl command support" 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}