Skip to content

Commit 7f2ef12

Browse files
authored
Update bayescan to v2.1 (#64422)
* Update bayescan to v2.1 * Update build.sh * Update meta.yaml * Update build.sh
1 parent 814baaa commit 7f2ef12

4 files changed

Lines changed: 97 additions & 49 deletions

File tree

Lines changed: 31 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,43 +1,49 @@
1-
--- source/Makefile
2-
+++ source/Makefile
1+
diff --git a/source/Makefile b/source/Makefile
2+
index fde05fc..c5b38c9 100644
3+
--- a/source/Makefile
4+
+++ b/source/Makefile
35
@@ -1,31 +1,31 @@
46
# BayeScan makefile
57

6-
bayescan2: start.o beta.o dirichlet.o RJupdates.o MHupdates.o likelihood.o read_write.o anyoption.o
7-
- g++ -o bayescan2 -static start.o beta.o dirichlet.o RJupdates.o MHupdates.o likelihood.o read_write.o anyoption.o
8-
+ $(CXX) $(LDFLAGS) -o bayescan2 start.o beta.o dirichlet.o RJupdates.o MHupdates.o likelihood.o read_write.o anyoption.o
8+
-bayescan_2.1: start.o beta.o dirichlet.o RJupdates.o MHupdates.o likelihood.o read_write.o anyoption.o
9+
- g++ -fopenmp -static -lpthread -o bayescan_2.1 start.o beta.o dirichlet.o RJupdates.o MHupdates.o likelihood.o read_write.o anyoption.o
10+
+bayescan_2.1: start.o beta.o dirichlet.o RJupdates.o MHupdates.o likelihood.o read_write.o anyoption.o
11+
+ $(CXX) $(CXXFLAGS) -std=c++14 -fopenmp -static -pthread -o bayescan_2.1 start.o beta.o dirichlet.o RJupdates.o MHupdates.o likelihood.o read_write.o anyoption.o
912

1013
start.o: start.cpp errors.cpp anyoption.h global_defs.h
11-
- g++ -c start.cpp errors.cpp
12-
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c start.cpp errors.cpp
14+
- g++ -fopenmp -c start.cpp errors.cpp
15+
+ $(CXX) $(CXXFLAGS) -std=c++14 -fopenmp $(CPPFLAGS) -c start.cpp errors.cpp
1316

1417
beta.o: beta.cpp global_defs.h
15-
- g++ -c beta.cpp
16-
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c beta.cpp
17-
18+
- g++ -fopenmp -c beta.cpp
19+
-
20+
+ $(CXX) $(CXXFLAGS) -std=c++14 -fopenmp $(CPPFLAGS) -c beta.cpp
21+
+
1822
dirichlet.o: dirichlet.cpp global_defs.h
19-
- g++ -c dirichlet.cpp
20-
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c dirichlet.cpp
23+
- g++ -fopenmp -c dirichlet.cpp
24+
+ $(CXX) $(CXXFLAGS) -std=c++14 -fopenmp $(CPPFLAGS) -c dirichlet.cpp
2125

2226
RJupdates.o: RJupdates.cpp global_defs.h
23-
- g++ -c RJupdates.cpp
24-
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c RJupdates.cpp
27+
- g++ -fopenmp -c RJupdates.cpp
28+
+ $(CXX) $(CXXFLAGS) -std=c++14 -fopenmp $(CPPFLAGS) -c RJupdates.cpp
2529

2630
MHupdates.o: MHupdates.cpp global_defs.h
27-
- g++ -c MHupdates.cpp
28-
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c MHupdates.cpp
31+
- g++ -fopenmp -c MHupdates.cpp
32+
+ $(CXX) $(CXXFLAGS) -std=c++14 -fopenmp $(CPPFLAGS) -c MHupdates.cpp
2933

3034
likelihood.o: likelihood.cpp global_defs.h
31-
- g++ -c likelihood.cpp
32-
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c likelihood.cpp
35+
- g++ -fopenmp -c likelihood.cpp
36+
+ $(CXX) $(CXXFLAGS) -std=c++14 -fopenmp $(CPPFLAGS) -c likelihood.cpp
3337

3438
read_write.o: read_write.cpp errors.cpp global_defs.h
35-
- g++ -c read_write.cpp errors.cpp
36-
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c read_write.cpp errors.cpp
39+
- g++ -fopenmp -c read_write.cpp errors.cpp
40+
+ $(CXX) $(CXXFLAGS) -std=c++14 -fopenmp $(CPPFLAGS) -c read_write.cpp errors.cpp
3741

38-
anyoption.o: anyoption.cpp anyoption.h
39-
- g++ -c anyoption.cpp
40-
+ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c anyoption.cpp
42+
-anyoption.o: anyoption.cpp anyoption.h
43+
- g++ -fopenmp -c anyoption.cpp
44+
+anyoption.o: anyoption.cpp anyoption.h
45+
+ $(CXX) $(CXXFLAGS) -std=c++14 -fopenmp $(CPPFLAGS) -c anyoption.cpp
4146

42-
clean:
43-
rm *.o bayescan2
47+
-clean:
48+
+clean:
49+
rm *.o bayescan_2.1

recipes/bayescan/0002-Fix-strcpy-overflow.patch

Lines changed: 0 additions & 8 deletions
This file was deleted.

recipes/bayescan/build.sh

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,34 @@
11
#!/bin/bash
22

3-
cd source
4-
make CXXFLAGS="${CXXFLAGS} -std=c++14"
3+
export CPPFLAGS="${CPPFLAGS} -I${PREFIX}/include"
4+
export LDFLAGS="${LDFLAGS} -L${PREFIX}/lib"
5+
export CXXFLAGS="${CXXFLAGS} -O3"
6+
7+
case $(uname -m) in
8+
aarch64)
9+
export CXXFLAGS="${CXXFLAGS} -march=armv8-a"
10+
;;
11+
arm64)
12+
export CXXFLAGS="${CXXFLAGS} -march=armv8.4-a"
13+
;;
14+
x86_64)
15+
export CXXFLAGS="${CXXFLAGS} -march=x86-64-v3"
16+
;;
17+
esac
18+
519
mkdir -p "${PREFIX}/bin"
6-
cp bayescan2 "${PREFIX}/bin/"
20+
21+
if [[ `uname -s` == "Darwin" ]]; then
22+
sed -i.bak 's|-static||' source/Makefile
23+
fi
24+
25+
sed -i.bak 's|BayeScan 2.0|BayeScan 2.1|' source/start.cpp
26+
sed -i.bak 's|strcpy (long_opt_prefix, _prefix)|strncpy (long_opt_prefix, _prefix, MAX_LONG_PREFIX_LENGTH)|' source/anyoption.cpp
27+
sed -i.bak 's|strcpy( long_opt_prefix , "--" )|strncpy( long_opt_prefix , "--", MAX_LONG_PREFIX_LENGTH )|' source/anyoption.cpp
28+
rm -f source/*.bak
29+
30+
cd source
31+
32+
make CXX="${CXX}" CXXFLAGS="${CXXFLAGS}" -j"${CPU_COUNT}"
33+
34+
install -v -m 0755 bayescan_2.1 "${PREFIX}/bin"

recipes/bayescan/meta.yaml

Lines changed: 35 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,52 @@
1-
package:
2-
name: bayescan
3-
version: 2.0.1
1+
{% set name = "bayescan" %}
2+
{% set version = "2.1" %}
43

5-
build:
6-
number: 7
7-
skip: True # [osx]
4+
package:
5+
name: {{ name }}
6+
version: {{ version }}
87

98
source:
10-
url: http://cmpg.unibe.ch/software/BayeScan/files/BayeScan2.01.zip
11-
sha256: 7859e581e62471b1c33289a89e80ab14b244b97f2d61a2560083ca073a7ef1e9
9+
url: https://cmpg.unibe.ch/software/BayeScan/files/BayeScan{{ version }}.zip
10+
sha256: c6bbc52a5a6a30e895951faf2bd6291ca47fdccdc708e693fce02389548d5547
1211
patches:
1312
- 0001-Use-CXX-and-no-static.patch
14-
- 0002-Fix-strcpy-overflow.patch
13+
14+
build:
15+
number: 0
16+
run_exports:
17+
- {{ pin_subpackage(name, max_pin="x") }}
1518

1619
requirements:
1720
build:
1821
- make
1922
- {{ compiler('cxx') }}
2023
host:
24+
- libgomp # [linux]
25+
- llvm-openmp # [osx]
2126
run:
27+
- libgomp # [linux]
28+
- llvm-openmp # [osx]
2229

2330
test:
2431
commands:
25-
- bayescan2 | grep -qF BayeScan
32+
- bayescan_2.1 | grep -qF BayeScan
2633

2734
about:
28-
home: http://cmpg.unibe.ch/software/BayeScan/
29-
license: GPL
30-
summary: Phylogenetics - Randomized Axelerated Maximum Likelihood.
35+
home: "https://cmpg.unibe.ch/software/BayeScan"
36+
license: "GPL-3.0-or-later"
37+
license_family: GPL3
38+
license_file: source/COPYING
39+
summary: "Phylogenetics - Randomized Axelerated Maximum Likelihood."
40+
doc_url: "https://cmpg.unibe.ch/software/BayeScan/files/BayeScan{{ version }}_manual.pdf"
41+
dev_url: "https://cmpg.unibe.ch/software/BayeScan"
42+
43+
extra:
44+
additional-platforms:
45+
- linux-aarch64
46+
- osx-arm64
47+
identifiers:
48+
- biotools:bayescan
49+
- usegalaxy-eu:BayeScan
50+
- doi:10.1534/genetics.108.092221
51+
skip-lints:
52+
- compiler_needs_stdlib_c

0 commit comments

Comments
 (0)