summary refs log tree commit diff
path: root/pkgs/os-specific/linux/uclibc
diff options
context:
space:
mode:
authorLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2009-11-08 00:32:12 +0000
committerLluís Batlle i Rossell <viric@vicerveza.homeunix.net>2009-11-08 00:32:12 +0000
commit4b27d2870197b26b7c170caa333944231715d4a3 (patch)
tree6b781861cb96e9ce0660ca0b904ed3dda1cc6905 /pkgs/os-specific/linux/uclibc
parent6e86ca940f9cb7fdbbf8663bc5c19af45fbc1e17 (diff)
downloadnixpkgs-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/os-specific/linux/uclibc')
-rw-r--r--pkgs/os-specific/linux/uclibc/default.nix38
1 files changed, 38 insertions, 0 deletions
diff --git a/pkgs/os-specific/linux/uclibc/default.nix b/pkgs/os-specific/linux/uclibc/default.nix
new file mode 100644
index 00000000000..1edcc933e57
--- /dev/null
+++ b/pkgs/os-specific/linux/uclibc/default.nix
@@ -0,0 +1,38 @@
+{stdenv, fetchurl, kernelHeaders}:
+
+assert stdenv.isLinux;
+
+stdenv.mkDerivation {
+  name = "uclibc-0.9.30.1";
+  src = fetchurl {
+    url = http://www.uclibc.org/downloads/uClibc-0.9.30.1.tar.bz2;
+    sha256 = "132cf27hkgi0q4qlwbiyj4ffj76sja0jcxm0aqzzgks65jh6k5rd";
+  };
+
+  configurePhase = ''
+    make defconfig
+    sed -e s@/usr/include@${kernelHeaders}@ \
+      -e 's@^RUNTIME_PREFIX.*@RUNTIME_PREFIX="/"@' \
+      -e 's@^DEVEL_PREFIX.*@DEVEL_PREFIX="/"@' \
+      ${if stdenv.system=="armv5tel-linux" then
+      ''-e 's/.*CONFIG_ARM_OABI.*//' \
+        -e 's/.*CONFIG_ARM_EABI.*/CONFIG_ARM_EABI=y/' \
+        -e 's/.*ARCH_BIG_ENDIAN.*/#ARCH_BIG_ENDIAN=y/' \
+        -e 's/.*ARCH_WANTS_BIG_ENDIAN.*/#ARCH_WANTS_BIG_ENDIAN=y/' \
+        -e 's/.*ARCH_WANTS_LITTLE_ENDIAN.*/ARCH_WANTS_LITTLE_ENDIAN=y/' '' else ""} \
+      -i .config
+    make oldconfig
+  '';
+
+  installPhase = ''
+    mkdir -p $out
+    make PREFIX=$out install
+    (cd $out/include && ln -s ${kernelHeaders}/include/* .) || exit 1
+  '';
+  
+  meta = {
+    homepage = http://www.uclibc.org/;
+    description = "A small implementation of the C library";
+    license = "LGPLv2";
+  };
+}