[med-svn] [Git][med-team/kallisto][master] 4 commits: Adapt patches to new upstream version 0.52.0

Andreas Tille (@tille) gitlab at salsa.debian.org
Tue Oct 20 19:22:24 BST 2026



Andreas Tille pushed to branch master at Debian Med / kallisto


Commits:
fa9435a1 by Andreas Tille at 2026-10-20T19:19:06+02:00
Adapt patches to new upstream version 0.52.0

- - - - -
b26882be by Andreas Tille at 2026-10-20T19:19:19+02:00
Build bundled bifrost with the same MAX_KMER_SIZE as kallisto

Compiling bifrost with MAX_KMER_SIZE=31 and kallisto with 32 corrupts
the heap and makes the test suite crash.  Pass kallisto's k-mer size to
the bundled bifrost build and drop the patch that forced the wrong
default.

Closes: #1118526

- - - - -
7db188d1 by Andreas Tille at 2026-10-20T19:43:59+02:00
Remove unused patch to use Debian packaged bifrost

- - - - -
b3d7e473 by Andreas Tille at 2026-10-20T19:52:01+02:00
Upload to unstable

- - - - -


9 changed files:

- debian/changelog
- debian/patches/baseline.patch
- debian/patches/bifrost_typo.patch
- − debian/patches/fix_bifrost_defines.patch
- debian/patches/htslib1.3
- debian/patches/series
- debian/patches/std_gnu17.patch
- − debian/patches/use_debian_packaged_bifrost.patch
- debian/patches/use_debian_packaged_htslib.patch


Changes:

=====================================
debian/changelog
=====================================
@@ -1,10 +1,16 @@
-kallisto (0.52.0+dfsg-1) UNRELEASED; urgency=medium
+kallisto (0.52.0+dfsg-1) unstable; urgency=medium
 
   * New upstream version
+  * Adapt patches to new upstream version
+  * Build the bundled bifrost with the same MAX_KMER_SIZE as kallisto instead
+    of compiling it with MAX_KMER_SIZE=31.  The mismatched k-mer size caused
+    heap corruption and test failures.
+    Closes: #1118526
   * Drop 'Rules-Requires-Root: no' from d/control (routine-update)
   * Reformat the Last-Update date as ISO YYYY-MM-DD.
+  * Remove unused patch to use Debian packaged bifrost
 
- -- Andreas Tille <tille at debian.org>  Tue, 20 Oct 2026 16:45:36 +0200
+ -- Andreas Tille <tille at debian.org>  Tue, 20 Oct 2026 19:44:13 +0200
 
 kallisto (0.51.1+dfsg-2) unstable; urgency=medium
 


=====================================
debian/patches/baseline.patch
=====================================
@@ -5,9 +5,9 @@ Description: Do not build with -march=native
 
 --- a/ext/bifrost/CMakeLists.txt
 +++ b/ext/bifrost/CMakeLists.txt
-@@ -8,7 +8,8 @@ find_package(Threads REQUIRED)
- SET(MAX_KMER_SIZE "31" CACHE STRING "MAX_KMER_SIZE")
- SET(MAX_GMER_SIZE "63" CACHE STRING "MAX_GMER_SIZE")
+@@ -7,7 +7,8 @@ find_package(Threads REQUIRED)
+ # To enable a larger default k-mer size, replace MAX_KMER_SIZE with a larger multiple of 32: actual maximum k-mer size will be MAX_KMER_SIZE-1.
+ SET(MAX_GMER_SIZE "${MAX_KMER_SIZE}" CACHE STRING "MAX_GMER_SIZE")
  # Enable architecture optimizations
 -SET(COMPILATION_ARCH "native" CACHE STRING "COMPILATION_ARCH")
 +# SET(COMPILATION_ARCH "native" CACHE STRING "COMPILATION_ARCH")


=====================================
debian/patches/bifrost_typo.patch
=====================================
@@ -1,5 +1,5 @@
 Author: Andreas Tille <tille at debian.org>
-Last-Update: 2025-10-18
+Last-Update: 2026-10-20
 Description: Seems there is a typo
   sz_link is a local variable in the constructor, not a class member which leads to
 
