(address . bug-guix@gnu.org)
Ahoy Guix!
"xdg-mime query filetype a-book.epub" or "whatever.pdf" returns nothing,
which is both puzzling and limiting as it blocks "xdg-open" to work for
many files.
My case was opening pdf or epub files from Emacs, which "xdg-open"
always sends to the browser, whatever my config (instead of e.g. evince
or Foliate).
So debugging shows that:
in ".xdg-mime-real",
(/gnu/store/06ll0ydqsf4bjxwpwsi68dmn2cg0biy6-xdg-utils-1.1.3/bin/xdg-mime
points there),
l.673-684 in "info_gnome()",
even if the "if ... elif ... elif ... fi" fails
(i.e. none of "gio", "gvfs-info", or "gnomevfs-info" are available),
then l.696 "if [ $? -eq 0 ]" gives always true.
Why? I don't know. I guess having a "case ..." instead of "if ... fi"
would solve this.
But the result is "exit_success" gets called whatever the situation, and
xdg-mime often gives no output, which then bugs "xdg-open".
Running this in "guix shell gnome-vfs" solves it, but what should be
done to fix? And how did this not appear earlier? (is xdg* new?)
The options I see are adding the "gnome-vfs" dependency ("gvfs" doesn't
provide "gvfs-info", and "gio" is not a package), or proposing "case"
instead of "if" upstream.
--
Sébastien Lerique