diff options
author | Thomas Tuegel <ttuegel@gmail.com> | 2015-02-21 10:58:37 -0600 |
---|---|---|
committer | Thomas Tuegel <ttuegel@gmail.com> | 2015-02-21 11:39:18 -0600 |
commit | fdcfefee2cb7602052b87562afb8784294fa1b93 (patch) | |
tree | b4b290d8d9733d146d3c0625cbcaa983cf73411a /pkgs/build-support | |
parent | 7bf20213497193695f16f3222a4409e72be52b54 (diff) | |
download | nixlib-fdcfefee2cb7602052b87562afb8784294fa1b93.tar nixlib-fdcfefee2cb7602052b87562afb8784294fa1b93.tar.gz nixlib-fdcfefee2cb7602052b87562afb8784294fa1b93.tar.bz2 nixlib-fdcfefee2cb7602052b87562afb8784294fa1b93.tar.lz nixlib-fdcfefee2cb7602052b87562afb8784294fa1b93.tar.xz nixlib-fdcfefee2cb7602052b87562afb8784294fa1b93.tar.zst nixlib-fdcfefee2cb7602052b87562afb8784294fa1b93.zip |
autonix: tweak manifest format
Diffstat (limited to 'pkgs/build-support')
-rw-r--r-- | pkgs/build-support/autonix/default.nix | 19 | ||||
-rwxr-xr-x | pkgs/build-support/autonix/manifest.sh | 11 |
2 files changed, 16 insertions, 14 deletions
diff --git a/pkgs/build-support/autonix/default.nix b/pkgs/build-support/autonix/default.nix index 7751f8019c4f..66e2700f192a 100644 --- a/pkgs/build-support/autonix/default.nix +++ b/pkgs/build-support/autonix/default.nix @@ -36,9 +36,10 @@ let writeManifestXML = filename: let generateStores = mapAttrs (n: pkg: pkg.store); - manifest = generateStores (importManifest filename { mirror = ""; }); + manifest = importManifest filename { mirror = ""; }; + stores = generateStores manifest; in - writeText "manifest.xml" (builtins.toXML manifest); + writeText "manifest.xml" (builtins.toXML stores); /* Generate a set of Nix expressions for the collection, given a * manifest.nix, dependencies.nix, and renames.nix in the same directory. @@ -69,9 +70,8 @@ let in derive (postResolve (resolve (preResolve packages))); - pkgNameVersion = pkg: nameFromURL pkg.name ".tar"; - pkgAttrName = pkg: (builtins.parseDrvName (pkgNameVersion pkg)).name; - pkgVersion = pkg: (builtins.parseDrvName (pkgNameVersion pkg)).version; + pkgAttrName = pkg: (builtins.parseDrvName pkg.name).name; + pkgVersion = pkg: (builtins.parseDrvName pkg.name).version; depAttrNames = [ "buildInputs" "nativeBuildInputs" @@ -112,7 +112,7 @@ let builtins.listToAttrs (map (p: nameValuePair (toLower (pkgAttrName p)) p) manifest); - orig = import path { inherit mirror; }; + orig = import path { inherit stdenv fetchurl mirror; }; in fold (f: x: f x) orig [ withNames bestVersions ]; @@ -134,11 +134,10 @@ let deps = import (path + "/dependencies.nix") {}; - mkPkg = pkg: pkgManifest: + mkPkg = name: manifest: { - name = nameFromURL pkgManifest.name ".tar"; - src = { inherit (pkgManifest) sha256 name url; }; - inherit (deps."${pkg}") + inherit (manifest) name src; + inherit (deps."${name}") buildInputs nativeBuildInputs propagatedBuildInputs propagatedNativeBuildInputs propagatedUserEnvPkgs; }; diff --git a/pkgs/build-support/autonix/manifest.sh b/pkgs/build-support/autonix/manifest.sh index eb59d5f13309..df0f52a73b5b 100755 --- a/pkgs/build-support/autonix/manifest.sh +++ b/pkgs/build-support/autonix/manifest.sh @@ -6,7 +6,7 @@ cat >../manifest.nix <<EOF # This file is generated automatically. DO NOT EDIT! -{ mirror }: +{ stdenv, fetchurl, mirror }: [ EOF @@ -24,10 +24,13 @@ workdir=$(pwd) store=$(@nix@/bin/nix-store --print-fixed-path sha256 "$sha256" "$name") cat >>../manifest.nix <<EOF { - url = "\${mirror}/${url}"; - sha256 = "${sha256}"; - name = "${name}"; + name = stdenv.lib.nameFromURL "${name}" ".tar"; store = "${store}"; + src = fetchurl { + url = "\${mirror}/${url}"; + sha256 = "${sha256}"; + name = "${name}"; + }; } EOF fi |