summary refs log tree commit diff
diff options
context:
space:
mode:
authorJohn Wiegley <johnw@newartisans.com>2016-01-11 12:55:25 -0800
committerJohn Wiegley <johnw@newartisans.com>2016-01-11 12:55:48 -0800
commitb7ff0301d6f26bd8419e888fd0e129f3dc8bd328 (patch)
treee2aef13d4f6bb1880817177f4cc0213410e57b92
parentfdc69f2e8f3c152065f65d5e516a4308e430047e (diff)
downloadnixlib-b7ff0301d6f26bd8419e888fd0e129f3dc8bd328.tar
nixlib-b7ff0301d6f26bd8419e888fd0e129f3dc8bd328.tar.gz
nixlib-b7ff0301d6f26bd8419e888fd0e129f3dc8bd328.tar.bz2
nixlib-b7ff0301d6f26bd8419e888fd0e129f3dc8bd328.tar.lz
nixlib-b7ff0301d6f26bd8419e888fd0e129f3dc8bd328.tar.xz
nixlib-b7ff0301d6f26bd8419e888fd0e129f3dc8bd328.tar.zst
nixlib-b7ff0301d6f26bd8419e888fd0e129f3dc8bd328.zip
emacs24Macport: change expressions to better match emacs24
-rw-r--r--pkgs/applications/editors/emacs-24/macport-24.5.nix60
1 files changed, 20 insertions, 40 deletions
diff --git a/pkgs/applications/editors/emacs-24/macport-24.5.nix b/pkgs/applications/editors/emacs-24/macport-24.5.nix
index 715b89085342..ed4c435c09b8 100644
--- a/pkgs/applications/editors/emacs-24/macport-24.5.nix
+++ b/pkgs/applications/editors/emacs-24/macport-24.5.nix
@@ -1,12 +1,13 @@
 { stdenv, fetchurl, ncurses, pkgconfig, texinfo, libxml2, gnutls
-, Carbon, Cocoa, ImageCaptureCore, OSAKit, Quartz, WebKit
+, Carbon, Cocoa, ImageCaptureCore, OSAKit, Quartz, WebKit, gettext
+, AppKit, GSS, ImageIO
 }:
 
 stdenv.mkDerivation rec {
   emacsName = "emacs-24.5";
   name = "${emacsName}-mac-5.15";
 
-  #builder = ./builder.sh;
+  builder = ./builder.sh;
 
   src = fetchurl {
     url = "mirror://gnu/emacs/${emacsName}.tar.xz";
@@ -21,11 +22,11 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   buildInputs = [
-    ncurses pkgconfig texinfo libxml2 gnutls
+    ncurses libxml2 gnutls pkgconfig texinfo gettext
   ];
 
   propagatedBuildInputs = [
-    Carbon Cocoa ImageCaptureCore OSAKit Quartz WebKit
+    Carbon Cocoa ImageCaptureCore OSAKit Quartz WebKit AppKit GSS ImageIO
   ];
 
   postUnpack = ''
@@ -34,46 +35,25 @@ stdenv.mkDerivation rec {
     mv $name $emacsName
   '';
 
-  preConfigure = ''
-    substituteInPlace lisp/international/mule-cmds.el --replace /usr $TMPDIR
-    substituteInPlace Makefile.in --replace "/bin/pwd" "pwd"
-    substituteInPlace lib-src/Makefile.in --replace "/bin/pwd" "pwd"
-
+  postPatch = ''
     patch -p1 < patch-mac
-
-    # The search for 'tputs' will fail because it's in ncursesw within the
-    # ncurses package, yet Emacs' configure script only looks in ncurses.
-    # Further, we need to make sure that the -L option occurs before mention
-    # of the library, so that it finds it within the Nix store.
-    sed -i 's/tinfo ncurses/tinfo ncursesw/' configure
-    ncurseslib=$(echo ${ncurses}/lib | sed 's#/#\\/#g')
-    sed -i "s/OLIBS=\$LIBS/OLIBS=\"-L$ncurseslib \$LIBS\"/" configure
-    sed -i 's/LIBS="\$LIBS_TERMCAP \$LIBS"/LIBS="\$LIBS \$LIBS_TERMCAP"/' configure
-
-    configureFlagsArray=(
-      LDFLAGS=-L${ncurses}/lib
-      --with-xml2=yes
-      --with-gnutls=yes
-      --with-mac
-      --enable-mac-app=$out/Applications
-    )
-    makeFlagsArray=(
-      CFLAGS=-O3
-      LDFLAGS="-O3 -L${ncurses}/lib"
-    );
+    sed -i 's|/usr/share/locale|${gettext}/share/locale|g' lisp/international/mule-cmds.el
   '';
 
+  configureFlags = [
+    "LDFLAGS=-L${ncurses}/lib"
+    "--with-xml2=yes"
+    "--with-gnutls=yes"
+    "--with-mac"
+    "--enable-mac-app=$$out/Applications"
+  ];
+
+  CFLAGS = "-O3";
+  LDFLAGS = "-O3 -L${ncurses}/lib";
+
   postInstall = ''
-    cat >$out/share/emacs/site-lisp/site-start.el <<EOF
-    ;; nixos specific load-path
-    (when (getenv "NIX_PROFILES") (setq load-path
-                          (append (reverse (mapcar (lambda (x) (concat x "/share/emacs/site-lisp/"))
-                             (split-string (getenv "NIX_PROFILES"))))
-                    load-path)))
-
-    ;; make tramp work for NixOS machines
-    (eval-after-load 'tramp '(add-to-list 'tramp-remote-path "/run/current-system/sw/bin"))
-    EOF
+    mkdir -p $out/share/emacs/site-lisp/
+    cp ${./site-start.el} $out/share/emacs/site-lisp/site-start.el
   '';
 
   doCheck = true;