The code to write timestamps couldn't handle negative times (and time
on the Mac is negativevalues > 0x80000000). Fixed.
diff --git a/Lib/gzip.py b/Lib/gzip.py
index 8e34ed2..6cb90ac 100644
--- a/Lib/gzip.py
+++ b/Lib/gzip.py
@@ -19,6 +19,8 @@
     output.write(struct.pack("<l", value))
 
 def write32u(output, value):
+    if value < 0:
+        value = value + 0x100000000L
     output.write(struct.pack("<L", value))
 
 def read32(input):