Re: [PATCH 1/1] gnu: fontconfig: Fix build failure caused by symbol conflict with glibc@2.25.

2017-02-26 Thread Marius Bakke
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 

[PATCH 1/1] gnu: fontconfig: Fix build failure caused by symbol conflict with glibc@2.25.

2017-02-25 Thread Leo Famulari
* 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
+