summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIvan Vilata i Balaguer <ivan@selidor.net>2022-03-07 00:47:32 +0100
committerGuix Patches Tester <>2022-03-06 23:49:20 +0000
commiteef5885beacbee6a3740a752bf57c6453edd693d (patch)
treeff8c45cb41810a64fa3e27284de4e36d60175efe
parentf8989187e29176ba2eedcabde252d1f314ea2aef (diff)
downloadguix-patches-eef5885beacbee6a3740a752bf57c6453edd693d.tar
guix-patches-eef5885beacbee6a3740a752bf57c6453edd693d.tar.gz
gnu: transfig: Fix "multiple definition" errors with GCC 10+.
* gnu/packages/patches/transfig-gcc10-fno-common.patch: New patch. * gnu/packages/xfig.scm (transfig)[source]<origin>: Use patch "transfig-gcc10-fno-common.patch" to avoid "multiple definition" errors with GCC 10+ and "-f-no-common".
-rw-r--r--gnu/packages/patches/transfig-gcc10-fno-common.patch33
-rw-r--r--gnu/packages/xfig.scm5
2 files changed, 37 insertions, 1 deletions
diff --git a/gnu/packages/patches/transfig-gcc10-fno-common.patch b/gnu/packages/patches/transfig-gcc10-fno-common.patch
new file mode 100644
index 0000000000..ebe9236533
--- /dev/null
+++ b/gnu/packages/patches/transfig-gcc10-fno-common.patch
@@ -0,0 +1,33 @@
+Fixes "multiple definition" errors when building with GCC 10+.
+
+Based on <https://bugs.gentoo.org/show_bug.cgi?id=706706>.
+--- a/fig2dev/dev/gensvg.c 2010-07-01 22:41:16.000000000 +0200
++++ b/fig2dev/dev/gensvg.c 2022-02-27 20:02:33.379945500 +0100
+@@ -230,10 +230,12 @@
+ };
+
+ /* arrowhead arrays */
+-Point points[50], fillpoints[50], clippoints[50];
+-int npoints, nfillpoints, nclippoints;
+-int arrowx1, arrowy1; /* first point of object */
+-int arrowx2, arrowy2; /* second point of object */
++Point fillpoints[50];
++int nfillpoints;
++extern Point points[50], clippoints[50];
++extern int npoints, nclippoints;
++extern int arrowx1, arrowy1; /* first point of object */
++extern int arrowx2, arrowy2; /* second point of object */
+
+ static int tileno=0; /* number of current tile */
+
+--- a/fig2dev/fig2dev.h 2010-03-16 19:53:20.000000000 +0100
++++ b/fig2dev/fig2dev.h 2022-02-27 19:56:06.072253991 +0100
+@@ -126,7 +126,7 @@
+ extern char *prog, *from, *to;
+ extern char *name;
+ extern double font_size;
+-Boolean correct_font_size; /* use correct font size */
++extern Boolean correct_font_size; /* use correct font size */
+ extern double mag, fontmag;
+ extern FILE *tfp;
+
diff --git a/gnu/packages/xfig.scm b/gnu/packages/xfig.scm
index ad2f701ff1..1d4d17527c 100644
--- a/gnu/packages/xfig.scm
+++ b/gnu/packages/xfig.scm
@@ -86,7 +86,10 @@ selected in various ways. For text, 35 fonts are available.")
version ".tar.gz"))
(sha256
(base32
- "0i3p7qmg2w8qrad3pn42b0miwarql7yy0gpd49b1bpal6bqsiicf"))))
+ "0i3p7qmg2w8qrad3pn42b0miwarql7yy0gpd49b1bpal6bqsiicf"))
+ (patches
+ (search-patches
+ "transfig-gcc10-fno-common.patch")))) ; fix GCC10 build
(build-system gnu-build-system)
(native-inputs
(list imake makedepend))