summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Seifert <soap@gentoo.org>2025-11-09 11:55:17 +0100
committerDavid Seifert <soap@gentoo.org>2025-11-09 11:55:17 +0100
commitbb22a23b266f85b2711d9d1c681958f886e9624c (patch)
treecdaa4ce728121032d9ca1540072737305027dc25
parent96d79b46c143bd29658dc8c74a6809f5e806bfde (diff)
downloadgentoo-bb22a23b266f85b2711d9d1c681958f886e9624c.tar.gz
gentoo-bb22a23b266f85b2711d9d1c681958f886e9624c.tar.bz2
gentoo-bb22a23b266f85b2711d9d1c681958f886e9624c.zip
sci-biology/mafft: add 7.525
Closes: https://bugs.gentoo.org/944919 Signed-off-by: David Seifert <soap@gentoo.org>
-rw-r--r--sci-biology/mafft/Manifest1
-rw-r--r--sci-biology/mafft/files/mafft-7.525-c23.patch52
-rw-r--r--sci-biology/mafft/mafft-7.525.ebuild66
3 files changed, 119 insertions, 0 deletions
diff --git a/sci-biology/mafft/Manifest b/sci-biology/mafft/Manifest
index 1c8c429c954d..3b448e45c618 100644
--- a/sci-biology/mafft/Manifest
+++ b/sci-biology/mafft/Manifest
@@ -1 +1,2 @@
DIST mafft-7.490-without-extensions-src.tgz 605510 BLAKE2B f432ea3001f1d9c18cecea50d19f48570ffe7edf56e64088f8854acc1ee17fd7c1696244133f90ae0bf916f4499becfbfa8a770ca51a370219191f2a29f73db4 SHA512 dd87b731fdee48828da93c715ef480de474870de2fa42727e8d34b62bc136fb486dd9079ca2acdf1745f0a621fe4f413e25c05f7534f1673b6f9c1199ce70b8e
+DIST mafft-7.525-without-extensions-src.tgz 622798 BLAKE2B d1c58a2f44aacf00917351a5118b694684c64f128a777096a56904acb0c4ed728408fa58399c8d1dfcd38cb0733dc86b830b5b5bec582875577796f5aa75a811 SHA512 84b3ae1cabca0af0286713bfcfc1de3fd912214106c3b836e465d643d3a68dd6c8df697e424a82c324936b4d448c73e465fb16bcf3fc44e98270c16580e9dbb3
diff --git a/sci-biology/mafft/files/mafft-7.525-c23.patch b/sci-biology/mafft/files/mafft-7.525-c23.patch
new file mode 100644
index 000000000000..3acd4fe646e5
--- /dev/null
+++ b/sci-biology/mafft/files/mafft-7.525-c23.patch
@@ -0,0 +1,52 @@
+https://salsa.debian.org/med-team/mafft/-/commit/73d7be1d2ee617b3cd533e62adc2536b5c8330a9
+
+From: Michael R. Crusoe <crusoe@debian.org>
+Subject: Add GCC-16 compatibility
+Forwarded: katoh@ifrec.osaka-u.ac.jp
+
+--- a/core/mltaln.h
++++ b/core/mltaln.h
+@@ -166,7 +166,7 @@
+ extern char rnaprediction;
+
+ /* sengen no ichi ha koko dake de ha nai */
+-extern void constants();
++extern void constants( int nseq, char **seq );
+ extern char **Calignm1();
+ extern char **Dalignm1();
+ extern char **align0();
+@@ -179,24 +179,24 @@
+ extern double substitution_nid( char *, char * );
+ extern double substitution_hosei( char *, char * );
+ extern double ipower( double, int );
+-extern double translate_and_Calign();
+-extern double A__align();
++extern double translate_and_Calign( char **mseq1, char **mseq2, double *effarr1, double *effarr2, int clus1, int clus2, int alloclen );
++extern double A__align( double **scoringmtx, int penalty, int penalty_ex, char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, int constraint, double *impmatch, char *gs1, char *gs2, char *ge1, char *ge2, int *, int, int *, int headgp, int tailgp, int firstmem, int calledby, double ***cpmxchild0, double ***cpmxchild1, double ***cpmxresult, double orieff1, double orieff2 );
+ extern double A__align11();
+-extern double A__align_gapmap();
+-extern double partA__align();
++extern double A__align_gapmap( char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, int constraint, double *impmatch, int *gapmap1, int *gapmap2 );
++extern double partA__align( char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, int constraint, double *impmatch, int start1, int end1, int start2, int end2, int *gapmap1, int *gapmap2, char *, char *, char *, char *, int *, int, int * );
+ extern double L__align11( double **scoringmtx, double scoreoffset, char **seq1, char **seq2, int alloclen, int *off1pt, int *off2pt );
+-extern double G__align11();
+-extern double Falign();
+-extern double Falign_localhom();
++extern double G__align11( double **scoringmtx, char **seq1, char **seq2, int alloclen, int headgp, int tailgp );
++extern double Falign( int **whichmtx, double ***scoringmatrices, double **scoreingmtx, char **seq1, char **seq2, double *eff1, double *eff2, double **eff1s, double **eff2s, int clus1, int clus2, int alloclen, int *fftlog, int *, int, int * );
++extern double Falign_localhom( int **which, double ***scoringmatrices, double **scoreingmtx, char **seq1, char **seq2, double *eff1, double *eff2, double **eff1s, double **eff2s, int clus1, int clus2, int alloclen, int constraint, double *totalimpmatch, int *gapmap1, int *gapmap2, int *chudanpt, int chudanref, int *chudanres );
+ extern double Conalign();
+ extern double Aalign();
+ extern double imp_match_out_sc( int, int );
+ extern double part_imp_match_out_sc( int, int );
+-extern void ErrorExit();
+-extern void cpmx_calc();
++extern void ErrorExit( char *message );
++extern void cpmx_calc( char **seq, double **cpmx, double *eff, int lgth, int clus );
+ extern void intergroup_score( char **, char **, double *, double *, int, int, int, double * );
+ extern int conjuctionfortbfast();
+-extern int fastconjuction();
++extern int fastconjuction( int *memlist, char **seq, char **aseq, double *peff, double *eff, char name[M][B], char aname[M][B], char *d );
+ extern char seqcheck( char ** );
+
+ typedef struct _LocalHom
diff --git a/sci-biology/mafft/mafft-7.525.ebuild b/sci-biology/mafft/mafft-7.525.ebuild
new file mode 100644
index 000000000000..ba7e47368792
--- /dev/null
+++ b/sci-biology/mafft/mafft-7.525.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+EXTENSIONS="-without-extensions"
+
+DESCRIPTION="Multiple sequence alignments using a variety of algorithms"
+HOMEPAGE="https://mafft.cbrc.jp/alignment/software/index.html"
+SRC_URI="https://mafft.cbrc.jp/alignment/software/${P}${EXTENSIONS}-src.tgz"
+S="${WORKDIR}/${P}${EXTENSIONS}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.525-c23.patch
+)
+
+src_prepare() {
+ default
+
+ sed \
+ -e 's/(PREFIX)\/man/(PREFIX)\/share\/man/' \
+ -e 's:$(LDFLAGS)::g' \
+ -e 's:$(CC) -o $@:$(CC) $(LDFLAGS) -o $@:g' \
+ -e 's:$(CC) -shared -o $@:$(CC) $(LDFLAGS) -shared -o $@:g' \
+ -e '/INSTALL/s: -s : :g' \
+ -i core/Makefile || die
+}
+
+src_configure() {
+ append-cflags -Wno-unused-result
+}
+
+src_compile() {
+ emake -C core \
+ PREFIX="${EPREFIX}"/usr \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}"
+}
+
+src_test() {
+ export MAFFT_BINARIES="${S}"/core
+ cd test || die
+ bash ../core/mafft sample > test.fftns2 || die "Tests failed"
+ bash ../core/mafft --maxiterate 100 sample > test.fftnsi || die "Tests failed"
+ bash ../core/mafft --globalpair sample > test.gins1 || die "Tests failed"
+ bash ../core/mafft --globalpair --maxiterate 100 sample > test.ginsi || die "Tests failed"
+ bash ../core/mafft --localpair sample > test.lins1 || die "Tests failed"
+ bash ../core/mafft --localpair --maxiterate 100 sample > test.linsi || die "Tests failed"
+
+ diff test.fftns2 sample.fftns2 || die "Tests failed"
+ diff test.fftnsi sample.fftnsi || die "Tests failed"
+ diff test.gins1 sample.gins1 || die "Tests failed"
+ diff test.ginsi sample.ginsi || die "Tests failed"
+ diff test.lins1 sample.lins1 || die "Tests failed"
+}
+
+src_install() {
+ emake -C core DESTDIR="${D}" STRIP=":" PREFIX="${EPREFIX}"/usr install
+ dodoc README.md
+}