Re: [PATCH 1/1] gnu: fontconfig: Fix build failure caused by symbol conflict with glibc@2.25.
Leo Famulari writes: > * gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch: New file. > * gnu/local.mk (dist_patch_DATA): Add it. > * gnu/packages/fontutils.scm (fontconfig)[source]: Use it. LGTM, thanks! > --- > gnu/local.mk | 1 + > gnu/packages/fontutils.scm | 1 + > .../fontconfig-charwidth-symbol-conflict.patch | 82 > ++ > 3 files changed, 84 insertions(+) > create mode 100644 > gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch > > diff --git a/gnu/local.mk b/gnu/local.mk > index ec9332271..3623bbb49 100644 > --- a/gnu/local.mk > +++ b/gnu/local.mk > @@ -557,6 +557,7 @@ dist_patch_DATA = > \ >%D%/packages/patches/flint-ldconfig.patch \ >%D%/packages/patches/fltk-shared-lib-defines.patch \ >%D%/packages/patches/fltk-xfont-on-demand.patch\ > + %D%/packages/patches/fontconfig-charwidth-symbol-conflict.patch\ >%D%/packages/patches/fontforge-svg-modtime.patch \ >%D%/packages/patches/freeimage-CVE-2015-0852.patch \ >%D%/packages/patches/freeimage-CVE-2016-5684.patch \ > diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm > index fad0cb11a..ad15659f6 100644 > --- a/gnu/packages/fontutils.scm > +++ b/gnu/packages/fontutils.scm > @@ -229,6 +229,7 @@ fonts to/from the WOFF2 format.") > (uri (string-append > > "https://www.freedesktop.org/software/fontconfig/release/fontconfig-"; > version ".tar.bz2")) > +(patches (search-patches > "fontconfig-charwidth-symbol-conflict.patch")) > (sha256 (base32 > > "1wy7svvp7df6bjpg1m5vizb3ngd7rhb20vpclv3x3qa71khs6jdl" > (build-system gnu-build-system) > diff --git a/gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch > b/gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch > new file mode 100644 > index 0..8ebe33bc6 > --- /dev/null > +++ b/gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch > @@ -0,0 +1,82 @@ > +The first patch is copied from the upstream source repository: > + > +https://cgit.freedesktop.org/fontconfig/commit/?id=1ab5258f7c2abfafcd63a760ca08bf93591912da > + > +The second patch is adapted from a message to from the OpenEmbedded mailing > list: > + > +http://lists.openembedded.org/pipermail/openembedded-core/2016-December/130213.html > + > +From 1ab5258f7c2abfafcd63a760ca08bf93591912da Mon Sep 17 00:00:00 2001 > +From: Khem Raj > +Date: Wed, 14 Dec 2016 16:11:05 -0800 > +Subject: Avoid conflicts with integer width macros from TS 18661-1:2014 > + > +glibc 2.25+ has now defined these macros in > +https://sourceware.org/git/?p=glibc.git;a=commit;h=5b17fd0da62bf923cb61d1bb7b08cf2e1f1f9c1a > + > +Create an alias for FC_CHAR_WIDTH for ABI compatibility > + > +Signed-off-by: Khem Raj > + > +diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h > +index 5c72b22..070a557 100644 > +--- a/fontconfig/fontconfig.h > b/fontconfig/fontconfig.h > +@@ -128,7 +128,8 @@ typedef int FcBool; > + #define FC_USER_CACHE_FILE ".fonts.cache-" FC_CACHE_VERSION > + > + /* Adjust outline rasterizer */ > +-#define FC_CHAR_WIDTH "charwidth" /* Int */ > ++#define FC_CHARWIDTH"charwidth" /* Int */ > ++#define FC_CHAR_WIDTH FC_CHARWIDTH > + #define FC_CHAR_HEIGHT "charheight"/* Int */ > + #define FC_MATRIX "matrix"/* FcMatrix */ > + > +diff --git a/src/fcobjs.h b/src/fcobjs.h > +index 1fc4f65..d27864b 100644 > +--- a/src/fcobjs.h > b/src/fcobjs.h > +@@ -51,7 +51,7 @@ FC_OBJECT (DPI,FcTypeDouble, NULL) > + FC_OBJECT (RGBA,FcTypeInteger, NULL) > + FC_OBJECT (SCALE, FcTypeDouble, NULL) > + FC_OBJECT (MINSPACE,FcTypeBool, NULL) > +-FC_OBJECT (CHAR_WIDTH, FcTypeInteger, NULL) > ++FC_OBJECT (CHARWIDTH, FcTypeInteger, NULL) > + FC_OBJECT (CHAR_HEIGHT, FcTypeInteger, NULL) > + FC_OBJECT (MATRIX, FcTypeMatrix, NULL) > + FC_OBJECT (CHARSET, FcTypeCharSet, FcCompareCharSet) > +-- > +cgit v0.10.2 > + > +From 20cddc824c6501c2082cac41b162c34cd5fcc530 Mon Sep 17 00:00:00 2001 > +From: Khem Raj > +Date: Sun, 11 Dec 2016 14:32:00 -0800 > +Subject: [PATCH] Avoid conflicts with integer width macros from TS > + 18661-1:2014 > + > +glibc 2.25+ has now defined these macros in > +https://sourceware.org/git/?p=glibc.git;a=commit;h=5b17fd0da62bf923cb61d1bb7b08cf2e1f1f9c1a > + > +Signed-off-by: Khem Raj > +--- > +Upstream-Status: Submitted > + > + fontconfig/fontconfig.h | 2 +- > + src/fcobjs.h| 2 +- > + src/fcobjshash.gperf| 2 +- > + src/fcobjshash.h| 2 +- > + 4 files changed, 4 insertions(+), 4 deletions(-) > + > +Index: fontconfig-2.12.1/src/fcobjsh
[PATCH 1/1] gnu: fontconfig: Fix build failure caused by symbol conflict with glibc@2.25.
* gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch: New file. * gnu/local.mk (dist_patch_DATA): Add it. * gnu/packages/fontutils.scm (fontconfig)[source]: Use it. --- gnu/local.mk | 1 + gnu/packages/fontutils.scm | 1 + .../fontconfig-charwidth-symbol-conflict.patch | 82 ++ 3 files changed, 84 insertions(+) create mode 100644 gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch diff --git a/gnu/local.mk b/gnu/local.mk index ec9332271..3623bbb49 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -557,6 +557,7 @@ dist_patch_DATA = \ %D%/packages/patches/flint-ldconfig.patch\ %D%/packages/patches/fltk-shared-lib-defines.patch \ %D%/packages/patches/fltk-xfont-on-demand.patch \ + %D%/packages/patches/fontconfig-charwidth-symbol-conflict.patch \ %D%/packages/patches/fontforge-svg-modtime.patch \ %D%/packages/patches/freeimage-CVE-2015-0852.patch \ %D%/packages/patches/freeimage-CVE-2016-5684.patch \ diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index fad0cb11a..ad15659f6 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -229,6 +229,7 @@ fonts to/from the WOFF2 format.") (uri (string-append "https://www.freedesktop.org/software/fontconfig/release/fontconfig-"; version ".tar.bz2")) +(patches (search-patches "fontconfig-charwidth-symbol-conflict.patch")) (sha256 (base32 "1wy7svvp7df6bjpg1m5vizb3ngd7rhb20vpclv3x3qa71khs6jdl" (build-system gnu-build-system) diff --git a/gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch b/gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch new file mode 100644 index 0..8ebe33bc6 --- /dev/null +++ b/gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch @@ -0,0 +1,82 @@ +The first patch is copied from the upstream source repository: + +https://cgit.freedesktop.org/fontconfig/commit/?id=1ab5258f7c2abfafcd63a760ca08bf93591912da + +The second patch is adapted from a message to from the OpenEmbedded mailing list: + +http://lists.openembedded.org/pipermail/openembedded-core/2016-December/130213.html + +From 1ab5258f7c2abfafcd63a760ca08bf93591912da Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Wed, 14 Dec 2016 16:11:05 -0800 +Subject: Avoid conflicts with integer width macros from TS 18661-1:2014 + +glibc 2.25+ has now defined these macros in +https://sourceware.org/git/?p=glibc.git;a=commit;h=5b17fd0da62bf923cb61d1bb7b08cf2e1f1f9c1a + +Create an alias for FC_CHAR_WIDTH for ABI compatibility + +Signed-off-by: Khem Raj + +diff --git a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h +index 5c72b22..070a557 100644 +--- a/fontconfig/fontconfig.h b/fontconfig/fontconfig.h +@@ -128,7 +128,8 @@ typedef intFcBool; + #define FC_USER_CACHE_FILE".fonts.cache-" FC_CACHE_VERSION + + /* Adjust outline rasterizer */ +-#define FC_CHAR_WIDTH "charwidth" /* Int */ ++#define FC_CHARWIDTH "charwidth" /* Int */ ++#define FC_CHAR_WIDTH FC_CHARWIDTH + #define FC_CHAR_HEIGHT"charheight"/* Int */ + #define FC_MATRIX "matrix"/* FcMatrix */ + +diff --git a/src/fcobjs.h b/src/fcobjs.h +index 1fc4f65..d27864b 100644 +--- a/src/fcobjs.h b/src/fcobjs.h +@@ -51,7 +51,7 @@ FC_OBJECT (DPI, FcTypeDouble, NULL) + FC_OBJECT (RGBA, FcTypeInteger, NULL) + FC_OBJECT (SCALE, FcTypeDouble, NULL) + FC_OBJECT (MINSPACE, FcTypeBool, NULL) +-FC_OBJECT (CHAR_WIDTH,FcTypeInteger, NULL) ++FC_OBJECT (CHARWIDTH, FcTypeInteger, NULL) + FC_OBJECT (CHAR_HEIGHT, FcTypeInteger, NULL) + FC_OBJECT (MATRIX,FcTypeMatrix, NULL) + FC_OBJECT (CHARSET, FcTypeCharSet, FcCompareCharSet) +-- +cgit v0.10.2 + +From 20cddc824c6501c2082cac41b162c34cd5fcc530 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 11 Dec 2016 14:32:00 -0800 +Subject: [PATCH] Avoid conflicts with integer width macros from TS + 18661-1:2014 + +glibc 2.25+ has now defined these macros in +https://sourceware.org/git/?p=glibc.git;a=commit;h=5b17fd0da62bf923cb61d1bb7b08cf2e1f1f9c1a + +Signed-off-by: Khem Raj +--- +Upstream-Status: Submitted + + fontconfig/fontconfig.h | 2 +- + src/fcobjs.h| 2 +- + src/fcobjshash.gperf| 2 +- + src/fcobjshash.h| 2 +- + 4 files changed, 4 insertions(+), 4 deletions(-) + +Index: fontconfig-2.12.1/src/fcobjshash.h +=== +--- fontconfig-2.12.1.orig/src/fcobjshash.h fontconfig-2.12.1/src/fcobjshash.h +@@ -284,7 +284,7 @@ FcObjectTypeLookup (register const char + {(int)(long)&((struct FcObjectTypeNameP