diff --git a/pkgs/applications/editors/emacs-22-aa/builder.sh b/pkgs/applications/editors/emacs-22-aa/builder.sh new file mode 100644 index 000000000000..a59f4d45f4a7 --- /dev/null +++ b/pkgs/applications/editors/emacs-22-aa/builder.sh @@ -0,0 +1,13 @@ +source $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-22-aa/crt.patch b/pkgs/applications/editors/emacs-22-aa/crt.patch new file mode 100644 index 000000000000..93f17643a1af --- /dev/null +++ b/pkgs/applications/editors/emacs-22-aa/crt.patch @@ -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~ diff --git a/pkgs/applications/editors/emacs-22-aa/default.nix b/pkgs/applications/editors/emacs-22-aa/default.nix new file mode 100644 index 000000000000..28a8f60f96aa --- /dev/null +++ b/pkgs/applications/editors/emacs-22-aa/default.nix @@ -0,0 +1,34 @@ +{ xawSupport ? true +, xpmSupport ? true +, xaw3dSupport ? false +, gtkGUI ? false +, xftSupport ? false +, stdenv, fetchurl, x11, libXaw ? null, libXpm ? null, Xaw3d ? null +, pkgconfig ? null, gtk ? null, libXft ? null, libpng ? null +}: + +assert xawSupport -> libXaw != null; +assert xpmSupport -> libXpm != null; +assert xaw3dSupport -> Xaw3d != null; +assert gtkGUI -> pkgconfig != null && gtk != null; +assert xftSupport -> libXft != null && libpng != null; # libpng = probably a bug + +stdenv.mkDerivation { + name = "emacs-22.0.50-pre-xft"; + builder = ./builder.sh; + src = fetchurl { + url = http://losser.st-lab.cs.uu.nl/~eelco/dist/emacs-22.0.50-xft.tar.bz2; + md5 = "4f96ada6f18513aeb70adc27b7ac862f"; + }; + patches = [./crt.patch]; + buildInputs = [ + x11 + (if xawSupport then libXaw else null) + (if xpmSupport then libXpm else null) + (if xaw3dSupport then Xaw3d else null) + ] + ++ (if gtkGUI then [pkgconfig gtk] else []) + ++ (if xftSupport then [libXft libpng] else []); + configureFlags = + if gtkGUI then ["--with-x-toolkit=gtk" "--with-xft"] else []; +} diff --git a/pkgs/applications/editors/emacs-22-aa/modes/cua/builder.sh b/pkgs/applications/editors/emacs-22-aa/modes/cua/builder.sh new file mode 100644 index 000000000000..6f7bb428c1a6 --- /dev/null +++ b/pkgs/applications/editors/emacs-22-aa/modes/cua/builder.sh @@ -0,0 +1,4 @@ +source $stdenv/setup + +mkdir -p $out/emacs/site-lisp +cp $src $out/emacs/site-lisp/cua.el diff --git a/pkgs/applications/editors/emacs-22-aa/modes/cua/default.nix b/pkgs/applications/editors/emacs-22-aa/modes/cua/default.nix new file mode 100644 index 000000000000..ddc2dca22326 --- /dev/null +++ b/pkgs/applications/editors/emacs-22-aa/modes/cua/default.nix @@ -0,0 +1,8 @@ +{stdenv, fetchurl}: stdenv.mkDerivation { + name = "cua-mode-2.10"; + builder = ./builder.sh; + src = fetchurl { + url = http://nix.cs.uu.nl/dist/tarballs/cua-mode-2.10.el; + md5 = "5bf5e43f5f38c8383868c7c6c5baca09"; + }; +} diff --git a/pkgs/applications/editors/emacs-22-aa/modes/haskell/builder.sh b/pkgs/applications/editors/emacs-22-aa/modes/haskell/builder.sh new file mode 100644 index 000000000000..2d1540319944 --- /dev/null +++ b/pkgs/applications/editors/emacs-22-aa/modes/haskell/builder.sh @@ -0,0 +1,6 @@ +source $stdenv/setup + +mkdir -p $out/emacs/site-lisp +tar zxvf $src +cp haskell-mode*/*.el $out/emacs/site-lisp +cp haskell-mode*/*.hs $out/emacs/site-lisp diff --git a/pkgs/applications/editors/emacs-22-aa/modes/haskell/default.nix b/pkgs/applications/editors/emacs-22-aa/modes/haskell/default.nix new file mode 100644 index 000000000000..644c485b947b --- /dev/null +++ b/pkgs/applications/editors/emacs-22-aa/modes/haskell/default.nix @@ -0,0 +1,8 @@ +{stdenv, fetchurl}: stdenv.mkDerivation { + name = "haskell-mode-1.45"; + builder = ./builder.sh; + src = fetchurl { + url = http://nix.cs.uu.nl/dist/tarballs/haskell-mode-1.45.tar.gz; + md5 = "c609998580cdb9ca8888c7d47d22ca3b"; + }; +} diff --git a/pkgs/applications/editors/emacs-22-aa/modes/nxml/builder.sh b/pkgs/applications/editors/emacs-22-aa/modes/nxml/builder.sh new file mode 100644 index 000000000000..d2393362ebb6 --- /dev/null +++ b/pkgs/applications/editors/emacs-22-aa/modes/nxml/builder.sh @@ -0,0 +1,7 @@ +source $stdenv/setup + +mkdir -p $out/emacs/site-lisp +cd $out/emacs/site-lisp +tar xvfz $src +mv nxml-mode-*/* . +rmdir nxml-mode-* diff --git a/pkgs/applications/editors/emacs-22-aa/modes/nxml/default.nix b/pkgs/applications/editors/emacs-22-aa/modes/nxml/default.nix new file mode 100644 index 000000000000..57583bbfcb62 --- /dev/null +++ b/pkgs/applications/editors/emacs-22-aa/modes/nxml/default.nix @@ -0,0 +1,8 @@ +{stdenv, fetchurl}: stdenv.mkDerivation { + name = "nxml-mode-20041004"; + builder = ./builder.sh; + src = fetchurl { + url = http://nix.cs.uu.nl/dist/tarballs/nxml-mode-20041004.tar.gz; + md5 = "ac137024cf337d6f11d8ab278d39b4db"; + }; +} diff --git a/pkgs/applications/misc/acrobat-reader/builder.sh b/pkgs/applications/misc/acrobat-reader/builder.sh index 27b4d39faf19..a8a5a4535f01 100644 --- a/pkgs/applications/misc/acrobat-reader/builder.sh +++ b/pkgs/applications/misc/acrobat-reader/builder.sh @@ -12,6 +12,10 @@ tar xvf AdobeReader/ILINXR.TAR -C $out # Disable this plugin for now (it needs LDAP, and I'm too lazy to add it). rm $out/Reader/intellinux/plug_ins/PPKLite.api +if test -n "$fastStart"; then + rm $out/Reader/intellinux/plug_ins/*.api +fi + glibc=$(cat $NIX_GCC/nix-support/orig-glibc) fullPath= diff --git a/pkgs/applications/misc/acrobat-reader/default.nix b/pkgs/applications/misc/acrobat-reader/default.nix index c23a9f71352e..e603141a86c9 100644 --- a/pkgs/applications/misc/acrobat-reader/default.nix +++ b/pkgs/applications/misc/acrobat-reader/default.nix @@ -1,6 +1,7 @@ { xineramaSupport ? false , stdenv, fetchurl, libXt, libXp, libXext, libX11, libXinerama ? null , glib, pango, atk, gtk, libstdcpp5, zlib +, fastStart ? false }: stdenv.mkDerivation { @@ -14,4 +15,5 @@ stdenv.mkDerivation { libXt libXp libXext libX11 glib pango atk gtk libstdcpp5 zlib (if xineramaSupport then libXinerama else null) ]; + inherit fastStart; } diff --git a/pkgs/system/all-packages-generic.nix b/pkgs/system/all-packages-generic.nix index 44f02b383bad..b1ffa011657c 100644 --- a/pkgs/system/all-packages-generic.nix +++ b/pkgs/system/all-packages-generic.nix @@ -1831,6 +1831,7 @@ rec { inherit (gtkLibs) glib pango atk gtk; libstdcpp5 = gcc33.gcc; xineramaSupport = true; + fastStart = true; }; eclipse = (import ../applications/editors/eclipse) { @@ -1871,6 +1872,15 @@ rec { gtkGUI = true; }; + emacs22aa = (import ../applications/editors/emacs-22-aa) { + inherit fetchurl stdenv pkgconfig x11 Xaw3d libpng; + inherit (xlibs) libXaw libXpm libXft; + inherit (gtkLibs) gtk; + xaw3dSupport = false; + gtkGUI = true; + xftSupport = true; + }; + nxml = (import ../applications/editors/emacs/modes/nxml) { inherit fetchurl stdenv; };