From: Marius Bakke <mbakke@fastmail.com>
To: Leo Famulari <leo@famulari.name>, guix-devel@gnu.org
Subject: Re: [PATCH 1/1] gnu: fontconfig: Fix build failure caused by symbol conflict with glibc@2.25.
Date: Sun, 26 Feb 2017 16:16:07 +0100 [thread overview]
Message-ID: <87k28df0eg.fsf@kirby.i-did-not-set--mail-host-address--so-tickle-me> (raw)
In-Reply-To: <4f15aad88b751277b10e5357fcd321167aa4e7eb.1488040009.git.leo@famulari.name>
[-- Attachment #1: Type: text/plain, Size: 5777 bytes --]
Leo Famulari <leo@famulari.name> 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 000000000..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 <raj.khem@gmail.com>
> +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 <limits.h>
> +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 <raj.khem@gmail.com>
> +
> +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 <raj.khem at gmail.com>
> +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 <limits.h>
> +https://sourceware.org/git/?p=glibc.git;a=commit;h=5b17fd0da62bf923cb61d1bb7b08cf2e1f1f9c1a
> +
> +Signed-off-by: Khem Raj <raj.khem at gmail.com>
> +---
> +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 FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str43,FC_CHARSET_OBJECT},
> + {-1},
> + #line 47 "fcobjshash.gperf"
> +- {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHAR_WIDTH_OBJECT},
> ++ {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str45,FC_CHARWIDTH_OBJECT},
> + #line 48 "fcobjshash.gperf"
> + {(int)(long)&((struct FcObjectTypeNamePool_t *)0)->FcObjectTypeNamePool_str46,FC_CHAR_HEIGHT_OBJECT},
> + #line 55 "fcobjshash.gperf"
> --
> 2.11.1
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
prev parent reply other threads:[~2017-02-26 15:16 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-02-25 16:26 [PATCH 1/1] gnu: fontconfig: Fix build failure caused by symbol conflict with glibc@2.25 Leo Famulari
2017-02-26 15:16 ` Marius Bakke [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87k28df0eg.fsf@kirby.i-did-not-set--mail-host-address--so-tickle-me \
--to=mbakke@fastmail.com \
--cc=guix-devel@gnu.org \
--cc=leo@famulari.name \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/guix.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.