summary refs log tree commit diff
path: root/pkgs/applications/editors/emacs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/editors/emacs')
-rw-r--r--pkgs/applications/editors/emacs/builder.sh13
-rw-r--r--pkgs/applications/editors/emacs/default.nix14
-rw-r--r--pkgs/applications/editors/emacs/patchfile41
3 files changed, 68 insertions, 0 deletions
diff --git a/pkgs/applications/editors/emacs/builder.sh b/pkgs/applications/editors/emacs/builder.sh
new file mode 100644
index 00000000000..fa3516556a6
--- /dev/null
+++ b/pkgs/applications/editors/emacs/builder.sh
@@ -0,0 +1,13 @@
+. $stdenv/setup
+
+myglibc=`cat ${NIX_GCC}/nix-support/orig-glibc`
+echo "glibc: $myglibc" 
+
+postConfigure() {
+  cp $myglibc/lib/crt1.o src
+  cp $myglibc/lib/crti.o src
+  cp $myglibc/lib/crtn.o src
+}
+postConfigure=postConfigure
+
+genericBuild
diff --git a/pkgs/applications/editors/emacs/default.nix b/pkgs/applications/editors/emacs/default.nix
new file mode 100644
index 00000000000..0c4fefcba0d
--- /dev/null
+++ b/pkgs/applications/editors/emacs/default.nix
@@ -0,0 +1,14 @@
+{stdenv, fetchurl, xlibs}:
+
+stdenv.mkDerivation {
+  name = "emacs-21.3";
+  builder = ./builder.sh;
+  src = fetchurl {
+    url = http://ftp.gnu.org/pub/gnu/emacs/emacs-21.3.tar.gz;
+    md5 = "a0bab457cbf5b4f8eb99d1d0a3ada420";
+  };
+  patches = [./patchfile];
+  inherit (xlibs) libXaw libX11;
+
+  buildInputs = [xlibs.libXaw xlibs.libX11];
+}
diff --git a/pkgs/applications/editors/emacs/patchfile b/pkgs/applications/editors/emacs/patchfile
new file mode 100644
index 00000000000..93f17643a1a
--- /dev/null
+++ b/pkgs/applications/editors/emacs/patchfile
@@ -0,0 +1,41 @@
+Only in emacs-21.3: configure.in~
+Only in emacs-21.3: patchfile
+Only in emacs-21.3/src: Makefile.in~
+diff -rc emacs-orig/src/s/gnu-linux.h emacs-21.3/src/s/gnu-linux.h
+*** emacs-orig/src/s/gnu-linux.h	2001-09-28 17:50:04.000000000 +0200
+--- emacs-21.3/src/s/gnu-linux.h	2004-10-06 13:13:19.000000000 +0200
+***************
+*** 173,179 ****
+  /* GNU/Linux usually has crt0.o in a non-standard place */
+  #define START_FILES pre-crt0.o /usr/lib/crt0.o
+  #else
+! #define START_FILES pre-crt0.o /usr/lib/crt1.o /usr/lib/crti.o
+  #endif
+  
+  #ifdef __ELF__
+--- 173,179 ----
+  /* GNU/Linux usually has crt0.o in a non-standard place */
+  #define START_FILES pre-crt0.o /usr/lib/crt0.o
+  #else
+! #define START_FILES pre-crt0.o crt1.o crti.o
+  #endif
+  
+  #ifdef __ELF__
+***************
+*** 225,231 ****
+  #else
+  #undef LIB_GCC
+  #define LIB_GCC
+! #define LIB_STANDARD -lgcc -lc -lgcc /usr/lib/crtn.o
+  #endif
+  
+  /* Don't use -g in test compiles in configure.
+--- 225,231 ----
+  #else
+  #undef LIB_GCC
+  #define LIB_GCC
+! #define LIB_STANDARD -lgcc -lc -lgcc crtn.o
+  #endif
+  
+  /* Don't use -g in test compiles in configure.
+Only in emacs-21.3/src/s: gnu-linux.h~