about summary refs log tree commit diff
path: root/pkgs/tools/package-management
diff options
context:
space:
mode:
authorMarc Weber <marco-oweber@gmx.de>2008-03-06 02:46:29 +0000
committerMarc Weber <marco-oweber@gmx.de>2008-03-06 02:46:29 +0000
commit1b51b7031715e2b2cbe3e7dd924a87dd617bc20d (patch)
tree722c43e4002ea1c2e67ac66dc847d100b293b696 /pkgs/tools/package-management
parent64652c5dfc8678fabfe6ec24307a2c390e456157 (diff)
downloadnixlib-1b51b7031715e2b2cbe3e7dd924a87dd617bc20d.tar
nixlib-1b51b7031715e2b2cbe3e7dd924a87dd617bc20d.tar.gz
nixlib-1b51b7031715e2b2cbe3e7dd924a87dd617bc20d.tar.bz2
nixlib-1b51b7031715e2b2cbe3e7dd924a87dd617bc20d.tar.lz
nixlib-1b51b7031715e2b2cbe3e7dd924a87dd617bc20d.tar.xz
nixlib-1b51b7031715e2b2cbe3e7dd924a87dd617bc20d.tar.zst
nixlib-1b51b7031715e2b2cbe3e7dd924a87dd617bc20d.zip
- fetchdarcs supports now partial
- fetchdarcs_2pre added
- flapjax added
- no longer used : annotatedDerivations
- added bleeding edge repos with a tiny nix repository manager which dowloads and
  updates repostiries, then creates tar.gz dist files which are used by bleeding_edge_source
  (darcs tested only by now)
- added experimental my_environment with example

svn path=/nixpkgs/trunk/; revision=10974
Diffstat (limited to 'pkgs/tools/package-management')
-rw-r--r--pkgs/tools/package-management/nixRepositoryManager/default.nix42
1 files changed, 42 insertions, 0 deletions
diff --git a/pkgs/tools/package-management/nixRepositoryManager/default.nix b/pkgs/tools/package-management/nixRepositoryManager/default.nix
new file mode 100644
index 000000000000..e3e20dfa913c
--- /dev/null
+++ b/pkgs/tools/package-management/nixRepositoryManager/default.nix
@@ -0,0 +1,42 @@
+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));
+
+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";
+
+  #src = args.fetchdarcs {
+  #  url = http://mawercer.de/~marc/repos/nix_repository_manager;
+  #  md5 = "b33ba7a5b756eda00a79ba34505ea7ee";
+  #};
+  source = /pr/haskell/nix_repository_manager/nix_repository_manager.hs;
+
+  phases = "buildPhase";
+
+  buildPhase = "
+    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
+    chmod +x \$b
+  ";
+
+  buildInputs = [ghc];
+
+  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";
+  };
+}