diff options
author | Lluís Batlle i Rossell <viric@vicerveza.homeunix.net> | 2009-11-08 00:32:12 +0000 |
---|---|---|
committer | Lluís Batlle i Rossell <viric@vicerveza.homeunix.net> | 2009-11-08 00:32:12 +0000 |
commit | 4b27d2870197b26b7c170caa333944231715d4a3 (patch) | |
tree | 6b781861cb96e9ce0660ca0b904ed3dda1cc6905 /pkgs/tools/compression/gzip | |
parent | 6e86ca940f9cb7fdbbf8663bc5c19af45fbc1e17 (diff) | |
download | nixpkgs-4b27d2870197b26b7c170caa333944231715d4a3.tar nixpkgs-4b27d2870197b26b7c170caa333944231715d4a3.tar.gz nixpkgs-4b27d2870197b26b7c170caa333944231715d4a3.tar.bz2 nixpkgs-4b27d2870197b26b7c170caa333944231715d4a3.tar.lz nixpkgs-4b27d2870197b26b7c170caa333944231715d4a3.tar.xz nixpkgs-4b27d2870197b26b7c170caa333944231715d4a3.tar.zst nixpkgs-4b27d2870197b26b7c170caa333944231715d4a3.zip |
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
Diffstat (limited to 'pkgs/tools/compression/gzip')
-rw-r--r-- | pkgs/tools/compression/gzip/default.nix | 36 | ||||
-rw-r--r-- | pkgs/tools/compression/gzip/getopt.patch | 54 | ||||
-rw-r--r-- | pkgs/tools/compression/gzip/gnulib-futimens.patch | 42 |
3 files changed, 81 insertions, 51 deletions
diff --git a/pkgs/tools/compression/gzip/default.nix b/pkgs/tools/compression/gzip/default.nix index 0a2afd05372..7a25b69c013 100644 --- a/pkgs/tools/compression/gzip/default.nix +++ b/pkgs/tools/compression/gzip/default.nix @@ -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]; } diff --git a/pkgs/tools/compression/gzip/getopt.patch b/pkgs/tools/compression/gzip/getopt.patch new file mode 100644 index 00000000000..e61dd977810 --- /dev/null +++ b/pkgs/tools/compression/gzip/getopt.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 + diff --git a/pkgs/tools/compression/gzip/gnulib-futimens.patch b/pkgs/tools/compression/gzip/gnulib-futimens.patch index 5804bf27ff3..e69de29bb2d 100644 --- a/pkgs/tools/compression/gzip/gnulib-futimens.patch +++ b/pkgs/tools/compression/gzip/gnulib-futimens.patch @@ -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)); |