commit:     4344861bbf45ec0e259a986b19942ce284f93fc9
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sun Nov  1 18:35:50 2020 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sun Nov  1 18:35:50 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4344861b

sci-biology/dialign-tx: Fix -fno-common

Closes: https://bugs.gentoo.org/707008
Closes: https://bugs.gentoo.org/727966
Package-Manager: Portage-3.0.8, Repoman-3.0.2
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 sci-biology/dialign-tx/dialign-tx-1.0.2-r2.ebuild  | 13 +++++++------
 .../files/dialign-tx-1.0.2-fno-common.patch        | 22 ++++++++++++++++++++++
 .../files/dialign-tx-1.0.2-gnu89-inline.patch      | 20 ++++++++++++++++++++
 3 files changed, 49 insertions(+), 6 deletions(-)

diff --git a/sci-biology/dialign-tx/dialign-tx-1.0.2-r2.ebuild 
b/sci-biology/dialign-tx/dialign-tx-1.0.2-r2.ebuild
index 123977916f0..78681265a0b 100644
--- a/sci-biology/dialign-tx/dialign-tx-1.0.2-r2.ebuild
+++ b/sci-biology/dialign-tx/dialign-tx-1.0.2-r2.ebuild
@@ -1,7 +1,7 @@
-# Copyright 1999-2017 Gentoo Foundation
+# Copyright 1999-2020 Gentoo Authors
 # Distributed under the terms of the GNU General Public License v2
 
-EAPI=6
+EAPI=7
 
 inherit toolchain-funcs
 
@@ -15,12 +15,13 @@ LICENSE="LGPL-2.1"
 SLOT="0"
 KEYWORDS="~amd64 ~x86"
 
-S=${WORKDIR}/${MY_P}
+S="${WORKDIR}/${MY_P}"
 PATCHES=(
        "${FILESDIR}"/${P}-fix-build-system.patch
        "${FILESDIR}"/${P}-implicits.patch
        "${FILESDIR}"/${P}-modernize.patch
        "${FILESDIR}"/${P}-gnu89-inline.patch
+       "${FILESDIR}"/${P}-fno-common.patch
 )
 
 src_configure() {
@@ -34,12 +35,12 @@ src_compile() {
 
 src_install() {
        dobin source/dialign-tx
-       insinto /usr/$(get_libdir)/${PN}/conf
+       insinto /usr/$(get_libdir)/dialign-tx/conf
        doins -r conf/.
 }
 
 pkg_postinst() {
        einfo "The configuration directory is"
-       einfo "${EROOT%/}/usr/$(get_libdir)/${PN}/conf"
-       einfo "You will need to pass this to ${PN} on every run."
+       einfo "${EROOT}/usr/$(get_libdir)/dialign-tx/conf"
+       einfo "You will need to pass this to dialign-tx on every run."
 }

diff --git a/sci-biology/dialign-tx/files/dialign-tx-1.0.2-fno-common.patch 
b/sci-biology/dialign-tx/files/dialign-tx-1.0.2-fno-common.patch
new file mode 100644
index 00000000000..de3104fa0eb
--- /dev/null
+++ b/sci-biology/dialign-tx/files/dialign-tx-1.0.2-fno-common.patch
@@ -0,0 +1,22 @@
+--- a/source/parameters.c
++++ b/source/parameters.c
+@@ -26,6 +26,8 @@
+ 
+ extern char *optarg;
+ extern int optind, opterr, optopt;
++
++struct parameters* para;
+ /****************************
+ * PROTEIN DEFAULT VALUES!   *
+ ****************************/
+--- a/source/parameters.h
++++ b/source/parameters.h
+@@ -138,7 +138,7 @@
+     /*              global variable                 */
+     /*                                              */
+     /************************************************/
+-struct parameters* para;
++extern struct parameters* para;
+ 
+ 
+ 

diff --git a/sci-biology/dialign-tx/files/dialign-tx-1.0.2-gnu89-inline.patch 
b/sci-biology/dialign-tx/files/dialign-tx-1.0.2-gnu89-inline.patch
index 21f576f0705..fc8d0284e6a 100644
--- a/sci-biology/dialign-tx/files/dialign-tx-1.0.2-gnu89-inline.patch
+++ b/sci-biology/dialign-tx/files/dialign-tx-1.0.2-gnu89-inline.patch
@@ -1,5 +1,25 @@
+--- a/source/assemble.c
++++ b/source/assemble.c
+@@ -574,7 +574,7 @@
+  * returns a value <0 if there is an non-conflicting overlap
+  * returns 0 in all other non-conflicting cases
+  */
+-inline char confl_diag(struct alignment *algn, char *layer, struct diag *dg1, 
struct diag *dg2) {
++static inline char confl_diag(struct alignment *algn, char *layer, struct 
diag *dg1, struct diag *dg2) {
+   //  if(dg1->multi_dg || dg2->multi_dg) error(" confl_diag(): cannot accept 
multi dgs!");
+   int s1_1 = dg1->seq_p1.num;
+   int s1_2 = dg1->seq_p2.num;
 --- a/source/diag.c
 +++ b/source/diag.c
+@@ -312,7 +312,7 @@
+ /** 
+  * calculates the overlap weight for the given diag 
+  */ 
+-inline void calc_ov_weight(struct diag* dg, struct diag_col *dcol, struct 
scr_matrix* smatrix,  
++void calc_ov_weight(struct diag* dg, struct diag_col *dcol, struct 
scr_matrix* smatrix,  
+                   struct prob_dist *pdist) { 
+   int sn1 = dg->seq_p1.num; 
+   int sn2 = dg->seq_p2.num; 
 @@ -958,7 +958,7 @@
   * The pointer returned (and the ones included in the struct)  
   * has to be deallocted explicitely from memory. 

Reply via email to