pkgsrc-Changes-HG archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

[pkgsrc/trunk]: pkgsrc/archivers/gtar-base 64-bit time_t fallout:



details:   https://anonhg.NetBSD.org/pkgsrc/rev/14210e53f111
branches:  trunk
changeset: 553386:14210e53f111
user:      tnn <tnn%pkgsrc.org@localhost>
date:      Tue Jan 20 00:33:56 2009 +0000

description:
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:

 archivers/gtar-base/distinfo         |   4 +++-
 archivers/gtar-base/patches/patch-ah |  17 +++++++++++++++++
 archivers/gtar-base/patches/patch-ai |  17 +++++++++++++++++
 3 files changed, 37 insertions(+), 1 deletions(-)

diffs (57 lines):

diff -r c644e2c111f7 -r 14210e53f111 archivers/gtar-base/distinfo
--- a/archivers/gtar-base/distinfo      Tue Jan 20 00:33:42 2009 +0000
+++ b/archivers/gtar-base/distinfo      Tue Jan 20 00:33:56 2009 +0000
@@ -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-ae) = 99323cf270e3e60dd21db42aea3556dd9255cef2
 SHA1 (patch-af) = 8e57e09e3b1a79310dc343c3741fc94916788b79
 SHA1 (patch-ag) = 8e1f6d2b6d38a029485cd7a1987cc6acb6a4cc84
+SHA1 (patch-ah) = f1e26c3474982b9cef494554cd6e876c86afc22c
+SHA1 (patch-ai) = 93904441dc0bfc100ce07845a0ba3c3b2c74ba25
diff -r c644e2c111f7 -r 14210e53f111 archivers/gtar-base/patches/patch-ah
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/archivers/gtar-base/patches/patch-ah      Tue Jan 20 00:33:56 2009 +0000
@@ -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 -r c644e2c111f7 -r 14210e53f111 archivers/gtar-base/patches/patch-ai
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/archivers/gtar-base/patches/patch-ai      Tue Jan 20 00:33:56 2009 +0000
@@ -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.  */



Home | Main Index | Thread Index | Old Index