summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/fontutils.scm7
-rw-r--r--gnu/packages/patches/ttfautohint-source-date-epoch.patch70
3 files changed, 3 insertions, 75 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 44f7d612ad..6e47d74e0a 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1611,7 +1611,6 @@ dist_patch_DATA =						\
   %D%/packages/patches/tk-find-library.patch			\
   %D%/packages/patches/transcode-ffmpeg.patch	\
   %D%/packages/patches/ttf2eot-cstddef.patch			\
-  %D%/packages/patches/ttfautohint-source-date-epoch.patch	\
   %D%/packages/patches/tomb-fix-errors-on-open.patch		\
   %D%/packages/patches/tup-unbundle-dependencies.patch		\
   %D%/packages/patches/tuxpaint-stamps-path.patch		\
diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm
index b53365e0d5..19b3c8da84 100644
--- a/gnu/packages/fontutils.scm
+++ b/gnu/packages/fontutils.scm
@@ -2,7 +2,7 @@
 ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
 ;;; Copyright © 2016 Mark H Weaver <mhw@netris.org>
-;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
+;;; Copyright © 2016, 2017, 2020 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2017 Rene Saavedra <rennes@openmailbox.org>
 ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
 ;;; Copyright © 2017 Nikita <nikita@n0.is>
@@ -100,7 +100,7 @@ anti-aliased glyph bitmap generation with 256 gray levels.")
 (define-public ttfautohint
   (package
     (name "ttfautohint")
-    (version "1.5")
+    (version "1.8.3")
     (source
      (origin
        (method url-fetch)
@@ -108,8 +108,7 @@ anti-aliased glyph bitmap generation with 256 gray levels.")
                            version ".tar.gz"))
        (sha256
         (base32
-         "1lgghck46p33z3hg8dnl76jryig4fh6d8rhzms837zp7x4hyfkv4"))
-       (patches (list (search-patch "ttfautohint-source-date-epoch.patch")))))
+         "0zpqgihn3yh3v51ynxwr8asqrijvs4gv686clwv7bm8sawr4kfw7"))))
     (build-system gnu-build-system)
     (native-inputs
      `(("flex" ,flex)
diff --git a/gnu/packages/patches/ttfautohint-source-date-epoch.patch b/gnu/packages/patches/ttfautohint-source-date-epoch.patch
deleted file mode 100644
index e42fdbf6b0..0000000000
--- a/gnu/packages/patches/ttfautohint-source-date-epoch.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-Honour an external definition of SOURCE_DATE_EPOCH when updating the embedded
-modification date in TTF/TTC files.
-
---- a/lib/tatime.c
-+++ b/lib/tatime.c
-@@ -15,6 +15,8 @@
- 
- #include <time.h>
- #include <stdint.h>
-+#include <errno.h>
-+#include <limits.h>
- 
- #include "ta.h"
- 
-@@ -27,12 +29,51 @@ TA_get_current_time(FT_ULong* high,
- {
-   /* there have been 24107 days between January 1st, 1904 (the epoch of */
-   /* OpenType), and January 1st, 1970 (the epoch of the `time' function) */
--  TA_ULongLong seconds_to_1970 = 24107 * 24 * 60 * 60;
--  TA_ULongLong seconds_to_today = seconds_to_1970 + (TA_ULongLong)time(NULL);
-+  const TA_ULongLong seconds_to_1970 = 24107 * 24 * 60 * 60;
-+  TA_ULongLong seconds_to_build;
- 
-+  time_t now;
-+  char *source_date_epoch, *endptr;
-+  TA_ULongLong epoch;
-+  source_date_epoch = getenv("SOURCE_DATE_EPOCH");
-+  if (source_date_epoch) {
-+    errno = 0;
-+    epoch = strtoull(source_date_epoch, &endptr, 10);
-+    if ((errno == ERANGE && (epoch == ULLONG_MAX || epoch == 0))
-+	|| (errno != 0 && epoch == 0)) {
-+      fprintf(stderr,
-+	      "Environment variable $SOURCE_DATE_EPOCH: strtoull: %s\n",
-+	      strerror(errno));
-+      exit(EXIT_FAILURE);
-+    }
-+    if (endptr == source_date_epoch) {
-+      fprintf(stderr,
-+	      "Environment variable $SOURCE_DATE_EPOCH: No digits were found: %s\n",
-+	      endptr);
-+      exit(EXIT_FAILURE);
-+    }
-+    if (*endptr != '\0') {
-+      fprintf(stderr,
-+	      "Environment variable $SOURCE_DATE_EPOCH: Trailing garbage: %s\n",
-+	      endptr);
-+      exit(EXIT_FAILURE);
-+    }
-+    if (epoch > ULONG_MAX) {
-+      fprintf(stderr,
-+	      "Environment variable $SOURCE_DATE_EPOCH: value must be smaller "
-+	      "than or equal to: %lu but was found to be: %llu \n",
-+	      ULONG_MAX, epoch);
-+      exit(EXIT_FAILURE);
-+    }
-+    now = epoch;
-+  } else {
-+    now = time(NULL);
-+  }
- 
--  *high = (FT_ULong)(seconds_to_today >> 32);
--  *low = (FT_ULong)seconds_to_today;
-+  seconds_to_build = seconds_to_1970 + (TA_ULongLong)now;
-+
-+  *high = (FT_ULong)(seconds_to_build >> 32);
-+  *low = (FT_ULong)seconds_to_build;
- }
- 
- /* end of tatime.c */