summary refs log tree commit diff
path: root/gnu/packages
diff options
context:
space:
mode:
authorJohn Kehayias <john.kehayias@protonmail.com>2021-10-08 15:07:57 -0400
committerLudovic Courtès <ludo@gnu.org>2021-10-25 21:01:21 +0200
commit9c4244cc73db4d5c3adf6f8342f6b08b39dd3628 (patch)
tree0d0a3ccd65aa9aca41640d46b291254a505a071f /gnu/packages
parentd407c107f363c36feecbf1d55735479add59d799 (diff)
downloadguix-9c4244cc73db4d5c3adf6f8342f6b08b39dd3628.tar.gz
gnu: flatpak: Add patch to fix paths.
* gnu/packages/package-management.scm (flatpak)[source]: Add patch.
* gnu/packages/patches/flatpak-fix-path.patch: New file.
* gnu/local.mk (dist_patch_DATA): Add it.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/package-management.scm3
-rw-r--r--gnu/packages/patches/flatpak-fix-path.patch29
2 files changed, 31 insertions, 1 deletions
diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm
index e8f8ee1ce7..7d04fd7d3e 100644
--- a/gnu/packages/package-management.scm
+++ b/gnu/packages/package-management.scm
@@ -1530,7 +1530,8 @@ the boot loader configuration.")
      (uri (string-append "https://github.com/flatpak/flatpak/releases/download/"
                          version "/flatpak-" version ".tar.xz"))
      (sha256
-      (base32 "0my82ijg1ipa4lwrvh88jlrxbabfqfz2ssfb8cn6k0pfgz53p293"))))
+      (base32 "0my82ijg1ipa4lwrvh88jlrxbabfqfz2ssfb8cn6k0pfgz53p293"))
+     (patches (search-patches "flatpak-fix-path.patch"))))
 
    ;; Wrap 'flatpak' so that GIO_EXTRA_MODULES is set, thereby allowing GIO to
    ;; find the TLS backend in glib-networking.
diff --git a/gnu/packages/patches/flatpak-fix-path.patch b/gnu/packages/patches/flatpak-fix-path.patch
new file mode 100644
index 0000000000..e87a08a7fe
--- /dev/null
+++ b/gnu/packages/patches/flatpak-fix-path.patch
@@ -0,0 +1,29 @@
+Flatpak writes files for installed applications with the full Flatpak (store) path. This patch makes it write just "flatpak", using Flatpak from PATH. This is similar to the NixOS [0] patch, updated for Flatpak 1.12.1
+
+[0] https://github.com/NixOS/nixpkgs/blob/bf4167861d0f864b0fc457778d54feb4a2675ea2/pkgs/development/libraries/flatpak/use-flatpak-from-path.patch
+
+diff --git a/common/flatpak-dir.c b/common/flatpak-dir.c
+index 80ff5e5f..0c111c31 100644
+--- a/common/flatpak-dir.c
++++ b/common/flatpak-dir.c
+@@ -7134,8 +7134,7 @@ export_desktop_file (const char         *app,
+         flatpak = FLATPAK_BINDIR "/flatpak";
+
+       g_string_append_printf (new_exec,
+-                              "%s run --branch=%s --arch=%s",
+-                              flatpak,
++                              "flatpak run --branch=%s --arch=%s",
+                               escaped_branch,
+                               escaped_arch);
+
+@@ -8467,8 +8466,8 @@ flatpak_dir_deploy (FlatpakDir          *self,
+       if ((flatpak = g_getenv ("FLATPAK_BINARY")) == NULL)
+         flatpak = FLATPAK_BINDIR "/flatpak";
+
+-      bin_data = g_strdup_printf ("#!/bin/sh\nexec %s run --branch=%s --arch=%s %s \"$@\"\n",
+-                                  flatpak, escaped_branch, escaped_arch, escaped_app);
++      bin_data = g_strdup_printf ("#!/bin/sh\nexec flatpak run --branch=%s --arch=%s %s \"$@\"\n",
++                                  escaped_branch, escaped_arch, escaped_app);
+       if (!g_file_replace_contents (wrapper, bin_data, strlen (bin_data), NULL, FALSE,
+                                     G_FILE_CREATE_REPLACE_DESTINATION, NULL, cancellable, error))
+         return FALSE;