2 Commits

Author SHA256 Message Date
634ae2afbd Accepting request 1318169 from utilities
OBS-URL: https://build.opensuse.org/request/show/1318169
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/taskwarrior?expand=0&rev=26
2025-11-18 14:35:24 +00:00
f16f17bb80 - Update to 3.4.2
* Sorting task lists randomly is now supported with configuration such as
  report.<report-name>.sort = random (#3940)
  *  Handling for tags in a "tags" column after task edit is fixed (#3911)
  *  tags.none: works correctly (#3877)
  *  Non-interactive invocations of task, such as for shell completion, no
  longer prompts to create .taskrc. (#3888)
  * task sync now describes what it has done (#3758)
  *  UDAs can now have type "UUID" (#3827)
  * Full changelog: https://github.com/GothenburgBitFactory/taskwarrior/releases/tag/v3.4.2
- Fix up spec file and Cmake to include rust crates
- Re-vendor to include cxx and cxx-bridge
- Add fix-corrosion.patch 
  - add corrosion options to force cargo to build offline.
- Add fix_cmake_ignore_hash.patch
  - Match the expected hash of aws-lc CmakeLists after build system supresses CMAKE_VERBOSE option. 
- Drop %check section - upstream is not shipping the tests in the tarballs for some reason.

OBS-URL: https://build.opensuse.org/package/show/utilities/taskwarrior?expand=0&rev=43
2025-11-17 07:39:12 +00:00
8 changed files with 101 additions and 17 deletions

38
fix-corrosion.patch Normal file
View File

@@ -0,0 +1,38 @@
Index: task-3.4.2/src/taskchampion-cpp/corrosion/cmake/Corrosion.cmake
===================================================================
--- task-3.4.2.orig/src/taskchampion-cpp/corrosion/cmake/Corrosion.cmake
+++ task-3.4.2/src/taskchampion-cpp/corrosion/cmake/Corrosion.cmake
@@ -1728,7 +1728,6 @@ function(corrosion_add_cxxbridge cxx_tar
set(ONE_VALUE_KEYWORDS CRATE REGEN_TARGET)
set(MULTI_VALUE_KEYWORDS FILES)
cmake_parse_arguments(PARSE_ARGV 1 _arg "${OPTIONS}" "${ONE_VALUE_KEYWORDS}" "${MULTI_VALUE_KEYWORDS}")
-
set(required_keywords CRATE FILES)
foreach(keyword ${required_keywords})
if(NOT DEFINED "_arg_${keyword}")
@@ -1803,6 +1802,7 @@ function(corrosion_add_cxxbridge cxx_tar
cxxbridge-cmd
--version "${cxx_required_version}"
--locked
+ --offline
--root "${CMAKE_BINARY_DIR}/corrosion/cxxbridge_v${cxx_required_version}"
--quiet
# todo: use --target-dir to potentially reuse artifacts
Index: task-3.4.2/src/taskchampion-cpp/CMakeLists.txt
===================================================================
--- task-3.4.2.orig/src/taskchampion-cpp/CMakeLists.txt
+++ task-3.4.2/src/taskchampion-cpp/CMakeLists.txt
@@ -61,11 +61,13 @@ endif (ENABLE_TLS_NATIVE_ROOTS)
corrosion_import_crate(
MANIFEST_PATH "${CMAKE_SOURCE_DIR}/Cargo.toml"
LOCKED
+ FROZEN
CRATES "taskchampion-lib"
FEATURES "${TASKCHAMPION_FEATURES}")
# Set up `taskchampion-cpp`, the C++ side of the bridge.
corrosion_add_cxxbridge(taskchampion-cpp
CRATE taskchampion_lib
+ FROZEN
FILES lib.rs
)

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1ae67c74b84067573a53095cf3cb6718245dd7dd808f19f9b3d85da445838b4f
size 964854

3
task-3.4.2.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d302761fcd1268e4a5a545613a2b68c61abd50c0bcaade3b3e68d728dd02e716
size 959873

View File

@@ -1,11 +1,13 @@
--- task-3.1.0/CMakeLists.txt.orig 2024-11-09 11:06:30.811922971 +0100
+++ task-3.1.0/CMakeLists.txt 2024-11-09 11:06:43.835867255 +0100
@@ -153,7 +153,7 @@
Index: task-3.4.2/CMakeLists.txt
===================================================================
--- task-3.4.2.orig/CMakeLists.txt
+++ task-3.4.2/CMakeLists.txt
@@ -152,7 +152,7 @@ if (EXISTS ${CMAKE_SOURCE_DIR}/performan
add_subdirectory (performance EXCLUDE_FROM_ALL)
endif (EXISTS ${CMAKE_SOURCE_DIR}/performance)
-set (doc_FILES ChangeLog README.md INSTALL AUTHORS COPYING LICENSE)
+set (doc_FILES ChangeLog README.md AUTHORS COPYING LICENSE)
-set (doc_FILES ChangeLog README.md INSTALL AUTHORS LICENSE)
+set (doc_FILES ChangeLog README.md AUTHORS LICENSE)
foreach (doc_FILE ${doc_FILES})
install (FILES ${doc_FILE} DESTINATION ${TASK_DOCDIR})
endforeach (doc_FILE)

View File

@@ -1,3 +1,25 @@
-------------------------------------------------------------------
Fri Nov 7 15:08:37 UTC 2025 - Angel Yankov <angel.yankov@suse.com>
- Update to 3.4.2
* Sorting task lists randomly is now supported with configuration such as
report.<report-name>.sort = random (#3940)
* Handling for tags in a "tags" column after task edit is fixed (#3911)
* tags.none: works correctly (#3877)
* Non-interactive invocations of task, such as for shell completion, no
longer prompts to create .taskrc. (#3888)
* task sync now describes what it has done (#3758)
* UDAs can now have type "UUID" (#3827)
* Full changelog: https://github.com/GothenburgBitFactory/taskwarrior/releases/tag/v3.4.2
- Fix up spec file and Cmake to include rust crates
- Re-vendor to include cxx and cxx-bridge
- Add fix-corrosion.patch
- add corrosion options to force cargo to build offline.
- Add fix_cmake_ignore_hash.patch
- Match the expected hash of aws-lc CmakeLists after build system supresses CMAKE_VERBOSE option.
- Drop %check section - upstream is not shipping the tests in the tarballs for some reason.
-------------------------------------------------------------------
Sat Nov 9 10:18:54 UTC 2024 - Michal Vyskocil <michal.vyskocil@gmail.com>

View File

@@ -1,7 +1,7 @@
#
# spec file for package taskwarrior
#
# Copyright (c) 2024 SUSE LLC
# Copyright (c) 2025 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@@ -17,7 +17,7 @@
Name: taskwarrior
Version: 3.1.0
Version: 3.4.2
Release: 0
Summary: Command-line todo list manager
License: MIT
@@ -27,15 +27,20 @@ Source0: https://github.com/GothenburgBitFactory/%{name}/releases/downloa
Source1: vendor.tar.zst
#PATCH-FIX-OPENSUSE: skip the INSTALL and LICENSE from files intended for the installation
Patch0: task-skip-INSTALL.patch
Patch1: fix-corrosion.patch
Patch2: fix_cmake_ignore_hash.patch
BuildRequires: awk
# for completion
BuildRequires: bash
BuildRequires: cmake >= 2.8
BuildRequires: coreutils
BuildRequires: corrosion
BuildRequires: gcc-c++
# for sync
BuildRequires: libuuid-devel
BuildRequires: cargo-packaging
BuildRequires: cxxbridge
BuildRequires: execstack
BuildRequires: vim-base
BuildRequires: zsh
# use the name as other distributions, so
@@ -55,16 +60,18 @@ often for updates.
%autosetup -a1 -p1 -n task-%{version}
%build
%cmake -DTASK_DOCDIR:PATH=%{_docdir}/task \
-DTASK_MAN1DIR:PATH=%{_mandir}/man1/ \
-DBUILD_SHARED_LIBS:BOOL=OFF \
-DBUILD_STATIC_LIBS:BOOL=OFF \
-DTASK_MAN5DIR:PATH=%{_mandir}/man5/
# Setup cargo dir for when corrosion tries to pull in the crates
%cmake -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_BUILD_TYPE=Release -DSYSTEM_CORROSION=ON -DTASK_DOCDIR=share/doc/packages/task -DTASK_RCDIR=share/doc/packages/task/rc
# Mark stack as non-executable
export LDFLAGS=$LDFLAGS:"-z noexecstack"
%cmake_build
%install
%cmake_install
# This should go into /usr/share/doc/PACKAGES/task!
# this integration stuff might be in CMakeList.txt, but ...
%define scriptsdir %{buildroot}%{_docdir}/task/scripts/
@@ -86,6 +93,13 @@ rm -rf %{scriptsdir}vim
# don't requre python/perl/ruby by default, so remove executable bit
find %{buildroot}/%{_docdir}/task -type f -exec chmod a-x {} +
# Mark stack as non-executable. This happens due to some quirks in the hybrid build, missing linker flags.
execstack -c %{buildroot}%{_bindir}/task
#check
#cmake --build build --target test_runner
#ctest --test-dir build
%files
%doc %{_docdir}/task
%{_bindir}/task*

View File

@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9456f0c36c4135d611400b983fe71847c8b36592cf3b43194083f57718003133
size 25828639
oid sha256:567acf8a48488f8ccc4c7d2bff6897f6a5be31e38f79df2878bdcdeb1568a2e0
size 36991868