me
/
guix
Archived
1
0
Fork 0

gnu: ttfautohint: Update to 1.8.3.

* gnu/packages/fontutils.scm (ttfautohint): Update to 1.8.3.
[source]: Remove patch.
* gnu/packages/patches/ttfautohint-source-date-epoch.patch: Remove file.
* gnu/local.mk (dist_patch_DATA): Remove it.
master
Efraim Flashner 2020-09-01 23:36:52 +03:00
parent 3d494ccd7d
commit 0be22e4474
No known key found for this signature in database
GPG Key ID: 41AAE7DCCA3D8351
3 changed files with 3 additions and 75 deletions

View File

@ -1611,7 +1611,6 @@ dist_patch_DATA = \
%D%/packages/patches/tk-find-library.patch \ %D%/packages/patches/tk-find-library.patch \
%D%/packages/patches/transcode-ffmpeg.patch \ %D%/packages/patches/transcode-ffmpeg.patch \
%D%/packages/patches/ttf2eot-cstddef.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/tomb-fix-errors-on-open.patch \
%D%/packages/patches/tup-unbundle-dependencies.patch \ %D%/packages/patches/tup-unbundle-dependencies.patch \
%D%/packages/patches/tuxpaint-stamps-path.patch \ %D%/packages/patches/tuxpaint-stamps-path.patch \

View File

@ -2,7 +2,7 @@
;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr> ;;; Copyright © 2013, 2014, 2015 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org> ;;; Copyright © 2014, 2016 Eric Bavier <bavier@member.fsf.org>
;;; Copyright © 2016 Mark H Weaver <mhw@netris.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 Rene Saavedra <rennes@openmailbox.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name> ;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;; Copyright © 2017 Nikita <nikita@n0.is> ;;; Copyright © 2017 Nikita <nikita@n0.is>
@ -100,7 +100,7 @@ anti-aliased glyph bitmap generation with 256 gray levels.")
(define-public ttfautohint (define-public ttfautohint
(package (package
(name "ttfautohint") (name "ttfautohint")
(version "1.5") (version "1.8.3")
(source (source
(origin (origin
(method url-fetch) (method url-fetch)
@ -108,8 +108,7 @@ anti-aliased glyph bitmap generation with 256 gray levels.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"1lgghck46p33z3hg8dnl76jryig4fh6d8rhzms837zp7x4hyfkv4")) "0zpqgihn3yh3v51ynxwr8asqrijvs4gv686clwv7bm8sawr4kfw7"))))
(patches (list (search-patch "ttfautohint-source-date-epoch.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (native-inputs
`(("flex" ,flex) `(("flex" ,flex)

View File

@ -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 */