commit:     3e8af7a818ad96fa40fdd30334660997022723d7
Author:     Lucio Sauer <watermanpaint <AT> posteo <DOT> net>
AuthorDate: Sun Nov 16 12:34:17 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Nov 25 01:00:13 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3e8af7a8

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 <AT> posteo.net>
Part-of: https://github.com/gentoo/gentoo/pull/44759
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-misc/task/Manifest                         |   3 +
 app-misc/task/files/task-3.4.2-BUILD_DIR.patch |  40 +++++++++
 app-misc/task/task-3.4.2.ebuild                | 112 +++++++++++++++++++++++++
 3 files changed, 155 insertions(+)

diff --git a/app-misc/task/Manifest b/app-misc/task/Manifest
index 5596bc4c0eae..2f0c18cc5418 100644
--- a/app-misc/task/Manifest
+++ b/app-misc/task/Manifest
@@ -160,6 +160,7 @@ DIST lazy_static-1.5.0.crate 14025 BLAKE2B 
df29e0e3d1c061815bdd608b41074436024dc
 DIST lazycell-1.3.0.crate 12502 BLAKE2B 
dca2d3f46823a52dcf87b7d6103fc4f1f83bc5247ce361946ac2d9df239fb43ce4b418104503698dff0242480cd014996e77da4ae0a88f3cedbce4eb9d3c9ef8
 SHA512 
f9d627afc28b61e9687a3f72260eb013401fd64057647641ff2e763770d7380ab1d2d8cbb4a3c8818d53d504c618a3b46aaf701f72f4d7b25d226042824c2f8d
 DIST libc-0.2.171.crate 785246 BLAKE2B 
2bfbb3146d63444632b924520bc3d8af4adc6bbc38f4a7c6e8a003365430372ac1c05246684b54f0a98c36c8a7f02c325e1a6dd7fec44adeff41767e427ea77f
 SHA512 
aca8b5f769dff18d9b3d73cae2c496f64a9828edfb0b57412da01a89158e770a5dcbb74bd83612870f9a08eb31647c1a2c92463189f16b01be8cdfc76fe0bacd
 DIST libloading-0.8.6.crate 28922 BLAKE2B 
cd9d7c2652bc4b0220e1c29cbfbca41f44d12d76c4dab3d025c21e5d317407ab656a88add0db95f1086934a424f55b4b413f33cb2a52cdcadde7641f9c5b3fc3
 SHA512 
f49ab79244d4b54c2f181bd9d7506fe5df9824a09446924dc429636e08ed7bcd6f5d2afaf8a0c862982e2c2c5832370b118266d36f36bc7b7522668bd598fc81
+DIST libshared-15cb6f90f25758612d79f788095a4c3a9c090b89.gh.tar.gz 167454 
BLAKE2B 
aef33ae4efbbf7294d99622f8aebfa11381613cb79bda959bb8d996bbbe1fb58332da46fc864f6b6985fcaf255ffaec092bf6c7fdc7becd66e6c20817720fcf3
 SHA512 
0a88b348fc2a2a3cfdebb084f56d4242fcdb566aa7d9dfe13c532b3b00baffb70f5a06784c383b7686e72c12e21255a5b1819c64276dd1eda0951c351acf291a
 DIST libsqlite3-sys-0.30.1.crate 5122296 BLAKE2B 
3f3d5ecc434af6ce6e28836dc6bccc812d53da909e5e4a92f0eb7b6dd56c66c5243e29901867df2e72be424f20fed6c896da59bfd5349fad831a6305cb25db51
 SHA512 
6ffb2a23a78f3221ac8f6c9260713741970e522bebc1ec7f3e1d7405f25dac9024ebe3a73d76a6ed74dc7109a8333d6936ad1c64a0a7c75d6d81f97c3524e952
 DIST link-cplusplus-1.0.10.crate 8054 BLAKE2B 
5faf7d83527a476e3a38774d4069c3000a910e6448ed28ede4b1280af8379ba00a25f716b97afcf7e27bf05d3c46b63bdb29458ad676a71965ec51e137bce41c
 SHA512 
