academic/genometools: add patch for gcc10 and fix build
Signed-off-by: Willy Sudiarto Raharjo <willysr@slackbuilds.org>
This commit is contained in:
parent
8493b05234
commit
4a818f17e3
|
@ -0,0 +1,88 @@
|
|||
From 51205942b1f41abdf841771deac4e0e35d7d5016 Mon Sep 17 00:00:00 2001
|
||||
From: Sascha Steinbiss <satta@debian.org>
|
||||
Date: Wed, 22 Apr 2020 21:59:57 +0200
|
||||
Subject: [PATCH 1/2] make sure to not ignore snprintf output
|
||||
|
||||
GCC 10 will warn about the (here intended) silent string truncation
|
||||
done by snprintf() unless the return value is handled.
|
||||
Obviously this will break the build as we use -Werror. We
|
||||
circumvent the problem by checking the output value and printing a
|
||||
warning if we notice a truncation.
|
||||
---
|
||||
src/ltr/ltrdigest_file_out_stream.c | 17 ++++++++++++-----
|
||||
1 file changed, 12 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/ltr/ltrdigest_file_out_stream.c b/src/ltr/ltrdigest_file_out_stream.c
|
||||
index 723b8cf9a..61325b693 100644
|
||||
--- a/src/ltr/ltrdigest_file_out_stream.c
|
||||
+++ b/src/ltr/ltrdigest_file_out_stream.c
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
- Copyright (c) 2008-2015 Sascha Steinbiss <sascha@steinbiss.name>
|
||||
+ Copyright (c) 2008-2020 Sascha Steinbiss <sascha@steinbiss.name>
|
||||
Copyright (c) 2008-2013 Center for Bioinformatics, University of Hamburg
|
||||
|
||||
Permission to use, copy, modify, and distribute this software for any
|
||||
@@ -33,6 +33,7 @@
|
||||
#include "core/symbol.h"
|
||||
#include "core/undef_api.h"
|
||||
#include "core/unused_api.h"
|
||||
+#include "core/warning_api.h"
|
||||
#include "extended/extract_feature_sequence.h"
|
||||
#include "extended/feature_node.h"
|
||||
#include "extended/feature_node_iterator_api.h"
|
||||
@@ -416,6 +417,8 @@ int gt_ltrfileout_stream_next(GtNodeStream *ns, GtGenomeNode **gn, GtError *err)
|
||||
|
||||
if (!had_err) {
|
||||
GtRange rng;
|
||||
+ int ret = 0;
|
||||
+
|
||||
ls->element.seqid = gt_calloc((size_t) ls->seqnamelen+1, sizeof (char));
|
||||
(void) snprintf(ls->element.seqid,
|
||||
GT_MIN((size_t) gt_str_length(sdesc),
|
||||
@@ -425,12 +428,16 @@ int gt_ltrfileout_stream_next(GtNodeStream *ns, GtGenomeNode **gn, GtError *err)
|
||||
if (gt_str_length(sdesc) > (GtUword) ls->seqnamelen)
|
||||
ls->element.seqid[ls->seqnamelen] = '\0';
|
||||
|
||||
- (void) gt_ltrelement_format_description(&ls->element,
|
||||
- ls->seqnamelen,
|
||||
- desc,
|
||||
- (size_t) (GT_MAXFASTAHEADER-1));
|
||||
+ ret = gt_ltrelement_format_description(&ls->element,
|
||||
+ ls->seqnamelen,
|
||||
+ desc,
|
||||
+ (size_t) (GT_MAXFASTAHEADER-1));
|
||||
+ if (ret < 0) {
|
||||
+ gt_warning("FASTA header truncated: %s", desc);
|
||||
+ }
|
||||
gt_str_delete(sdesc);
|
||||
|
||||
+
|
||||
/* output basic retrotransposon data */
|
||||
lltr_rng = gt_genome_node_get_range((GtGenomeNode*) ls->element.leftLTR);
|
||||
rltr_rng = gt_genome_node_get_range((GtGenomeNode*) ls->element.rightLTR);
|
||||
|
||||
From 30ae36037228dc4ed174e8462f3489638e6f5e76 Mon Sep 17 00:00:00 2001
|
||||
From: Sascha Steinbiss <satta@debian.org>
|
||||
Date: Wed, 22 Apr 2020 22:01:00 +0200
|
||||
Subject: [PATCH 2/2] declare hashmap type as extern
|
||||
|
||||
This fixes a build issue with GCC 10.
|
||||
Closes #941.
|
||||
---
|
||||
src/mgth/metagenomethreader.h | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/mgth/metagenomethreader.h b/src/mgth/metagenomethreader.h
|
||||
index 92f16d498..7f76fffb9 100644
|
||||
--- a/src/mgth/metagenomethreader.h
|
||||
+++ b/src/mgth/metagenomethreader.h
|
||||
@@ -221,7 +221,7 @@ typedef struct
|
||||
} ParseStruct;
|
||||
|
||||
/* specific access mode of queryhash */
|
||||
-DECLARE_HASHMAP(char *, gt_cstr_nofree, GtUword *, ulp,,)
|
||||
+DECLARE_HASHMAP(char *, gt_cstr_nofree, GtUword *, ulp, extern,)
|
||||
DECLARE_SAFE_DEREF(GtUword *, ulp)
|
||||
|
||||
/* Funktion, mit der der Metagenomethreader gestartet wird
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
# Slackware build script for genometools
|
||||
|
||||
# Copyright 2014-2020 Petar Petrov slackalaxy@gmail.com
|
||||
# Copyright 2014-2021 Petar Petrov slackalaxy@gmail.com
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use of this script, with or without modification, is
|
||||
|
@ -66,11 +66,22 @@ rm -rf $PRGNAM-$VERSION
|
|||
tar xvf $CWD/$PRGNAM-$VERSION.tar.gz
|
||||
cd $PRGNAM-$VERSION
|
||||
chown -R root:root .
|
||||
|
||||
# This is a looping symlink that the 'find' step below complains about.
|
||||
# The only thing that is used from this location is 'sam.h', so let's
|
||||
# just make a proper folder and copy it there.
|
||||
rm src/external/samtools-0.1.18/samtools
|
||||
mkdir -p src/external/samtools-0.1.18/samtools
|
||||
cp src/external/samtools-0.1.18/sam.h src/external/samtools-0.1.18/samtools
|
||||
|
||||
find -L . \
|
||||
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
|
||||
-o -perm 511 \) -exec chmod 755 {} \; -o \
|
||||
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
|
||||
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
|
||||
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
|
||||
|
||||
# Thanks Debian for the patch
|
||||
patch -p1 -i $CWD/gcc10.patch
|
||||
|
||||
# Fix library and man pages path
|
||||
sed -i "s:lib/libgenometools:lib${LIBDIRSUFFIX}/libgenometools:g" Makefile
|
||||
|
|
Loading…
Reference in New Issue