* Latest klibc.

svn path=/nixpkgs/trunk/; revision=7133
This commit is contained in:
Eelco Dolstra 2006-11-25 21:49:42 +00:00
parent 3df5921afe
commit 66b646d7e7
5 changed files with 41 additions and 45 deletions

@ -1,11 +1,13 @@
source $stdenv/setup source $stdenv/setup
preBuild=preBuild
preBuild() { preBuild() {
kernelhash=$(ls $kernel/lib/modules) mkdir -p linux/include
echo $kernelhash ln -s $kernelHeaders/include/* linux/include/
ln -s $kernel/lib/modules/$kernelhash/build linux
} }
preBuild=preBuild makeFlagsArray=(V=1 prefix=$out SHLIBDIR=$out/lib)
installFlagsArray=("${makeFlagsArray[@]}")
genericBuild genericBuild

@ -1,4 +1,4 @@
{stdenv, fetchurl, kernel, perl, bison, flexWrapper}: {stdenv, fetchurl, perl, bison, mktemp}:
assert stdenv.isLinux; assert stdenv.isLinux;
@ -9,7 +9,7 @@ stdenv.mkDerivation {
url = http://www.kernel.org/pub/linux/libs/klibc/klibc-1.4.tar.bz2; url = http://www.kernel.org/pub/linux/libs/klibc/klibc-1.4.tar.bz2;
md5 = "f4e0e17fc660e59c39e448fe1d827d36"; md5 = "f4e0e17fc660e59c39e448fe1d827d36";
}; };
inherit kernel; inherit (stdenv.glibc) kernelHeaders;
# buildInputs = [perl bison flexWrapper]; buildInputs = [perl bison mktemp];
# patches = [./klibc-installpath.patch]; patches = [./install.patch];
} }

@ -0,0 +1,28 @@
diff -rc klibc-1.4-orig/scripts/Kbuild.install klibc-1.4/scripts/Kbuild.install
*** klibc-1.4-orig/scripts/Kbuild.install 2006-06-19 03:17:15.000000000 +0200
--- klibc-1.4/scripts/Kbuild.install 2006-11-25 22:41:09.000000000 +0100
***************
*** 96,107 ****
$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
$(Q)set -e ; for d in linux scsi asm-$(KLIBCARCH) asm-generic $(ASMKLIBCARCH); do \
! mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KLIBCCROSS)include/$$d ; \
! for r in $(KLIBCKERNELSRC)/include $(KLIBCKERNELOBJ)/include \
! $(KLIBCKERNELOBJ)/include2 ; do \
[ ! -d $$r/$$d ] || \
! cp -rfL $$r/$$d/. \
! $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/$$d/. ; \
done ; \
done
$(Q)cd $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include && ln -sf asm-$(KLIBCARCH) asm
--- 96,105 ----
$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)lib
$(Q)mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)bin
$(Q)set -e ; for d in linux scsi asm-$(KLIBCARCH) asm-generic $(ASMKLIBCARCH); do \
! for r in $(KLIBCKERNELSRC)/include ; do \
[ ! -d $$r/$$d ] || \
! cp -rd $$r/$$d \
! $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/$$d ; \
done ; \
done
$(Q)cd $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include && ln -sf asm-$(KLIBCARCH) asm

@ -1,34 +0,0 @@
diff -ruN klibc-1.0/Makefile klibc-1.0.new/Makefile
--- klibc-1.0/Makefile 2005-03-07 19:17:15.000000000 +0100
+++ klibc-1.0.new/Makefile 2005-08-27 22:40:12.000000000 +0200
@@ -61,7 +61,8 @@
mkdir -p $(INSTALLROOT)$(INSTALLDIR)/$(CROSS)include/$$d ; \
for r in $(KRNLSRC)/include $(KRNLOBJ)/include $(KRNLOBJ)/include2 ; do \
[ ! -d $$r/$$d ] || \
- cp -rfL $$r/$$d/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/$$d/. ; \
+ (chmod -R +w $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/$$d/.; \
+ cp -rfL $$r/$$d/. $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include/$$d/. ); \
done ; \
done
cd $(INSTALLROOT)$(INSTALLDIR)/$(KCROSS)include && ln -sf asm-$(ARCH) asm
diff -ruN klibc-1.0/MCONFIG klibc-1.0.new/MCONFIG
--- klibc-1.0/MCONFIG 2005-03-06 20:35:22.000000000 +0100
+++ klibc-1.0.new/MCONFIG 2005-08-27 22:43:06.000000000 +0200
@@ -12,7 +12,7 @@
KCROSS ?= $(CROSS)
# Location for installation
-prefix = /usr
+prefix = $(out)
bindir = $(prefix)/bin
libdir = $(prefix)/lib
mandir = $(prefix)/man
@@ -70,7 +70,7 @@
# THIS MUST BE AN ABSOLUTE PATH WITH NO FINAL SLASH.
# Leave this empty to make it the root.
#
-SHLIBDIR = /lib
+SHLIBDIR = $(out)/lib
# Enable this to make perror/strerror return real error messages
# This makes klibc.so and any static binary which uses these functions

@ -2140,9 +2140,9 @@ rec {
inherit stdenv MAKEDEV; inherit stdenv MAKEDEV;
}; };
#klibc = import ../os-specific/linux/klibc { klibc = import ../os-specific/linux/klibc {
# inherit fetchurl stdenv kernel perl bison flexWrapper; inherit fetchurl stdenv perl bison mktemp;
#}; };
mingetty = import ../os-specific/linux/mingetty { mingetty = import ../os-specific/linux/mingetty {
inherit fetchurl stdenv; inherit fetchurl stdenv;