diff options
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/fontutils.scm | 7 | ||||
-rw-r--r-- | gnu/packages/patches/ttfautohint-source-date-epoch.patch | 70 |
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 */ |