New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
mirage: 0.5.2 -> 0.6.4 #99121
mirage: 0.5.2 -> 0.6.4 #99121
Conversation
The only problematic part is QML cache. Mirage stores its QML caches in |
Works after clearing the cache |
We could write a wrapper that writes "last-booted-version" to a file in cache near (in?) mirage's dir. If we see it's different on next boot, we wipe the mirage cache dir before starting? |
Or maybe we can patch the path to the cache to be |
There are some environment variable to disable or relocate the cache: https://doc.qt.io/qt-5/qmldiskcache.html |
Thanks ! diff --git a/pkgs/applications/networking/instant-messengers/mirage/default.nix b/pkgs/applications/networking/instant-messengers/mirage/default.nix
index de84f3a0405..c204ca720e3 100644
--- a/pkgs/applications/networking/instant-messengers/mirage/default.nix
+++ b/pkgs/applications/networking/instant-messengers/mirage/default.nix
@@ -45,6 +45,7 @@ mkDerivation rec {
buildPythonPath "$out $pythonPath"
wrapProgram $out/bin/mirage \
--prefix PYTHONPATH : "$PYTHONPATH" \
+ --run 'export QML_DISK_CACHE_PATH=''${XDG_CACHE_HOME:-$HOME/.cache}/mirage/qmlcache/${placeholder "out"}' \
"''${qtWrapperArgs[@]}"
''; |
Try also mirukana/mirage#90 (comment), if this causes no issues we can use the flag by default for future releases. |
Indeed with diff --git a/pkgs/applications/networking/instant-messengers/mirage/default.nix b/pkgs/applications/networking/instant-messengers/mirage/default.nix
index de84f3a0405..c57e57d5d75 100644
--- a/pkgs/applications/networking/instant-messengers/mirage/default.nix
+++ b/pkgs/applications/networking/instant-messengers/mirage/default.nix
@@ -38,7 +38,7 @@ mkDerivation rec {
pythonPath = pypkgs;
- qmakeFlags = [ "PREFIX=${placeholder "out"}" ];
+ qmakeFlags = [ "PREFIX=${placeholder "out"}" "CONFIG+=qtquickcompiler" ];
dontWrapQtApps = true;
postInstall = '' I can alternate between stable's mirage and this PR without segfault. |
@vojta001 Can you update your PR with the cache fixes? |
@SuperSandro2000 And what solution do we prefer? Is it disabling the cache completely (probably slower, but does not fill the home dir with mess), or adding the derivation hash to the cache name? |
My preference goes to #99121 (comment) |
Here you go. Please review @colemickens |
Result of 1 package built:
|
on darwin:
|
@SuperSandro2000 What do you suggest? Adding the |
Mirage has never built on darwin so let's remove darwin from meta.platforms. https://hydra.nixos.org/job/nixpkgs/trunk/mirage-im.x86_64-darwin/all |
Either mark it broken if upstream has darwin support. If upstream does not mention support for darwin remove it from platforms. |
@SuperSandro2000 Done. Their support of Darwin isn't the best, but they claim it to be doable and there are unofficial guides for building on Darwin |
Result of 1 package built:
|
Result of 1 package marked as broken and skipped:
|
pkgs/applications/networking/instant-messengers/mirage/default.nix
Outdated
Show resolved
Hide resolved
pkgs/applications/networking/instant-messengers/mirage/default.nix
Outdated
Show resolved
Hide resolved
can you solve the merge conflict ? |
Shall I merge master into my feature branch or shall I rebase onto master? |
please rebase. You may find it easier if you squash your commits before rebasing. |
Done |
Could you please test the resulting binary? I have problems with it now and I don't know whether they are related to the state of my |
works for me. How does it fail on your end? |
The windows launches (therefore QML cache works just fine) and displays
|
Wild guess: did you run a version of mirage using a later version of python which has introduced a new version of the pickle format? |
It is possible. I have compiled and run multiple variants during the development of this PR. Interestingly the current v0.5.2 works fine for me. If the problem is on my machine only, let's just proceed and I'll simply wipe my |
@GrahamcOfBorg build mirage-im |
Motivation for this change
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)