1 |
commit: 4344861bbf45ec0e259a986b19942ce284f93fc9 |
2 |
Author: David Seifert <soap <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sun Nov 1 18:35:50 2020 +0000 |
4 |
Commit: David Seifert <soap <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Nov 1 18:35:50 2020 +0000 |
6 |
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4344861b |
7 |
|
8 |
sci-biology/dialign-tx: Fix -fno-common |
9 |
|
10 |
Closes: https://bugs.gentoo.org/707008 |
11 |
Closes: https://bugs.gentoo.org/727966 |
12 |
Package-Manager: Portage-3.0.8, Repoman-3.0.2 |
13 |
Signed-off-by: David Seifert <soap <AT> gentoo.org> |
14 |
|
15 |
sci-biology/dialign-tx/dialign-tx-1.0.2-r2.ebuild | 13 +++++++------ |
16 |
.../files/dialign-tx-1.0.2-fno-common.patch | 22 ++++++++++++++++++++++ |
17 |
.../files/dialign-tx-1.0.2-gnu89-inline.patch | 20 ++++++++++++++++++++ |
18 |
3 files changed, 49 insertions(+), 6 deletions(-) |
19 |
|
20 |
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 |
21 |
index 123977916f0..78681265a0b 100644 |
22 |
--- a/sci-biology/dialign-tx/dialign-tx-1.0.2-r2.ebuild |
23 |
+++ b/sci-biology/dialign-tx/dialign-tx-1.0.2-r2.ebuild |
24 |
@@ -1,7 +1,7 @@ |
25 |
-# Copyright 1999-2017 Gentoo Foundation |
26 |
+# Copyright 1999-2020 Gentoo Authors |
27 |
# Distributed under the terms of the GNU General Public License v2 |
28 |
|
29 |
-EAPI=6 |
30 |
+EAPI=7 |
31 |
|
32 |
inherit toolchain-funcs |
33 |
|
34 |
@@ -15,12 +15,13 @@ LICENSE="LGPL-2.1" |
35 |
SLOT="0" |
36 |
KEYWORDS="~amd64 ~x86" |
37 |
|
38 |
-S=${WORKDIR}/${MY_P} |
39 |
+S="${WORKDIR}/${MY_P}" |
40 |
PATCHES=( |
41 |
"${FILESDIR}"/${P}-fix-build-system.patch |
42 |
"${FILESDIR}"/${P}-implicits.patch |
43 |
"${FILESDIR}"/${P}-modernize.patch |
44 |
"${FILESDIR}"/${P}-gnu89-inline.patch |
45 |
+ "${FILESDIR}"/${P}-fno-common.patch |
46 |
) |
47 |
|
48 |
src_configure() { |
49 |
@@ -34,12 +35,12 @@ src_compile() { |
50 |
|
51 |
src_install() { |
52 |
dobin source/dialign-tx |
53 |
- insinto /usr/$(get_libdir)/${PN}/conf |
54 |
+ insinto /usr/$(get_libdir)/dialign-tx/conf |
55 |
doins -r conf/. |
56 |
} |
57 |
|
58 |
pkg_postinst() { |
59 |
einfo "The configuration directory is" |
60 |
- einfo "${EROOT%/}/usr/$(get_libdir)/${PN}/conf" |
61 |
- einfo "You will need to pass this to ${PN} on every run." |
62 |
+ einfo "${EROOT}/usr/$(get_libdir)/dialign-tx/conf" |
63 |
+ einfo "You will need to pass this to dialign-tx on every run." |
64 |
} |
65 |
|
66 |
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 |
67 |
new file mode 100644 |
68 |
index 00000000000..de3104fa0eb |
69 |
--- /dev/null |
70 |
+++ b/sci-biology/dialign-tx/files/dialign-tx-1.0.2-fno-common.patch |
71 |
@@ -0,0 +1,22 @@ |
72 |
+--- a/source/parameters.c |
73 |
++++ b/source/parameters.c |
74 |
+@@ -26,6 +26,8 @@ |
75 |
+ |
76 |
+ extern char *optarg; |
77 |
+ extern int optind, opterr, optopt; |
78 |
++ |
79 |
++struct parameters* para; |
80 |
+ /**************************** |
81 |
+ * PROTEIN DEFAULT VALUES! * |
82 |
+ ****************************/ |
83 |
+--- a/source/parameters.h |
84 |
++++ b/source/parameters.h |
85 |
+@@ -138,7 +138,7 @@ |
86 |
+ /* global variable */ |
87 |
+ /* */ |
88 |
+ /************************************************/ |
89 |
+-struct parameters* para; |
90 |
++extern struct parameters* para; |
91 |
+ |
92 |
+ |
93 |
+ |
94 |
|
95 |
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 |
96 |
index 21f576f0705..fc8d0284e6a 100644 |
97 |
--- a/sci-biology/dialign-tx/files/dialign-tx-1.0.2-gnu89-inline.patch |
98 |
+++ b/sci-biology/dialign-tx/files/dialign-tx-1.0.2-gnu89-inline.patch |
99 |
@@ -1,5 +1,25 @@ |
100 |
+--- a/source/assemble.c |
101 |
++++ b/source/assemble.c |
102 |
+@@ -574,7 +574,7 @@ |
103 |
+ * returns a value <0 if there is an non-conflicting overlap |
104 |
+ * returns 0 in all other non-conflicting cases |
105 |
+ */ |
106 |
+-inline char confl_diag(struct alignment *algn, char *layer, struct diag *dg1, struct diag *dg2) { |
107 |
++static inline char confl_diag(struct alignment *algn, char *layer, struct diag *dg1, struct diag *dg2) { |
108 |
+ // if(dg1->multi_dg || dg2->multi_dg) error(" confl_diag(): cannot accept multi dgs!"); |
109 |
+ int s1_1 = dg1->seq_p1.num; |
110 |
+ int s1_2 = dg1->seq_p2.num; |
111 |
--- a/source/diag.c |
112 |
+++ b/source/diag.c |
113 |
+@@ -312,7 +312,7 @@ |
114 |
+ /** |
115 |
+ * calculates the overlap weight for the given diag |
116 |
+ */ |
117 |
+-inline void calc_ov_weight(struct diag* dg, struct diag_col *dcol, struct scr_matrix* smatrix, |
118 |
++void calc_ov_weight(struct diag* dg, struct diag_col *dcol, struct scr_matrix* smatrix, |
119 |
+ struct prob_dist *pdist) { |
120 |
+ int sn1 = dg->seq_p1.num; |
121 |
+ int sn2 = dg->seq_p2.num; |
122 |
@@ -958,7 +958,7 @@ |
123 |
* The pointer returned (and the ones included in the struct) |
124 |
* has to be deallocted explicitely from memory. |