[med-svn] [Git][med-team/seqan2][upstream] New upstream version 2.5.0~rc3+dfsg

Michael R. Crusoe (@crusoe) gitlab at salsa.debian.org
Fri Nov 22 23:21:56 GMT 2024



Michael R. Crusoe pushed to branch upstream at Debian Med / seqan2


Commits:
b2c20078 by Michael R. Crusoe at 2024-11-23T00:18:12+01:00
New upstream version 2.5.0~rc3+dfsg
- - - - -


23 changed files:

- CMakeLists.txt
- README.md
- apps/fiona/CMakeLists.txt
- apps/mason2/CMakeLists.txt
- apps/ngs_roi/png_canvas.h
- apps/razers3/CMakeLists.txt
- apps/samcat/CMakeLists.txt
- apps/searchjoin/CMakeLists.txt
- apps/yara/CMakeLists.txt
- include/seqan/modifier/modifier_reverse.h
- include/seqan/sequence/string_packed.h
- manual/environment.yml
- manual/requirements.txt
- manual/source/Infrastructure/Use/FindSeqAnCMake.rst
- manual/source/conf.py
- tests/index/CMakeLists.txt
- tests/journaled_string_tree/CMakeLists.txt
- tests/parallel/CMakeLists.txt
- tests/sequence/test_sequence.h
- tests/sequence/test_sequence_std_adaptions.h
- tests/translation/CMakeLists.txt
- util/cmake/seqan-config.cmake
- util/raw_cmake_project/src/CMakeLists.txt


Changes:

=====================================
CMakeLists.txt
=====================================
@@ -127,6 +127,16 @@ seqan_get_repository_info ()
 # Include Subdirectories
 # ===========================================================================
 
