at master 1.0 kB view raw
1/* 2 Build a channel tarball. These contain, in addition to the nixpkgs 3 expressions themselves, files that indicate the version of nixpkgs 4 that they represent. 5*/ 6{ 7 pkgs, 8 nixpkgs, 9 version, 10 versionSuffix, 11}: 12 13pkgs.releaseTools.makeSourceTarball { 14 name = "nixos-channel"; 15 16 src = nixpkgs; 17 18 officialRelease = false; # FIXME: fix this in makeSourceTarball 19 inherit version versionSuffix; 20 21 buildInputs = [ pkgs.nix ]; 22 23 distPhase = '' 24 rm -rf .git 25 echo -n $VERSION_SUFFIX > .version-suffix 26 echo -n ${nixpkgs.rev or nixpkgs.shortRev} > .git-revision 27 releaseName=nixos-$VERSION$VERSION_SUFFIX 28 mkdir -p $out/tarballs 29 cp -prd . ../$releaseName 30 chmod -R u+w ../$releaseName 31 ln -s . ../$releaseName/nixpkgs # hack to make <nixpkgs> work 32 NIX_STATE_DIR=$TMPDIR nix-env -f ../$releaseName/default.nix -qaP --meta --show-trace --xml \* > /dev/null 33 cd .. 34 chmod -R u+w $releaseName 35 tar cfJ $out/tarballs/$releaseName.tar.xz $releaseName 36 ''; 37}