diff mbox series

[bug#60609] gnu: git-annex: Patch 'git-annex webapp' to use hardcoded xdg-open.

Message ID CAJ=RwfZvCeSMA=Hcab6Gzq_LfBWvtv7dXDwFrJwHSP7kAtfkCQ@mail.gmail.com
State New
Headers show
Series [bug#60609] gnu: git-annex: Patch 'git-annex webapp' to use hardcoded xdg-open. | expand

Commit Message

Thompson, David Jan. 6, 2023, 9:30 p.m. UTC
Hi all,

I was using git-annex for the very first time today and when I tried
to run 'git-annex webapp' I got this error:

    Launching web browser on file:///tmp/webapp3975-0.html
    git-annex: xdg-open: createProcess: posix_spawnp: does not exist
(No such file or directory)
    WebApp crashed: xdg-open: createProcess: posix_spawnp: does not
exist (No such file or directory)

I think this should just work so I wrote a patch to replace a couple
of loose references to xdg-open with a hardcoded store path.

How does it look?

Thanks,

- Dave

Comments

Mathieu Othacehe Jan. 8, 2023, 1:38 p.m. UTC | #1
Hello David,

> I think this should just work so I wrote a patch to replace a couple
> of loose references to xdg-open with a hardcoded store path.
>
> How does it look?

Looks fine, please go ahead!

Mathieu
Thompson, David Jan. 8, 2023, 6:32 p.m. UTC | #2
On Sun, Jan 8, 2023 at 8:38 AM Mathieu Othacehe <othacehe@gnu.org> wrote:
>
>
> Hello David,
>
> > I think this should just work so I wrote a patch to replace a couple
> > of loose references to xdg-open with a hardcoded store path.
> >
> > How does it look?
>
> Looks fine, please go ahead!

Pushed, thanks!

- Dave
Simon Tournier Jan. 12, 2023, 2:39 p.m. UTC | #3
Hi,

On ven., 06 janv. 2023 at 16:30, "Thompson, David" <dthompson2@worcester.edu> wrote:

> * gnu/packages/haskell-apps.scm (git-annex)[arguments]: Add 'patch-webapp'
> phase.
> [inputs]: Add xdg-utils.

This adds 130MB to the closure.  Well, it is only 5.5% of the complete
closure but that’s not nothing either. :-)

Maybe it could be worth to split this large package; either
git-annex-minimal and git-annex, or two outputs.  Because, we build it
using this:

     `(#:configure-flags
       '("--flags=-Android -Webapp")

when I do not use the Webapp, for instance. :-)

Cheers,
simon
Thompson, David Jan. 12, 2023, 5:52 p.m. UTC | #4
Hi Simon,

On Thu, Jan 12, 2023 at 12:46 PM Simon Tournier
<zimon.toutoune@gmail.com> wrote:
>
> Hi,
>
> On ven., 06 janv. 2023 at 16:30, "Thompson, David" <dthompson2@worcester.edu> wrote:
>
> > * gnu/packages/haskell-apps.scm (git-annex)[arguments]: Add 'patch-webapp'
> > phase.
> > [inputs]: Add xdg-utils.
>
> This adds 130MB to the closure.  Well, it is only 5.5% of the complete
> closure but that’s not nothing either. :-)
>
> Maybe it could be worth to split this large package; either
> git-annex-minimal and git-annex, or two outputs.  Because, we build it
> using this:
>
>      `(#:configure-flags
>        '("--flags=-Android -Webapp")
>
> when I do not use the Webapp, for instance. :-)

I figured that since git-annex is already so huge and it's not a core
thing that it wouldn't be a big deal to add some size in order to make
more features work properly without having to troubleshoot.  I'd be in
favor of a minimal variant for those that don't want the full
git-annex feature set.

- Dave
diff mbox series

Patch

From 6013aa4bf4336e06ca35ee070d090c88e34e898d Mon Sep 17 00:00:00 2001
From: David Thompson <dthompson2@worcester.edu>
Date: Fri, 6 Jan 2023 16:06:47 -0500
Subject: [PATCH] gnu: git-annex: Patch 'git-annex webapp' to use hardcoded
 xdg-open.

* gnu/packages/haskell-apps.scm (git-annex)[arguments]: Add 'patch-webapp'
phase.
[inputs]: Add xdg-utils.
---
 gnu/packages/haskell-apps.scm | 12 +++++++++++-
 1 file changed, 11 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/haskell-apps.scm b/gnu/packages/haskell-apps.scm
index a2405796ca..4ac486eeb6 100644
--- a/gnu/packages/haskell-apps.scm
+++ b/gnu/packages/haskell-apps.scm
@@ -18,6 +18,7 @@ 
 ;;; Copyright © 2021 EuAndreh <eu@euandre.org>
 ;;; Copyright © 2021 Stefan Reichör <stefan@xsteve.at>
 ;;; Copyright © 2021 Morgan Smith <Morgan.J.Smith@outlook.com>
+;;; Copyright © 2022 David Thompson <dthompson2@worcester.edu>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -42,6 +43,7 @@  (define-module (gnu packages haskell-apps)
   #:use-module (guix build-system haskell)
   #:use-module (gnu packages)
   #:use-module (gnu packages curl)
+  #:use-module (gnu packages freedesktop)
   #:use-module (gnu packages gl)
   #:use-module (gnu packages haskell)
   #:use-module (gnu packages haskell-check)
@@ -327,6 +329,13 @@  (define-public git-annex
              (copy-file "Utility/Shell.hs" "/tmp/Shell.hs")
              (substitute* "Utility/Shell.hs"
                (("/bin/sh") (which "sh")))))
+         (add-before 'configure 'patch-webapp
+           (lambda _
+             ;; Replace loose references to xdg-open so that 'git annex
+             ;; webapp' runs without making the user also install xdg-utils.
+             (substitute* '("Assistant/WebApp/DashBoard.hs"
+                            "Utility/WebApp.hs")
+               (("xdg-open") (which "xdg-open")))))
          (add-before 'configure 'factor-setup
            (lambda _
              ;; Factor out necessary build logic from the provided
@@ -471,7 +480,8 @@  (define-public git-annex
            ghc-yesod-core
            ghc-yesod-form
            ghc-yesod-static
-           rsync))
+           rsync
+           xdg-utils))
     (propagated-inputs
      (list git))
     (native-inputs
-- 
2.38.1