1
0
Fork 0
mirror of https://github.com/NixOS/nixpkgs synced 2024-10-19 03:47:13 -04:00
nixpkgs/pkgs/build-support/vm/deb/deb-closure.nix
Eelco Dolstra 17bc8a1b90 * Use the `import <derivation>' feature to generate and import the Nix
expression for a Debian closure automatically (so that we don't have
  to remember to regenerate those files ourselves).  The `import
  <derivation>' feature generally shouldn't be used in Nixpkgs, but
  since it's only used in the buildfarm it should be fine.

svn path=/nixpkgs/trunk/; revision=11512
2008-04-09 11:19:17 +00:00

65 lines
1.3 KiB
Nix

with import ../../../.. {};
rec {
debClosureGenerator =
{name, packages, urlPrefix, toplevel}:
runCommand "${name}.nix" {} ''
bunzip2 < ${packages} > ./Packages
${perl}/bin/perl -I${dpkg} -w ${./deb-closure.pl} \
./Packages ${urlPrefix} ${toString toplevel} > $out
'';
commonPackages = [
"base-passwd"
"dpkg"
"libc6-dev"
"perl"
"sysvinit"
"bash"
"gzip"
"bzip2"
"tar"
"grep"
"findutils"
"g++"
"make"
"curl"
"patch"
"diff"
];
# Ubuntu 7.10 "Gutsy Gibbon", i386.
ubuntu710i386Packages = fetchurl {
url = mirror://ubuntu/dists/gutsy/main/binary-i386/Packages.bz2;
sha1 = "8b52ee3d417700e2b2ee951517fa25a8792cabfd";
};
ubuntu710i386Debs = debClosureGenerator {
name = "ubuntu-7.10-gutsy-i386";
packages = ubuntu710i386Packages;
urlPrefix = mirror://ubuntu;
toplevel = commonPackages;
};
# Debian 4.0r3 "Etch", i386.
debian40r3i386Packages = fetchurl {
url = mirror://debian/dists/etch/main/binary-i386/Packages.bz2;
sha256 = "7a8f2777315d71fd7321d1076b3bf5f76afe179fe66c2ce8e1ff4baed6424340";
};
debian40r3i386Debs = debClosureGenerator {
name = "debian-4.0r3-etch-i386";
packages = debian40r3i386Packages;
urlPrefix = mirror://debian;
toplevel = commonPackages;
};
}