Compare commits

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

45 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
47c9b6cf17 Release 3.0.3 2021-05-28 14:04:05 +02:00
cbeb867769 Pre-release 3.0.3-rc1 2021-05-26 21:34:57 +02:00
44ab770d37 Fix Changelog 2021-02-14 21:35:42 +01:00
8cec2e8aa4 Disable tests all with GCC-11 (rhbz#1923593) 2021-02-14 21:16:28 +01:00
a3441de3db Disable test-api with GCC-11 (rhbz#1923593) 2021-02-14 21:08:29 +01:00
Fedora Release Engineering
c59a7c54ae - Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
Signed-off-by: Fedora Release Engineering <releng@fedoraproject.org>
2021-01-27 20:13:25 +00:00
Tom Stellard
59d080762b Add BuildRequires: make
https://fedoraproject.org/wiki/Changes/Remove_make_from_BuildRoot
2021-01-08 21:23:01 +00:00
240cacfd02 Rebuild for GCC-11 2020-12-11 11:02:14 +01:00
6ec575c148 Initial release 2020-11-05 16:06:53 +01:00
6 changed files with 356 additions and 2 deletions

17
.gitignore vendored Normal file
View file

@ -0,0 +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"

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>

215
seqan3.spec Normal file
View file

@ -0,0 +1,215 @@
%global debug_package %{nil}
%global middle_release 0
%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 8c604d98e0d291bc3909ecbad78ca778b3ad5a5c
%global date .20230403git
%global shortcommit %(c=%{commit}; echo ${c:0:8})
%else
%global commit %{nil}
%global date %{nil}
%global shortcommit %{nil}
%endif
Name: seqan3
Summary: The modern C++ library for sequence analysis
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}
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
BuildRequires: gcc-c++
BuildRequires: ccache
BuildRequires: cmake >= 3.4
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
%if %{with check}
BuildRequires: google-benchmark-devel
BuildRequires: gtest-devel >= 1.10.0
%endif
%if %{with doc}
BuildRequires: texlive-newunicodechar
BuildRequires: doxygen >= 1.9.4
%endif
# 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.
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
%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.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.
%package doc
Summary: SeqAn3 documentation
BuildArch: noarch
%description doc
SeqAn3 documentation.
%prep
%autosetup -n %{name}-%{version} -N
%patch 1 -p1 -b .backup
%patch 2 -p1 -b .backup
# Unbundle libraries already available in Fedora
rm -rf submodules/cereal
rm -rf submodules/range-v3
rm -rf submodules/sdsl-lite
# Fix file permissions
find . -type f -name "*.hpp" -exec chmod 0644 '{}' \;
%build
%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_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_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_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}
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 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
# Tests the API of the library
%if %{with test_api}
%define _vpath_builddir build
%ctest
%endif
# Tests that every header includes all required headers and detects linkage issues
%if %{with test_header}
%define _vpath_builddir build-header
%ctest
%endif
# Microbenchmarks
%if %{with benchmark}
%define _vpath_builddir build-performance
%ctest
%endif
%endif
%files devel
%license LICENSE.md
%doc README.md
%{_includedir}/%{name}/
%{_libdir}/cmake/%{name}/
%if %{with doc}
%files doc
#%%doc build-doc/doc_usr/html
%doc doc/*
%license LICENSE.md
%doc README.md
%endif
%changelog
%autochangelog

1
sources Normal file
View file

@ -0,0 +1 @@
SHA512 (seqan3-3.4.2.tar.gz) = 6337bb3d49406e89e277ab4b9e751f6b2a0524c32c7aecf2093b795863870c2337bb1df1c798791aee82325cb3f0b19ecb57e109d73db847e6fe6a2a033bbaae