commit:     bb22a23b266f85b2711d9d1c681958f886e9624c
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sun Nov  9 10:55:17 2025 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sun Nov  9 10:55:17 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bb22a23b

sci-biology/mafft: add 7.525

Closes: https://bugs.gentoo.org/944919
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 sci-biology/mafft/Manifest                    |  1 +
 sci-biology/mafft/files/mafft-7.525-c23.patch | 52 +++++++++++++++++++++
 sci-biology/mafft/mafft-7.525.ebuild          | 66 +++++++++++++++++++++++++++
 3 files changed, 119 insertions(+)

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 <[email protected]>
+Subject: Add GCC-16 compatibility
+Forwarded: [email protected]
+
+--- 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
+}

Reply via email to