aboutsummaryrefslogtreecommitdiff
path: root/biology/seaview
diff options
context:
space:
mode:
authorAlexey Dokuchaev <danfe@FreeBSD.org>2021-08-14 08:56:18 +0000
committerAlexey Dokuchaev <danfe@FreeBSD.org>2021-08-14 08:58:03 +0000
commit0ee21a35d161900f6f0333200c5139bece030139 (patch)
treeec7bfdd1ec276449b0196e5bc63727f663ac4e6a /biology/seaview
parent5f4d541a6700b08d891d5ded5246d2e3d7fa3ed4 (diff)
downloadports-0ee21a35d161900f6f0333200c5139bece030139.tar.gz
ports-0ee21a35d161900f6f0333200c5139bece030139.zip
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.
Diffstat (limited to 'biology/seaview')
-rw-r--r--biology/seaview/Makefile7
-rw-r--r--biology/seaview/files/patch-csrc_dnapars.c70
2 files changed, 74 insertions, 3 deletions
diff --git a/biology/seaview/Makefile b/biology/seaview/Makefile
index 922134459401..3508d87dfddc 100644
--- a/biology/seaview/Makefile
+++ b/biology/seaview/Makefile
@@ -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 \
diff --git a/biology/seaview/files/patch-csrc_dnapars.c b/biology/seaview/files/patch-csrc_dnapars.c
new file mode 100644
index 000000000000..ecf81d66f4ae
--- /dev/null
+++ b/biology/seaview/files/patch-csrc_dnapars.c
@@ -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)