update bleeding edge repo management
it now figures out the dist name from the url and the revision is added to the url This way a new version doesn't override the old one and you can keep multiple dist tar.gz files svn path=/nixpkgs/trunk/; revision=13065
This commit is contained in:
parent
3f0a8494c9
commit
892db3bb8c
@ -1,6 +1,6 @@
|
|||||||
args:
|
args:
|
||||||
with args;
|
with args;
|
||||||
let inherit (builtins) pathExists; in
|
let inherit (builtins) pathExists hasAttr getAttr head; in
|
||||||
rec {
|
rec {
|
||||||
/*
|
/*
|
||||||
tries to get source in this order
|
tries to get source in this order
|
||||||
@ -13,13 +13,14 @@ args:
|
|||||||
managedRepoDir = getConfig [ "bleedingEdgeRepos" "managedRepoDir" ] (builtins.getEnv "HOME" + "/managed_repos");
|
managedRepoDir = getConfig [ "bleedingEdgeRepos" "managedRepoDir" ] (builtins.getEnv "HOME" + "/managed_repos");
|
||||||
|
|
||||||
sourceByName = name :
|
sourceByName = name :
|
||||||
let localTarGZ = managedRepoDir+"/dist/${name}.tar.gz";
|
let fetchinfo = if (hasAttr name fetchInfos)
|
||||||
|
then (getAttr name fetchInfos) { inherit fetchurl; }
|
||||||
|
else throw "no bleeding edge source attribute found in bleeding-edge-fetch-infos.nix with name ${name}\n"
|
||||||
|
"run NO_FETCH=1 nix-repository-manager <path to nixpkgs> --update <reponame> to add it automatically";
|
||||||
|
localTarGZ = managedRepoDir+"/dist/${ lib.dropPath (head fetchinfo.urls) }"; # hack, dropPath should be implemented as primop
|
||||||
fetchInfos = import ../../../misc/bleeding-edge-fetch-infos.nix; in
|
fetchInfos = import ../../../misc/bleeding-edge-fetch-infos.nix; in
|
||||||
if (getConfig ["bleedingEdgeRepos" "useLocalRepos"] false ) && pathExists localTarGZ
|
if (getConfig ["bleedingEdgeRepos" "useLocalRepos"] false )
|
||||||
then localTarGZ
|
then localTarGZ else fetchinfo;
|
||||||
else if __hasAttr name fetchInfos
|
|
||||||
then (__getAttr name fetchInfos) { inherit fetchurl; }
|
|
||||||
else throw "warning, no bleeding edge source attribute found in bleeding-edge-fetch-infos.nix with name ${name}";
|
|
||||||
|
|
||||||
repos =
|
repos =
|
||||||
let kde4support = builtins.listToAttrs (map (n: lib.nv ("kdesupport_"+n) { type = "svn"; url = "svn://anonsvn.kde.org/home/kde/trunk/kdesupport/${n}"; groups="kdesupport"; })
|
let kde4support = builtins.listToAttrs (map (n: lib.nv ("kdesupport_"+n) { type = "svn"; url = "svn://anonsvn.kde.org/home/kde/trunk/kdesupport/${n}"; groups="kdesupport"; })
|
||||||
@ -64,6 +65,8 @@ args:
|
|||||||
kdepimlibs = { type="svn"; url="svn://anonsvn.kde.org/home/kde/trunk/KDE/kdepimlibs"; groups = "kde"; };
|
kdepimlibs = { type="svn"; url="svn://anonsvn.kde.org/home/kde/trunk/KDE/kdepimlibs"; groups = "kde"; };
|
||||||
kdebase = { type="svn"; url="svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase"; groups = "kde"; };
|
kdebase = { type="svn"; url="svn://anonsvn.kde.org/home/kde/trunk/KDE/kdebase"; groups = "kde"; };
|
||||||
|
|
||||||
|
cinelerra = { type="git"; url="git://git.cinelerra.org/j6t/cinelerra.git"; };
|
||||||
|
|
||||||
# git repositories
|
# git repositories
|
||||||
hypertable = { type="git"; url="git://scm.hypertable.org/pub/repos/hypertable.git"; groups=""; };
|
hypertable = { type="git"; url="git://scm.hypertable.org/pub/repos/hypertable.git"; groups=""; };
|
||||||
} // kde4support // getConfig [ "bleedingEdgeRepos" "repos" ] {};
|
} // kde4support // getConfig [ "bleedingEdgeRepos" "repos" ] {};
|
||||||
|
@ -507,6 +507,16 @@ rec {
|
|||||||
|
|
||||||
defineShList = name : list : "\n${name}=(${concatStringsSep " " (map escapeShellArg list)})\n";
|
defineShList = name : list : "\n${name}=(${concatStringsSep " " (map escapeShellArg list)})\n";
|
||||||
|
|
||||||
|
# this as well :-) arg: http://foo/bar/bz.ext returns bz.ext
|
||||||
|
dropPath = s :
|
||||||
|
if s == "" then "" else
|
||||||
|
let takeTillSlash = left : c : s :
|
||||||
|
if left == 0 then s
|
||||||
|
else if (__substring left 1 s == "/") then
|
||||||
|
(__substring (__add left 1) (__sub c 1) s)
|
||||||
|
else takeTillSlash (__sub left 1) (__add c 1) s; in
|
||||||
|
takeTillSlash (__sub (__stringLength s) 1) 1 s;
|
||||||
|
|
||||||
# calls a function (f attr value ) for each record item. returns a list
|
# calls a function (f attr value ) for each record item. returns a list
|
||||||
mapRecordFlatten = f : r : map (attr: f attr (builtins.getAttr attr r) ) (attrNames r);
|
mapRecordFlatten = f : r : map (attr: f attr (builtins.getAttr attr r) ) (attrNames r);
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user