summaryrefslogtreecommitdiff
path: root/sci-biology
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2022-02-02 01:39:05 +0000
committerV3n3RiX <venerix@koprulu.sector>2022-02-02 01:39:05 +0000
commitfcc5224904648a8e6eb528d7603154160a20022f (patch)
tree3bfce096b38a9cea8eed13fc70c1526c456e9abd /sci-biology
parent2fd57282f0262ca084e05b0f2c63fbada395d02b (diff)
gentoo resync : 02.02.2022
Diffstat (limited to 'sci-biology')
-rw-r--r--sci-biology/Manifest.gzbin20808 -> 20809 bytes
-rw-r--r--sci-biology/augustus/Manifest2
-rw-r--r--sci-biology/augustus/augustus-3.4.0-r1.ebuild48
-rw-r--r--sci-biology/mrbayes/Manifest4
-rw-r--r--sci-biology/mrbayes/metadata.xml19
-rw-r--r--sci-biology/mrbayes/mrbayes-3.2.7.ebuild45
-rw-r--r--sci-biology/tree-puzzle/Manifest3
-rw-r--r--sci-biology/tree-puzzle/files/tree-puzzle-5.2-MPI-3.0.patch362
-rw-r--r--sci-biology/tree-puzzle/tree-puzzle-5.2.ebuild25
9 files changed, 485 insertions, 23 deletions
diff --git a/sci-biology/Manifest.gz b/sci-biology/Manifest.gz
index cb256061da9a..04f9efb648be 100644
--- a/sci-biology/Manifest.gz
+++ b/sci-biology/Manifest.gz
Binary files differ
diff --git a/sci-biology/augustus/Manifest b/sci-biology/augustus/Manifest
index f19e66b189b1..a3321dccb4f8 100644
--- a/sci-biology/augustus/Manifest
+++ b/sci-biology/augustus/Manifest
@@ -1,4 +1,6 @@
AUX augustus-2.5.5-sane-build.patch 5271 BLAKE2B 1ba799aa4d9611087f1455f334dc35616979267bb546aa2ab16f6c8d3d528af84373da482840b455d4d0f0374af24cc3010f6925d4a93c0eb7abe524544fd408 SHA512 5afe12b51b8ce27ef32e8e66dd72be451022757228b4c86dec938b26870885bee06712438a22801a42944d2def8ae8bf4a2d7fdb82e12455c145abcd6f0c4aa1
+DIST augustus-3.4.0.tar.gz 221652100 BLAKE2B dfc8c98107f5a955f688f3d2976ca936faf2ef7004095f6b9d7c1902a36ca5d3c9aef59cab1b82b56cd5c2abc7b67195c5030111ed68557d53128814b1bf6bab SHA512 ca1df1016589f55527a883429edd5024cbc32c1b32036c81f9df5e0967a7d194f5b7a82109e924f380627427d9731caa478e63cad8cd804c01521aed76d8c4a6
DIST augustus.2.5.5.tar.gz 70826249 BLAKE2B 3f3f1537c5c614f00298e1835eeb7bbe968987c3e0dee13299e1e26b4abf198d8635a93121b11722d2c90b63ff54cf153c72716d01c3ca033481bb54357b7bcf SHA512 33eb05d5c90200d2fc17026743d3a25e73aa3e217b8546f0bed4c94bcb460597d853377a67896e52e45ead5d736d13ed3b2c91b31fed8216da2920c825e8c20f
EBUILD augustus-2.5.5.ebuild 910 BLAKE2B 5cde42582b4873dbaabe4457a4b7b4f5305b928cbfd7afc3c067cbeb3ea042e82faa56810b4f72078d57f7b0ecd4c96eaa30cfde5ef73d67c26fd05d0035d84e SHA512 03103b4d5cec5dfd46971f1a089d0c02d3cc5ecf7647ee5589e8e297b3f60689c2c763b8c8f2137becfa0e11c0e3c7977186c466085c3065f88eaf5a469bcb9c
+EBUILD augustus-3.4.0-r1.ebuild 958 BLAKE2B f5ef14e9e3d9f954eb5676365fdc9bc7f7f10d48b3b7e862fef66ca411d372259ad125fdc80f5479854b2e8ffda29520f5ae6c733f6fde7872ef7d0580958ea9 SHA512 d74481f445e88696674edf54ebf6ee765b5bca3ad9346021c39cd7308f8f875b96a9875995d537dd9542a57bac12c729a7e63ee60c78f74d6b83a2e5b86a5468
MISC metadata.xml 268 BLAKE2B a4d67334cdad8626d60e46b677ee1c83f569e5e20b3739a7664bb33be1829f8478af35e135bf734a6ff151b8543ea6c4ecafbf822cee8189f7e7096bd9698711 SHA512 59d3d8213b1a219396b74b6f4188c01e1cb4eb1c63e6792ce1e7fdb8000d1a4625919337ff77288ca7f7e07d9753f481d2381a06f554012633cd678194c980de
diff --git a/sci-biology/augustus/augustus-3.4.0-r1.ebuild b/sci-biology/augustus/augustus-3.4.0-r1.ebuild
new file mode 100644
index 000000000000..56c2f49baebc
--- /dev/null
+++ b/sci-biology/augustus/augustus-3.4.0-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_CONFIG_NAME="doxygen.conf"
+inherit docs
+
+DESCRIPTION="Eukaryotic gene predictor"
+HOMEPAGE="https://bioinf.uni-greifswald.de/augustus/"
+SRC_URI="https://github.com/Gaius-Augustus/Augustus/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P^}"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-db/sqlite:3
+ dev-db/mysql++
+ dev-db/mysql-connector-c
+ dev-libs/boost:=
+ sci-biology/bamtools
+ sci-biology/samtools:0
+ sci-libs/gsl
+ sci-libs/htslib
+ sci-libs/suitesparse
+ sci-mathematics/lpsolve
+ sys-libs/zlib
+"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ default
+ docs_compile
+}
+
+src_install() {
+ einstalldocs
+ # from upstream Makefile install:
+ dodir "opt/${P}"
+ cp -a config bin scripts "${ED}/opt/${P}" || die
+ local file
+ for file in bin/*; do
+ dosym "../${P}/${file}" "/opt/${file}"
+ done
+}
diff --git a/sci-biology/mrbayes/Manifest b/sci-biology/mrbayes/Manifest
index 507d61d3e4db..3569573fdd5a 100644
--- a/sci-biology/mrbayes/Manifest
+++ b/sci-biology/mrbayes/Manifest
@@ -1,4 +1,6 @@
AUX mb_readline_312.patch 586 BLAKE2B 6505a8d9fc40c0470264b6e293f2f4e51a5d6b4a73dfeaff747e2f4acd122369d810cdc86ae0d7cead3a3741cfffc02080c07618c2847985553322a1c9bf79b5 SHA512 8427c83ccb98c0b57274914d8f0d0f539ace7dbc475eb10bd586762efa3465b595b91907b55d6809b94e6b9c4f65aa139bc16a7d81b1c76f7623eae46d495aa8
DIST mrbayes-3.1.2.tar.gz 545968 BLAKE2B f4c5bbdde765fb9e596c17d5fd890b168c22cefb0d24b67c1c68623e1dcfa4df716a896fe120f7a1cac4234125b6ed524973506e47492ba3ec26e389783d618a SHA512 2fb0ee7224cbb69c1acf2ffb0c6c8974f63002cda4f39a626eadf80fad9cfc23861f8c03f5545970f3a81e02093d62b6a0549ab7d7f7080557e91e21b2c3ee14
+DIST mrbayes-3.2.7.tar.gz 9787214 BLAKE2B 2d0ebbc376712e15fc1ed146053d977ad1af96f44c31b8fd0fdbd47ef9bafc41cbb8904db94bc8d30c753c0267a1dcce0d08c73d8b35c20e0f15206bc8fef6ff SHA512 4dc869cd07cf384b3a3945ac8d91a7cc2982e8c5cd8d1f097b46a479a071cb71e71c60e152aa4fc01b0bb296295c5fa9f5a48aa8e913b920c33e30cbb3a6ed37
EBUILD mrbayes-3.1.2-r2.ebuild 1346 BLAKE2B 282f7f2bf6abb8370b5a007a8e680009f3f5e8e839d7817a1cb3b83e515b2909d5a9c7aa3eae6355ab59c4e1e2e4b9a7f8694076d50b019232fa367cd93df231 SHA512 60541b7af0243c4263d302d69ea38c6f1fcee96739eba121a48bf42e2b46f210efa971d65d0d517ed6b383fb6ce337008b13655c4f52e2783d456a04b43b9eb7
-MISC metadata.xml 917 BLAKE2B b4eb74008ced11d00c41b3262ace2a00439e6b8b91abeeb9539d4237d4cfab92bc07bcf8b979e2407e58714e38004acdc3714ee9c01b849f855a7ad023286521 SHA512 03fec6e855e5d22c653b2f04fb128f0286cafbad83ca3793bf4e7c79df769c7a3234ed964be25e884c5f1a1c278174ce041343c97dd818a650020cc350ee8012
+EBUILD mrbayes-3.2.7.ebuild 1533 BLAKE2B 6c5039d1cd8622700e1ccfcc94123bbf02561e4845394b4548eb137f74313b03c76c728089d65561c547197b5cfa3661f1e265d6b1a9acc4ff86db9196dfd2b7 SHA512 11c760fcc89c0585b3bc1f2cd8a71fba42c76180da7373c819b30d7d0cf46baad167bb065f096c1d7ad3df1f4b2dd87f6c75116a2cbf7d4eb1474ba395bb49ab
+MISC metadata.xml 964 BLAKE2B 6530733a29250579b0981a2712a8878094f1b347951d8c565449d46e1dcfd28459b9cfbc82d4cd6e79ee2e06d275673227c068a1b57bea3edec024dbbf3895bd SHA512 e5f7e98b69c437e3ffe18ca05d2dbefa1aaeee6b630e481b346576d46edd35784f174953b4616f7463d561bb8dae962288c9f9180967fc845c43bf29525aa47a
diff --git a/sci-biology/mrbayes/metadata.xml b/sci-biology/mrbayes/metadata.xml
index 348542381e73..2fbcd4fa4f98 100644
--- a/sci-biology/mrbayes/metadata.xml
+++ b/sci-biology/mrbayes/metadata.xml
@@ -1,11 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>sci-biology@gentoo.org</email>
- <name>Gentoo Biology Project</name>
- </maintainer>
- <longdescription>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription>
MrBayes is a program for the Bayesian estimation of phylogeny.
Bayesian inference of phylogeny is based upon a quantity called the
posterior probability distribution of trees, which is the probability of a
@@ -14,8 +14,9 @@ Bayes's theorem. The posterior probability distribution of trees is
impossible to calculate analytically; instead, MrBayes uses a simulation
technique called Markov chain Monte Carlo (or MCMC) to approximate the
posterior probabilities of trees.
-</longdescription>
- <upstream>
- <remote-id type="sourceforge">mrbayes</remote-id>
- </upstream>
+ </longdescription>
+ <upstream>
+ <remote-id type="sourceforge">mrbayes</remote-id>
+ <remote-id type="github">NBISweden/MrBayes</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/sci-biology/mrbayes/mrbayes-3.2.7.ebuild b/sci-biology/mrbayes/mrbayes-3.2.7.ebuild
new file mode 100644
index 000000000000..ad87554eb31e
--- /dev/null
+++ b/sci-biology/mrbayes/mrbayes-3.2.7.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Bayesian Inference of Phylogeny"
+HOMEPAGE="https://nbisweden.github.io/MrBayes/"
+SRC_URI="https://github.com/NBISweden/MrBayes/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~sparc-solaris"
+IUSE="debug mpi readline"
+# --with-readline was given, but MPI support requires readline to be disabled.
+REQUIRED_USE="mpi? ( !readline )"
+
+DEPEND="
+ sys-libs/ncurses:=
+ mpi? ( virtual/mpi )
+ readline? ( sys-libs/readline:= )
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf \
+ "$(use_with mpi)" \
+ "$(use_with readline)" \
+ "$(use_enable debug )" \
+ # configure checks cpuid and enables fma{3,4}, sse{1..4} if detected.
+ # Configure options only allow disabling the auto-detection, but do not
+ # actually allow toggling the individual cpu instruction sets. The only
+ # way to guarantee that cross-compiling and binpkgs will work on machines
+ # other than the host is to unconditionally disable sse/fma/avx.
+ #"$(use_enable cpu_flags_x86_sse sse )" \
+ #"$(use_enable cpu_flags_x86_avx avx )" \
+ #"$(use_enable cpu_flags_x86_fma3 fma )" \
+ # Has optional support for sci-biology/beagle::science
+ # "$(use_with beagle)"
+}
+
+src_compile() {
+ # The --disable options for the cpu instruction sets don't actually work so
+ # we override it here and also set the user specified CFLAGS.
+ emake SIMD_FLAGS= CPUEXT_FLAGS= CFLAGS="${CFLAGS}"
+}
diff --git a/sci-biology/tree-puzzle/Manifest b/sci-biology/tree-puzzle/Manifest
index 4b698c6a885b..95db460be96a 100644
--- a/sci-biology/tree-puzzle/Manifest
+++ b/sci-biology/tree-puzzle/Manifest
@@ -1,4 +1,5 @@
+AUX tree-puzzle-5.2-MPI-3.0.patch 15029 BLAKE2B 368eb7e3d209515a94f1049da80ebf9f14824e44e8c0b1996ba9c5ac7bfd58c167c01582bbc0d058a57d9797d844ad32e8bf45ce921a13c6e217d7728564a4d7 SHA512 576ed6c4a96225d55a1def0c4912cf908d0225d9ad9f9e0974a98f24d8bce172406a11202b9656c23661f6bb27b51a0b4e3bf95634b3c11aa10c20cd9d68e648
AUX tree-puzzle-impl-dec.patch 380 BLAKE2B 22c00e2e0b4682a98212ec0b6e941ac37eff4cdeb8f684dc607e80a1617a35e209d23ac739af0e69af91deb8122fe04c3f9e7bdbd0c54edd8e603a817bdf0848 SHA512 092743fff8a305a41ef55afde3e058c1892d9c608bd05cb87de38a451c2b9cafc7749825347d5c245f1c6b1e84cf9d28b63bd4e7389440da5604766412290110
DIST tree-puzzle-5.2.tar.gz 875142 BLAKE2B aa13e9a7aa403c12aebefb94a1931baa8b17cbee56d20011cb06db5a7b1b7f78c719ed6c6bfb0b79e47dc652d7b984415694907fc6cd56bdbe9eebca4aaa96a8 SHA512 5b9a729b120cba59f59ba426acd439cf396826ea01e75361b23387ccb9baf295d2512f21af96071a5f7b7507db4ff4d6b135cf6c5b6233a8b438532d31abe751
-EBUILD tree-puzzle-5.2.ebuild 1290 BLAKE2B e02eee43fabed81ca8d164630aa720365eb1cdab5660b878a750138b4dbdda42e3d04da4b0f3f404b45852e26c5ec56f005aa54cedfdf63d4e98718b2f0be145 SHA512 fa04a780ca5680424507123a007856fd442245812b03621efb29215bb8b651d19d5874904a6f4791d446f95f97cee676c2ac33554d4b893ed7068e3ecb70eb1e
+EBUILD tree-puzzle-5.2.ebuild 1122 BLAKE2B 98582441713aa9afc4bdb69311f219588954046e759a680c936ef2174ef3b0e6ec572feab87aaf3f1cd9bb02db497a5df19a4bef0a096c961fc3f8e3b579a8f5 SHA512 7db6341bc1a12a2278fbcca1a8ca5080249c6453c497c6493923b295a971f168eeb2e1c8796444ae23872e362347151366c3243f8c786e9bf7a6ede48832af4f
MISC metadata.xml 1556 BLAKE2B 1f8b1d4719d156e9a9783adce70d8f4c0c17a7c855e5590bc796e16062066883a27f780946edaffdc04eb6f640ac7e81d71b075ebc5ed9759c2a5d4da20ac46e SHA512 07bd436f7616301172b07fefd72390a46778098baa3e9db949169850a60cd40e27a0e58dcafe5689923bc1e7cebb4e317a291f5caf2750651b76c447f5799215
diff --git a/sci-biology/tree-puzzle/files/tree-puzzle-5.2-MPI-3.0.patch b/sci-biology/tree-puzzle/files/tree-puzzle-5.2-MPI-3.0.patch
new file mode 100644
index 000000000000..66e3e6482338
--- /dev/null
+++ b/sci-biology/tree-puzzle/files/tree-puzzle-5.2-MPI-3.0.patch
@@ -0,0 +1,362 @@
+https://bugs.gentoo.org/690900
+rename MPI 1.0 to 3.0+ functions:
+- MPI_Address -> MPI_Get_address
+- MPI_Type_struct -> MPI_Type_create_struct
+
+--- a/src/ppuzzle.c
++++ b/src/ppuzzle.c
+@@ -297,13 +297,13 @@
+ else MPI_Recv(&dummy, 0, MPI_INT, PP_MyMaster, PP_UPDATEEEI, PP_Comm, &stat);
+
+ Dtypes[0] = MPI_DOUBLE; Dtypelens[0] = tpmradix;
+- MPI_Address(&(Eval[0]), &(Dtypeaddr[0]));
++ MPI_Get_address(&(Eval[0]), &(Dtypeaddr[0]));
+ Dtypes[1] = MPI_DOUBLE; Dtypelens[1] = tpmradix * tpmradix;
+- MPI_Address(&(Evec[0][0]), &(Dtypeaddr[1]));
++ MPI_Get_address(&(Evec[0][0]), &(Dtypeaddr[1]));
+ Dtypes[2] = MPI_DOUBLE; Dtypelens[2] = tpmradix * tpmradix;
+- MPI_Address(&(Ievc[0][0]), &(Dtypeaddr[2]));
++ MPI_Get_address(&(Ievc[0][0]), &(Dtypeaddr[2]));
+
+- MPI_Type_struct(3, Dtypelens, Dtypeaddr, Dtypes, &PP_Data);
++ MPI_Type_create_struct(3, Dtypelens, Dtypeaddr, Dtypes, &PP_Data);
+ MPI_Type_commit(&PP_Data);
+
+ MPI_Bcast (MPI_BOTTOM, 1, PP_Data, PP_MyMaster, PP_Comm);
+@@ -341,19 +341,19 @@
+ double* DMVector = new_dvector(jobs);
+
+ Dtypes[0] = MPI_DOUBLE; Dtypelens[0] = jobs;
+- MPI_Address(&(DMVector[0]), &(Dtypeaddr[0]));
++ MPI_Get_address(&(DMVector[0]), &(Dtypeaddr[0]));
+ Dtypes[1] = MPI_DOUBLE; Dtypelens[1] = numcats;
+- MPI_Address(&(Rates[0]), &(Dtypeaddr[1]));
++ MPI_Get_address(&(Rates[0]), &(Dtypeaddr[1]));
+ Dtypes[2] = MPI_DOUBLE; Dtypelens[2] = 1;
+- MPI_Address(&(fracinv), &(Dtypeaddr[2]));
++ MPI_Get_address(&(fracinv), &(Dtypeaddr[2]));
+ Dtypes[3] = MPI_DOUBLE; Dtypelens[3] = tpmradix;
+- MPI_Address(&(Eval[0]), &(Dtypeaddr[3]));
++ MPI_Get_address(&(Eval[0]), &(Dtypeaddr[3]));
+ Dtypes[4] = MPI_DOUBLE; Dtypelens[4] = tpmradix * tpmradix;
+- MPI_Address(&(Evec[0][0]), &(Dtypeaddr[4]));
++ MPI_Get_address(&(Evec[0][0]), &(Dtypeaddr[4]));
+ Dtypes[5] = MPI_DOUBLE; Dtypelens[5] = tpmradix * tpmradix;
+- MPI_Address(&(Ievc[0][0]), &(Dtypeaddr[5]));
++ MPI_Get_address(&(Ievc[0][0]), &(Dtypeaddr[5]));
+
+- MPI_Type_struct(6, Dtypelens, Dtypeaddr, Dtypes, &PP_Data);
++ MPI_Type_create_struct(6, Dtypelens, Dtypeaddr, Dtypes, &PP_Data);
+ MPI_Type_commit(&PP_Data);
+
+ if (PP_IamMaster) {
+@@ -719,10 +719,10 @@
+ #endif
+ doubles[0] = frconst;
+
+- MPI_Address(ints, Dtypeaddr);
+- MPI_Address(doubles, (Dtypeaddr+1));
++ MPI_Get_address(ints, Dtypeaddr);
++ MPI_Get_address(doubles, (Dtypeaddr+1));
+
+- MPI_Type_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Sizes);
++ MPI_Type_create_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Sizes);
+ MPI_Type_commit(&PP_Sizes);
+
+ for (dest=1; dest<PP_NumProcs; dest++) {
+@@ -797,10 +797,10 @@
+ fprintf(STDOUT, "(%2d) Receiving Sizes ...\n", PP_Myid);
+ # endif /* PVERBOSE3 */
+
+- MPI_Address(ints, Dtypeaddr);
+- MPI_Address(doubles, (Dtypeaddr+1));
++ MPI_Get_address(ints, Dtypeaddr);
++ MPI_Get_address(doubles, (Dtypeaddr+1));
+
+- MPI_Type_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Sizes);
++ MPI_Type_create_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Sizes);
+ MPI_Type_commit(&PP_Sizes);
+
+ error = MPI_Probe(PP_MyMaster, MPI_ANY_TAG, PP_Comm, &stat);
+@@ -889,31 +889,31 @@
+ # endif /* PVERBOSE2 */
+
+ Dtypes [0] = MPI_CHAR; Dtypelens [0] = Maxspc * Numptrn;
+- MPI_Address(&(Seqpat[0][0]), &(Dtypeaddr[0]));
++ MPI_Get_address(&(Seqpat[0][0]), &(Dtypeaddr[0]));
+ Dtypes [1] = MPI_INT; Dtypelens [1] = Maxsite ;
+- MPI_Address(&(Alias[0]), &(Dtypeaddr[1]));
++ MPI_Get_address(&(Alias[0]), &(Dtypeaddr[1]));
+ Dtypes [2] = MPI_INT; Dtypelens [2] = Numptrn ;
+- MPI_Address(&(Weight[0]), &(Dtypeaddr[2]));
++ MPI_Get_address(&(Weight[0]), &(Dtypeaddr[2]));
+ Dtypes [3] = MPI_INT; Dtypelens [3] = Numptrn ;
+- MPI_Address(&(constpat[0]), &(Dtypeaddr[3]));
++ MPI_Get_address(&(constpat[0]), &(Dtypeaddr[3]));
+ Dtypes [4] = MPI_DOUBLE; Dtypelens [4] = numcats ;
+- MPI_Address(&(Rates[0]), &(Dtypeaddr[4]));
++ MPI_Get_address(&(Rates[0]), &(Dtypeaddr[4]));
+ Dtypes [5] = MPI_DOUBLE; Dtypelens [5] = tpmradix ;
+- MPI_Address(&(Eval[0]), &(Dtypeaddr[5]));
++ MPI_Get_address(&(Eval[0]), &(Dtypeaddr[5]));
+ Dtypes [6] = MPI_DOUBLE; Dtypelens [6] = tpmradix ;
+- MPI_Address(&(Freqtpm[0]), &(Dtypeaddr[6]));
++ MPI_Get_address(&(Freqtpm[0]), &(Dtypeaddr[6]));
+ Dtypes [7] = MPI_DOUBLE; Dtypelens [7] = tpmradix * tpmradix ;
+- MPI_Address(&(Evec[0][0]), &(Dtypeaddr[7]));
++ MPI_Get_address(&(Evec[0][0]), &(Dtypeaddr[7]));
+ Dtypes [8] = MPI_DOUBLE; Dtypelens [8] = tpmradix * tpmradix ;
+- MPI_Address(&(Ievc[0][0]), &(Dtypeaddr[8]));
++ MPI_Get_address(&(Ievc[0][0]), &(Dtypeaddr[8]));
+ Dtypes [9] = MPI_DOUBLE; Dtypelens [9] = tpmradix * tpmradix ;
+- MPI_Address(&(iexp[0][0]), &(Dtypeaddr[9]));
++ MPI_Get_address(&(iexp[0][0]), &(Dtypeaddr[9]));
+ Dtypes [10] = MPI_DOUBLE; Dtypelens [10] = Maxspc * Maxspc ;
+- MPI_Address(&(Distanmat[0][0]), &(Dtypeaddr[10]));
++ MPI_Get_address(&(Distanmat[0][0]), &(Dtypeaddr[10]));
+ Dtypes [11] = MPI_DOUBLE; Dtypelens [11] = numcats * tpmradix * tpmradix ;
+- MPI_Address(&(ltprobr[0][0][0]), &(Dtypeaddr[11]));
++ MPI_Get_address(&(ltprobr[0][0][0]), &(Dtypeaddr[11]));
+
+- MPI_Type_struct(12, Dtypelens, Dtypeaddr, Dtypes, &PP_Data);
++ MPI_Type_create_struct(12, Dtypelens, Dtypeaddr, Dtypes, &PP_Data);
+ MPI_Type_commit(&PP_Data);
+
+
+@@ -984,31 +984,31 @@
+ # endif /* PVERBOSE2 */
+
+ Dtypes [0] = MPI_CHAR; Dtypelens [0] = Maxspc * Numptrn;
+- MPI_Address(&(Seqpat[0][0]), &(Dtypeaddr[0]));
++ MPI_Get_address(&(Seqpat[0][0]), &(Dtypeaddr[0]));
+ Dtypes [1] = MPI_INT; Dtypelens [1] = Maxsite ;
+- MPI_Address(&(Alias[0]), &(Dtypeaddr[1]));
++ MPI_Get_address(&(Alias[0]), &(Dtypeaddr[1]));
+ Dtypes [2] = MPI_INT; Dtypelens [2] = Numptrn ;
+- MPI_Address(&(Weight[0]), &(Dtypeaddr[2]));
++ MPI_Get_address(&(Weight[0]), &(Dtypeaddr[2]));
+ Dtypes [3] = MPI_INT; Dtypelens [3] = Numptrn ;
+- MPI_Address(&(constpat[0]), &(Dtypeaddr[3]));
++ MPI_Get_address(&(constpat[0]), &(Dtypeaddr[3]));
+ Dtypes [4] = MPI_DOUBLE; Dtypelens [4] = numcats ;
+- MPI_Address(&(Rates[0]), &(Dtypeaddr[4]));
++ MPI_Get_address(&(Rates[0]), &(Dtypeaddr[4]));
+ Dtypes [5] = MPI_DOUBLE; Dtypelens [5] = tpmradix ;
+- MPI_Address(&(Eval[0]), &(Dtypeaddr[5]));
++ MPI_Get_address(&(Eval[0]), &(Dtypeaddr[5]));
+ Dtypes [6] = MPI_DOUBLE; Dtypelens [6] = tpmradix ;
+- MPI_Address(&(Freqtpm[0]), &(Dtypeaddr[6]));
++ MPI_Get_address(&(Freqtpm[0]), &(Dtypeaddr[6]));
+ Dtypes [7] = MPI_DOUBLE; Dtypelens [7] = tpmradix * tpmradix ;
+- MPI_Address(&(Evec[0][0]), &(Dtypeaddr[7]));
++ MPI_Get_address(&(Evec[0][0]), &(Dtypeaddr[7]));
+ Dtypes [8] = MPI_DOUBLE; Dtypelens [8] = tpmradix * tpmradix ;
+- MPI_Address(&(Ievc[0][0]), &(Dtypeaddr[8]));
++ MPI_Get_address(&(Ievc[0][0]), &(Dtypeaddr[8]));
+ Dtypes [9] = MPI_DOUBLE; Dtypelens [9] = tpmradix * tpmradix ;
+- MPI_Address(&(iexp[0][0]), &(Dtypeaddr [9]));
++ MPI_Get_address(&(iexp[0][0]), &(Dtypeaddr [9]));
+ Dtypes [10] = MPI_DOUBLE; Dtypelens [10] = Maxspc * Maxspc ;
+- MPI_Address(&(Distanmat[0][0]), &(Dtypeaddr[10]));
++ MPI_Get_address(&(Distanmat[0][0]), &(Dtypeaddr[10]));
+ Dtypes [11] = MPI_DOUBLE; Dtypelens [11] = numcats * tpmradix * tpmradix ;
+- MPI_Address(&(ltprobr[0][0][0]), &(Dtypeaddr[11]));
++ MPI_Get_address(&(ltprobr[0][0][0]), &(Dtypeaddr[11]));
+
+- MPI_Type_struct(12, Dtypelens, Dtypeaddr, Dtypes, &PP_Data);
++ MPI_Type_create_struct(12, Dtypelens, Dtypeaddr, Dtypes, &PP_Data);
+ MPI_Type_commit(&PP_Data);
+
+ for (dest=1; dest<PP_NumProcs; dest++) {
+@@ -1150,10 +1150,10 @@
+ ints[4] = usebestq;
+ ints[5] = approx;
+
+- MPI_Address(ints, Dtypeaddr);
+- MPI_Address(doubles, (Dtypeaddr+1));
++ MPI_Get_address(ints, Dtypeaddr);
++ MPI_Get_address(doubles, (Dtypeaddr+1));
+
+- MPI_Type_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Quart);
++ MPI_Type_create_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Quart);
+ MPI_Type_commit(&PP_Quart);
+
+ # ifdef PVERBOSE2
+@@ -1201,10 +1201,10 @@
+
+ PP_quartrecved++;
+ PP_quartrecvedn++;
+- MPI_Address(ints, Dtypeaddr);
+- MPI_Address(doubles, (Dtypeaddr+1));
++ MPI_Get_address(ints, Dtypeaddr);
++ MPI_Get_address(doubles, (Dtypeaddr+1));
+
+- MPI_Type_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Quart);
++ MPI_Type_create_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Quart);
+ MPI_Type_commit(&PP_Quart);
+
+ error = MPI_Recv(MPI_BOTTOM, 1, PP_Quart, MPI_ANY_SOURCE, PP_QUART, PP_Comm, &stat);
+@@ -1368,10 +1368,10 @@
+ ulis[5] = fullresqs; /* number of fully resolved quartets */
+ ulis[6] = missingqs; /* number of missing quartets */
+
+- MPI_Address(ulis, Dtypeaddr);
+- MPI_Address(ints, (Dtypeaddr+1));
++ MPI_Get_address(ulis, Dtypeaddr);
++ MPI_Get_address(ints, (Dtypeaddr+1));
+
+- MPI_Type_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_QBlockSpecs);
++ MPI_Type_create_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_QBlockSpecs);
+ MPI_Type_commit(&PP_QBlockSpecs);
+
+ # ifdef PVERBOSE2
+@@ -1384,12 +1384,12 @@
+ fprintf(STDOUT, "(%2d) ... Sent QuartBlockSpecs (%ld, %ld, %ld, %d)\n", PP_Myid, ulis[0], ulis[1], ulis[2], ints[0]);
+ # endif /* PVERBOSE3 */
+
+- MPI_Address(trueaddr, DtypeaddrRes);
++ MPI_Get_address(trueaddr, DtypeaddrRes);
+ DtypelensRes[0] = truenum;
+
+- MPI_Address(bq, (DtypeaddrRes + 1));
++ MPI_Get_address(bq, (DtypeaddrRes + 1));
+ DtypelensRes[1] = numofbq;
+- MPI_Type_struct(2, DtypelensRes, DtypeaddrRes, DtypesRes, &PP_QBlockRes);
++ MPI_Type_create_struct(2, DtypelensRes, DtypeaddrRes, DtypesRes, &PP_QBlockRes);
+ MPI_Type_commit(&PP_QBlockRes);
+
+ error = MPI_Ssend(MPI_BOTTOM, 1, PP_QBlockRes, PP_MyMaster, PP_QUARTBLOCK, PP_Comm);
+@@ -1455,10 +1455,10 @@
+ # ifdef PVERBOSE3
+ fprintf(STDOUT, "(%2d) Receiving QuartBlock ...\n", PP_Myid);
+ # endif /* PVERBOSE3 */
+- MPI_Address(ulis, Dtypeaddr);
+- MPI_Address(ints, (Dtypeaddr+1));
++ MPI_Get_address(ulis, Dtypeaddr);
++ MPI_Get_address(ints, (Dtypeaddr+1));
+
+- MPI_Type_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_QBlockSpecs);
++ MPI_Type_create_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_QBlockSpecs);
+ MPI_Type_commit(&PP_QBlockSpecs);
+
+ MPI_Probe(MPI_ANY_SOURCE, PP_QUARTBLOCKSPECS, PP_Comm, &stat);
+@@ -1486,13 +1486,13 @@
+ # endif /* PVERBOSE3 */
+
+ DtypelensRes[0] = truenum;
+- MPI_Address(trueaddr, DtypeaddrRes);
++ MPI_Get_address(trueaddr, DtypeaddrRes);
+
+ bq = calloc((size_t) *numofbq, sizeof(uli));
+
+ DtypelensRes[1] = *numofbq;
+- MPI_Address(bq, (DtypeaddrRes+1));
+- MPI_Type_struct(2, DtypelensRes, DtypeaddrRes, DtypesRes, &PP_QBlockRes);
++ MPI_Get_address(bq, (DtypeaddrRes+1));
++ MPI_Type_create_struct(2, DtypelensRes, DtypeaddrRes, DtypesRes, &PP_QBlockRes);
+ MPI_Type_commit(&PP_QBlockRes);
+
+ error = MPI_Recv(MPI_BOTTOM, 1, PP_QBlockRes, dest, PP_QUARTBLOCK, PP_Comm, &stat);
+@@ -1637,8 +1637,8 @@
+ Dtypelens[0] = (Numquartets + 1)/2;
+ }
+
+- MPI_Address(&(quartetinfo[0]), Dtypeaddr);
+- MPI_Type_struct(1, Dtypelens, Dtypeaddr, Dtypes, &PP_AllQuarts);
++ MPI_Get_address(&(quartetinfo[0]), Dtypeaddr);
++ MPI_Type_create_struct(1, Dtypelens, Dtypeaddr, Dtypes, &PP_AllQuarts);
+ MPI_Type_commit(&PP_AllQuarts);
+
+ for (dest=1; dest<PP_NumProcs; dest++) {
+@@ -1686,8 +1686,8 @@
+ Dtypelens[0] = (*Numquartets + 1)/2;
+ }
+
+- MPI_Address(&(quartetinfo[0]), Dtypeaddr);
+- MPI_Type_struct(1, Dtypelens, Dtypeaddr, Dtypes, &PP_AllQuarts);
++ MPI_Get_address(&(quartetinfo[0]), Dtypeaddr);
++ MPI_Type_create_struct(1, Dtypelens, Dtypeaddr, Dtypes, &PP_AllQuarts);
+ MPI_Type_commit(&PP_AllQuarts);
+
+ error = MPI_Recv(MPI_BOTTOM, 1, PP_AllQuarts, PP_MyMaster, PP_ALLQUARTS, PP_Comm, &stat);
+@@ -1748,13 +1748,13 @@
+ for (n=0; n<(int)blocksize; n++) {
+ Dtypes[n] = MPI_CHAR;
+ Dtypelens[n] = (taxa - 3) * taxa;
+- MPI_Address(&(biparts[n][0][0]), &(Dtypeaddr[n]));
++ MPI_Get_address(&(biparts[n][0][0]), &(Dtypeaddr[n]));
+ }
+ pstptr = pstlist;
+ for (n=0; n<pstnum; n++) {
+ Dtypes[(int)blocksize + n] = MPI_CHAR;
+ Dtypelens[(int)blocksize + n] = psteptreestrlen;
+- MPI_Address((*pstptr).tree, &(Dtypeaddr[(int)blocksize + n]));
++ MPI_Get_address((*pstptr).tree, &(Dtypeaddr[(int)blocksize + n]));
+ pstnumarr[n] = (*pstptr).count;
+ # ifdef PVERBOSE3
+ fprintf(STDOUT, "(%2d) Sent tree item ->%d: [%d/%d] #=%d \"%s\"\n",
+@@ -1764,9 +1764,9 @@
+ }
+ Dtypes[((int)blocksize + pstnum)] = MPI_INT;
+ Dtypelens[((int)blocksize + pstnum)] = pstnum;
+- MPI_Address(&(pstnumarr[0]), &(Dtypeaddr[((int)blocksize + pstnum)]));
++ MPI_Get_address(&(pstnumarr[0]), &(Dtypeaddr[((int)blocksize + pstnum)]));
+
+- MPI_Type_struct(((int)blocksize + pstnum + 1), Dtypelens, Dtypeaddr, Dtypes, &PP_Biparts);
++ MPI_Type_create_struct(((int)blocksize + pstnum + 1), Dtypelens, Dtypeaddr, Dtypes, &PP_Biparts);
+ MPI_Type_commit(&PP_Biparts);
+
+ error = MPI_Ssend(MPI_BOTTOM, 1, PP_Biparts, PP_MyMaster, PP_PUZZLEBLOCK, PP_Comm);
+@@ -1843,20 +1843,20 @@
+ (*bip)[n] = new_cmatrix(*taxa - 3, *taxa);
+ Dtypes[n] = MPI_CHAR;
+ Dtypelens[n] = (*taxa - 3) * *taxa;
+- MPI_Address(&((*bip)[n][0][0]), &(Dtypeaddr[n]));
++ MPI_Get_address(&((*bip)[n][0][0]), &(Dtypeaddr[n]));
+ }
+ for (n=0; n<pstlistnum; n++) {
+ pstarr[n] = (char *)calloc((size_t) psteptreestrlen, sizeof(char));
+ Dtypes[(int)*blocksize + n] = MPI_CHAR;
+ Dtypelens[(int)*blocksize + n] = psteptreestrlen;
+- MPI_Address(&(pstarr[n][0]), &(Dtypeaddr[(int)*blocksize + n]));
++ MPI_Get_address(&(pstarr[n][0]), &(Dtypeaddr[(int)*blocksize + n]));
+ }
+
+ Dtypes[(int)*blocksize + pstlistnum] = MPI_INT;
+ Dtypelens[(int)*blocksize + pstlistnum] = pstlistnum;
+- MPI_Address(&(pstnumarr[0]), &(Dtypeaddr[(int)*blocksize + pstlistnum]));
++ MPI_Get_address(&(pstnumarr[0]), &(Dtypeaddr[(int)*blocksize + pstlistnum]));
+
+- MPI_Type_struct(((int)*blocksize + pstlistnum + 1), Dtypelens, Dtypeaddr, Dtypes, &PP_Biparts);
++ MPI_Type_create_struct(((int)*blocksize + pstlistnum + 1), Dtypelens, Dtypeaddr, Dtypes, &PP_Biparts);
+ MPI_Type_commit(&PP_Biparts);
+
+ error = MPI_Recv(MPI_BOTTOM, 1, PP_Biparts, dest, PP_PUZZLEBLOCK, PP_Comm, &stat);
+@@ -2053,10 +2053,10 @@
+ fprintf(STDOUT, "(%2d) ... Sent DONE Signal\n", PP_Myid);
+ # endif /* PVERBOSE3 */
+
+- MPI_Address(ints, Dtypeaddr);
+- MPI_Address(doubles, (Dtypeaddr+1));
++ MPI_Get_address(ints, Dtypeaddr);
++ MPI_Get_address(doubles, (Dtypeaddr+1));
+
+- MPI_Type_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Stats);
++ MPI_Type_create_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Stats);
+ MPI_Type_commit(&PP_Stats);
+
+ doquartrecved[0] = 0;
+@@ -2173,10 +2173,10 @@
+ doubles[4] = tarr.cpu;
+ doubles[5] = tarr.time;
+
+- MPI_Address(ints, Dtypeaddr);
+- MPI_Address(doubles, (Dtypeaddr+1));
++ MPI_Get_address(ints, Dtypeaddr);
++ MPI_Get_address(doubles, (Dtypeaddr+1));
+
+- MPI_Type_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Stats);
++ MPI_Type_create_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Stats);
+ MPI_Type_commit(&PP_Stats);
+
+ error = MPI_Ssend(MPI_BOTTOM, 1, PP_Stats, PP_MyMaster, PP_STATS, PP_Comm);
diff --git a/sci-biology/tree-puzzle/tree-puzzle-5.2.ebuild b/sci-biology/tree-puzzle/tree-puzzle-5.2.ebuild
index 8e2a07f8183e..06fc28376ff5 100644
--- a/sci-biology/tree-puzzle/tree-puzzle-5.2.ebuild
+++ b/sci-biology/tree-puzzle/tree-puzzle-5.2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2019 Gentoo Authors
+# Copyright 1999-2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
inherit toolchain-funcs
@@ -18,14 +18,10 @@ RESTRICT="test"
DEPEND="mpi? ( virtual/mpi )"
RDEPEND="${DEPEND}"
-PATCHES=( "${FILESDIR}"/${PN}-impl-dec.patch )
-
-pkg_setup() {
- use mpi && [[ $(tc-getCC) == icc* ]] &&
- die "The parallelized version of tree-puzzle cannot be compiled using icc.
- Either disable the \"mpi\" USE flag to compile only the non-parallelized
- version of the program, or use gcc as your compiler (CC=\"gcc\")."
-}
+PATCHES=(
+ "${FILESDIR}"/${PN}-impl-dec.patch
+ "${FILESDIR}"/${P}-MPI-3.0.patch
+)
src_configure() {
default
@@ -38,9 +34,14 @@ src_configure() {
fi
}
+src_compile() {
+ # hopelessly terrible build system, abuses Automake
+ emake -j1
+}
+
src_install() {
- dobin src/puzzle
- use mpi && dobin src/ppuzzle
+ dobin src/puzzle $(usev mpi src/ppuzzle)
+
einstalldocs
# User manual