1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-11-20 00:21:35 +00:00

biology/seaview: in preparation to FLTK update, unbreak the port

Ensure there is only one variable definition per each object, as
the C (and C++) standards mandated for years and is now enforced
by modern toolchains.
This commit is contained in:
Alexey Dokuchaev 2021-08-14 08:56:18 +00:00
parent 5f4d541a67
commit 0ee21a35d1
2 changed files with 74 additions and 3 deletions

View File

@ -12,9 +12,6 @@ COMMENT= Multiple DNA/protein sequence alignment editor
LICENSE= GPLv3
BROKEN_FreeBSD_13= ld: error: duplicate symbol: progname
BROKEN_FreeBSD_14= ld: error: duplicate symbol: progname
LIB_DEPENDS= libfltk.so:x11-toolkits/fltk \
libfontconfig.so:x11-fonts/fontconfig \
libpng.so:graphics/png
@ -40,6 +37,10 @@ post-patch:
${REINPLACE_CMD} -e \
's|^\(CC\) |#\1 | ; s|-ldl || ; \
s|^\(CXX\) |#\1 |' ${WRKSRC}/Makefile
${REINPLACE_CMD} -E \
'/firstplotblock|javarun|\*progname/s,^,extern ,' \
${WRKSRC}/csrc/phylip.h ${WRKSRC}/csrc/protpars.c
${ECHO_CMD} 'boolean javarun;' >> ${WRKSRC}/csrc/phylip.c
do-install:
(cd ${WRKSRC} && ${INSTALL_PROGRAM} seaview \

View File

@ -0,0 +1,70 @@
--- csrc/dnapars.c.orig 2019-11-29 14:00:33 UTC
+++ csrc/dnapars.c
@@ -77,41 +77,44 @@ void load_tree(long treei);
/* function prototypes */
-Char infilename[FNMLNGTH], outfilename[FNMLNGTH], intreename[FNMLNGTH], *outtreename,
+extern Char infilename[FNMLNGTH], outfilename[FNMLNGTH], intreename[FNMLNGTH], *outtreename,
weightfilename[FNMLNGTH];
char basechar[32]="ACMGRSVTWYHKDBNO???????????????";
-node *root;
-long chars, col, msets, ith, njumble, jumb, maxtrees;
+extern node *root;
+extern long chars, col, msets, ith, njumble, jumb;
+long maxtrees;
/* chars = number of sites in actual sequences */
-long inseed, inseed0;
-double threshold;
-boolean jumble, usertree, thresh, weights, thorough, rearrfirst,
- trout, progress, stepbox, ancseq, mulsets, justwts, firstset, mulf,
- multf;
+extern long inseed, inseed0;
+extern double threshold;
+extern boolean jumble, usertree, thresh, weights,
+ trout, progress, stepbox, ancseq, mulsets, justwts, firstset;
+boolean thorough, rearrfirst, mulf, multf;
steptr oldweight;
-longer seed;
-pointarray treenode; /* pointers to all nodes in tree */
-long *enterorder;
+extern longer seed;
+extern pointarray treenode; /* pointers to all nodes in tree */
+extern long *enterorder;
long *zeros;
/* local variables for Pascal maketree, propagated globally for C version: */
-long minwhich;
+extern long minwhich;
static double like, minsteps, bestyet, bestlike, bstlike2;
-boolean lastrearr, recompute;
-double nsteps[maxuser];
-long **fsteps;
-node *there, *oldnufork;
-long *place;
-bestelm *bestrees;
-long *threshwt;
+extern boolean lastrearr, recompute;
+extern double nsteps[maxuser];
+extern long **fsteps;
+extern node *there;
+node *oldnufork;
+extern long *place;
+extern bestelm *bestrees;
+extern long *threshwt;
baseptr nothing;
-gbases *garbage;
-node *temp, *temp1, *temp2, *tempsum, *temprm, *tempadd, *tempf, *tmp, *tmp1,
+extern gbases *garbage;
+extern node *temp, *temp1;
+node *temp2, *tempsum, *temprm, *tempadd, *tempf, *tmp, *tmp1,
*tmp2, *tmp3, *tmprm, *tmpadd;
-boolean *names;
+extern boolean *names;
node *grbg;
-char *progname;
+extern char *progname;
static void getoptions(int arg_maxtrees, dnapars_S_option s_option)