summary refs log tree commit diff
path: root/pkgs/build-support/vm/rpm/rpm-closure.nix
blob: a420bbb9880b9ea797b0dce1a96cecfa5513ba0a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
with import ../../../.. {};

rec {

  rpmClosureGenerator =
    {name, packages, urlPrefix, toplevel}:
    runCommand "${name}.nix" {buildInputs = [perl perlXMLSimple];} ''
      gunzip < ${packages} > ./packages.xml
      perl -w ${./rpm-closure.pl} \
        ./packages.xml ${urlPrefix} ${toString toplevel} > $out
    '';


  commonFedoraPackages = [
    "autoconf"
    "automake"
    "basesystem"
    "bzip2"
    "curl"
    "diffutils"
    "fedora-release"
    "findutils"
    "gawk"
    "gcc-c++"
    "gzip"
    "make"
    "patch"
    "perl"
    "pkgconfig"
    "rpm"
    "rpm-build"
    "tar"
    "unzip"
  ];

  
  # Fedora 8, i386.

  packagesFedora8i386 = fetchurl {
    url = mirror://fedora/linux/releases/8/Fedora/i386/os/repodata/primary.xml.gz;
    sha256 = "0vr9345rrk0vhs4pc9cjp8npdkqz0xqyirv84vhyfn533m9ws36f";
  };

  rpmsFedora8i386 = rpmClosureGenerator {
    name = "fedora-8-i386";
    packages = packagesFedora8i386;
    urlPrefix = mirror://fedora/linux/releases/8/Fedora/i386/os;
    toplevel = [commonFedoraPackages];
  };


}