guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

01/01: gnu: fontconfig: Update to 2.12.3.


From: Marius Bakke
Subject: 01/01: gnu: fontconfig: Update to 2.12.3.
Date: Sun, 11 Jun 2017 17:53:19 -0400 (EDT)

mbakke pushed a commit to branch core-updates
in repository guix.

commit 70564e71bd499fe7711c95a7d88451efd92e9c8f
Author: Marius Bakke <address@hidden>
Date:   Sun Jun 11 19:02:11 2017 +0200

    gnu: fontconfig: Update to 2.12.3.
    
    * 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(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index b15cb2c..3957e5b 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -587,8 +587,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 c5a6923..bd74c4d 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)
@@ -225,22 +226,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"
@@ -258,10 +258,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 8ebe33b..0000000
--- 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 <address@hidden>
-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 <address@hidden>
-
-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 e12f60e..0000000
--- 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
-



reply via email to

[Prev in Thread] Current Thread [Next in Thread]