mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2025-12-10 00:10:19 +03:00
* 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>
113 lines
2.6 KiB
Bash
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
|
|
}
|