32 lines
924 B
Nix
32 lines
924 B
Nix
|
{ 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
|
||
|
'';
|
||
|
}
|