* gnu/packages/patches/transfig-gcc10-fno-common.patch: New patch. * gnu/packages/xfig.scm (transfig)[source]: Use patch "transfig-gcc10-fno-common.patch" to avoid "multiple definition" errors with GCC 10+ and "-f-no-common". --- .../patches/transfig-gcc10-fno-common.patch | 33 +++++++++++++++++++ gnu/packages/xfig.scm | 5 ++- 2 files changed, 37 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/transfig-gcc10-fno-common.patch 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 . +--- 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 @@ (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)) -- 2.34.0 -- Ivan Vilata i Balaguer -- https://elvil.net/