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:
Lluís Batlle i Rossell
2009-11-08 00:32:12 +00:00
parent 6e86ca940f
commit 4b27d28701
63 changed files with 3088 additions and 201 deletions
+27 -9
View File
@@ -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];
}
+54
View File
@@ -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));