From 997723ec9bca2979d41c1e00ac334a8d7e8e6a3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Fri, 5 Mar 2010 23:22:36 +0000 Subject: [PATCH 01/27] Trying to make nixUnstable cross-build. It fails because it builds bin2c for the host system, instead of the build system. I will wait for a fix upstream. svn path=/nixpkgs/trunk/; revision=20445 --- .../development/libraries/openssl/default.nix | 20 ++++++++++++++++++- .../tools/package-management/nix/unstable.nix | 3 ++- pkgs/top-level/release.nix | 18 +++++++++++------ 3 files changed, 33 insertions(+), 8 deletions(-) diff --git a/pkgs/development/libraries/openssl/default.nix b/pkgs/development/libraries/openssl/default.nix index e9d75b78ebf..4d0e0cd8afb 100644 --- a/pkgs/development/libraries/openssl/default.nix +++ b/pkgs/development/libraries/openssl/default.nix @@ -1,5 +1,11 @@ { stdenv, fetchurl, perl }: +let + opensslCrossSystem = stdenv.lib.attrByPath [ "openssl" "system" ] + (throw "openssl needs its platform name cross building" null) + stdenv.cross; +in + stdenv.mkDerivation rec { name = "openssl-0.9.8l"; @@ -10,12 +16,24 @@ stdenv.mkDerivation rec { patches = [ ./darwin-arch.patch ]; - buildInputs = [ perl ]; + buildNativeInputs = [ perl ]; configureScript = "./config"; configureFlags = "shared"; + crossAttrs = { + configurePhase = '' + export cross=$crossSystem- + ./Configure --prefix=$out ${opensslCrossSystem} shared + ''; + buildPhase = '' + make CC=$crossConfig-gcc \ + AR="$crossConfig-ar r" \ + RANLIB=$crossConfig-ranlib + ''; + }; + meta = { homepage = http://www.openssl.org/; description = "A cryptographic library that implements the SSL and TLS protocols"; diff --git a/pkgs/tools/package-management/nix/unstable.nix b/pkgs/tools/package-management/nix/unstable.nix index f3c8ab1b34c..8687a4af884 100644 --- a/pkgs/tools/package-management/nix/unstable.nix +++ b/pkgs/tools/package-management/nix/unstable.nix @@ -11,7 +11,8 @@ stdenv.mkDerivation rec { sha256 = "844e5878d55a68ae2aac657718a1960dcfc943f6738ebdfb2bc93e8c462d0ad7"; }; - buildInputs = [perl curl openssl]; + buildNativeInputs = [perl]; + buildInputs = [curl openssl]; configureFlags = '' --with-store-dir=${storeDir} --localstatedir=${stateDir} diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 1df7507906e..851294de957 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -704,12 +704,13 @@ in { /* Test some cross builds to the Sheevaplug */ let crossSystem = { - config = "armv5tel-unknown-linux-gnueabi"; - bigEndian = false; - arch = "arm"; - float = "soft"; - withTLS = true; - platform = pkgs.platforms.sheevaplug; + config = "armv5tel-unknown-linux-gnueabi"; + bigEndian = false; + arch = "arm"; + float = "soft"; + withTLS = true; + platform = pkgs.platforms.sheevaplug; + openssl.system = "linux-generic32"; }; nativePlatforms = linux; in { @@ -722,6 +723,7 @@ in { xorg = { #xorgserver = nativePlatforms; }; + nixUnstable = linux; linuxPackages_2_6_32.kernel = linux; linuxPackages_2_6_33.kernel = linux; gdbCross = nativePlatforms; @@ -745,6 +747,7 @@ let kernelAutoModules = false; kernelTarget = "vmlinux.bin"; }; + openssl.system = "linux-generic32"; }; nativePlatforms = linux; in { @@ -757,6 +760,7 @@ in { xorg = { #xorgserver = nativePlatforms; }; + nixUnstable = linux; linuxPackages_2_6_32.kernel = linux; linuxPackages_2_6_33.kernel = linux; gdbCross = nativePlatforms; @@ -781,6 +785,7 @@ let kernelTarget = "zImage"; uboot = null; }; + openssl.system = "linux64-sparcv9"; }; nativePlatforms = linux; in { @@ -793,6 +798,7 @@ in { xorg = { #xorgserver = nativePlatforms; }; + nixUnstable = linux; linuxPackages_2_6_32.kernel = linux; linuxPackages_2_6_33.kernel = linux; gdbCross = nativePlatforms; From d213d290a6c65cd47982afe99388c421c5e2e639 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Fri, 5 Mar 2010 23:26:49 +0000 Subject: [PATCH 02/27] Setting tm and ts to build in all nixpkgs platforms. svn path=/nixpkgs/trunk/; revision=20446 --- pkgs/tools/system/tm/default.nix | 2 +- pkgs/tools/system/ts/default.nix | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/system/tm/default.nix b/pkgs/tools/system/tm/default.nix index 2e0c2611cd2..a5e413690d0 100644 --- a/pkgs/tools/system/tm/default.nix +++ b/pkgs/tools/system/tm/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation { description = "terminal mixer - multiplexer for the i/o of terminal applications"; license="GPLv2"; maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux; + platforms = with stdenv.lib.platforms; all; }; } diff --git a/pkgs/tools/system/ts/default.nix b/pkgs/tools/system/ts/default.nix index 80e99774c0c..80778a3546a 100644 --- a/pkgs/tools/system/ts/default.nix +++ b/pkgs/tools/system/ts/default.nix @@ -16,6 +16,6 @@ stdenv.mkDerivation { description = "task spooler - batch queue"; license="GPLv2"; maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux; + platforms = with stdenv.lib.platforms; all; }; } From 697266261bb71030025ce45558136346b580f93e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Fri, 5 Mar 2010 23:48:35 +0000 Subject: [PATCH 03/27] Updating radare, and trying to build it in more platforms. svn path=/nixpkgs/trunk/; revision=20447 --- pkgs/development/tools/analysis/radare/default.nix | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/pkgs/development/tools/analysis/radare/default.nix b/pkgs/development/tools/analysis/radare/default.nix index dfbe1e542f9..d549bd8fb19 100644 --- a/pkgs/development/tools/analysis/radare/default.nix +++ b/pkgs/development/tools/analysis/radare/default.nix @@ -11,13 +11,12 @@ assert pythonBindings -> python != null; let optional = stdenv.lib.optional; in -stdenv.mkDerivation -{ - name = "radare-1.4.2"; +stdenv.mkDerivation rec { + name = "radare-1.5"; src = fetchurl { - url = http://radare.org/get/radare-1.4.2.tar.gz; - sha256 = "09pai3k4x3kzq7zjfd8425jjb16fpximrhp5wyy6pwgdc82q30sd"; + url = "http://radare.org/get/${name}.tar.gz"; + sha256 = "1r0c9cc7z9likma8zicp2pbv2y85vjjmnk0k45wdhbvhgqh6il1h"; }; @@ -32,6 +31,6 @@ stdenv.mkDerivation homepage = http://radare.org/; license = "GPLv2+"; maintainers = with stdenv.lib.maintainers; [viric]; - platforms = with stdenv.lib.platforms; linux; + platforms = with stdenv.lib.platforms; all; }; } From 49ba7bee3c4beeacb8ea3f4dfc1f2bd0893499e3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Sat, 6 Mar 2010 15:17:43 +0000 Subject: [PATCH 04/27] Made curl cross-build properly with openssl support. svn path=/nixpkgs/trunk/; revision=20452 --- pkgs/tools/networking/curl/default.nix | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pkgs/tools/networking/curl/default.nix b/pkgs/tools/networking/curl/default.nix index 1cd9b43309f..0cfd6adef86 100644 --- a/pkgs/tools/networking/curl/default.nix +++ b/pkgs/tools/networking/curl/default.nix @@ -34,6 +34,16 @@ stdenv.mkDerivation rec { # other LDFLAGS, because it doesn't use libtool for linking in the tests. makeFlags = if linkStatic then "LDFLAGS=-all-static" else ""; + crossAttrs = { + # We should refer to the cross built openssl + # For the 'urandom', maybe it should be a cross-system option + configureFlags = '' + ${if sslSupport then "--with-ssl=${openssl.hostDrv}" else "--without-ssl"} + ${if linkStatic then "--enable-static --disable-shared" else ""} + --with-random /dev/urandom + ''; + }; + passthru = { inherit sslSupport openssl; }; From 11c20b3a2cd9a3ba04f1c4aa8e4e967e3ced0cf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Sat, 6 Mar 2010 22:04:21 +0000 Subject: [PATCH 05/27] Making the cross kernel builds take properly the cross-built uboot, when needed. svn path=/nixpkgs/trunk/; revision=20455 --- pkgs/os-specific/linux/kernel/generic.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix index 5979b038283..15811713324 100644 --- a/pkgs/os-specific/linux/kernel/generic.nix +++ b/pkgs/os-specific/linux/kernel/generic.nix @@ -114,7 +114,10 @@ stdenv.mkDerivation { kernelConfig = kernelConfigFun configCross; - buildInputs = lib.optional (cp.uboot != null) (ubootChooser cp.uboot); + # The substitution of crossAttrs happens *after* the stdenv cross adapter sets + # the parameters for the usual stdenv. Thus, we need to specify + # the ".hostDrv" in the buildInputs here. + buildInputs = lib.optional (cp.uboot != null) (ubootChooser cp.uboot).hostDrv; }; meta = { From 329d46cbd62da804fee673d0d9be4da2f553d4d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Sat, 6 Mar 2010 22:34:21 +0000 Subject: [PATCH 06/27] Making libusb build on non-linux. It was built with -Werror, and I removed that. There were compiler warnings in non-linux. svn path=/nixpkgs/trunk/; revision=20456 --- pkgs/development/libraries/libusb/default.nix | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/pkgs/development/libraries/libusb/default.nix b/pkgs/development/libraries/libusb/default.nix index 3db75ccfda4..64ef4ed66b6 100644 --- a/pkgs/development/libraries/libusb/default.nix +++ b/pkgs/development/libraries/libusb/default.nix @@ -2,6 +2,13 @@ stdenv.mkDerivation { name = "libusb-0.1.12"; + + # On non-linux, we get warnings compiling, and we don't want the + # build to break. + patchPhase = '' + sed -i s/-Werror// Makefile.in + ''; + src = fetchurl { url = mirror://sourceforge/libusb/libusb-0.1.12.tar.gz; md5 = "caf182cbc7565dac0fd72155919672e6"; From 012e7f196eb9f73d10142da18098163a7cbafe6c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Sat, 6 Mar 2010 23:36:55 +0000 Subject: [PATCH 07/27] I removed the function-shape of the cross-toolchain related attributes in the all-packages.nix. That was more complicating than helping. svn path=/nixpkgs/trunk/; revision=20457 --- pkgs/top-level/all-packages.nix | 66 +++++++++++++++++---------------- 1 file changed, 35 insertions(+), 31 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a53b45a59b8..0b3429a0091 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -183,8 +183,8 @@ let defaultStdenv = allStdenvs.stdenv // { inherit platform; }; - stdenvCross = makeStdenvCross defaultStdenv crossSystem (binutilsCross crossSystem) - (gccCrossStageFinal crossSystem); + stdenvCross = makeStdenvCross defaultStdenv crossSystem binutilsCross + gccCrossStageFinal; stdenv = if bootStdenv != null then bootStdenv else @@ -1949,45 +1949,47 @@ let profiledCompiler = true; })); - gcc43_realCross = cross : makeOverridable (import ../development/compilers/gcc-4.3) { - inherit stdenv fetchurl texinfo gmp mpfr noSysDirs cross; - binutilsCross = binutilsCross cross; - libcCross = libcCross cross; + gcc43_realCross = makeOverridable (import ../development/compilers/gcc-4.3) { + inherit stdenv fetchurl texinfo gmp mpfr noSysDirs; + binutilsCross = binutilsCross; + libcCross = libcCross; profiledCompiler = false; enableMultilib = true; crossStageStatic = false; + cross = crossSystem; }; - gcc44_realCross = cross : makeOverridable (import ../development/compilers/gcc-4.4) { - inherit stdenv fetchurl texinfo gmp mpfr ppl cloogppl noSysDirs cross + gcc44_realCross = makeOverridable (import ../development/compilers/gcc-4.4) { + inherit stdenv fetchurl texinfo gmp mpfr ppl cloogppl noSysDirs gettext which; - binutilsCross = binutilsCross cross; - libcCross = libcCross cross; + binutilsCross = binutilsCross; + libcCross = libcCross; profiledCompiler = false; enableMultilib = false; # cross-building for ultrasparc in 4.4.3 will require disabling shared due to a gcc bug. # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41818 enableShared = if (crossSystem.arch == "sparc64") then false else true; crossStageStatic = false; + cross = crossSystem; }; - gccCrossStageStatic = cross: wrapGCCCross { - gcc = forceBuildDrv ((gcc44_realCross cross).override { + gccCrossStageStatic = wrapGCCCross { + gcc = forceBuildDrv (gcc44_realCross.override { crossStageStatic = true; langCC = false; libcCross = null; enableShared = true; }); libc = null; - binutils = binutilsCross cross; - inherit cross; + binutils = binutilsCross; + cross = crossSystem; }; - gccCrossStageFinal = cross: wrapGCCCross { - gcc = forceBuildDrv (gcc44_realCross cross); - libc = libcCross cross; - binutils = binutilsCross cross; - inherit cross; + gccCrossStageFinal = wrapGCCCross { + gcc = forceBuildDrv gcc44_realCross; + libc = libcCross; + binutils = binutilsCross; + cross = crossSystem; }; gcc43_multi = lowPrio (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc43.gcc.override { @@ -2853,9 +2855,10 @@ let inherit fetchurl stdenv noSysDirs; }); - binutilsCross = cross : forceBuildDrv (import ../development/tools/misc/binutils { - inherit stdenv fetchurl cross; + binutilsCross = forceBuildDrv (import ../development/tools/misc/binutils { + inherit stdenv fetchurl; noSysDirs = true; + cross = crossSystem; }); bison = bison23; @@ -3713,10 +3716,10 @@ let installLocales = getPkgConfig "glibc" "locales" false; }; - glibc29Cross = cross: forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.9) { + glibc29Cross = forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.9) { inherit stdenv fetchurl; - gccCross = gccCrossStageStatic cross; - kernelHeaders = linuxHeadersCross cross; + gccCross = gccCrossStageStatic; + kernelHeaders = linuxHeadersCross; installLocales = getPkgConfig "glibc" "locales" false; }); @@ -3726,16 +3729,16 @@ let installLocales = getPkgConfig "glibc" "locales" false; }; - glibc211Cross = cross : forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.11) { + glibc211Cross = forceBuildDrv (makeOverridable (import ../development/libraries/glibc-2.11) { inherit stdenv fetchurl; - gccCross = gccCrossStageStatic cross; - kernelHeaders = linuxHeadersCross cross; + gccCross = gccCrossStageStatic; + kernelHeaders = linuxHeadersCross; installLocales = getPkgConfig "glibc" "locales" false; }); # We can choose: - libcCross = cross: glibc211Cross cross; - # libcCross = cross: uclibcCross cross; + libcCross = glibc211Cross; + # libcCross = uclibcCross; eglibc = import ../development/libraries/eglibc { inherit fetchsvn stdenv; @@ -5869,8 +5872,9 @@ let linuxHeaders = linuxHeaders_2_6_28; - linuxHeadersCross = cross : forceBuildDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix { - inherit stdenv fetchurl cross perl; + linuxHeadersCross = forceBuildDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix { + inherit stdenv fetchurl perl; + cross = crossSystem; }); linuxHeaders_2_6_18 = import ../os-specific/linux/kernel-headers/2.6.18.5.nix { From dddd34bc4ea39ac60ac5550b382a08df1d92973d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Sat, 6 Mar 2010 23:37:01 +0000 Subject: [PATCH 08/27] Updating qemu. svn path=/nixpkgs/trunk/; revision=20458 --- .../virtualization/qemu/0.12.2.nix | 18 ------------------ .../virtualization/qemu/0.12.3.nix | 18 ++++++++++++++++++ pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 19 insertions(+), 19 deletions(-) delete mode 100644 pkgs/applications/virtualization/qemu/0.12.2.nix create mode 100644 pkgs/applications/virtualization/qemu/0.12.3.nix diff --git a/pkgs/applications/virtualization/qemu/0.12.2.nix b/pkgs/applications/virtualization/qemu/0.12.2.nix deleted file mode 100644 index d47f3d1a8a0..00000000000 --- a/pkgs/applications/virtualization/qemu/0.12.2.nix +++ /dev/null @@ -1,18 +0,0 @@ -{stdenv, fetchurl, SDL, zlib, which}: - -stdenv.mkDerivation { - name = "qemu-0.12.2"; - - src = fetchurl { - url = http://download.savannah.gnu.org/releases/qemu/qemu-0.12.2.tar.gz; - sha256 = "0hv8fs8z14miryqm81vhlwwp4gmffw11lka7945rxn6vqzpc5kmc"; - }; - - patchFlags = "-p2"; - - buildInputs = [SDL zlib which]; - - meta = { - description = "QEmu processor emulator"; - }; -} diff --git a/pkgs/applications/virtualization/qemu/0.12.3.nix b/pkgs/applications/virtualization/qemu/0.12.3.nix new file mode 100644 index 00000000000..a16a4d58729 --- /dev/null +++ b/pkgs/applications/virtualization/qemu/0.12.3.nix @@ -0,0 +1,18 @@ +{stdenv, fetchurl, SDL, zlib, which}: + +stdenv.mkDerivation rec { + name = "qemu-0.12.3"; + + src = fetchurl { + url = "http://download.savannah.gnu.org/releases/qemu/${name}.tar.gz"; + sha256 = "0jyyz9vm8qrjb6nzfgdwmj9y990fnk2bl9ja0sr1i555n27nzqiw"; + }; + + patchFlags = "-p2"; + + buildInputs = [SDL zlib which]; + + meta = { + description = "QEmu processor emulator"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0b3429a0091..78b683a6ac3 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -7923,7 +7923,7 @@ let inherit fetchurl stdenv pkgconfig imagemagick boost python; }; - qemu = import ../applications/virtualization/qemu/0.12.2.nix { + qemu = import ../applications/virtualization/qemu/0.12.3.nix { inherit stdenv fetchurl SDL zlib which; }; From 7858a1d7d8eaaf0c8ab1207ac133aba8771908e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Sun, 7 Mar 2010 00:05:51 +0000 Subject: [PATCH 09/27] Adding assertions for the cross-toolchain attributes, so noone feels tempted to build them without setting a crossSystem to build for. svn path=/nixpkgs/trunk/; revision=20459 --- pkgs/top-level/all-packages.nix | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 78b683a6ac3..9017fb40278 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1956,7 +1956,7 @@ let profiledCompiler = false; enableMultilib = true; crossStageStatic = false; - cross = crossSystem; + cross = assert crossSystem != null; crossSystem; }; gcc44_realCross = makeOverridable (import ../development/compilers/gcc-4.4) { @@ -1970,7 +1970,7 @@ let # http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41818 enableShared = if (crossSystem.arch == "sparc64") then false else true; crossStageStatic = false; - cross = crossSystem; + cross = assert crossSystem != null; crossSystem; }; gccCrossStageStatic = wrapGCCCross { @@ -1982,14 +1982,14 @@ let }); libc = null; binutils = binutilsCross; - cross = crossSystem; + cross = assert crossSystem != null; crossSystem; }; gccCrossStageFinal = wrapGCCCross { gcc = forceBuildDrv gcc44_realCross; libc = libcCross; binutils = binutilsCross; - cross = crossSystem; + cross = assert crossSystem != null; crossSystem; }; gcc43_multi = lowPrio (wrapGCCWith (import ../build-support/gcc-wrapper) glibc_multi (gcc43.gcc.override { @@ -2858,7 +2858,7 @@ let binutilsCross = forceBuildDrv (import ../development/tools/misc/binutils { inherit stdenv fetchurl; noSysDirs = true; - cross = crossSystem; + cross = assert crossSystem != null; crossSystem; }); bison = bison23; @@ -5874,7 +5874,7 @@ let linuxHeadersCross = forceBuildDrv (import ../os-specific/linux/kernel-headers/2.6.32.nix { inherit stdenv fetchurl perl; - cross = crossSystem; + cross = assert crossSystem != null; crossSystem; }); linuxHeaders_2_6_18 = import ../os-specific/linux/kernel-headers/2.6.18.5.nix { From 7a2ad368f980d99ec069f5a29d1ddc325da85c16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Sun, 7 Mar 2010 21:03:50 +0000 Subject: [PATCH 10/27] Updating lrzip. It does not depend on nasm anymore. svn path=/nixpkgs/trunk/; revision=20463 --- pkgs/tools/compression/lrzip/default.nix | 12 ++++++------ pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/pkgs/tools/compression/lrzip/default.nix b/pkgs/tools/compression/lrzip/default.nix index 338bc16d85d..e48c0ca52c2 100644 --- a/pkgs/tools/compression/lrzip/default.nix +++ b/pkgs/tools/compression/lrzip/default.nix @@ -1,16 +1,16 @@ -{stdenv, fetchurl, zlib, lzo, bzip2, nasm}: +{stdenv, fetchurl, zlib, lzo, bzip2}: -stdenv.mkDerivation { - name = "lrzip-0.23"; +stdenv.mkDerivation rec { + name = "lrzip-0.44"; src = fetchurl { - url = http://ck.kolivas.org/apps/lrzip/lrzip-0.23.tar.bz2; - sha256 = "52514a46228266230760fe8f7da9dd669b4c82160e9c238f029cd535d0988065"; + url = "http://ck.kolivas.org/apps/lrzip/${name}.tar.bz2"; + sha256 = "1ncr6igs8v6yxp60sgb9h4ra8wb7jzbxiyj4a9m4nrxyw8fwm2iv"; }; NIX_CFLAGS_COMPILE = "-isystem ${zlib}/include"; - buildInputs = [ zlib lzo bzip2 nasm ]; + buildInputs = [ zlib lzo bzip2 ]; meta = { homepage = http://ck.kolivas.org/apps/lrzip/; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9017fb40278..1cf74114a03 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1015,7 +1015,7 @@ let }; lrzip = import ../tools/compression/lrzip { - inherit fetchurl stdenv zlib lzo bzip2 nasm; + inherit fetchurl stdenv zlib lzo bzip2; }; lsh = import ../tools/networking/lsh { From 2a1293a3c46cd73b3255f1d36210d1b6430bac43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20L=C3=B6h?= Date: Sun, 7 Mar 2010 22:32:58 +0000 Subject: [PATCH 11/27] Added csv Haskell package. svn path=/nixpkgs/trunk/; revision=20464 --- pkgs/development/libraries/haskell/csv/default.nix | 12 ++++++++++++ pkgs/top-level/haskell-packages.nix | 4 ++++ 2 files changed, 16 insertions(+) create mode 100644 pkgs/development/libraries/haskell/csv/default.nix diff --git a/pkgs/development/libraries/haskell/csv/default.nix b/pkgs/development/libraries/haskell/csv/default.nix new file mode 100644 index 00000000000..56eefcc43a9 --- /dev/null +++ b/pkgs/development/libraries/haskell/csv/default.nix @@ -0,0 +1,12 @@ +{cabal, parsec}: + +cabal.mkDerivation (self : { + pname = "csv"; + version = "0.1.1"; + sha256 = "046e989f4bb76c9b15c33c3ec63f57a689317de8170449c9cf9e152393b7f1a0"; + propagatedBuildInputs = [parsec]; + meta = { + description = "CSV loader and dumper"; + }; +}) + diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix index a9bb0ce27a5..399ae41b8bb 100644 --- a/pkgs/top-level/haskell-packages.nix +++ b/pkgs/top-level/haskell-packages.nix @@ -81,6 +81,10 @@ rec { json = json_036; }; + csv = import ../development/libraries/haskell/csv { + inherit cabal parsec; + }; + dataenc = import ../development/libraries/haskell/dataenc { inherit cabal; }; From a5f0863a8babe2a956cf2676f1e4163e2934e387 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andres=20L=C3=B6h?= Date: Sun, 7 Mar 2010 22:33:05 +0000 Subject: [PATCH 12/27] Updating uulib and uuagc. svn path=/nixpkgs/trunk/; revision=20465 --- pkgs/development/libraries/haskell/uulib/default.nix | 4 ++-- pkgs/development/tools/haskell/uuagc/default.nix | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/development/libraries/haskell/uulib/default.nix b/pkgs/development/libraries/haskell/uulib/default.nix index b715b0ca743..2514da38ad7 100644 --- a/pkgs/development/libraries/haskell/uulib/default.nix +++ b/pkgs/development/libraries/haskell/uulib/default.nix @@ -2,8 +2,8 @@ cabal.mkDerivation (self : { pname = "uulib"; - version = "0.9.10"; - sha256 = "1df7336ed76c278323c2e25ab53ec1afc9eba6a7c918c826e9f783e84479e08f"; + version = "0.9.11"; + sha256 = "f364ec14f249c9fc28ab341050c7e1cc1bde865fb787e4456c07c1df450815c8"; meta = { description = "Haskell Utecht Tools Library"; }; diff --git a/pkgs/development/tools/haskell/uuagc/default.nix b/pkgs/development/tools/haskell/uuagc/default.nix index d4c3de9026e..248216bf673 100644 --- a/pkgs/development/tools/haskell/uuagc/default.nix +++ b/pkgs/development/tools/haskell/uuagc/default.nix @@ -2,9 +2,9 @@ cabal.mkDerivation (self : { pname = "uuagc"; - version = "0.9.10"; + version = "0.9.14"; name = self.fname; - sha256 = "cdbe78b6138a67bbc612f0f667f70ba483ebbdaa4d0c87c5508cfb5e68a49dcb"; + sha256 = "076250219874b03fc04473a71f6fc6e1c2324f3a65e98a6f7afcaa42de4dea0c"; extraBuildInputs = [uulib]; meta = { description = "Attribute Grammar System of Universiteit Utrecht"; From e0a7fba6a09f7ac9ad0bf26e81ab4cbf79e06af5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Sun, 7 Mar 2010 22:46:06 +0000 Subject: [PATCH 13/27] Making googleearth build (buildInputs => buildNativeInputs in the scripts) svn path=/nixpkgs/trunk/; revision=20466 --- pkgs/applications/misc/googleearth/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/misc/googleearth/default.nix b/pkgs/applications/misc/googleearth/default.nix index e903a384f10..085fa9fed2a 100644 --- a/pkgs/applications/misc/googleearth/default.nix +++ b/pkgs/applications/misc/googleearth/default.nix @@ -13,7 +13,7 @@ stdenv.mkDerivation { sha256 = "1sxs1nwb2zh2j8dbwm65r04byn66yn79kpzhilhswly6r8d7yivg"; }; - buildInputs = [ + buildNativeInputs = [ glibc glib stdenv.gcc.gcc @@ -51,7 +51,7 @@ stdenv.mkDerivation { chmod +x $out/bin/googleearth fullPath= - for i in $buildInputs; do + for i in $buildNativeInputs; do fullPath=$fullPath:$i/lib done From 4e59f0050147d22bfce3eb3a759047707a6b5958 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Llu=C3=ADs=20Batlle=20i=20Rossell?= Date: Sun, 7 Mar 2010 22:46:29 +0000 Subject: [PATCH 14/27] I added again nasm as lrzip input. It is required in i686-linux at least. svn path=/nixpkgs/trunk/; revision=20467 --- pkgs/tools/compression/lrzip/default.nix | 4 ++-- pkgs/top-level/all-packages.nix | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/tools/compression/lrzip/default.nix b/pkgs/tools/compression/lrzip/default.nix index e48c0ca52c2..0faa3e22c5c 100644 --- a/pkgs/tools/compression/lrzip/default.nix +++ b/pkgs/tools/compression/lrzip/default.nix @@ -1,4 +1,4 @@ -{stdenv, fetchurl, zlib, lzo, bzip2}: +{stdenv, fetchurl, zlib, lzo, bzip2, nasm}: stdenv.mkDerivation rec { name = "lrzip-0.44"; @@ -10,7 +10,7 @@ stdenv.mkDerivation rec { NIX_CFLAGS_COMPILE = "-isystem ${zlib}/include"; - buildInputs = [ zlib lzo bzip2 ]; + buildInputs = [ zlib lzo bzip2 nasm ]; meta = { homepage = http://ck.kolivas.org/apps/lrzip/; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1cf74114a03..9017fb40278 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -1015,7 +1015,7 @@ let }; lrzip = import ../tools/compression/lrzip { - inherit fetchurl stdenv zlib lzo bzip2; + inherit fetchurl stdenv zlib lzo bzip2 nasm; }; lsh = import ../tools/networking/lsh { From 53cdaca17e7e617f4ee4b7bf31879330567474e8 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 8 Mar 2010 08:16:16 +0000 Subject: [PATCH 15/27] * NVidia driver: revert to 190.53 because 195.36.08 has been withdrawn due to a fan speed issue (reported by James Cook). svn path=/nixpkgs/trunk/; revision=20468 --- pkgs/os-specific/linux/nvidia-x11/default.nix | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix index 295282fea72..54e14b19726 100644 --- a/pkgs/os-specific/linux/nvidia-x11/default.nix +++ b/pkgs/os-specific/linux/nvidia-x11/default.nix @@ -2,7 +2,7 @@ let - versionNumber = "195.36.08"; + versionNumber = "190.53"; in @@ -15,12 +15,12 @@ stdenv.mkDerivation { if stdenv.system == "i686-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86/${versionNumber}/NVIDIA-Linux-x86-${versionNumber}-pkg0.run"; - sha256 = "0kwkms1lj7h0gaz6x3m44575mfb1zbif0xlm55xffym2n4338lds"; + sha256 = "0ypm4ld8zvir5c6nc1a7x4wxkb0fdx13lf8a2fzi3fmvhpa8bag9"; } else if stdenv.system == "x86_64-linux" then fetchurl { url = "http://us.download.nvidia.com/XFree86/Linux-x86_64/${versionNumber}/NVIDIA-Linux-x86_64-${versionNumber}-pkg0.run"; - sha256 = "14yxypv4fq4ldpin51110bs5a4062mfr7gvr1vikhsa1b2vq502f"; + sha256 = "0mm841563wy373hg5az42dncmvkzk8y7yxlij7axw4q1pjbihi80"; } else throw "nvidia-x11 does not support platform ${stdenv.system}"; From 4983b6d87cb99c43f760bf985ccc188068acc747 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 8 Mar 2010 10:29:20 +0000 Subject: [PATCH 16/27] * Revert to KDE 4.3 because there are build errors (e.g. http://hydra.nixos.org/build/314745) svn path=/nixpkgs/trunk/; revision=20469 --- pkgs/top-level/all-packages.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9017fb40278..06e5f8f9c1a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8710,7 +8710,7 @@ let }; - kde4 = kde44; + kde4 = kde43; kde43 = makeOverridable (import ../desktops/kde-4.3) (pkgs // { openexr = openexr_1_6_1; From 596b70a208bc05dfcc0551d4583d0638c7c7c764 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 8 Mar 2010 10:29:53 +0000 Subject: [PATCH 17/27] * The scheduling priority for the nixpkgs trunk should be higher than the stdenv branch. svn path=/nixpkgs/trunk/; revision=20470 --- pkgs/top-level/release.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 851294de957..d79812830b9 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -17,7 +17,7 @@ let prio = level: job: toJob job // { schedulingPriority = level; }; toJob = x: if builtins.isAttrs x then x else - { type = "job"; systems = x; schedulingPriority = 5; }; + { type = "job"; systems = x; schedulingPriority = 10; }; /* Perform a job on the given set of platforms. The function `f' is called by Hydra for each platform, and should return some job From 8863a06fff26f11173cf33bed7bf1c42a0e5ded0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 8 Mar 2010 10:40:01 +0000 Subject: [PATCH 18/27] GNU Enscript 1.6.5.1. svn path=/nixpkgs/trunk/; revision=20472 --- pkgs/tools/text/enscript/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/tools/text/enscript/default.nix b/pkgs/tools/text/enscript/default.nix index 33c82ec52d8..d0dd566c9e3 100644 --- a/pkgs/tools/text/enscript/default.nix +++ b/pkgs/tools/text/enscript/default.nix @@ -1,11 +1,11 @@ { stdenv, fetchurl, gettext }: stdenv.mkDerivation rec { - name = "enscript-1.6.5"; + name = "enscript-1.6.5.1"; src = fetchurl { url = "mirror://gnu/enscript/${name}.tar.gz"; - sha256 = "1sq4ng7z34qhx6cavnzndgkjpjr9lbvpxgd5a3ajgif3n57fjki2"; + sha256 = "12zmd3iibpdwpgk10pwd71111dfh31x37xy6cllb1g243in3bgsp"; }; buildInputs = [ gettext ]; From 95023912751fc9922986b485236f9bf89dffc85e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 8 Mar 2010 10:40:05 +0000 Subject: [PATCH 19/27] TeXLive: attempt to pre-build format files. svn path=/nixpkgs/trunk/; revision=20473 --- pkgs/misc/tex/texlive/default.nix | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/pkgs/misc/tex/texlive/default.nix b/pkgs/misc/tex/texlive/default.nix index 50a6e7ab088..719a8d4a45c 100644 --- a/pkgs/misc/tex/texlive/default.nix +++ b/pkgs/misc/tex/texlive/default.nix @@ -46,15 +46,19 @@ rec { doPostInstall = fullDepEntry('' mv $out/bin $out/libexec ensureDir $out/bin - for i in $out/libexec/*/*; do + for i in "$out/libexec/"*"/"*; do echo -ne "#! /bin/sh\\n$i \"\$@\"" >$out/bin/$(basename $i) chmod a+x $out/bin/$(basename $i) done [ -d $out/texmf-config ] || ln -s $out/texmf $out/texmf-config - ln -s $out/*texmf* $out/share/ + ln -s "$out/"*texmf* "$out/share/" sed -e 's/.*pyhyph.*/=&/' -i $out/texmf-config/tex/generic/config/language.dat + # Prebuild the format files, as it used to be done with TeXLive 2007. + ensureDir "$out/texmf-var/web2c" + PATH="$PATH:$out/bin" mktexfmt --fmtdir="$out/texmf-var/web2c" --all + PATH=$PATH:$out/bin mktexlsr $out/texmf* HOME=. PATH=$PATH:$out/bin updmap-sys --syncwithtrees From cd0f5826df78e435084695ad0f45bf5b4c13db15 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 8 Mar 2010 13:22:45 +0000 Subject: [PATCH 20/27] TeXLive: Run `mktexfmt' after the first `mktexlsr'. svn path=/nixpkgs/trunk/; revision=20476 --- pkgs/misc/tex/texlive/default.nix | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pkgs/misc/tex/texlive/default.nix b/pkgs/misc/tex/texlive/default.nix index 719a8d4a45c..bfa47972547 100644 --- a/pkgs/misc/tex/texlive/default.nix +++ b/pkgs/misc/tex/texlive/default.nix @@ -55,15 +55,15 @@ rec { sed -e 's/.*pyhyph.*/=&/' -i $out/texmf-config/tex/generic/config/language.dat + PATH=$PATH:$out/bin mktexlsr $out/texmf* + + HOME=. PATH=$PATH:$out/bin updmap-sys --syncwithtrees + # Prebuild the format files, as it used to be done with TeXLive 2007. ensureDir "$out/texmf-var/web2c" PATH="$PATH:$out/bin" mktexfmt --fmtdir="$out/texmf-var/web2c" --all PATH=$PATH:$out/bin mktexlsr $out/texmf* - - HOME=. PATH=$PATH:$out/bin updmap-sys --syncwithtrees - - PATH=$PATH:$out/bin mktexlsr $out/texmf* '') ["minInit" "defEnsureDir" "doUnpack" "doMakeInstall"]; buildInputs = [ From 7ba365a41aa030b0a1cfb79d5fcd551125bf7db9 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Mon, 8 Mar 2010 14:28:47 +0000 Subject: [PATCH 21/27] * Apache httpd updated to 2.2.15. svn path=/nixpkgs/trunk/; revision=20477 --- pkgs/servers/http/apache-httpd/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/servers/http/apache-httpd/default.nix b/pkgs/servers/http/apache-httpd/default.nix index deca99bb788..c44a90a1663 100644 --- a/pkgs/servers/http/apache-httpd/default.nix +++ b/pkgs/servers/http/apache-httpd/default.nix @@ -6,12 +6,12 @@ assert sslSupport -> openssl != null; stdenv.mkDerivation rec { - version = "2.2.14"; + version = "2.2.15"; name = "apache-httpd-${version}"; src = fetchurl { url = "mirror://apache/httpd/httpd-${version}.tar.bz2"; - md5 = "a5226203aaf97e5b941c41a71c112704"; + sha1 = "5f0e973839ed2e38a4d03adba109ef5ce3381bc2"; }; #inherit sslSupport; From 993588515f175206adbbb1a09dce013a32fb2698 Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Mon, 8 Mar 2010 20:35:25 +0000 Subject: [PATCH 22/27] We use Python 2.6 now svn path=/nixpkgs/trunk/; revision=20478 --- pkgs/tools/networking/p2p/bit-tornado/default.nix | 3 +++ 1 file changed, 3 insertions(+) diff --git a/pkgs/tools/networking/p2p/bit-tornado/default.nix b/pkgs/tools/networking/p2p/bit-tornado/default.nix index d8b5d2bb015..19752082b0e 100644 --- a/pkgs/tools/networking/p2p/bit-tornado/default.nix +++ b/pkgs/tools/networking/p2p/bit-tornado/default.nix @@ -13,8 +13,11 @@ stdenv.mkDerivation { installPhase = "python setup.py install --prefix=$out ;"+ " echo 'export PYTHONPATH=$PYTHONPATH:'$out'/lib/python2.4/site-packages:"+ wxPython26+"/lib/python2.4/site-packages:"+ + wxPython26+"/lib/python2.6/site-packages:"+ "'$out'/lib/python2.5/site-packages:"+ + "'$out'/lib/python2.6/site-packages:"+ wxPython26+"/lib/python2.4/site-packages/wx-2.6-gtk2-unicode:"+ + wxPython26+"/lib/python2.6/site-packages/wx-2.6-gtk2-unicode:"+ wxPython26+"/lib/python2.5/site-packages/wx-2.6-gtk2-unicode; "+ "python `which btdownloadgui.py` --ipv6_enabled 1 --ipv6_binds_v4 0 \"$@\";' >"+ "$out/bin/bittornado ; chmod a+rx $out/bin/bittornado;"; From 249c487efad9ddf8d5fdd0c016970f614162ff1a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 8 Mar 2010 21:38:05 +0000 Subject: [PATCH 23/27] TeXLive: Pass `mktexfmt' the argument it wants. svn path=/nixpkgs/trunk/; revision=20480 --- pkgs/misc/tex/texlive/default.nix | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pkgs/misc/tex/texlive/default.nix b/pkgs/misc/tex/texlive/default.nix index bfa47972547..7a14ba90887 100644 --- a/pkgs/misc/tex/texlive/default.nix +++ b/pkgs/misc/tex/texlive/default.nix @@ -60,8 +60,11 @@ rec { HOME=. PATH=$PATH:$out/bin updmap-sys --syncwithtrees # Prebuild the format files, as it used to be done with TeXLive 2007. + # Note the funny argument parser of `mktexfmt', which wants something + # ending in `.fmt' as its first argument. ensureDir "$out/texmf-var/web2c" - PATH="$PATH:$out/bin" mktexfmt --fmtdir="$out/texmf-var/web2c" --all + PATH="$PATH:$out/bin" mktexfmt does-not-matter.fmt \ + --fmtdir="$out/texmf-var/web2c" --all PATH=$PATH:$out/bin mktexlsr $out/texmf* '') ["minInit" "defEnsureDir" "doUnpack" "doMakeInstall"]; From 8d8e6f7e4c85e55bb055e7df04b922ad106b18d0 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 9 Mar 2010 08:45:20 +0000 Subject: [PATCH 24/27] * Mark nixSqlite as low priority to prevent it from being installed accidentally. svn path=/nixpkgs/trunk/; revision=20481 --- pkgs/top-level/all-packages.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 06e5f8f9c1a..9098162664a 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9036,11 +9036,11 @@ let }; # The SQLite branch. - nixSqlite = makeOverridable (import ../tools/package-management/nix/sqlite.nix) { + nixSqlite = lowPrio (makeOverridable (import ../tools/package-management/nix/sqlite.nix) { inherit fetchurl stdenv perl curl bzip2 openssl aterm sqlite; storeDir = getPkgConfig "nix" "storeDir" "/nix/store"; stateDir = getPkgConfig "nix" "stateDir" "/nix/var"; - }; + }); nixCustomFun = src: preConfigure: enableScripts: configureFlags: import ../tools/package-management/nix/custom.nix { From b44af59afb163875b16771327b5c817afa5e2709 Mon Sep 17 00:00:00 2001 From: Rob Vermaas Date: Tue, 9 Mar 2010 10:33:31 +0000 Subject: [PATCH 25/27] separate cross builds in separate release expression, will add extra jobset svn path=/nixpkgs/trunk/; revision=20484 --- pkgs/top-level/release-cross.nix | 107 ++++++++++++++++ pkgs/top-level/release-lib.nix | 103 +++++++++++++++ pkgs/top-level/release.nix | 210 +------------------------------ 3 files changed, 213 insertions(+), 207 deletions(-) create mode 100644 pkgs/top-level/release-cross.nix create mode 100644 pkgs/top-level/release-lib.nix diff --git a/pkgs/top-level/release-cross.nix b/pkgs/top-level/release-cross.nix new file mode 100644 index 00000000000..8d96ad00921 --- /dev/null +++ b/pkgs/top-level/release-cross.nix @@ -0,0 +1,107 @@ +with (import ./release-lib.nix); + +( + +/* Test some cross builds to the Sheevaplug */ +let + crossSystem = { + config = "armv5tel-unknown-linux-gnueabi"; + bigEndian = false; + arch = "arm"; + float = "soft"; + withTLS = true; + platform = pkgs.platforms.sheevaplug; + openssl.system = "linux-generic32"; + }; + nativePlatforms = linux; +in { + crossSheevaplugLinux = mapTestOnCross crossSystem (rec { + bison = nativePlatforms; + tightvnc = nativePlatforms; + #openoffice = nativePlatforms; + wxGTK = nativePlatforms; + #firefox = nativePlatforms; + xorg = { + #xorgserver = nativePlatforms; + }; + nixUnstable = linux; + linuxPackages_2_6_32.kernel = linux; + linuxPackages_2_6_33.kernel = linux; + gdbCross = nativePlatforms; + }); +}) // ( + +/* Test some cross builds to the mipsel */ +let + crossSystem = { + config = "mipsel-unknown-linux"; + bigEndian = false; + arch = "mips"; + float = "soft"; + withTLS = true; + platform = { + name = "malta"; + kernelBaseConfig = "malta_defconfig"; + kernelHeadersBaseConfig = "malta_defconfig"; + uboot = null; + kernelArch = "mips"; + kernelAutoModules = false; + kernelTarget = "vmlinux.bin"; + }; + openssl.system = "linux-generic32"; + }; + nativePlatforms = linux; +in { + crossMipselLinux = mapTestOnCross crossSystem (rec { + bison = nativePlatforms; + tightvnc = nativePlatforms; + #openoffice = nativePlatforms; + wxGTK = nativePlatforms; + #firefox = nativePlatforms; + xorg = { + #xorgserver = nativePlatforms; + }; + nixUnstable = linux; + linuxPackages_2_6_32.kernel = linux; + linuxPackages_2_6_33.kernel = linux; + gdbCross = nativePlatforms; + }); +}) // ( + +/* Test some cross builds to the ultrasparc */ +let + crossSystem = { + config = "sparc64-unknown-linux"; + bigEndian = true; + arch = "sparc64"; + float = "hard"; + withTLS = true; + cpu = "ultrasparc"; + platform = { + name = "ultrasparc"; + kernelHeadersBaseConfig = "sparc64_defconfig"; + kernelBaseConfig = "sparc64_defconfig"; + kernelArch = "sparc"; + kernelAutoModules = false; + kernelTarget = "zImage"; + uboot = null; + }; + openssl.system = "linux64-sparcv9"; + }; + nativePlatforms = linux; +in { + crossUltraSparcLinux = mapTestOnCross crossSystem (rec { + bison = nativePlatforms; + tightvnc = nativePlatforms; + #openoffice = nativePlatforms; + wxGTK = nativePlatforms; + #firefox = nativePlatforms; + xorg = { + #xorgserver = nativePlatforms; + }; + nixUnstable = linux; + linuxPackages_2_6_32.kernel = linux; + linuxPackages_2_6_33.kernel = linux; + gdbCross = nativePlatforms; + }); +}) diff --git a/pkgs/top-level/release-lib.nix b/pkgs/top-level/release-lib.nix new file mode 100644 index 00000000000..b65296b5ea2 --- /dev/null +++ b/pkgs/top-level/release-lib.nix @@ -0,0 +1,103 @@ +rec { + allPackages = import ./all-packages.nix; + + pkgs = allPackages {}; + + /* The working or failing letters for cross builds will be sent only to + the following maintainers, as most package maintainers will not be + interested in the result of cross building a package. */ + crossMaintainers = with pkgs.lib.maintainers; [ viric ]; + + /* Set the Hydra scheduling priority for a job. The default + priority (100) should be used for most jobs. A different + priority should only be used for a few particularly interesting + jobs (in terms of giving feedback to developers), such as stdenv. + */ + prio = level: job: toJob job // { schedulingPriority = level; }; + + toJob = x: if builtins.isAttrs x then x else + { type = "job"; systems = x; schedulingPriority = 10; }; + + /* Perform a job on the given set of platforms. The function `f' is + called by Hydra for each platform, and should return some job + to build on that platform. `f' is passed the Nixpkgs collection + for the platform in question. */ + testOn = systems: f: {system ? builtins.currentSystem}: + if pkgs.lib.elem system systems then f (allPackages {inherit system;}) else {}; + + /* Similar to the testOn function, but with an additional 'crossSystem' + * parameter for allPackages, defining the target platform for cross builds */ + testOnCross = crossSystem: systems: f: {system ? builtins.currentSystem}: + if pkgs.lib.elem system systems then f (allPackages {inherit system + crossSystem;}) else {}; + + /* Map an attribute of the form `foo = [platforms...]' to `testOn + [platforms...] (pkgs: pkgs.foo)'. */ + mapTestOn = pkgs.lib.mapAttrsRecursiveCond + (as: !(as ? type && as.type == "job")) + (path: value: + let + job = toJob value; + getPkg = pkgs: + pkgs.lib.addMetaAttrs { schedulingPriority = toString job.schedulingPriority; } + (pkgs.lib.getAttrFromPath path pkgs); + in testOn job.systems getPkg); + + + /* Similar to the testOn function, but with an additional 'crossSystem' + * parameter for allPackages, defining the target platform for cross builds, + * and triggering the build of the host derivation (cross built - hostDrv). */ + mapTestOnCross = crossSystem: pkgs.lib.mapAttrsRecursiveCond + (as: !(as ? type && as.type == "job")) + (path: value: + let + job = toJob value; + getPkg = pkgs: setCrossMaintainers + (pkgs.lib.addMetaAttrs { schedulingPriority = toString job.schedulingPriority; } + (pkgs.lib.getAttrFromPath (path ++ ["hostDrv"]) pkgs)); + in testOnCross crossSystem job.systems getPkg); + + setCrossMaintainers = pkg: pkg // { meta.maintainers = crossMaintainers; }; + + /* Find all packages that have a meta.platforms field listing the + supported platforms. */ + packagesWithMetaPlatform = attrSet: + if builtins ? tryEval then + let pairs = pkgs.lib.concatMap + (x: + let pair = builtins.tryEval + (let + attrVal = (builtins.getAttr x attrSet); + in + {val=(processPackage attrVal); + attrVal = attrVal; + attrValIsAttrs = builtins.isAttrs attrVal; + }); + success = (builtins.tryEval pair.value.attrVal).success; + in + if success && pair.value.attrValIsAttrs && + pair.value.val != [] then + [{name= x; value=pair.value.val;}] else []) + (builtins.attrNames attrSet); + in + builtins.listToAttrs pairs + else {}; + + # May fail as much as it wishes, we will catch the error. + processPackage = attrSet: + if attrSet ? recurseForDerivations && attrSet.recurseForDerivations then + packagesWithMetaPlatform attrSet + else + if attrSet ? meta && attrSet.meta ? platforms + then attrSet.meta.platforms + else []; + + /* Common platform groups on which to test packages. */ + inherit (pkgs.lib.platforms) linux darwin cygwin allBut all mesaPlatforms; + + /* Platform groups for specific kinds of applications. */ + x11Supported = linux; + gtkSupported = linux; + ghcSupported = linux ++ ["i686-darwin"] ; + +} diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index d79812830b9..7c5623a8991 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -1,107 +1,6 @@ -let +with (import ./release-lib.nix); - allPackages = import ./all-packages.nix; - - pkgs = allPackages {}; - - /* The working or failing letters for cross builds will be sent only to - the following maintainers, as most package maintainers will not be - interested in the result of cross building a package. */ - crossMaintainers = with pkgs.lib.maintainers; [ viric ]; - - /* Set the Hydra scheduling priority for a job. The default - priority (100) should be used for most jobs. A different - priority should only be used for a few particularly interesting - jobs (in terms of giving feedback to developers), such as stdenv. - */ - prio = level: job: toJob job // { schedulingPriority = level; }; - - toJob = x: if builtins.isAttrs x then x else - { type = "job"; systems = x; schedulingPriority = 10; }; - - /* Perform a job on the given set of platforms. The function `f' is - called by Hydra for each platform, and should return some job - to build on that platform. `f' is passed the Nixpkgs collection - for the platform in question. */ - testOn = systems: f: {system ? builtins.currentSystem}: - if pkgs.lib.elem system systems then f (allPackages {inherit system;}) else {}; - - /* Similar to the testOn function, but with an additional 'crossSystem' - * parameter for allPackages, defining the target platform for cross builds */ - testOnCross = crossSystem: systems: f: {system ? builtins.currentSystem}: - if pkgs.lib.elem system systems then f (allPackages {inherit system - crossSystem;}) else {}; - - /* Map an attribute of the form `foo = [platforms...]' to `testOn - [platforms...] (pkgs: pkgs.foo)'. */ - mapTestOn = pkgs.lib.mapAttrsRecursiveCond - (as: !(as ? type && as.type == "job")) - (path: value: - let - job = toJob value; - getPkg = pkgs: - pkgs.lib.addMetaAttrs { schedulingPriority = toString job.schedulingPriority; } - (pkgs.lib.getAttrFromPath path pkgs); - in testOn job.systems getPkg); - - - /* Similar to the testOn function, but with an additional 'crossSystem' - * parameter for allPackages, defining the target platform for cross builds, - * and triggering the build of the host derivation (cross built - hostDrv). */ - mapTestOnCross = crossSystem: pkgs.lib.mapAttrsRecursiveCond - (as: !(as ? type && as.type == "job")) - (path: value: - let - job = toJob value; - getPkg = pkgs: setCrossMaintainers - (pkgs.lib.addMetaAttrs { schedulingPriority = toString job.schedulingPriority; } - (pkgs.lib.getAttrFromPath (path ++ ["hostDrv"]) pkgs)); - in testOnCross crossSystem job.systems getPkg); - - setCrossMaintainers = pkg: pkg // { meta.maintainers = crossMaintainers; }; - - /* Find all packages that have a meta.platforms field listing the - supported platforms. */ - packagesWithMetaPlatform = attrSet: - if builtins ? tryEval then - let pairs = pkgs.lib.concatMap - (x: - let pair = builtins.tryEval - (let - attrVal = (builtins.getAttr x attrSet); - in - {val=(processPackage attrVal); - attrVal = attrVal; - attrValIsAttrs = builtins.isAttrs attrVal; - }); - success = (builtins.tryEval pair.value.attrVal).success; - in - if success && pair.value.attrValIsAttrs && - pair.value.val != [] then - [{name= x; value=pair.value.val;}] else []) - (builtins.attrNames attrSet); - in - builtins.listToAttrs pairs - else {}; - - # May fail as much as it wishes, we will catch the error. - processPackage = attrSet: - if attrSet ? recurseForDerivations && attrSet.recurseForDerivations then - packagesWithMetaPlatform attrSet - else - if attrSet ? meta && attrSet.meta ? platforms - then attrSet.meta.platforms - else []; - - /* Common platform groups on which to test packages. */ - inherit (pkgs.lib.platforms) linux darwin cygwin allBut all mesaPlatforms; - - /* Platform groups for specific kinds of applications. */ - x11Supported = linux; - gtkSupported = linux; - ghcSupported = linux ++ ["i686-darwin"] ; - -in { +{ tarball = import ./make-tarball.nix; @@ -699,108 +598,5 @@ in { xset = linux; }; -} )) // ( +} )) -/* Test some cross builds to the Sheevaplug */ -let - crossSystem = { - config = "armv5tel-unknown-linux-gnueabi"; - bigEndian = false; - arch = "arm"; - float = "soft"; - withTLS = true; - platform = pkgs.platforms.sheevaplug; - openssl.system = "linux-generic32"; - }; - nativePlatforms = linux; -in { - crossSheevaplugLinux = mapTestOnCross crossSystem (rec { - bison = nativePlatforms; - tightvnc = nativePlatforms; - #openoffice = nativePlatforms; - wxGTK = nativePlatforms; - #firefox = nativePlatforms; - xorg = { - #xorgserver = nativePlatforms; - }; - nixUnstable = linux; - linuxPackages_2_6_32.kernel = linux; - linuxPackages_2_6_33.kernel = linux; - gdbCross = nativePlatforms; - }); -}) // ( - -/* Test some cross builds to the mipsel */ -let - crossSystem = { - config = "mipsel-unknown-linux"; - bigEndian = false; - arch = "mips"; - float = "soft"; - withTLS = true; - platform = { - name = "malta"; - kernelBaseConfig = "malta_defconfig"; - kernelHeadersBaseConfig = "malta_defconfig"; - uboot = null; - kernelArch = "mips"; - kernelAutoModules = false; - kernelTarget = "vmlinux.bin"; - }; - openssl.system = "linux-generic32"; - }; - nativePlatforms = linux; -in { - crossMipselLinux = mapTestOnCross crossSystem (rec { - bison = nativePlatforms; - tightvnc = nativePlatforms; - #openoffice = nativePlatforms; - wxGTK = nativePlatforms; - #firefox = nativePlatforms; - xorg = { - #xorgserver = nativePlatforms; - }; - nixUnstable = linux; - linuxPackages_2_6_32.kernel = linux; - linuxPackages_2_6_33.kernel = linux; - gdbCross = nativePlatforms; - }); -}) // ( - -/* Test some cross builds to the ultrasparc */ -let - crossSystem = { - config = "sparc64-unknown-linux"; - bigEndian = true; - arch = "sparc64"; - float = "hard"; - withTLS = true; - cpu = "ultrasparc"; - platform = { - name = "ultrasparc"; - kernelHeadersBaseConfig = "sparc64_defconfig"; - kernelBaseConfig = "sparc64_defconfig"; - kernelArch = "sparc"; - kernelAutoModules = false; - kernelTarget = "zImage"; - uboot = null; - }; - openssl.system = "linux64-sparcv9"; - }; - nativePlatforms = linux; -in { - crossUltraSparcLinux = mapTestOnCross crossSystem (rec { - bison = nativePlatforms; - tightvnc = nativePlatforms; - #openoffice = nativePlatforms; - wxGTK = nativePlatforms; - #firefox = nativePlatforms; - xorg = { - #xorgserver = nativePlatforms; - }; - nixUnstable = linux; - linuxPackages_2_6_32.kernel = linux; - linuxPackages_2_6_33.kernel = linux; - gdbCross = nativePlatforms; - }); -}) From a3111812ad6416d0c7a07ef661e91da17801dd8b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 9 Mar 2010 11:57:05 +0000 Subject: [PATCH 26/27] * In overrideDerivation, filter out the `type' attribute. svn path=/nixpkgs/trunk/; revision=20487 --- pkgs/lib/customisation.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/lib/customisation.nix b/pkgs/lib/customisation.nix index 3b1bed3fc30..d5c9e99727e 100644 --- a/pkgs/lib/customisation.nix +++ b/pkgs/lib/customisation.nix @@ -31,7 +31,7 @@ rec { overrideDerivation = drv: f: let # Filter out special attributes. - attrs = removeAttrs drv ["meta" "passthru" "outPath" "drvPath" "hostDrv" "buildDrv"]; + attrs = removeAttrs drv ["meta" "passthru" "outPath" "drvPath" "hostDrv" "buildDrv" "type"]; newDrv = derivation (attrs // (f drv)); in newDrv // { meta = if drv ? meta then drv.meta else {}; From d2f598122c18396a43be8de6569c508a4cf2267b Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 9 Mar 2010 12:53:42 +0000 Subject: [PATCH 27/27] * qemu-kvm updated to 0.12.3. svn path=/nixpkgs/trunk/; revision=20489 --- pkgs/os-specific/linux/qemu-kvm/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/os-specific/linux/qemu-kvm/default.nix b/pkgs/os-specific/linux/qemu-kvm/default.nix index 9bcb5a28e16..a5f97503366 100644 --- a/pkgs/os-specific/linux/qemu-kvm/default.nix +++ b/pkgs/os-specific/linux/qemu-kvm/default.nix @@ -3,11 +3,11 @@ assert stdenv.isLinux; stdenv.mkDerivation rec { - name = "qemu-kvm-0.12.2"; + name = "qemu-kvm-0.12.3"; src = fetchurl { url = "mirror://sourceforge/kvm/${name}.tar.gz"; - sha256 = "0nmg9dp3h040dkxq5vv4i7ip76v98rnhzqwy4pd88zznawc2k9l2"; + sha256 = "1cn20jsmf27h23ynm804bz41i2fmmbg02gbnfknz6cwbjg4cvk3p"; }; patches = [ ./unix-domain.patch ./smb-tmpdir.patch ];