gnu: transfig: Fix "multiple definition" errors with GCC 10+.

* gnu/packages/patches/transfig-gcc10-fno-common.patch: New patch.
* gnu/local.mk (dist_patch_DATA): Add it.
* 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".

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
This commit is contained in:
Ivan Vilata i Balaguer 2022-03-07 00:47:32 +01:00 committed by Ludovic Courtès
parent db41eabd47
commit 4e0c4ab7f9
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 38 additions and 1 deletions

View file

@ -1855,6 +1855,7 @@ dist_patch_DATA = \
gnu/packages/patches/tootle-reason-phrase.patch \
%D%/packages/patches/tor-sandbox-i686.patch \
%D%/packages/patches/transcode-ffmpeg.patch \
%D%/packages/patches/transfig-gcc10-fno-common.patch \
%D%/packages/patches/transmission-honor-localedir.patch \
%D%/packages/patches/tremc-fix-decodestring.patch \
%D%/packages/patches/trytond-add-egg-modules-to-path.patch \

View file

@ -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;

View file

@ -86,7 +86,10 @@ (define-public transfig
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))