From da897b6eda9c56a3b315b3653d752f98f74a3a1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 10 Jul 2009 16:17:06 +0000 Subject: [PATCH] Group Emacs packages in an `emacsPackages' function. This avoids problem such as bytecode incompatibilies (e.g., between GNU Emacs 22 and 23), API changes. It would also allow packages to be built with different emacsen (S(X)Emacs, etc.). svn path=/nixpkgs/trunk/; revision=16324 --- pkgs/top-level/all-packages.nix | 121 +++++++++++++++++--------------- pkgs/top-level/release.nix | 20 ++++-- 2 files changed, 78 insertions(+), 63 deletions(-) diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 9ffef71b938..a2adc06fe72 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -515,10 +515,6 @@ let inherit fetchurl stdenv cmake libcap zlib bzip2; }; - cedet = import ../applications/editors/emacs-modes/cedet { - inherit fetchurl stdenv emacs; - }; - checkinstall = import ../tools/package-management/checkinstall { inherit fetchurl stdenv gettext; }; @@ -631,14 +627,6 @@ let inherit fetchurl stdenv cdrkit m4; }; - ecb = import ../applications/editors/emacs-modes/ecb { - inherit fetchurl stdenv emacs cedet jdee texinfo; - }; - - emacsSessionManagement = import ../applications/editors/emacs-modes/session-management-for-emacs { - inherit fetchurl stdenv emacs; - }; - enblendenfuse = import ../tools/graphics/enblend-enfuse { inherit fetchurl stdenv libtiff libpng lcms libxmi boost; }; @@ -891,11 +879,6 @@ let inherit fetchurl stdenv; }; - jdee = import ../applications/editors/emacs-modes/jdee { - inherit fetchsvn stdenv cedet ant; - emacs = emacs23; # for `avl-tree' - }; - jdiskreport = import ../tools/misc/jdiskreport { inherit fetchurl stdenv unzip jdk; }; @@ -962,10 +945,6 @@ let inherit fetchurl stdenv lzo; }; - magit = import ../applications/editors/emacs-modes/magit { - inherit fetchurl stdenv emacs texinfo; - }; - man = import ../tools/misc/man { inherit fetchurl stdenv groff less; }; @@ -5916,10 +5895,6 @@ let inherit (gtkLibs) gtk; }; - bbdb = import ../applications/editors/emacs-modes/bbdb { - inherit fetchurl stdenv emacs texinfo ctags; - }; - cinepaint = import ../applications/graphics/cinepaint { inherit stdenv fetchcvs cmake pkgconfig freetype fontconfig lcms flex libtiff libjpeg libpng libexif zlib perl mesa perlXMLParser python pygtk gettext @@ -5941,10 +5916,6 @@ let inherit wxGTK; }; - cua = import ../applications/editors/emacs-modes/cua { - inherit fetchurl stdenv; - }; - cuneiform = builderDefsPackage (import ../tools/graphics/cuneiform) { inherit cmake patchelf; imagemagick=imagemagick; @@ -6098,18 +6069,72 @@ let dbusSupport = getPkgConfig "emacs" "dbusSupport" true; }); + emacsPackages = emacs: rec { + bbdb = import ../applications/editors/emacs-modes/bbdb { + inherit fetchurl stdenv emacs texinfo ctags; + }; + + cedet = import ../applications/editors/emacs-modes/cedet { + inherit fetchurl stdenv emacs; + }; + + cua = import ../applications/editors/emacs-modes/cua { + inherit fetchurl stdenv; + }; + + ecb = import ../applications/editors/emacs-modes/ecb { + inherit fetchurl stdenv emacs cedet jdee texinfo; + }; + + emacsSessionManagement = import ../applications/editors/emacs-modes/session-management-for-emacs { + inherit fetchurl stdenv emacs; + }; + + emacsw3m = import ../applications/editors/emacs-modes/emacs-w3m { + inherit fetchcvs stdenv emacs w3m imagemagick texinfo autoconf; + }; + + emms = import ../applications/editors/emacs-modes/emms { + inherit fetchurl stdenv emacs texinfo mpg321 vorbisTools taglib + alsaUtils; + }; + + jdee = import ../applications/editors/emacs-modes/jdee { + # Requires Emacs 23, for `avl-tree'. + inherit fetchsvn stdenv cedet ant emacs; + }; + + haskellMode = import ../applications/editors/emacs-modes/haskell { + inherit fetchurl stdenv emacs; + }; + + magit = import ../applications/editors/emacs-modes/magit { + inherit fetchurl stdenv emacs texinfo; + }; + + maudeMode = import ../applications/editors/emacs-modes/maude { + inherit fetchurl stdenv emacs; + }; + + nxml = import ../applications/editors/emacs-modes/nxml { + inherit fetchurl stdenv; + }; + + quack = import ../applications/editors/emacs-modes/quack { + inherit fetchurl stdenv emacs; + }; + + remember = import ../applications/editors/emacs-modes/remember { + inherit fetchurl stdenv texinfo emacs bbdb; + }; + }; + + emacs22Packages = emacsPackages emacs22; + emacs23Packages = emacsPackages emacs23; + # The forthcoming GNU Emacs 23 used to be referred to as `emacsUnicode' here. emacsUnicode = emacs23; - emacsw3m = import ../applications/editors/emacs-modes/emacs-w3m { - inherit fetchcvs stdenv emacs w3m imagemagick texinfo autoconf; - }; - - emms = import ../applications/editors/emacs-modes/emms { - inherit fetchurl stdenv emacs texinfo mpg321 vorbisTools taglib - alsaUtils; - }; - evince = import ../applications/misc/evince { inherit fetchurl stdenv perl perlXMLParser gettext intltool pkgconfig poppler libspectre djvulibre libxslt @@ -6332,10 +6357,6 @@ let inherit fetchurl stdenv Xaw3d ghostscriptX; }; - haskellMode = import ../applications/editors/emacs-modes/haskell { - inherit fetchurl stdenv emacs; - }; - hello = import ../applications/misc/hello/ex-2 { inherit fetchurl stdenv; }; @@ -6500,10 +6521,6 @@ let qt = qt4; }; - maudeMode = import ../applications/editors/emacs-modes/maude { - inherit fetchurl stdenv emacs; - }; - mercurial = import ../applications/version-management/mercurial { inherit fetchurl stdenv python makeWrapper getConfig tk; guiSupport = getConfig ["mercurial" "guiSupport"] false; # for hgk (gitk gui for hg) @@ -6614,10 +6631,6 @@ let inherit fetchurl stdenv ncurses; }; - nxml = import ../applications/editors/emacs-modes/nxml { - inherit fetchurl stdenv; - }; - openoffice = import ../applications/office/openoffice { inherit fetchurl stdenv pam python tcsh libxslt perl zlib libjpeg expat pkgconfig freetype fontconfig libwpd libxml2 db4 sablotron @@ -6723,10 +6736,6 @@ let inherit builderDefs fetchurl stdenv; }; - quack = import ../applications/editors/emacs-modes/quack { - inherit fetchurl stdenv emacs; - }; - qtpfsgui = import ../applications/graphics/qtpfsgui { inherit fetchurl stdenv exiv2 libtiff fftw qt4 ilmbase; openexr = openexr_1_6_1; @@ -6754,10 +6763,6 @@ let libstdcpp5 = gcc33.gcc; }; - remember = import ../applications/editors/emacs-modes/remember { - inherit fetchurl stdenv texinfo emacs bbdb; - }; - rsync = import ../applications/networking/sync/rsync { inherit fetchurl stdenv acl; }; diff --git a/pkgs/top-level/release.nix b/pkgs/top-level/release.nix index 1deee28f09f..99f4c39d35b 100644 --- a/pkgs/top-level/release.nix +++ b/pkgs/top-level/release.nix @@ -49,7 +49,7 @@ in { tarball = import ./make-tarball.nix; -} // mapTestOn { +} // mapTestOn rec { MPlayer = linux; abcde = linux; @@ -86,7 +86,6 @@ in { cabextract = all; castleCombat = linux; cdrkit = linux; - cedet = linux; chatzilla = linux; cksfv = all; clisp = linux; @@ -117,8 +116,7 @@ in { ejabberd = linux; elinks = linux; emacs22 = all; - emacsUnicode = all; - emms = linux; + emacs23 = all; enscript = all; eprover = linux; evince = linux; @@ -394,7 +392,19 @@ in { nl = all; ru = all; }; - + + emacs22Packages = { + bbdb = linux; + cedet = linux; + ecb = linux; + emacsw3m = linux; + emms = linux; + }; + + emacs23Packages = emacs22Packages // { + jdee = linux; + }; + gnome = { gconfeditor = linux; gnomepanel = linux;