summary refs log tree commit diff
path: root/pkgs/applications/networking/browsers/firefox/wrapper.nix
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2018-08-21 15:36:02 +0200
committerVladimír Čunát <vcunat@gmail.com>2018-08-21 15:36:02 +0200
commit765d695b89fac76f84b1ff9a1a7737753b2d8530 (patch)
treec130c7dc4d7d05e0bcea14be12b7a9dcef2cc642 /pkgs/applications/networking/browsers/firefox/wrapper.nix
parent690a8017de9f9e9bed8609c1798d6d4309d9794a (diff)
parentcad8fc3447372043c4a098a3104a03f4990058e4 (diff)
downloadnixlib-765d695b89fac76f84b1ff9a1a7737753b2d8530.tar
nixlib-765d695b89fac76f84b1ff9a1a7737753b2d8530.tar.gz
nixlib-765d695b89fac76f84b1ff9a1a7737753b2d8530.tar.bz2
nixlib-765d695b89fac76f84b1ff9a1a7737753b2d8530.tar.lz
nixlib-765d695b89fac76f84b1ff9a1a7737753b2d8530.tar.xz
nixlib-765d695b89fac76f84b1ff9a1a7737753b2d8530.tar.zst
nixlib-765d695b89fac76f84b1ff9a1a7737753b2d8530.zip
Merge branch 'staging-next'
Security fixes for a few packages are included.
Diffstat (limited to 'pkgs/applications/networking/browsers/firefox/wrapper.nix')
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix24
1 files changed, 14 insertions, 10 deletions
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index 38d596480328..b64a6cf7ad98 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -101,24 +101,28 @@ let
         ];
       };
 
-      buildInputs = [makeWrapper]
-        ++ lib.optional (browser ? gtk3) browser.gtk3;
-
-      buildCommand = ''
-        if [ ! -x "${browser}/bin/${browserName}" ]
+      nativeBuildInputs = [ makeWrapper lndir ];
+      buildInputs = lib.optional (browser ? gtk3) browser.gtk3;
+
+      buildCommand = lib.optionalString stdenv.isDarwin ''
+        mkdir -p $out/Applications
+        cp -R --no-preserve=mode,ownership ${browser}/Applications/${browserName}.app $out/Applications
+        rm -f $out${browser.execdir or "/bin"}/${browserName}
+      '' + ''
+        if [ ! -x "${browser}${browser.execdir or "/bin"}/${browserName}" ]
         then
-            echo "cannot find executable file \`${browser}/bin/${browserName}'"
+            echo "cannot find executable file \`${browser}${browser.execdir or "/bin"}/${browserName}'"
             exit 1
         fi
 
-        makeWrapper "$(readlink -v --canonicalize-existing "${browser}/bin/${browserName}")" \
-            "$out/bin/${browserName}${nameSuffix}" \
+        makeWrapper "$(readlink -v --canonicalize-existing "${browser}${browser.execdir or "/bin"}/${browserName}")" \
+          "$out${browser.execdir or "/bin"}/${browserName}${nameSuffix}" \
             --suffix-each MOZ_PLUGIN_PATH ':' "$plugins" \
             --suffix LD_LIBRARY_PATH ':' "$libs" \
             --suffix-each GTK_PATH ':' "$gtk_modules" \
             --suffix-each LD_PRELOAD ':' "$(cat $(filterExisting $(addSuffix /extra-ld-preload $plugins)))" \
             --prefix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))" \
-            --suffix PATH ':' "$out/bin" \
+            --suffix PATH ':' "$out${browser.execdir or "/bin"}" \
             --set MOZ_APP_LAUNCHER "${browserName}${nameSuffix}" \
             --set MOZ_SYSTEM_DIR "$out/lib/mozilla" \
             ${lib.optionalString (browser ? gtk3)
@@ -144,7 +148,7 @@ let
 
         mkdir -p $out/lib/mozilla
         for ext in ${toString nativeMessagingHosts}; do
-            ${lndir}/bin/lndir -silent $ext/lib/mozilla $out/lib/mozilla
+            lndir -silent $ext/lib/mozilla $out/lib/mozilla
         done
 
         # For manpages, in case the program supplies them