Compare commits

...
Sign in to create a new pull request.

26 commits

Author SHA1 Message Date
Fedora Release Engineering
77bbc590f1 Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild 2026-07-17 06:24:20 +00:00
8b2ed55118 Release 3.4.2 2026-03-22 14:45:04 +01:00
9b4f52ac01 Release 3.4.0 2026-01-29 17:38:32 +01:00
Fedora Release Engineering
1870e689e7 Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild 2026-01-17 17:53:55 +00:00
Cristian Le
9668b05564 Allow to build with CMake 4.0 (rhbz#2380806) 2025-11-12 18:28:03 +01:00
Fedora Release Engineering
1a83dc7de4 Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild 2025-07-25 18:09:17 +00:00
28f80a711a Fix GCC-15 false warnings| Fix rhbz#2381124 2025-07-20 17:37:20 +02:00
87106fb6b5 Pre-release 3.4.0 RC3 2025-02-05 20:14:42 +01:00
2972e8fbc2 Pre-release 3.4.0 RC2 2025-01-20 23:10:21 +01:00
Fedora Release Engineering
6603f13508 Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild 2025-01-19 10:25:16 +00:00
Fedora Release Engineering
b787d6a713 Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild 2024-07-20 05:15:41 +00:00
Jerry James
674b69b5d5 Pre-release 3.4.0 RC1
- Remove unused dependency on coin-or-lemon
- Convert License field to SPDX
- Note that the devel package bundles zipstream and bzip2stream
- Note that the devel package needs zlib-devel and bzip2-devel
2024-01-30 16:24:56 -07:00
Fedora Release Engineering
80764c26ad Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild 2024-01-27 02:35:57 +00:00
cf3067c970 Pre-release 3.3.0 RC2 2023-08-10 12:37:42 +02:00
1752ba8f31 Pre-release 3.3.0 RC1 2023-07-19 21:51:25 +02:00
0274cdefc5 Pre-release 3.3.0 commit #8c604d98 2023-04-06 20:46:38 +02:00
287d224bc6 Pre-release 3.3.0 commit #174255ee 2023-03-31 20:47:11 +02:00
46596c2f2f Pre-release 3.3.0 commit #404affbf 2023-01-26 20:57:01 +01:00
Fedora Release Engineering
9821353167 Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2023-01-21 03:00:47 +00:00
Fedora Release Engineering
2555a18896 Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-07-23 08:23:13 +00:00
6a1e4646f9 Release 3.2.0| Fix README file 2022-06-26 17:22:22 +02:00
cf9efe891c Release 3.2.0| Fix dependencies 2022-06-26 17:14:39 +02:00
de8b2aed49 Release 3.2.0| Reload full source code archive 2022-06-26 17:06:36 +02:00
8908bdc378 Remove old comment 2022-06-26 17:00:51 +02:00
3025ceb545 Release 3.2.0 2022-06-26 16:56:16 +02:00
444c9a2f06 Pre-release 3.2.0 2022-06-16 18:03:37 +02:00
10 changed files with 182 additions and 500 deletions

12
.gitignore vendored
View file

@ -3,3 +3,15 @@
/seqan3-3.0.3.tar.gz
/seqan3-3.1.0-rc1.tar.gz
/seqan3-3.1.0.tar.gz
/seqan3-3.2.0-rc1.tar.gz
/seqan3-3.2.0.tar.gz
/seqan3-404affbf6ee31aeda30ed9cc321b3700a50e5eae.tar.gz
/seqan3-174255eea53d4847e7ce8cb0dc29415f177dc54d.tar.gz
/seqan3-8c604d98e0d291bc3909ecbad78ca778b3ad5a5c.tar.gz
/seqan3-3.3.0-rc.1.tar.gz
/seqan3-3.3.0-rc.2.tar.gz
/seqan3-3.4.0-rc.1.tar.gz
/seqan3-3.4.0-rc.2.tar.gz
/seqan3-3.4.0-rc.3.tar.gz
/seqan3-3.4.0.tar.gz
/seqan3-3.4.2.tar.gz

View file

@ -12,7 +12,7 @@ for:
By leveraging *Modern C++* it provides unprecedented ease-of-use without sacrificing performance.
Please see the [online documentation](https://docs.seqan.de/seqan/3-master-user/) for more details.
Please see the [online documentation](https://docs.seqan.de/seqan/3.2.0/) for more details.
## Quick facts

View file

@ -0,0 +1,80 @@
--- a/cmake/seqan3-config.orig.cmake 2024-12-13 18:42:15.000000000 +0100
+++ b/cmake/seqan3-config.cmake 2025-01-19 21:13:45.692446573 +0100
@@ -113,11 +113,7 @@
# ----------------------------------------------------------------------------
# This will be true for git clones and source packages, but not for installed packages.
-if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/CPM.cmake")
- set (SEQAN3_HAS_CPM TRUE)
-else ()
- set (SEQAN3_HAS_CPM FALSE)
-endif ()
+set (SEQAN3_HAS_CPM FALSE)
if (SEQAN3_HAS_CPM)
set (CPM_INDENT " CMake Package Manager CPM: ")
--- a/test/seqan3-test.orig.cmake 2024-12-13 18:42:15.000000000 +0100
+++ b/test/seqan3-test.cmake 2025-01-19 21:18:08.209434385 +0100
@@ -27,10 +27,6 @@
"${CMAKE_CURRENT_LIST_DIR}/../cmake/"
CACHE STRING "Path to directory containing CPM.cmake.")
-set (CPM_INDENT "CMake Package Manager CPM: ")
-include ("${SEQAN3_TEST_CPM_DIR}/CPM.cmake")
-CPMUsePackageLock ("${SEQAN3_TEST_CPM_DIR}/package-lock.cmake")
-
include (CheckCXXCompilerFlag)
include (CheckCXXSourceCompiles)
include (CMakeDependentOption)
@@ -51,7 +47,6 @@
cmake_dependent_option (SEQAN3_WITH_SEQAN2_CI "Build tests with SeqAn2." ON "DEFINED ENV{CI}" OFF)
if (SEQAN3_WITH_SEQAN2 OR SEQAN3_WITH_SEQAN2_CI)
- CPMGetPackage (seqan)
find_path (SEQAN3_SEQAN2_INCLUDE_DIR
NAMES seqan/version.h
HINTS "${seqan_SOURCE_DIR}/include")
--- a/test/cmake/seqan3_require_ccache.orig.cmake 2024-12-13 18:42:15.000000000 +0100
+++ b/test/cmake/seqan3_require_ccache.cmake 2025-01-19 21:19:53.256828886 +0100
@@ -4,4 +4,4 @@
# This file's only purpose is to be replaced with the content of the use_ccache CMakeLists.txt file
# when creating the source package.
-CPMGetPackage (use_ccache)
+# CPMGetPackage (use_ccache)
--- a/test/unit/CMakeLists.orig.txt 2024-12-13 18:42:15.000000000 +0100
+++ b/test/unit/CMakeLists.txt 2025-01-19 21:27:10.229117104 +0100
@@ -8,7 +8,7 @@
include (../seqan3-test.cmake)
include (GoogleTest OPTIONAL)
-CPMGetPackage (googletest)
+find_package(GTest REQUIRED)
include (diagnostics/list_missing_unit_tests)
include (diagnostics/list_unused_unit_tests)
--- a/test/header/CMakeLists.orig.txt 2024-12-13 18:42:15.000000000 +0100
+++ b/test/header/CMakeLists.txt 2025-01-19 22:08:37.815744299 +0100
@@ -7,8 +7,8 @@
include (../seqan3-test.cmake)
-CPMGetPackage (googletest)
-CPMGetPackage (benchmark)
+find_package(GTest REQUIRED)
+find_package(benchmark REQUIRED)
# We compile each header twice in separate compilation units, where the second compilation omits the header guard (check
# for cyclic includes). Each alone is sufficient to test that the header is functional, but both are needed to check for
--- a/test/performance/CMakeLists.orig.txt 2024-12-13 18:42:15.000000000 +0100
+++ b/test/performance/CMakeLists.txt 2025-01-19 22:10:44.305669084 +0100
@@ -7,7 +7,7 @@
include (../seqan3-test.cmake)
-CPMGetPackage (benchmark)
+find_package(benchmark REQUIRED)
set (SEQAN3_BENCHMARK_MIN_TIME
"1s"

20
seqan3-fix_GCC15.patch Normal file
View file

@ -0,0 +1,20 @@
--- a/test/unit/io/detail/misc_output_test.orig.cpp 2024-12-13 18:42:15.000000000 +0100
+++ b/test/unit/io/detail/misc_output_test.cpp 2025-01-20 21:58:35.651617085 +0100
@@ -6,6 +6,7 @@
#include <fstream>
#include <vector>
+#include <functional>
#include <seqan3/core/debug_stream.hpp>
#include <seqan3/io/detail/misc_input.hpp>
--- a/include/seqan3/io/detail/misc_input.orig.hpp 2024-12-13 18:42:15.000000000 +0100
+++ b/include/seqan3/io/detail/misc_input.hpp 2025-01-20 22:01:28.812235658 +0100
@@ -17,6 +17,7 @@
#include <span>
#include <string>
#include <tuple>
+#include <functional>
#include <seqan3/contrib/stream/bgzf.hpp>
#include <seqan3/contrib/stream/bgzf_istream.hpp>

View file

@ -1,93 +0,0 @@
From a710725398952965a27f1942e6633814a0c6a30b Mon Sep 17 00:00:00 2001
From: marehr <marehr-github@marehr.dialup.fu-berlin.de>
Date: Wed, 29 Sep 2021 16:54:19 +0200
Subject: [PATCH] =?UTF-8?q?[FIX]=20error:=20testing=20if=20a=20concept-id?=
=?UTF-8?q?=20is=20a=20valid=20expression;=20add=20=E2=80=98requires?=
=?UTF-8?q?=E2=80=99=20to=20check=20satisfaction=20[-Werror=3Dmissing-requ?=
=?UTF-8?q?ires]?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
```
/seqan3/include/seqan3/utility/concept/exposition_only/core_language.hpp:59:5: error: testing if a concept-id is a valid expression; add requires to check satisfaction [-Werror=missing-requires]
59 | std::convertible_to<decltype(v1 < v2), bool>;
| ^
| requires
```
---
.../concept/exposition_only/core_language.hpp | 26 +++++++++----------
include/seqan3/utility/range/concept.hpp | 16 ++++++------
2 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/include/seqan3/utility/concept/exposition_only/core_language.hpp b/include/seqan3/utility/concept/exposition_only/core_language.hpp
index d842db4736..513e6195b5 100644
--- a/include/seqan3/utility/concept/exposition_only/core_language.hpp
+++ b/include/seqan3/utility/concept/exposition_only/core_language.hpp
@@ -31,10 +31,10 @@ SEQAN3_CONCEPT weakly_equality_comparable_with =
requires(std::remove_reference_t<T> const & t,
std::remove_reference_t<U> const & u)
{
- std::convertible_to<decltype(t == u), bool>;
- std::convertible_to<decltype(t != u), bool>;
- std::convertible_to<decltype(u == t), bool>;
- std::convertible_to<decltype(u != t), bool>;
+ requires std::convertible_to<decltype(t == u), bool>;
+ requires std::convertible_to<decltype(t != u), bool>;
+ requires std::convertible_to<decltype(u == t), bool>;
+ requires std::convertible_to<decltype(u != t), bool>;
};
//!\endcond
@@ -56,15 +56,15 @@ template <typename t1, typename t2>
SEQAN3_CONCEPT weakly_ordered_with = requires (std::remove_reference_t<t1> const & v1,
std::remove_reference_t<t2> const & v2)
{
- std::convertible_to<decltype(v1 < v2), bool>;
- std::convertible_to<decltype(v1 <= v2), bool>;
- std::convertible_to<decltype(v1 > v2), bool>;
- std::convertible_to<decltype(v1 >= v2), bool>;
-
- std::convertible_to<decltype(v2 < v1), bool>;
- std::convertible_to<decltype(v2 <= v1), bool>;
- std::convertible_to<decltype(v2 > v1), bool>;
- std::convertible_to<decltype(v2 >= v1), bool>;
+ requires std::convertible_to<decltype(v1 < v2), bool>;
+ requires std::convertible_to<decltype(v1 <= v2), bool>;
+ requires std::convertible_to<decltype(v1 > v2), bool>;
+ requires std::convertible_to<decltype(v1 >= v2), bool>;
+
+ requires std::convertible_to<decltype(v2 < v1), bool>;
+ requires std::convertible_to<decltype(v2 <= v1), bool>;
+ requires std::convertible_to<decltype(v2 > v1), bool>;
+ requires std::convertible_to<decltype(v2 >= v1), bool>;
};
//!\endcond
diff --git a/include/seqan3/utility/range/concept.hpp b/include/seqan3/utility/range/concept.hpp
index e047dcc8f8..b90e967230 100644
--- a/include/seqan3/utility/range/concept.hpp
+++ b/include/seqan3/utility/range/concept.hpp
@@ -91,14 +91,14 @@ SEQAN3_CONCEPT pseudo_random_access_iterator =
std::sized_sentinel_for<iterator_t, iterator_t> &&
requires (iterator_t i, iterator_t const j, std::iter_difference_t<iterator_t> const n)
{
- std::same_as<decltype( i += n ), iterator_t &>;
- std::same_as<decltype( j + n ), iterator_t>;
- std::same_as<decltype( n + j ), iterator_t>;
- std::same_as<decltype( --i ), iterator_t &>;
- std::same_as<decltype( i-- ), iterator_t>;
- std::same_as<decltype( i -= n ), iterator_t &>;
- std::same_as<decltype( j - n ), iterator_t>;
- std::same_as<decltype( j[n] ), std::iter_reference_t<iterator_t>>;
+ requires std::same_as<decltype( i += n ), iterator_t &>;
+ requires std::same_as<decltype( j + n ), iterator_t>;
+ requires std::same_as<decltype( n + j ), iterator_t>;
+ requires std::same_as<decltype( --i ), iterator_t &>;
+ requires std::same_as<decltype( i-- ), iterator_t>;
+ requires std::same_as<decltype( i -= n ), iterator_t &>;
+ requires std::same_as<decltype( j - n ), iterator_t>;
+ requires std::same_as<decltype( j[n] ), std::iter_reference_t<iterator_t>>;
};
//!\endcond

View file

@ -1,96 +0,0 @@
From 7cf66224fa98e9c940fea6c326b62337aa0e7ce8 Mon Sep 17 00:00:00 2001
From: Enrico Seiler <enrico.seiler@hotmail.de>
Date: Tue, 14 Dec 2021 15:12:27 +0100
Subject: [PATCH] [FIX] Remove invisible characters
---
include/seqan3/core/all.hpp | 2 +-
include/seqan3/core/detail/iterator_traits.hpp | 4 ++--
include/seqan3/core/platform.hpp | 2 +-
include/seqan3/std/bit | 2 +-
include/seqan3/std/concepts | 2 +-
include/seqan3/std/iterator | 2 +-
6 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/include/seqan3/core/all.hpp b/include/seqan3/core/all.hpp
index 6742adb05d..e7c31560dd 100644
--- a/include/seqan3/core/all.hpp
+++ b/include/seqan3/core/all.hpp
@@ -50,7 +50,7 @@
* state to express a general intend of the API without being explicit about it.
*
* For example, see https://eel.is/c++draft/iterator.concept.readable where `indirectly-readable-impl` describes the
- * general intention of the concept, but does not name it since it is a helper-entity for the std::indirectly_­readable
+ * general intention of the concept, but does not name it since it is a helper-entity for the std::indirectly_readable
* concept.
*/
diff --git a/include/seqan3/core/detail/iterator_traits.hpp b/include/seqan3/core/detail/iterator_traits.hpp
index 4d94748929..53bfe98287 100644
--- a/include/seqan3/core/detail/iterator_traits.hpp
+++ b/include/seqan3/core/detail/iterator_traits.hpp
@@ -44,10 +44,10 @@ struct maybe_iterator_category
/*!\brief The iterator category tag. (not always present!)
* \details
*
- * This member is only defined if and only if std::iterator_­traits<underlying_iterator_t>::iterator_­category is
+ * This member is only defined if and only if std::iterator_traits<underlying_iterator_t>::iterator_category is
* valid and denotes a type.
*/
- using iterator_category = MAYBE_PRESENT(std::iterator_­traits<underlying_iterator_t>::iterator_­category);
+ using iterator_category = MAYBE_PRESENT(std::iterator_traits<underlying_iterator_t>::iterator_category);
#endif // SEQAN3_DOXYGEN_ONLY(1)0
};
diff --git a/include/seqan3/core/platform.hpp b/include/seqan3/core/platform.hpp
index ac81437d3c..817604600b 100644
--- a/include/seqan3/core/platform.hpp
+++ b/include/seqan3/core/platform.hpp
@@ -309,7 +309,7 @@
# endif // SEQAN3_DISABLE_LEGACY_STD_DIAGNOSTIC
#endif // _GLIBCXX_USE_CXX11_ABI == 0
-/*!\brief https://eel.is/c++draft/range.take#view defines e.g. `constexpr auto size() requires sized_­range<V>` without
+/*!\brief https://eel.is/c++draft/range.take#view defines e.g. `constexpr auto size() requires sized_range<V>` without
* any template. This syntax works since gcc-10, before that a dummy `template <typename = ...>` must be used.
*/
#ifndef SEQAN3_WORKAROUND_GCC_NON_TEMPLATE_REQUIRES
diff --git a/include/seqan3/std/bit b/include/seqan3/std/bit
index d9e9df0558..d26e155bea 100644
--- a/include/seqan3/std/bit
+++ b/include/seqan3/std/bit
@@ -139,7 +139,7 @@ namespace std
template<class T> constexpr int countl_zero(T x) noexcept;
#endif // SEQAN3_CPP_LIB_BITOPS
-// // bit_­cast
+// // bit_cast
// template<class To, class From> constexpr To bit_cast(const From& from) noexcept;
//
// // integral powers of 2
diff --git a/include/seqan3/std/concepts b/include/seqan3/std/concepts
index 80c4167e5f..09fd5d17e4 100644
--- a/include/seqan3/std/concepts
+++ b/include/seqan3/std/concepts
@@ -68,7 +68,7 @@ using ::concepts::derived_from;
// [concept.convertible], concept convertible_to
using ::concepts::convertible_to;
-// [concept.commonref], concept common_­reference_­with
+// [concept.commonref], concept common_reference_with
using ::concepts::common_reference_with;
// [concept.common], concept common_with
diff --git a/include/seqan3/std/iterator b/include/seqan3/std/iterator
index 4a87127a7c..9c2aba8809 100644
--- a/include/seqan3/std/iterator
+++ b/include/seqan3/std/iterator
@@ -122,7 +122,7 @@ using ::ranges::cpp20::forward_iterator;
// [iterator.concept.bidir], concept bidirectional_iterator
using ::ranges::cpp20::bidirectional_iterator;
-// [iterator.concept.random.access], concept random_­access_­iterator
+// [iterator.concept.random.access], concept random_access_iterator
using ::ranges::cpp20::random_access_iterator;
// [iterator.concept.contiguous], concept contiguous_iterator

View file

@ -1,92 +0,0 @@
Author: Michael R. Crusoe <michael.crusoe@gmail.com>
Description: Use the Debian package of libbenchmark
--- seqan3.orig/test/seqan3-test.cmake
+++ seqan3/test/seqan3-test.cmake
@@ -57,7 +57,7 @@
# seqan3::test::performance specifies required flags, includes and libraries
# needed for performance test cases in seqan3/test/performance
add_library (seqan3_test_performance INTERFACE)
-target_link_libraries (seqan3_test_performance INTERFACE "seqan3::test" "gbenchmark")
+target_link_libraries (seqan3_test_performance INTERFACE "seqan3::test" "benchmark")
if (SEQAN3_BENCHMARK_ALIGN_LOOPS)
target_compile_options (seqan3_test_performance INTERFACE "-falign-loops=32")
--- a/test/cmake/seqan3_require_benchmark.orig.cmake 2021-03-12 15:32:16.217895000 +0100
+++ b/test/cmake/seqan3_require_benchmark.cmake 2021-03-12 15:33:34.694342382 +0100
@@ -5,75 +5,8 @@
# shipped with this file and also available at: https://github.com/seqan/seqan3/blob/master/LICENSE.md
# -----------------------------------------------------------------------------------------------------
-# Exposes the google-benchmark target `gbenchmark`.
-macro (seqan3_require_benchmark_old gbenchmark_git_tag)
- set (gbenchmark_project_args ${SEQAN3_EXTERNAL_PROJECT_CMAKE_ARGS})
- list (APPEND gbenchmark_project_args "-DBENCHMARK_ENABLE_TESTING=false")
- # google-benchmarks suggest to use LTO (link-time optimisation), but we don't really need that because we are a
- # header only library. This option might be still interesting for external libraries benchmarks.
- # see https://github.com/google/benchmark#debug-vs-release
- # list (APPEND gbenchmark_project_args "-DBENCHMARK_ENABLE_LTO=true")
-
- # force that libraries are installed to `lib/`, because GNUInstallDirs might install it into `lib64/`
- list (APPEND gbenchmark_project_args "-DCMAKE_INSTALL_LIBDIR=${PROJECT_BINARY_DIR}/lib/")
-
- set (gbenchmark_path "${PROJECT_BINARY_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}benchmark${CMAKE_STATIC_LIBRARY_SUFFIX}")
-
- include (ExternalProject)
- ExternalProject_Add (
- gbenchmark_project
- PREFIX gbenchmark_project
- GIT_REPOSITORY "https://github.com/google/benchmark.git"
- GIT_TAG "${gbenchmark_git_tag}"
- SOURCE_DIR "${SEQAN3_BENCHMARK_CLONE_DIR}"
- CMAKE_ARGS "${gbenchmark_project_args}"
- BUILD_BYPRODUCTS "${gbenchmark_path}"
- UPDATE_DISCONNECTED ${SEQAN3_TEST_BUILD_OFFLINE}
- )
- unset (gbenchmark_project_args)
-
- add_library (gbenchmark STATIC IMPORTED)
- add_dependencies (gbenchmark gbenchmark_project)
- set_target_properties (gbenchmark PROPERTIES IMPORTED_LOCATION "${gbenchmark_path}")
- set_property (TARGET gbenchmark APPEND PROPERTY INTERFACE_LINK_LIBRARIES "pthread")
-
- # NOTE: google benchmarks needs Shlwapi (Shell Lightweight Utility Functions) on windows
- # see https://msdn.microsoft.com/en-us/library/windows/desktop/bb759844(v=vs.85).aspx
- # see https://github.com/google/benchmark/blob/c614dfc0d4eadcd19b188ff9c7e226c138f894a1/README.md#platform-specific-libraries
- if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
- target_link_libraries (gbenchmark INTERFACE "Shlwapi")
- endif()
-
- unset (gbenchmark_path)
-endmacro ()
-
macro (seqan3_require_benchmark)
enable_testing ()
- set (gbenchmark_git_tag "v1.5.0")
-
- if (NOT CMAKE_VERSION VERSION_LESS 3.14)
- # NOTE: setting the standard prevents an ICE involving passing -fconcepts through CMAKE_CXX_FLAGS
- set (CMAKE_CXX_STANDARD 17)
- message (STATUS "Fetch google benchmark:")
-
- include (FetchContent)
- FetchContent_Declare (
- gbenchmark_fetch_content
- GIT_REPOSITORY "https://github.com/google/benchmark.git"
- GIT_TAG "${gbenchmark_git_tag}"
- )
- option (BENCHMARK_ENABLE_TESTING "" OFF)
- FetchContent_MakeAvailable(gbenchmark_fetch_content)
-
- # NOTE: google benchmark's CMakeLists.txt already defines Shlwapi
- add_library (gbenchmark ALIAS benchmark_main)
- unset (CMAKE_CXX_STANDARD)
- else ()
- message (STATUS "Use google benchmark as external project:")
-
- seqan3_require_benchmark_old ("${gbenchmark_git_tag}")
- endif ()
-
- add_custom_target (gbenchmark_build DEPENDS gbenchmark)
+ find_package(benchmark REQUIRED)
endmacro ()

View file

@ -1,106 +0,0 @@
--- seqan3.orig/test/seqan3-test.cmake
+++ seqan3/test/seqan3-test.cmake
@@ -34,13 +34,13 @@
find_path (SEQAN3_TEST_CMAKE_MODULE_DIR NAMES seqan3_test_component.cmake HINTS "${CMAKE_CURRENT_LIST_DIR}/cmake/")
list(APPEND CMAKE_MODULE_PATH "${SEQAN3_TEST_CMAKE_MODULE_DIR}")
-set (SEQAN3_BENCHMARK_CLONE_DIR "${PROJECT_BINARY_DIR}/vendor/benchmark")
-set (SEQAN3_TEST_CLONE_DIR "${PROJECT_BINARY_DIR}/vendor/googletest")
+set (SEQAN3_BENCHMARK_CLONE_DIR "${CMAKE_INSTALL_PREFIX}")
+set (SEQAN3_TEST_CLONE_DIR "${CMAKE_INSTALL_PREFIX}")
# needed for add_library (seqan3::test::* INTERFACE IMPORTED)
# see cmake bug https://gitlab.kitware.com/cmake/cmake/issues/15052
-file(MAKE_DIRECTORY ${SEQAN3_BENCHMARK_CLONE_DIR}/include/)
-file(MAKE_DIRECTORY ${SEQAN3_TEST_CLONE_DIR}/googletest/include/)
+file(MAKE_DIRECTORY ${SEQAN3_BENCHMARK_CLONE_DIR}/include/benchmark/)
+file(MAKE_DIRECTORY ${SEQAN3_TEST_CLONE_DIR}/include/gtest/)
# ----------------------------------------------------------------------------
# Interface targets for the different test modules in seqan3.
@@ -70,8 +70,8 @@
# needed for unit test cases in seqan3/test/unit
add_library (seqan3_test_unit INTERFACE)
target_link_libraries (seqan3_test_unit INTERFACE "seqan3::test" "gtest_main" "gtest")
-target_include_directories (seqan3_test_unit INTERFACE "${SEQAN3_TEST_CLONE_DIR}/googletest/include/")
+target_include_directories (seqan3_test_unit INTERFACE "${SEQAN3_TEST_CLONE_DIR}/include/gtest/")
add_library (seqan3::test::unit ALIAS seqan3_test_unit)
# seqan3::test::coverage specifies required flags, includes and libraries
# needed for coverage test cases in seqan3/test/coverage
--- a/test/cmake/seqan3_require_test.orig.cmake 2020-08-06 14:00:23.000000000 +0200
+++ b/test/cmake/seqan3_require_test.cmake 2020-08-06 14:35:10.167198023 +0200
@@ -5,72 +5,9 @@
# shipped with this file and also available at: https://github.com/seqan/seqan3/blob/master/LICENSE.md
# -----------------------------------------------------------------------------------------------------
-# Exposes the google-test targets `gtest` and `gtest_main`.
-macro (seqan3_require_test_old gtest_git_tag)
- set (gtest_project_args ${SEQAN3_EXTERNAL_PROJECT_CMAKE_ARGS})
- list (APPEND gtest_project_args "-DBUILD_GMOCK=0")
-
- # force that libraries are installed to `lib/`, because GNUInstallDirs might install it into `lib64/`
- list (APPEND gtest_project_args "-DCMAKE_INSTALL_LIBDIR=${PROJECT_BINARY_DIR}/lib/")
-
- # google sets CMAKE_DEBUG_POSTFIX = "d"
- set (gtest_main_path "${PROJECT_BINARY_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
- if (CMAKE_BUILD_TYPE STREQUAL "Debug")
- set (gtest_main_path "${PROJECT_BINARY_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gtest_maind${CMAKE_STATIC_LIBRARY_SUFFIX}")
- endif ()
-
- set (gtest_path "${PROJECT_BINARY_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}")
- if (CMAKE_BUILD_TYPE STREQUAL "Debug")
- set (gtest_path "${PROJECT_BINARY_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}gtestd${CMAKE_STATIC_LIBRARY_SUFFIX}")
- endif ()
-
- include (ExternalProject)
- ExternalProject_Add (
- gtest_project
- PREFIX gtest_project
- GIT_REPOSITORY "https://github.com/google/googletest.git"
- GIT_TAG "${gtest_git_tag}"
- SOURCE_DIR "${SEQAN3_TEST_CLONE_DIR}"
- CMAKE_ARGS "${gtest_project_args}"
- BUILD_BYPRODUCTS "${gtest_main_path}" "${gtest_path}"
- UPDATE_DISCONNECTED ${SEQAN3_TEST_BUILD_OFFLINE}
- )
- unset (gtest_project_args)
-
- add_library (gtest_main STATIC IMPORTED)
- add_dependencies (gtest_main gtest_project)
- set_target_properties (gtest_main PROPERTIES IMPORTED_LOCATION "${gtest_main_path}")
-
- add_library (gtest STATIC IMPORTED)
- add_dependencies (gtest gtest_main)
- set_target_properties (gtest PROPERTIES IMPORTED_LOCATION "${gtest_path}")
- set_property (TARGET gtest APPEND PROPERTY INTERFACE_LINK_LIBRARIES "pthread")
-
- unset(gtest_main_path)
- unset(gtest_path)
-endmacro ()
macro (seqan3_require_test)
enable_testing ()
- set (gtest_git_tag "release-1.11.0")
-
- if (NOT CMAKE_VERSION VERSION_LESS 3.14)
- message (STATUS "Fetch googletest:")
-
- include (FetchContent)
- FetchContent_Declare (
- gtest_fetch_content
- GIT_REPOSITORY "https://github.com/google/googletest.git"
- GIT_TAG "${gtest_git_tag}"
- )
- option (BUILD_GMOCK "" OFF)
- FetchContent_MakeAvailable(gtest_fetch_content)
- else ()
- message (STATUS "Use googletest as external project:")
-
- seqan3_require_test_old ("${gtest_git_tag}")
- endif ()
-
- add_custom_target (gtest_build DEPENDS gtest_main gtest)
+ find_package(GTest REQUIRED)
endmacro ()

View file

@ -1,21 +1,20 @@
%global debug_package %{nil}
%global middle_release 0
# Not ready for GCC-12
# See rhbz#2047005
%bcond_with check
%bcond_with test_api
%bcond_with test_header
%bcond_with benchmark
%bcond_without doc
%bcond_without check
%bcond_without test_api
%bcond_without test_header
%bcond_without benchmark
# Documentation needs external online `cppreference-doc/releases/download/v20220201/html-book-20220201.tar.xz`
%bcond_with doc
# SeqAn3 aims to support any 64-bit architecture running Linux/POSIX;
# currently big-endian CPU architectures like s390x are less supported.
ExclusiveArch: %{power64} x86_64 aarch64
%if 0%{?middle_release}
%global commit 4604f1b2db7131ea10b9d9ff56bf5a93e8c66847
%global date .20210809git
%global commit 8c604d98e0d291bc3909ecbad78ca778b3ad5a5c
%global date .20230403git
%global shortcommit %(c=%{commit}; echo ${c:0:8})
%else
%global commit %{nil}
@ -25,46 +24,43 @@ ExclusiveArch: %{power64} x86_64 aarch64
Name: seqan3
Summary: The modern C++ library for sequence analysis
Version: 3.1.0
Release: 3%{date}%{shortcommit}%{?dist}
License: BSD
URL: http://www.seqan.de/
%if 0%{?middle_release}
# git clone -b 3.1.0-rc.1 --depth 1 --single-branch --progress --recursive https://github.com/seqan/seqan3.git
# find . -name '.git*' -exec rm -rf {} ';'
Version: 3.4.2
Release: %autorelease
License: BSD-3-Clause
URL: https://www.seqan.de/
# Source code archive generated by:
# git clone -b 3.3.0 --depth 1 --single-branch --progress --recursive https://github.com/seqan/seqan3.git
# find seqan3 -name '.git*' -exec rm -rf {} ';'
# find seqan3 -name '.git*' -exec rm -f {} ';'
# tar -czvf seqan3-%%{version}.tar.gz seqan3
Source0: https://github.com/seqan/%{name}/archive/%{commit}/%{name}-%{version}-rc1.tar.gz
%if 0%{?middle_release}
Source0: https://github.com/seqan/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz
%else
Source0: https://github.com/seqan/%{name}/archive/%{version}/%{name}-%{version}.tar.gz
%endif
BuildRequires: gcc, gcc-c++, dos2unix
BuildRequires: gcc
BuildRequires: gcc-c++
BuildRequires: ccache
BuildRequires: cmake >= 3.4
BuildRequires: cereal-devel >= 1.3.0
BuildRequires: sdsl-lite-devel >= 3.0.0
BuildRequires: cereal-devel >= 1.3.2
BuildRequires: sdsl-lite-devel >= 3.0.1
BuildRequires: make
BuildRequires: zlib-devel >= 1.2
BuildRequires: bzip2-devel >= 1.0
BuildRequires: range-v3-devel >= 0.11.0
BuildRequires: coin-or-lemon-devel
%if %{with check}
BuildRequires: google-benchmark-devel
BuildRequires: gtest-devel >= 1.10.0
%endif
%if %{with doc}
BuildRequires: texlive-newunicodechar
BuildRequires: doxygen >= 1.9.1
BuildRequires: doxygen >= 1.9.4
%endif
# Patches for unbundling libraries and fix some errors
Patch0: %{name}-unbundle_benchmark.patch
Patch1: %{name}-unbundle_gtest.patch
Patch2: %{name}-fix_bug2848.patch
Patch3: %{name}-fix_bug2918.patch
# Use Fedora's CMake only
Patch1: %{name}-3.4.0-disable_CPM.patch
# Include missing header files
Patch2: %{name}-fix_GCC15.patch
%description
SeqAn3 is the new version of the popular SeqAn template
library for the analysis of biological sequences.
@ -79,13 +75,16 @@ data structures for:
%package devel
Summary: SeqAn3 header only files
# bzip2stream and zipstream libraries are distributed under zlib/libpng
License: BSD-3-Clause AND Zlib
Requires: cmake%{?_isa} >= 3.4
Requires: cereal-devel%{?_isa} >= 1.3.0
Requires: sdsl-lite-devel%{?_isa} >= 3.0.0
Requires: cereal-devel%{?_isa} >= 1.3.2
Requires: sdsl-lite-devel%{?_isa} >= 3.0.1
Requires: zlib-devel%{?_isa} >= 1.2
Requires: bzip2-devel%{?_isa} >= 1.0
Requires: range-v3-devel%{?_isa} >= 0.11.0
Provides: bundled(bzip2stream)
Provides: bundled(zipstream)
%description devel
C++ headers files of SeqAn3, including CMake configuration files.
@ -98,15 +97,10 @@ SeqAn3 documentation.
%prep
%autosetup -n %{name}-%{version} -N
dos2unix test/cmake/seqan3_require_benchmark.cmake
%patch0 -p1 -b .backup
%patch1 -p1 -b .backup
%if 0%{?fedora} > 35
%patch2 -p1 -b .backup
%patch3 -p1 -b .backup
%endif
%patch 1 -p1 -b .backup
%patch 2 -p1 -b .backup
# Unbundle libraries already on Fedora
# Unbundle libraries already available in Fedora
rm -rf submodules/cereal
rm -rf submodules/range-v3
rm -rf submodules/sdsl-lite
@ -118,50 +112,71 @@ find . -type f -name "*.hpp" -exec chmod 0644 '{}' \;
%if %{with check}
%if %{with test_api}
mkdir -p build
export CXXFLAGS="%{build_cxxflags} -std=c++23"
%cmake -S test/unit -B build -DCMAKE_BUILD_TYPE=Release \
-DCPM_USE_LOCAL_PACKAGES:BOOL=OFF -DCPM_LOCAL_PACKAGES_ONLY:BOOL=OFF \
-DCPM_DONT_UPDATE_MODULE_PATH:BOOL=ON -DCPM_DONT_CREATE_PACKAGE_LOCK:BOOL=ON \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DSEQAN3_CEREAL:BOOL=ON \
-DSEQAN3_LEMON:BOOL=ON \
-DSEQAN3_TEST_BUILD_OFFLINE:BOOL=ON
-DSEQAN3_TEST_BUILD_OFFLINE:BOOL=ON -DFETCHCONTENT_FULLY_DISCONNECTED:BOOL=ON \
-DFETCHCONTENT_UPDATES_DISCONNECTED:BOOL=ON \
-DSEQAN3_NO_ZLIB=OFF
%define _vpath_builddir build
%cmake_build
%endif
%if %{with test_header}
mkdir -p build-header
export CXXFLAGS="%{build_cxxflags} -std=c++23"
%cmake -S test/header -B build-header -DCMAKE_BUILD_TYPE=Release \
-DCPM_USE_LOCAL_PACKAGES:BOOL=OFF -DCPM_LOCAL_PACKAGES_ONLY:BOOL=OFF \
-DCPM_DONT_UPDATE_MODULE_PATH:BOOL=ON -DCPM_DONT_CREATE_PACKAGE_LOCK:BOOL=ON \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DSEQAN3_CEREAL:BOOL=ON \
-DSEQAN3_LEMON:BOOL=ON \
-DSEQAN3_TEST_BUILD_OFFLINE:BOOL=ON
-DSEQAN3_TEST_BUILD_OFFLINE:BOOL=ON -DFETCHCONTENT_FULLY_DISCONNECTED:BOOL=ON \
-DFETCHCONTENT_UPDATES_DISCONNECTED:BOOL=ON \
-DSEQAN3_NO_ZLIB=OFF
%define _vpath_builddir build-header
%cmake_build
%endif
%if %{with benchmark}
mkdir -p build-performance
export CXXFLAGS="%{build_cxxflags} -std=c++23"
%cmake -S test/performance -B build-performance -DCMAKE_BUILD_TYPE=Release \
-DCPM_USE_LOCAL_PACKAGES:BOOL=OFF -DCPM_LOCAL_PACKAGES_ONLY:BOOL=OFF \
-DCPM_DONT_UPDATE_MODULE_PATH:BOOL=ON -DCPM_DONT_CREATE_PACKAGE_LOCK:BOOL=ON \
-DCMAKE_VERBOSE_MAKEFILE:BOOL=ON \
-DSEQAN3_CEREAL:BOOL=ON \
-DSEQAN3_LEMON:BOOL=ON \
-DSEQAN3_TEST_BUILD_OFFLINE:BOOL=ON
-DSEQAN3_TEST_BUILD_OFFLINE:BOOL=ON -DFETCHCONTENT_FULLY_DISCONNECTED:BOOL=ON \
-DFETCHCONTENT_UPDATES_DISCONNECTED:BOOL=ON \
-DSEQAN3_NO_ZLIB=OFF
%define _vpath_builddir build-performance
%cmake_build
%endif
%endif
%if %{with doc}
# This command needs to download a 'cppreference-doxygen-web.tag.xml' file
#mkdir -p build-doc
#%%cmake -S test/documentation -B build-doc -DCMAKE_BUILD_TYPE=Release
#make -j1 -C build-doc
mkdir -p build-doc
%cmake -S test/documentation -B build-doc -DCMAKE_BUILD_TYPE=Release
%define _vpath_builddir build-doc
%cmake_build -- -j1
%endif
%install
mkdir -p %{buildroot}%{_libdir}/cmake/%{name}
cp -a include %{buildroot}%{_prefix}/
rm %{buildroot}%{_includedir}/%{name}/contrib/std/.{clang-format,gitignore}
install -pm 644 build_system/*.cmake %{buildroot}%{_libdir}/cmake/%{name}/
install -pm 644 cmake/seqan3-config-version.cmake %{buildroot}%{_libdir}/cmake/%{name}/
install -pm 644 cmake/seqan3-config.cmake %{buildroot}%{_libdir}/cmake/%{name}/
%if %{with doc}
mkdir -p build-doc
%cmake -S test/documentation -B build-doc -DCMAKE_BUILD_TYPE=Release
%define _vpath_builddir build-doc
%cmake_install
%endif
%if %{with check}
%check
@ -197,62 +212,4 @@ install -pm 644 build_system/*.cmake %{buildroot}%{_libdir}/cmake/%{name}/
%endif
%changelog
* Sat Feb 05 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.1.0-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
- Patched for GCC-12
* Mon Jan 17 2022 Kevin Fenzi <kevin@scrye.com> - 3.1.0-2
- Rebuild for hiredis 1.0.2
* Fri Nov 26 2021 Antonio Trande <sagitter@fedoraproject.org> - 3.1.0-1
- Release 3.1.0
* Sun Sep 05 2021 Antonio Trande <sagitter@fedoraproject.org> - 3.1.0-0.2.20210809git4604f1b2
- Rebuild for gtest-1.11.0
* Mon Aug 09 2021 Antonio Trande <sagitter@fedoraproject.org> - 3.1.0-0.1.20210809git4604f1b2
- Pre-release 3.1.0
* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.0.3-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Fri May 28 2021 Antonio Trande <sagitter@fedoraproject.org> - 3.0.3-1
- Release 3.0.3
* Wed May 26 2021 Antonio Trande <sagitter@fedoraproject.org> - 3.0.3-0.1.rc1
- Pre-release 3.0.3-rc1
* Sun Feb 14 2021 Antonio Trande <sagitter@fedoraproject.org> - 3.0.2-7
- Disable tests with GCC-11 (rhbz#1923593)
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Fri Dec 11 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.0.2-6
- Rebuild for GCC-11
* Tue Nov 03 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.0.2-5
- Bundle sdsl header files
* Sat Oct 17 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.0.2-4
- Remove old License file from bundled libraries
- Redefine vpath builddir
* Fri Oct 16 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.0.2-3
- Fix Requires packages
* Wed Oct 14 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.0.2-2
- Use -std=c++2a flag
- Patched for upstream bugs #2209 #2210
* Tue Oct 13 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.0.2-1
- Release 3.0.2
* Fri Aug 07 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.0.2-0.2.20200806gitbf04354
- Pre-release 3.0.2 with bundled range-v3
* Thu Aug 06 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.0.2-0.1.20200806gitbf04354
- Pre-release 3.0.2
* Thu Mar 05 2020 Antonio Trande <sagitter@fedoraproject.org> - 3.0.1-1
- Execute header/performance tests
- Build docs
- First package
%autochangelog

View file

@ -1 +1 @@
SHA512 (seqan3-3.1.0.tar.gz) = 7ffbb82dc678cb6836b8f6cc952f1d4e501dbb90ed5a420e3c983e79a7d797f6d29fbb413347f6493e1f9b8bfec49749654e415012ba8b34e03de1a10858048e
SHA512 (seqan3-3.4.2.tar.gz) = 6337bb3d49406e89e277ab4b9e751f6b2a0524c32c7aecf2093b795863870c2337bb1df1c798791aee82325cb3f0b19ecb57e109d73db847e6fe6a2a033bbaae