summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorMarc Weber <marco-oweber@gmx.de>2008-03-09 00:08:45 +0000
committerMarc Weber <marco-oweber@gmx.de>2008-03-09 00:08:45 +0000
commitbad0d45562466014982500c1e94286fd7f88fcc2 (patch)
tree82288f3ee01905c9194d1ec598e712544053f9b2 /pkgs
parent7c39433e7bffb052cd27ecd4204ba30ca36d53de (diff)
jdk updated to 1.5.0.15
updated bleeding edge stuff (should now work for the bulidfarm as well because
  dist files are stored on my server)
moved experimental my_env into its own file

svn path=/nixpkgs/trunk/; revision=11026
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/development/compilers/ghc/ghc-wrapper/default.nix2
-rw-r--r--pkgs/development/compilers/jdk/jdk5-sun-linux.nix11
-rw-r--r--pkgs/development/misc/bleeding-edge-repos/default.nix64
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/ghc_lambdavm.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/happs_data.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/happs_ixset.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/happs_plugins.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/happs_server.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/happs_state.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/happs_util.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/hsjava.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/hsutils.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/http.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/hypertable.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/nix_repository_manager.nix3
-rw-r--r--pkgs/misc/bleeding-edge-fetch-info/syb_with_class.nix3
-rw-r--r--pkgs/misc/my_env/default.nix35
-rw-r--r--pkgs/tools/package-management/nixRepositoryManager/default.nix47
-rw-r--r--pkgs/top-level/all-packages.nix103
19 files changed, 184 insertions, 117 deletions
diff --git a/pkgs/development/compilers/ghc/ghc-wrapper/default.nix b/pkgs/development/compilers/ghc/ghc-wrapper/default.nix
index a1efb48ba4065..4f4e4b82b1b94 100644
--- a/pkgs/development/compilers/ghc/ghc-wrapper/default.nix
+++ b/pkgs/development/compilers/ghc/ghc-wrapper/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   inherit suffix name ghc readline ncurses;
 
   buildInputs = (libraries ++ [ghcPkgUtil]);
-  tags = map (x :  sourceWithTagsDerivation ((lib.traceWhatis x).passthru.sourceWithTags)) 
+  tags = map (x :  sourceWithTagsDerivation (x.passthru.sourceWithTags)) 
           (uniqList { inputList= filter annotatedWithSourceAndTagInfo libraries; } );
 
   phases="installPhase";
diff --git a/pkgs/development/compilers/jdk/jdk5-sun-linux.nix b/pkgs/development/compilers/jdk/jdk5-sun-linux.nix
index 6a15b1f9ec918..a5d6f8bc516f0 100644
--- a/pkgs/development/compilers/jdk/jdk5-sun-linux.nix
+++ b/pkgs/development/compilers/jdk/jdk5-sun-linux.nix
@@ -10,13 +10,14 @@
 
 assert stdenv.system == "i686-linux" || stdenv.system == "x86_64-linux";
 
