diff options
author | David Seifert <soap@gentoo.org> | 2022-10-23 20:18:07 +0100 |
---|---|---|
committer | David Seifert <soap@gentoo.org> | 2022-10-23 20:18:07 +0100 |
commit | 347343bc74b8a7625265a9e5ecfa05fb6b37d664 (patch) | |
tree | 8aacbdc7059839ab3b435f9c80e4cd69cb8a7d85 /sci-biology | |
parent | sci-biology/poa: fix clang 16 build (diff) | |
download | gentoo-347343bc74b8a7625265a9e5ecfa05fb6b37d664.tar.gz gentoo-347343bc74b8a7625265a9e5ecfa05fb6b37d664.tar.bz2 gentoo-347343bc74b8a7625265a9e5ecfa05fb6b37d664.zip |
sci-biology/unafold: fix clang 16 build
Closes: https://bugs.gentoo.org/875041
Signed-off-by: David Seifert <soap@gentoo.org>
Diffstat (limited to 'sci-biology')
-rw-r--r-- | sci-biology/unafold/files/unafold-3.8-autotools.patch | 41 | ||||
-rw-r--r-- | sci-biology/unafold/files/unafold-3.8-clang16.patch | 775 | ||||
-rw-r--r-- | sci-biology/unafold/unafold-3.8-r1.ebuild | 24 |
3 files changed, 831 insertions, 9 deletions
diff --git a/sci-biology/unafold/files/unafold-3.8-autotools.patch b/sci-biology/unafold/files/unafold-3.8-autotools.patch new file mode 100644 index 000000000000..ecf29b470c2c --- /dev/null +++ b/sci-biology/unafold/files/unafold-3.8-autotools.patch @@ -0,0 +1,41 @@ +--- a/configure.ac ++++ b/configure.ac +@@ -2,7 +2,7 @@ + AC_INIT(UNAFold, 3.8, markhn@rpi.edu) + AC_CONFIG_SRCDIR(src/hybrid.c) + AC_CONFIG_AUX_DIR(config) +-AM_CONFIG_HEADER(config.h:config.in) ++AC_CONFIG_HEADERS(config.h:config.in) + AM_INIT_AUTOMAKE + AC_CANONICAL_BUILD + AC_PROG_CC +@@ -12,7 +12,6 @@ + if test -z "$PERL"; then + AC_MSG_ERROR(Perl not found) + fi +-AC_PROG_PERL_VERSION(5.6.1, , AC_MSG_ERROR(Perl 5.6.1 or better is required)) + AC_CHECK_PROG(GNUPLOT, gnuplot, [system('gnuplot', \"\$prefix.gp\") == 0 or die $!;]) + + AC_MSG_CHECKING(whether compiler needs -mieee) +@@ -28,6 +27,7 @@ + + + # Checks for libraries. ++AX_CHECK_GL + AX_CHECK_GLUT + AM_CONDITIONAL(GLUT, test -n "$GLUT_LIBS") + AX_CHECK_GD +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -33,9 +33,9 @@ + endif GLUT + + hybrid_plot_ng_SOURCES = hybrid-plot-ng.c getopt.h util.h xmalloc.h +-hybrid_plot_ng_CFLAGS = @GD_CFLAGS@ ++hybrid_plot_ng_CFLAGS = @GD_CFLAGS@ $(GL_CFLAGS) + hybrid_plot_ng_LDFLAGS = @GD_LDFLAGS@ +-hybrid_plot_ng_LDADD = getopt.$(OBJEXT) getopt1.$(OBJEXT) xmalloc.$(OBJEXT) @GD_LIBS@ -lm ++hybrid_plot_ng_LDADD = getopt.$(OBJEXT) getopt1.$(OBJEXT) xmalloc.$(OBJEXT) @GD_LIBS@ $(GL_LIBS) -lm + + sbs_SOURCES = getopt.c getopt1.c energy.c xmalloc.c sbs.c energy.h getopt.h xmalloc.h + sbs_LDADD = -lm diff --git a/sci-biology/unafold/files/unafold-3.8-clang16.patch b/sci-biology/unafold/files/unafold-3.8-clang16.patch new file mode 100644 index 000000000000..fabc28e1fd88 --- /dev/null +++ b/sci-biology/unafold/files/unafold-3.8-clang16.patch @@ -0,0 +1,775 @@ +--- a/src/ct-energy.c ++++ b/src/ct-energy.c +@@ -24,8 +24,8 @@ + double auPenalty(int, int); + double chooseDangle(int, int); + double tstackOrDangle(int, int, int); +-int isHomodimer(); +-int isCircular(); ++int isHomodimer(void); ++int isCircular(void); + + int readStructure(FILE* file); + +@@ -87,7 +87,7 @@ + {NULL, 0, NULL, 0} + }; + +-void usage() ++void usage(void) + { + puts("Usage: ct-energy [OPTION] [FILE]..."); + puts(""); +@@ -1247,7 +1247,7 @@ + return 1; + } + +-int isHomodimer() ++int isHomodimer(void) + { + int i; + +@@ -1272,7 +1272,7 @@ + return 1; + } + +-int isCircular() ++int isCircular(void) + { + return g_prev[0] == g_len && g_next[g_len - 1] % g_len == 1; + } +--- a/src/energy.c ++++ b/src/energy.c +@@ -15,6 +15,7 @@ + #endif + + #include "energy.h" ++#include "util.h" + #include "xmalloc.h" + + #ifndef isinf +--- a/src/hybrid.c ++++ b/src/hybrid.c +@@ -39,10 +39,10 @@ + #endif + + void initializeMatrix(double**, int, double); +-void limitBasePairs(); +-void prohibit(); +-void force(); +-void prefilter(); ++void limitBasePairs(void); ++void prohibit(void); ++void force(void); ++void prefilter(void); + void fillMatrix(double**, int, double); + void fillMatrix_noI(double**, int, double); + void calculateProb(double**, double*, double*, double**, double**, double, double, int, double); +@@ -706,7 +706,7 @@ + matrix[i - 1][n - 1] = (reverse ? R0(n, i) : L0(i, n)); + } + +-void limitBasePairs() ++void limitBasePairs(void) + { + if (g_bpFile) + { +@@ -740,7 +740,7 @@ + } + } + +-void prohibit() ++void prohibit(void) + { + int i, j, k; + struct constraintListNode *top, *newTop; +@@ -788,7 +788,7 @@ + } + + #if ENABLE_FORCE +-void force() ++void force(void) + { + int i, j, k; + struct constraintListNode *top, *newTop; +@@ -880,7 +880,7 @@ + } + } */ + +-void prefilter() ++void prefilter(void) + { + char** in; + int i, j, k, count; +--- a/src/hybrid-min.c ++++ b/src/hybrid-min.c +@@ -53,10 +53,10 @@ + } *pairList; + + void initializeMatrices(double); +-void limitBasePairs(); +-void prohibit(); +-void force(); +-void prefilter(); ++void limitBasePairs(void); ++void prohibit(void); ++void force(void); ++void prefilter(void); + void fillMatrixL(double); + void fillMatrixR(double); + void fillMatrixL_noI(double); +@@ -88,7 +88,7 @@ + #define min2(a, b) ((a) < (b) ? (a) : (b)) + ENERGY min4(ENERGY, ENERGY, ENERGY, ENERGY); + void pushPairList(int, int, int, ENERGY); +-void sortPairList(); ++void sortPairList(void); + + ENERGY *lprime, *rprime; + +@@ -885,7 +885,7 @@ + } + } + +-void limitBasePairs() ++void limitBasePairs(void) + { + if (g_bpFile) + { +@@ -919,7 +919,7 @@ + } + } + +-void prohibit() ++void prohibit(void) + { + int i, j, k; + struct constraintListNode* top; +@@ -965,7 +965,7 @@ + } + + #if ENABLE_FORCE +-void force() ++void force(void) + { + int i, j, k; + struct constraintListNode* top; +@@ -1041,7 +1041,7 @@ + return length; + } + +-void prefilter() ++void prefilter(void) + { + int i, j; + +@@ -1055,7 +1055,7 @@ + } + } */ + +-void prefilter() ++void prefilter(void) + { + char** in; + int i, j, k, count; +@@ -2235,7 +2235,7 @@ + pairList = node; + } + +-void sortPairList() ++void sortPairList(void) + { + struct pairListNode *a, *b; + +--- a/src/hybrid-plot.c ++++ b/src/hybrid-plot.c +@@ -70,13 +70,13 @@ + void displayCallbackInput(void); + void keyboardCallbackInput(unsigned char, int, int); + +-void fixLength(); +-void fixGrid(); +-void fixLabels(); +-void fixZoomGrid(); +-void fixZoomLabels(); ++void fixLength(void); ++void fixGrid(void); ++void fixLabels(void); ++void fixZoomGrid(void); ++void fixZoomLabels(void); + void readFiles(char*); +-void sortTemps(); ++void sortTemps(void); + double* inputRecords(FILE*); + int filter(int, int); + +@@ -1157,7 +1157,7 @@ + } + } + +-void fixLength() ++void fixLength(void) + { + int m, n; + +@@ -1177,7 +1177,7 @@ + } + } + +-void fixGrid() ++void fixGrid(void) + { + int m; + +@@ -1193,7 +1193,7 @@ + g_grid = pow(10, m + 1); + } + +-void fixLabels() ++void fixLabels(void) + { + int longestNum; + +@@ -1202,7 +1202,7 @@ + g_labels += g_grid; + } + +-void fixZoomGrid() ++void fixZoomGrid(void) + { + int m; + +@@ -1221,7 +1221,7 @@ + g_zoomGrid = pow(10, m + 1); + } + +-void fixZoomLabels() ++void fixZoomLabels(void) + { + int longestNum; + +@@ -1310,7 +1310,7 @@ + return scores; + } + +-void sortTemps() ++void sortTemps(void) + { + int i, j; + char* tempC; +--- a/src/hybrid-plot-ng.c ++++ b/src/hybrid-plot-ng.c +@@ -24,28 +24,28 @@ + */ + + #if HAVE_GD +-void initPNG(); ++void initPNG(void); + void titlePNG(char*); +-void borderPNG(); +-void gridPNG(); ++void borderPNG(void); ++void gridPNG(void); + void plotDotPNG(int, int, double); + void vertCenterPNG(char*, int); + void horzCenterPNG(char*, int); + void selectionPNG(char*, int); + #endif + +-void initPS(); ++void initPS(void); + void titlePS(char*); +-void borderPS(); +-void gridPS(); ++void borderPS(void); ++void gridPS(void); + void plotDotPS(int, int, double); + void vertCenterPS(char*, int); + void horzCenterPS(char*, int); + void selectionPS(char*, int); + +-void fixSize(); +-void fixGrid(); +-void fixLabels(); ++void fixSize(void); ++void fixGrid(void); ++void fixLabels(void); + double* inputRecords(FILE*); + int filter(int, int); + int (*getColor)(double); +@@ -114,10 +114,10 @@ + char* plotFile; + + /* functions to call - either PS or PNG */ +- void (*init)(); ++ void (*init)(void); + void (*title)(char*); +- void (*border)(); +- void (*grid)(); ++ void (*border)(void); ++ void (*grid)(void); + void (*plotDot)(int, int, double); + void (*vertCenter)(char*, int); + void (*horzCenter)(char*, int); +@@ -474,7 +474,7 @@ + return 0; + } + +-void initPS() ++void initPS(void) + { + int i; + +@@ -517,7 +517,7 @@ + fprintf(g_file, "(%s) showCenter\n", wordString); + } + +-void borderPS() ++void borderPS(void) + { + fputs("92 126 moveto\n", g_file); + fputs("576 126 lineto\n", g_file); +@@ -527,7 +527,7 @@ + fputs("stroke\n", g_file); + } + +-void gridPS() ++void gridPS(void) + { + double x1, y1; + int i, j; +@@ -639,7 +639,7 @@ + + #if HAVE_GD + +-void initPNG() ++void initPNG(void) + { + int i; + +@@ -671,12 +671,12 @@ + gdImageString(g_image, gdFontMediumBold, 306 - 7 * strlen(wordString) / 2, 51, (unsigned char*) wordString, g_black); + } + +-void borderPNG() ++void borderPNG(void) + { + gdImageRectangle(g_image, 92, 92, 576, 576, g_black); + } + +-void gridPNG() ++void gridPNG(void) + { + int i, j; + char buffer[8]; +@@ -776,7 +776,7 @@ + + #endif + +-void fixSize() ++void fixSize(void) + { + int m, n; + +@@ -796,7 +796,7 @@ + } + } + +-void fixGrid() ++void fixGrid(void) + { + int m; + +@@ -812,7 +812,7 @@ + g_grid = pow(10, m + 1); + } + +-void fixLabels() ++void fixLabels(void) + { + int longestNum; + +--- a/src/hybrid-ss.c ++++ b/src/hybrid-ss.c +@@ -47,10 +47,10 @@ + #define ssOK(i, j) 1 + #endif + +-void initializeMatrices(); +-void fillMatrices1(); ++void initializeMatrices(void); ++void fillMatrices1(void); + void fillMatrices2(double*, double*); +-void fillMatrices1_noI(); ++void fillMatrices1_noI(void); + void fillMatrices2_noI(double*, double*); + void calculateProb(double*, double*, double*, double*, double*, double); + void calculateProb_noI(double*, double*, double*, double*, double*); +@@ -713,7 +713,7 @@ + + #include "hybrid-ss_init.h" + +-void fillMatrices1() ++void fillMatrices1(void) + { + int i, j, k; + FILE* file; +@@ -783,7 +783,7 @@ + } + } + +-void fillMatrices1_noI() ++void fillMatrices1_noI(void) + { + int i, j, k; + FILE* file; +--- a/src/hybrid-ss_init.h ++++ b/src/hybrid-ss_init.h +@@ -14,7 +14,7 @@ + return length; + } */ + +-void prefilter() ++void prefilter(void) + { + char** in; + int i, j, k, count; +@@ -45,7 +45,7 @@ + free(in); + } + +-void initializeMatrices() ++void initializeMatrices(void) + { + int i, j, k; + struct constraintListNode *top, *newTop; +--- a/src/hybrid-ss-min.c ++++ b/src/hybrid-ss-min.c +@@ -57,10 +57,10 @@ + struct pairListNode* next; + } *pairList; + +-void initializeMatrices(); +-void fillMatrices1(); +-void fillMatrices2(); +-void computeQ53(); ++void initializeMatrices(void); ++void fillMatrices1(void); ++void fillMatrices2(void); ++void computeQ53(void); + void traceback(int, int, int, int*, int*, int*); + void traceback_noI(int, int, int, int*, int*, int*); + void setStack(int, int, int*, int*); +@@ -108,7 +108,7 @@ + int equal(ENERGY, ENERGY); + void push(struct stackNode**, int, int, int); + void pushPairList(int, int, int, ENERGY); +-void sortPairList(); ++void sortPairList(void); + + int g_len; + ENERGY *q, *qprime, *qm, *q5, *q3; +@@ -887,7 +887,7 @@ + return length; + } + +-void prefilter() ++void prefilter(void) + { + char** in; + int i, j, k, count; +@@ -918,7 +918,7 @@ + free(in); + } + +-void initializeMatrices() ++void initializeMatrices(void) + { + int i, j, k; + struct constraintListNode* top; +@@ -1072,7 +1072,7 @@ + } + } + +-void fillMatrices1() ++void fillMatrices1(void) + { + int i, j, k; + FILE* file; +@@ -1181,7 +1181,7 @@ + } + } + +-void fillMatrices2() ++void fillMatrices2(void) + { + int i, j, k; + FILE* file; +@@ -1283,7 +1283,7 @@ + } + } + +-void computeQ53() ++void computeQ53(void) + { + int i, j; + +@@ -3137,7 +3137,7 @@ + pairList = node; + } + +-void sortPairList() ++void sortPairList(void) + { + struct pairListNode *a, *b; + +--- a/src/hybrid-ss-noml.c ++++ b/src/hybrid-ss-noml.c +@@ -45,11 +45,11 @@ + #define ssOK(i, j) 1 + #endif + +-void initializeMatrices(); +-void fillMatrices1(); +-void fillMatrices2(); +-void fillMatrices1_noI(); +-void fillMatrices2_noI(); ++void initializeMatrices(void); ++void fillMatrices1(void); ++void fillMatrices2(void); ++void fillMatrices1_noI(void); ++void fillMatrices2_noI(void); + void calculateProb(double*, double*, double*, double); + void calculateProb_noI(double*, double*, double*, double); + void traceback(int*, int*, int*); +@@ -652,7 +652,7 @@ + return length; + } */ + +-void prefilter() ++void prefilter(void) + { + char** in; + int i, j, k, count; +@@ -683,7 +683,7 @@ + free(in); + } + +-void initializeMatrices() ++void initializeMatrices(void) + { + int i, j, k; + struct constraintListNode *top, *newTop; +@@ -826,7 +826,7 @@ + } + } + +-void fillMatrices1() ++void fillMatrices1(void) + { + int i, j, k; + FILE* file; +@@ -885,7 +885,7 @@ + } + } + +-void fillMatrices1_noI() ++void fillMatrices1_noI(void) + { + int i, j, k; + FILE* file; +@@ -944,7 +944,7 @@ + } + } + +-void fillMatrices2() ++void fillMatrices2(void) + { + int i, j; + FILE* file; +@@ -986,7 +986,7 @@ + } + } + +-void fillMatrices2_noI() ++void fillMatrices2_noI(void) + { + int i, j; + FILE* file; +--- a/src/hybrid-ss-simple.c ++++ b/src/hybrid-ss-simple.c +@@ -47,11 +47,11 @@ + #define ssOK(i, j) 1 + #endif + +-void initializeMatrices(); +-void fillMatrices1(); +-void fillMatrices2(); +-void fillMatrices1_noI(); +-void fillMatrices2_noI(); ++void initializeMatrices(void); ++void fillMatrices1(void); ++void fillMatrices2(void); ++void fillMatrices1_noI(void); ++void fillMatrices2_noI(void); + void calculateProb(double*, double*, double*, double); + void calculateProb_noI(double*, double*, double*); + void traceback(int*, int*, int*); +@@ -598,7 +598,7 @@ + + #include "hybrid-ss_init.h" + +-void fillMatrices1() ++void fillMatrices1(void) + { + int i, j, k; + FILE* file; +@@ -658,7 +658,7 @@ + } + } + +-void fillMatrices1_noI() ++void fillMatrices1_noI(void) + { + int i, j, k; + FILE* file; +@@ -718,7 +718,7 @@ + } + } + +-void fillMatrices2() ++void fillMatrices2(void) + { + int i, j, k; + FILE* file; +@@ -789,7 +789,7 @@ + } + } + +-void fillMatrices2_noI() ++void fillMatrices2_noI(void) + { + int i, j, k; + FILE* file; +--- a/src/util.h ++++ b/src/util.h +@@ -24,18 +24,18 @@ + + /* #define NO_GU_BASEPAIRS */ + +-int roundInt(double d) ++static int roundInt(double d) + { + return (int) (d + .5); + } + +-void strcatc(char* str, char c) ++static void strcatc(char* str, char c) + { + str[strlen(str) + 1] = 0; + str[strlen(str)] = c; + } + +-char* filename(char* file) ++static char* filename(char* file) + { + char* name; + +@@ -46,7 +46,7 @@ + return name; + } + +-void checkArray(char** array, unsigned int* available, unsigned int used, unsigned int increment) ++static void checkArray(char** array, unsigned int* available, unsigned int used, unsigned int increment) + { + if (used == *available) + { +@@ -55,7 +55,7 @@ + } + } + +-int input(FILE* file, char** name, char** sequence) ++static int input(FILE* file, char** name, char** sequence) + { + /* read string from file */ + int current, last, state; +@@ -120,7 +120,7 @@ + return 1; + } + +-unsigned char toNum(char c) ++static unsigned char toNum(char c) + { + c = toupper(c); + switch (c) +@@ -137,7 +137,7 @@ + return 4; + } + +-int seqcmp(unsigned char* seq1, unsigned char* seq2, int length) ++static int seqcmp(unsigned char* seq1, unsigned char* seq2, int length) + { + int i; + +@@ -149,7 +149,7 @@ + return 0; + } + +-void readSequence(char* file, char** name, char** string, unsigned char** seq, int* len) ++static void readSequence(char* file, char** name, char** string, unsigned char** seq, int* len) + { + int i; + FILE* f; +@@ -171,14 +171,14 @@ + } + + #ifdef NO_GU_BASEPAIRS +-const int BPI[6][6] = {{6, 6, 6, 0, 6, 6}, ++static const int BPI[6][6] = {{6, 6, 6, 0, 6, 6}, + {6, 6, 1, 6, 6, 6}, + {6, 2, 6, 6, 6, 6}, + {3, 6, 6, 6, 6, 6}, + {6, 6, 6, 6, 6, 6}, + {6, 6, 6, 6, 6, 6}}; + #else +-const int BPI[6][6] = {{6, 6, 6, 0, 6, 6}, ++static const int BPI[6][6] = {{6, 6, 6, 0, 6, 6}, + {6, 6, 1, 6, 6, 6}, + {6, 2, 6, 4, 6, 6}, + {3, 6, 5, 6, 6, 6}, +@@ -187,7 +187,7 @@ + #endif + #define basePairIndex(a, b) BPI[a][b] + +-int min3(int a, int b, int c) ++static int min3(int a, int b, int c) + { + if (a <= b && a <= c) + return a; +@@ -196,7 +196,7 @@ + return c; + } + +-int same(unsigned char* a, unsigned char* b, int len) ++static int same(unsigned char* a, unsigned char* b, int len) + { + int i; + +@@ -206,7 +206,7 @@ + return 1; + } + +-void version(const char* prog) ++static void version(const char* prog) + { + printf("%s (%s) %s\n", prog, PACKAGE_NAME, PACKAGE_VERSION); + puts("By Nicholas R. Markham and Michael Zuker"); +@@ -216,7 +216,7 @@ + exit(EXIT_SUCCESS); + } + +-void readOrDie(unsigned int num, const char* name, FILE* file, const char* format, ...) ++static void readOrDie(unsigned int num, const char* name, FILE* file, const char* format, ...) + { + va_list arg; + va_start(arg, format); diff --git a/sci-biology/unafold/unafold-3.8-r1.ebuild b/sci-biology/unafold/unafold-3.8-r1.ebuild index 6aec75f0336d..51bbe5dfd325 100644 --- a/sci-biology/unafold/unafold-3.8-r1.ebuild +++ b/sci-biology/unafold/unafold-3.8-r1.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2020 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -inherit flag-o-matic +inherit autotools DESCRIPTION="Unified Nucleic Acid Folding and hybridization package" HOMEPAGE="http://mfold.rna.albany.edu/" @@ -12,19 +12,25 @@ SRC_URI="http://dinamelt.bioinfo.rpi.edu/download/${P}.tar.bz2" LICENSE="unafold" SLOT="0" KEYWORDS="~amd64 ~x86" -IUSE="custom-cflags" RDEPEND=" media-libs/freeglut media-libs/gd virtual/opengl" DEPEND="${RDEPEND}" +BDEPEND="sys-devel/autoconf-archive" -PATCHES=( "${FILESDIR}"/${P}-doc-version.patch ) - -src_configure() { - # recommended in README - use custom-cflags || append-flags -O3 +PATCHES=( + "${FILESDIR}"/${P}-doc-version.patch + "${FILESDIR}"/${P}-autotools.patch + "${FILESDIR}"/${P}-clang16.patch +) +src_prepare() { default + eautoreconf +} + +src_configure() { + econf --disable-coverage } |