From 10e75453b2cc1406d9d53aab46c88025505dd169 Mon Sep 17 00:00:00 2001 From: Dan Peebles Date: Sat, 13 Jun 2015 21:55:29 -0400 Subject: [PATCH] Factor the NixOS channel building code out into its own file, so I can use it elsewhere --- nixos/lib/make-channel.nix | 31 +++++++++++++++++++++++++++++++ nixos/release.nix | 32 +------------------------------- 2 files changed, 32 insertions(+), 31 deletions(-) create mode 100644 nixos/lib/make-channel.nix diff --git a/nixos/lib/make-channel.nix b/nixos/lib/make-channel.nix new file mode 100644 index 000000000000..7764527ffa7e --- /dev/null +++ b/nixos/lib/make-channel.nix @@ -0,0 +1,31 @@ +{ pkgs, nixpkgs, version, versionSuffix }: + +pkgs.releaseTools.makeSourceTarball { + name = "nixos-channel"; + + src = nixpkgs; + + officialRelease = false; # FIXME: fix this in makeSourceTarball + inherit version versionSuffix; + + buildInputs = [ pkgs.nixUnstable ]; + + expr = builtins.readFile ./channel-expr.nix; + + distPhase = '' + rm -rf .git + echo -n $VERSION_SUFFIX > .version-suffix + echo -n ${nixpkgs.rev or nixpkgs.shortRev} > .git-revision + releaseName=nixos-$VERSION$VERSION_SUFFIX + mkdir -p $out/tarballs + mkdir ../$releaseName + cp -prd . ../$releaseName/nixpkgs + chmod -R u+w ../$releaseName + ln -s nixpkgs/nixos ../$releaseName/nixos + echo "$expr" > ../$releaseName/default.nix + NIX_STATE_DIR=$TMPDIR nix-env -f ../$releaseName/default.nix -qaP --meta --xml \* > /dev/null + cd .. + chmod -R u+w $releaseName + tar cfJ $out/tarballs/$releaseName.tar.xz $releaseName + ''; +} diff --git a/nixos/release.nix b/nixos/release.nix index 6afcdbff3e18..a8b6d275f1d8 100644 --- a/nixos/release.nix +++ b/nixos/release.nix @@ -93,37 +93,7 @@ let in rec { - channel = - pkgs.releaseTools.makeSourceTarball { - name = "nixos-channel"; - - src = nixpkgs; - - officialRelease = false; # FIXME: fix this in makeSourceTarball - inherit version versionSuffix; - - buildInputs = [ pkgs.nixUnstable ]; - - expr = builtins.readFile lib/channel-expr.nix; - - distPhase = '' - rm -rf .git - echo -n $VERSION_SUFFIX > .version-suffix - echo -n ${nixpkgs.rev or nixpkgs.shortRev} > .git-revision - releaseName=nixos-$VERSION$VERSION_SUFFIX - mkdir -p $out/tarballs - mkdir ../$releaseName - cp -prd . ../$releaseName/nixpkgs - chmod -R u+w ../$releaseName - ln -s nixpkgs/nixos ../$releaseName/nixos - echo "$expr" > ../$releaseName/default.nix - NIX_STATE_DIR=$TMPDIR nix-env -f ../$releaseName/default.nix -qaP --meta --xml \* > /dev/null - cd .. - chmod -R u+w $releaseName - tar cfJ $out/tarballs/$releaseName.tar.xz $releaseName - ''; # */ - }; - + channel = import lib/make-channel.nix { inherit pkgs nixpkgs version versionSuffix; }; manual = buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.manual); manualPDF = (buildFromConfig ({ pkgs, ... }: { }) (config: config.system.build.manual.manualPDF)).x86_64-linux;