GNU Emacs 23.1.
svn path=/nixpkgs/trunk/; revision=16529
This commit is contained in:
parent
937c50442c
commit
9e8792548d
71
pkgs/applications/editors/emacs-23/default.nix
Normal file
71
pkgs/applications/editors/emacs-23/default.nix
Normal file
@ -0,0 +1,71 @@
|
||||
{ xawSupport ? true
|
||||
, xpmSupport ? true
|
||||
, dbusSupport ? true
|
||||
, xaw3dSupport ? false
|
||||
, gtkGUI ? false
|
||||
, xftSupport ? false
|
||||
, stdenv, fetchurl, ncurses, x11, libXaw ? null, libXpm ? null, Xaw3d ? null
|
||||
, pkgconfig ? null, gtk ? null, libXft ? null, dbus ? null
|
||||
, libpng, libjpeg, libungif, libtiff, texinfo
|
||||
}:
|
||||
|
||||
assert xawSupport -> libXaw != null;
|
||||
assert xpmSupport -> libXpm != null;
|
||||
assert dbusSupport -> dbus != null;
|
||||
assert xaw3dSupport -> Xaw3d != null;
|
||||
assert gtkGUI -> pkgconfig != null && gtk != null;
|
||||
assert xftSupport -> libXft != null && libpng != null; # libpng = probably a bug
|
||||
|
||||
stdenv.mkDerivation rec {
|
||||
name = "emacs-23.1";
|
||||
|
||||
builder = ./builder.sh;
|
||||
|
||||
src = fetchurl {
|
||||
url = "mirror://gnu/emacs/${name}.tar.bz2";
|
||||
sha256 = "076b4ixdp29l4c02bwic26d14gxlj0lcqyam33wyj3ksgi2z8d9b";
|
||||
};
|
||||
|
||||
buildInputs = [
|
||||
ncurses x11 texinfo
|
||||
(if xawSupport then libXaw else null)
|
||||
(if xpmSupport then libXpm else null)
|
||||
(if dbusSupport then dbus else null)
|
||||
(if xaw3dSupport then Xaw3d else null)
|
||||
libpng libjpeg libungif libtiff # maybe not strictly required?
|
||||
]
|
||||
++ (if gtkGUI then [pkgconfig gtk] else [])
|
||||
++ (if xftSupport then [libXft] else []);
|
||||
|
||||
configureFlags = "
|
||||
${if gtkGUI then "--with-x-toolkit=gtk --enable-font-backend --with-xft" else ""}
|
||||
";
|
||||
|
||||
doCheck = true;
|
||||
|
||||
meta = {
|
||||
description = "GNU Emacs 23.x, the extensible, customizable text editor";
|
||||
|
||||
longDescription = ''
|
||||
GNU Emacs is an extensible, customizable text editor—and more. At its
|
||||
core is an interpreter for Emacs Lisp, a dialect of the Lisp
|
||||
programming language with extensions to support text editing.
|
||||
|
||||
The features of GNU Emacs include: content-sensitive editing modes,
|
||||
including syntax coloring, for a wide variety of file types including
|
||||
plain text, source code, and HTML; complete built-in documentation,
|
||||
including a tutorial for new users; full Unicode support for nearly all
|
||||
human languages and their scripts; highly customizable, using Emacs
|
||||
Lisp code or a graphical interface; a large number of extensions that
|
||||
add other functionality, including a project planner, mail and news
|
||||
reader, debugger interface, calendar, and more. Many of these
|
||||
extensions are distributed with GNU Emacs; others are available
|
||||
separately.
|
||||
'';
|
||||
|
||||
homepage = http://www.gnu.org/software/emacs/;
|
||||
license = "GPLv3+";
|
||||
|
||||
maintainers = [ stdenv.lib.maintainers.ludo ];
|
||||
};
|
||||
}
|
21
pkgs/applications/editors/emacs-snapshot/builder.sh
Normal file
21
pkgs/applications/editors/emacs-snapshot/builder.sh
Normal file
@ -0,0 +1,21 @@
|
||||
source $stdenv/setup
|
||||
|
||||
preConfigure() {
|
||||
libc=$(cat ${NIX_GCC}/nix-support/orig-libc)
|
||||
echo "libc: $libc"
|
||||
|
||||
for i in src/s/*.h src/m/*.h; do
|
||||
substituteInPlace $i \
|
||||
--replace /usr/lib/crt1.o $libc/lib/crt1.o \
|
||||
--replace /usr/lib/crti.o $libc/lib/crti.o \
|
||||
--replace /usr/lib/crtn.o $libc/lib/crtn.o
|
||||
done
|
||||
|
||||
for i in Makefile.in ./src/Makefile.in ./lib-src/Makefile.in ./leim/Makefile.in; do
|
||||
substituteInPlace $i --replace /bin/pwd pwd
|
||||
done
|
||||
}
|
||||
|
||||
preBuild="make bootstrap"
|
||||
|
||||
genericBuild
|
@ -6162,7 +6162,19 @@ let
|
||||
gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
|
||||
};
|
||||
|
||||
emacs23 = lowPrio (import ../applications/editors/emacs-23-snapshot {
|
||||
emacs23 = import ../applications/editors/emacs-23 {
|
||||
inherit fetchurl stdenv ncurses pkgconfig x11 Xaw3d
|
||||
libpng libjpeg libungif libtiff texinfo dbus;
|
||||
inherit (xlibs) libXaw libXpm libXft;
|
||||
inherit (gtkLibs) gtk;
|
||||
xawSupport = getPkgConfig "emacs" "xawSupport" false;
|
||||
xaw3dSupport = getPkgConfig "emacs" "xaw3dSupport" false;
|
||||
gtkGUI = getPkgConfig "emacs" "gtkSupport" true;
|
||||
xftSupport = getPkgConfig "emacs" "xftSupport" true;
|
||||
dbusSupport = getPkgConfig "emacs" "dbusSupport" true;
|
||||
};
|
||||
|
||||
emacsSnapshot = lowPrio (import ../applications/editors/emacs-snapshot {
|
||||
inherit fetchcvs stdenv ncurses pkgconfig x11 Xaw3d
|
||||
libpng libjpeg libungif libtiff texinfo dbus
|
||||
autoconf automake;
|
||||
|
Loading…
Reference in New Issue
Block a user