* Fix GNU patch on Darwin (and probably FreeBSD as well).

svn path=/nixpkgs/trunk/; revision=5705
This commit is contained in:
Eelco Dolstra 2006-07-14 11:20:30 +00:00
parent ea2da73c8d
commit 2881391565
3 changed files with 28 additions and 4 deletions

View File

@ -1,7 +1,12 @@
{stdenv, fetchurl}: stdenv.mkDerivation {
{stdenv, fetchurl}: stdenv.mkDerivation ({
name = "gnupatch-2.5.4";
src = fetchurl {
url = http://nix.cs.uu.nl/dist/tarballs/patch-2.5.4.tar.gz;
md5 = "ee5ae84d115f051d87fcaaef3b4ae782";
};
}
} //
# !!! hack
(if stdenv.system != "i686-linux" then {
patches = [./setmode.patch];
configureFlags = "dummy"; # doesn't build on Darwin unless a platform is specified
} else {}))

View File

@ -0,0 +1,20 @@
diff -rc patch-2.5.4-orig/pch.c patch-2.5.4/pch.c
*** patch-2.5.4-orig/pch.c Mon Aug 30 08:20:08 1999
--- patch-2.5.4/pch.c Fri Jul 14 13:11:26 2006
***************
*** 105,111 ****
if (!filename || !*filename || strEQ (filename, "-"))
{
file_offset stdin_pos;
! #if HAVE_SETMODE
if (binary_transput)
{
if (isatty (STDIN_FILENO))
--- 105,111 ----
if (!filename || !*filename || strEQ (filename, "-"))
{
file_offset stdin_pos;
! #if 0 && HAVE_SETMODE
if (binary_transput)
{
if (isatty (STDIN_FILENO))

View File

@ -159,8 +159,7 @@ rec {
inherit fetchurl stdenv;
};
patch = useFromStdenv (stdenv ? patch) stdenv.patch
(if isDarwin stdenv then null else gnupatch);
patch = useFromStdenv (stdenv ? patch) stdenv.patch gnupatch;
gnused = useFromStdenv (stdenv ? gnused) stdenv.gnused
(import ../tools/text/gnused {