1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2025-02-16 07:48:58 +00:00

* Fix a horrible in imake: its results depend on whether a C compiler

exists in one of a fixed set of paths (e.g., /usr/bin/cc).  For
  instance, on a system without /usr/bin/cc the variable DependCmd
  would evaluate to "makedepend", and on a system with it, to
  "gccmakedep".

  Solution: just use "gcc" always.  Also disabled some shitty code to
  detect the current Linux distribution (by probing for files like
  /etc/SuSE-release). 

svn path=/nixpkgs/trunk/; revision=4534
This commit is contained in:
Eelco Dolstra 2006-01-11 00:21:52 +00:00
parent 94517a614e
commit 7dba8848ed
3 changed files with 90 additions and 2 deletions

View file

@ -602,7 +602,7 @@ rec {
url = http://mirror.switch.ch/ftp/mirror/X11/pub/X11R7.0/src/everything/imake-X11R7.0-1.0.1.tar.bz2;
md5 = "487b4b86b2bd0c09e6d220a85d94efae";
};
buildInputs = [pkgconfig xproto ]; inherit xorgcffiles; x11BuildHook = ./imake.sh;
buildInputs = [pkgconfig xproto ]; inherit xorgcffiles; x11BuildHook = ./imake.sh; patches = [./imake.patch];
}) // {inherit xproto ;};
inputproto = (stdenv.mkDerivation {

View file

@ -31,7 +31,7 @@ $pcMap{"libdrm"} = "libdrm";
$pcMap{"libXaw"} = "libXaw";
$extraAttrs{"imake"} = " inherit xorgcffiles; x11BuildHook = ./imake.sh; ";
$extraAttrs{"imake"} = " inherit xorgcffiles; x11BuildHook = ./imake.sh; patches = [./imake.patch]; ";
if (-e "cache") {

View file

@ -0,0 +1,88 @@
diff -rc imake-orig/imake.c imake-X11R7.0-1.0.1/imake.c
*** imake-orig/imake.c 2005-11-08 07:33:24.000000000 +0100
--- imake-X11R7.0-1.0.1/imake.c 2006-01-11 01:12:57.000000000 +0100
***************
*** 1056,1061 ****
--- 1056,1062 ----
static void
get_distrib(FILE *inFile)
{
+ #if 0
struct stat sb;
static char* suse = "/etc/SuSE-release";
***************
*** 1101,1106 ****
--- 1102,1108 ----
* at the content of /etc/debian_version */
return;
}
+ #endif
/* what's the definitive way to tell what any particular distribution is? */
fprintf (inFile, "%s\n", "#define DefaultLinuxDistribution LinuxUnknown");
***************
*** 1349,1402 ****
static boolean
get_gcc(char *cmd)
{
! struct stat sb;
! static char* gcc_path[] = {
! # if defined(linux) || \
! defined(__NetBSD__) || \
! defined(__OpenBSD__) || \
! defined(__FreeBSD__) || \
! defined(__DragonFly__) || \
! defined(__APPLE__) || \
! defined(__CYGWIN__) || \
! defined(__MINGW32__) || \
! defined(__GNU__) || \
! defined(__GLIBC__)
! "/usr/bin/cc", /* for Linux PostIncDir */
! # endif
! "/usr/local/bin/gcc",
! "/opt/gnu/bin/gcc",
! "/usr/pkg/bin/gcc"
! };
!
! #ifdef CROSSCOMPILE
! static char* cross_cc_name[] = {
! "cc",
! "gcc"
! };
!
! if (CrossCompiling) {
! int i;
! for (i = 0; i < sizeof (cross_cc_name) / sizeof cross_cc_name[0]; i++){
! strcpy (cmd, CrossCompileDir);
! strcat (cmd, "/");
! strcat (cmd, cross_cc_name[i]);
! if (lstat (cmd, &sb) == 0) {
! return TRUE;
! break;
! }
! }
! } else
! #endif
! {
! int i;
! for (i = 0; i < sizeof (gcc_path) / sizeof gcc_path[0]; i++) {
! if (lstat (gcc_path[i], &sb) == 0) {
! strcpy (cmd, gcc_path[i]);
! return TRUE;
! }
! }
! }
! return FALSE;
}
#if defined CROSSCOMPILE || !defined __UNIXOS2__
--- 1351,1358 ----
static boolean
get_gcc(char *cmd)
{
! strcpy (cmd, "gcc");
! return TRUE;
}
#if defined CROSSCOMPILE || !defined __UNIXOS2__