about summary refs log tree commit diff
path: root/pkgs/build-support
diff options
context:
space:
mode:
authorMatthew Bauer <mjbauer95@gmail.com>2017-05-20 18:51:32 -0500
committerMatthew Bauer <mjbauer95@gmail.com>2017-05-20 18:51:32 -0500
commit2c0006521bbab23626f71a11bc9828930648a6d7 (patch)
tree7ea1656c46b5a331a9888d81ab37bc82f0619478 /pkgs/build-support
parentaafe99ca90148ed98309715669c973bd2069ecf3 (diff)
downloadnixlib-2c0006521bbab23626f71a11bc9828930648a6d7.tar
nixlib-2c0006521bbab23626f71a11bc9828930648a6d7.tar.gz
nixlib-2c0006521bbab23626f71a11bc9828930648a6d7.tar.bz2
nixlib-2c0006521bbab23626f71a11bc9828930648a6d7.tar.lz
nixlib-2c0006521bbab23626f71a11bc9828930648a6d7.tar.xz
nixlib-2c0006521bbab23626f71a11bc9828930648a6d7.tar.zst
nixlib-2c0006521bbab23626f71a11bc9828930648a6d7.zip
emacsWithPackages: wrap MacOS app
fixes #22893
Diffstat (limited to 'pkgs/build-support')
-rw-r--r--pkgs/build-support/emacs/wrapper.nix13
1 files changed, 13 insertions, 0 deletions
diff --git a/pkgs/build-support/emacs/wrapper.nix b/pkgs/build-support/emacs/wrapper.nix
index 4fb77ccfe214..e41b1fd6a215 100644
--- a/pkgs/build-support/emacs/wrapper.nix
+++ b/pkgs/build-support/emacs/wrapper.nix
@@ -115,6 +115,19 @@ EOF
         --suffix EMACSLOADPATH ":" "$deps/share/emacs/site-lisp:"
     done
 
+    # Wrap MacOS app
+    # this has to pick up resources and metadata
+    # to recognize it as an "app"
+    if [ -d "$emacs/Applications/Emacs.app" ]; then
+      mkdir -p $out/Applications/Emacs.app/Contents/MacOS
+      cp -r $emacs/Applications/Emacs.app/Contents/Info.plist \
+            $emacs/Applications/Emacs.app/Contents/PkgInfo \
+            $emacs/Applications/Emacs.app/Contents/Resources \
+            $out/Applications/Emacs.app/Contents
+      makeWrapper $emacs/Applications/Emacs.app/Contents/MacOS/Emacs $out/Applications/Emacs.app/Contents/MacOS/Emacs \
+        --suffix EMACSLOADPATH ":" "$deps/share/emacs/site-lisp:"
+    fi
+
     mkdir -p $out/share
     # Link icons and desktop files into place
     for dir in applications icons info man; do