commit
8b6fe6680f
@ -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 =
|
||||
|
@ -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;
|
||||
})
|
@ -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
|
||||
|
@ -17430,8 +17430,6 @@ with pkgs;
|
||||
inherit (darwin.stubs) rez setfile;
|
||||
};
|
||||
|
||||
qemu-riscv = lowPrio (callPackage ../applications/virtualization/qemu/riscv.nix {});
|
||||
|
||||
qgis = callPackage ../applications/gis/qgis {
|
||||
inherit (darwin.apple_sdk.frameworks) IOKit ApplicationServices;
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user