aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/patches/ttfautohint-source-date-epoch.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/patches/ttfautohint-source-date-epoch.patch')
-rw-r--r--gnu/packages/patches/ttfautohint-source-date-epoch.patch70
1 files changed, 0 insertions, 70 deletions
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 */