Compare commits

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

36 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
7f2b92ad55 Code for testing not compiled 2022-02-05 17:00:07 +01:00
4165924311 Patched for GCC-12 /2 2022-01-28 21:07:57 +01:00
4c18eae1b5 Patched for GCC-12 2022-01-28 20:55:20 +01:00
Fedora Release Engineering
317b47d0a6 - Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2022-01-22 00:41:34 +00:00
Kevin Fenzi
c1ad793d02 Rebuild for hiredis 1.0.2 2022-01-17 15:40:21 -08:00
6829003dcb Release 3.1.0 2021-11-26 21:17:52 +01:00
b137e5dbce Rebuild for gtest-1.11.0 2021-09-05 20:43:54 +02:00
152417c346 Pre-release 3.1.0 2021-08-10 19:37:04 +02:00
Fedora Release Engineering
fc206209d1 - Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-07-23 17:22:41 +00:00
6949d230b8 Release 3.0.3| Up to date README.md 2021-05-28 14:09:54 +02:00
9 changed files with 206 additions and 325 deletions

14
.gitignore vendored
View file

@ -1,3 +1,17 @@
/seqan3-3.0.2-Source.tar.xz
/seqan3-3.0.3-rc.1.tar.gz
/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

@ -1,3 +1,24 @@
# seqan3
# SeqAn3 -- the modern C++ library for sequence analysis
The seqan3 package
SeqAn3 is the new version of the popular SeqAn template library for the analysis of biological sequences.
It enables the rapid development of high-performance solutions by providing generic algorithms and data structures
for:
* sequence representation and transformation
* full-text indexing and efficient search
* sequence alignment
* input/output of common file formats
By leveraging *Modern C++* it provides unprecedented ease-of-use without sacrificing performance.
Please see the [online documentation](https://docs.seqan.de/seqan/3.2.0/) for more details.
## Quick facts
* C++ header-only library: easy to integrate with your app & easy to distribute
* liberal open source license: allows integration with any app or library, requires only attribution
* very high code quality standards: >97% unit test coverage, performance regression tests, ...
* extensive API documentation & tutorials: more lines of documentation than lines of code
* aims to support any 64-bit architecture running Linux/POSIX; currently big-endian CPU architectures
like s390x are less supported

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"

View file

@ -1,25 +0,0 @@
Author: Michael R. Crusoe <michael.crusoe@gmail.com>
Description: Use the packaged version of cppreference
--- seqan3.orig/test/documentation/seqan3-doxygen.cmake
+++ seqan3/test/documentation/seqan3-doxygen.cmake
@@ -43,16 +43,11 @@
include(ExternalProject)
ExternalProject_Add (
download-cppreference-doxygen-web-tag
- URL "https://github.com/PeterFeicht/cppreference-doc/releases/download/v20200913/html-book-20200913.tar.xz"
- URL_HASH SHA256=91c6d7881ca0ffb9780d40723c415b20b2dce0fafc2ea7ab6abaec04a5934f55
- TLS_VERIFY ON
- DOWNLOAD_DIR "${PROJECT_BINARY_DIR}"
- DOWNLOAD_NAME "html-book.tar.xz"
- DOWNLOAD_NO_EXTRACT YES
+ DOWNLOAD_COMMAND ""
BINARY_DIR "${PROJECT_BINARY_DIR}"
- CONFIGURE_COMMAND /bin/sh -c "xzcat html-book.tar.xz | tar -xf - cppreference-doxygen-web.tag.xml"
- BUILD_COMMAND rm "html-book.tar.xz"
- INSTALL_COMMAND ""
+ CONFIGURE_COMMAND ""
+ BUILD_COMMAND ""
+ INSTALL_COMMAND ln -s /usr/share/devhelp/books/cppreference-doxygen-web.tag.xml "${PROJECT_BINARY_DIR}/"
)
### TEST HELPER

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,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,7 @@
# 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 ("${gtest_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,8 @@
# 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 "252ce9c52d304659eff6be558209c811b7191963") # 26-04-2021
-
- 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

@ -5,15 +5,16 @@
%bcond_without test_api
%bcond_without test_header
%bcond_without benchmark
%bcond_without doc
# 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 ff61cb64effe2c61bc65e0380256dcd87acee353
%global date .20210510git
%global commit 8c604d98e0d291bc3909ecbad78ca778b3ad5a5c
%global date .20230403git
%global shortcommit %(c=%{commit}; echo ${c:0:8})
%else
%global commit %{nil}
@ -23,43 +24,43 @@ ExclusiveArch: %{power64} x86_64 aarch64
Name: seqan3
Summary: The modern C++ library for sequence analysis
Version: 3.0.3
Release: 1%{date}%{shortcommit}%{?dist}
License: BSD
URL: http://www.seqan.de/
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
%if 0%{?middle_release}
# git clone -b 3.0.3 --depth 1 --single-branch --progress --recursive https://github.com/seqan/seqan3.git
# find . -name '.git*' -exec rm -rf {} ';'
# find . -name '.git*' -exec rm -f {} ';'
# cd .. && tar -czvf seqan3-%%{version}.tar.gz seqan3
Source0: https://github.com/seqan/%{name}/archive/%{commit}/%{name}-%{commit}.tar.gz
%else
Source0: https://github.com/seqan/%{name}/archive/%{version}-rc.1/%{name}-%{version}.tar.gz
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.2.3
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}-cppreference.patch
Patch2: %{name}-unbundle_gtest.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.
@ -74,15 +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.2.3
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(sdsl-lite-devel) = 3.0.0
Provides: bundled(sdsl-devel) = 3.0.0
Provides: bundled(SDSL-devel) = 3.0.0
Provides: bundled(bzip2stream)
Provides: bundled(zipstream)
%description devel
C++ headers files of SeqAn3, including CMake configuration files.
@ -93,23 +95,15 @@ BuildArch: noarch
SeqAn3 documentation.
%prep
%autosetup -n %{name} -N
%autosetup -n %{name}-%{version} -N
dos2unix test/cmake/seqan3_require_benchmark.cmake
%patch0 -p1 -b .backup
%patch1 -p1 -b .backup
%patch2 -p1 -b .backup
%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/cereal
rm -rf submodules/sdsl-lite/googletest
# SDSL 3.0 is a new SDSL pre-release, under development.
# See https://github.com/xxsds/sdsl-lite
cp -p submodules/sdsl-lite/LICENSE submodules/sdsl-lite/sdsl-LICENSE
rm -rf submodules/sdsl-lite
# Fix file permissions
find . -type f -name "*.hpp" -exec chmod 0644 '{}' \;
@ -118,37 +112,45 @@ find . -type f -name "*.hpp" -exec chmod 0644 '{}' \;
%if %{with check}
%if %{with test_api}
mkdir -p build
# Workaround for upstream bug#1993
export CXXFLAGS="%{build_cxxflags} -std=c++20"
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++20"
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++20"
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
@ -156,19 +158,25 @@ export CXXFLAGS="%{build_cxxflags} -std=c++20"
%endif
%if %{with doc}
mkdir -p build-doc
export CXXFLAGS="%{build_cxxflags} -std=c++20"
%cmake -S test/documentation -B build-doc -DCMAKE_BUILD_TYPE=Release
make -j1 -C 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}
rm -f submodules/sdsl-lite/include/sdsl/.gitignore
cp -a submodules/sdsl-lite/include %{buildroot}%{_prefix}/
install -pm 644 cmake/seqan3-config-version.cmake %{buildroot}%{_libdir}/cmake/%{name}/
install -pm 644 cmake/seqan3-config.cmake %{buildroot}%{_libdir}/cmake/%{name}/
install -pm 644 build_system/*.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
@ -190,57 +198,18 @@ install -pm 644 build_system/*.cmake %{buildroot}%{_libdir}/cmake/%{name}/
%endif
%files devel
%license LICENSE.md submodules/sdsl-lite/sdsl-LICENSE
%license LICENSE.md
%doc README.md
%{_includedir}/%{name}/
%{_includedir}/sdsl/
%{_libdir}/cmake/%{name}/
%if %{with doc}
%files doc
%doc build-doc/doc_usr/html
#%%doc build-doc/doc_usr/html
%doc doc/*
%license LICENSE.md
%doc README.md
%endif
%changelog
* 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.0.3.tar.gz) = 68c9eff9f8be4b2bf4015f2108d2aeeb3c085fed41480a3c9a5532f3392ccd2ece51707319e22b2f11a86dd6afb36674b8471518432c971c6a8f83aeb00ca18c
SHA512 (seqan3-3.4.2.tar.gz) = 6337bb3d49406e89e277ab4b9e751f6b2a0524c32c7aecf2093b795863870c2337bb1df1c798791aee82325cb3f0b19ecb57e109d73db847e6fe6a2a033bbaae