1
0
Fork 1
mirror of https://github.com/NixOS/nixpkgs.git synced 2024-11-22 13:41:26 +00:00

flatpak: Don't hardcode flatpak binary path in launchers

The hardcoded flatpak path breaks all installed applications when flatpak is
updated.

fixes: https://github.com/NixOS/nixpkgs/issues/43581
This commit is contained in:
Tor Hedin Brønner 2018-07-19 10:52:59 +02:00
parent 3af85571bf
commit e5e91efa4c
2 changed files with 49 additions and 0 deletions

View file

@ -24,6 +24,7 @@ in stdenv.mkDerivation rec {
})
# patch taken from gtk_doc
./respect-xml-catalog-files-var.patch
./use-flatpak-from-path.patch
];
nativeBuildInputs = [

View file

@ -0,0 +1,48 @@
--- a/common/flatpak-dir.c
+++ b/common/flatpak-dir.c
@@ -5467,7 +5467,7 @@ export_desktop_file (const char *app,
new_exec = g_string_new ("");
g_string_append_printf (new_exec,
- FLATPAK_BINDIR "/flatpak run --branch=%s --arch=%s",
+ "flatpak run --branch=%s --arch=%s",
escaped_branch,
escaped_arch);
@@ -6644,8 +6644,8 @@ flatpak_dir_deploy (FlatpakDir *self,
error))
return FALSE;
- bin_data = g_strdup_printf ("#!/bin/sh\nexec %s/flatpak run --branch=%s --arch=%s %s \"$@\"\n",
- FLATPAK_BINDIR, 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;
diff --git a/tests/test-bundle.sh b/tests/test-bundle.sh
index 6937b041..01f8add7 100755
--- a/tests/test-bundle.sh
+++ b/tests/test-bundle.sh
@@ -59,7 +59,7 @@ assert_has_dir $FL_DIR/app/org.test.Hello/$ARCH/master/active/files
assert_has_dir $FL_DIR/app/org.test.Hello/$ARCH/master/active/export
assert_has_file $FL_DIR/exports/share/applications/org.test.Hello.desktop
# Ensure Exec key is rewritten
-assert_file_has_content $FL_DIR/exports/share/applications/org.test.Hello.desktop "^Exec=.*/flatpak run --branch=master --arch=$ARCH --command=hello.sh org.test.Hello$"
+assert_file_has_content $FL_DIR/exports/share/applications/org.test.Hello.desktop "^Exec=flatpak run --branch=master --arch=$ARCH --command=hello.sh org.test.Hello$"
assert_has_file $FL_DIR/exports/share/icons/hicolor/64x64/apps/org.test.Hello.png
assert_has_file $FL_DIR/exports/share/icons/HighContrast/64x64/apps/org.test.Hello.png
diff --git a/tests/test-run.sh b/tests/test-run.sh
index 9d83d82e..234e4ec6 100755
--- a/tests/test-run.sh
+++ b/tests/test-run.sh
@@ -42,7 +42,7 @@ assert_has_dir $FL_DIR/app/org.test.Hello/$ARCH/master/active/files
assert_has_dir $FL_DIR/app/org.test.Hello/$ARCH/master/active/export
assert_has_file $FL_DIR/exports/share/applications/org.test.Hello.desktop
# Ensure Exec key is rewritten
-assert_file_has_content $FL_DIR/exports/share/applications/org.test.Hello.desktop "^Exec=.*/flatpak run --branch=master --arch=$ARCH --command=hello.sh org.test.Hello$"
+assert_file_has_content $FL_DIR/exports/share/applications/org.test.Hello.desktop "^Exec=flatpak run --branch=master --arch=$ARCH --command=hello.sh org.test.Hello$"
assert_has_file $FL_DIR/exports/share/icons/hicolor/64x64/apps/org.test.Hello.png
assert_not_has_file $FL_DIR/exports/share/icons/hicolor/64x64/apps/dont-export.png
assert_has_file $FL_DIR/exports/share/icons/HighContrast/64x64/apps/org.test.Hello.png