nixUnstable: adding experimental debug coercion failure patch - for debugging only

svn path=/nixpkgs/trunk/; revision=17405
This commit is contained in:
Marc Weber 2009-09-24 18:22:30 +00:00
parent 7620dccae9
commit 4d41884f8e
2 changed files with 33 additions and 5 deletions

View File

@ -1,13 +1,41 @@
{ stdenv, fetchurl, aterm, db4, perl, curl, bzip2, openssl ? null
{ stdenv, fetchurl, lib, aterm, db4, perl, curl, bzip2, openssl ? null
, storeDir ? "/nix/store"
, stateDir ? "/nix/var"
, supportOldDBs ? true
, nameSuffix ? ""
, debugcCoercionFailuresPatch ? false
/* enabling this experimental patch will output a xml representation of the
thing which didn't match the expected type - for debugging only
The message of
let a = {}; in builtins.substring a a a; # always cause failure
looks like
value is an attribute set while an integer was expected
<?xml version='1.0' encoding='utf-8'?>
<expr>
<attrs>
</attrs>
</expr>
*/
, patches ? []
}:
stdenv.mkDerivation rec {
name = "nix-0.13pre17232${nameSuffix}";
let
allPatches =
patches ++ lib.optional debugcCoercionFailuresPatch
(fetchurl { url = http://mawercer.de/~marc/debug-coercion-failures.patch; sha256 = "13q6vbxp3p36hqzlfp0hw84n6f1hzljnxqy73vr2bmglp8np24wy"; });
vName = "nix-0.13pre17232";
name = "${vName}${nameSuffix}${if allPatches == [] then "" else "-patched"}";
in
stdenv.mkDerivation {
inherit name;
src = fetchurl {
url = "http://hydra.nixos.org/build/75293/download/4/${name}.tar.bz2";
@ -33,5 +61,5 @@ stdenv.mkDerivation rec {
license = "LGPL";
};
inherit patches;
patches = allPatches;
}

View File

@ -8337,7 +8337,7 @@ let
# The bleeding edge.
nixUnstable = makeOverridable (import ../tools/package-management/nix/unstable.nix) {
inherit fetchurl stdenv perl curl bzip2 openssl;
inherit fetchurl stdenv lib perl curl bzip2 openssl;
aterm = aterm242fixes;
db4 = db45;
supportOldDBs = getPkgConfig "nix" "OldDBSupport" true;