diff options
author | xeji <36407913+xeji@users.noreply.github.com> | 2018-04-29 18:41:18 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-04-29 18:41:18 +0200 |
commit | 8b6fe6680f4debea72f0fb652174b6d1b0ee77e9 (patch) | |
tree | 8e5d51431c8b65378326de971f236c5bc199ba57 /pkgs/applications | |
parent | 80b7298420f0ce6327f9d75f63f416d6db22231e (diff) | |
parent | 00610fe0903e0aa300e4f7797a6d84d13f3d8ce9 (diff) | |
download | nixlib-8b6fe6680f4debea72f0fb652174b6d1b0ee77e9.tar nixlib-8b6fe6680f4debea72f0fb652174b6d1b0ee77e9.tar.gz nixlib-8b6fe6680f4debea72f0fb652174b6d1b0ee77e9.tar.bz2 nixlib-8b6fe6680f4debea72f0fb652174b6d1b0ee77e9.tar.lz nixlib-8b6fe6680f4debea72f0fb652174b6d1b0ee77e9.tar.xz nixlib-8b6fe6680f4debea72f0fb652174b6d1b0ee77e9.tar.zst nixlib-8b6fe6680f4debea72f0fb652174b6d1b0ee77e9.zip |
Merge pull request #39513 from xeji/qemu-2-12
qemu: 2.11.1 -> 2.12.0
Diffstat (limited to 'pkgs/applications')
-rw-r--r-- | pkgs/applications/virtualization/qemu/default.nix | 12 | ||||
-rw-r--r-- | pkgs/applications/virtualization/qemu/riscv.nix | 30 | ||||
-rw-r--r-- | pkgs/applications/virtualization/qemu/statfs-flags.patch | 197 |
3 files changed, 5 insertions, 234 deletions
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix index 9839aadc9c1f..dd68eb19380f 100644 --- a/pkgs/applications/virtualization/qemu/default.nix +++ b/pkgs/applications/virtualization/qemu/default.nix @@ -21,8 +21,8 @@ with stdenv.lib; let - version = "2.11.1"; - sha256 = "1jrcff0szyjxc3vywyiclwdzk0xgq4cxvjbvmcfyjcpdrq9j5pyr"; + version = "2.12.0"; + sha256 = "17377xxbmwbrnh895a108z944pqi39hzrbw4jzgj8pcipi3s3x69"; audio = optionalString (hasSuffix "linux" stdenv.system) "alsa," + optionalString pulseSupport "pa," + optionalString sdlSupport "sdl,"; @@ -69,11 +69,7 @@ stdenv.mkDerivation rec { outputs = [ "out" "ga" ]; - patches = [ ./no-etc-install.patch ./statfs-flags.patch (fetchpatch { - name = "glibc-2.27-memfd.patch"; - url = "https://git.qemu.org/?p=qemu.git;a=patch;h=75e5b70e6b5dcc4f2219992d7cffa462aa406af0"; - sha256 = "0gaz93kb33qc0jx6iphvny0yrd17i8zhcl3a9ky5ylc2idz0wiwa"; - }) ] + patches = [ ./no-etc-install.patch ] ++ optional nixosTestRunner ./force-uid0-on-9p.patch ++ optional pulseSupport ./fix-hda-recording.patch ++ optionals stdenv.hostPlatform.isMusl [ @@ -99,6 +95,8 @@ stdenv.mkDerivation rec { preConfigure = '' unset CPP # intereferes with dependency calculation + '' + optionalString stdenv.hostPlatform.isMusl '' + NIX_CFLAGS_COMPILE+=" -D_LINUX_SYSINFO_H" ''; configureFlags = diff --git a/pkgs/applications/virtualization/qemu/riscv.nix b/pkgs/applications/virtualization/qemu/riscv.nix deleted file mode 100644 index 2159ad4b4dc9..000000000000 --- a/pkgs/applications/virtualization/qemu/riscv.nix +++ /dev/null @@ -1,30 +0,0 @@ -{ qemu, fetchFromGitHub, lib }: let - src = fetchFromGitHub { - owner = "riscv"; - repo = "riscv-qemu"; - rev = "f733c7b5f86147216e14aff90c03ccdd76056bef"; - sha256 = "1ppr9qqwi7qqh8m6dgk1hrzg8zri240il27l67vfayd8ijagb9zq"; - fetchSubmodules = true; - }; - version = "2.11.92"; - revCount = "60378"; - shortRev = builtins.substring 0 9 src.rev; - targets = [ "riscv32-linux-user" "riscv32-softmmu" - "riscv64-linux-user" "riscv64-softmmu" - ]; -in lib.overrideDerivation qemu (orig: { - name = "${(builtins.parseDrvName qemu.name).name}-${version}pre${revCount}_${shortRev}"; - inherit src; -# <<<<<<< HEAD -# # https://github.com/riscv/riscv-qemu/pull/109 -# patches = [ ./no-etc-install.patch ./statfs-flags.patch ./riscv-initrd.patch ]; -# ======= - # The pulseaudio and statfs patches are in 2.12.0+, which this is based on - patches = [ - ./force-uid0-on-9p.patch - ./no-etc-install.patch - ]; - - configureFlags = orig.configureFlags ++ [ "--target-list=${lib.concatStringsSep "," targets}" ]; - postInstall = null; -}) diff --git a/pkgs/applications/virtualization/qemu/statfs-flags.patch b/pkgs/applications/virtualization/qemu/statfs-flags.patch deleted file mode 100644 index 52a470a2869a..000000000000 --- a/pkgs/applications/virtualization/qemu/statfs-flags.patch +++ /dev/null @@ -1,197 +0,0 @@ -commit 909fe47c7009aa9a75fe9470c5f8d3dd5b50917a -Author: Shea Levy <shea@shealevy.com> -Date: Sun Feb 18 13:50:11 2018 -0500 - - linux-user: Support f_flags in statfs when available. - - Signed-off-by: Shea Levy <shea@shealevy.com> - -diff --git a/configure b/configure -index 913e14839d..52fe2bf941 100755 ---- a/configure -+++ b/configure -@@ -5303,6 +5303,22 @@ if compile_prog "" "" ; then - have_utmpx=yes - fi - -+########################################## -+# Check for newer fields of struct statfs on Linux -+ -+if test "$linux_user" = "yes"; then -+ cat > $TMPC <<EOF -+#include <sys/vfs.h> -+ -+int main(void) { -+ struct statfs fs; -+ fs.f_flags = 0; -+} -+EOF -+ if compile_object ; then -+ have_statfs_flags=yes -+ fi -+fi - ########################################## - # checks for sanitizers - -@@ -6518,6 +6534,10 @@ if test "$have_utmpx" = "yes" ; then - echo "HAVE_UTMPX=y" >> $config_host_mak - fi - -+if test "$have_statfs_flags" = "yes" ; then -+ echo "HAVE_STATFS_FLAGS=y" >> $config_host_mak -+fi -+ - if test "$ivshmem" = "yes" ; then - echo "CONFIG_IVSHMEM=y" >> $config_host_mak - fi -diff --git a/linux-user/syscall.c b/linux-user/syscall.c -index 82b35a6bdf..77481eca2c 100644 ---- a/linux-user/syscall.c -+++ b/linux-user/syscall.c -@@ -9534,6 +9534,9 @@ abi_long do_syscall(void *cpu_env, int num, abi_long arg1, - __put_user(stfs.f_fsid.__val[1], &target_stfs->f_fsid.val[1]); - __put_user(stfs.f_namelen, &target_stfs->f_namelen); - __put_user(stfs.f_frsize, &target_stfs->f_frsize); -+#ifdef HAVE_STATFS_FLAGS -+ __put_user(stfs.f_flags, &target_stfs->f_flags); -+#endif - memset(target_stfs->f_spare, 0, sizeof(target_stfs->f_spare)); - unlock_user_struct(target_stfs, arg2, 1); - } -diff --git a/linux-user/syscall_defs.h b/linux-user/syscall_defs.h -index a35c52a60a..64aa49d3c5 100644 ---- a/linux-user/syscall_defs.h -+++ b/linux-user/syscall_defs.h -@@ -362,7 +362,14 @@ struct kernel_statfs { - int f_ffree; - kernel_fsid_t f_fsid; - int f_namelen; -+#ifdef HAVE_STATFS_FLAGS -+ int f_frsize; -+ int f_flags; -+ int f_spare[4]; -+#else - int f_spare[6]; -+#endif -+ - }; - - struct target_dirent { -@@ -2223,7 +2230,12 @@ struct target_statfs { - /* Linux specials */ - target_fsid_t f_fsid; - int32_t f_namelen; -+#ifdef HAVE_STATFS_FLAGS -+ int32_t f_flags; -+ int32_t f_spare[5]; -+#else - int32_t f_spare[6]; -+#endif - }; - #else - struct target_statfs { -@@ -2239,7 +2251,12 @@ struct target_statfs { - /* Linux specials */ - target_fsid_t f_fsid; - abi_long f_namelen; -+#ifdef HAVE_STATFS_FLAGS -+ abi_long f_flags; -+ abi_long f_spare[5]; -+#else - abi_long f_spare[6]; -+#endif - }; - #endif - -@@ -2255,7 +2272,12 @@ struct target_statfs64 { - uint64_t f_bavail; - target_fsid_t f_fsid; - uint32_t f_namelen; -+#ifdef HAVE_STATFS_FLAGS -+ uint32_t f_flags; -+ uint32_t f_spare[5]; -+#else - uint32_t f_spare[6]; -+#endif - }; - #elif (defined(TARGET_PPC64) || defined(TARGET_X86_64) || \ - defined(TARGET_SPARC64) || defined(TARGET_AARCH64)) && \ -@@ -2271,7 +2293,12 @@ struct target_statfs { - target_fsid_t f_fsid; - abi_long f_namelen; - abi_long f_frsize; -+#ifdef HAVE_STATFS_FLAGS -+ abi_long f_flags; -+ abi_long f_spare[4]; -+#else - abi_long f_spare[5]; -+#endif - }; - - struct target_statfs64 { -@@ -2285,7 +2312,12 @@ struct target_statfs64 { - target_fsid_t f_fsid; - abi_long f_namelen; - abi_long f_frsize; -+#ifdef HAVE_STATFS_FLAGS -+ abi_long f_flags; -+ abi_long f_spare[4]; -+#else - abi_long f_spare[5]; -+#endif - }; - #elif defined(TARGET_S390X) - struct target_statfs { -@@ -2299,7 +2331,13 @@ struct target_statfs { - kernel_fsid_t f_fsid; - int32_t f_namelen; - int32_t f_frsize; -+#ifdef HAVE_STATFS_FLAGS -+ int32_t f_flags; -+ int32_t f_spare[4]; -+#else - int32_t f_spare[5]; -+#endif -+ - }; - - struct target_statfs64 { -@@ -2313,7 +2351,12 @@ struct target_statfs64 { - kernel_fsid_t f_fsid; - int32_t f_namelen; - int32_t f_frsize; -+#ifdef HAVE_STATFS_FLAGS -+ int32_t f_flags; -+ int32_t f_spare[4]; -+#else - int32_t f_spare[5]; -+#endif - }; - #else - struct target_statfs { -@@ -2327,7 +2370,12 @@ struct target_statfs { - target_fsid_t f_fsid; - uint32_t f_namelen; - uint32_t f_frsize; -+#ifdef HAVE_STATFS_FLAGS -+ uint32_t f_flags; -+ uint32_t f_spare[4]; -+#else - uint32_t f_spare[5]; -+#endif - }; - - struct target_statfs64 { -@@ -2341,7 +2389,12 @@ struct target_statfs64 { - target_fsid_t f_fsid; - uint32_t f_namelen; - uint32_t f_frsize; -+#ifdef HAVE_STATFS_FLAGS -+ uint32_t f_flags; -+ uint32_t f_spare[4]; -+#else - uint32_t f_spare[5]; -+#endif - }; - #endif - |