summaryrefslogtreecommitdiff
path: root/archivers
diff options
context:
space:
mode:
authortnn <tnn>2009-01-20 00:33:56 +0000
committertnn <tnn>2009-01-20 00:33:56 +0000
commit617c60a7a704899a86d3c99fe78bc1e6134db888 (patch)
tree025be1fd9596ab3aa68c8fcc11a63a91b2f11077 /archivers
parent6d80678af6b1dbeb5855e71d0408ab77fcb57c3c (diff)
downloadpkgsrc-617c60a7a704899a86d3c99fe78bc1e6134db888.tar.gz
64-bit time_t fallout:
gtar cowardly refuses to build if time_t doesn't fit in "long int", as happens to be the case now on 32-bit NetBSD hosts. Supress the error and turn it into a warning instead. "make test" still OK
Diffstat (limited to 'archivers')
-rw-r--r--archivers/gtar-base/distinfo4
-rw-r--r--archivers/gtar-base/patches/patch-ah17
-rw-r--r--archivers/gtar-base/patches/patch-ai17
3 files changed, 37 insertions, 1 deletions
diff --git a/archivers/gtar-base/distinfo b/archivers/gtar-base/distinfo
index 995d6d9830a..d96c09f3424 100644
--- a/archivers/gtar-base/distinfo
+++ b/archivers/gtar-base/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.22 2008/05/18 01:48:09 tnn Exp $
+$NetBSD: distinfo,v 1.23 2009/01/20 00:33:56 tnn Exp $
SHA1 (tar-1.20.tar.gz) = 1bc0731a00f2483f381c48e0b3f359877ddff910
RMD160 (tar-1.20.tar.gz) = 6ac6847b4d0f4fcd61408f63df18b503699f2fb9
@@ -8,3 +8,5 @@ SHA1 (patch-ad) = c5106ba2d0a0414ccbc55dfbf71c95280080b190
SHA1 (patch-ae) = 99323cf270e3e60dd21db42aea3556dd9255cef2
SHA1 (patch-af) = 8e57e09e3b1a79310dc343c3741fc94916788b79
SHA1 (patch-ag) = 8e1f6d2b6d38a029485cd7a1987cc6acb6a4cc84
+SHA1 (patch-ah) = f1e26c3474982b9cef494554cd6e876c86afc22c
+SHA1 (patch-ai) = 93904441dc0bfc100ce07845a0ba3c3b2c74ba25
diff --git a/archivers/gtar-base/patches/patch-ah b/archivers/gtar-base/patches/patch-ah
new file mode 100644
index 00000000000..36eaf427d4a
--- /dev/null
+++ b/archivers/gtar-base/patches/patch-ah
@@ -0,0 +1,17 @@
+$NetBSD: patch-ah,v 1.5 2009/01/20 00:33:56 tnn Exp $
+
+--- lib/getdate.c.orig 2008-02-16 13:14:35.000000000 +0100
++++ lib/getdate.c
+@@ -227,8 +227,12 @@
+ long int. It also assumes that signed integer overflow silently
+ wraps around, but there's no portable way to check for that at
+ compile-time. */
++#ifdef __NetBSD__
++#warning this might break with 64-bit time_t on 32-bit hosts
++#else
+ verify (TYPE_IS_INTEGER (time_t));
+ verify (LONG_MIN <= TYPE_MINIMUM (time_t) && TYPE_MAXIMUM (time_t) <= LONG_MAX);
++#endif
+
+ /* An integer value, and the number of digits in its textual
+ representation. */
diff --git a/archivers/gtar-base/patches/patch-ai b/archivers/gtar-base/patches/patch-ai
new file mode 100644
index 00000000000..4b16c24de57
--- /dev/null
+++ b/archivers/gtar-base/patches/patch-ai
@@ -0,0 +1,17 @@
+$NetBSD: patch-ai,v 1.4 2009/01/20 00:33:56 tnn Exp $
+
+--- lib/mktime.c.orig 2007-10-30 21:48:29.000000000 +0100
++++ lib/mktime.c
+@@ -167,8 +167,12 @@ ydhms_diff (long int year1, long int yda
+ int year0, int yday0, int hour0, int min0, int sec0)
+ {
+ verify (C99_integer_division, -1 / 2 == 0);
++#ifdef __NetBSD__
++#warning this might break with 64-bit time_t on 32-bit hosts
++#else
+ verify (long_int_year_and_yday_are_wide_enough,
+ INT_MAX <= LONG_MAX / 2 || TIME_T_MAX <= UINT_MAX);
++#endif
+
+ /* Compute intervening leap days correctly even if year is negative.
+ Take care to avoid integer overflow here. */