+if ("${SEQAN_BUILD_SYSTEM}" STREQUAL "DOCUMENTATION")
+  message (STATUS "Configuring dox")
+  add_subdirectory (dox)
+
+  message (STATUS "Configuring manual")
+  add_subdirectory (manual)
+
+  return ()
+endif ()
+
 # Tests, demos and manual are only built when building in DEVELOP mode.
 if ("${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
     message (STATUS "Configuring tests")


=====================================
README.md
=====================================
@@ -40,9 +40,9 @@ The licenses for the applications themselves can be found in the LICENSE files.
 Older compiler versions might work but are neither supported nor tested.
 
 ### Linux, macOS, FreeBSD
-  * GCC ≥ 11
-  * Clang/LLVM ≥ 15
-  * Intel oneAPI C++ Compiler 2024.0.2 (IntelLLVM)
+  * GCC ≥ 12
+  * Clang/LLVM ≥ 17
+  * Intel oneAPI C++ Compiler 2025.0 (IntelLLVM)
 
 ### Windows
   * Visual C++ ≥ 17.0 / Visual Studio ≥ 2022


=====================================
apps/fiona/CMakeLists.txt
=====================================
@@ -18,7 +18,7 @@ set (SEQAN_APP_VERSION "0.2.11")
 
 # Search SeqAn and select dependencies.
 if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
-    find_package (OpenMP)
+    find_package (OpenMP COMPONENTS CXX)
     find_package (ZLIB)
     find_package (Boost)
     find_package (SeqAn CONFIG REQUIRED)


=====================================
apps/mason2/CMakeLists.txt
=====================================
@@ -18,7 +18,7 @@ set (SEQAN_APP_VERSION "2.0.10")
 
 # Search SeqAn and select dependencies.
 if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
-    find_package (OpenMP)
+    find_package (OpenMP COMPONENTS CXX)
     find_package (ZLIB)
     find_package (SeqAn CONFIG REQUIRED)
 endif ()


=====================================
apps/ngs_roi/png_canvas.h
=====================================
@@ -152,7 +152,7 @@ struct PngIhdrChunk
 
 struct PngIdatChunk
 {
-    std::basic_string<unsigned char> data;
+    std::vector<unsigned char> data;
 
     // Returns pointer to the payload.
     unsigned char const * payload() const


=====================================
apps/razers3/CMakeLists.txt
=====================================
@@ -18,7 +18,7 @@ set (SEQAN_APP_VERSION "3.5.9")
 
 # Search SeqAn and select dependencies.
 if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
-    find_package (OpenMP)
+    find_package (OpenMP COMPONENTS CXX)
     find_package (ZLIB)
     find_package (BZip2)
     find_package (SeqAn CONFIG REQUIRED)


=====================================
apps/samcat/CMakeLists.txt
=====================================
@@ -18,7 +18,7 @@ set (SEQAN_APP_VERSION "0.3.9")
 
 # Search SeqAn and select dependencies.
 if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
-    find_package (OpenMP)
+    find_package (OpenMP COMPONENTS CXX)
     find_package (ZLIB)
     find_package (SeqAn CONFIG REQUIRED)
 endif ()


=====================================
apps/searchjoin/CMakeLists.txt
=====================================
@@ -18,7 +18,7 @@ set (SEQAN_APP_VERSION "0.5.9")
 
 # Search SeqAn and select dependencies.
 if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
-    find_package (OpenMP)
+    find_package (OpenMP COMPONENTS CXX)
     find_package (SeqAn CONFIG REQUIRED)
 endif ()
 


=====================================
apps/yara/CMakeLists.txt
=====================================
@@ -16,7 +16,7 @@ message (STATUS "Configuring apps/yara")
 
 # Search SeqAn and select dependencies.
 if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
-    find_package (OpenMP)
+    find_package (OpenMP COMPONENTS CXX)
     find_package (ZLIB)
     find_package (BZip2)
     find_package (SeqAn CONFIG REQUIRED)


=====================================
include/seqan/modifier/modifier_reverse.h
=====================================
@@ -559,6 +559,8 @@ reverse(TSequence & sequence, Tag<TParallelTag> parallelTag)
 
     TIter itBeg = begin(sequence, Standard());
     TIter itEnd = end(sequence, Standard());
+    if (itBeg == itEnd)
+        return;
     Splitter<TPos> splitter(0, length(sequence) / 2, parallelTag);
 
     // disable multi-threading if sequence is too small


=====================================
include/seqan/sequence/string_packed.h
=====================================
@@ -295,15 +295,23 @@ public:
     }
 
     Iter(TPackedString &container):
-          data_iterator(begin(host(container), Standard()) + 1),
+          data_iterator(begin(host(container), Standard())),
           localPos(0)
     {
+        // If begin(host(container)) is not a nullptr:
+        //      data_iterator(begin(host(container), Standard()) + 1;
+        // Otherwise, use nullptr.
+        data_iterator += (data_iterator != nullptr);
     }
 
     Iter(TPackedString &container, TPosition pos):
-          data_iterator(begin(host(container), Standard()) + 1 + pos / TTraits::VALUES_PER_HOST_VALUE),
+          data_iterator(begin(host(container), Standard())),
           localPos(pos % TTraits::VALUES_PER_HOST_VALUE)
     {
+        // If begin(host(container)) is not a nullptr:
+        //      data_iterator(begin(host(container), Standard()) + 1 + pos / TTraits::VALUES_PER_HOST_VALUE);
+        // Otherwise, use nullptr.
+        data_iterator += (data_iterator != nullptr) * (1 + pos / TTraits::VALUES_PER_HOST_VALUE);
     }
 
 //    inline


=====================================
manual/environment.yml
=====================================
@@ -2,7 +2,7 @@ name: seqan
 channels:
   - conda-forge
 dependencies:
-  - sphinx=3.4.3
+  - sphinx=8.1.3
   - sphinx_rtd_theme
   - sphinxcontrib-bibtex
   - nose2


=====================================
manual/requirements.txt
=====================================
@@ -1,4 +1,4 @@
-sphinx==5.3.0
+sphinx==8.1.3
 seqansphinx>=0.4.0
 sphinx_rtd_theme
 sphinxcontrib-bibtex


=====================================
manual/source/Infrastructure/Use/FindSeqAnCMake.rst
=====================================
@@ -232,7 +232,7 @@ An example of where you only want ZLIB and OpenMP support, but not BZip2, would
 .. code-block:: cmake
 
     find_package (ZLIB)
-    find_package (OpenMP)
+    find_package (OpenMP COMPONENTS CXX)
     find_package (SeqAn)
 
 From within CMake you can check the variables ``ZLIB_FOUND`` or ``OpenMP_FOUND`` to see the results of these dependency searches, but you can also use the following macros from within your source code to escape certain optional code paths:


=====================================
manual/source/conf.py
=====================================
@@ -1,31 +1,23 @@
+# Configuration file for the Sphinx documentation builder.
 #
-# This file is execfile()d with the current directory set to its
-# containing dir.
-#
-# Note that not all possible configuration values are present in this
-# autogenerated file.
-#
-# All configuration values have a default; values that are commented out
-# serve to show the default.
+# For the full list of built-in configuration values, see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
 
 import sys
 import os
 
 import sphinx_rtd_theme
 
-# If extensions (or modules to document with autodoc) are in another directory,
-# add these directories to sys.path here. If the directory is relative to the
-# documentation root, use os.path.abspath to make it absolute, like shown here.
-#sys.path.insert(0, os.path.abspath('.'))
+# -- Project information -----------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#project-information
 
-# -- General configuration ------------------------------------------------
+# General information about the project.
+project = u'SeqAn'
+copyright = u'2015, The SeqAn Team'
 
-# If your documentation needs a minimal Sphinx version, state it here.
-#needs_sphinx = '1.0'
+# -- General configuration ---------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#general-configuration
 
-# Add any Sphinx extension module names here, as strings. They can be
-# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
-# ones.
 extensions = [
     'sphinx.ext.todo',
     'sphinx.ext.mathjax',
@@ -53,10 +45,6 @@ bibtex_bibfiles = ['seqan.bib']
 # The master toctree document.
 master_doc = 'index'
 
-# General information about the project.
-project = u'SeqAn'
-copyright = u'2015, The SeqAn Team'
-
 # <-- SeqAn: Determine current branch ----------------------------------------------
 
 # Get the current seqan-branch from the READTHEDOCS_VERSION enviornment variable.
@@ -75,219 +63,41 @@ seqan_branch = os.environ.get('READTHEDOCS_VERSION', 'main')
 version = seqan_branch.replace('seqan-v','')
 # The full version, including alpha/beta/rc tags.
 release = version
-
-# The language for content autogenerated by Sphinx. Refer to documentation
-# for a list of supported languages.
-#language = None
-
-# There are two options for replacing |today|: either, you set today to some
-# non-false value, then it is used:
-#today = ''
-# Else, today_fmt is used as the format for a strftime call.
-#today_fmt = '%B %d, %Y'
-
-# List of patterns, relative to source directory, that match files and
-# directories to ignore when looking for source files.
-exclude_patterns = []
-
-# The reST default role (used for this markup: `text`) to use for all
-# documents.
-#default_role = None
-
-# If true, '()' will be appended to :func: etc. cross-reference text.
-#add_function_parentheses = True
-
-# If true, the current module name will be prepended to all description
-# unit titles (such as .. function::).
-#add_module_names = True
-
-# If true, sectionauthor and moduleauthor directives will be shown in the
-# output. They are ignored by default.
-#show_authors = False
-
-# The name of the Pygments (syntax highlighting) style to use.
 pygments_style = 'sphinx'
 
-# A list of ignored prefixes for module index sorting.
-#modindex_common_prefix = []
-
-# If true, keep warnings as "system message" paragraphs in the built documents.
-#keep_warnings = False
-
 
-# -- Options for HTML output ----------------------------------------------
+# -- Options for HTML output -------------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-html-output
 
-# The theme to use for HTML and HTML Help pages.  See the documentation for
-# a list of builtin themes.
-#html_theme = 'default'
 html_theme = 'sphinx_rtd_theme'
-
-# Theme options are theme-specific and customize the look and feel of a theme
-# further.  For a list of options available for each theme, see the
-# documentation.
-#html_theme_options = {}
-
-# Add any paths that contain custom themes here, relative to this directory.
-#html_theme_path = []
-html_theme_path = [sphinx_rtd_theme.get_html_theme_path()]
-
-# The name for this set of Sphinx documents.  If None, it defaults to
-# "<project> v<release> documentation".
-#html_title = None
-
-# A shorter title for the navigation bar.  Default is the same as html_title.
-#html_short_title = None
-
-# The name of an image file (relative to this directory) to place at the top
-# of the sidebar.
-#html_logo = None
-
-# The name of an image file (within the static path) to use as favicon of the
-# docs.  This file should be a Windows icon file (.ico) being 16x16 or 32x32
-# pixels large.
-#html_favicon = None
-
-# Add any paths that contain custom static files (such as style sheets) here,
-# relative to this directory. They are copied after the builtin static files,
-# so a file named "default.css" will overwrite the builtin "default.css".
 html_static_path = ['_static']
-
-# Add any extra paths that contain custom files (such as robots.txt or
-# .htaccess) here, relative to this directory. These files are copied
-# directly to the root of the documentation.
-#html_extra_path = []
-
-# If not '', a 'Last updated on:' timestamp is inserted at every page bottom,
-# using the given strftime format.
-#html_last_updated_fmt = '%b %d, %Y'
-
-# If true, SmartyPants will be used to convert quotes and dashes to
-# typographically correct entities.
-#html_use_smartypants = True
-
-# Custom sidebar templates, maps document names to template names.
-#html_sidebars = {}
-
-# Additional templates that should be rendered to pages, maps page names to
-# template names.
-#html_additional_pages = {}
-
-# If false, no module index is generated.
-#html_domain_indices = True
-
-# If false, no index is generated.
-#html_use_index = True
-
-# If true, the index is split into individual pages for each letter.
-#html_split_index = False
-
-# If true, links to the reST sources are added to the pages.
-#html_show_sourcelink = True
-
-# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
-#html_show_sphinx = True
-
-# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
-#html_show_copyright = True
-
-# If true, an OpenSearch description file will be output, and all pages will
-# contain a <link> tag referring to it.  The value of this option must be the
-# base URL from which the finished HTML is served.
-#html_use_opensearch = ''
-
-# This is the file name suffix for HTML files (e.g. ".xhtml").
-#html_file_suffix = None
-
-# Output file base name for HTML help builder.
 htmlhelp_basename = 'seqandoc'
 
-
 # -- Options for LaTeX output ---------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-latex-output
 
-latex_elements = {
-# The paper size ('letterpaper' or 'a4paper').
-#'papersize': 'letterpaper',
-
-# The font size ('10pt', '11pt' or '12pt').
-#'pointsize': '10pt',
-
-# Additional stuff for the LaTeX preamble.
-#'preamble': '',
-}
-
-# Grouping the document tree into LaTeX files. List of tuples
-# (source start file, target name, title,
-#  author, documentclass [howto, manual, or own class]).
 latex_documents = [
   ('index', 'SeqAn.tex', u'SeqAn Manual',
    u'The SeqAn Team', 'manual'),
 ]
 
-# The name of an image file (relative to this directory) to place at the top of
-# the title page.
-#latex_logo = None
-
-# For "manual" documents, if this is true, then toplevel headings are parts,
-# not chapters.
-#latex_use_parts = False
-
-# If true, show page references after internal links.
-#latex_show_pagerefs = False
-
-# If true, show URL addresses after external links.
-#latex_show_urls = False
-
-# Documents to append as an appendix to all manuals.
-#latex_appendices = []
-
-# If false, no module index is generated.
-#latex_domain_indices = True
-
-
 # -- Options for manual page output ---------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-manual-page-output
 
-# One entry per manual page. List of tuples
-# (source start file, name, description, authors, manual section).
 man_pages = [
     ('index', 'seqan', u'SeqAn Manual',
      [u'The SeqAn Team'], 1)
 ]
 
-# If true, show URL addresses after external links.
-#man_show_urls = False
-
-
 # -- Options for Texinfo output -------------------------------------------
+# https://www.sphinx-doc.org/en/master/usage/configuration.html#options-for-texinfo-output
 
-# Grouping the document tree into Texinfo files. List of tuples
-# (source start file, target name, title, author,
-#  dir menu entry, description, category)
 texinfo_documents = [
   ('index', 'SeqAn', u'SeqAn Manual',
    u'The SeqAn Team', 'SeqAn', 'One line description of project.',
    'Miscellaneous'),
 ]
 
-# Documents to append as an appendix to all manuals.
-#texinfo_appendices = []
-
-# If false, no module index is generated.
-#texinfo_domain_indices = True
-
-# How to display URL addresses: 'footnote', 'no', or 'inline'.
-#texinfo_show_urls = 'footnote'
-
-# If true, do not generate a @detailmenu in the "Top" node's menu.
-#texinfo_no_detailmenu = False
-
-# -- Options for the Disqus integration -------------------------------------
-
-#on_rtd = os.environ.get('READTHEDOCS', None) == 'True'
-#if on_rtd:
-#    html_context = {
-#      'disqus_shortname': 'seqan-manual',
-#    }
-
 # -- Options for SeqAn plugins ----------------------------------------------
 
 # Configure the base URL for dox links.  By default, we point to the main


=====================================
tests/index/CMakeLists.txt
=====================================
@@ -16,7 +16,7 @@ message (STATUS "Configuring tests/index")
 
 # Search SeqAn and select dependencies.
 if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
-    find_package (OpenMP)
+    find_package (OpenMP COMPONENTS CXX)
     find_package (SeqAn REQUIRED)
 endif ()
 


=====================================
tests/journaled_string_tree/CMakeLists.txt
=====================================
@@ -16,7 +16,7 @@ message (STATUS "Configuring tests/journaled_string_tree")
 
 # Search SeqAn and select dependencies.
 if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
-    find_package (OpenMP)
+    find_package (OpenMP COMPONENTS CXX)
     find_package (SeqAn REQUIRED)
 endif ()
 


=====================================
tests/parallel/CMakeLists.txt
=====================================
@@ -16,7 +16,7 @@ message (STATUS "Configuring tests/parallel")
 
 # Search SeqAn and select dependencies.
 if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
-    find_package (OpenMP)
+    find_package (OpenMP COMPONENTS CXX)
     find_package (SeqAn REQUIRED)
 endif ()
 


=====================================
tests/sequence/test_sequence.h
=====================================
@@ -204,10 +204,7 @@ typedef
     seqan2::TagList<String<char, Alloc<> >,
     seqan2::TagList<String<int, Alloc<> >,
     seqan2::TagList<String<CountingChar, Alloc<> >,
-//     seqan2::TagList<std::basic_string<seqan2::Dna5>,
     seqan2::TagList<std::basic_string<char>,
-    seqan2::TagList<std::basic_string<int>,
-//     seqan2::TagList<std::basic_string<CountingChar>
     seqan2::TagList<std::vector<seqan2::Dna5>,
     seqan2::TagList<std::vector<char>,
     seqan2::TagList<std::vector<int>,
@@ -225,8 +222,8 @@ typedef
     seqan2::TagList<std::list<int>,
     seqan2::TagList<std::list<CountingChar>
     > > > > > > > > > > > > > > > > > > > > > > > > >
-    > > > > > > > > > > > > > > //> >
-    > > > >
+    > > > > > > > > > > > > > >
+    > > >
     StringTestCommonTypes;
 
 SEQAN_TYPED_TEST_CASE(StringTestCommon, StringTestCommonTypes);


=====================================
tests/sequence/test_sequence_std_adaptions.h
=====================================
@@ -275,7 +275,7 @@ SEQAN_DEFINE_TEST(test_sequence_adaptions_metafunctions_std_string)
 {
     using namespace seqan2;
 
-    typedef int TElement;
+    typedef char TElement;
     typedef std::basic_string<TElement> TString;
     typedef TString const TConstString;
 


=====================================
tests/translation/CMakeLists.txt
=====================================
@@ -16,7 +16,7 @@ message (STATUS "Configuring tests/translation")
 
 # Search SeqAn and select dependencies.
 if (NOT "${SEQAN_BUILD_SYSTEM}" STREQUAL "DEVELOP")
-    find_package (OpenMP)
+    find_package (OpenMP COMPONENTS CXX)
     find_package (SeqAn REQUIRED)
 endif ()
 


=====================================
util/cmake/seqan-config.cmake
=====================================
@@ -358,7 +358,7 @@ endif ()
 set (SEQAN_HAS_OPENMP FALSE)
 
 if (NOT SEQAN_NO_OPENMP)
-    find_package (OpenMP QUIET)
+    find_package (OpenMP QUIET COMPONENTS CXX)
 endif ()
 
 if (OPENMP_FOUND)
@@ -372,10 +372,8 @@ if (OPENMP_FOUND)
         set (OPENMP_FOUND FALSE)
     else ()
         set (SEQAN_HAS_OPENMP TRUE) # deprecated: use OPENMP_FOUND instead
-        set (SEQAN_LIBRARIES         ${SEQAN_LIBRARIES}         ${OpenMP_CXX_LIBRARIES})
-        set (SEQAN_INCLUDE_DIRS_DEPS ${SEQAN_INCLUDE_DIRS_DEPS} ${OpenMP_CXX_INCLUDE_DIRS})
+        set (SEQAN_LIBRARIES         ${SEQAN_LIBRARIES}         OpenMP::OpenMP_CXX)
         set (SEQAN_DEFINITIONS       ${SEQAN_DEFINITIONS}       "-DSEQAN_HAS_OPENMP=1")
-        set (SEQAN_CXX_FLAGS        "${SEQAN_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
     endif ()
 endif ()
 


=====================================
util/raw_cmake_project/src/CMakeLists.txt
=====================================
@@ -1,5 +1,5 @@
 # Configure SeqAn, enabling features for libbz2 and zlib.
-find_package (OpenMP)
+find_package (OpenMP COMPONENTS CXX)
 find_package (ZLIB)
 find_package (BZip2)
 find_package (SeqAn REQUIRED)



View it on GitLab: https://salsa.debian.org/med-team/seqan2/-/commit/b2c20078a7555fa067628fe1df07e4f3060ce779

-- 
View it on GitLab: https://salsa.debian.org/med-team/seqan2/-/commit/b2c20078a7555fa067628fe1df07e4f3060ce779
You're receiving this email because of your account on salsa.debian.org.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/debian-med-commit/attachments/20241122/171264bb/attachment-0001.htm>


More information about the debian-med-commit mailing list