about summary refs log tree commit diff
path: root/pkgs/applications/networking/instant-messengers/teams
diff options
context:
space:
mode:
authorNaïm Favier <n@monade.li>2022-05-10 12:43:06 +0200
committerNaïm Favier <n@monade.li>2022-05-10 12:43:06 +0200
commitb4a61b636a21c7e4608ae9003ccb3865176f395c (patch)
treeeffd67020a6ca6b95b8a21a4a9d3420796caebef /pkgs/applications/networking/instant-messengers/teams
parent2a3aac479caeba0a65b2ad755fe5f284f1fde74d (diff)
teams: fix wrapper workaround
We can't rely on the wrapper being a shell script, so we make our own
wrapper to append the needed args.
Diffstat (limited to 'pkgs/applications/networking/instant-messengers/teams')
-rw-r--r--pkgs/applications/networking/instant-messengers/teams/default.nix13
1 files changed, 8 insertions, 5 deletions
diff --git a/pkgs/applications/networking/instant-messengers/teams/default.nix b/pkgs/applications/networking/instant-messengers/teams/default.nix
index 684fb8454d673..07462b4cc26f8 100644
--- a/pkgs/applications/networking/instant-messengers/teams/default.nix
+++ b/pkgs/applications/networking/instant-messengers/teams/default.nix
@@ -1,5 +1,6 @@
 { lib
 , stdenv
+, runtimeShell
 , fetchurl
 , autoPatchelfHook
 , wrapGAppsHook
@@ -57,8 +58,6 @@ let
 
     preFixup = ''
       gappsWrapperArgs+=(--prefix PATH : "${coreutils}/bin:${gawk}/bin")
-      gappsWrapperArgs+=(--add-flags --disable-namespace-sandbox)
-      gappsWrapperArgs+=(--add-flags --disable-setuid-sandbox)
     '';
 
 
@@ -121,9 +120,13 @@ let
       done;
 
       # fix for https://docs.microsoft.com/en-us/answers/questions/298724/open-teams-meeting-link-on-linux-doens39t-work.html?childToView=309406#comment-309406
-      # while we create the wrapper ourselves, gappsWrapperArgs leads to the same issue
-      # another option would be to introduce gappsWrapperAppendedArgs, to allow control of positioning
-      substituteInPlace "$out/bin/teams" --replace '.teams-wrapped"  --disable-namespace-sandbox --disable-setuid-sandbox "$@"' '.teams-wrapped" "$@" --disable-namespace-sandbox --disable-setuid-sandbox'
+      wrapped=$out/bin/.teams-old
+      mv "$out/bin/teams" "$wrapped"
+      cat > "$out/bin/teams" << EOF
+      #! ${runtimeShell}
+      exec $wrapped "\$@" --disable-namespace-sandbox --disable-setuid-sandbox
+      EOF
+      chmod +x "$out/bin/teams"
     '';
   };