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: diff --git a/recipes/libmaus2/build.sh b/recipes/libmaus2/build.sh index cdd58fb79e892..7d73807646dd1 100644 --- a/recipes/libmaus2/build.sh +++ b/recipes/libmaus2/build.sh @@ -1,10 +1,14 @@ #!/bin/bash set -eu -export LIBS="-lstdc++fs -lcurl" +export LIBS="-lstdc++fs -lcurl -lz -ldeflate" -./configure --prefix $PREFIX --with-snappy --with-io_lib +autoreconf -if +./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-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..7a7a7f2f344b6 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,47 +10,61 @@ 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 }} - patches: + sha256: {{ sha256 }} + #patches: # Until gcc >=8 is being used - - patch + #- patch requirements: build: - make - {{ compiler('c') }} - {{ compiler('cxx') }} + - autoconf + - automake + - libtool + - 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. # 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 + - zlib run: - boost-cpp - - libcurl + - libgomp # [linux] + - llvm-openmp # [osx] - 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 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 + identifiers: + - biotools:libmaus 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")),