forked from mirrors/nixpkgs
bf5db34927
useful, probably. svn path=/nixpkgs/trunk/; revision=11126
74 lines
1.6 KiB
Nix
74 lines
1.6 KiB
Nix
with import ../../../nixpkgs {};
|
|
|
|
rec {
|
|
|
|
debClosureGenerator =
|
|
{name, packages, urlPrefix, toplevel}:
|
|
runCommand name {} ''
|
|
ensureDir $out
|
|
bunzip2 < ${packages} > ./Packages
|
|
${perl}/bin/perl -I${dpkg} -w ${./deb-closure.pl} \
|
|
./Packages ${urlPrefix} ${toString toplevel} > $out/${name}.nix
|
|
'';
|
|
|
|
|
|
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.
|
|
|
|
packagesUbuntuGutsyI386 = fetchurl {
|
|
url = mirror://ubuntu/dists/gutsy/main/binary-i386/Packages.bz2;
|
|
sha1 = "8b52ee3d417700e2b2ee951517fa25a8792cabfd";
|
|
};
|
|
|
|
debsUbuntuGutsyI386 = debClosureGenerator {
|
|
name = "ubuntu-7.10-gutsy-i386";
|
|
packages = packagesUbuntuGutsyI386;
|
|
urlPrefix = mirror://ubuntu;
|
|
toplevel = commonPackages;
|
|
};
|
|
|
|
|
|
# Debian 4.0r3 "Etch", i386.
|
|
|
|
packagesDebianEtchR3I386 = fetchurl {
|
|
url = mirror://debian/dists/etch/main/binary-i386/Packages.bz2;
|
|
sha256 = "7a8f2777315d71fd7321d1076b3bf5f76afe179fe66c2ce8e1ff4baed6424340";
|
|
};
|
|
|
|
debsDebianEtchR3I386 = debClosureGenerator {
|
|
name = "debian-4.0r3-etch-i386";
|
|
packages = packagesDebianEtchR3I386;
|
|
urlPrefix = mirror://debian;
|
|
toplevel = commonPackages;
|
|
};
|
|
|
|
|
|
# To update the Nix expressions for all distributions, do
|
|
# $ nix-build deb-closure.nix -A allDists
|
|
# $ cp -f result*/*.nix .
|
|
allDists = [
|
|
debsUbuntuGutsyI386
|
|
debsDebianEtchR3I386
|
|
];
|
|
|
|
}
|