From 2fbd5e06b210b15d7799ced42751bce6c0327e9a Mon Sep 17 00:00:00 2001 From: mencian Date: Mon, 18 Nov 2024 00:26:12 -0600 Subject: [PATCH 01/11] Update libmaus2 to v2.0.183 --- recipes/libmaus2/build.sh | 11 +++++++++-- recipes/libmaus2/meta.yaml | 39 +++++++++++++++++++++++--------------- 2 files changed, 33 insertions(+), 17 deletions(-) diff --git a/recipes/libmaus2/build.sh b/recipes/libmaus2/build.sh index cdd58fb79e892..6a881853c40e4 100644 --- a/recipes/libmaus2/build.sh +++ b/recipes/libmaus2/build.sh @@ -2,9 +2,16 @@ set -eu export LIBS="-lstdc++fs -lcurl" -./configure --prefix $PREFIX --with-snappy --with-io_lib +autoreconf -if +autoupdate +./configure --prefix="${PREFIX}" CXX="${CXX}" CC="${CC}" \ + LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" \ + CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include" \ + --with-snappy --with-io_lib --with-libdeflate \ + --with-libsecrecy --with-nettle --with-parasail \ + --with-lzma --with-gmp cat config.log -make -j${CPU_COUNT} +make -j"${CPU_COUNT}" make install diff --git a/recipes/libmaus2/meta.yaml b/recipes/libmaus2/meta.yaml index 3d8c6738d991c..e772ed6b70206 100644 --- a/recipes/libmaus2/meta.yaml +++ b/recipes/libmaus2/meta.yaml @@ -1,7 +1,7 @@ {% set name = "libmaus2" %} -{% set version = "2.0.810" %} -{% set datestamp = "20220216151520" %} -{% set sha256hash = "6639289aba6bbece3057ab7d1782a1b94b80a9ae22fc3d136a78ba8f7b9edaee" %} +{% set version = "2.0.813" %} +{% set datestamp = "20221210220409" %} +{% set sha256 = "4125f8daefd6900185675026498369457088e25e81029597659249be49cd5261" %} package: name: {{ name }} @@ -10,13 +10,13 @@ package: build: # There's some issue with clang skip: True # [osx] - number: 6 + number: 0 run_exports: - - {{ pin_subpackage('libmaus2', max_pin='x.x') }} + - {{ pin_subpackage('libmaus2', max_pin='x') }} source: url: https://gitlab.com/german.tischler/libmaus2/-/archive/{{ version }}-release-{{ datestamp }}/libmaus2-{{ version }}-release-{{ datestamp }}.tar.gz - sha256: {{ sha256hash }} + sha256: {{ sha256 }} patches: # Until gcc >=8 is being used - patch @@ -26,31 +26,40 @@ requirements: - make - {{ compiler('c') }} - {{ compiler('cxx') }} + - autoconf + - automake + - libtool + - pkg-config host: - boost-cpp - libcurl # snappy 1.1.9 introduced a binary incompatible build change (https://github.com/mhx/dwarfs/issues/56#issuecomment-896857211) # enabling -fno-rtti. libmaus needs typeid, which is only available with activated rtti. # Hence, we stick with snappy 1.1.8 - - snappy =1.1.8 + - snappy =1.1.8 - staden_io_lib >=1.14.14 + - libdeflate + - gmp + - nettle + - parasail-python run: - boost-cpp - - libcurl - snappy =1.1.8 - staden_io_lib >=1.14.14 - ignore_run_exports: - - snappy - -about: - home: https://gitlab.com/german.tischler/libmaus2 - license: GPL3 - summary: collection of data structures and algorithms for NGS data + - parasail-python test: commands: - echo +about: + home: https://gitlab.com/german.tischler/libmaus2 + license: GPL-3.0-or-later + license_family: GPL3 + license_file: GPLv3 + summary: "Collection of data structures and algorithms for NGS data." + dev_url: https://gitlab.com/german.tischler/libmaus2 + extra: additional-platforms: - linux-aarch64 From 7187fb02bb9c17d8dd5d67e39978fb3e4b6c35a1 Mon Sep 17 00:00:00 2001 From: Joshua Zhuang <71105179+mencian@users.noreply.github.com> Date: Mon, 18 Nov 2024 00:33:52 -0600 Subject: [PATCH 02/11] Update meta.yaml --- recipes/libmaus2/meta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/recipes/libmaus2/meta.yaml b/recipes/libmaus2/meta.yaml index e772ed6b70206..0b21f20dfdb23 100644 --- a/recipes/libmaus2/meta.yaml +++ b/recipes/libmaus2/meta.yaml @@ -42,6 +42,7 @@ requirements: - gmp - nettle - parasail-python + - zlib run: - boost-cpp - snappy =1.1.8 From d8f3d4622a300c5c73cda3496fb23475782eb6fd Mon Sep 17 00:00:00 2001 From: Joshua Zhuang <71105179+mencian@users.noreply.github.com> Date: Mon, 18 Nov 2024 00:34:53 -0600 Subject: [PATCH 03/11] Update build.sh --- recipes/libmaus2/build.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libmaus2/build.sh b/recipes/libmaus2/build.sh index 6a881853c40e4..85366d5c18953 100644 --- a/recipes/libmaus2/build.sh +++ b/recipes/libmaus2/build.sh @@ -1,6 +1,6 @@ #!/bin/bash set -eu -export LIBS="-lstdc++fs -lcurl" +export LIBS="-lstdc++fs -lcurl -lz" autoreconf -if autoupdate @@ -8,7 +8,7 @@ autoupdate LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" \ CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include" \ --with-snappy --with-io_lib --with-libdeflate \ - --with-libsecrecy --with-nettle --with-parasail \ + --with-libsecrecy --with-nettle \ --with-lzma --with-gmp cat config.log From 98c789a938090e0a3e5ac1b604577cbf8289da4e Mon Sep 17 00:00:00 2001 From: Joshua Zhuang <71105179+mencian@users.noreply.github.com> Date: Mon, 18 Nov 2024 00:35:03 -0600 Subject: [PATCH 04/11] Update build.sh --- recipes/libmaus2/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recipes/libmaus2/build.sh b/recipes/libmaus2/build.sh index 85366d5c18953..ca3bf9786dcba 100644 --- a/recipes/libmaus2/build.sh +++ b/recipes/libmaus2/build.sh @@ -1,6 +1,6 @@ #!/bin/bash set -eu -export LIBS="-lstdc++fs -lcurl -lz" +export LIBS="-lstdc++fs -lcurl -lz -ldeflate" autoreconf -if autoupdate From 8edf93ddf370b10e81126ea282e206c6470b73fa Mon Sep 17 00:00:00 2001 From: Joshua Zhuang <71105179+mencian@users.noreply.github.com> Date: Mon, 18 Nov 2024 00:35:14 -0600 Subject: [PATCH 05/11] Update meta.yaml --- recipes/libmaus2/meta.yaml | 2 -- 1 file changed, 2 deletions(-) diff --git a/recipes/libmaus2/meta.yaml b/recipes/libmaus2/meta.yaml index 0b21f20dfdb23..09c711bedb00d 100644 --- a/recipes/libmaus2/meta.yaml +++ b/recipes/libmaus2/meta.yaml @@ -41,13 +41,11 @@ requirements: - libdeflate - gmp - nettle - - parasail-python - zlib run: - boost-cpp - snappy =1.1.8 - staden_io_lib >=1.14.14 - - parasail-python test: commands: From 1deb425541ef0d63e31bdf44df7b914d27fb4d03 Mon Sep 17 00:00:00 2001 From: Joshua Zhuang <71105179+mencian@users.noreply.github.com> Date: Mon, 18 Nov 2024 00:48:55 -0600 Subject: [PATCH 06/11] Update build.sh --- recipes/libmaus2/build.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/recipes/libmaus2/build.sh b/recipes/libmaus2/build.sh index ca3bf9786dcba..0f09da30626cf 100644 --- a/recipes/libmaus2/build.sh +++ b/recipes/libmaus2/build.sh @@ -1,10 +1,11 @@ #!/bin/bash set -eu -export LIBS="-lstdc++fs -lcurl -lz -ldeflate" +export LIBS="-lstdc++ -lcurl -lz -ldeflate" autoreconf -if autoupdate ./configure --prefix="${PREFIX}" CXX="${CXX}" CC="${CC}" \ + CXXFLAGS="${CXXFLAGS} -O3 -D_LIBCPP_DISABLE_AVAILABILITY" LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" \ CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include" \ --with-snappy --with-io_lib --with-libdeflate \ From 1d0b92814017a53f8156a9f213a42b9d8bbc1de9 Mon Sep 17 00:00:00 2001 From: Joshua Zhuang <71105179+mencian@users.noreply.github.com> Date: Mon, 18 Nov 2024 00:50:45 -0600 Subject: [PATCH 07/11] Update meta.yaml --- recipes/libmaus2/meta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes/libmaus2/meta.yaml b/recipes/libmaus2/meta.yaml index 09c711bedb00d..f9ba474b98509 100644 --- a/recipes/libmaus2/meta.yaml +++ b/recipes/libmaus2/meta.yaml @@ -17,9 +17,9 @@ build: source: url: https://gitlab.com/german.tischler/libmaus2/-/archive/{{ version }}-release-{{ datestamp }}/libmaus2-{{ version }}-release-{{ datestamp }}.tar.gz sha256: {{ sha256 }} - patches: + #patches: # Until gcc >=8 is being used - - patch + #- patch requirements: build: From 8c2052c947e5f7d0cf6b195ebb3896f131c716e4 Mon Sep 17 00:00:00 2001 From: Joshua Zhuang <71105179+mencian@users.noreply.github.com> Date: Mon, 18 Nov 2024 00:57:48 -0600 Subject: [PATCH 08/11] Update build.sh --- recipes/libmaus2/build.sh | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/recipes/libmaus2/build.sh b/recipes/libmaus2/build.sh index 0f09da30626cf..ca3bf9786dcba 100644 --- a/recipes/libmaus2/build.sh +++ b/recipes/libmaus2/build.sh @@ -1,11 +1,10 @@ #!/bin/bash set -eu -export LIBS="-lstdc++ -lcurl -lz -ldeflate" +export LIBS="-lstdc++fs -lcurl -lz -ldeflate" autoreconf -if autoupdate ./configure --prefix="${PREFIX}" CXX="${CXX}" CC="${CC}" \ - CXXFLAGS="${CXXFLAGS} -O3 -D_LIBCPP_DISABLE_AVAILABILITY" LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" \ CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include" \ --with-snappy --with-io_lib --with-libdeflate \ From 7f9c3c48d510f36bf3ea4908f5ac099fef203cc3 Mon Sep 17 00:00:00 2001 From: Joshua Zhuang <71105179+mencian@users.noreply.github.com> Date: Mon, 18 Nov 2024 00:59:38 -0600 Subject: [PATCH 09/11] Update meta.yaml --- recipes/libmaus2/meta.yaml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/recipes/libmaus2/meta.yaml b/recipes/libmaus2/meta.yaml index f9ba474b98509..7a7a7f2f344b6 100644 --- a/recipes/libmaus2/meta.yaml +++ b/recipes/libmaus2/meta.yaml @@ -32,6 +32,8 @@ requirements: - pkg-config host: - boost-cpp + - libgomp # [linux] + - llvm-openmp # [osx] - libcurl # snappy 1.1.9 introduced a binary incompatible build change (https://github.com/mhx/dwarfs/issues/56#issuecomment-896857211) # enabling -fno-rtti. libmaus needs typeid, which is only available with activated rtti. @@ -44,6 +46,8 @@ requirements: - zlib run: - boost-cpp + - libgomp # [linux] + - llvm-openmp # [osx] - snappy =1.1.8 - staden_io_lib >=1.14.14 @@ -62,3 +66,5 @@ about: extra: additional-platforms: - linux-aarch64 + identifiers: + - biotools:libmaus From 219165feb306e03bfc1f821726bf58b018824701 Mon Sep 17 00:00:00 2001 From: mencian Date: Mon, 18 Nov 2024 01:14:24 -0600 Subject: [PATCH 10/11] clean up recipe --- recipes/libmaus2/build.sh | 3 -- recipes/libmaus2/patch | 72 +++++++++++++++++++++------------------ 2 files changed, 39 insertions(+), 36 deletions(-) diff --git a/recipes/libmaus2/build.sh b/recipes/libmaus2/build.sh index ca3bf9786dcba..7d73807646dd1 100644 --- a/recipes/libmaus2/build.sh +++ b/recipes/libmaus2/build.sh @@ -3,7 +3,6 @@ set -eu export LIBS="-lstdc++fs -lcurl -lz -ldeflate" autoreconf -if -autoupdate ./configure --prefix="${PREFIX}" CXX="${CXX}" CC="${CC}" \ LDFLAGS="${LDFLAGS} -L${PREFIX}/lib" \ CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include" \ @@ -11,7 +10,5 @@ autoupdate --with-libsecrecy --with-nettle \ --with-lzma --with-gmp -cat config.log - make -j"${CPU_COUNT}" make install diff --git a/recipes/libmaus2/patch b/recipes/libmaus2/patch index f66efbfe6c761..1d8376b29a4a1 100644 --- a/recipes/libmaus2/patch +++ b/recipes/libmaus2/patch @@ -127,36 +127,6 @@ index 134ff0f4..b8fcfe88 100644 setHWTReq (p_hwt_req.string()); setHWT (p_hwt.string()); -diff --git a/src/libmaus2/suffixsort/bwtb3m/BwtMergeSortTemplate.hpp b/src/libmaus2/suffixsort/bwtb3m/BwtMergeSortTemplate.hpp -index 1e8e53b9..a91d1916 100644 ---- a/src/libmaus2/suffixsort/bwtb3m/BwtMergeSortTemplate.hpp -+++ b/src/libmaus2/suffixsort/bwtb3m/BwtMergeSortTemplate.hpp -@@ -111,11 +111,11 @@ namespace libmaus2 - // base tmp directory name - std::string tmpdirname; - // tmpdirname as path object -- std::filesystem::path tmppath; -- std::filesystem::path base_tmp_path; -- std::filesystem::path ds_tmp_path_base_ds_tmp; -- std::filesystem::path merge_tmp_path; -- std::filesystem::path ds_tmp_path_merge_ds_tmp; -+ std::experimental::filesystem::path tmppath; -+ std::experimental::filesystem::path base_tmp_path; -+ std::experimental::filesystem::path ds_tmp_path_base_ds_tmp; -+ std::experimental::filesystem::path merge_tmp_path; -+ std::experimental::filesystem::path ds_tmp_path_merge_ds_tmp; - - std::unique_ptr DSbase; - std::unique_ptr DSmerge; -@@ -333,7 +333,7 @@ namespace libmaus2 - return C; - } - -- static std::filesystem::path ensureDirectory(std::filesystem::path path) -+ static std::experimental::filesystem::path ensureDirectory(std::experimental::filesystem::path path) - { - libmaus2::aio::OutputStreamFactoryContainer::mkdirp(path.string(),0700); - return path; diff --git a/src/libmaus2/util/ArgInfo.cpp b/src/libmaus2/util/ArgInfo.cpp index 3802cbb7..8ecd441c 100644 --- a/src/libmaus2/util/ArgInfo.cpp @@ -267,6 +237,42 @@ index 2ff71e4a..0714e612 100644 dictpath /= digest; std::cerr << "[V] writing " << dictpath << " for " << pat.sid << " in " << ref << std::endl; --- -2.33.0 - +diff --git a/src/libmaus2/suffixsort/bwtb3m/BwtMergeSortTemplate.hpp b/src/libmaus2/suffixsort/bwtb3m/BwtMergeSortTemplate.hpp +index 180f466..0b69f74 100644 +--- a/src/libmaus2/suffixsort/bwtb3m/BwtMergeSortTemplate.hpp ++++ b/src/libmaus2/suffixsort/bwtb3m/BwtMergeSortTemplate.hpp +@@ -111,11 +111,11 @@ namespace libmaus2 + // base tmp directory name + std::string tmpdirname; + // tmpdirname as path object +- std::filesystem::path tmppath; +- std::filesystem::path base_tmp_path; +- std::filesystem::path ds_tmp_path_base_ds_tmp; +- std::filesystem::path merge_tmp_path; +- std::filesystem::path ds_tmp_path_merge_ds_tmp; ++ std::experimental::filesystem::path tmppath; ++ std::experimental::filesystem::path base_tmp_path; ++ std::experimental::filesystem::path ds_tmp_path_base_ds_tmp; ++ std::experimental::filesystem::path merge_tmp_path; ++ std::experimental::filesystem::path ds_tmp_path_merge_ds_tmp; + + std::unique_ptr DSbase; + std::unique_ptr DSmerge; +@@ -333,7 +333,7 @@ namespace libmaus2 + return C; + } + +- static std::filesystem::path ensureDirectory(std::filesystem::path path) ++ static std::experimental::filesystem::path ensureDirectory(std::experimental::filesystem::path path) + { + libmaus2::aio::OutputStreamFactoryContainer::mkdirp(path.string(),0700); + return path; +@@ -358,7 +358,7 @@ namespace libmaus2 + preisasamplingrate(std::min(options.maxpreisasamplingrate,blocksizeprevtwo)), + V_boundedlcpblockvalues(new libmaus2::util::AtomicArray(numblocks,0)), + // tmp directory name +- tmpdirname(ensureDirectory(std::filesystem::path(options.tmpfilenamebase + "_tmpdir")).string()), ++ tmpdirname(ensureDirectory(std::experimental::filesystem::path(options.tmpfilenamebase + "_tmpdir")).string()), + // path object for tmp directory name + tmppath(tmpdirname), + base_tmp_path(ensureDirectory(tmppath / "base_tmp")), From dca0f25cbffdb832a0d40e942a8304bd82b4d713 Mon Sep 17 00:00:00 2001 From: mencian Date: Mon, 18 Nov 2024 01:45:55 -0600 Subject: [PATCH 11/11] try large aarch64 machine --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index cf237bd82639b..81ecb0653c316 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,7 +9,7 @@ executors: linux-aarch64: machine: image: ubuntu-2204:current - resource_class: arm.medium + resource_class: arm.large jobs: # a basic unit of work in a run build_and_test: