-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
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
qt6.qtdeclarative: re-enable qml caching #339706
base: staging-next
Are you sure you want to change the base?
Conversation
pkgs/development/libraries/qt-6/patches/qtdeclarative-use-nix-qml-compile-tag.patch
Outdated
Show resolved
Hide resolved
pkgs/development/libraries/qt-6/patches/qtdeclarative-include-store-paths-in-qmlc-paths.patch
Outdated
Show resolved
Hide resolved
Link back to ongoing matrix discussions https://matrix.to/#/!rGlCMuXgAhgEpdvJUz:nixos.org/$82acJFFrxAi8AguZYi2ZS74po0YMyI_w7SoyVenuxzU?via=nixos.org&via=matrix.org&via=kde.org |
@K900 Made the changes we discussed. The hashes are now included in the library hash field for nix store paths. I've opted to just refuse to cache bare qml files on nix store paths for now, but embedded qml files and non store files will be cached. |
*Fixed error messages on mismatch |
...ent/libraries/qt-6/patches/qtdeclarative-invalidate-caches-from-mismatched-store-paths.patch
Outdated
Show resolved
Hide resolved
...ent/libraries/qt-6/patches/qtdeclarative-invalidate-caches-from-mismatched-store-paths.patch
Outdated
Show resolved
Hide resolved
...ent/libraries/qt-6/patches/qtdeclarative-invalidate-caches-from-mismatched-store-paths.patch
Outdated
Show resolved
Hide resolved
*fixed conflicts with changes on master Note: patch has been tested for: mismatched qtdeclarative, mismatched applications, qml on bare store paths. |
Should I add myself to qtdeclarative's maintainers for this patch as well? |
If you're willing to, sure. |
added, otherwise unchained |
The PR's base branch is set to staging, but 372 commits from the master branch are included. Make sure you know the right base branch for your changes, then:
|
@K900 we want to merge this? |
Next cycle. |
Note that I haven't tested the patch against 6.8.1 yet, though no changes were required. I was thinking I would wait for staging-next to have more dependencies done before testing it, but just remembered I have an environment for 6.8.1 on top of unstable already. I can retest the patch itself there tomorrow, though I can't test the nix expression. |
Description of changes
Re-enables qml caching.
The QML tag ensures only the same version of qtdeclarative that generated a cache can load it, and the qmlc file names are now hashed with their store path to ensure they are unique. AOT compiled / bytecode caches have no versioning issues to worry about and are also re-enabled.
Potential issues:
I've tested this with a couple kde programs and made roughly sure it works. Further testing will be done for a final revision.
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.