summary refs log tree commit diff
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2006-10-18 16:16:07 +0000
committerEelco Dolstra <eelco.dolstra@logicblox.com>2006-10-18 16:16:07 +0000
commitce22859f8aa3b06dc8277376916c619a34030310 (patch)
tree70db57959bf759bede29a0e22e1341fd573f2dab
parentf3619824a9fe8bc6650ded1827846b76865c86a8 (diff)
downloadnixlib-ce22859f8aa3b06dc8277376916c619a34030310.tar
nixlib-ce22859f8aa3b06dc8277376916c619a34030310.tar.gz
nixlib-ce22859f8aa3b06dc8277376916c619a34030310.tar.bz2
nixlib-ce22859f8aa3b06dc8277376916c619a34030310.tar.lz
nixlib-ce22859f8aa3b06dc8277376916c619a34030310.tar.xz
nixlib-ce22859f8aa3b06dc8277376916c619a34030310.tar.zst
nixlib-ce22859f8aa3b06dc8277376916c619a34030310.zip
* Bash on dietlibc.
* Pass -D_BSD_SOURCE=1 by default in the dietlibc stdenv.

svn path=/nixpkgs/trunk/; revision=6768
-rw-r--r--pkgs/shells/bash-static/builder.sh12
-rw-r--r--pkgs/shells/bash-static/default.nix13
-rw-r--r--pkgs/shells/bash/default.nix10
-rw-r--r--pkgs/shells/bash/winsize.patch14
-rw-r--r--pkgs/tools/misc/coreutils/default.nix1
-rw-r--r--pkgs/top-level/all-packages.nix7
6 files changed, 27 insertions, 30 deletions
diff --git a/pkgs/shells/bash-static/builder.sh b/pkgs/shells/bash-static/builder.sh
deleted file mode 100644
index b8c3a401022f..000000000000
--- a/pkgs/shells/bash-static/builder.sh
+++ /dev/null
@@ -1,12 +0,0 @@
-source $stdenv/setup
-genericBuild
-cd $out/bin
-
-find . -type f | while read fn; do
-    cat $fn | sed "s|/nix/store/[a-z0-9]*-|/nix/store/ffffffffffffffffffffffffffffffff-|g" > $fn.tmp
-    if test -x $fn; then chmod +x $fn.tmp; fi
-    mv $fn.tmp $fn
-done
-
-strip $out/bin/bash
-ln -s bash sh
diff --git a/pkgs/shells/bash-static/default.nix b/pkgs/shells/bash-static/default.nix
deleted file mode 100644
index d276468ca3ab..000000000000
--- a/pkgs/shells/bash-static/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{stdenv, fetchurl}:
-
-stdenv.mkDerivation {
-  name = "bash-3.1";
-  builder = ./builder.sh;
-  src = fetchurl {
-    #url = http://nix.cs.uu.nl/dist/tarballs/bash-3.0.tar.gz;
-    #md5 = "26c4d642e29b3533d8d754995bc277b3";
-    url = http://nix.cs.uu.nl/dist/tarballs/bash-3.1.tar.gz;
-    md5 = "ef5304c4b22aaa5088972c792ed45d72";
-  };
-  configureFlags = "--enable-static-link --without-bash-malloc";
-}
diff --git a/pkgs/shells/bash/default.nix b/pkgs/shells/bash/default.nix
index 82f204bd52c4..a8dd2e3dd63e 100644
--- a/pkgs/shells/bash/default.nix
+++ b/pkgs/shells/bash/default.nix
@@ -1,6 +1,6 @@
 {stdenv, fetchurl}:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation ({
   name = "bash-3.1";
   builder = ./builder.sh;
   src = fetchurl {
@@ -12,3 +12,11 @@ stdenv.mkDerivation {
     description = "GNU Bourne-Again Shell, the de facto standard shell on Linux";
   };
 }
+
+# libcompat.a is needed on dietlibc for stpcpy().
+// (if stdenv ? isDietLibC then {
+  NIX_LDFLAGS = "-lcompat";
+  patches = [./winsize.patch];
+} else {})
+
+)
diff --git a/pkgs/shells/bash/winsize.patch b/pkgs/shells/bash/winsize.patch
new file mode 100644
index 000000000000..bbe4151e0cc7
--- /dev/null
+++ b/pkgs/shells/bash/winsize.patch
@@ -0,0 +1,14 @@
+diff -rc bash-3.1-orig/lib/sh/winsize.c bash-3.1/lib/sh/winsize.c
+*** bash-3.1-orig/lib/sh/winsize.c	2006-10-18 18:08:25.000000000 +0200
+--- bash-3.1/lib/sh/winsize.c	2006-10-18 18:10:00.000000000 +0200
+***************
+*** 30,35 ****
+--- 30,37 ----
+  
+  #include <sys/ioctl.h>
+  
++ #include <termios.h>
++ 
+  #if !defined (STRUCT_WINSIZE_IN_SYS_IOCTL)
+  /* For struct winsize on SCO */
+  /*   sys/ptem.h has winsize but needs mblk_t from sys/stream.h */
diff --git a/pkgs/tools/misc/coreutils/default.nix b/pkgs/tools/misc/coreutils/default.nix
index bd550a7a7584..020995c6f545 100644
--- a/pkgs/tools/misc/coreutils/default.nix
+++ b/pkgs/tools/misc/coreutils/default.nix
@@ -7,6 +7,5 @@ stdenv.mkDerivation ({
     md5 = "bdec4b75c76ac9bf51b6dd1747d3b06e";
   };
 } // (if stdenv ? isDietLibC then {
-  NIX_CFLAGS_COMPILE="-D_BSD_SOURCE=1";
   patches = [./uclibc.patch];
 } else {}))
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 1cd722ec6d62..9f490c2104dd 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -84,7 +84,7 @@ rec {
         # always optimise for size.
         NIX_CFLAGS_COMPILE =
           (if args ? NIX_CFLAGS_COMPILE then args.NIX_CFLAGS_COMPILE else "")
-          + " -Os -s";
+          + " -Os -s -D_BSD_SOURCE=1";
         
         configureFlags =
           (if args ? configureFlags then args.configureFlags else "")
@@ -510,8 +510,9 @@ rec {
       inherit fetchurl stdenv;
     });
 
-  bashStatic = import ../shells/bash-static {
-    inherit fetchurl stdenv;
+  bashDiet = import ../shells/bash {
+    inherit fetchurl;
+    stdenv = useDietLibC stdenv;
   };
 
   tcsh = import ../shells/tcsh {