diff --git a/recipes/muscle/0001-Replace-zero-macro-with-memset_zero.patch b/recipes/muscle/0001-Replace-zero-macro-with-memset_zero.patch deleted file mode 100644 index 95ba295a88c8d..0000000000000 --- a/recipes/muscle/0001-Replace-zero-macro-with-memset_zero.patch +++ /dev/null @@ -1,94 +0,0 @@ -From e2fc2cc23a2acbee4d9c7d0eeae289024432feec Mon Sep 17 00:00:00 2001 -From: Nicola Soranzo -Date: Thu, 10 Feb 2022 01:31:21 +0000 -Subject: [PATCH 1/2] Replace `zero` macro with `memset_zero` - -The `zero` and `memset_zero` macros defined in `myutils.h` are the same, but -`zero` interferes with LLVM's libcxx when compiling on macOS using Clang: - -In file included from addconfseq.cpp:1: -In file included from ./muscle.h:23: -In file included from ./multisequence.h:4: -In file included from ./sequence.h:6: -In file included from /usr/local/miniconda/envs/bioconda/conda-bld/muscle_1644453677064/_build_env/bin/../include/c++/v1/fstream:184: -In file included from /usr/local/miniconda/envs/bioconda/conda-bld/muscle_1644453677064/_build_env/bin/../include/c++/v1/ostream:137: -In file included from /usr/local/miniconda/envs/bioconda/conda-bld/muscle_1644453677064/_build_env/bin/../include/c++/v1/ios:215: -In file included from /usr/local/miniconda/envs/bioconda/conda-bld/muscle_1644453677064/_build_env/bin/../include/c++/v1/__locale:18: -In file included from /usr/local/miniconda/envs/bioconda/conda-bld/muscle_1644453677064/_build_env/bin/../include/c++/v1/mutex:190: -/usr/local/miniconda/envs/bioconda/conda-bld/muscle_1644453677064/_build_env/bin/../include/c++/v1/__mutex_base:447:25: error: too few arguments provided to function-like macro invocation - if (__d <= __d.zero()) - ^ -./myutils.h:361:9: note: macro 'zero' defined here -> #define zero(a, n) memset((a), 0, (n)*sizeof(a[0])) - ^ -1 error generated. -make: *** [Makefile:53: Darwin/addconfseq.o] Error 1 - -This is the call to `zero` in libcxx: - -https://github.com/llvm/llvm-project/blob/b35be6fe98e30b2373e8fdf024ef8c13a32121d7/libcxx/include/__mutex_base#L444 - -which is supposed to call: - -https://en.cppreference.com/w/cpp/chrono/duration/zero ---- - src/countsort.h | 2 +- - src/ensemble.cpp | 2 +- - src/myutils.cpp | 2 +- - src/myutils.h | 1 - - 4 files changed, 3 insertions(+), 4 deletions(-) - -diff --git a/src/countsort.h b/src/countsort.h -index 3f8d3f7..61b76e6 100644 ---- a/src/countsort.h -+++ b/src/countsort.h -@@ -20,7 +20,7 @@ public: - CountSortMem() - { - m_MaxValueCount = 0; -- zero(m_Vecs, NVEC); -+ memset_zero(m_Vecs, NVEC); - } - - void Free() -diff --git a/src/ensemble.cpp b/src/ensemble.cpp -index 7382db2..331f5f7 100644 ---- a/src/ensemble.cpp -+++ b/src/ensemble.cpp -@@ -41,7 +41,7 @@ void Ensemble::SortMSA(MSA &M) - M.GetLabelToSeqIndex(Labels2, LabelToSeqIndex2); - - char **szSeqsSorted = myalloc(char *, SeqCount); -- zero(szSeqsSorted, SeqCount); -+ memset_zero(szSeqsSorted, SeqCount); - for (uint SeqIndex = 0; SeqIndex < SeqCount; ++SeqIndex) - { - const string &Label = Labels2[SeqIndex]; -diff --git a/src/myutils.cpp b/src/myutils.cpp -index 8eca591..9d7d53c 100644 ---- a/src/myutils.cpp -+++ b/src/myutils.cpp -@@ -807,7 +807,7 @@ static char *GetThreadStr() - { - unsigned NewThreadStrCount = ThreadIndex + 4; - char **NewThreadStrs = myalloc(char *, NewThreadStrCount); -- zero(NewThreadStrs, NewThreadStrCount); -+ memset_zero(NewThreadStrs, NewThreadStrCount); - if (g_ThreadStrCount > 0) - memcpy(NewThreadStrs, g_ThreadStrs, g_ThreadStrCount*sizeof(char *)); - g_ThreadStrs = NewThreadStrs; -diff --git a/src/myutils.h b/src/myutils.h -index d242607..49d28ef 100644 ---- a/src/myutils.h -+++ b/src/myutils.h -@@ -358,7 +358,6 @@ inline bool feq(double x, double y) - #define asserteq(x, y) assert(feq(x, y)) - #define assertaeq(x, y) asserta(feq(x, y)) - --#define zero(a, n) memset((a), 0, (n)*sizeof(a[0])) - #define memset_zero(a, n) memset((a), 0, (n)*sizeof(a[0])) - - void ResetRand(unsigned Seed); --- -2.25.1 - diff --git a/recipes/muscle/0002-Move-va_start-va_end-out-of-critical-section.patch b/recipes/muscle/0002-Move-va_start-va_end-out-of-critical-section.patch deleted file mode 100644 index 5f9236c4b0234..0000000000000 --- a/recipes/muscle/0002-Move-va_start-va_end-out-of-critical-section.patch +++ /dev/null @@ -1,57 +0,0 @@ -From 02f38400c37f54d31b9be31aaa25ee11110cb5f6 Mon Sep 17 00:00:00 2001 -From: Nicola Soranzo -Date: Thu, 10 Feb 2022 03:31:26 +0000 -Subject: [PATCH 2/2] Move va_start/va_end out of critical section - -Fix the following error when compiling with Clang++: - -``` -myutils.cpp:912:2: error: 'va_start' cannot be used in a captured statement - va_start(ArgList, Format); - ^ -1 error generated. -make: *** [Makefile:53: Darwin/myutils.o] Error 1 -``` - -Solution inspired by: - -https://github.com/Ultimaker/CuraEngine/pull/1124 ---- - src/myutils.cpp | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/src/myutils.cpp b/src/myutils.cpp -index 9d7d53c..ccc4fa3 100644 ---- a/src/myutils.cpp -+++ b/src/myutils.cpp -@@ -898,6 +898,8 @@ void Log(const char *Format, ...) - - void Die_(const char *Format, ...) - { -+ va_list ArgList; -+ va_start(ArgList, Format); - #pragma omp critical - { - static bool InDie = false; -@@ -908,10 +910,7 @@ void Die_(const char *Format, ...) - - if (g_fLog != 0) - setbuf(g_fLog, 0); -- va_list ArgList; -- va_start(ArgList, Format); - myvstrprintf(Msg, Format, ArgList); -- va_end(ArgList); - - fprintf(stderr, "\n\n"); - Log("\n"); -@@ -944,6 +943,7 @@ void Die_(const char *Format, ...) - - exit(1); - } -+ va_end(ArgList); - } - - void Warning_(const char *Format, ...) --- -2.25.1 - diff --git a/recipes/muscle/meta.yaml b/recipes/muscle/meta.yaml index 6d0cee1af6e6d..16e21de4c8ff2 100644 --- a/recipes/muscle/meta.yaml +++ b/recipes/muscle/meta.yaml @@ -1,19 +1,21 @@ {% set name = "muscle" %} -{% set version = "5.1" %} +{% set version = "5.1.0" %} package: name: {{ name|lower }} version: {{ version }} source: - url: https://github.com/rcedgar/muscle/archive/refs/tags/v{{ version }}.tar.gz - sha256: 091d9f8733b92ff106c2a8eb274d1e5a57960d397a2068d8638d6002e8880dab + url: https://github.com/rcedgar/muscle/archive/refs/tags/{{ version }}.tar.gz + sha256: 2bba8b06e3ccabf6465fa26f459763b2029d7e7b9596881063e3aaba60d9e87d patches: - - 0001-Replace-zero-macro-with-memset_zero.patch - - 0002-Move-va_start-va_end-out-of-critical-section.patch + - support-linux-aarch64.patch build: - number: 3 + number: 0 + run_exports: + - {{ pin_subpackage(name, max_pin="x.x") }} + requirements: build: @@ -31,5 +33,7 @@ about: summary: "MUSCLE: multiple sequence alignment with high accuracy and high throughput" extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:muscle diff --git a/recipes/muscle/support-linux-aarch64.patch b/recipes/muscle/support-linux-aarch64.patch new file mode 100644 index 0000000000000..9308bf3333e2b --- /dev/null +++ b/recipes/muscle/support-linux-aarch64.patch @@ -0,0 +1,13 @@ +diff --git i/src/myutils.h w/src/myutils.h +index 49d28ef..8e8167e 100644 +--- i/src/myutils.h ++++ w/src/myutils.h +@@ -11,7 +11,7 @@ + #define TRACK_ALLOC 0 + #define ALLOC_TOTALS 0 + +-#if defined(__x86_64__) || defined(_M_X64) || defined(__arm64__) ++#if defined(__x86_64__) || defined(_M_X64) || defined(__arm64__) || defined(__aarch64__) + #define BITS 64 + #else + #define BITS 32 diff --git a/recipes/pasta/meta.yaml b/recipes/pasta/meta.yaml index e98629dfcff09..13bcb8af2ee79 100644 --- a/recipes/pasta/meta.yaml +++ b/recipes/pasta/meta.yaml @@ -13,7 +13,7 @@ source: - mpstart.patch # issue in OSX py38 (not in Linux nor OSX py37): RuntimeError: An attempt has been made to start a new process before the current process has finished its bootstrapping phase. build: - number: 0 + number: 1 run_exports: - {{ pin_subpackage('pasta', max_pin="x") }} @@ -45,7 +45,7 @@ requirements: - raxml - muscle <4 # later versions expects other cmd argument names - mafft - - hmmer ==3.1b2 + - hmmer =>3.4 - prank test: @@ -71,6 +71,8 @@ about: summary: 'An implementation of the PASTA (Practical Alignment using Sate and TrAnsitivity) algorithm' extra: + additional-platforms: + - linux-aarch64 skip-lints: # necessary, because pasta is NOT platform independent: # during build time, platform specific binaries for mafft/raxml/muscle/... are copied into the PREFIX/bin dir diff --git a/recipes/sepp/meta.yaml b/recipes/sepp/meta.yaml index 980e754e11f8c..b4a3e6a590d92 100644 --- a/recipes/sepp/meta.yaml +++ b/recipes/sepp/meta.yaml @@ -15,7 +15,7 @@ source: - nodeps.setup.py.patch build: - number: 4 + number: 5 run_exports: - {{ pin_subpackage('sepp', max_pin="x") }} @@ -32,7 +32,7 @@ requirements: - python <=3.9 - dendropy <=4.5.1 - openjdk - - hmmer ==3.1b2 + - hmmer =>3.4 - pasta # TODO: source bundled binaries as conda packages. # But pplacer / guppy are not available for OSX. @@ -54,6 +54,8 @@ about: summary: SATe-enabled phylogenetic placement extra: + additional-platforms: + - linux-aarch64 identifiers: - biotools:sepp skip-lints: