Loading pkgs/development/libraries/flatpak/binary-path.patch 0 → 100644 +29 −0 Original line number Diff line number Diff line diff --git a/common/flatpak-dir.c b/common/flatpak-dir.c index eba81fef..134024e2 100644 --- a/common/flatpak-dir.c +++ b/common/flatpak-dir.c @@ -7532,8 +7532,13 @@ export_desktop_file (const char *app, g_key_file_remove_key (keyfile, groups[i], "X-GNOME-Bugzilla-ExtraInfoScript", NULL); new_exec = g_string_new (""); - if ((flatpak = g_getenv ("FLATPAK_BINARY")) == NULL) - flatpak = FLATPAK_BINDIR "/flatpak"; + if (g_str_has_suffix (name, ".service")) + { + flatpak = "/run/current-system/sw/bin/flatpak"; + } else { + if ((flatpak = g_getenv ("FLATPAK_BINARY")) == NULL) + flatpak = "flatpak"; + } g_string_append_printf (new_exec, "%s run --branch=%s --arch=%s", @@ -8867,7 +8872,7 @@ flatpak_dir_deploy (FlatpakDir *self, error)) return FALSE; if ((flatpak = g_getenv ("FLATPAK_BINARY")) == NULL) - flatpak = FLATPAK_BINDIR "/flatpak"; + flatpak = "flatpak"; bin_data = g_strdup_printf ("#!/bin/sh\nexec %s run --branch=%s --arch=%s %s \"$@\"\n", flatpak, escaped_branch, escaped_arch, escaped_app); pkgs/development/libraries/flatpak/default.nix +5 −7 Original line number Diff line number Diff line Loading @@ -89,6 +89,11 @@ stdenv.mkDerivation (finalAttrs: { # https://github.com/NixOS/nixpkgs/issues/53441 ./unset-env-vars.patch # Use flatpak from PATH to avoid references to `/nix/store` in `/desktop` files. # Applications containing `DBusActivatable` entries should be able to find the flatpak binary. # https://github.com/NixOS/nixpkgs/issues/138956 ./binary-path.patch # The icon validator needs to access the gdk-pixbuf loaders in the Nix store # and cannot bind FHS paths since those are not available on NixOS. finalAttrs.passthru.icon-validator-patch Loading Loading @@ -176,13 +181,6 @@ stdenv.mkDerivation (finalAttrs: { PATH=${lib.makeBinPath [vsc-py]}:$PATH patchShebangs --build subprojects/variant-schema-compiler/variant-schema-compiler ''; preFixup = '' gappsWrapperArgs+=( # Use flatpak from PATH in exported assets (e.g. desktop files). --set FLATPAK_BINARY flatpak ) ''; passthru = { icon-validator-patch = substituteAll { src = ./fix-icon-validation.patch; Loading Loading
pkgs/development/libraries/flatpak/binary-path.patch 0 → 100644 +29 −0 Original line number Diff line number Diff line diff --git a/common/flatpak-dir.c b/common/flatpak-dir.c index eba81fef..134024e2 100644 --- a/common/flatpak-dir.c +++ b/common/flatpak-dir.c @@ -7532,8 +7532,13 @@ export_desktop_file (const char *app, g_key_file_remove_key (keyfile, groups[i], "X-GNOME-Bugzilla-ExtraInfoScript", NULL); new_exec = g_string_new (""); - if ((flatpak = g_getenv ("FLATPAK_BINARY")) == NULL) - flatpak = FLATPAK_BINDIR "/flatpak"; + if (g_str_has_suffix (name, ".service")) + { + flatpak = "/run/current-system/sw/bin/flatpak"; + } else { + if ((flatpak = g_getenv ("FLATPAK_BINARY")) == NULL) + flatpak = "flatpak"; + } g_string_append_printf (new_exec, "%s run --branch=%s --arch=%s", @@ -8867,7 +8872,7 @@ flatpak_dir_deploy (FlatpakDir *self, error)) return FALSE; if ((flatpak = g_getenv ("FLATPAK_BINARY")) == NULL) - flatpak = FLATPAK_BINDIR "/flatpak"; + flatpak = "flatpak"; bin_data = g_strdup_printf ("#!/bin/sh\nexec %s run --branch=%s --arch=%s %s \"$@\"\n", flatpak, escaped_branch, escaped_arch, escaped_app);
pkgs/development/libraries/flatpak/default.nix +5 −7 Original line number Diff line number Diff line Loading @@ -89,6 +89,11 @@ stdenv.mkDerivation (finalAttrs: { # https://github.com/NixOS/nixpkgs/issues/53441 ./unset-env-vars.patch # Use flatpak from PATH to avoid references to `/nix/store` in `/desktop` files. # Applications containing `DBusActivatable` entries should be able to find the flatpak binary. # https://github.com/NixOS/nixpkgs/issues/138956 ./binary-path.patch # The icon validator needs to access the gdk-pixbuf loaders in the Nix store # and cannot bind FHS paths since those are not available on NixOS. finalAttrs.passthru.icon-validator-patch Loading Loading @@ -176,13 +181,6 @@ stdenv.mkDerivation (finalAttrs: { PATH=${lib.makeBinPath [vsc-py]}:$PATH patchShebangs --build subprojects/variant-schema-compiler/variant-schema-compiler ''; preFixup = '' gappsWrapperArgs+=( # Use flatpak from PATH in exported assets (e.g. desktop files). --set FLATPAK_BINARY flatpak ) ''; passthru = { icon-validator-patch = substituteAll { src = ./fix-icon-validation.patch; Loading