}) {};
in
with nixpkgs_unstable;
-{
+rec {
inherit nixpkgs_unstable;
fetchedGithub = path:
let
name = "${json.meta.name}-${version}";
src = fetchgit json.git;
};
+
+ fetchedGitPrivate = path:
+ let
+ json = lib.importJSON path;
+ in rec {
+ version = json.tag;
+ name = "${json.meta.name}-${version}";
+ src = fetchgitPrivate json.git;
+ };
+
+ wrap = { paths ? [], vars ? {}, file ? null, script ? null, name ? "wrap" }:
+ assert file != null || script != null ||
+ abort "wrap needs 'file' or 'script' argument";
+ with rec {
+ set = n: v: "--set ${pkgs.lib.escapeShellArg n} " +
+ "${pkgs.lib.escapeShellArg v}";
+ args = (map (p: "--prefix PATH : ${p}/bin") paths) ++
+ (builtins.attrValues (pkgs.lib.mapAttrs set vars));
+ };
+ runCommand name
+ {
+ f = if file == null then writeScript name script else file;
+ buildInputs = [ makeWrapper ];
+ }
+ ''
+ makeWrapper "$f" "$out" ${toString args}
+ '';
+
+ yarn2nixPackage = callPackage (fetchedGithub ./fetched/yarn2nix.json).src {};
}