diff options
author | Alyssa Ross <hi@alyssa.is> | 2023-10-20 22:09:03 +0000 |
---|---|---|
committer | Alyssa Ross <hi@alyssa.is> | 2023-10-20 22:09:03 +0000 |
commit | 50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e (patch) | |
tree | f2556b911180125ccbb7ed0e78a54e92da89adce /nixpkgs/pkgs/development/libraries/flatpak | |
parent | 4c16d4548a98563c9d9ad76f4e5b2202864ccd54 (diff) | |
parent | cfc75eec4603c06503ae750f88cf397e00796ea8 (diff) | |
download | nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.tar nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.tar.gz nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.tar.bz2 nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.tar.lz nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.tar.xz nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.tar.zst nixlib-50c21d167f7114fa1dbd95e5c4fb30eeb1a2d02e.zip |
Merge commit 'cfc75eec4603c06503ae750f88cf397e00796ea8'
Conflicts: nixpkgs/pkgs/build-support/rust/build-rust-package/default.nix
Diffstat (limited to 'nixpkgs/pkgs/development/libraries/flatpak')
3 files changed, 39 insertions, 10 deletions
diff --git a/nixpkgs/pkgs/development/libraries/flatpak/binary-path.patch b/nixpkgs/pkgs/development/libraries/flatpak/binary-path.patch new file mode 100644 index 000000000000..9da437df91b7 --- /dev/null +++ b/nixpkgs/pkgs/development/libraries/flatpak/binary-path.patch @@ -0,0 +1,29 @@ +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); diff --git a/nixpkgs/pkgs/development/libraries/flatpak/default.nix b/nixpkgs/pkgs/development/libraries/flatpak/default.nix index 69dca4c50446..0c44b99db8d9 100644 --- a/nixpkgs/pkgs/development/libraries/flatpak/default.nix +++ b/nixpkgs/pkgs/development/libraries/flatpak/default.nix @@ -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 @@ -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; diff --git a/nixpkgs/pkgs/development/libraries/flatpak/fix-test-paths.patch b/nixpkgs/pkgs/development/libraries/flatpak/fix-test-paths.patch index 683cdbcaf18c..da1475009009 100644 --- a/nixpkgs/pkgs/development/libraries/flatpak/fix-test-paths.patch +++ b/nixpkgs/pkgs/development/libraries/flatpak/fix-test-paths.patch @@ -180,14 +180,16 @@ index d9fc8251..d8ddb96e 100755 @@ -1,10 +1,10 @@ #!/bin/sh - if command -v gtk-update-icon-cache >/dev/null && test -d "$1/exports/share/icons/hicolor"; then +-if command -v gtk-update-icon-cache >/dev/null && test -d "$1/exports/share/icons/hicolor"; then - cp /usr/share/icons/hicolor/index.theme "$1/exports/share/icons/hicolor/" -+ cp @hicolorIconTheme@/share/icons/hicolor/index.theme "$1/exports/share/icons/hicolor/" ++if test -d "$1/exports/share/icons/hicolor"; then ++ @coreutils@/bin/cp -f @hicolorIconTheme@/share/icons/hicolor/index.theme "$1/exports/share/icons/hicolor/" for dir in "$1"/exports/share/icons/*; do if test -f "$dir/index.theme"; then - if ! gtk-update-icon-cache --quiet "$dir"; then +- echo "Failed to run gtk-update-icon-cache for $dir" + if ! @gtk3@/bin/gtk-update-icon-cache --quiet "$dir"; then - echo "Failed to run gtk-update-icon-cache for $dir" ++ @coreutils@/bin/echo "Failed to run gtk-update-icon-cache for $dir" exit 1 fi diff --git a/triggers/mime-database.trigger b/triggers/mime-database.trigger |