diff options
Diffstat (limited to 'pkgs/applications/virtualization')
13 files changed, 146 insertions, 207 deletions
diff --git a/pkgs/applications/virtualization/8086tiny/builder.sh b/pkgs/applications/virtualization/8086tiny/builder.sh deleted file mode 100644 index 210f11e1328..00000000000 --- a/pkgs/applications/virtualization/8086tiny/builder.sh +++ /dev/null @@ -1,30 +0,0 @@ - -source $stdenv/setup - -unpackPhase -cd $sourceRoot - -make 8086tiny - -if [ $bios ]; then - cd bios_source - nasm -f bin bios.asm -o bios - cd .. -fi - -mkdir -p $out/bin $out/share/$name $out/share/doc/$name/images - -install -m 755 8086tiny $out/bin -install -m 644 fd.img $out/share/$name/8086tiny-floppy.img -install -m 644 bios_source/bios.asm $out/share/$name/8086tiny-bios-src.asm -install -m 644 docs/8086tiny.css $out/share/doc/$name -install -m 644 docs/doc.html $out/share/doc/$name -for i in docs/images/*.gif -do - install -m 644 $i $out/share/doc/$name/images -done -if [ $bios ]; then - install -m 644 bios_source/bios $out/share/$name/8086tiny-bios -else - install -m 644 bios $out/share/$name/8086tiny-bios -fi diff --git a/pkgs/applications/virtualization/8086tiny/default.nix b/pkgs/applications/virtualization/8086tiny/default.nix deleted file mode 100644 index c58d488f583..00000000000 --- a/pkgs/applications/virtualization/8086tiny/default.nix +++ /dev/null @@ -1,43 +0,0 @@ -{ lib, stdenv, fetchFromGitHub -, localBios ? true, nasm ? null -, sdlSupport ? true, SDL ? null }: - -assert sdlSupport -> (SDL != null); - -stdenv.mkDerivation rec { - - pname = "8086tiny"; - version = "1.25"; - - src = fetchFromGitHub { - owner = "adriancable"; - repo = pname; - rev = "c79ca2a34d96931d55ef724c815b289d0767ae3a"; - sha256 = "00aydg8f28sgy8l3rd2a7jvp56lx3b63hhak43p7g7vjdikv495w"; - }; - - buildInputs = with lib; - optionals localBios [ nasm ] - ++ optionals sdlSupport [ SDL ]; - - bios = localBios; - - builder = ./builder.sh; - - meta = with lib; { - description = "An open-source small 8086 emulator"; - longDescription = '' - 8086tiny is a tiny, open-source (MIT), portable (little-endian hosts) - Intel PC emulator, powerful enough to run DOS, Windows 3.0, Excel, MS - Flight Simulator, AutoCAD, Lotus 1-2-3, and similar applications. 8086tiny - emulates a "late 80's era" PC XT-type machine. - - 8086tiny is based on an IOCCC 2013 winning entry. In fact that is the - "unobfuscated" version :) - ''; - homepage = "https://github.com/adriancable/8086tiny"; - license = licenses.mit; - maintainers = [ maintainers.AndersonTorres ]; - platforms = platforms.linux; - }; -} diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix index ca9ae20f346..0c44805bedd 100644 --- a/pkgs/applications/virtualization/containerd/default.nix +++ b/pkgs/applications/virtualization/containerd/default.nix @@ -10,7 +10,7 @@ buildGoModule rec { pname = "containerd"; - version = "1.5.2"; + version = "1.5.4"; outputs = [ "out" "man" ]; @@ -18,7 +18,7 @@ buildGoModule rec { owner = "containerd"; repo = "containerd"; rev = "v${version}"; - sha256 = "sha256-RDLAmPBjDHCx9al+gstUTrvKc/L0vAm8IEd/mvX5Als="; + sha256 = "sha256-VV1cxA8tDRiPDxKV8OGu3T7sgutmyL+VPNqTeFcVjJA="; }; vendorSha256 = null; diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix index 42095da8f52..26e56ccc609 100644 --- a/pkgs/applications/virtualization/cri-o/default.nix +++ b/pkgs/applications/virtualization/cri-o/default.nix @@ -15,13 +15,13 @@ buildGoModule rec { pname = "cri-o"; - version = "1.21.1"; + version = "1.21.2"; src = fetchFromGitHub { owner = "cri-o"; repo = "cri-o"; rev = "v${version}"; - sha256 = "sha256-WoQeZkHuCQGv//UKTpvucJXq7xI9Fkil8V1B1qTM75k="; + sha256 = "sha256-hapXwd7K0xbkZ0MKkJ5wv4zfDKRTC3IC4oLYLL460oI="; }; vendorSha256 = null; diff --git a/pkgs/applications/virtualization/crun/default.nix b/pkgs/applications/virtualization/crun/default.nix index e172248c8dd..a0d8c16d557 100644 --- a/pkgs/applications/virtualization/crun/default.nix +++ b/pkgs/applications/virtualization/crun/default.nix @@ -38,13 +38,13 @@ let in stdenv.mkDerivation rec { pname = "crun"; - version = "0.20.1"; + version = "0.21"; src = fetchFromGitHub { owner = "containers"; repo = pname; rev = version; - sha256 = "sha256-Fo8UCUwZ5RiJTXs1jWn1Mwq2qvK8p++ETxW9Tseokjw="; + sha256 = "sha256-PhhaCXtWsknMsEt1F9jMfEWSl+OLQ/C/iTj7t0XuAFw="; fetchSubmodules = true; }; diff --git a/pkgs/applications/virtualization/docker-compose/default.nix b/pkgs/applications/virtualization/docker-compose/default.nix index cc893680674..fd67aa554f0 100644 --- a/pkgs/applications/virtualization/docker-compose/default.nix +++ b/pkgs/applications/virtualization/docker-compose/default.nix @@ -8,12 +8,12 @@ }: buildPythonApplication rec { - version = "1.28.6"; + version = "1.29.2"; pname = "docker-compose"; src = fetchPypi { inherit pname version; - sha256 = "1d44906f7ab738ba2d1785130ed31b16111eee6dc5a1dbd7252091dae48c5281"; + sha256 = "sha256-TIzZ0h0jdBJ5PRi9MxEASe6a+Nqz/iwhO70HM5WbCbc="; }; # lots of networking and other fails diff --git a/pkgs/applications/virtualization/docker/buildx.nix b/pkgs/applications/virtualization/docker/buildx.nix index 84019395853..020e22db601 100644 --- a/pkgs/applications/virtualization/docker/buildx.nix +++ b/pkgs/applications/virtualization/docker/buildx.nix @@ -2,13 +2,13 @@ buildGoModule rec { pname = "docker-buildx"; - version = "0.5.1"; + version = "0.6.0"; src = fetchFromGitHub { owner = "docker"; repo = "buildx"; rev = "v${version}"; - sha256 = "0l03ncs1x4lhgy0kf7bd1zq00md8fi93f8xq6k0ans4400divfzk"; + sha256 = "sha256-5j1+3FlLc0gYDnYvDsAdmILxgjHCU1bTVOytfaF03iU="; }; vendorSha256 = null; diff --git a/pkgs/applications/virtualization/firecracker/default.nix b/pkgs/applications/virtualization/firecracker/default.nix index a8fbb1d09c1..78720034ea1 100644 --- a/pkgs/applications/virtualization/firecracker/default.nix +++ b/pkgs/applications/virtualization/firecracker/default.nix @@ -1,17 +1,17 @@ { fetchurl, lib, stdenv }: let - version = "0.24.3"; + version = "0.24.5"; suffix = { - x86_64-linux = "x86_64"; + x86_64-linux = "x86_64"; aarch64-linux = "aarch64"; }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}"); baseurl = "https://github.com/firecracker-microvm/firecracker/releases/download"; dlbin = sha256: fetchurl { - url = "${baseurl}/v${version}/firecracker-v${version}-${suffix}.tgz"; + url = "${baseurl}/v${version}/firecracker-v${version}-${suffix}.tgz"; sha256 = sha256."${stdenv.hostPlatform.system}"; }; @@ -22,15 +22,15 @@ stdenv.mkDerivation { sourceRoot = "."; src = dlbin { - x86_64-linux = "sha256-i6NMVFoLm4hQJH7RnhfC0t+0DJCINoP5b/iCv9JyRdk="; - aarch64-linux = "0m7xs12g97z1ipzaf7dgknf3azlah0p6bdr9i454azvzg955238b"; + x86_64-linux = "sha256-drcm2kz2csuJqr8Oqs0r1BrxgPHOyuwC2S+99MhbMjA="; + aarch64-linux = "sha256-x8RoBmgY3HRUOLw8YzEwQfQuT83zGfBHHWu88b4i05o="; }; - configurePhase = ":"; + dontConfigure = true; - buildPhase = '' - mv firecracker-* firecracker - mv jailer-* jailer + buildPhase = '' + mv release-v${version}/firecracker-v${version}-${suffix} firecracker + mv release-v${version}/jailer-v${version}-${suffix} jailer chmod +x firecracker jailer ''; @@ -48,9 +48,9 @@ stdenv.mkDerivation { meta = with lib; { description = "Secure, fast, minimal micro-container virtualization"; - homepage = "http://firecracker-microvm.io"; - license = licenses.asl20; - platforms = [ "x86_64-linux" "aarch64-linux" ]; - maintainers = with maintainers; [ thoughtpolice ]; + homepage = "http://firecracker-microvm.io"; + license = licenses.asl20; + platforms = [ "x86_64-linux" "aarch64-linux" ]; + maintainers = with maintainers; [ thoughtpolice endocrimes ]; }; } diff --git a/pkgs/applications/virtualization/looking-glass-client/0001-client-all-fix-more-maybe-uninitialized-when-O3-is-i.patch b/pkgs/applications/virtualization/looking-glass-client/0001-client-all-fix-more-maybe-uninitialized-when-O3-is-i.patch deleted file mode 100644 index 82ce050b587..00000000000 --- a/pkgs/applications/virtualization/looking-glass-client/0001-client-all-fix-more-maybe-uninitialized-when-O3-is-i.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 95a7293b30ff7b89d615daea00269ed32f4b70a2 Mon Sep 17 00:00:00 2001 -From: Geoffrey McRae <geoff@hostfission.com> -Date: Tue, 23 Feb 2021 20:25:30 +1100 -Subject: [PATCH] [client] all: fix more `maybe-uninitialized` when `-O3` is in - use - -Closes #475 ---- - client/renderers/EGL/egl.c | 3 ++- - client/src/main.c | 5 +++-- - 2 files changed, 5 insertions(+), 3 deletions(-) - -diff --git a/client/renderers/EGL/egl.c b/client/renderers/EGL/egl.c -index b7a5644..72ce50d 100644 ---- a/client/renderers/EGL/egl.c -+++ b/client/renderers/EGL/egl.c -@@ -271,7 +271,8 @@ static void egl_calc_mouse_size(struct Inst * this) - if (!this->formatValid) - return; - -- int w, h; -+ int w = 0, h = 0; -+ - switch(this->format.rotate) - { - case LG_ROTATE_0: -diff --git a/client/src/main.c b/client/src/main.c -index f05e929..f5d6fad 100644 ---- a/client/src/main.c -+++ b/client/src/main.c -@@ -186,8 +186,9 @@ static void updatePositionInfo(void) - if (!g_state.haveSrcSize) - goto done; - -- float srcW; -- float srcH; -+ float srcW = 0.0f; -+ float srcH = 0.0f; -+ - switch(params.winRotate) - { - case LG_ROTATE_0: --- -2.30.1 - diff --git a/pkgs/applications/virtualization/looking-glass-client/default.nix b/pkgs/applications/virtualization/looking-glass-client/default.nix index 345018bbe4e..0d158cc3f96 100644 --- a/pkgs/applications/virtualization/looking-glass-client/default.nix +++ b/pkgs/applications/virtualization/looking-glass-client/default.nix @@ -1,40 +1,54 @@ -{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, SDL2, SDL2_ttf, spice-protocol -, fontconfig, libX11, freefont_ttf, nettle, libpthreadstubs, libXau, libXdmcp -, libXi, libXext, wayland, wayland-protocols, libffi, libGLU, libXScrnSaver -, expat, libbfd + +{ stdenv, lib, fetchFromGitHub, fetchpatch, makeDesktopItem, cmake, pkg-config +, SDL, SDL2_ttf, freefont_ttf, spice-protocol, nettle, libbfd, fontconfig +, libXi, libXScrnSaver, libXinerama +, wayland, wayland-protocols }: +let + desktopItem = makeDesktopItem { + name = "looking-glass-client"; + desktopName = "Looking Glass Client"; + type = "Application"; + exec = "looking-glass-client"; + icon = "lg-logo"; + terminal = true; + }; +in stdenv.mkDerivation rec { pname = "looking-glass-client"; - version = "B3"; + version = "B4"; src = fetchFromGitHub { owner = "gnif"; repo = "LookingGlass"; rev = version; - sha256 = "1vmabjzn85p0brdian9lbpjq39agzn8k0limn8zjm713lh3n3c0f"; + sha256 = "0fwmz0l1dcfwklgvxmv0galgj2q3nss90kc3jwgf6n80x27rsnhf"; fetchSubmodules = true; }; nativeBuildInputs = [ cmake pkg-config ]; buildInputs = [ - SDL2 SDL2_ttf spice-protocol fontconfig libX11 freefont_ttf nettle - libpthreadstubs libXau libXdmcp libXi libXext wayland wayland-protocols - libffi libGLU libXScrnSaver expat libbfd - ]; - - patches = [ - # error: ‘h’ may be used uninitialized in this function [-Werror=maybe-uninitialized] - # Fixed upstream in master in 8771103abbfd04da9787dea760405364af0d82de, but not in B3. - # Including our own patch here since upstream commit patch doesnt apply cleanly on B3 - ./0001-client-all-fix-more-maybe-uninitialized-when-O3-is-i.patch + SDL SDL2_ttf freefont_ttf spice-protocol + libbfd nettle fontconfig + libXi libXScrnSaver libXinerama + wayland wayland-protocols ]; - patchFlags = "-p2"; - sourceRoot = "source/client"; NIX_CFLAGS_COMPILE = "-mavx"; # Fix some sort of AVX compiler problem. + postUnpack = '' + echo $version > source/VERSION + export sourceRoot="source/client" + ''; + + postInstall = '' + mkdir -p $out/share/pixmaps + ln -s ${desktopItem}/share/applications $out/share/ + cp $src/resources/lg-logo.png $out/share/pixmaps + ''; + meta = with lib; { description = "A KVM Frame Relay (KVMFR) implementation"; longDescription = '' @@ -46,7 +60,7 @@ stdenv.mkDerivation rec { ''; homepage = "https://looking-glass.io/"; license = licenses.gpl2Plus; - maintainers = with maintainers; [ alexbakker ]; + maintainers = with maintainers; [ alexbakker babbaj ]; platforms = [ "x86_64-linux" ]; }; } diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index 7fd01a8ffa9..4df14e030ae 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -86,6 +86,16 @@ stdenv.mkDerivation rec { patches = [ ./fix-qemu-ga.patch ./9p-ignore-noatime.patch + (fetchpatch { + name = "CVE-2021-3545.patch"; + url = "https://gitlab.com/qemu-project/qemu/-/commit/121841b25d72d13f8cad554363138c360f1250ea.patch"; + sha256 = "13dgfd8dmxcalh2nvb68iv0kyv4xxrvpdqdxf1h3bjr4451glag1"; + }) + (fetchpatch { + name = "CVE-2021-3546.patch"; + url = "https://gitlab.com/qemu-project/qemu/-/commit/9f22893adcb02580aee5968f32baa2cd109b3ec2.patch"; + sha256 = "1vkhm9vl671y4cra60b6704339qk1h5dyyb3dfvmvpsvfyh2pm7n"; + }) ] ++ optional nixosTestRunner ./force-uid0-on-9p.patch ++ optionals stdenv.hostPlatform.isMusl [ (fetchpatch { @@ -114,6 +124,18 @@ stdenv.mkDerivation rec { # This means `-accel hvf` is broken for now, on aarch64-darwin only. substituteInPlace meson.build \ --replace 'if exe_sign' 'if false' + + # glibc 2.33 compat fix: if `has_statx = true` is set, `tools/virtiofsd/passthrough_ll.c` will + # rely on `stx_mnt_id`[1] which is not part of glibc's `statx`-struct definition. + # + # `has_statx` will be set to `true` if a simple C program which uses a few `statx` + # consts & struct fields successfully compiles. It seems as this only builds on glibc-2.33 + # since most likely[2] and because of that, the problematic code-path will be used. + # + # [1] https://github.com/torvalds/linux/commit/fa2fcf4f1df1559a0a4ee0f46915b496cc2ebf60#diff-64bab5a0a3fcb55e1a6ad77b1dfab89d2c9c71a770a07ecf44e6b82aae76a03a + # [2] https://sourceware.org/git/?p=glibc.git;a=blobdiff;f=io/bits/statx-generic.h;h=c34697e3c1fd79cddd60db294302e461ed8db6e2;hp=7a09e94be2abb92d2df612090c132e686a24d764;hb=88a2cf6c4bab6e94a65e9c0db8813709372e9180;hpb=c4e4b2e149705559d28b16a9b47ba2f6142d6a6c + substituteInPlace meson.build \ + --replace 'has_statx = cc.links(statx_test)' 'has_statx = false' ''; preConfigure = '' diff --git a/pkgs/applications/virtualization/tiny8086/default.nix b/pkgs/applications/virtualization/tiny8086/default.nix new file mode 100644 index 00000000000..60d69432cde --- /dev/null +++ b/pkgs/applications/virtualization/tiny8086/default.nix @@ -0,0 +1,68 @@ +{ lib +, stdenv +, fetchFromGitHub +, localBios ? true +, nasm +, sdlSupport ? true +, SDL +}: + +stdenv.mkDerivation rec { + pname = "8086tiny"; + version = "1.25"; + + src = fetchFromGitHub { + owner = "adriancable"; + repo = pname; + rev = "c79ca2a34d96931d55ef724c815b289d0767ae3a"; + sha256 = "00aydg8f28sgy8l3rd2a7jvp56lx3b63hhak43p7g7vjdikv495w"; + }; + + buildInputs = lib.optional localBios nasm + ++ lib.optional sdlSupport SDL; + + makeFlags = [ "8086tiny" ]; + + postBuild = lib.optionalString localBios '' + ( + cd bios_source + nasm -f bin bios.asm -o bios + ) + ''; + + installPhase = '' + mkdir -p $out/bin $out/share/8086tiny $out/share/doc/8086tiny/images + + install -m 755 8086tiny $out/bin + install -m 644 fd.img $out/share/8086tiny/8086tiny-floppy.img + install -m 644 bios_source/bios.asm $out/share/8086tiny/8086tiny-bios-src.asm + install -m 644 docs/8086tiny.css $out/share/doc/8086tiny + install -m 644 docs/doc.html $out/share/doc/$name + + for i in docs/images/\*.gif; do + install -m 644 $i $out/share/doc/8086tiny/images + done + + ${if localBios then + "install -m 644 bios_source/bios $out/share/8086tiny/8086tiny-bios" + else + "install -m 644 bios $out/share/8086tiny/8086tiny-bios"} + ''; + + meta = with lib; { + description = "An open-source small 8086 emulator"; + longDescription = '' + 8086tiny is a tiny, open-source (MIT), portable (little-endian hosts) + Intel PC emulator, powerful enough to run DOS, Windows 3.0, Excel, MS + Flight Simulator, AutoCAD, Lotus 1-2-3, and similar applications. 8086tiny + emulates a "late 80's era" PC XT-type machine. + + 8086tiny is based on an IOCCC 2013 winning entry. In fact that is the + "unobfuscated" version :) + ''; + homepage = "https://github.com/adriancable/8086tiny"; + license = licenses.mit; + maintainers = [ maintainers.AndersonTorres ]; + platforms = platforms.linux; + }; +} diff --git a/pkgs/applications/virtualization/virtinst/default.nix b/pkgs/applications/virtualization/virtinst/default.nix deleted file mode 100644 index 37f03d8772f..00000000000 --- a/pkgs/applications/virtualization/virtinst/default.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ lib, stdenv, fetchurl, python2Packages, intltool, libxml2Python }: - -with lib; - -let version = "0.600.4"; in - -stdenv.mkDerivation rec { - pname = "virtinst"; - inherit version; - - src = fetchurl { - url = "http://virt-manager.org/download/sources/virtinst/virtinst-${version}.tar.gz"; - sha256 = "175laiy49dni8hzi0cn14bbsdsigvgr9h6d9z2bcvbpa29spldvf"; - }; - - pythonPath = with python2Packages; - [ setuptools eventlet greenlet gflags netaddr carrot routes - PasteDeploy m2crypto ipy twisted - distutils_extra simplejson cheetah lockfile httplib2 - # !!! should libvirt be a build-time dependency? Note that - # libxml2Python is a dependency of libvirt.py. - libvirt libxml2Python urlgrabber - ]; - - buildInputs = - [ python2Packages.python - python2Packages.wrapPython - python2Packages.mox - intltool - ] ++ pythonPath; - - buildPhase = "python setup.py build"; - - installPhase = - '' - python setup.py install --prefix="$out"; - wrapPythonPrograms - ''; - - meta = { - homepage = "http://virt-manager.org"; - license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [qknight]; - description = "Command line tool which provides an easy way to provision operating systems into virtual machines"; - platforms = with lib.platforms; linux; - }; -} |