-
Notifications
You must be signed in to change notification settings - Fork 80
use Librsvg_jll pixbuf loader (fixes #604) #605
Conversation
errors on Julia 1.3 due to some new |
Yes, I'll fix that. I'll investigate the issue with Windows. |
Consider simply dropping support for Julia v1.5-, now that v1.6 is the LTS? |
I am fine with that |
I can't figure out why Windows is failing, but it's occuring in |
Codecov Report
@@ Coverage Diff @@
## master #605 +/- ##
==========================================
+ Coverage 56.80% 57.62% +0.82%
==========================================
Files 32 32
Lines 2669 2714 +45
==========================================
+ Hits 1516 1564 +48
+ Misses 1153 1150 -3
Continue to review full report at Codecov.
|
Not sure what to make of these CI failures. The previous error on Windows went away by switching to withenv(), but GtkSpinner still doesn't work on Windows (it does on Linux and Mac). Now I'm seeing some permission errors ( |
@jwahlstrand Sure, checked it out. Note - MutableArtifacts.toml has to be deleted to get the initializing code to rerun. EDIT: Nevermind that deleted bit, learning about backtick Cmd objects now. The files are successfully copied, but the problem appears to exist when |
Okay, here's something. Other artifact directories are created with Full Control access permissions to the current user, and no permissions to Everyone. Meanwhile, the special shared artifact directory created here has limited permissions for the current user (which is probably the most important part) and also adds Everyone. EDIT to add: And the culprit appears to be this line in Pkg.jl,
|
What I posted over in the Julia issue may be the problem. The original files have "Read & execute" permissions in the original folder, but that permission gets removed by |
@jwahlstrand - sorry I think I wasn't clear. I didn't mean to sleep the thread, I meant that if you manually set the permissions before it continues, it will then work. |
Oops, OK I'll remove that. |
It now works on my Windows computer (both 1.6 and 1.7). But in CI there are still failures for Windows: for Julia 1 (1.7) and nightly it's unable to find |
Ahh, I didn't notice at first that the issue is only on Windows x86. Now it's clear why -- Librsvg_jll is not built for that arch. |
Because Rust toolchain for i686-w64-mingw32 is broken when using SJLJ unwinding (which is what we do): rust-lang/rust#79609. Judging by the comments of the developers, it's unlikely they'll fix it |
Use is_available() to check for Librsvg_jll Co-authored-by: Mosè Giordano <giordano@users.noreply.github.com>
ready? CI is passing. |
If this last commit passes, it's ready. |
I'll keep working on this. In the meantime I wouldn't let this delay a release. |
OK, the failure earlier must have been a fluke...I think this is good to go now. |
This uses Librsvg's pixbuf loader so that we can load SVG icons and render SVG through GdkPixbuf. It copies the loaders from gdk_pixbuf_jll and Librsbg_jll into a directory and runs gdk_pixbuf_query_loaders() on it. Thanks to @giordano for help with that last part.
Questions for the more highly educated than me: would it be better to create symbolic links rather than copy? What happens if Librsvg_jll or gdk_pixbuf_jll are updated? Is the MutableArtifacts.toml cache automatically regenerated after an update or should we handle that somehow?
Probably also fixes #525.