diff options
Diffstat (limited to 'pkgs/build-support/vm/default.nix')
-rw-r--r-- | pkgs/build-support/vm/default.nix | 206 |
1 files changed, 171 insertions, 35 deletions
diff --git a/pkgs/build-support/vm/default.nix b/pkgs/build-support/vm/default.nix index 0296c434d6f6..7a35577c69a3 100644 --- a/pkgs/build-support/vm/default.nix +++ b/pkgs/build-support/vm/default.nix @@ -2,7 +2,7 @@ , kernel ? pkgs.linux_3_10 , img ? "bzImage" , rootModules ? - [ "virtio_pci" "virtio_blk" "virtio_balloon" "ext4" "unix" "9p" "9pnet_virtio" ] + [ "virtio_pci" "virtio_blk" "virtio_balloon" "ext4" "unix" "9p" "9pnet_virtio" "rtc_cmos" ] }: with pkgs; @@ -57,6 +57,7 @@ rec { mknod ${dev}/random c 1 8 mknod ${dev}/urandom c 1 9 mknod ${dev}/tty c 5 0 + mknod ${dev}/rtc c 254 0 . /sys/class/block/${hd}/uevent mknod ${dev}/${hd} b $MAJOR $MINOR ''; @@ -159,6 +160,10 @@ rec { #! ${bash}/bin/sh source /tmp/xchg/saved-env + # Set the system time from the hardware clock. Works around an + # apparent KVM > 1.5.2 bug. + ${pkgs.utillinux}/sbin/hwclock -s + export NIX_STORE=/nix/store export NIX_BUILD_TOP=/tmp export TMPDIR=/tmp @@ -290,7 +295,7 @@ rec { args = ["-e" (vmRunCommand qemuCommandLinux)]; origArgs = attrs.args; origBuilder = attrs.builder; - QEMU_OPTS = "-m ${toString (attrs.memSize or 512)}"; + QEMU_OPTS = "${attrs.QEMU_OPTS or ""} -m ${toString (attrs.memSize or 512)}"; }); @@ -766,10 +771,22 @@ rec { url = mirror://fedora/linux/releases/8/Everything/i386/os/repodata/primary.xml.gz; sha256 = "0kwf0jcp63pygpvgvwl4w58pph24xbcy6db6fnq2f3ly5myhz53n"; }; - urlPrefix = mirror://fedora/linux/releases/8/Everything/i386/os; + urlPrefix = http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/8/Everything/i386/os; packages = commonFedoraPackages; }; + fedora8x86_64 = { + name = "fedora-8-x86_64"; + fullName = "Fedora 8 (x86_64)"; + packagesList = fetchurl { + url = mirror://fedora/linux/releases/8/Everything/x86_64/os/repodata/primary.xml.gz; + sha256 = "11bfmpy3nz82zzmj5lfravvzlw514v4718adi4b06ps9zv3zpy8r"; + }; + urlPrefix = http://archives.fedoraproject.org/pub/archive/fedora/linux/releases/8/Everything/x86_64/os; + packages = commonFedoraPackages; + archs = ["noarch" "x86_64"]; + }; + fedora9i386 = { name = "fedora-9-i386"; fullName = "Fedora 9 (i386)"; @@ -912,6 +929,32 @@ rec { packages = commonFedoraPackages ++ [ "cronie" "util-linux" ]; }; + fedora17i386 = { + name = "fedora-17-i386"; + fullName = "Fedora 17 (i386)"; + packagesList = fetchurl { + url = mirror://fedora/linux/releases/17/Everything/i386/os/repodata/82dc1ea6d26e53a367dc6e7472113c4454c9a8ac7c98d4bfb11fd0b6f311450f-primary.xml.gz; + sha256 = "03s527rvdl0zn6zx963wmjlcjm247h8p4x3fviks6lvfsak1xp42"; + }; + urlPrefix = mirror://fedora/linux/releases/17/Everything/i386/os; + archs = ["noarch" "i386" "i586" "i686"]; + packages = commonFedoraPackages ++ [ "cronie" "util-linux" ]; + unifiedSystemDir = true; + }; + + fedora17x86_64 = { + name = "fedora-17-x86_64"; + fullName = "Fedora 17 (x86_64)"; + packagesList = fetchurl { + url = mirror://fedora/linux/releases/17/Everything/x86_64/os/repodata/7009de56f1a1c399930fa72094a310a40d38153c96d0b5af443914d3d6a7d811-primary.xml.gz; + sha256 = "04fqlzbd651r8jpvbl4n7hakh3d422ir88571y9rkhx1y5bdw2bh"; + }; + urlPrefix = mirror://fedora/linux/releases/17/Everything/x86_64/os; + archs = ["noarch" "x86_64"]; + packages = commonFedoraPackages ++ [ "cronie" "util-linux" ]; + unifiedSystemDir = true; + }; + fedora18i386 = { name = "fedora-18-i386"; fullName = "Fedora 18 (i386)"; @@ -964,6 +1007,32 @@ rec { unifiedSystemDir = true; }; + fedora20i386 = { + name = "fedora-20-i386"; + fullName = "Fedora 20 (i386)"; + packagesList = fetchurl { + url = mirror://fedora/linux/releases/20/Everything/i386/os/repodata/ae9c6ae73a12a64227e6b8e7b2d7e1c2a9515bd9c82f2af006c838e7a445dcb9-primary.xml.gz; + sha256 = "1ffw8njfff680vq2lby8v5dm3af2w7bv5rxqwqkl59hj7bknm75f"; + }; + urlPrefix = mirror://fedora/linux/releases/20/Everything/i386/os; + archs = ["noarch" "i386" "i586" "i686"]; + packages = commonFedoraPackages ++ [ "cronie" "util-linux" ]; + unifiedSystemDir = true; + }; + + fedora20x86_64 = { + name = "fedora-20-x86_64"; + fullName = "Fedora 20 (x86_64)"; + packagesList = fetchurl { + url = mirror://fedora/linux/releases/20/Everything/x86_64/os/repodata/d7777ea6ec66e1c86c3fe1900adf5bf8d877fb77dd06e439bd76bbbec4e82094-primary.xml.gz; + sha256 = "1510x32bxfvnplwy81nxfzxpgn7qbgghm4717xnciqb6xjk7wxyp"; + }; + urlPrefix = mirror://fedora/linux/releases/20/Everything/x86_64/os; + archs = ["noarch" "x86_64"]; + packages = commonFedoraPackages ++ [ "cronie" "util-linux" ]; + unifiedSystemDir = true; + }; + opensuse103i386 = { name = "opensuse-10.3-i586"; fullName = "openSUSE 10.3 (i586)"; @@ -1024,30 +1093,42 @@ rec { packages = commonOpenSUSEPackages; }; - centos64i386 = { - name = "centos-6.4-i386"; - fullName = "CentOS 6.4 (i386)"; + centos65i386 = { + name = "centos-6.5-i386"; + fullName = "CentOS 6.5 (i386)"; packagesList = fetchurl { - url = http://mirror.centos.org/centos/6.4/os/i386/repodata/87aa4c4e19f9a3ec93e3d820f1ea6b6ece8810cb45f117a16354465e57a1b50d-primary.xml.gz; - sha256 = "03dml5bmwijlcfhigwa5rc88ikkfdgmg286qwf9yr8zr3574ral7"; + url = http://mirror.centos.org/centos/6.5/os/i386/repodata/a89f27cc7d3cea431f3bd605a1e9309c32d5d409abc1b51a7b5c71c05f18a0c2-primary.xml.gz; + sha256 = "1hm031gw0wawgcdbbhdb17adaclw63ls21fn7cgl7siwgp62g7x8"; }; - urlPrefix = http://mirror.centos.org/centos/6.4/os/i386/ ; + urlPrefix = http://mirror.centos.org/centos/6.5/os/i386/ ; archs = ["noarch" "i386"]; packages = commonCentOSPackages; }; - centos64x86_64 = { - name = "centos-6.4-x86_64"; - fullName = "CentOS 6.4 (x86_64)"; + centos65x86_64 = { + name = "centos-6.5-x86_64"; + fullName = "CentOS 6.5 (x86_64)"; packagesList = fetchurl { - url = http://mirror.centos.org/centos/6.4/os/x86_64/repodata/4d4030b92f010f466eb4f004312b9f532b9e85e60c5e6421e8b429c180ac1efe-primary.xml.gz; - sha256 = "1zhymj0c2adlx0hn8phcws2rwaskkwmk217hnip4c3q15ywk0h2d"; + url = http://mirror.centos.org/centos/6.5/os/x86_64/repodata/3353e378f5cb4bb6c3b3dd2ca266c6d68a1e29c36cf99f76aea3d8e158626024-primary.xml.gz; + sha256 = "0930c9cf3n53mrv9zybcqclix2nnqrka4b6xng1vcjybymwf6lrk"; }; - urlPrefix = http://mirror.centos.org/centos/6.4/os/x86_64/ ; + urlPrefix = http://mirror.centos.org/centos/6.5/os/x86_64/ ; archs = ["noarch" "x86_64"]; packages = commonCentOSPackages; }; + rhel7x86_64 = { + name = "rhel-7rc-x86_64"; + fullName = "RHEL 7 rc (x86_64)"; + packagesList = fetchurl { + url = http://ftp.redhat.com/redhat/rhel/rc/7/Server/x86_64/os/repodata/81f41fc6206a8477235dc7b5099ffe0867f71802415d66d6c0a213a41cae27c3-primary.xml.gz; + sha256 = "1hr7mqfa84x2q3b6cpa108cgfrq8zsghkdf7blipg13a4331zx41"; + }; + urlPrefix = http://ftp.redhat.com/redhat/rhel/rc/7/Server/x86_64/os ; + archs = ["noarch" "x86_64"]; + packages = commonRHELPackages; + }; + }; @@ -1304,7 +1385,7 @@ rec { }) (fetchurl { url = mirror://ubuntu/dists/quantal/universe/binary-i386/Packages.bz2; - sha256 = "323036e81c8bf409f71d3bc5cf37cfba72fe1d0fc82e9b5418d4d0cb516646e1"; + sha256 = "9933ce12e7830b9c68a4aead08b86fcbb8d6ef0ea1fd133f0cf9d7126ad8c9bd"; }) ]; urlPrefix = mirror://ubuntu; @@ -1321,7 +1402,7 @@ rec { }) (fetchurl { url = mirror://ubuntu/dists/quantal/universe/binary-amd64/Packages.bz2; - sha256 = "c762bd4ed063326577a62ff783cf9720e772b03d4a2aa38048918ee6287b96ce"; + sha256 = "329a98312248c98092f8b91f232fc68fd3e6e2337ea4f348b3785465ae8dae17"; }) ]; urlPrefix = mirror://ubuntu; @@ -1338,7 +1419,7 @@ rec { }) (fetchurl { url = mirror://ubuntu/dists/raring/universe/binary-i386/Packages.bz2; - sha256 = "1db19982fc3689b00a918e2cdbb936dfccebbac2ed82f81bb0164a3d51039012"; + sha256 = "c1a59dd9132654194f4470932fd0f1582496465d8f96909b22accaf9f404024a"; }) ]; urlPrefix = mirror://ubuntu; @@ -1355,7 +1436,7 @@ rec { }) (fetchurl { url = mirror://ubuntu/dists/raring/universe/binary-amd64/Packages.bz2; - sha256 = "0caf561bad359e8a82a987a076c0f1cb7a43412a5de053c105b160477c192978"; + sha256 = "8aba137ae18540a12de03a564c11496431a150ab2d4d1e93e2b4b691fa2a4850"; }) ]; urlPrefix = mirror://ubuntu; @@ -1372,7 +1453,7 @@ rec { }) (fetchurl { url = mirror://ubuntu/dists/saucy/universe/binary-i386/Packages.bz2; - sha256 = "84ff81ef23bcece68bfc3dd4b0b1fd38e5b81ac90ad48b4e4210396b425da500"; + sha256 = "897f64c19a742ac8524c17c1b5ec31b33ec8ab20c85463010d8bf04f5d14aa0f"; }) ]; urlPrefix = mirror://ubuntu; @@ -1389,7 +1470,41 @@ rec { }) (fetchurl { url = mirror://ubuntu/dists/saucy/universe/binary-amd64/Packages.bz2; - sha256 = "06ec77f2f5d6ee70ffb805affe3a6b3e8d5b6463fbfe42ba6588295c7e1f65bc"; + sha256 = "a899ce5513ce8540ce9b8da4c1cd85b16b231900881b3aa559f7ac3182cdbfc8"; + }) + ]; + urlPrefix = mirror://ubuntu; + packages = commonDebPackages ++ [ "diffutils" "libc-bin" ]; + }; + + ubuntu1404i386 = { + name = "ubuntu-14.04-trusty-i386"; + fullName = "Ubuntu 14.04 Trusty (i386)"; + packagesLists = + [ (fetchurl { + url = mirror://ubuntu/dists/trusty/main/binary-i386/Packages.bz2; + sha256 = "fdfc38663915c5cef3029872deb8c3bf52b98092073058086e2f1db0c71ebeb4"; + }) + (fetchurl { + url = mirror://ubuntu/dists/trusty/universe/binary-i386/Packages.bz2; + sha256 = "2afcf259332d88c5e02f5446c4926edd567ef1a00ce24ca7cb400cbf44e2a90f"; + }) + ]; + urlPrefix = mirror://ubuntu; + packages = commonDebPackages ++ [ "diffutils" "libc-bin" ]; + }; + + ubuntu1404x86_64 = { + name = "ubuntu-14.04-trusty-amd64"; + fullName = "Ubuntu 14.04 Trusty (amd64)"; + packagesList = + [ (fetchurl { + url = mirror://ubuntu/dists/trusty/main/binary-amd64/Packages.bz2; + sha256 = "7095917eb8e4ac9161bc3b2ceeaf86e9265aae7b855a0e15d72096ecb05f1fc2"; + }) + (fetchurl { + url = mirror://ubuntu/dists/trusty/universe/binary-amd64/Packages.bz2; + sha256 = "558637eeb8e340b871653e2060effe36e064677eca4eae62d9e4138dd402a610"; }) ]; urlPrefix = mirror://ubuntu; @@ -1441,22 +1556,22 @@ rec { }; debian60i386 = { - name = "debian-6.0.8-squeeze-i386"; - fullName = "Debian 6.0.8 Squeeze (i386)"; + name = "debian-6.0.10-squeeze-i386"; + fullName = "Debian 6.0.10 Squeeze (i386)"; packagesList = fetchurl { url = mirror://debian/dists/squeeze/main/binary-i386/Packages.bz2; - sha256 = "c850339aaf46a4ed4abc7c1789c29ea58c3a152aa173ee004578fda86b28391f"; + sha256 = "c08899011a7a2b0df4da08f91eef3a80d112a247df988b1c966c9fb64c812392"; }; urlPrefix = mirror://debian; packages = commonDebianPackages; }; debian60x86_64 = { - name = "debian-6.0.8-squeeze-amd64"; - fullName = "Debian 6.0.8 Squeeze (amd64)"; + name = "debian-6.0.10-squeeze-amd64"; + fullName = "Debian 6.0.10 Squeeze (amd64)"; packagesList = fetchurl { url = mirror://debian/dists/squeeze/main/binary-amd64/Packages.bz2; - sha256 = "1506ab7de3ad5a2c706183536d2ee88589d7cb922d9e0de36ac062d464082dda"; + sha256 = "3f2ebd5221b9a4bdf7224acf728a51a987c63d32df1bbc20a97f177d2f184045"; }; urlPrefix = mirror://debian; packages = commonDebianPackages; @@ -1467,22 +1582,22 @@ rec { debian70x86_64 = debian7x86_64; debian7i386 = { - name = "debian-7.2-wheezy-i386"; - fullName = "Debian 7.2 Wheezy (i386)"; + name = "debian-7.6-wheezy-i386"; + fullName = "Debian 7.6 Wheezy (i386)"; packagesList = fetchurl { url = mirror://debian/dists/wheezy/main/binary-i386/Packages.bz2; - sha256 = "2e80242e323f233c40b3020b0f1a57d12df8a120ee82af88ff7032ba4688f97d"; + sha256 = "773ba601513cd7ef1d5192ad8baa795fa050573d82568c577cdf79adade698a3"; }; urlPrefix = mirror://debian; packages = commonDebianPackages; }; debian7x86_64 = { - name = "debian-7.2-wheezy-amd64"; - fullName = "Debian 7.2 Wheezy (amd64)"; + name = "debian-7.6-wheezy-amd64"; + fullName = "Debian 7.6 Wheezy (amd64)"; packagesList = fetchurl { url = mirror://debian/dists/wheezy/main/binary-amd64/Packages.bz2; - sha256 = "adfc4cd3d3b855c73c9e2e12163a33c193f98c9bad25765080fa6136378a6e3b"; + sha256 = "11a8bd3648d51f51e56c9f5382168cc47267d67ef6a050826e1cd358ed46cc17"; }; urlPrefix = mirror://debian; packages = commonDebianPackages; @@ -1537,6 +1652,28 @@ rec { "unzip" ]; + commonRHELPackages = [ + "autoconf" + "automake" + "basesystem" + "bzip2" + "curl" + "diffutils" + "findutils" + "gawk" + "gcc-c++" + "gzip" + "make" + "patch" + "perl" + "pkgconfig" + "procps-ng" + "rpm" + "rpm-build" + "tar" + "unzip" + ]; + /* Common packages for openSUSE images. */ commonOpenSUSEPackages = [ "aaa_base" @@ -1650,5 +1787,4 @@ rec { }; }; - -} +} // import ./windows pkgs |