a59e504c75b83f9ea89575d8f0d6c7bcf7ec496e6ba914c3b250ec6ef37cc0e760daa8c51f3ca2335f2700e86224deb196d958339aeaf732ed5a27ce6a50a26c
 DIST linux-raw-sys-0.4.15.crate 2150898 BLAKE2B 
d1936eb74377d9bfddccef3830b56eb716c38ea3cb7e13b73325dfd00f9fc0df74bae49e4214dd7f27c257403b8b12cd1ef332d53336279d13f7e9497caf4135
 SHA512 
b5c39181fb6b901abddd8b2e7b449142e2e5691cddadb8e6b74ddc3b53076b1d410522cfa45af68dd18befd24ff12313c2494cf2cb0cf142e2228bfe42014309
@@ -266,7 +267,9 @@ DIST sync_wrapper-1.0.2.crate 6958 BLAKE2B 
b2e162f982ea827229dcff468bcf31c6286c5
 DIST synstructure-0.13.1.crate 18327 BLAKE2B 
b29ee88c559a2d58fa46b7af155b448f001649ea79a1898f0ac87e69108b87c65cbd287d8f9001f360df7fef06ff39c937b48d33e487a30c8eec6a46c639c0c2
 SHA512 
09024193b44fc9a8901bda845b9f86c57dad65d0f53e309b2e7e968538fab6f67db1c86e5e52a2eb8fd116dc073e3ad10983bd60764662ec6ba94fee22a958aa
 DIST task-2.6.2.tar.gz 838933 BLAKE2B 
47761b1d172f823b35cb5d44edda2ac8d37daf9c54c6e3af267b880bf7f6246c6fbfa436ff63179b415f22c4e6d4253768bb7e9321893ebeaf46089761f309ad
 SHA512 
3c592552c1baada09ef4e06cf2266c9897ffae42a75998b70767f2cfbabd2e1de7d1a900f16f3b8eb164ce19637dabd21e246f84732a20a646f39716895cdf98
 DIST task-3.4.1.tar.gz 948157 BLAKE2B 
3a1a62341b5cc3f6b02822646bd02465c55290f1abf4474c8a736c5a24e2d28c5ff8a431eaabaa15045b22eb450d659b60fa8d330415bbe8c795d34cd4b3a7ad
 SHA512 
5a6479e2afcd5142e88349b792e00fcab4d54f6762db5be00221685a93baa3332a4a410b82f66679c15eff58a43be0e175cea440b2d7befbf4e9b723a695a869
+DIST task-3.4.2.gh.tar.gz 1389907 BLAKE2B 
9e3179dc9edc1421b4f010bf6a25a040b2b46dbf624948b937678cc7f36c918483178f4267d98cd10775e5c7bdca39f5d35800ce042e252e0f203e6ce0103803
 SHA512 
685fc93fbfeefcd813d49e21b35567c179c4110c68305dd1f4556cd0eb4caff7dff193fd552199f4800fbb57d8e48b529f4104f90c94e7f540786791c72f130e
 DIST taskchampion-2.0.2.crate 2835640 BLAKE2B 
3d8cf07942a81d345ecbe1b2e23c04e6819c75230b0f9133ac3f636ef0fd92c934b8f3268a363dafc8dd1216cd528baa794e9d0ce92b762bc46fd51e6b13f5d2
 SHA512 
801b22ab99170d0847dc325a15b51742ef9c28fa24dfef54bfab9a6017d6d4a0685a79bcf7aa884210edaa687a9319aecdf2388adff32b0475071f67318ee247
+DIST taskwarrior-3.4.2-crates.tar.xz 27575936 BLAKE2B 
c2013b25cac6deca4d9b864a0b37f7d81078167089b9b5e5258321c7e2b1f23fc2f8924c8152d7b859c020333123122753954e4e75d765cab045916791dc90f8
 SHA512 
c61e0675bb2c5b94af174486c13ae62a0a7c809f43dd70b9c3e8b5fe1839892129fda07a36c4e5dba2bfce36957cd0d5f5dc3c056e373aa8f12dcf1c155ed403
 DIST termcolor-1.4.1.crate 18773 BLAKE2B 
