···55 /* Do not use "dev" as a version. If you do, Tilt will consider itself
66 running in development environment and try to serve assets from the
77 source tree, which is not there once build completes. */
88- version = "0.25.1";
88+ version = "0.25.2";
991010 src = fetchFromGitHub {
1111 owner = "tilt-dev";
1212 repo = pname;
1313 rev = "v${version}";
1414- sha256 = "sha256-dvY5kiLJ3psoQxG12E4qOjgF9GdXpjRKU3HlbPvwWBU=";
1414+ sha256 = "sha256-L5pXq4vfus8gpQMO+j2+WXMPkk3sv3WeeeYrBFd+w7s=";
1515 };
1616 vendorSha256 = null;
1717
+2-2
pkgs/applications/office/qownnotes/default.nix
···5566mkDerivation rec {
77 pname = "qownnotes";
88- version = "22.2.9";
88+ version = "22.3.1";
991010 src = fetchurl {
1111 url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
1212 # Fetch the checksum of current version with curl:
1313 # curl https://download.tuxfamily.org/qownnotes/src/qownnotes-<version>.tar.xz.sha256
1414- sha256 = "ced99f4b2106148c683267c2c5ccc5902dc6b98249eb7c132dde2bd6ea37bc34";
1414+ sha256 = "4d75684751a10f24d20d993b30748c7a09bd8bdfd4e1d4d5703746954a0f6bb2";
1515 };
16161717 nativeBuildInputs = [ qmake qttools ];
···11-commit cdc3e7eeafa9f683214d2c15d52ef384c3de6611
22-Author: aszlig <aszlig@nix.build>
33-Date: Mon Mar 18 13:21:01 2019 +0100
11+From 9e4932ae99946b1a08ab5b5345fd2bc3486e54a5 Mon Sep 17 00:00:00 2001
22+From: aszlig <aszlig@nix.build>
33+Date: Mon, 18 Mar 2019 13:21:01 +0100
44+Subject: [PATCH] 9pfs: Ignore O_NOATIME open flag
55+66+Since Linux 4.19, overlayfs uses the O_NOATIME flag on its lowerdir,
77+which in turn causes errors when the Nix store is mounted in the guest
88+because the file owner of the store paths typically don't match the
99+owner of the QEMU process.
1010+1111+After submitting a patch to the overlayfs mailing list[1], it turns out
1212+that my patch was incomplete[2] and needs a bit more rework.
1313+1414+So instead of using an incomplete kernel patch in nixpkgs, which affects
1515+*all* users of overlayfs, not just NixOS VM tests, I decided that for
1616+now it's better to patch QEMU instead.
1717+1818+The change here really only ignores the O_NOATIME flag so that the
1919+behaviour is similar to what NFS does. From open(2):
2020+2121+This flag may not be effective on all filesystems. One example is NFS,
2222+where the server maintains the access time.
42355- 9pfs: Ignore O_NOATIME open flag
66-77- Since Linux 4.19, overlayfs uses the O_NOATIME flag on its lowerdir,
88- which in turn causes errors when the Nix store is mounted in the guest
99- because the file owner of the store paths typically don't match the
1010- owner of the QEMU process.
1111-1212- After submitting a patch to the overlayfs mailing list[1], it turns out
1313- that my patch was incomplete[2] and needs a bit more rework.
1414-1515- So instead of using an incomplete kernel patch in nixpkgs, which affects
1616- *all* users of overlayfs, not just NixOS VM tests, I decided that for
1717- now it's better to patch QEMU instead.
1818-1919- The change here really only ignores the O_NOATIME flag so that the
2020- behaviour is similar to what NFS does. From open(2):
2121-2222- This flag may not be effective on all filesystems. One example is NFS,
2323- where the server maintains the access time.
2424-2525- This change is therefore only temporary until the final fix lands in the
2626- stable kernel releases.
2727-2828- [1]: https://www.spinics.net/lists/linux-unionfs/msg06755.html
2929- [2]: https://www.spinics.net/lists/linux-unionfs/msg06756.html
3030-3131- Signed-off-by: aszlig <aszlig@nix.build>
2424+This change is therefore only temporary until the final fix lands in the
2525+stable kernel releases.
2626+2727+[1]: https://www.spinics.net/lists/linux-unionfs/msg06755.html
2828+[2]: https://www.spinics.net/lists/linux-unionfs/msg06756.html
2929+3030+Signed-off-by: aszlig <aszlig@nix.build>
3131+---
3232+ hw/9pfs/9p.c | 1 -
3333+ 1 file changed, 1 deletion(-)
32343335diff --git a/hw/9pfs/9p.c b/hw/9pfs/9p.c
3434-index 55821343e5..0b8425fe18 100644
3636+index a6d6b3f835..4eb26e2294 100644
3537--- a/hw/9pfs/9p.c
3638+++ b/hw/9pfs/9p.c
3737-@@ -127,7 +127,6 @@ static int dotl_to_open_flags(int flags)
3838- { P9_DOTL_LARGEFILE, O_LARGEFILE },
3939- { P9_DOTL_DIRECTORY, O_DIRECTORY },
4040- { P9_DOTL_NOFOLLOW, O_NOFOLLOW },
3939+@@ -139,7 +139,6 @@ static int dotl_to_open_flags(int flags)
4040+ { P9_DOTL_DSYNC, O_DSYNC },
4141+ { P9_DOTL_FASYNC, FASYNC },
4242+ #ifndef CONFIG_DARWIN
4143- { P9_DOTL_NOATIME, O_NOATIME },
4242- { P9_DOTL_SYNC, O_SYNC },
4343- };
4444-4444+ /*
4545+ * On Darwin, we could map to F_NOCACHE, which is
4646+ * similar, but doesn't quite have the same
4747+--
4848+2.35.1
4949+
···11+From 4ca09b7cd1d42eb6b1587fed74cd4d684e31bfbe Mon Sep 17 00:00:00 2001
22+From: Keno Fischer <keno@juliacomputing.com>
33+Date: Sun, 27 Feb 2022 17:35:22 -0500
44+Subject: [PATCH] 9p: darwin: meson: Allow VirtFS on Darwin
55+66+To allow VirtFS on darwin, we need to check that pthread_fchdir_np is
77+available, which has only been available since macOS 10.12.
88+99+Additionally, virtfs_proxy_helper is disabled on Darwin. This patch
1010+series does not currently provide an implementation of the proxy-helper,
1111+but this functionality could be implemented later on.
1212+1313+Signed-off-by: Keno Fischer <keno@juliacomputing.com>
1414+[Michael Roitzsch: - Rebase for NixOS]
1515+Signed-off-by: Michael Roitzsch <reactorcontrol@icloud.com>
1616+[Will Cohen: - Rebase to master]
1717+Signed-off-by: Will Cohen <wwcohen@gmail.com>
1818+Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
1919+[Will Cohen: - Add check for pthread_fchdir_np to virtfs
2020+ - Add comments to patch commit
2121+ - Note that virtfs_proxy_helper does not work
2222+ on macOS
2323+ - Fully adjust meson virtfs error note to specify
2424+ macOS
2525+ - Rebase to master]
2626+Signed-off-by: Will Cohen <wwcohen@gmail.com>
2727+Message-Id: <20220227223522.91937-12-wwcohen@gmail.com>
2828+Signed-off-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
2929+Acked-by: Christian Schoenebeck <qemu_oss@crudebyte.com>
3030+---
3131+ fsdev/meson.build | 1 +
3232+ meson.build | 17 +++++++++++------
3333+ 2 files changed, 12 insertions(+), 6 deletions(-)
3434+3535+diff --git a/fsdev/meson.build b/fsdev/meson.build
3636+index adf57cc43e..b632b66348 100644
3737+--- a/fsdev/meson.build
3838++++ b/fsdev/meson.build
3939+@@ -7,6 +7,7 @@ fsdev_ss.add(when: ['CONFIG_FSDEV_9P'], if_true: files(
4040+ 'qemu-fsdev.c',
4141+ ), if_false: files('qemu-fsdev-dummy.c'))
4242+ softmmu_ss.add_all(when: 'CONFIG_LINUX', if_true: fsdev_ss)
4343++softmmu_ss.add_all(when: 'CONFIG_DARWIN', if_true: fsdev_ss)
4444+4545+ if have_virtfs_proxy_helper
4646+ executable('virtfs-proxy-helper',
4747+diff --git a/meson.build b/meson.build
4848+index 2265fa409a..6d73c02903 100644
4949+--- a/meson.build
5050++++ b/meson.build
5151+@@ -1383,12 +1383,17 @@ endif
5252+ have_host_block_device = (targetos != 'darwin' or
5353+ cc.has_header('IOKit/storage/IOMedia.h'))
5454+5555+-have_virtfs = (targetos == 'linux' and
5656+- have_system and
5757+- libattr.found() and
5858+- libcap_ng.found())
5959+-
6060+-have_virtfs_proxy_helper = have_virtfs and have_tools
6161++have_virtfs = get_option('virtfs') \
6262++ .require(targetos == 'linux' or targetos == 'darwin',
6363++ error_message: 'virtio-9p (virtfs) requires Linux or macOS') \
6464++ .require(targetos == 'linux' or cc.has_function('pthread_fchdir_np'),
6565++ error_message: 'virtio-9p (virtfs) on macOS requires the presence of pthread_fchdir_np') \
6666++ .require(targetos == 'darwin' or (libattr.found() and libcap_ng.found()),
6767++ error_message: 'virtio-9p (virtfs) on Linux requires libcap-ng-devel and libattr-devel') \
6868++ .disable_auto_if(not have_tools and not have_system) \
6969++ .allowed()
7070++
7171++have_virtfs_proxy_helper = targetos != 'darwin' and have_virtfs and have_tools
7272+7373+ if get_option('virtfs').enabled()
7474+ if not have_virtfs
7575+--
7676+2.35.1
7777+
+52-2
pkgs/applications/virtualization/qemu/default.nix
···88888989 patches = [
9090 ./fix-qemu-ga.patch
9191- ./9p-ignore-noatime.patch
9291 # Cocoa clipboard support only works on macOS 10.14+
9392 (fetchpatch {
9493 url = "https://gitlab.com/qemu-project/qemu/-/commit/7e3e20d89129614f4a7b2451fe321cc6ccca3b76.diff";
9594 sha256 = "09xz06g57wxbacic617pq9c0qb7nly42gif0raplldn5lw964xl2";
9695 revert = true;
9796 })
9898- ] ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch;
9797+ # 9p-darwin for 7.0 backported to 6.2.0
9898+ #
9999+ # Can generally be removed when updating derivation to 7.0. Nine of the
100100+ # patches can be drawn directly from QEMU upstream, but the second commit
101101+ # and the eleventh commit had to be modified when rebasing back to 6.2.0.
102102+ (fetchpatch {
103103+ url = "https://gitlab.com/qemu-project/qemu/-/commit/e0bd743bb2dd4985791d4de880446bdbb4e04fed.patch";
104104+ sha256 = "sha256-c6QYL3zig47fJwm6rqkqGp3E1PakVTaihvXDRebbBlQ=";
105105+ })
106106+ ./rename-9p-util.patch
107107+ (fetchpatch {
108108+ url = "https://gitlab.com/qemu-project/qemu/-/commit/f41db099c71151291c269bf48ad006de9cbd9ca6.patch";
109109+ sha256 = "sha256-70/rrhZw+02JJbJ3CoW8B1GbdM4Lwb2WkUdwstYAoIQ=";
110110+ })
111111+ (fetchpatch {
112112+ url = "https://gitlab.com/qemu-project/qemu/-/commit/6b3b279bd670c6a2fa23c9049820c814f0e2c846.patch";
113113+ sha256 = "sha256-7WqklSvLirEuxTXTIMQDQhWpXnwMseJ1RumT+faq/Y8=";
114114+ })
115115+ (fetchpatch {
116116+ url = "https://gitlab.com/qemu-project/qemu/-/commit/67a71e3b71a2834d028031a92e76eb9444e423c6.patch";
117117+ sha256 = "sha256-COFm/SwfJSoSl9YDpL6ceAE8CcE4mGhsGxw1HMuL++o=";
118118+ })
119119+ (fetchpatch {
120120+ url = "https://gitlab.com/qemu-project/qemu/-/commit/38d7fd68b0c8775b5253ab84367419621aa032e6.patch";
121121+ sha256 = "sha256-iwGIzq9FWW6zpbDg/IKrp5OZpK9cgQqTRWWq8WBIHRQ=";
122122+ })
123123+ (fetchpatch {
124124+ url = "https://gitlab.com/qemu-project/qemu/-/commit/57b3910bc3513ab515296692daafd1c546f3c115.patch";
125125+ sha256 = "sha256-ybl9+umZAcQKHYL7NkGJQC0W7bccTagA9KQiFaR2LYA=";
126126+ })
127127+ (fetchpatch {
128128+ url = "https://gitlab.com/qemu-project/qemu/-/commit/b5989326f558faedd2511f29459112cced2ca8f5.patch";
129129+ sha256 = "sha256-s+O9eCgj2Ev+INjL9LY9MJBdISIdZLslI3lue2DICGM=";
130130+ })
131131+ (fetchpatch {
132132+ url = "https://gitlab.com/qemu-project/qemu/-/commit/029ed1bd9defa33a80bb40cdcd003699299af8db.patch";
133133+ sha256 = "sha256-mGqcRWcEibDJdhTRrN7ZWrMuCfUWW8vWiFj7sb2/RYo=";
134134+ })
135135+ (fetchpatch {
136136+ url = "https://gitlab.com/qemu-project/qemu/-/commit/d3671fd972cd185a6923433aa4802f54d8b62112.patch";
137137+ sha256 = "sha256-GUh5o7mbFTm/dm6CqcGdoMlC+YrV8RlcEwu/mxrfTzo=";
138138+ })
139139+ ./allow-virtfs-on-darwin.patch
140140+ # QEMU upstream does not demand compatibility to pre-10.13, so 9p-darwin
141141+ # support on nix requires utimensat fallback. The patch adding this fallback
142142+ # set was removed during the process of upstreaming this functionality, and
143143+ # will still be needed in nix until the macOS SDK reaches 10.13+.
144144+ ./provide-fallback-for-utimensat.patch
145145+ # Still needed indefinitely
146146+ ./9p-ignore-noatime.patch
147147+ ]
148148+ ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch;
99149100150 postPatch = ''
101151 # Otherwise tries to ensure /var/run exists.