diff options
-rw-r--r-- | pkgs/os-specific/linux/device-mapper/default.nix | 4 | ||||
-rw-r--r-- | pkgs/os-specific/linux/klibc/builder.sh | 5 | ||||
-rw-r--r-- | pkgs/os-specific/linux/klibc/default.nix | 4 | ||||
-rw-r--r-- | pkgs/os-specific/linux/klibc/install.patch | 28 | ||||
-rw-r--r-- | pkgs/os-specific/linux/lvm2/default.nix | 4 | ||||
-rw-r--r-- | pkgs/os-specific/linux/udev/default.nix | 33 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 44 |
7 files changed, 39 insertions, 83 deletions
diff --git a/pkgs/os-specific/linux/device-mapper/default.nix b/pkgs/os-specific/linux/device-mapper/default.nix index 8743836afce..c8e52a43d11 100644 --- a/pkgs/os-specific/linux/device-mapper/default.nix +++ b/pkgs/os-specific/linux/device-mapper/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, static ? false}: +{stdenv, fetchurl}: stdenv.mkDerivation { name = "device-mapper-1.02.26"; @@ -6,7 +6,7 @@ stdenv.mkDerivation { url = ftp://sources.redhat.com/pub/dm/device-mapper.1.02.26.tgz; sha256 = "0x905frw06s6k5p1rlc2hbgaphgalinarbdg82664sri0qmbkrfv"; }; - configureFlags = if static then "--enable-static_link" else ""; + configureFlags = if stdenv ? isStatic then "--enable-static_link" else ""; # To prevent make install from failing. installFlags = "OWNER= GROUP="; } diff --git a/pkgs/os-specific/linux/klibc/builder.sh b/pkgs/os-specific/linux/klibc/builder.sh index ef101b466f1..7bb77608cf9 100644 --- a/pkgs/os-specific/linux/klibc/builder.sh +++ b/pkgs/os-specific/linux/klibc/builder.sh @@ -2,8 +2,9 @@ source $stdenv/setup preBuild=preBuild preBuild() { - mkdir -p linux/include - ln -s $kernel/lib/modules/*/build/include/* linux/include/ + mkdir -p linux/include + cp -prd $kernel/lib/modules/*/build/include/* linux/include/ + chmod -R u+w linux/include/ } makeFlagsArray=(V=1 prefix=$out SHLIBDIR=$out/lib) diff --git a/pkgs/os-specific/linux/klibc/default.nix b/pkgs/os-specific/linux/klibc/default.nix index e8bb789d18d..ada9d599d51 100644 --- a/pkgs/os-specific/linux/klibc/default.nix +++ b/pkgs/os-specific/linux/klibc/default.nix @@ -8,8 +8,10 @@ stdenv.mkDerivation { src = fetchurl { url = mirror://kernel/linux/libs/klibc/klibc-1.5.tar.bz2; sha256 = "1izhf8kscjymsvsvhcqw9awnmp94vwv70zdj09srg9bkpjj0n017"; +# url = mirror://kernel/linux/libs/klibc/Testing/klibc-1.5.14.tar.bz2; +# sha256 = "1cmrqpgamnv2ns7dlxjm61zc88dxm4ff0aya413ij1lmhp2h2sfc"; }; inherit kernel; buildInputs = [perl bison mktemp]; - patches = [./install.patch]; + #patches = [./install.patch]; } diff --git a/pkgs/os-specific/linux/klibc/install.patch b/pkgs/os-specific/linux/klibc/install.patch deleted file mode 100644 index a5db5c09856..00000000000 --- a/pkgs/os-specific/linux/klibc/install.patch +++ /dev/null @@ -1,28 +0,0 @@ -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 diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix index 968bcdd2eb0..04187d8c128 100644 --- a/pkgs/os-specific/linux/lvm2/default.nix +++ b/pkgs/os-specific/linux/lvm2/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, devicemapper, static ? false}: +{stdenv, fetchurl, devicemapper}: stdenv.mkDerivation { name = "lvm2-2.02.38"; @@ -7,7 +7,7 @@ stdenv.mkDerivation { sha256 = "13nx6iqgga3ric51b36p15cxzhmh83s7spb2559iz3s24x4s0845"; }; buildInputs = [devicemapper]; - configureFlags = if static then "--enable-static_link" else ""; + configureFlags = if stdenv ? isStatic then "--enable-static_link" else ""; # To prevent make install from failing. preInstall = "installFlags=\"OWNER= GROUP= confdir=$out/etc\""; } diff --git a/pkgs/os-specific/linux/udev/default.nix b/pkgs/os-specific/linux/udev/default.nix index 2e702fc261d..ccdb60f6c55 100644 --- a/pkgs/os-specific/linux/udev/default.nix +++ b/pkgs/os-specific/linux/udev/default.nix @@ -1,7 +1,5 @@ {stdenv, fetchurl}: -if stdenv.system != "x86_64-linux" || ! (stdenv ? isDietLibC) || !stdenv.isDietLibC then - stdenv.mkDerivation { name = "udev-125"; @@ -15,7 +13,7 @@ stdenv.mkDerivation { preBuild = '' makeFlagsArray=(prefix=$out usrbindir=$out/bin usrsbindir=$out/sbin usrlibdir=$out/lib \ mandir=$out/share/man includedir=$out/include \ - EXTRAS="extras/ata_id extras/cdrom_id extras/edd_id extras/floppy extras/path_id extras/scsi_id extras/usb_id extras/volume_id" + EXTRAS="extras/ata_id extras/edd_id extras/floppy extras/path_id extras/scsi_id extras/usb_id ${if stdenv ? isKlibc then "" else "extras/cdrom_id extras/volume_id"}" INSTALL='install -c' DESTDIR=/) substituteInPlace udev_rules.c --replace /lib/udev $out/lib/udev @@ -30,32 +28,3 @@ stdenv.mkDerivation { description = "Udev manages the /dev filesystem"; }; } - -else - -# for now svn revision 10849 because this works fine with current dietlibc -# this should be fixed (maybe using klibc) or by patching udev somewhen - -stdenv.mkDerivation { - name = "udev-118"; - - src = fetchurl { - url = mirror://kernel/linux/utils/kernel/hotplug/udev-118.tar.bz2; - sha256 = "1i488wqm7i6nz6gidbkxkb47hr427ika48i8imwrvvnpg1kzhska"; - }; - - # "DESTDIR=/" is a hack to prevent "make install" from trying to - # mess with /dev. - preBuild = '' - makeFlagsArray=(etcdir=$out/etc sbindir=$out/sbin usrbindir=$out/bin usrsbindir=$out/sbin mandir=$out/share/man INSTALL='install -c' DESTDIR=/) - ''; - - preInstall = '' - installFlagsArray=(udevdir=$TMPDIR/dummy) - ''; - - meta = { - homepage = http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html; - description = "Udev manages the /dev filesystem"; - }; -} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index e765e1ed684..5ae8f7de79f 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -103,6 +103,34 @@ let pkgs = rec { isDietLibC = true; } // {inherit fetchurl;}; + # Return a modified stdenv that uses klibc to create small + # statically linked binaries. + useKlibc = stdenv: klibc: stdenv // + { mkDerivation = args: stdenv.mkDerivation (args // { + NIX_CFLAGS_LINK = "-static"; + + # These are added *after* the command-line flags, so we'll + # always optimise for size. + NIX_CFLAGS_COMPILE = + (if args ? NIX_CFLAGS_COMPILE then args.NIX_CFLAGS_COMPILE else "") + + " -Os -s"; + + configureFlags = + (if args ? configureFlags then args.configureFlags else "") + + " --disable-shared"; # brrr... + + NIX_GCC = runCommand "klibc-wrapper" {} '' + ensureDir $out/bin + ln -s ${klibc}/bin/klcc $out/bin/gcc + ln -s ${klibc}/bin/klcc $out/bin/cc + ensureDir $out/nix-support + echo 'PATH=$PATH:${stdenv.gcc.binutils}/bin' > $out/nix-support/setup-hook + ''; + }); + isKlibc = true; + isStatic = true; + } // {inherit fetchurl;}; + # Return a modified stdenv that tries to build statically linked # binaries. makeStaticBinaries = stdenv: stdenv // @@ -4760,11 +4788,6 @@ let pkgs = rec { inherit fetchurl stdenv; }; - devicemapperStatic = lowPrio (appendToName "static" (import ../os-specific/linux/device-mapper { - inherit fetchurl stdenv; - static = true; - })); - dmidecodeFun = lib.sumArgs (selectVersion ../os-specific/linux/dmidecode "2.9") { inherit fetchurl stdenv builderDefs; }; @@ -4781,11 +4804,6 @@ let pkgs = rec { inherit fetchurl stdenv; }; - e2fsprogsDiet = lowPrio (appendToName "diet" (import ../os-specific/linux/e2fsprogs { - inherit fetchurl; - stdenv = useDietLibC stdenv; - })); - e3cfsprogs = import ../os-specific/linux/e3cfsprogs { inherit stdenv fetchurl gettext; }; @@ -5321,12 +5339,6 @@ let pkgs = rec { inherit fetchurl stdenv devicemapper; }; - lvm2Static = lowPrio (appendToName "static" (import ../os-specific/linux/lvm2 { - inherit fetchurl stdenv; - static = true; - devicemapper = devicemapperStatic; - })); - mdadm = import ../os-specific/linux/mdadm { inherit fetchurl stdenv groff; }; |