GNU bug report logs -
#27330
[PATCH] gnu: fontconfig: Update to 2.12.3.
Previous Next
Reported by: Marius Bakke <mbakke <at> fastmail.com>
Date: Sun, 11 Jun 2017 17:11:01 UTC
Severity: normal
Tags: patch
Done: Marius Bakke <mbakke <at> fastmail.com>
Bug is archived. No further changes may be made.
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 27330 in the body.
You can then email your comments to 27330 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
guix-patches <at> gnu.org
:
bug#27330
; Package
guix-patches
.
(Sun, 11 Jun 2017 17:11:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Marius Bakke <mbakke <at> fastmail.com>
:
New bug report received and forwarded. Copy sent to
guix-patches <at> gnu.org
.
(Sun, 11 Jun 2017 17:11:02 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
* gnu/packages/fontutils.scm (fontconfig): Update to 2.12.3.
[source]: Remove obsolete patches.
[native-inputs]: Add GPERF.
[arguments]<#:phases>: Remove obsolete 'fix-tests-for-freetype-2.7.1'
phase. Add 'regenerate-fcobjshash'.
* gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch,
gnu/packages/patches/fontconfig-path-max.patch: Delete files.
* gnu/local.mk (dist_patch_DATA): Remove them.
---
gnu/local.mk | 2 -
gnu/packages/fontutils.scm | 18 +--
.../fontconfig-charwidth-symbol-conflict.patch | 82 --------------
gnu/packages/patches/fontconfig-path-max.patch | 124 ---------------------
4 files changed, 10 insertions(+), 216 deletions(-)
delete mode 100644 gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch
delete mode 100644 gnu/packages/patches/fontconfig-path-max.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 128cca84e..f327d83f9 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -589,8 +589,6 @@ 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/fontconfig-path-max.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 efea81dc1..624c19b15 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -34,6 +34,7 @@
#:use-module (gnu packages bison)
#:use-module (gnu packages flex)
#:use-module (gnu packages glib)
+ #:use-module (gnu packages gperf)
#:use-module (gnu packages xorg)
#:use-module (gnu packages gtk)
#:use-module (gnu packages xml)
@@ -235,22 +236,21 @@ fonts to/from the WOFF2 format.")
(define-public fontconfig
(package
(name "fontconfig")
- (version "2.12.1")
+ (version "2.12.3")
(source (origin
(method url-fetch)
(uri (string-append
"https://www.freedesktop.org/software/fontconfig/release/fontconfig-"
version ".tar.bz2"))
- (patches (search-patches "fontconfig-charwidth-symbol-conflict.patch"
- "fontconfig-path-max.patch"))
(sha256 (base32
- "1wy7svvp7df6bjpg1m5vizb3ngd7rhb20vpclv3x3qa71khs6jdl"))))
+ "1ggq6jmz3mlzk4xjs615aqw9h3hq33chjn82bhli26kk09kby95x"))))
(build-system gnu-build-system)
(propagated-inputs `(("expat" ,expat)
("freetype" ,freetype)))
(inputs `(("gs-fonts" ,gs-fonts)))
(native-inputs
- `(("pkg-config" ,pkg-config)))
+ `(("gperf" ,gperf) ; Try dropping this for > 2.12.3.
+ ("pkg-config" ,pkg-config)))
(arguments
`(#:configure-flags
(list "--with-cache-dir=/var/cache/fontconfig"
@@ -268,10 +268,12 @@ fonts to/from the WOFF2 format.")
"PYTHON=false")
#:phases
(modify-phases %standard-phases
- (add-after 'unpack 'fix-tests-for-freetype-2.7.1
+ (add-before 'configure 'regenerate-fcobjshash
+ ;; XXX The pre-generated gperf files are broken.
+ ;; See <https://bugs.freedesktop.org/show_bug.cgi?id=101280>.
(lambda _
- (substitute* "test/run-test.sh"
- (("\\\| sort") "| cut -d' ' -f2 | sort"))
+ (delete-file "src/fcobjshash.h")
+ (delete-file "src/fcobjshash.gperf")
#t))
(replace 'install
(lambda _
diff --git a/gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch b/gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch
deleted file mode 100644
index 8ebe33bc6..000000000
--- a/gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch
+++ /dev/null
@@ -1,82 +0,0 @@
-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 <at> 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 <at> 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"
diff --git a/gnu/packages/patches/fontconfig-path-max.patch b/gnu/packages/patches/fontconfig-path-max.patch
deleted file mode 100644
index e12f60ef0..000000000
--- a/gnu/packages/patches/fontconfig-path-max.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-This patch fix the build on GNU/Hurd, due to PATH_MAX isn't defined.
-
-The patch was adapted from upstream source repository:
-'<https://cgit.freedesktop.org/fontconfig/commit/?id=abdb6d658e1a16410dd1c964e365a3ebd5039e7c>'
-Commit: abdb6d658e1a16410dd1c964e365a3ebd5039e7c
-
----
- src/fcdefault.c | 34 +++++++++++++++++++++++++++-------
- src/fcint.h | 6 ++++++
- src/fcstat.c | 12 +++++++++++-
- 3 files changed, 44 insertions(+), 8 deletions(-)
-
-diff --git a/src/fcdefault.c b/src/fcdefault.c
-index 6647a8f..5afd7ec 100644
---- a/src/fcdefault.c
-+++ b/src/fcdefault.c
-@@ -148,17 +148,34 @@ retry:
- prgname = FcStrdup ("");
- #else
- # if defined (HAVE_GETEXECNAME)
-- const char *p = getexecname ();
-+ char *p = FcStrdup(getexecname ());
- # elif defined (HAVE_READLINK)
-- char buf[PATH_MAX + 1];
-- int len;
-+ size_t size = FC_PATH_MAX;
- char *p = NULL;
-
-- len = readlink ("/proc/self/exe", buf, sizeof (buf) - 1);
-- if (len != -1)
-+ while (1)
- {
-- buf[len] = '\0';
-- p = buf;
-+ char *buf = malloc (size);
-+ ssize_t len;
-+
-+ if (!buf)
-+ break;
-+
-+ len = readlink ("/proc/self/exe", buf, size - 1);
-+ if (len < 0)
-+ {
-+ free (buf);
-+ break;
-+ }
-+ if (len < size - 1)
-+ {
-+ buf[len] = 0;
-+ p = buf;
-+ break;
-+ }
-+
-+ free (buf);
-+ size *= 2;
- }
- # else
- char *p = NULL;
-@@ -176,6 +193,9 @@ retry:
-
- if (!prgname)
- prgname = FcStrdup ("");
-+
-+ if (p)
-+ free (p);
- #endif
-
- if (!fc_atomic_ptr_cmpexch (&default_prgname, NULL, prgname)) {
-diff --git a/src/fcint.h b/src/fcint.h
-index ac911ad..dad34c5 100644
---- a/src/fcint.h
-+++ b/src/fcint.h
-@@ -70,6 +70,12 @@ extern pfnSHGetFolderPathA pSHGetFolderPathA;
- # define FC_DIR_SEPARATOR_S "/"
- #endif
-
-+#ifdef PATH_MAX
-+#define FC_PATH_MAX PATH_MAX
-+#else
-+#define FC_PATH_MAX 128
-+#endif
-+
- #if __GNUC__ >= 4
- #define FC_UNUSED __attribute__((unused))
- #else
-diff --git a/src/fcstat.c b/src/fcstat.c
-index 1734fa4..f6e1aaa 100644
---- a/src/fcstat.c
-+++ b/src/fcstat.c
-@@ -278,8 +278,13 @@ FcDirChecksum (const FcChar8 *dir, time_t *checksum)
- {
- #endif
- struct stat statb;
-- char f[PATH_MAX + 1];
-+ char *f = malloc (len + 1 + dlen + 1);
-
-+ if (!f)
-+ {
-+ ret = -1;
-+ goto bail;
-+ }
- memcpy (f, dir, len);
- f[len] = FC_DIR_SEPARATOR;
- memcpy (&f[len + 1], files[n]->d_name, dlen);
-@@ -287,11 +292,16 @@ FcDirChecksum (const FcChar8 *dir, time_t *checksum)
- if (lstat (f, &statb) < 0)
- {
- ret = -1;
-+ free (f);
- goto bail;
- }
- if (S_ISDIR (statb.st_mode))
-+ {
-+ free (f);
- goto bail;
-+ }
-
-+ free (f);
- dtype = statb.st_mode;
- #ifdef HAVE_STRUCT_DIRENT_D_TYPE
- }
---
-2.11.0
-
--
2.13.1
Information forwarded
to
guix-patches <at> gnu.org
:
bug#27330
; Package
guix-patches
.
(Sun, 11 Jun 2017 20:21:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 27330 <at> debbugs.gnu.org (full text, mbox):
Marius Bakke <mbakke <at> fastmail.com> skribis:
> * gnu/packages/fontutils.scm (fontconfig): Update to 2.12.3.
> [source]: Remove obsolete patches.
> [native-inputs]: Add GPERF.
> [arguments]<#:phases>: Remove obsolete 'fix-tests-for-freetype-2.7.1'
> phase. Add 'regenerate-fcobjshash'.
> * gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch,
> gnu/packages/patches/fontconfig-path-max.patch: Delete files.
> * gnu/local.mk (dist_patch_DATA): Remove them.
LGTM! (For ‘core-updates’ I guess.)
Thanks,
Ludo’.
Reply sent
to
Marius Bakke <mbakke <at> fastmail.com>
:
You have taken responsibility.
(Sun, 11 Jun 2017 21:56:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Marius Bakke <mbakke <at> fastmail.com>
:
bug acknowledged by developer.
(Sun, 11 Jun 2017 21:56:02 GMT)
Full text and
rfc822 format available.
Message #13 received at 27330-done <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
Ludovic Courtès <ludo <at> gnu.org> writes:
> Marius Bakke <mbakke <at> fastmail.com> skribis:
>
>> * gnu/packages/fontutils.scm (fontconfig): Update to 2.12.3.
>> [source]: Remove obsolete patches.
>> [native-inputs]: Add GPERF.
>> [arguments]<#:phases>: Remove obsolete 'fix-tests-for-freetype-2.7.1'
>> phase. Add 'regenerate-fcobjshash'.
>> * gnu/packages/patches/fontconfig-charwidth-symbol-conflict.patch,
>> gnu/packages/patches/fontconfig-path-max.patch: Delete files.
>> * gnu/local.mk (dist_patch_DATA): Remove them.
>
> LGTM! (For ‘core-updates’ I guess.)
Yep, thanks for checking. Pushed!
[signature.asc (application/pgp-signature, inline)]
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Mon, 10 Jul 2017 11:24:05 GMT)
Full text and
rfc822 format available.
This bug report was last modified 8 years and 59 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.