+Improper condition was introduced in 1.2.5 causing some applications
+(e.g. cgit) to fail due to conflicting declarations.
+
+References:
+- http://mail.madler.net/pipermail/zlib-devel_madler.net/2010-May/002249.html
+- http://bugs.debian.org/439980
+- http://bugs.gentoo.org/show_bug.cgi?id=316377
+- http://bugs.gentoo.org/show_bug.cgi?id=316855
+- http://bugs.archlinux.org/task/19280
+- https://bugs.launchpad.net/ubuntu/+source/libpciaccess/+bug/402178
+
+--- zlib-1.2.5/zlib.h.orig 2010-04-20 06:12:48.000000000 +0200
++++ zlib-1.2.5/zlib.h 2010-05-24 21:28:52.465538337 +0200
+@@ -1562,7 +1562,7 @@
+ * functions are changed to 64 bits) -- in case these are set on systems
+ * without large file support, _LFS64_LARGEFILE must also be true
+ */
+-#if defined(_LARGEFILE64_SOURCE) && _LFS64_LARGEFILE-0
++#if (defined(_LARGEFILE64_SOURCE) || (_FILE_OFFSET_BITS-0 == 64)) && _LFS64_LARGEFILE-0
+ ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
+ ZEXTERN z_off64_t ZEXPORT gzseek64 OF((gzFile, z_off64_t, int));
+ ZEXTERN z_off64_t ZEXPORT gztell64 OF((gzFile));
+@@ -1578,14 +1578,6 @@
+ # define gzoffset gzoffset64
+ # define adler32_combine adler32_combine64
+ # define crc32_combine crc32_combine64
+-# ifdef _LARGEFILE64_SOURCE
+- ZEXTERN gzFile ZEXPORT gzopen64 OF((const char *, const char *));
+- ZEXTERN z_off_t ZEXPORT gzseek64 OF((gzFile, z_off_t, int));
+- ZEXTERN z_off_t ZEXPORT gztell64 OF((gzFile));
+- ZEXTERN z_off_t ZEXPORT gzoffset64 OF((gzFile));
+- ZEXTERN uLong ZEXPORT adler32_combine64 OF((uLong, uLong, z_off_t));
+- ZEXTERN uLong ZEXPORT crc32_combine64 OF((uLong, uLong, z_off_t));
+-# endif
+ #else
+ ZEXTERN gzFile ZEXPORT gzopen OF((const char *, const char *));
+ ZEXTERN z_off_t ZEXPORT gzseek OF((gzFile, z_off_t, int));