summary refs log tree commit diff
path: root/pkgs/applications
diff options
context:
space:
mode:
authorxeji <36407913+xeji@users.noreply.github.com>2018-04-29 18:41:18 +0200
committerGitHub <noreply@github.com>2018-04-29 18:41:18 +0200
commit8b6fe6680f4debea72f0fb652174b6d1b0ee77e9 (patch)
tree8e5d51431c8b65378326de971f236c5bc199ba57 /pkgs/applications
parent80b7298420f0ce6327f9d75f63f416d6db22231e (diff)
parent00610fe0903e0aa300e4f7797a6d84d13f3d8ce9 (diff)
downloadnixlib-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.nix12
-rw-r--r--pkgs/applications/virtualization/qemu/riscv.nix30
-rw-r--r--pkgs/applications/virtualization/qemu/statfs-flags.patch197
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
-