From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maxim Cournoyer Subject: bug#26558: Opening URLs with xdg-open fails (eg. Gajim, Pumpa) Date: Thu, 20 Apr 2017 14:07:29 +0900 Message-ID: <87fuh3hdke.fsf@gmail.com> References: <871sspdywc.fsf@sturm.com.au> <87vaq0l4fd.fsf@gmail.com> <5c8ca67b.AEMAJYZoETwAAAAAAAAAAAO2XMEAAAACwQwAAAAAAAW9WABY97Uk@mailjet.com> <874lxkurr3.fsf@fastmail.com> Mime-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha256; protocol="application/pgp-signature" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54657) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d14K5-000617-VS for bug-guix@gnu.org; Thu, 20 Apr 2017 01:08:07 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d14K2-0001V7-8x for bug-guix@gnu.org; Thu, 20 Apr 2017 01:08:05 -0400 Received: from debbugs.gnu.org ([208.118.235.43]:59611) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1d14K2-0001V1-4c for bug-guix@gnu.org; Thu, 20 Apr 2017 01:08:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1d14K1-0003H6-VM for bug-guix@gnu.org; Thu, 20 Apr 2017 01:08:01 -0400 Sender: "Debbugs-submit" Resent-Message-ID: In-Reply-To: <874lxkurr3.fsf@fastmail.com> (Marius Bakke's message of "Wed, 19 Apr 2017 21:22:40 +0200") List-Id: Bug reports for GNU Guix List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-guix-bounces+gcggb-bug-guix=m.gmane.org@gnu.org Sender: "bug-Guix" To: Marius Bakke Cc: 26558@debbugs.gnu.org --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Hello Marius, Marius Bakke writes: > Arun Isaac writes: > >> Thank you for the bug reports! >> >> The Guix xdg-utils package is in need of an update. The latest release >> is 1.1.1. Unlike the 1.0.2 release currently in Guix, the new release >> has test cases, many of which currently fail in Guix. While trying to >> get the tests to pass, I noticed that /usr/bin/file is hardcoded into >> xdg-mime. That, I think, is at least part of the problem. I am working >> on this, and will hopefully be done this weekend. We will revisit these >> bugs after that. > > Heh, I've had a WIP update for 1.1.1 for some time and decided to finish > it based on this discussion. This tries "gvfs-open" before "gnome-open". > > @Ben (and others), can you try this patch and see if that works for you? > > From 6ed7008561eea7b09085a17d6c443ee657a7fc2d Mon Sep 17 00:00:00 2001 > From: Marius Bakke > Date: Sat, 8 Apr 2017 03:46:15 +0200 > Subject: [PATCH] gnu: xdg-utils: Update to 1.1.1. > > * gnu/packages/freedesktop.scm (xdg-utils): Update to 1.1.1. > [source]: Adjust file name. > [native-inputs]: Add DOCBOOK-XSL, DOCBOOK-XML-4.1.2, LIBXSLT, W3M and XML= TO. > [arguments]<#:phases>: Add 'patch-hardcoded-paths' and 'locate-catalog-fi= les' > phases. New parameter. > [home-page]: Update to new home. > --- > gnu/packages/freedesktop.scm | 50 ++++++++++++++++++++++++++++++++++++++= +----- > 1 file changed, 45 insertions(+), 5 deletions(-) > > diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm > index b912ce026..85a6c8b26 100644 > --- a/gnu/packages/freedesktop.scm > +++ b/gnu/packages/freedesktop.scm > @@ -8,6 +8,7 @@ > ;;; Copyright =C2=A9 2016, 2017 Efraim Flashner > ;;; Copyright =C2=A9 2016 Kei Kebreau > ;;; Copyright =C2=A9 2017 Mark H Weaver > +;;; Copyright =C2=A9 2017 Marius Bakke > ;;; > ;;; This file is part of GNU Guix. > ;;; > @@ -55,6 +56,7 @@ > #:use-module (gnu packages polkit) > #:use-module (gnu packages pkg-config) > #:use-module (gnu packages python) > + #:use-module (gnu packages w3m) > #:use-module (gnu packages xml) > #:use-module (gnu packages xdisorg) > #:use-module (gnu packages xorg)) > @@ -62,23 +64,61 @@ > (define-public xdg-utils > (package > (name "xdg-utils") > - (version "1.0.2") > + (version "1.1.1") > (source > (origin > (method url-fetch) > (uri (string-append > "https://portland.freedesktop.org/download/xdg-utils-" > - version ".tgz")) > + version ".tar.gz")) > (sha256 > (base32 > - "1b019d3r1379b60p33d6z44kx589xjgga62ijz9vha95dg8vgbi1")))) > + "09a1pk3ifsndc5qz2kcd1557i137gpgnv3d739pv22vfayi67pdh")))) > (build-system gnu-build-system) > + (native-inputs > + `(("docbook-xsl" ,docbook-xsl) > + ("docbook-xml" ,docbook-xml-4.1.2) > + ("libxslt" ,libxslt) > + ("w3m" ,w3m) > + ("xmlto" ,xmlto))) > (propagated-inputs > `(("xprop" ,xprop) ; for Xfce detecting > ("xset" ,xset))) ; for xdg-screensaver > (arguments > - `(#:tests? #f)) ; no check target > - (home-page "http://portland.freedesktop.org/") > + `(#:tests? #f ; no check target > + #:phases > + (modify-phases %standard-phases > + (add-after 'unpack 'patch-hardcoded-paths > + (lambda _ > + (substitute* "scripts/xdg-mime.in" > + (("/usr/bin/file") (which "file"))) > + (substitute* "scripts/xdg-open.in" > + (("/usr/bin/printf") (which "printf"))) > + #t)) > + (add-before 'build 'locate-catalog-files > + (lambda* (#:key inputs #:allow-other-keys) > + (let ((xmldoc (string-append (assoc-ref inputs "docbook-xml= ") > + "/xml/dtd/docbook")) > + (xsldoc (string-append (assoc-ref inputs "docbook-xsl= ") > + "/xml/xsl/docbook-xsl-" > + ,(package-version docbook-xsl)= ))) > + (for-each (lambda (file) > + (substitute* file > + (("http://.*/docbookx\\.dtd") > + (string-append xmldoc "/docbookx.dtd")))) > + (find-files "scripts/desc" "\\.xml$")) > + (substitute* "scripts/Makefile" > + ;; Apparently `xmlto' does not bother to looks up the s= tylesheets > + ;; specified in the XML, unlike the above substitition.= Instead it > + ;; uses a hard-coded URL. Work around it here, but if t= his is > + ;; common perhaps we should hardcode this path in xmlto= itself. > + (("\\$\\(XMLTO\\) man") > + (string-append "$(XMLTO) -x " xsldoc > + "/manpages/docbook.xsl man"))) Have you tried setting the XML_CATALOG_FILES variable? You might be able to get rid of the substitutions by using it. You can simply add libxml2 as an input, which will define such variable for you (thanks to Ludovic for pointing this out previously!). > + (setenv "STYLESHEET" > + (string-append xsldoc "/html/docbook.xsl")) > + #t)))))) > + (home-page "https://www.freedesktop.org/wiki/Software/xdg-utils/") > (synopsis "Freedesktop.org scripts for desktop integration") > (description "The xdg-utils package is a set of simple scripts that > provide basic desktop integration functions in the framework of the Maxim --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAEBCAAdFiEEJ9WGpPiQCFQyn/CfEmDkZILmNWIFAlj4QhEACgkQEmDkZILm NWK0hQ/+OJGZfkbcdzvkPBrpw5AMSglk8tDwfBQPq18RLhJp/STAqq8slqso3N3P s0ufxzBGIyIOW3BYa67MaPLe1BZ1JSNeHVXGJl+S2SrIWsQIbXwarVixxxTVf9Rl FcOI9N2llM3kN+MFksnb3Y9ctSw0DDHczeaof4uxCKJFo5Ay4VB9yHotzZjsxgzd v05FEW/sDTh54X4qcJO65GoEoh//wH6MUy76YgccMAxTP8pFcXah00C6BoDFR63f 6Iag0Yyab5/eynf4q7QfVOaLTZ6EdFqjnP0vvy2PXyED4n5zlINQ1Nbse6MaQ3aH he4Sll0N+rmxDaaCPH3tqLMyjiKpaTqV9778pLNuMqMDkd98ZIqYrFPYSknpLdNN RZsIHWk4QOq0ugd+vLhPecJLwiPFQCUZPoynFS1M3LR9slySjT3qS12v7yhOwWCg L/MQo6XXxlHn2122NPk0+JFfROf2dKQ2vfoO1g35Zih2AR1tw81NBdQNI5TB43cZ gQdchuj/Teq0fR3t8yL9L2dWF27+RLgSGPQfuVY9LRtolOcLNBfAx8LL7Vzj1O3t 3wXJfWfvBbVb+1D0eiiKVuRlzaNZMAd5RWXQnkTLwGd1wmBZAZfKLipwlF10Lzi0 RPZSkONBQYyJkljCTt+v/ZeUO+KEwG4qH9Xo8fsqOTmR7IhVqYI= =2cgM -----END PGP SIGNATURE----- --=-=-=--