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 +}
