Glibc 2.9: Have rpcgen(1) look for cpp(1) in $PATH.
svn path=/nixpkgs/branches/stdenv-updates/; revision=15244
This commit is contained in:
parent
a6b2ffd5f2
commit
26c3fe186f
@ -43,6 +43,9 @@ stdenv.mkDerivation rec {
|
|||||||
|
|
||||||
/* Make it possible to override the locale-archive in NixOS. */
|
/* Make it possible to override the locale-archive in NixOS. */
|
||||||
./locale-override.patch
|
./locale-override.patch
|
||||||
|
|
||||||
|
/* Have rpcgen(1) look for cpp(1) in $PATH. */
|
||||||
|
./rpcgen-path.patch
|
||||||
];
|
];
|
||||||
|
|
||||||
# `--with-tls --without-__thread' enables support for TLS but causes
|
# `--with-tls --without-__thread' enables support for TLS but causes
|
||||||
|
72
pkgs/development/libraries/glibc-2.9/rpcgen-path.patch
Normal file
72
pkgs/development/libraries/glibc-2.9/rpcgen-path.patch
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
By default, rpcgen(1) looks for cpp(1) from a list of fixed absolute paths
|
||||||
|
(`/lib/cpp', etc.), which may only be overrided with the `-Y' option. This
|
||||||
|
patch makes it run any `cpp' command found in $PATH.
|
||||||
|
|
||||||
|
--- glibc-2.7/sunrpc/rpc_main.c 2006-11-10 21:54:46.000000000 +0100
|
||||||
|
+++ glibc-2.7/sunrpc/rpc_main.c 2009-04-22 14:32:10.000000000 +0200
|
||||||
|
@@ -79,7 +79,7 @@ static const char *cmdname;
|
||||||
|
|
||||||
|
static const char *svcclosetime = "120";
|
||||||
|
static int cppDefined; /* explicit path for C preprocessor */
|
||||||
|
-static const char *CPP = SUNOS_CPP;
|
||||||
|
+static const char *CPP = "cpp";
|
||||||
|
static const char CPPFLAGS[] = "-C";
|
||||||
|
static char *pathbuf;
|
||||||
|
static int cpp_pid;
|
||||||
|
@@ -108,7 +108,6 @@ static char *extendfile (const char *fil
|
||||||
|
static void open_output (const char *infile, const char *outfile);
|
||||||
|
static void add_warning (void);
|
||||||
|
static void clear_args (void);
|
||||||
|
-static void find_cpp (void);
|
||||||
|
static void open_input (const char *infile, const char *define);
|
||||||
|
static int check_nettype (const char *name, const char *list_to_check[]);
|
||||||
|
static void c_output (const char *infile, const char *define,
|
||||||
|
@@ -327,31 +326,6 @@ clear_args (void)
|
||||||
|
argcount = FIXEDARGS;
|
||||||
|
}
|
||||||
|
|
||||||
|
-/* make sure that a CPP exists */
|
||||||
|
-static void
|
||||||
|
-find_cpp (void)
|
||||||
|
-{
|
||||||
|
- struct stat buf;
|
||||||
|
-
|
||||||
|
- if (stat (CPP, &buf) < 0)
|
||||||
|
- { /* /lib/cpp or explicit cpp does not exist */
|
||||||
|
- if (cppDefined)
|
||||||
|
- {
|
||||||
|
- fprintf (stderr, _ ("cannot find C preprocessor: %s \n"), CPP);
|
||||||
|
- crash ();
|
||||||
|
- }
|
||||||
|
- else
|
||||||
|
- { /* try the other one */
|
||||||
|
- CPP = SVR4_CPP;
|
||||||
|
- if (stat (CPP, &buf) < 0)
|
||||||
|
- { /* can't find any cpp */
|
||||||
|
- fputs (_ ("cannot find any C preprocessor (cpp)\n"), stdout);
|
||||||
|
- crash ();
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
-}
|
||||||
|
-
|
||||||
|
/*
|
||||||
|
* Open input file with given define for C-preprocessor
|
||||||
|
*/
|
||||||
|
@@ -370,7 +344,6 @@ open_input (const char *infile, const ch
|
||||||
|
switch (cpp_pid)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
- find_cpp ();
|
||||||
|
putarg (0, CPP);
|
||||||
|
putarg (1, CPPFLAGS);
|
||||||
|
addarg (define);
|
||||||
|
@@ -380,7 +353,7 @@ open_input (const char *infile, const ch
|
||||||
|
close (1);
|
||||||
|
dup2 (pd[1], 1);
|
||||||
|
close (pd[0]);
|
||||||
|
- execv (arglist[0], (char **) arglist);
|
||||||
|
+ execvp (arglist[0], (char **) arglist);
|
||||||
|
perror ("execv");
|
||||||
|
exit (1);
|
||||||
|
case -1:
|
Loading…
Reference in New Issue
Block a user