Author: eelco
Date: Mon Apr  9 12:49:03 2012
New Revision: 33684
URL: https://nixos.org/websvn/nix/?rev=33684&sc=1

Log:
* Generate a NixOS channel.

Modified:
   nixos/trunk/release.nix

Modified: nixos/trunk/release.nix
==============================================================================
--- nixos/trunk/release.nix     Mon Apr  9 12:37:39 2012        (r33683)
+++ nixos/trunk/release.nix     Mon Apr  9 12:49:03 2012        (r33684)
@@ -1,4 +1,6 @@
-{ nixosSrc ? {outPath = ./.; rev = 1234;} }:
+{ nixosSrc ? {outPath = ./.; rev = 1234;}
+, nixpkgs ? {outPath = <nixpkgs>; rev = 5678;}
+}:
 
 let
 
@@ -99,6 +101,42 @@
       };
 
 
+    channel =
+      { officialRelease ? false }:
+
+      with import <nixpkgs> {};
+
+      releaseTools.makeSourceTarball {
+        name = "nixos-channel";
+
+        version = builtins.readFile ./VERSION;
+
+        src = nixosSrc;
+
+        inherit officialRelease;
+
+        buildInputs = [ nixUnstable ];
+
+        expr =
+          ''
+            { system ? builtins.currentSystem }:
+            { pkgs = (import nixpkgs/default.nix { inherit system; }) // { 
recurseForDerivations = true; }; }
+          '';
+
+        distPhase = ''
+          releaseName=nixos-$VERSION$VERSION_SUFFIX-${toString nixpkgs.rev}
+          ensureDir "$out/tarballs"
+          mkdir ../$releaseName
+          cp -prd . ../$releaseName/nixos
+          cp -prd ${nixpkgs} ../$releaseName/nixpkgs
+          echo "$expr" > ../$releaseName/default.nix
+          NIX_STATE_DIR=$TMPDIR nix-env -f ../$releaseName/default.nix -qaP 
--meta --xml \* > /dev/null
+          cd ..
+          tar cfj $out/tarballs/$releaseName.tar.bz2 $releaseName
+        ''; # */
+      };
+
+
     manual =
       { officialRelease ? false }:
 
@@ -108,8 +146,7 @@
           (import lib/eval-config.nix {
             modules = [ { fileSystems = []; } ];
           }).options;
-        revision =
-          if nixosSrc.rev == 1234 then "HEAD" else toString nixosSrc.rev;
+        revision = toString nixosSrc.rev;
       }).manual;
 
 
_______________________________________________
nix-commits mailing list
[email protected]
http://lists.science.uu.nl/mailman/listinfo/nix-commits

Reply via email to