about summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorThomas Tuegel <ttuegel@gmail.com>2015-02-21 10:58:37 -0600
committerThomas Tuegel <ttuegel@gmail.com>2015-02-21 11:39:18 -0600
commitfdcfefee2cb7602052b87562afb8784294fa1b93 (patch)
treeb4b290d8d9733d146d3c0625cbcaa983cf73411a /pkgs/build-support
parent7bf20213497193695f16f3222a4409e72be52b54 (diff)
downloadnixlib-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.nix19
-rwxr-xr-xpkgs/build-support/autonix/manifest.sh11
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