@@ -13,7 +13,7 @@ In file included from /build/kallisto-0.51.1+dfsg/ext/bifrost/src/DataManager.hp
 +++ b/ext/bifrost/src/DataStorage.tcc
 @@ -78,7 +78,7 @@ DataStorage<U>::DataStorage(const DataSt
  
-         unitig_cs_link = new atomic<uint64_t>[sz_link];
+         unitig_cs_link = new std::atomic<uint64_t>[sz_link];
  
 -        for (size_t i = 0; i != sz_link; ++i) unitig_cs_link[i] = o.sz_link[i].load();
 +        for (size_t i = 0; i != sz_link; ++i) unitig_cs_link[i] = o.unitig_cs_link[i].load();


=====================================
debian/patches/fix_bifrost_defines.patch deleted
=====================================
@@ -1,17 +0,0 @@
-Author: Andreas Tille <tille at debian.org>
-Last-Update: 2025-10-18
-Description: Add default values for MAX_KMER_SIZE and MAX_GMER_SIZE
- (Any hint how to inject these without patching welcome)
-
---- a/ext/bifrost/CMakeLists.txt
-+++ b/ext/bifrost/CMakeLists.txt
-@@ -5,7 +5,8 @@ project(Bifrost)
- find_package(Threads REQUIRED)
- 
- # To enable a larger default k-mer size, replace MAX_KMER_SIZE with a larger multiple of 32: actual maximum k-mer size will be MAX_KMER_SIZE-1.
--SET(MAX_GMER_SIZE "${MAX_KMER_SIZE}" CACHE STRING "MAX_GMER_SIZE")
-+SET(MAX_KMER_SIZE "31" CACHE STRING "MAX_KMER_SIZE")
-+SET(MAX_GMER_SIZE "63" CACHE STRING "MAX_GMER_SIZE")
- # Enable architecture optimizations
- SET(COMPILATION_ARCH "native" CACHE STRING "COMPILATION_ARCH")
- # Enable AVX2 instructions


=====================================
debian/patches/htslib1.3
=====================================
@@ -1,7 +1,7 @@
 From: Michael R. Crusoe <michael.crusoe at gmail.com>
 Subject: Use kseq.h from htslib, not the bundled version
---- kallisto.orig/unit_tests/test_kmerhashtable.cpp
-+++ kallisto/unit_tests/test_kmerhashtable.cpp
+--- a/unit_tests/test_kmerhashtable.cpp
++++ b/unit_tests/test_kmerhashtable.cpp
 @@ -13,7 +13,7 @@
  #include "KmerHashTable.h"
  
@@ -11,8 +11,8 @@ Subject: Use kseq.h from htslib, not the bundled version
  
  #ifndef KSEQ_INIT_READY
  #define KSEQ_INIT_READY
---- kallisto.orig/ext/bifrost/src/FASTX_Parser.hpp
-+++ kallisto/ext/bifrost/src/FASTX_Parser.hpp
+--- a/ext/bifrost/src/FASTX_Parser.hpp
++++ b/ext/bifrost/src/FASTX_Parser.hpp
 @@ -14,7 +14,7 @@
  
  #ifndef KSEQ_INIT_READY
@@ -22,9 +22,9 @@ Subject: Use kseq.h from htslib, not the bundled version
  KSEQ_INIT(gzFile, gzread);
  #endif
  
---- kallisto.orig/ext/bifrost/src/File_Parser.hpp
-+++ kallisto/ext/bifrost/src/File_Parser.hpp
-@@ -12,7 +12,7 @@
+--- a/ext/bifrost/src/File_Parser.hpp
++++ b/ext/bifrost/src/File_Parser.hpp
+@@ -13,7 +13,7 @@
  
  #ifndef KSEQ_INIT_READY
  #define KSEQ_INIT_READY
@@ -33,8 +33,8 @@ Subject: Use kseq.h from htslib, not the bundled version
  KSEQ_INIT(gzFile, gzread);
  #endif
  
---- kallisto.orig/src/common.h
-+++ kallisto/src/common.h
+--- a/src/common.h
++++ b/src/common.h
 @@ -9,7 +9,7 @@
  #include <vector>
  #include <iostream>


=====================================
debian/patches/series
=====================================
@@ -2,8 +2,8 @@ use_debian_packaged_htslib.patch
 htslib1.3
 gcc11.patch
 disable-failing-bustools-test.patch
-#use_debian_packaged_bifrost.patch
-fix_bifrost_defines.patch
+#use_debian_packaged_bifrost.patch - not usable since the fork is of 1.0.6.4 while Debian has packaged 1.3.5 which is incompatible and requires heavy upstream changes
+#                                    see commit 5c69de56085ebbcfd3fcace0325cf592d2099abe
 bifrost_typo.patch
 std_gnu17.patch
 cmake4.patch


=====================================
debian/patches/std_gnu17.patch
=====================================
@@ -1,23 +1,20 @@
 Author: Andreas Tille <tille at debian.org>
-Last-Update: 2025-10-21
+Last-Update: 2026-10-20
 Description: Try hard to get bifrost build with recent gcc
 
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -54,6 +54,7 @@ else()
-     check_cxx_compiler_flag(-std=c++17 COMPILER_SUPPORTS_CXX17)
-     if(COMPILER_SUPPORTS_CXX17)
-     set(CMAKE_CXX_STANDARD 17)
-+    set(CMAKE_CXX_EXTENSIONS ON)
-     else()
-     set(CMAKE_CXX_STANDARD 11)
+@@ -66,12 +66,12 @@ else()
      endif()
-@@ -63,7 +64,8 @@ endif()
+ 
+     set(CMAKE_CXX_STANDARD_REQUIRED ON)
+-    set(CMAKE_CXX_EXTENSIONS OFF)
++    set(CMAKE_CXX_EXTENSIONS ON)
+ endif()
  
  #add_compile_options(-Wall -Wno-unused-function)
- add_compile_options(-Wno-subobject-linkage) # Suppress bifrost warning
+ add_compile_options(-Wno-deprecated-declarations -Wno-subobject-linkage) # Suppress bifrost warning
 -set(PROJECT_BIFROST_CMAKE_CXX_FLAGS "-Wno-subobject-linkage -Wno-return-type") # Suppress bifrost warning
-+add_compile_options(-Wno-deprecated-declarations) # More relaxation for bifrost
 +set(PROJECT_BIFROST_CMAKE_CXX_FLAGS "-Wno-subobject-linkage -Wno-return-type -Wno-deprecated-declarations") # Suppress bifrost warning
  
  if(LINK MATCHES static)


=====================================
debian/patches/use_debian_packaged_bifrost.patch deleted
=====================================
@@ -1,37 +0,0 @@
-Author: Andreas Tille <tille at debian.org>
-Last-Update: Fri, 05 Jan 2024 15:02:12 +0100
-Description: Use Debian packaged bifrost
-
---- kallisto.orig/src/CMakeLists.txt
-+++ kallisto/src/CMakeLists.txt
-@@ -17,7 +17,7 @@
- add_executable(kallisto main.cpp)
- 
- find_package( Threads REQUIRED )
--ExternalProject_Get_Property(bifrost install_dir)
-+# ExternalProject_Get_Property(bifrost install_dir)
- if(!DEBIAN_BUILD)
- if (USE_BAM)
- target_link_libraries(kallisto kallisto_core pthread ${CMAKE_CURRENT_SOURCE_DIR}/../ext/htslib/libhts.a ${install_dir}/build/src/libbifrost.a)
-@@ -25,8 +25,8 @@
- target_link_libraries(kallisto kallisto_core pthread ${install_dir}/build/src/libbifrost.a)
- endif(USE_BAM)
- else()
--# FIXME: once bifrost is accepted this should be linked against the Debian packaged library
--target_link_libraries(kallisto kallisto_core pthread ${install_dir}/build/src/libbifrost.a)
-+include_directories(/usr/include/bifrost /usr/include/htslib)
-+target_link_libraries(kallisto kallisto_core pthread libbifrost)
- endif()
- 
- if(LINK MATCHES static)
---- kallisto.orig/src/KmerIndex.cpp
-+++ kallisto/src/KmerIndex.cpp
-@@ -12,6 +12,8 @@
- #include <string>
- #include "ColoredCDBG.hpp"
- 
-+typedef boomphf::mphf<Minimizer, MinimizerHash> boophf_t;
-+
- // --aa option helper functions
- // first three letters of nucleotide seq -> comma-free nuc_seq
- // the three stop codons will be translated to 'NNN'


=====================================
debian/patches/use_debian_packaged_htslib.patch
=====================================
@@ -1,10 +1,10 @@
 Author: Andreas Tille <tille at debian.org>
-Last-Update: 2019-03-21
+Last-Update: 2026-10-20
 Description: Adapt build system to Debian packaged libhts
 
 --- a/CMakeLists.txt
 +++ b/CMakeLists.txt
-@@ -71,8 +71,17 @@ ELSE(LINK MATCHES shared)
+@@ -79,8 +79,17 @@ ELSE(LINK MATCHES shared)
      message("shared build")
  ENDIF(LINK MATCHES static)
  
@@ -14,7 +14,7 @@ Description: Adapt build system to Debian packaged libhts
 +    PREFIX ${PROJECT_SOURCE_DIR}/ext/bifrost
 +    SOURCE_DIR ${PROJECT_SOURCE_DIR}/ext/bifrost
 +    BUILD_IN_SOURCE 1
-+    CONFIGURE_COMMAND mkdir -p build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=${PREFIX} -DCMAKE_CXX_FLAGS=${PROJECT_BIFROST_CMAKE_CXX_FLAGS}
++    CONFIGURE_COMMAND mkdir -p build && cd build && cmake .. -DMAX_KMER_SIZE=${MAX_KMER_SIZE} -DCMAKE_INSTALL_PREFIX=${PREFIX} -DCMAKE_CXX_FLAGS=${PROJECT_BIFROST_CMAKE_CXX_FLAGS}
 +    BUILD_COMMAND cd build && make
 +    INSTALL_COMMAND ""
 +)