34676efbde8e242415857d6d40a287ae3459678d8222f5144faefb8c84d635686f640e79588d98635c8f25b7628ec6663a01b16e1e462705b5cba7e8b8e61f44
 SHA512 
b66aad157c4fa2985f764321d157dfb1f0325fd633811870db7919b5579bf7bc19fefe99e1c706cdfa67504c37dc2ca3d283e11d1bb516edcfaf1eb7747a778a
 DIST tests-2.6.2.tar.gz 222713 BLAKE2B 
e65e2da08264a0dcceeb839efdfad4733312d645fa0dad9eb9fd7e1f260ed21db3009f1c2b3c939dc1a1bf8cf4389f228a0ba05844483fcb5e44de82c2d33fb5
 SHA512 
98946332f898c4cf621e1dfb2b48761ca9496a43935aca45bf5965029d74f87ff37154693348f13aeed0b61836fab7d2a3cec8161ddd2f65ed9402162fe21239
 DIST thiserror-1.0.69.crate 22198 BLAKE2B 
fdd8ca8c8ca78702377d0bf7b253440519018275b105db980d63229d0d44aa5c39a703e14aa6fe453c779b3c864d8044009dfef893d2a5294950f067656d7a80
 SHA512 
ef50d2867d965da1dfb29d26faf6de273b5fadf78f95313f6caf44d68bfc610b9bd4b7544200b05bb0861231cfc84e961007f8db83c7905244c492037fd31899

diff --git a/app-misc/task/files/task-3.4.2-BUILD_DIR.patch 
b/app-misc/task/files/task-3.4.2-BUILD_DIR.patch
new file mode 100644
index 000000000000..b4ea237f187d
--- /dev/null
+++ b/app-misc/task/files/task-3.4.2-BUILD_DIR.patch
@@ -0,0 +1,40 @@
+Fix paths based on the assumption that the CMake build tree is in
+${CMAKE_SOURCE_DIR}/build.
+
+See-also: https://github.com/GothenburgBitFactory/taskwarrior/pull/3998
+From: Lucio Sauer <[email protected]>
+--- a/test/bash_completion.test.py
++++ b/test/bash_completion.test.py
+@@ -34,9 +34,9 @@ from contextlib import contextmanager
+ sys.path.append(os.path.dirname(os.path.abspath(__file__)))
+ 
+ from basetest import Task, TestCase
+-from basetest.utils import BIN_PREFIX
++from basetest.utils import SOURCE_DIR
+ 
+-TASKSH = os.path.abspath(os.path.join(BIN_PREFIX, "..", "..", 
"scripts/bash/task.sh"))
++TASKSH = os.path.abspath(os.path.join(SOURCE_DIR, "scripts/bash/task.sh"))
+ 
+ 
+ @contextmanager
+--- a/test/tw-1379.test.py
++++ b/test/tw-1379.test.py
+@@ -32,8 +32,7 @@ import unittest
+ sys.path.append(os.path.dirname(os.path.abspath(__file__)))
+ 
+ from basetest import Task, TestCase
+-
+-REPO_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
++from basetest.utils import SOURCE_DIR
+ 
+ 
+ class TestBug1379(TestCase):
+@@ -41,7 +40,7 @@ class TestBug1379(TestCase):
+         self.t = Task()
+         # Themes are a special case that cannot be set via "task config"
+         with open(self.t.taskrc, "a") as fh:
+-            fh.write("include " + REPO_DIR + "/../doc/rc/no-color.theme\n")
++            fh.write("include " + SOURCE_DIR + "/doc/rc/no-color.theme\n")
+ 
+         self.t.config("color.alternate", "")
+         self.t.config("_forcecolor", "1")

diff --git a/app-misc/task/task-3.4.2.ebuild b/app-misc/task/task-3.4.2.ebuild
new file mode 100644
index 000000000000..6179da7fdeaf
--- /dev/null
+++ b/app-misc/task/task-3.4.2.ebuild
@@ -0,0 +1,112 @@
+# 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
+}

Reply via email to