+let name = "jdk-1_5_0_15"; in
 stdenv.mkDerivation {
-  name = "jdk-1.5.0_14";
-  filename = "jdk-1_5_0_14";
-  dirname = "jdk1.5.0_14";
+  inherit name;
+  filename = "jdk-1_5_0_15";
+  dirname = "jdk1.5.0_15";
   builder = ./builder.sh;
-  pathname = if stdenv.system == "x86_64-linux" then "/tmp/jdk-1_5_0_14-linux-amd64.bin" else "/tmp/jdk-1_5_0_14-linux-i586.bin";
-  md5 = if stdenv.system == "x86_64-linux" then "9dc74d939dd42988280f2c22ab9521bf" else "32df8f2be09c3a0f39da1b3869164b55";
+  pathname = if stdenv.system == "x86_64-linux" then "/tmp/${name}-linux-amd64.bin" else "/tmp/${name}-linux-i586.bin";
+  md5 = if stdenv.system == "x86_64-linux" then "8c560eda470a50926b9e8dab2c806a25" else "6f45ac598a2f6ff73a2429d6a0da2624";
   
   stdenv = stdenv;
   inherit unzip;
diff --git a/pkgs/development/misc/bleeding-edge-repos/default.nix b/pkgs/development/misc/bleeding-edge-repos/default.nix
index a172234791706..9b0aa1c235662 100644
--- a/pkgs/development/misc/bleeding-edge-repos/default.nix
+++ b/pkgs/development/misc/bleeding-edge-repos/default.nix
@@ -1,16 +1,52 @@
-{
-# each repository has 
-# a type, url and maybe a tag
-# you can add group names to update some repositories at once
-# see nix_repository_manager expression in all-packages.nix
+args: 
+  with args;
+  let inherit (builtins) pathExists; in
+  rec {
+  /*
+    tries to get source in this order
+    1) Local .tar.gz in ${HOME}/managed_repos/dist/name.tar.gz (-> see nixRepositoryManager)
+    2) By importing                                           
+        pkgs/misc/bleeding-edge-fetch-info/name.nix
+        (generated by nixRepositoryManager --publish)
+    3) Fall back to fetch_xy given with information given by A) But
+      the sum wil propably be wrong..
+      (not everything is implemented now)
+  */ 
 
-http =  { type= "darcs"; url="http://darcs.haskell.org/http/"; group="happs"; };
-syb_with_class =  { type="darcs"; url="http://happs.org/HAppS/syb-with-class"; group="happs"; };
-happs_data =  { type="darcs"; url=http://happs.org/repos/HAppS-Data; group="happs"; };
-happs_util =  { type="darcs"; url=http://happs.org/repos/HAppS-Util; group="happs"; };
-happs_state =  { type="darcs"; url=http://happs.org/repos/HAppS-State; group="happs"; };
-happs_plugins =  { type="darcs"; url=http://happs.org/repos/HAppS-Plugins; group="happs"; };
-happs_ixset =  { type="darcs"; url=http://happs.org/repos/HAppS-IxSet; group="happs"; };
-happs_server =  { type="darcs"; url=http://happs.org/repos/HAppS-HTTP; group="happs"; };
-cabal = { type="darcs"; url=http://darcs.haskell.org/cabal; };
+  managedRepoDir = getConfig [ "bleedingEdgeRepos" "managedRepoDir" ] (builtins.getEnv "HOME" + "/managed_repos");
+
+  sourceByName = name : (
+    let localTarGZ = managedRepoDir+"/dist/${name}.tar.gz"; 
+        fetchUrlInfoFile = ../../../misc/bleeding-edge-fetch-info + "/${name}.nix"; in
+    if pathExists localTarGZ
+    then localTarGZ
+    else if pathExists fetchUrlInfoFile
+         then (import fetchUrlInfoFile) { inherit fetchurl; }
+         else builtins.trace "warning, no bleeding edge source info (${fetchUrlInfoFile}) found for ${name}, hash will propably be wrong"
+               (let attr = __getAttr name repos;
+                 in if (attr.type == "darcs")
+                   then fetchdarcs_2pre { inherit (attr) url md5; }
+                   else throw "TODO") );
+
+  repos = {
+    # each repository has 
+    # a type, url and maybe a tag
+    # you can add groups names to update some repositories at once
+    # see nix_repository_manager expression in all-packages.nix
+
+      nix_repository_manager = { type = "darcs"; url = "http://mawercer.de/~marc/repos/nix-repository-manager"; };
+
+      # darcs repositories haskell 
+      http =  { type= "darcs"; url="http://darcs.haskell.org/http/"; groups="happs"; };
+      syb_with_class =  { type="darcs"; url="http://happs.org/HAppS/syb-with-class"; groups="happs"; };
+      happs_data =  { type="darcs"; url=http://happs.org/repos/HAppS-Data; groups="happs"; };
+      happs_util =  { type="darcs"; url=http://happs.org/repos/HAppS-Util; groups="happs"; };
+      happs_state =  { type="darcs"; url=http://happs.org/repos/HAppS-State; groups="happs"; };
+      happs_plugins =  { type="darcs"; url=http://happs.org/repos/HAppS-Plugins; groups="happs"; };
+      happs_ixset =  { type="darcs"; url=http://happs.org/repos/HAppS-IxSet; groups="happs"; };
+      happs_server =  { type="darcs"; url=http://happs.org/repos/HAppS-HTTP; groups="happs"; };
+
+      # git repositories 
+      hypertable =  { type="git"; url="git://scm.hypertable.org/pub/repos/hypertable.git"; groups=""; };
+    } // getConfig [ "bleedingEdgeRepos" "repos" ] {};
 }
diff --git a/pkgs/misc/bleeding-edge-fetch-info/ghc_lambdavm.nix b/pkgs/misc/bleeding-edge-fetch-info/ghc_lambdavm.nix
new file mode 100644
index 0000000000000..e7ec639317078
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/ghc_lambdavm.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/ghc_lambdavm.tar.gz;
+  sha256 = "3d10e839b8226987383e870258ff38b56442ff254688f7c50983850676f992cb";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/happs_data.nix b/pkgs/misc/bleeding-edge-fetch-info/happs_data.nix
new file mode 100644
index 0000000000000..964e8b4f5b5fd
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/happs_data.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/happs_data.tar.gz;
+  sha256 = "26aec1571b1c1e69bf5a79fa6b3346e7493e3a4e00efe4c23a57b04e35e8d5a3";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/happs_ixset.nix b/pkgs/misc/bleeding-edge-fetch-info/happs_ixset.nix
new file mode 100644
index 0000000000000..5d4a4be4f167a
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/happs_ixset.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/happs_ixset.tar.gz;
+  sha256 = "80c857775cccdff49c55f28be069b53e14653b2812808ef9b4456aa500431241";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/happs_plugins.nix b/pkgs/misc/bleeding-edge-fetch-info/happs_plugins.nix
new file mode 100644
index 0000000000000..fc285b94b7741
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/happs_plugins.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/happs_plugins.tar.gz;
+  sha256 = "ff4ec49f4fcfb835a92ef9ec12ef7d1644d21318ca32a064ba8b72ea083bc103";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/happs_server.nix b/pkgs/misc/bleeding-edge-fetch-info/happs_server.nix
new file mode 100644
index 0000000000000..00a98a3ae4a8c
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/happs_server.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/happs_server.tar.gz;
+  sha256 = "76dbb45796c8795f93df39ea3a87cd9028eb4fcdbea1e3c611596298dbbc0f69";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/happs_state.nix b/pkgs/misc/bleeding-edge-fetch-info/happs_state.nix
new file mode 100644
index 0000000000000..188135c14f033
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/happs_state.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/happs_state.tar.gz;
+  sha256 = "d59f13b2cdcfbf412be0ee973c3824c2035b55c613f293ae98894dc8bd9de9f2";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/happs_util.nix b/pkgs/misc/bleeding-edge-fetch-info/happs_util.nix
new file mode 100644
index 0000000000000..5ceb76e6db575
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/happs_util.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/happs_util.tar.gz;
+  sha256 = "c5c5b363c79bba39ab7c30a6e7371fec9401e26dea4be82be1e4777acab5b965";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/hsjava.nix b/pkgs/misc/bleeding-edge-fetch-info/hsjava.nix
new file mode 100644
index 0000000000000..b275c6bc1a19b
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/hsjava.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/hsjava.tar.gz;
+  sha256 = "952839e53f63fc43c7c8a760bab97d150c504e148ebdd407be5e642661ed048f";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/hsutils.nix b/pkgs/misc/bleeding-edge-fetch-info/hsutils.nix
new file mode 100644
index 0000000000000..7f4d93f97ef2b
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/hsutils.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/hsutils.tar.gz;
+  sha256 = "6d1cc9881fb2684016e52d3ab8e6666c5396da168eb298c3a549294668f6aa52";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/http.nix b/pkgs/misc/bleeding-edge-fetch-info/http.nix
new file mode 100644
index 0000000000000..4ef8410096d09
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/http.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/http.tar.gz;
+  sha256 = "3e463fa090c6a7ddb06e88b592b1788a216db7eaf9384850b6d462217ba5be62";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/hypertable.nix b/pkgs/misc/bleeding-edge-fetch-info/hypertable.nix
new file mode 100644
index 0000000000000..022c1d87e0a6c
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/hypertable.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/hypertable.tar.gz;
+  sha256 = "d8a385def778d817415a6dd9d7ce10a60525c3c4a4d4dd8ec3bd8cfd359d2ab4";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/nix_repository_manager.nix b/pkgs/misc/bleeding-edge-fetch-info/nix_repository_manager.nix
new file mode 100644
index 0000000000000..5a919d6b9e415
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/nix_repository_manager.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/nix_repository_manager.tar.gz;
+  sha256 = "f85846540a88f0c168ab6632a6bcba20fa4a41e263f7183c354e8e913b2c7938";}
diff --git a/pkgs/misc/bleeding-edge-fetch-info/syb_with_class.nix b/pkgs/misc/bleeding-edge-fetch-info/syb_with_class.nix
new file mode 100644
index 0000000000000..97339411ee15c
--- /dev/null
+++ b/pkgs/misc/bleeding-edge-fetch-info/syb_with_class.nix
@@ -0,0 +1,3 @@
+ args: with args; fetchurl { 
+  url = http://mawercer.de/~nix/repos/syb_with_class.tar.gz;
+  sha256 = "6893a44c6831b3fd10587c275b82903d24b8a51409eead9ec2c530300f2e6542";}
diff --git a/pkgs/misc/my_env/default.nix b/pkgs/misc/my_env/default.nix
new file mode 100644
index 0000000000000..94c7a591081d2
--- /dev/null
+++ b/pkgs/misc/my_env/default.nix
@@ -0,0 +1,35 @@
+# idea: provide nix environment for your developement actions
+# experimental
+
+/*
+  # example for nix itself adding glibc tag file to an env var.
+  # experimental
+  env_nix = my_environment rec {
+   buildInputs = [perl curl bzip2 aterm242fixes db4] 
+          ++ map (x : sourceWithTagsDerivation ( (addCTaggingInfo x ).passthru.sourceWithTags ) ) [ glibc ];
+   db4 = db44;
+   aterm = aterm242fixes;
+   name = "env_nix";
+   userCmds = ". ~/.bashrc
+    PS1='\033]2;\h:\u:\w\007\\nenv ${name} \[\033[1;32m\][\u@\h: \w ]$\[\033[0m\] '
+     ";
+  };
+*/
+
+args:  stdenv.mkDerivation ( 
+  { userCmds =""; } // {
+  phases = "buildPhase";
+  buildPhase = "
+    ensureDir \$out/bin
+    name=${args.name}
+    o=\$out/bin/$name
+    echo -e \"#!/bin/sh --login\\n\" >> \$o
+    export | grep -v HOME= | grep -v PATH= >> \$o 
+    echo \"export PATH=\$PATH:\\\$PATH entering $name\" >> \$o
+    echo \"echo entering $name\" >> \$o
+    echo \"$userCmds\" >> \$o
+    echo \"/bin/sh\" >> $o
+    echo \"echo leaving $name\" >> \$o
+    chmod +x $o
+  ";
+} //args);
diff --git a/pkgs/tools/package-management/nixRepositoryManager/default.nix b/pkgs/tools/package-management/nixRepositoryManager/default.nix
index e3e20dfa913c0..9ac25e39bf193 100644
--- a/pkgs/tools/package-management/nixRepositoryManager/default.nix
+++ b/pkgs/tools/package-management/nixRepositoryManager/default.nix
@@ -1,34 +1,41 @@
+/*
+   repos for config file taken from all-pacakges.bleedingEdgeFetchInfo
+
+    nix-repository-manager --update <name> (for your local use only)
+
+  if you want to publish repos ask for the password (marco-oweber@gmx.de)
+      echo '{ bleedingEdgeFetchInfo = "${your_nix_pkgs_location}/pkgs/misc/bleeding-edge-fetch-info"; }' >> .nixpkgs/config.nix  
+    reinstall nix-repository-manager to recreate config
+      nix-repository-manager --publish <name> (to save on server
+*/
+
+
 args: with args; with lib;
 let 
-  repoDir = builtins.getEnv "HOME" + "/managed_repos";
   toConfigLine = name : set : 
     "[(\"name\",\"${name}\")," + ( concatStringsSep "," (map (a: "(\"${a}\",\"${__getAttr a set}\")" ) (__attrNames set)))+"]";
-  config = writeText "nix_repository_manager_config"
-        (repoDir+"\n" +
-        concatStringsSep "\n" (mapRecordFlatten toConfigLine bleeding_edge_repos));
+  nixPublishDir = getConfig [ "bleedingEdgeRepos" "bleedingEdgeFetchInfo"] "/tmp/bleeding-edge-fetch-info";
+  config = writeText "nix-repository-manager_config"
+        (bleedingEdgeRepos.managedRepoDir+"\n" +
+         nixPublishDir+"\n" +
+        concatStringsSep "\n" (mapRecordFlatten toConfigLine (bleedingEdgeRepos.repos)));
 
 in
 args.stdenv.mkDerivation {
 
-  inherit repoDir; # amend repoDir so that you know which one to take when installing bleeding edge packages 
-
-  name = "nix_repository_manager";
+  name = "nix-repository-manager";
 
-  #src = args.fetchdarcs {
-  #  url = http://mawercer.de/~marc/repos/nix_repository_manager;
-  #  md5 = "b33ba7a5b756eda00a79ba34505ea7ee";
-  #};
-  source = /pr/haskell/nix_repository_manager/nix_repository_manager.hs;
+  src = bleedingEdgeRepos.sourceByName "nix_repository_manager";
 
-  phases = "buildPhase";
+  phases = "unpackPhase buildPhase";
 
   buildPhase = "
-    s=\$out/share/nix_repository_manager
+    s=\$out/share/nix-repository-manager
     ensureDir \$out/bin \$s
-    #ghc --make nix_repository_manager.hs -o \$s/nix_repository_manager
-    ghc --make \$source -o \$s/nix_repository_manager
-    b=\$out/bin/nix_repository_manager
-    echo -e \"#!/bin/sh\\n\$s/nix_repository_manager --config ${config} \\\$@\" > \$b
+    #ghc --make nix-repository-manager.hs -o \$s/nix-repository-manager
+    ghc --make nix-repository-manager.hs -o \$s/nix-repository-manager
+    b=\$out/bin/nix-repository-manager
+    echo -e \"#!/bin/sh\\n\$s/nix-repository-manager --config ${config} \\\$@\" > \$b
     chmod +x \$b
   ";
 
@@ -36,7 +43,7 @@ args.stdenv.mkDerivation {
 
   meta = { 
       description = "makes it easy to keep some packages up to date";
-      homepage = http://mawercer.de/repos/nix_repository_manager;
-      license = "do with it what you want";
+      homepage = http://mawercer.de/repos/nix-repository-manager;
+      license = "GPL";
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 9d50a1bdec874..d354d8a532a10 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -1134,12 +1134,11 @@ rec {
     inherit fetchurl stdenv gawk;
   };
 
-  # commented out till I've implemented putting bleeding edge source somewhere
-  #flapjax = import ../development/compilers/flapjax {
-    #inherit fetchurl stdenv;
-    #ghc = ghcsAndLibs.ghc68.ghc;
-    #libs = with (ghc68_extra_libs ghcsAndLibs.ghc68 // ghcsAndLibs.ghc68.core_libs); [ mtl parsec random ];
-  #};
+  flapjax = import ../development/compilers/flapjax {
+    inherit fetchurl stdenv;
+    ghc = ghcsAndLibs.ghc68.ghc;
+    libs = with (ghc68_extra_libs ghcsAndLibs.ghc68 // ghcsAndLibs.ghc68.core_libs); [ mtl parsec random ];
+  };
 
   g77 = import ../build-support/gcc-wrapper {
     name = "g77";
@@ -1325,7 +1324,9 @@ rec {
       # introducing p here to speed things up.
       # It merges derivations (defined below) and additional inputs. I hope that using as few nix functions as possible results in greates speed?
       # unfortunately with x; won't work because it forces nix to evaluate all attributes of x which would lead to infinite recursion
-      pkgs = let x = ghc.core_libs // derivations; in {
+      pkgs = let x = ghc.core_libs // derivations;
+                 inherit (bleedingEdgeRepos) sourceByName;
+             in {
           # ghc extra packages 
           mtl     = { name="mtl-1.1.0.0";     srcDir="libraries/mtl";    p_deps=[ x.base ]; src = ghc.extra_src; };
           parsec  = { name="parsec-2.1.0.0";  srcDir="libraries/parsec"; p_deps=[ x.base ];       src = ghc.extra_src; };
@@ -1404,27 +1405,27 @@ rec {
 
         # HAPPS - Libraries
           http_darcs = { name="http-darcs"; p_deps = [x.network x.parsec];
-                  src = dgeSourcee "http_darcs";
+                  src = sourceByName "http_darcs";
                    #src = fetchdarcs { url = "http://darcs.haskell.org/http/"; md5 = "4475f858cf94f4551b77963d08d7257c"; };
                  };
           syb_with_class_darcs = { name="syb-with-class-darcs"; p_deps = [x.template_haskell x.bytestring ];
                    src =
                     # fetchdarcs { url = "http://happs.org/HAppS/syb-with-class"; md5 = "b42336907f7bfef8bea73bc36282d6ac"; };
-                     dgeSourcee "syb_with_class"; # { url = "http://happs.org/HAppS/syb-with-class"; md5 = "b42336907f7bfef8bea73bc36282d6ac"; };
+                     sourceByName "syb_with_class"; # { url = "http://happs.org/HAppS/syb-with-class"; md5 = "b42336907f7bfef8bea73bc36282d6ac"; };
                  };
 
         happs_data_darcs = { name="HAppS-Data-darcs"; p_deps=[ x.base x.mtl x.template_haskell x.syb_with_class_darcs x.haxml x.happs_util_darcs x.regex_compat x.bytestring x.pretty x.binary ];
-                    src = dgeSourcee "happs_data"; # fetchdarcs { url = "http://happs.org/repos/HAppS-Data"; md5 = "10c505dd687e9dc999cb187090af9ba7"; };
+                    src = sourceByName "happs_data"; # fetchdarcs { url = "http://happs.org/repos/HAppS-Data"; md5 = "10c505dd687e9dc999cb187090af9ba7"; };
                     };
         happs_util_darcs = { name="HAppS-Util-darcs"; p_deps=[ x.base x.mtl x.hslogger x.template_haskell x.array x.bytestring x.old_time x.process x.directory ];
-                    src = dgeSourcee "happs_util"; # fetchdarcs { url = "http://happs.org/repos/HAppS-Util"; md5 = "693cb79017e522031c307ee5e59fc250"; };
+                    src = sourceByName "happs_util"; # fetchdarcs { url = "http://happs.org/repos/HAppS-Util"; md5 = "693cb79017e522031c307ee5e59fc250"; };
                     };
       
         happs_state_darcs = { name="HAppS-State-darcs"; p_deps=[ x.base x.haxml
                       x.mtl x.network x.stm x.template_haskell x.hslogger
                         x.happs_util_darcs x.happs_data_darcs x.bytestring x.containers
                         x.random x.old_time x.old_locale x.unix x.directory x.binary ];
-                      src = dgeSourcee "happs_state";
+                      src = sourceByName "happs_state";
                       #src = fetchdarcs { url = "http://happs.org/repos/HAppS-State"; 
                       #                   md5 = "956e5c293b60f4a98148fedc5fa38acc"; 
                       #                 };
@@ -1437,7 +1438,7 @@ rec {
         happs_ixset_darcs = { name="HAppS-IxSet-darcs"; p_deps=[ x.base x.mtl
                           x.hslogger x.happs_util_darcs x.happs_state_darcs x.happs_data_darcs
                           x.template_haskell x.syb_with_class_darcs x.containers ];
-                    src = dgeSourcee "happs_ixset";
+                    src = sourceByName "happs_ixset";
                     #src = fetchdarcs { url = "http://happs.org/repos/HAppS-IxSet"; 
                                        #md5 = "fa6b24517f09aa16e972f087430967fd"; 
                                        #tag = "0.9.2";
@@ -1451,13 +1452,13 @@ rec {
                   x.template_haskell x.xhtml x.html x.bytestring x.random
                   x.containers x.old_time x.old_locale x.directory x.unix];
                     #src = fetchdarcs { url = "http://happs.org/repos/HAppS-HTTP"; md5 = "e1bb17eb30a39d30b8c34dffbf80edc2"; };
-                    src = dgeSourcee "happs_server_darcs";
+                    src = sourceByName "happs_server_darcs";
                     };
         # we need recent version of cabal (because only this supports --pkg-config propably) Thu Feb  7 14:54:07 CET 2008
         # is be added to buildInputs automatically
         cabal_darcs = 
         { name=cabal_darcs_name; p_deps = with ghc.core_libs; [base rts directory process pretty containers filepath];
-                  src = dgeSourcee "cabal";
+                  src = sourceByName "cabal";
           #fetchdarcs { url = "http://darcs.haskell.org/cabal"; md5 = "8b0bc3c7f2676ce642f98b1568794cd6"; };
         };
       };
@@ -1476,8 +1477,6 @@ rec {
     }.derivations;
 
 
-   /* commented to not make the buildfarm fail. You need to install nixRepositoryManager and run it..
-
   # the wrappers basically does one thing: It defines GHC_PACKAGE_PATH before calling ghc{i,-pkg}
   # So you can have different wrappers with different library combinations
   # So installing ghc libraries isn't done by nix-env -i package but by adding
@@ -1490,27 +1489,16 @@ rec {
       ghcPackagedLibs = true;
       name = "ghc${ghc.version}_wrapper";
       suffix = "${ghc.version}wrapper";
-      libraries = map ( a : __getAttr a (ghc68_extra_libs ghcsAndLibs.ghc68 ) ) [ "mtl" ]
+      libraries = 
         # core_libs  distributed with this ghc version
-        #(lib.flattenAttrs ghcsAndLibs.ghc68.core_libs)
-          #map ( a : __getAttr a ghcsAndLibs.ghc68.core_libs ) [ 
-          #  "cabal" "array" "base" "bytestring" "containers" "containers" "directory"
-          #  "filepath" "ghc-${ghc.version}" "haskell98" "hpc" "old_locale" "old_time"
-          #  "old_time" "packedstring" "pretty" "process" "random" "readline" "rts"
-          #  "template_haskell" "unix" "template_haskell" ];
-        # some extra libs
+        (lib.flattenAttrs ghcsAndLibs.ghc68.core_libs)
+        # (map ( a : __getAttr a ghcsAndLibs.ghc68.core_libs ) [ "cabal" "mtl" "base"  ]
 
+        # some extra libs
            ++  (lib.flattenAttrs (ghc68_extra_libs ghcsAndLibs.ghc68) );
-        # or specify the ones you want to install using this list (possible values see attributes in ghc68_extra_libs
-           #++ map ( a : __getAttr a (ghc68_extra_libs ghcsAndLibs.ghc68 ) )
-           #[ "mtl" "parsec" "cabal_darcs" "haxml" "network" "regex_base"
-           #"regex_compat" "regex_posix" "stm" "hunit" "quickcheck" "crypto"
-           #"hslogger" "http_darcs" "syb_with_class_darcs"
-           #];
-        # some additional libs
+        # ++ map ( a : __getAttr a (ghc68_extra_libs ghcsAndLibs.ghc68 ) ) [ "mtl" "parsec" ... ]
       inherit ghc;
   };
-  */
 
   # ghc66boot = import ../development/compilers/ghc-6.6-boot {
   #  inherit fetchurl stdenv perl readline;
@@ -1878,16 +1866,9 @@ rec {
   };
   */
 
-  bleedingEdgeRepos = import ../development/misc/bleeding-edge-repos;
-  # name must be foudn in bleedingEdgeRepos attr set 
-  dgeSourcee = name : (
-    let targz = nixRepositoryManager.repoDir+"/dist/${name}.tar.gz"; in
-    if builtins.pathExists targz
-    then targz
-    else let attr = __getAttr name bleedingEdgeRepos;
-         in if (attr.type == "darcs")
-           then fetchdarcs_2pre { inherit (attr) url md5; }
-           else throw "TODO");
+  bleedingEdgeRepos = import ../development/misc/bleeding-edge-repos { 
+    inherit getConfig fetchdarcs_2pre fetchurl; 
+  };
 
   ecj = import ../development/eclipse/ecj {
     inherit fetchurl stdenv unzip jre ant;
@@ -6051,7 +6032,7 @@ rec {
   };
 
   nixRepositoryManager = import ../tools/package-management/nixRepositoryManager {
-    inherit fetchurl stdenv bleedingEdgeRepos lib writeText;
+    inherit fetchurl stdenv bleedingEdgeRepos lib writeText getConfig;
     ghc = ghcsAndLibs.ghc68.ghc;
     fetchdarcs = fetchdarcs_2pre;
   };
@@ -6198,38 +6179,6 @@ rec {
     inherit (xlibs) libX11;
   };
 
-  # idea: provide environment so that you can use let nix assemble all dependencies
-  # while keeping the same source base when developping 
-  # experimental
-  my_environment = args:  stdenv.mkDerivation ( 
-    { userCmds =""; } // {
-    phases = "buildPhase";
-    buildPhase = "
-      ensureDir \$out/bin
-      name=${args.name}
-      o=\$out/bin/$name
-      echo -e \"#!/bin/sh --login\\n\" >> \$o
-      export | grep -v HOME= | grep -v PATH= >> \$o 
-      echo \"export PATH=\$PATH:\\\$PATH entering $name\" >> \$o
-      echo \"echo entering $name\" >> \$o
-      echo \"$userCmds\" >> \$o
-      echo \"/bin/sh\" >> $o
-      echo \"echo leaving $name\" >> \$o
-      chmod +x $o
-    ";
-  } //args);
-
-  # example for nix itself adding glibc tag file to an env var.
-  # experimental
-  env_nix = my_environment rec {
-   buildInputs = [perl curl bzip2 aterm242fixes db4] 
-          ++ map (x : sourceWithTagsDerivation ( (addCTaggingInfo x ).passthru.sourceWithTags ) ) [ glibc ];
-   db4 = db44;
-   aterm = aterm242fixes;
-   name = "env_nix";
-   userCmds = ". ~/.bashrc
-    PS1='\033]2;\h:\u:\w\007\\nenv ${name} \[\033[1;32m\][\u@\h: \w ]$\[\033[0m\] '
-     ";
-  };
+  #my_env = import ../misc/my_env;
 
 }