@@ -23,11 +23,11 @@ Description: Adapt build system to Debian packaged libhts
  if (USE_BAM)
  ExternalProject_Add(htslib
      PREFIX ${PROJECT_SOURCE_DIR}/ext/htslib
-@@ -107,15 +116,24 @@ if (ZLIBNG)
+@@ -115,8 +124,18 @@ if (ZLIBNG)
  endif(ZLIBNG)
  
  if (USE_BAM)
--include_directories(${htslib_PREFIX}/src/htslib)
+-    include_directories(${htslib_PREFIX}/src/htslib)
 +    if(DEBIAN_BUILD)
 +        # For Debian builds, use system htslib
 +        find_package(PkgConfig REQUIRED)
@@ -40,16 +40,9 @@ Description: Adapt build system to Debian packaged libhts
 +    endif()
  endif(USE_BAM)
 +endif()
- include_directories(${EXT_PROJECTS_DIR}/bifrost/build/src)
- 
- ExternalProject_Get_Property(bifrost install_dir)
- include_directories(${install_dir}/src)
  
+ include_directories(${EXT_PROJECTS_DIR}/bifrost/build/src)
  
--
- # add_compile_options(-Wdeprecated-register)
- 
- add_subdirectory(src)
 --- a/src/CMakeLists.txt
 +++ b/src/CMakeLists.txt
 @@ -3,9 +3,11 @@ file(GLOB headers *.h *.hpp)
@@ -66,7 +59,7 @@ Description: Adapt build system to Debian packaged libhts
  set(MAX_KMER_SIZE "32")
 @@ -18,13 +20,28 @@ target_include_directories(kallisto_core
  
- add_executable(kallisto main.cpp)
+ add_executable(kallisto main.cpp ${sources} ${headers})
  
 +if (DEBIAN_BUILD)
 +  if(USE_BAM)



View it on GitLab: https://salsa.debian.org/med-team/kallisto/-/compare/ff9a764bd70c316b5f0c46167186b63e56c611b5...b3d7e4739e3e16f4859c44803be0cf86c7f3202d

-- 
View it on GitLab: https://salsa.debian.org/med-team/kallisto/-/compare/ff9a764bd70c316b5f0c46167186b63e56c611b5...b3d7e4739e3e16f4859c44803be0cf86c7f3202d
You're receiving this email because of your account on salsa.debian.org. Manage all notifications: https://salsa.debian.org/-/profile/notifications | Help: https://salsa.debian.org/help


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


More information about the debian-med-commit mailing list