gentoo/app-misc/task/task-3.4.2.ebuild
Lucio Sauer 3e8af7a818
app-misc/task: add 3.4.2
* Add missing dependencies
* Wire up tests
* Remove LICENSE

Due to the ebuild improvements, this is a better candidate for
stabilization than 3.4.1 so I'm dropping that one next.

Signed-off-by: Lucio Sauer <watermanpaint@posteo.net>
Part-of: https://github.com/gentoo/gentoo/pull/44759
Signed-off-by: Sam James <sam@gentoo.org>
2025-11-25 01:00:13 +00:00

113 lines
2.6 KiB
Bash

# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{13..14} )
RUST_MIN_VER="1.81.0"
inherit cargo cmake eapi9-ver python-any-r1 rust-toolchain shell-completion
LIB_COMMIT="15cb6f90f25758612d79f788095a4c3a9c090b89"
DESCRIPTION="Command-line todo list manager"
HOMEPAGE="https://taskwarrior.org/"
SRC_URI="
https://github.com/GothenburgBitFactory/taskwarrior/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz
https://github.com/GothenburgBitFactory/libshared/archive/${LIB_COMMIT}.tar.gz -> libshared-${LIB_COMMIT}.gh.tar.gz
https://github.com/gentoo-crate-dist/taskwarrior/releases/download/v${PV}/taskwarrior-${PV}-crates.tar.xz
"
S="${WORKDIR}/taskwarrior-${PV}"
LICENSE="MIT"
# Dependent crate licenses
LICENSE+=" Apache-2.0 BSD ISC MIT MPL-2.0 openssl Unicode-3.0 ZLIB"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
DEPEND="sys-apps/util-linux"
RDEPEND="${DEPEND}"
BDEPEND="
dev-build/corrosion
test? ( ${PYTHON_DEPS} )
"
PATCHES=( "${FILESDIR}"/${P}-BUILD_DIR.patch )
pkg_setup() {
rust_pkg_setup
if use test; then
python-any-r1_pkg_setup
fi
}
src_prepare() {
rm -r src/libshared || die
mv "${WORKDIR}/libshared-${LIB_COMMIT}" src/libshared || die
# don't automatically install scripts and LICENSE
sed -i -e '/scripts/d' \
-e 's/doc_FILES .*/doc_FILES AUTHORS ChangeLog README.md)/' \
CMakeLists.txt || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DSYSTEM_CORROSION=ON
-DENABLE_TLS_NATIVE_ROOTS=ON
-DTASK_DOCDIR="share/doc/${PF}"
-DTASK_RCDIR="share/${PN}/rc"
$(usev test -DPython_EXECUTABLE="${PYTHON}")
)
cargo_env cmake_src_configure
}
src_compile() {
cargo_env cmake_src_compile
if use test; then
cargo_env cmake_src_compile test_runner
fi
}
src_test() {
cargo_env cmake_src_test
cargo_src_test
}
src_install() {
cargo_env cmake_src_install
# Shell completions
newbashcomp scripts/bash/task.sh task
dofishcomp scripts/fish/*
dozshcomp scripts/zsh/*
# vim syntax
rm scripts/vim/README || die "Unable to remove README from Vim files"
insinto /usr/share/vim/vimfiles
doins -r scripts/vim/*
}
pkg_postinst() {
if ver_replacing -lt 3; then
ewarn "Taskwarrior 3 has changed its task storage."
ewarn "Upgrading from version 2 requires manual action."
ewarn
ewarn "The following command imports data from Taskwarrior 2"
ewarn "and disables all hooks during import:"
ewarn
ewarn "task import-v2 rc.hooks=0"
ewarn
ewarn "Taskwarrior 2 .data files can be backed up or removed."
ewarn "Refer to https://taskwarrior.org/docs/upgrade-3/ for details."
fi
}