Porting changes from stdenv-updates into this branch.
This comes from: svn diff ^/nixpkgs/trunk/@18255 ^/nixpkgs/branches/stdenv-updates/ > diff patch -p0 < diff and then adding into svn all files new from the patch. trunk@18255 comes from the last time I updated stdenv-updates from trunk. svn path=/nixpkgs/stdenv-updates2/; revision=18272
This commit is contained in:
@@ -1,17 +1,35 @@
|
||||
{stdenv, fetchurl}:
|
||||
|
||||
stdenv.mkDerivation {
|
||||
name = "gzip-1.3.12";
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "gzip-1.3.13";
|
||||
|
||||
src = fetchurl {
|
||||
url = http://ftp.gnu.org/gnu/gzip/gzip-1.3.12.tar.gz;
|
||||
sha256 = "1bw7sm68xjlnlzgcx66hnw80ac1qqyvhw0vw27zilgbzbzh5nmiz";
|
||||
url = "mirror://gnu/gzip/${name}.tar.gz";
|
||||
sha256 = "18vwa7x0b1sql9bs2d15n94fx3him1m6xpnwsfz52djjbjgzy1hx";
|
||||
};
|
||||
|
||||
patches = [ ./getopt.patch ];
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
homepage = http://www.gzip.org/;
|
||||
description = "The gzip compression program";
|
||||
homepage = http://www.gnu.org/software/gzip/;
|
||||
description = "Gzip, the GNU zip compression program";
|
||||
|
||||
longDescription =
|
||||
''gzip (GNU zip) is a popular data compression program written by
|
||||
Jean-loup Gailly for the GNU project. Mark Adler wrote the
|
||||
decompression part.
|
||||
|
||||
We developed this program as a replacement for compress because of
|
||||
the Unisys and IBM patents covering the LZW algorithm used by
|
||||
compress. These patents made it impossible for us to use compress,
|
||||
and we needed a replacement. The superior compression ratio of gzip
|
||||
is just a bonus.
|
||||
'';
|
||||
|
||||
license = "GPLv3+";
|
||||
|
||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
||||
};
|
||||
|
||||
patches = [./gnulib-futimens.patch];
|
||||
}
|
||||
|
||||
@@ -0,0 +1,54 @@
|
||||
See http://lists.gnu.org/archive/html/bug-gnulib/2009-10/msg00089.html .
|
||||
|
||||
From dd0ebefe4fe761f6f422a400430db53c64dbffd7 Mon Sep 17 00:00:00 2001
|
||||
From: Eric Blake <ebb9@byu.net>
|
||||
Date: Tue, 6 Oct 2009 20:44:13 -0600
|
||||
Subject: [PATCH] getopt: fix compilation on darwin
|
||||
MIME-Version: 1.0
|
||||
Content-Type: text/plain; charset=UTF-8
|
||||
Content-Transfer-Encoding: 8bit
|
||||
|
||||
* lib/getopt.in.h (includes): Leave breadcrumbs during system
|
||||
include.
|
||||
* lib/unistd.in.h (getopt): Use them to avoid recursive include.
|
||||
Reported by Ludovic Courtès.
|
||||
|
||||
Signed-off-by: Eric Blake <ebb9@byu.net>
|
||||
---
|
||||
ChangeLog | 5 +++++
|
||||
lib/getopt.in.h | 6 +++++-
|
||||
lib/unistd.in.h | 2 +-
|
||||
3 files changed, 11 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/lib/getopt.in.h b/lib/getopt.in.h
|
||||
index 9de467a..7377f3c 100644
|
||||
--- a/lib/getopt.in.h
|
||||
+++ b/lib/getopt.in.h
|
||||
@@ -22,9 +22,13 @@
|
||||
@PRAGMA_SYSTEM_HEADER@
|
||||
#endif
|
||||
|
||||
-/* The include_next requires a split double-inclusion guard. */
|
||||
+/* The include_next requires a split double-inclusion guard. We must
|
||||
+ also inform the replacement unistd.h to not recursively use
|
||||
+ <getopt.h>; our definitions will be present soon enough. */
|
||||
#if @HAVE_GETOPT_H@
|
||||
+# define _GL_SYSTEM_GETOPT
|
||||
# @INCLUDE_NEXT@ @NEXT_GETOPT_H@
|
||||
+# undef _GL_SYSTEM_GETOPT
|
||||
#endif
|
||||
|
||||
#ifndef _GL_GETOPT_H
|
||||
diff --git a/lib/unistd.in.h b/lib/unistd.in.h
|
||||
index 38e2e13..b6ea889 100644
|
||||
--- a/lib/unistd.in.h
|
||||
+++ b/lib/unistd.in.h
|
||||
@@ -49,7 +49,7 @@
|
||||
#endif
|
||||
|
||||
/* Get getopt(), optarg, optind, opterr, optopt. */
|
||||
-#if @GNULIB_UNISTD_H_GETOPT@
|
||||
+#if @GNULIB_UNISTD_H_GETOPT@ && !defined _GL_SYSTEM_GETOPT
|
||||
# include <getopt.h>
|
||||
#endif
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
now hat glibc-2.6 declares futimens.
|
||||
http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00089.html
|
||||
|
||||
diff -ru cpio-2.7.orig/lib/utimens.c cpio-2.7/lib/utimens.c
|
||||
--- cpio-2.7.orig/lib/utimens.c 2007-05-20 21:23:57.000000000 +0900
|
||||
+++ cpio-2.7/lib/utimens.c 2007-05-21 08:40:22.000000000 +0900
|
||||
@@ -73,7 +73,7 @@
|
||||
Return 0 on success, -1 (setting errno) on failure. */
|
||||
|
||||
int
|
||||
-futimens (int fd ATTRIBUTE_UNUSED,
|
||||
+gl_futimens (int fd ATTRIBUTE_UNUSED,
|
||||
char const *file, struct timespec const timespec[2])
|
||||
{
|
||||
/* There's currently no interface to set file timestamps with
|
||||
@@ -166,5 +166,5 @@
|
||||
int
|
||||
utimens (char const *file, struct timespec const timespec[2])
|
||||
{
|
||||
- return futimens (-1, file, timespec);
|
||||
+ return gl_futimens (-1, file, timespec);
|
||||
}
|
||||
diff -ru cpio-2.7.orig/lib/utimens.h cpio-2.7/lib/utimens.h
|
||||
--- cpio-2.7.orig/lib/utimens.h 2007-05-20 21:23:57.000000000 +0900
|
||||
+++ cpio-2.7/lib/utimens.h 2007-05-21 08:39:57.000000000 +0900
|
||||
@@ -1,3 +1,3 @@
|
||||
#include "timespec.h"
|
||||
-int futimens (int, char const *, struct timespec const [2]);
|
||||
+int gl_futimens (int, char const *, struct timespec const [2]);
|
||||
int utimens (char const *, struct timespec const [2]);
|
||||
diff -ur gzip-1.3.12.orig/gzip.c gzip-1.3.12/gzip.c
|
||||
--- gzip-1.3.12.orig/gzip.c 2007-05-21 09:12:46.000000000 +0900
|
||||
+++ gzip-1.3.12/gzip.c 2007-05-21 09:13:14.000000000 +0900
|
||||
@@ -1637,7 +1637,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
- if (futimens (ofd, ofname, timespec) != 0)
|
||||
+ if (gl_futimens (ofd, ofname, timespec) != 0)
|
||||
{
|
||||
int e = errno;
|
||||
WARN ((stderr, "%s: ", program_name));
|
||||
|
||||
Reference in New Issue
Block a user