Merge pull request #66301 from adisbladis/emacspackages-deprecated-drop

emacs-packages: Drop deprecated package sets
This commit is contained in:
adisbladis 2019-08-30 17:18:20 +01:00 committed by GitHub
commit f7b5be81a8
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
76 changed files with 107 additions and 2154 deletions

View File

@ -6,7 +6,7 @@
answer some of the frequently asked questions
related to Nixpkgs use.
Some useful information related to package use
Some useful information related to package use
can be found in <link linkend="chap-package-notes">package-specific development notes</link>.
</para>
@ -196,7 +196,7 @@ overrides = self: super: rec {
haskell-mode = self.melpaPackages.haskell-mode;
...
};
((emacsPackagesNgGen emacs).overrideScope' overrides).emacsWithPackages (p: with p; [
((emacsPackagesGen emacs).overrideScope' overrides).emacsWithPackages (p: with p; [
# here both these package will use haskell-mode of our own choice
ghc-mod
dante

View File

@ -338,10 +338,17 @@
For nginx, the dependencies are still automatically managed when <option>services.nginx.virtualhosts.&lt;name&gt;.enableACME</option> is enabled just like before. What changed is that nginx now directly depends on the specific certificates that it needs,
instead of depending on the catch-all <literal>acme-certificates.target</literal>. This target unit was also removed from the codebase.
This will mean nginx will no longer depend on certificates it isn't explicitly managing and fixes a bug with certificate renewal
ordering racing with nginx restarting which could lead to nginx getting in a broken state as described at
ordering racing with nginx restarting which could lead to nginx getting in a broken state as described at
<link xlink:href="https://github.com/NixOS/nixpkgs/issues/60180">NixOS/nixpkgs#60180</link>.
</para>
</listitem>
<listitem>
<para>
The old deprecated <literal>emacs</literal> package sets have been dropped.
What used to be called <literal>emacsPackagesNg</literal> is now simply called <literal>emacsPackages</literal>.
</para>
</listitem>
</itemizedlist>
</section>

View File

@ -9,6 +9,7 @@
Damien Cassou @DamienCassou
Thomas Tuegel @ttuegel
Rodney Lorrimar @rvl
Adam Hoese @adisbladis
-->
<para>
<link xlink:href="https://www.gnu.org/software/emacs/">Emacs</link> is an
@ -130,15 +131,6 @@
Emacs packages through nixpkgs.
</para>
<note>
<para>
This documentation describes the new Emacs packages framework in NixOS
16.03 (<varname>emacsPackagesNg</varname>) which should not be confused
with the previous and deprecated framework
(<varname>emacs24Packages</varname>).
</para>
</note>
<para>
The first step to declare the list of packages you want in your Emacs
installation is to create a dedicated derivation. This can be done in a
@ -164,7 +156,7 @@ $ ./result/bin/emacs
let
myEmacs = pkgs.emacs; <co xml:id="ex-emacsNix-2" />
emacsWithPackages = (pkgs.emacsPackagesNgGen myEmacs).emacsWithPackages; <co xml:id="ex-emacsNix-3" />
emacsWithPackages = (pkgs.emacsPackagesGen myEmacs).emacsWithPackages; <co xml:id="ex-emacsNix-3" />
in
emacsWithPackages (epkgs: (with epkgs.melpaStablePackages; [ <co xml:id="ex-emacsNix-4" />
magit # ; Integrate git &lt;C-x g&gt;
@ -262,10 +254,10 @@ in
<example xml:id="module-services-emacs-querying-packages">
<title>Querying Emacs packages</title>
<programlisting><![CDATA[
nix-env -f "<nixpkgs>" -qaP -A emacsPackagesNg.elpaPackages
nix-env -f "<nixpkgs>" -qaP -A emacsPackagesNg.melpaPackages
nix-env -f "<nixpkgs>" -qaP -A emacsPackagesNg.melpaStablePackages
nix-env -f "<nixpkgs>" -qaP -A emacsPackagesNg.orgPackages
nix-env -f "<nixpkgs>" -qaP -A emacsPackages.elpaPackages
nix-env -f "<nixpkgs>" -qaP -A emacsPackages.melpaPackages
nix-env -f "<nixpkgs>" -qaP -A emacsPackages.melpaStablePackages
nix-env -f "<nixpkgs>" -qaP -A emacsPackages.orgPackages
]]></programlisting>
</example>
</para>

View File

@ -1,30 +0,0 @@
{ stdenv, fetchurl, emacs }:
stdenv.mkDerivation rec {
name = "auto-complete-1.3.1";
src = fetchurl {
url = "http://cx4a.org/pub/auto-complete/${name}.tar.bz2";
sha256 = "124qxfp0pcphwlmrasbfrci48brxnrzc38h4wcf2sn20x1mvcrlj";
};
buildInputs = [ emacs ];
preInstall = ''
install -d $out/share/emacs/site-lisp
'';
installFlags = "DIR=$(out)/share/emacs/site-lisp";
postInstall = ''
ln -s javascript-mode $out/share/emacs/site-lisp/ac-dict/js2-mode
'';
meta = {
description = "Auto-complete extension for Emacs";
homepage = http://cx4a.org/software/auto-complete/;
license = stdenv.lib.licenses.gpl3Plus;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,25 +0,0 @@
{ stdenv, fetchurl, emacs }:
stdenv.mkDerivation rec {
name = "bbdb-3.1.2";
src = fetchurl {
url = "https://download.savannah.gnu.org/releases/bbdb/${name}.tar.gz";
sha256 = "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05";
};
buildInputs = [ emacs ];
# Hack to disable documentation as there is no way to tell bbdb to
# NOT build pdfs. I really don't want to pull in TexLive here...
preConfigure = ''
substituteInPlace ./Makefile.in \
--replace "SUBDIRS = lisp doc tex" "SUBDIRS = lisp"
'';
meta = {
homepage = https://savannah.nongnu.org/projects/bbdb/;
description = "The Insidious Big Brother Database (BBDB), a contact management utility for Emacs, version 3";
license = "GPL";
};
}

View File

@ -1,35 +0,0 @@
{stdenv, fetchurl, emacs, texinfo, ctags}:
stdenv.mkDerivation rec {
name = "bbdb-2.36";
src = fetchurl {
# not using mirror:// because it produces a different file
url = "http://bbdb.sourceforge.net/${name}.tar.gz";
sha256 = "1rmw94l71ahfbynyy0bijfy488q9bl5ksl4zpvg7j9dbmgbh296r";
};
patches = [ ./install-infodir.patch ];
buildInputs = [emacs texinfo ctags];
configureFlags = [ "--with-package-dir=$$out/share/emacs/site-lisp" ];
preInstall = "mkdir -p $out/info";
installTargets = "install-pkg texinfo";
postInstall = ''
mv $out/info $out/share/
mv "$out/share/emacs/site-lisp/lisp/bbdb/"* $out/share/emacs/site-lisp/
mv $out/share/emacs/site-lisp/etc/bbdb $out/share/
rm -rf $out/share/emacs/site-lisp/{lisp,etc}
mv bits $out/share/bbdb/
# Make optional modules from bbdb available for import, but symlink
# them into the site-lisp directory to make it obvious that they are
# not a genuine part of the distribution.
ln -s "$out/share/bbdb/bits/"*.el $out/share/emacs/site-lisp/
'';
meta = {
homepage = http://bbdb.sourceforge.net/;
description = "The Insidious Big Brother Database (BBDB), a contact management utility for Emacs";
license = "GPL";
};
}

View File

@ -1,28 +0,0 @@
--- bbdb-2.35/texinfo/Makefile.in 2001-11-20 09:00:12.000000000 +0100
+++ bbdb-2.35/texinfo/Makefile.in 2008-02-20 12:07:36.000000000 +0100
@@ -27,22 +27,22 @@ all: info bbdb.dvi
install-pkg: uninstall-pkg info
@if test "x$(SYMLINKS)" = "xno" ; then \
for i in `ls bbdb.info* ` ; do \
- $(INSTALL_DATA) $$i $(PACKAGEDIR)/info/ ; \
+ $(INSTALL_DATA) $$i $(infodir)/ ; \
done ; \
else \
if test "x$(LINKPATH)" = "x" ; then \
for i in `ls bbdb.info* ` ; do \
- $(LN_S) `pwd`/$$i $(PACKAGEDIR)/info/$$i ; \
+ $(LN_S) `pwd`/$$i $(infodir)/$$i ; \
done ; \
else \
for i in `ls bbdb.info* ` ; do \
- $(LN_S) $(LINKPATH)/texinfo/$$i $(PACKAGEDIR)/info/$$i ; \
+ $(LN_S) $(LINKPATH)/texinfo/$$i $(infodir)/$$i ; \
done ; \
fi ; \
fi
uninstall-pkg:
- -$(RM) $(PACKAGEDIR)/info/bbdb.info*
+ -$(RM) $(infodir)/bbdb.info*
info: bbdb.info

View File

@ -1,34 +0,0 @@
{ fetchgit, stdenv, emacs }:
# TODO: byte-compile in build phase - a buildEmacsPackage that does
# that would be nice
stdenv.mkDerivation rec {
name = "calfw-1.3-5-ga9b6615";
src = fetchgit {
url = "git://github.com/kiwanami/emacs-calfw.git";
rev = "a9b6615b6666bbebe78257c557fd9a2e3a325d8d";
sha256 = "524acc8fec7e64ebe0d370ddb1d96eee6a409d650b79011fa910c35225a7f393";
};
buildInputs = [ emacs ];
installPhase =
''
mkdir -p "$out/share/doc/${name}"
cp -v readme.md "$out/share/doc/${name}"
mkdir -p "$out/share/emacs/site-lisp/"
cp *.el "$out/share/emacs/site-lisp/"
'';
meta = {
description = "A calendar framework for Emacs";
license = stdenv.lib.licenses.gpl3Plus;
maintainers = with stdenv.lib.maintainers; [ ];
platforms = stdenv.lib.platforms.unix;
};
}

View File

@ -1,54 +0,0 @@
{ stdenv, fetchFromGitHub, emacs, python }:
stdenv.mkDerivation rec {
version = "0.8.4";
name = "cask-${version}";
src = fetchFromGitHub {
owner = "cask";
repo = "cask";
rev = "v${version}";
sha256 = "1p37lq8xpyq0rc7phxgsw3b73h8vf9rkpa5959rb5k46w6ps9686";
};
buildInputs = [ emacs python ];
# byte-compiling emacs files automatically triggers cask's bootstrap
# mechanism, what we don't want.
dontBuild = true;
installPhase = ''
install -d "$out/share/emacs/site-lisp"
install cask*.el* "$out/share/emacs/site-lisp"
install -d "$out/bin"
install bin/cask "$out/bin"
# We also need to install cask's templates in order for 'cask
# init' to work properly.
install -d "$out/templates"
install templates/* "$out/templates"
# In order to work with cask's hard coded file paths (during bootstrap),
# we have to create these links.
ln -s "$out/share/emacs/site-lisp/"* "$out"
# This file disables cask's self-updating function.
touch "$out/.no-upgrade"
'';
meta = with stdenv.lib; {
description = "Project management tool for Emacs";
longDescription =
''
Cask is a project management tool for Emacs that helps automate the
package development cycle; development, dependencies, testing,
building, packaging and more. Cask can also be used to manage
dependencies for your local Emacs configuration.
'';
homepage = https://github.com/cask/cask;
license = licenses.gpl3Plus;
platforms = platforms.all;
maintainers = [ ];
};
}

View File

@ -44,5 +44,8 @@ stdenv.mkDerivation rec {
license = stdenv.lib.licenses.gpl2Plus;
homepage = http://cedet.sourceforge.net/;
# Fails with `semantic-idle.el:42:1:Error: Invalid function: class-p`
broken = true;
};
}

View File

@ -30,5 +30,8 @@ stdenv.mkDerivation rec {
maintainers = [ maintainers.samuelrivas ];
license = licenses.mit;
platforms = platforms.all;
# Fails with `solarized-definitions.el:786:1:Warning: the function `rotatef' is not known to`
broken = true;
};
}

View File

@ -1,26 +0,0 @@
{stdenv, fetchurl, emacs}:
stdenv.mkDerivation rec {
name = "color-theme-6.6.0";
src = fetchurl {
url = "mirror://savannah/color-theme/${name}.tar.gz";
sha256 = "0yx1ghcjc66s1rl0v3d4r1k88ifw591hf814ly3d73acvh15zlsn";
};
# patches from http://aur.archlinux.org/packages.php?ID=54883
patches = [ ./fix-build.patch ./gnus-bug.diff ];
buildInputs = [ emacs ];
installFlags = [ "ELISPDIR=$(out)/share/emacs/site-lisp" ];
installTargets = "install-bin";
meta = {
description = "Emacs-lisp mode for skinning your Emacs";
homepage = https://www.nongnu.org/color-theme;
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,19 +0,0 @@
--- a/Makefile 2009-05-15 18:22:49.000000000 +0200
+++ b/Makefile 2009-05-16 08:59:36.000000000 +0200
@@ -15,6 +15,7 @@
TARGET = $(patsubst %.el,%.elc,$(SPECIAL) $(SOURCE))
MANUAL = color-theme
MISC = AUTHORS COPYING ChangeLog Makefile.defs Makefile $(AUTOLOADFILE).in
+LOADPATH = "$(shell pwd)" "$(shell pwd)/themes"
#AUTHORS CREDITS HISTORY NEWS README Makefile ChangeLog \
#ChangeLog.2005 ChangeLog.2004 ChangeLog.2003 ChangeLog.2002 \
#ChangeLog.2001 servers.pl color-theme-auto.in color-theme.texi
@@ -47,7 +48,7 @@
%.elc: %.el
@$(EMACS) $(OPTIONCOMPILE) \
- --eval '(setq load-path (cons "." load-path))' \
+ --eval '(setq load-path (append load-path (list $(LOADPATH))))' \
-f batch-byte-compile $<
%.info: %.texi

View File

@ -1,28 +0,0 @@
diff -Naur color-theme-6.6.0.orig/color-theme.el color-theme-6.6.0.new/color-theme.el
--- color-theme-6.6.0.orig/color-theme.el 2011-11-18 01:17:29.000000000 +0100
+++ color-theme-6.6.0.new/color-theme.el 2011-11-18 01:24:07.000000000 +0100
@@ -73,9 +73,10 @@
"Non-nil if running XEmacs.")
;; Add this since it appears to miss in emacs-2x
-(or (fboundp 'replace-in-string)
- (defun replace-in-string (target old new)
- (replace-regexp-in-string old new target)))
+(if (fboundp 'replace-in-string)
+ (defalias 'color-theme-replace-in-string 'replace-in-string)
+ (defsubst color-theme-replace-in-string (target old new &optional literal)
+ (replace-regexp-in-string old new target nil literal)))
;; face-attr-construct has a problem in Emacs 20.7 and older when
;; dealing with inverse-video faces. Here is a short test to check
@@ -1626,8 +1627,8 @@
(add-to-list 'color-themes
(list ',n
(upcase-initials
- (replace-in-string
- (replace-in-string
+ (color-theme-replace-in-string
+ (color-theme-replace-in-string
(symbol-name ',n) "^color-theme-" "") "-" " "))
,author))
(defun ,n ()

View File

@ -1,26 +0,0 @@
{ stdenv, fetchurl, emacs }:
stdenv.mkDerivation rec {
name = "cryptol-mode-${version}";
version = "0.1.0";
src = fetchurl {
url = "https://github.com/thoughtpolice/cryptol-mode/archive/v${version}.tar.gz";
sha256 = "1qyrqvfgpg1nyk1clv7v94r3amm02613hrak5732xzn6iak81cc0";
};
buildInputs = [ emacs ];
installPhase = ''
install -d $out/share/emacs/site-lisp
install *.el *.elc $out/share/emacs/site-lisp
'';
meta = {
description = "Emacs major mode for Cryptol";
homepage = "https://thoughtpolice/cryptol-mode";
license = stdenv.lib.licenses.gpl3Plus;
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
};
}

View File

@ -1,32 +0,0 @@
{stdenv, fetchurl, emacs}:
# Note: Don't have a version, using date as fallback.
let version = "20150111";
in stdenv.mkDerivation {
name = "emacs-d-${version}";
src = fetchurl {
url = "https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode/archive/53efec4d83c7cee8227597f010fe7fc400ff05f1.tar.gz";
sha256 = "0vb0za51lc6qf1qgqisap4vzk36caa5k17zajjn034rhjsqfw0w7";
};
buildInputs = [ emacs ];
buildPhase = ''
emacs -L . --batch -f batch-byte-compile *.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install *.el *.elc $out/share/emacs/site-lisp
'';
meta = {
description = "Major mode for editing D code";
homepage = https://github.com/Emacs-D-Mode-Maintainers/Emacs-D-Mode;
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,7 +0,0 @@
Context:
[TAG 1.3
Simon Michael <simon@joyful.com>**20131103203640
Ignore-this: d12bac373e4aa0e5ffe6c390e1dfe269
]

View File

@ -1,34 +0,0 @@
# To automatically load darcsum when needed, add the following to your emacs init file:
#
# (autoload 'darcsum-changes "darcsum" nil t)
# (autoload 'darcsum-whatsnew "darcsum" nil t)
# (autoload 'darcsum-view "darcsum" nil t)
#
# (These lines were copied from 50darcsum.el in the darcsum repository.)
{ fetchdarcs, stdenv }:
stdenv.mkDerivation {
name = "darcsum-1.3";
src = fetchdarcs {
url = http://hub.darcs.net/simon/darcsum;
context = ./darcs_context;
sha256 = "18dyk2apmnjapd604a5njfqwjri1mc7lgjaajy9phicpibgdrwzh";
};
phases = [ "unpackPhase" "installPhase" ];
installPhase = ''
install -d "$out/share/emacs/site-lisp"
install darcsum.el "$out/share/emacs/site-lisp"
'';
meta = {
description = "A pcl-cvs like interface for managing darcs patches";
homepage = http://hub.darcs.net/simon/darcsum;
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ stdenv.lib.maintainers.falsifian ];
};
}

View File

@ -1,48 +0,0 @@
{ fetchurl, stdenv, emacs, cedet, jdee, texinfo }:
stdenv.mkDerivation rec {
name = "ecb-2.40";
src = fetchurl {
url = "mirror://sourceforge/ecb/${name}.tar.gz";
sha256 = "0gp56ixfgnyk2j1fps4mk1yv1vpz81kivb3gq9f56jw4kdlhjrjs";
};
buildInputs = [ emacs ];
propagatedBuildInputs = [ cedet jdee ];
propagatedUserEnvPkgs = propagatedBuildInputs;
patchPhase = ''
sed -i "Makefile" \
-e 's|CEDET[[:blank:]]*=.*$|CEDET = ${cedet}/share/emacs/site-lisp|g ;
s|INSTALLINFO[[:blank:]]*=.*$|INSTALLINFO = ${texinfo}/bin/install-info|g ;
s|MAKEINFO[[:blank:]]*=.*$|MAKEINFO = ${texinfo}/bin/makeinfo|g ;
s|common/cedet.el|cedet.el|g'
'';
installPhase = ''
mkdir -p "$out/share/emacs/site-lisp"
cp -rv *.el *.elc ecb-images "$out/share/emacs/site-lisp"
mkdir -p "$out/share/info"
cp -v info-help/*.info* "$out/share/info"
'';
meta = {
description = "ECB, the Emacs Code browser";
longDescription = ''
ECB stands for "Emacs Code Browser". While Emacs already has
good editing support for many modes, its browsing support is
somewhat lacking. That's where ECB comes in: it displays a
number of informational windows that allow for easy source code
navigation and overview.
'';
license = stdenv.lib.licenses.gpl2Plus;
homepage = http://ecb.sourceforge.net/;
maintainers = [ ];
};
}

View File

@ -26,5 +26,10 @@ clangStdenv.mkDerivation {
homepage = https://github.com/Golevka/emacs-clang-complete-async;
description = "An emacs plugin to complete C and C++ code using libclang";
license = clangStdenv.lib.licenses.gpl3Plus;
# Fails with:
# ./src/completion.h:5:10: fatal error: 'clang-c/Index.h' file not found
# include <clang-c/Index.h>
broken = true;
};
}

View File

@ -1,61 +0,0 @@
{ fetchcvs, stdenv, emacs, w3m, imagemagick, texinfo, autoreconfHook }:
let date = "2013-03-21"; in
stdenv.mkDerivation rec {
name = "emacs-w3m-cvs${date}";
# Get the source from CVS because the previous release (1.4.4) is old and
# doesn't work with GNU Emacs 23.
src = fetchcvs {
inherit date;
cvsRoot = ":pserver:anonymous@cvs.namazu.org:/storage/cvsroot";
module = "emacs-w3m";
sha256 = "1lmcj8rf83w13q8q68hh7sa1abc2m6j2zmfska92xdp7hslhdgc5";
};
nativeBuildInputs = [ autoreconfHook ];
buildInputs = [ emacs w3m texinfo ];
# XXX: Should we do the same for xpdf/evince, gv, gs, etc.?
patchPhase = ''
sed -i "w3m.el" \
-e 's|defcustom w3m-command nil|defcustom w3m-command "${w3m}/bin/w3m"|g ;
s|(w3m-which-command "display")|"${imagemagick.out}/bin/display"|g'
sed -i "w3m-image.el" \
-e 's|(w3m-which-command "convert")|"${imagemagick.out}/bin/convert"|g ;
s|(w3m-which-command "identify")|"${imagemagick.out}/bin/identify"|g'
'';
configureFlags = [
"--with-lispdir=$(out)/share/emacs/site-lisp"
"--with-icondir=$(out)/share/emacs/site-lisp/images/w3m"
];
postInstall = ''
cd "$out/share/emacs/site-lisp"
for i in ChangeLog*
do
mv -v "$i" "w3m-$i"
done
'';
meta = {
description = "Emacs-w3m, a simple Emacs interface to the w3m web browser";
longDescription = ''
Emacs/W3 used to be known as the most popular WEB browser on Emacs, but
it worked so slowly that we wanted a simple and speedy alternative.
w3m is a pager with WWW capability, developed by Akinori ITO. Although
it is a pager, it can be used as a text-mode WWW browser. Then we
developed a simple Emacs interface to w3m.
'';
license = stdenv.lib.licenses.gpl2Plus;
homepage = http://emacs-w3m.namazu.org/;
maintainers = [ ];
};
}

View File

@ -1,73 +0,0 @@
{ stdenv, fetchurl, emacs, texinfo
, mpg321, vorbis-tools, taglib, mp3info, alsaUtils }:
# XXX: EMMS also supports Xine, MPlayer, Jack, etc.
stdenv.mkDerivation rec {
name = "emms-3.0";
src = fetchurl {
# These guys don't use ftp.gnu.org...
url = "https://www.gnu.org/software/emms/download/${name}.tar.gz";
sha256 = "151mfx97x15lfpd1qc2sqbvhwhvg46axgh15qyqmdy42vh906xav";
};
buildInputs = [ emacs texinfo ];
configurePhase = ''
sed -i "Makefile" -e "s|PREFIX *=.*\$|PREFIX = $out|g ;
s|/usr/sbin/install-info|install-info|g ;
s|/usr/include/taglib|${taglib}/include/taglib|g ;
s|/usr/lib|${taglib}/lib|g ;
s|^all:\(.*\)\$|all:\1 emms-print-metadata|g"
mkdir -p "$out/share/man/man1"
sed -i "emms-player-mpg321-remote.el" \
-e 's|emms-player-mpg321-remote-command[[:blank:]]\+"mpg321"|emms-player-mpg321-remote-command "${mpg321}/bin/mpg321"|g'
sed -i "emms-player-simple.el" \
-e 's|"ogg123"|"${vorbis-tools}/bin/ogg123"|g'
sed -i "emms-info-ogginfo.el" \
-e 's|emms-info-ogginfo-program-name[[:blank:]]\+"ogginfo"|emms-info-ogginfo-program-name "${vorbis-tools}/bin/ogginfo"|g'
sed -i "emms-info-libtag.el" \
-e "s|\"emms-print-metadata\"|\"$out/bin/emms-print-metadata\"|g"
sed -i "emms-volume-amixer.el" \
-e 's|"amixer"|"${alsaUtils}/bin/amixer"|g'
# Use the libtag info back-end for MP3s since we're building it.
sed -i "emms-setup.el" \
-e 's|emms-info-mp3info|emms-info-libtag|g'
# But use mp3info for the tag editor.
sed -i "emms-info-mp3info.el" \
-e 's|emms-info-mp3info-program-name[[:blank:]]\+"mp3info"|emms-info-mp3info-program-name "${mp3info}/bin/mp3info"|g'
sed -i "emms-tag-editor.el" \
-e 's|"mp3info"|"${mp3info}/bin/mp3info"|g'
'';
postInstall = ''
mkdir -p "$out/bin" && cp emms-print-metadata "$out/bin"
'';
meta = {
description = "GNU EMMS, The Emacs Multimedia System";
longDescription = ''
EMMS is the Emacs Multimedia System. It tries to be a clean and
small application to play multimedia files from Emacs using
external players. Many of it's ideas are derived from
MpthreePlayer, but it tries to be more general and cleaner.
The fact that EMMS is based on external players makes it
powerful, because it supports all formats that those players
support, with no effort from your side.
'';
homepage = https://www.gnu.org/software/emms/;
license = stdenv.lib.licenses.gpl3Plus;
maintainers = [ ];
platforms = stdenv.lib.platforms.unix;
broken = true;
};
}

View File

@ -1,22 +0,0 @@
{ stdenv, fetchurl, emacs, unzip, autoComplete, dash, s, scalaMode2, sbtMode }:
stdenv.mkDerivation {
name = "emacs-ensime-2014-09-04";
src = fetchurl {
url = "https://github.com/ensime/ensime-emacs/archive/d3820a3f362975f6e14b817988ec07bfef2b4dad.zip";
sha256 = "0gwr0r92z2hh2x8g0hpxaar2vvfk1b91cp6v04gaasw0fvl5i7g5";
};
buildInputs = [ emacs unzip ];
propagatedUserEnvPkgs = [ autoComplete dash s scalaMode2 sbtMode ];
buildPhase = ''
emacs -L . -L ${autoComplete}/share/emacs/site-lisp --batch -f batch-byte-compile *.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install *.el *.elc $out/share/emacs/site-lisp
'';
}

View File

@ -1,25 +0,0 @@
{ stdenv, erlang }:
stdenv.mkDerivation {
name = "erlang-mode-${erlang.version}";
buildInputs = [ ];
inherit erlang;
buildCommand = ''
mkdir -p "$out/share/emacs/site-lisp"
cp "$erlang/lib/erlang/lib/tools"*/emacs/*.el $out/share/emacs/site-lisp/
'';
# emacs highlighting */
meta = with stdenv.lib; {
homepage = https://github.com/erlang/otp;
description = "Erlang mode for Emacs";
license = licenses.asl20;
platforms = platforms.unix;
maintainers = [ maintainers.samuelrivas ];
};
}

View File

@ -1,21 +0,0 @@
{ stdenv, fetchurl, emacs, texinfo }:
stdenv.mkDerivation rec {
name = "ess-14.09";
src = fetchurl {
url = "http://ess.r-project.org/downloads/ess/${name}.tgz";
sha256 = "0wa507jfmq3k7x0vigd2yzb4j2190ix4wnnpv7ql4bjy0vfvmwdn";
};
buildInputs = [ emacs texinfo ];
configurePhase = "makeFlags=PREFIX=$out";
meta = {
description = "Emacs Speaks Statistics";
homepage = http://ess.r-project.org/;
license = stdenv.lib.licenses.gpl2Plus;
hydraPlatforms = stdenv.lib.platforms.linux;
};
}

View File

@ -1,30 +0,0 @@
{ stdenv, fetchurl, emacs }:
stdenv.mkDerivation rec {
name = "flymake-cursor-0.1.5";
src = fetchurl {
url = "http://www.emacswiki.org/emacs/download/flymake-cursor.el";
sha256 = "10cpzrd588ya52blghxss5zkn6x8hc7bx1h0qbcdlybbmkjgpkxr";
};
phases = [ "buildPhase" "installPhase"];
buildInputs = [ emacs ];
buildPhase = ''
cp $src flymake-cursor.el
emacs --batch -f batch-byte-compile flymake-cursor.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install flymake-cursor.el flymake-cursor.elc $out/share/emacs/site-lisp
'';
meta = {
description = "Displays flymake error msg in minibuffer after delay";
homepage = http://www.emacswiki.org/emacs/flymake-cursor.el;
license = stdenv.lib.licenses.publicDomain;
};
}

View File

@ -1,31 +0,0 @@
{ stdenv, fetchgit, emacs, pcache, logito }:
stdenv.mkDerivation rec {
name = "gh-0.5.3";
src = fetchgit {
url = "https://github.com/sigma/gh.el.git";
rev = "ef03b63d063ec22f03af449aa955c98dfad7f80e";
sha256 = "1pciq16vl5l4kvj08q4ib1jzk2bb2y1makcsyaw8k9jblqviw756";
};
buildInputs = [ emacs ];
propagatedUserEnvPkgs = [ pcache logito ];
patchPhase = ''
sed -i Makefile \
-e "s|^ *EFLAGS *=|& -L ${pcache}/share/emacs/site-lisp -L ${logito}/share/emacs/site-lisp --eval '(setq user-emacs-directory \"./\")'|" \
-e "s|/usr/local|$out|" \
-e "s|/site-lisp/\$(PKGNAME)|/site-lisp|"
'';
buildPhase = "make lisp";
meta = {
description = "A (very early) GitHub client library for Emacs";
homepage = https://github.com/sigma/gh.el;
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,36 +0,0 @@
{ stdenv, fetchgit, emacs, gh, pcache, logito }:
stdenv.mkDerivation rec {
name = "gist-1.0";
src = fetchgit {
url = "https://github.com/sigma/gist.el.git";
rev = "bbb457e4eaaf5f96cfaaa4f63021e3e542bfbfed";
sha256 = "469f9df52076d0c6038183cff4b9415bca98de66c08814a60b69729b44bdf294";
};
buildInputs = [ emacs ];
buildPhase = ''
emacs -L ${gh}/share/emacs/site-lisp \
-L ${pcache}/share/emacs/site-lisp \
-L ${logito}/share/emacs/site-lisp \
--eval '(setq user-emacs-directory "./")' \
--batch -f batch-byte-compile gist.el
'';
propagatedUserEnvPkgs = [ gh pcache logito ];
installPhase = ''
install -d $out/share/emacs/site-lisp
install gist.el gist.elc $out/share/emacs/site-lisp
'';
meta = {
description = "Emacs integration for gist.github.com";
homepage = https://github.com/sigma/gist.el;
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,25 +0,0 @@
{ stdenv, fetchurl, emacs }:
stdenv.mkDerivation rec {
name = "graphviz-dot-mode-0.3.3";
src = fetchurl {
url = "http://www.graphviz.org/Misc/graphviz-dot-mode.el";
sha256 = "6465c18cfaa519a063cf664207613f70b0a17ac5eabcfaa949b3c4c289842953";
};
buildInputs = [ emacs ];
dontUnpack = true;
installPhase = ''
mkdir -p "$out/share/emacs/site-lisp"
cp -v ${src} "$out/share/emacs/site-lisp/graphviz-dot-mode.el"
emacs -batch --eval '(setq load-path (cons "." load-path))' -f batch-byte-compile "$out/share/emacs/site-lisp/graphviz-dot-mode.el"
'';
meta = {
homepage = http://www.graphviz.org/;
description = "An emacs mode for the DOT Language, used by graphviz";
};
}

View File

@ -1,42 +0,0 @@
{ stdenv, fetchFromGitHub, emacs, texinfo }:
# Use "emacsMelpa.haskell-mode" instead.
let
version = "13.14-169-g0d3569d"; # git describe --tags
in
stdenv.mkDerivation {
name = "haskell-mode-${version}";
src = fetchFromGitHub {
owner = "haskell";
repo = "haskell-mode";
rev = "v${version}";
sha256 = "0v5iy9wy05hf44wy7qs0c9q0v34m4k6wrqg4kyvji61568k1yx3k";
};
buildInputs = [ emacs texinfo ];
makeFlags = "VERSION=v${version} GIT_VERSION=v${version}";
installPhase = ''
mkdir -p $out/share/emacs/site-lisp
cp *.el *.elc *.hs $out/share/emacs/site-lisp/
mkdir -p $out/share/info
cp -v *.info* $out/share/info/
'';
# The test suite must run *after* copying the generated files to $out
# because "make check" implies "make clean".
doInstallCheck = true;
installCheckTarget = "check";
meta = {
homepage = https://github.com/haskell/haskell-mode;
description = "Haskell mode for Emacs";
platforms = stdenv.lib.platforms.unix;
maintainers = [ stdenv.lib.maintainers.peti ];
broken = true; # no longer compiles and this package is obsolete anyway
};
}

View File

@ -22,5 +22,8 @@ stdenv.mkDerivation rec {
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
# Fails trying to fetch dependencies in build
# broken = true;
};
}

View File

@ -1,22 +0,0 @@
{ stdenv, fetchFromGitHub }:
stdenv.mkDerivation {
name = "htmlize-1.47";
src = fetchFromGitHub {
owner = "emacsmirror";
repo = "htmlize";
rev = "release/1.47";
name = "htmlize-1.47-src";
sha256 = "1vkqxgirc82vc44g7xhhr041arf93yirjin3h144kjyfkgkplnkp";
};
installPhase = ''
mkdir -p $out/share/emacs/site-lisp
cp htmlize.el $out/share/emacs/site-lisp/
'';
meta = {
description = "Convert buffer text and decorations to HTML";
};
}

View File

@ -1,31 +0,0 @@
{ stdenv, fetchurl, emacs }:
stdenv.mkDerivation rec {
name = "${pname}-${version}";
pname = "idris-mode";
version = "0.9.18";
src = fetchurl {
url = "https://github.com/idris-hackers/${pname}/archive/${version}.tar.gz";
sha256 = "06rw5lrxqqnw0kni3x9jm73x352d1vb683d41v8x3yzqfa2sxmwg";
};
buildInputs = [ emacs ];
buildPhase = ''
emacs -L . --batch -f batch-byte-compile *.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install *.el *.elc $out/share/emacs/site-lisp
'';
meta = {
description = "Emacs major mode for Idris";
homepage = https://github.com/idris-hackers/idris-mode;
license = stdenv.lib.licenses.gpl3;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,23 +0,0 @@
{ stdenv, fetchurl, emacs }:
stdenv.mkDerivation rec {
pname = "emacs-jabber";
version = "0.8.0";
name = "${pname}-${version}";
src = fetchurl {
url = "mirror://sourceforge/${pname}/${name}.tar.bz2";
sha256 = "75e3b7853de4783b8ab8270dcbe6a1e4f576224f77f7463116532e11c6498c26";
};
buildInputs = [ emacs ];
meta = with stdenv.lib; {
description = "A Jabber client for Emacs";
longDescription = ''
jabber.el is a Jabber client for Emacs. It may seem strange to have a
chat client in an editor, but consider that chatting is, after all, just
a special case of text editing.
'';
homepage = http://emacs-jabber.sourceforge.net/;
license = licenses.gpl2Plus;
maintainers = with maintainers; [ astsmtl ];
platforms = platforms.linux;
};
}

View File

@ -1,30 +0,0 @@
{ stdenv, fetchgit, emacs }:
stdenv.mkDerivation {
name = "jade-mode-0-20120802";
src = fetchgit {
url = "https://github.com/brianc/jade-mode.git";
rev = "275ab149edb0f6bcfae6ac17ba456f3351191604";
sha256 = "3cd2bebcd66e59d60b8e5e538e65a8ffdfc9a53b86443090a284e8329d7cb09b";
};
buildInputs = [ emacs ];
buildPhase = ''
emacs --batch -L . -f batch-byte-compile *.el
'';
installPhase = ''
mkdir -p $out/share/emacs/site-lisp
cp *.el *.elc $out/share/emacs/site-lisp/
'';
meta = {
description = "Emacs major mode for jade and stylus";
homepage = https://github.com/brianc/jade-mode;
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,12 +0,0 @@
Make sure `build.properties' is honored.
--- jde/build.xml
+++ jde/build.xml
@@ -14,6 +14,7 @@
<property name="project.version" value="2.4.0"/>
<property name="config.dir" location="./config"/>
+ <property file="build.properties"/>
<!-- everything depends on this initialization target -->
<target name="init">

View File

@ -1,18 +0,0 @@
JDE insists on seeing CEDET's source tree layout, with various
sub-directories (`common', `eieio', etc.). However, the installed CEDET
is flat, with everything under ${cedet}/share/emacs/site-lisp.
--- jde/config/build.el (revision 90)
+++ jde/config/build.el (working copy)
@@ -50,10 +50,5 @@ PATHS are sub directories under CEDET-DI
(jde-make-autoloads-and-compile (expand-file-name "@{build.lisp.dir}")
"@{src.lisp.dir}"
"@{cedet.dir}"
- '("common"
- "eieio"
- "semantic"
- "semantic/bovine"
- "speedbar"
- )
+ '(".")
"@{build.lisp.autoload.libname}")

View File

@ -1,99 +0,0 @@
{ fetchsvn, stdenv, emacs, cedet, ant }:
let
revision = "137";
in
stdenv.mkDerivation rec {
name = "jdee-svn${revision}";
# Last release is too old, so use SVN.
# See http://www.emacswiki.org/emacs/JavaDevelopmentEnvironment .
src = fetchsvn {
url = "https://jdee.svn.sourceforge.net/svnroot/jdee/trunk/jdee";
rev = revision;
sha256 = "1z1y957glbqm7z3dhah9h4jysw3173pq1gpx5agfwcw614n516xz";
};
patchFlags = "-p1 --ignore-whitespace";
patches = [
./build-properties.patch
./cedet-paths.patch ./elib-avltree.patch
./java-directory.patch
];
configurePhase = ''
mkdir -p "dist"
cat > build.properties <<EOF
dist.lisp.dir = dist/share/emacs/site-lisp
dist.java.lib.dir = dist/share/java
dist.jar.jde.file = dist/share/java/jde.jar
dist.java.src.dir = dist/src/${name}/java
dist.doc.dir dist/doc/${name}
prefix.dir = $out
cedet.dir = ${cedet}/share/emacs/site-lisp
elib.dir = /nowhere
build.bin.emacs = ${emacs}/bin/emacs
EOF
# Substitute variables, à la Autoconf.
for i in "lisp/"*.el
do
sed -i "$i" -e "s|@out@|$out|g ;
s|@javadir@|$out/share/java|g ;
s|@datadir@|$out/share/${name}|g"
done
'';
buildPhase = "ant dist";
installPhase = ''
ant install
mkdir -p "$out/share/${name}"
cp -rv java/bsh-commands "$out/share/${name}"
# Move everything that's not a JAR to $datadir. This includes
# `sun_checks.xml', license files, etc.
cd "$out/share/java"
for i in *
do
if echo $i | grep -qv '\.jar''$'
then
mv -v "$i" "$out/share/${name}"
fi
done
'';
buildInputs = [ emacs ant ];
propagatedBuildInputs = [ cedet ];
propagatedUserEnvPkgs = propagatedBuildInputs; # FIXME: Not honored
meta = {
description = "JDEE, a Java development environment for Emacs";
longDescription = ''
The JDEE is a software package that interfaces Emacs to
command-line Java development tools (for example, JavaSoft's
JDK). JDEE features include:
* JDEE menu with compile, run, debug, build, browse, project,
and help commands
* syntax coloring
* auto indentation
* compile error to source links
* source-level debugging
* source code browsing
* make file support
* automatic code generation
* Java source interpreter (Pat Neimeyer's BeanShell)
'';
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ ];
platforms = stdenv.lib.platforms.gnu ++ stdenv.lib.platforms.linux; # arbitrary choice
broken = true;
};
}

View File

@ -1,105 +0,0 @@
JDEE refers to the `avltree' module from GNU Elib, but GNU Elib
no longer exists (see http://www.gnu.org/software/elib/). This
patch updates the module names to what's current in Emacs.
--- jde/config/build.el
+++ jde/config/build.el
@@ -33,11 +33,10 @@ compile.
CEDET-DIR is the cedet lisp code base directory (see PATHS).
PATHS are sub directories under CEDET-DIR we use to compile."
- (dolist (path (list dir lisp-src-dir elib-dir cedet-dir))
+ (dolist (path (list dir lisp-src-dir cedet-dir))
(if (not (file-directory-p path))
(error "Doesn't exist or not a directory: %s" path)))
(let ((autoload-buf (jde-make-autoloads dir autoload-libname)))
- (add-to-list 'load-path elib-dir t)
(dolist (path paths)
(add-to-list 'load-path (expand-file-name path cedet-dir) t))
(add-to-list 'load-path lisp-src-dir t)
--- jde/lisp/jde-parse.el (revision 90)
+++ jde/lisp/jde-parse.el (working copy)
@@ -24,7 +24,7 @@
(require 'semantic-sb)
(require 'semantic-ctxt)
-(require 'avltree)
+(require 'avl-tree)
(require 'thingatpt)
(require 'eieio)
(require 'jde-imenu) ; All the imenu stuff is here now!
@@ -869,7 +869,8 @@ in a method; otherwise, nil."
(defclass jde-avl-tree ()
((tree :initarg tree
- :type list
+ ;; FIXME: Emacs 23 `avl-tree' objects are not lists.
+ ;;:type list
:documentation
"The tree")
(compare-fcn :initarg compare-fcn
@@ -887,51 +887,51 @@ in a method; otherwise, nil."
(assert (typep (oref this compare-fcn) 'function))
- (oset this tree (avltree-create (oref this compare-fcn))))
+ (oset this tree (avl-tree-create (oref this compare-fcn))))
(defmethod jde-avl-tree-add ((this jde-avl-tree) item)
"Inserts ITEM in this tree."
- (avltree-enter (oref this tree) item))
+ (avl-tree-enter (oref this tree) item))
(defmethod jde-avl-tree-delete ((this jde-avl-tree) item)
"Deletes ITEM from THIS tree."
- (avltree-delete (oref this tree) item))
+ (avl-tree-delete (oref this tree) item))
(defmethod jde-avl-tree-is-empty ((this jde-avl-tree))
"Return t if THIS tree is empty, otherwise return nil."
- (avltree-empty (oref this tree)))
+ (avl-tree-empty (oref this tree)))
(defmethod jde-avl-tree-find ((this jde-avl-tree) item)
"Return the element in THIS tree that matches item."
- (avltree-member (oref this tree) item))
+ (avl-tree-member (oref this tree) item))
(defmethod jde-avl-tree-map ((this jde-avl-tree) map-function)
"Applies MAP-FUNCTION to all elements of THIS tree."
- (avltree-map map-function (oref this tree)))
+ (avl-tree-map map-function (oref this tree)))
(defmethod jde-avl-tree-first ((this jde-avl-tree))
"Return the first item in THIS tree."
- (avltree-first (oref this tree)))
+ (avl-tree-first (oref this tree)))
(defmethod jde-avl-tree-last ((this jde-avl-tree))
"Return the last item in THIS tree."
- (avltree-last (oref this tree)))
+ (avl-tree-last (oref this tree)))
(defmethod jde-avl-tree-copy ((this jde-avl-tree))
"Return a copy of THIS tree."
- (avltree-copy (oref this tree)))
+ (avl-tree-copy (oref this tree)))
(defmethod jde-avl-tree-flatten ((this jde-avl-tree))
"Return a sorted list containing all elements of THIS tree."
- (avltree-flatten (oref this tree)))
+ (avl-tree-flatten (oref this tree)))
(defmethod jde-avl-tree-size ((this jde-avl-tree))
"Return the number of elements in THIS tree."
- (avltree-size (oref this tree)))
+ (avl-tree-size (oref this tree)))
(defmethod jde-avl-tree-clear ((this jde-avl-tree))
"Delete all elements of THIS tree."
- (avltree-clear (oref this tree)))
+ (avl-tree-clear (oref this tree)))
(defclass jde-parse-method-map (jde-avl-tree)
()

View File

@ -1,82 +0,0 @@
Tell the elisp code about the right Java directory.
--- jde/lisp/jde.el (revision 90)
+++ jde/lisp/jde.el (working copy)
@@ -2448,17 +2448,14 @@ environment variable."
(defmethod initialize-instance ((this jde-bsh) &rest fields)
"Constructor for the JDEE BeanShell instance."
(call-next-method)
- (let* ((jde-java-directory
- (concat
- (jde-find-jde-data-directory)
- "java/")))
-
- (oset this bsh-cmd-dir (expand-file-name "bsh-commands" jde-java-directory))
- (oset this checkstyle-jar (expand-file-name "lib/checkstyle-all.jar" jde-java-directory))
- (oset this regexp-jar (expand-file-name "lib/jakarta-regexp.jar" jde-java-directory))
+ (let ((jde-java-directory "@out@/share/java"))
+
+ (oset this bsh-cmd-dir "@datadir@/bsh-commands")
+ (oset this checkstyle-jar (expand-file-name "checkstyle-all.jar" jde-java-directory))
+ (oset this regexp-jar (expand-file-name "jakarta-regexp.jar" jde-java-directory))
(oset this jde-classes-dir (expand-file-name "classes" jde-java-directory))
- (oset this jde-jar (expand-file-name "lib/jde.jar" jde-java-directory))
- (oset this jar (expand-file-name "lib/bsh.jar" jde-java-directory))
+ (oset this jde-jar (expand-file-name "jde.jar" jde-java-directory))
+ (oset this jar (expand-file-name "bsh.jar" jde-java-directory))
(oset-default 'jde-bsh the-bsh this)))
(defmethod bsh-create-buffer ((this jde-bsh))
--- jde/lisp/jde-checkstyle.el (revision 90)
+++ jde/lisp/jde-checkstyle.el (working copy)
@@ -316,10 +316,7 @@ string describing how the compilation fi
(vm-path (oref (jde-run-get-vm) :path))
(source-file
(concat (file-name-nondirectory buffer-file-name)))
- (jde-java-directory
- (concat
- (jde-find-jde-data-directory)
- "java/"))
+ (jde-java-directory "@out@/share/java")
(args (append
(unless jde-checkstyle-expanded-properties-file
(jde-checkstyle-get-property-args this))
@@ -328,12 +325,12 @@ string describing how the compilation fi
(if jde-checkstyle-classpath
(jde-build-classpath jde-checkstyle-classpath)
(jde-normalize-path
- (expand-file-name "lib/checkstyle-all.jar" jde-java-directory))))
+ (expand-file-name "checkstyle-all.jar" jde-java-directory))))
(list jde-checkstyle-class)
(list "-c"
(if jde-checkstyle-style
(jde-normalize-path jde-checkstyle-style)
- (concat (jde-find-jde-data-directory) "java/lib/sun_checks.xml")))
+ "@datadir@/sun_checks.xml"))
(if jde-checkstyle-expanded-properties-file
(list "-p" (jde-normalize-path jde-checkstyle-expanded-properties-file)))
(if jde-checkstyle-module-package-names-file
--- jde/lisp/jde-dbs.el (revision 90)
+++ jde/lisp/jde-dbs.el (working copy)
@@ -899,9 +899,7 @@ for the breakpoint."
(jde-normalize-path 'jde-run-working-directory)
source-directory))
(vm (oref (jde-run-get-vm) :path))
- (jde-java-directory
- (expand-file-name "java"
- (jde-find-jde-data-directory)))
+ (jde-java-directory "@out@/share/java")
(vm-args
(let (args)
(setq args
@@ -912,7 +910,7 @@ for the breakpoint."
(jde-build-classpath
(list
(expand-file-name
- (if jde-bug-debug "classes" "lib/jde.jar")
+ (if jde-bug-debug "classes" "jde.jar")
jde-java-directory)
(if (jde-bug-vm-includes-jpda-p)
(jde-get-tools-jar)

View File

@ -1,22 +0,0 @@
{ stdenv, fetchgit, emacs }:
stdenv.mkDerivation {
name = "js2-mode-0-20141118";
src = fetchgit {
url = "git://github.com/mooz/js2-mode.git";
rev = "3abcd90ddc2f446ddf0fb874dd79ba870c26ad2d";
sha256 = "0sh9ax2w0ydhjjn4vnwbgy3926p7ad6h6nmsnm0a3zlldj9a4vwn";
};
buildInputs = [ emacs ];
buildPhase = ''
emacs --batch -f batch-byte-compile js2-mode.el
'';
installPhase = ''
mkdir -p $out/share/emacs/site-lisp
cp js2-mode.el js2-mode.elc $out/share/emacs/site-lisp/
'';
}

View File

@ -1,26 +0,0 @@
{ stdenv, fetchurl, emacs }:
stdenv.mkDerivation rec {
name = "let-alist-1.0.3";
src = fetchurl {
url = "https://elpa.gnu.org/packages/let-alist-1.0.3.el";
sha256 = "12n1cmjc7hzyy0jmsdxqz1hqzg4ri4nvvi0p9mw1d6v44xzfm0mx";
};
buildInputs = [ emacs ];
unpackPhase = "cp -v ${src} let-alist.el";
buildPhase = "emacs --batch -f batch-byte-compile let-alist.el";
installPhase = ''
mkdir -p $out/share/emacs/site-lisp
mv -v *.el *.elc $out/share/emacs/site-lisp/
'';
meta = {
homepage = https://elpa.gnu.org/packages/let-alist.html;
description = "Easily let-bind values of an assoc-list by their names";
license = stdenv.lib.licenses.gpl3Plus;
};
}

View File

@ -1,30 +0,0 @@
{ stdenv, fetchgit, emacs }:
stdenv.mkDerivation rec {
name = "logito-0.1";
src = fetchgit {
url = "https://github.com/sigma/logito.git";
rev = "824acb89d2cc18cb47281a4fbddd81ad244a2052";
sha256 = "b9a7433417eafc5bc158f63dddf559b2044368eb3061f0264169de319c68fe4a";
};
buildInputs = [ emacs ];
buildPhase = ''
emacs --batch -f batch-byte-compile logito.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install logito.el logito.elc $out/share/emacs/site-lisp
'';
meta = {
description = "Tiny logging framework for Emacs";
homepage = https://github.com/sigma/logito;
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,32 +0,0 @@
{ stdenv, fetchurl, emacs }:
stdenv.mkDerivation rec {
name = "lorem-ipsum-0.1";
src = fetchurl {
url = "http://www.emacswiki.org/emacs/download/lorem-ipsum.el";
sha256 = "122d0z3xqfaikgk34l7bh989mfxddin2ljinysp2lqw8djfi7jsl";
};
phases = [ "buildPhase" "installPhase"];
buildInputs = [ emacs ];
buildPhase = ''
cp $src lorem-ipsum.el
emacs --batch -f batch-byte-compile lorem-ipsum.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install lorem-ipsum.el lorem-ipsum.elc $out/share/emacs/site-lisp
'';
meta = {
description = "Insert dummy pseudo Latin text for Emacs";
homepage = http://www.emacswiki.org/emacs/LoremIpsum;
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -142,4 +142,57 @@
zeitgeist = callPackage ./zeitgeist { };
# From old emacsPackages (pre emacsPackagesNg)
cedet = callPackage ./cedet { };
cedille = callPackage ./cedille { cedille = pkgs.cedille; };
coffee = callPackage ./coffee { };
colorThemeSolarized = callPackage ./color-theme-solarized {
colorTheme = self.color-theme;
};
cua = callPackage ./cua { };
emacsClangCompleteAsync = callPackage ./emacs-clang-complete-async { };
emacsSessionManagement = callPackage ./session-management-for-emacs { };
hsc3-mode = callPackage ./hsc3 { };
hol_light_mode = callPackage ./hol_light { };
ido-ubiquitous = callPackage ./ido-ubiquitous { };
ocaml-mode = callPackage ./ocaml { };
prolog-mode = callPackage ./prolog { };
rectMark = callPackage ./rect-mark { };
sunriseCommander = callPackage ./sunrise-commander { };
# Legacy aliases, these try to mostly map to melpa stable because it's
# closer to the old outdated package infra.
#
# Ideally this should be dropped some time during/after 20.03
bbdb3 = self.melpaStablePackages.bbdb;
ocamlMode = self.ocaml-mode;
jade = self.jade-mode;
# scalaMode2 = null; # No clear mapping as of now
flymakeCursor = self.melpaStablePackages.flymake-cursor;
cryptol = self.melpaStablePackages.cryptol-mode;
maudeMode = self.maude-mode;
phpMode = self.melpaStablePackages.php-mode;
idris = self.melpaStablePackages.idris-mode;
rainbowDelimiters = self.melpaStablePackages.rainbow-delimiters;
colorTheme = self.color-theme;
sbtMode = self.melpaStablePackages.sbt-mode;
markdownMode = self.melpaStablePackages.markdown-mode;
scalaMode1 = self.melpaStablePackages.scala-mode;
prologMode = self.prolog-mode;
hsc3Mode = self.hsc3-mode;
graphvizDot = self.melpaStablePackages.graphviz-dot-mode;
proofgeneral_HEAD = self.proof-general;
proofgeneral = self.melpaStablePackages.proof-general;
haskellMode = self.melpaStablePackages.haskell-mode;
writeGood = self.melpaStablePackages.writegood-mode;
erlangMode = self.melpaStablePackages.erlang;
d = self.melpaStablePackages.d-mode;
autoComplete = self.melpaStablePackages.auto-complete;
tuaregMode = self.melpaStablePackages.tuareg;
structuredHaskellMode = self.melpaStablePackages.shm;
xmlRpc = self.melpaStablePackages.xml-rpc;
emacsw3m = self.w3m;
loremIpsum = self.lorem-ipsum;
js2 = self.melpaStablePackages.js2-mode;
}

View File

@ -1,28 +0,0 @@
{ stdenv, fetchFromGitHub, emacs }:
let
version = "2.0-82-gfe30ef7";
in
stdenv.mkDerivation {
name = "markdown-mode-${version}";
src = fetchFromGitHub {
owner = "defunkt";
repo = "markdown-mode";
rev = "v${version}";
sha256 = "14a6r05j0g2ppq2q4kd14qyxwr6yv5jwndavbwzkmp6qhmm9k8nz";
};
buildInputs = [ emacs ];
buildPhase = ''
emacs -L . --batch -f batch-byte-compile *.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install *.el *.elc $out/share/emacs/site-lisp
'';
meta.license = stdenv.lib.licenses.gpl3Plus;
}

View File

@ -1,20 +0,0 @@
{stdenv, fetchurl, emacs}:
stdenv.mkDerivation {
name = "maude-mode-0.2";
src = fetchurl {
url = "mirror://sourceforge/maude-mode/maude-mode-0.2.tar.gz";
sha256 = "19jdd7la0bxxxnnq4ryckf63jykg0r3v92z126x6djaigi3xn1yx";
};
buildInputs = [emacs];
configureFlags = [ "--with-lispdir=$$out/share/emacs/site-lisp" ];
meta = {
description = "Emacs mode for the programming language Maude";
license = stdenv.lib.licenses.gpl2;
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.peti ];
};
}

View File

@ -6,8 +6,8 @@ To update the list of packages from MELPA,
1. Run ./update-melpa
2. Check for evaluation errors:
env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPackagesNg.melpaStablePackages
env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPackagesNg.melpaPackages
env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPackages.melpaStablePackages
env NIXPKGS_ALLOW_BROKEN=1 nix-instantiate --show-trace ../../../../ -A emacsPackages.melpaPackages
3. `git commit -m "melpa-packages: $(date -Idate)" recipes-archive-melpa.json`
*/

View File

@ -1,31 +0,0 @@
{ stdenv, fetchgit, emacs, xmlRpc }:
stdenv.mkDerivation rec {
name = "metaweblog-0.1";
src = fetchgit {
url = https://github.com/punchagan/metaweblog.git;
rev = "ceda65048afaa4c7596c7f50ced998c59ef41167";
sha256 = "a4c10bb1b4be574e560f87d5f07da4e24e5fffe9ecc83e6d4f9325f3a7eb1e2f";
};
buildInputs = [ emacs ];
propagatedUserEnvPkgs = [ xmlRpc ];
buildPhase = ''
emacs -L . -L ${xmlRpc}/share/emacs/site-lisp --batch -f batch-byte-compile *.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install *.el* $out/share/emacs/site-lisp
'';
meta = {
description = "An emacs library to access metaweblog based weblogs";
homepage = https://github.com/punchagan/metaweblog;
license = stdenv.lib.licenses.gpl3Plus;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,19 +0,0 @@
{ stdenv, fetchurl, emacs, unzip }:
stdenv.mkDerivation {
name = "emacs-monky-20150404";
src = fetchurl {
url = "https://github.com/ananthakumaran/monky/archive/48c0200910739b6521f26f6423b2bfb8c38b4482.zip";
sha256 = "0yp3pzddx7yki9n3qrriqa5p442qyrdivvlc4xbl024vzjyzddrj";
};
buildInputs = [ emacs unzip ];
buildPhase = "emacs -L . --batch -f batch-byte-compile *.el";
installPhase = ''
install -d $out/share/emacs/site-lisp
install *.el *.elc $out/share/emacs/site-lisp
'';
}

View File

@ -1,29 +0,0 @@
{ stdenv, fetchgit, emacs }:
stdenv.mkDerivation rec {
rev = "646482203aacdf847d57d0a96263fddcfc33fb61";
name = "emacs-offlineimap-${rev}";
src = fetchgit {
inherit rev;
url = "git://git.naquadah.org/offlineimap-el.git";
sha256 = "0az4llfgva4wvpljyc5s2m7ggfnj06ssp32x8bncr5fzksha3r7b";
};
buildInputs = [ emacs ];
installPhase = ''
substituteInPlace offlineimap.el --replace "Machine.MachineUI" "machineui"
emacs --batch -f batch-byte-compile offlineimap.el
install -d $out/share/emacs/site-lisp
install offlineimap.el offlineimap.elc $out/share/emacs/site-lisp
'';
meta = {
description = "OfflineIMAP support for Emacs";
homepage = "http://julien.danjou.info/projects/emacs-packages#offlineimap";
platforms = stdenv.lib.platforms.all;
maintainers = [ ];
broken = true;
};
}

View File

@ -1,51 +0,0 @@
{ fetchurl, stdenv, emacs, texinfo, texlive }:
stdenv.mkDerivation rec {
name = "org-8.3.3";
src = fetchurl {
url = "http://orgmode.org/${name}.tar.gz";
sha256 = "1vhymmd41v7an457xdjhk5zfc4q1x7z64b25rs1ccam5p550cq65";
};
buildInputs = [ emacs ];
nativeBuildInputs = [ (texlive.combine {
inherit (texlive) scheme-small cm-super;
}) texinfo ];
configurePhase =
'' sed -i mk/default.mk \
-e "s|^prefix\t=.*$|prefix=$out/share|g"
'';
postBuild =
'' make doc
'';
installPhase =
'' make install install-info
mkdir -p "$out/share/doc/${name}"
cp -v doc/org*.{html,pdf,txt} "$out/share/doc/${name}"
mkdir -p "$out/share/org"
cp -R contrib "$out/share/org/contrib"
'';
meta = {
description = "Org-Mode, an Emacs mode for notes, project planning, and authoring";
longDescription =
'' Org-mode is for keeping notes, maintaining ToDo lists, doing project
planning, and authoring with a fast and effective plain-text system.
This package contains a version of Org-mode typically more recent
than that found in GNU Emacs.
'';
license = stdenv.lib.licenses.gpl3Plus;
maintainers = with stdenv.lib.maintainers; [ pSub ];
platforms = stdenv.lib.platforms.unix;
};
}

View File

@ -1,34 +0,0 @@
{ stdenv, fetchgit, emacs, org, xmlRpc, metaweblog }:
stdenv.mkDerivation rec {
name = "org2blog-0.8.1";
src = fetchgit {
url = https://github.com/punchagan/org2blog.git;
rev = "5f573ff3e4007c16517a5fe28c4f5d8dde3f8a77";
sha256 = "e83c08ceece92bb507be70046db4a7fa87a4af34ad3f84a727e0bd6a1dd99a33";
};
buildInputs = [ emacs ];
propagatedUserEnvPkgs = [ org xmlRpc metaweblog ];
buildPhase = ''
emacs -L . -L ${org}/share/emacs/site-lisp/org \
-L ${xmlRpc}/share/emacs/site-lisp \
-L ${metaweblog}/share/emacs/site-lisp \
--batch -f batch-byte-compile *.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install *.el* $out/share/emacs/site-lisp
'';
meta = {
description = "Publish directly from Emacs org-mode to WordPress blogs";
homepage = https://github.com/punchagan/org2blog;
license = stdenv.lib.licenses.gpl3Plus;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,30 +0,0 @@
{ stdenv, fetchgit, emacs }:
stdenv.mkDerivation rec {
name = "pcache-0.2.3";
src = fetchgit {
url = "https://github.com/sigma/pcache.git";
rev = "fa8f863546e2e8f2fc0a70f5cc766a7f584e01b6";
sha256 = "f7cdad5a729b24f96ec69db4adfd19daf45c27aaf3a0267385b252cb2e59daa0";
};
buildInputs = [ emacs ];
buildPhase = ''
emacs --batch -f batch-byte-compile pcache.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install pcache.el pcache.elc $out/share/emacs/site-lisp
'';
meta = {
description = "Persistent caching for Emacs";
homepage = https://github.com/sigma/pcache.el;
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -1,7 +0,0 @@
source $stdenv/setup
mkdir -p $out/share/emacs/site-lisp
cd $out/share/emacs/site-lisp
tar xvfz $src
mv php-mode-*/* .
rmdir php-mode-*

View File

@ -1,12 +0,0 @@
{stdenv, fetchurl}:
stdenv.mkDerivation rec {
name = "php-mode-1.5.0";
src = fetchurl {
url = "mirror://sourceforge/php-mode/${name}.tar.gz";
sha256 = "1bffgg4rpiggxqc1hvjcby24sfyzj5728zg7r6f4v6a126a7kcfq";
};
builder = ./builder.sh;
}

View File

@ -17,5 +17,8 @@ stdenv.mkDerivation {
homepage = http://bruda.ca/emacs/prolog_mode_for_emacs/;
description = "Prolog mode for Emacs";
license = stdenv.lib.licenses.gpl2Plus;
# Has wrong sha256
broken = true;
};
}

View File

@ -1,47 +0,0 @@
{ stdenv, fetchFromGitHub, emacs, texinfo, texLive, which, automake, enableDoc ? false }:
stdenv.mkDerivation rec {
name = "ProofGeneral-${version}";
version = "4.4";
src = fetchFromGitHub {
owner = "ProofGeneral";
repo = "PG";
rev = "v${version}";
sha256 = "0bdfk91wf71z80mdfnl8hpinripndcjgdkz854zil6521r84nqk8";
};
buildInputs = [ emacs which ] ++ stdenv.lib.optionals enableDoc [ texinfo texLive ];
prePatch =
'' sed -i "Makefile" \
-e "s|^\(\(DEST_\)\?PREFIX\)=.*$|\1=$out|g ; \
s|/sbin/install-info|install-info|g"
sed -i "bin/proofgeneral" -e's/which/type -p/g'
chmod +x bin/proofgeneral
# @image{ProofGeneral-image} fails, so remove it.
sed -i '91d' doc/PG-adapting.texi
sed -i '96d' doc/ProofGeneral.texi
'' + stdenv.lib.optionalString enableDoc
# Copy `texinfo.tex' in the right place so that `texi2pdf' works.
'' cp -v "${automake}/share/"automake-*/texinfo.tex doc
'';
patches = [ ./pg.patch ];
installTargets = [ "install" ] ++ stdenv.lib.optional enableDoc "install-doc";
meta = {
description = "Proof General, an Emacs front-end for proof assistants";
longDescription = ''
Proof General is a generic front-end for proof assistants (also known as
interactive theorem provers), based on the customizable text editor Emacs.
'';
homepage = http://proofgeneral.inf.ed.ac.uk;
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.unix; # arbitrary choice
};
}

View File

@ -1,49 +0,0 @@
{ stdenv, fetchFromGitHub, emacs, texinfo, texLive, perl, which, automake, enableDoc ? false }:
stdenv.mkDerivation (rec {
name = "ProofGeneral-unstable-${version}";
version = "2018-01-30";
src = fetchFromGitHub {
owner = "ProofGeneral";
repo = "PG";
rev = "945cada601c5729edd16fcc989a3969c8b34d20a";
sha256 = "1zjmbhq6c8g8b93nnsvr5pxx6mlcndb0fz152b2h80vfh9663cn8";
};
buildInputs = [ emacs texinfo perl which ] ++ stdenv.lib.optional enableDoc texLive;
prePatch =
'' sed -i "Makefile" \
-e "s|^\(\(DEST_\)\?PREFIX\)=.*$|\1=$out|g ; \
s|/sbin/install-info|install-info|g"
# @image{ProofGeneral} fails, so remove it.
sed -i '94d' doc/PG-adapting.texi
sed -i '96d' doc/ProofGeneral.texi
'';
preBuild = ''
make clean;
'';
installPhase =
if enableDoc
then
# Copy `texinfo.tex' in the right place so that `texi2pdf' works.
'' cp -v "${automake}/share/"automake-*/texinfo.tex doc
make install install-doc
''
else "make install";
meta = {
description = "Proof General, an Emacs front-end for proof assistants";
longDescription = ''
Proof General is a generic front-end for proof assistants (also known as
interactive theorem provers), based on the customizable text editor Emacs.
'';
homepage = http://proofgeneral.inf.ed.ac.uk;
license = stdenv.lib.licenses.gpl2Plus;
platforms = stdenv.lib.platforms.unix; # arbitrary choice
};
})

View File

@ -1,16 +0,0 @@
diff -r c7d8bfff4c0a bin/proofgeneral
--- a/bin/proofgeneral Sat Sep 27 02:25:15 2014 +0100
+++ b/bin/proofgeneral Sat Sep 27 02:28:16 2014 +0100
@@ -73,11 +73,7 @@
# Try to find Proof General directory
if [ -z "$PGHOME" ] || [ ! -d "$PGHOME" ]; then
- # default relative to this script, otherwise PGHOMEDEFAULT
- MYDIR="`readlink --canonicalize "$0" | sed -ne 's,/bin/proofgeneral$,,p'`"
- if [ -d "$MYDIR/generic" ]; then
- PGHOME="$MYDIR"
- elif [ -d "$PGHOMEDEFAULT" ]; then
+ if [ -d "$PGHOMEDEFAULT" ]; then
PGHOME="$PGHOMEDEFAULT"
else
echo "Cannot find the Proof General lisp files: Set PGHOME or use --pghome."

View File

@ -1,32 +0,0 @@
{ fetchurl, stdenv, emacs }:
stdenv.mkDerivation {
name = "quack-0.39";
src = fetchurl {
# XXX: Upstream URL is not versioned, which might eventually break this.
url = "http://www.neilvandyke.org/quack/quack.el";
sha256 = "1q5bsllxkibiddwp32306flqm8s3caffnpbqz5ka260avllp4jj5";
};
buildInputs = [ emacs ];
dontUnpack = true;
dontConfigure = true;
installPhase = "true";
buildPhase = ''
emacsDir="$out/share/emacs/site-lisp"
mkdir -p "$emacsDir"
cp -v "$src" "$emacsDir/quack.el"
emacs --batch -f batch-byte-compile "$emacsDir/quack.el"
'';
meta = {
description = "Enhanced Emacs support for editing and running Scheme code";
homepage = http://www.neilvandyke.org/quack/;
license = stdenv.lib.licenses.gpl2Plus;
maintainers = [ ];
};
}

View File

@ -1,23 +0,0 @@
{stdenv, fetchurl, emacs}:
let version = "1.3.13";
in stdenv.mkDerivation {
name = "emacs-rainbow-delimiters-${version}";
src = fetchurl {
url = "https://github.com/jlr/rainbow-delimiters/archive/${version}.tar.gz";
sha256 = "075j3nsk4jm0rs5671n28c1wksrfbvpl9a4f89kzcd7sk1h6ncvl";
};
buildInputs = [ emacs ];
buildPhase = ''
emacs -L . --batch -f batch-byte-compile *.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install *.el *.elc $out/share/emacs/site-lisp
'';
}

View File

@ -1,28 +0,0 @@
{stdenv, fetchurl}:
let
version = "0.2-4";
in
stdenv.mkDerivation
{
name = "rudel-${version}";
src = fetchurl
{
url = "mirror://sourceforge/rudel/rudel-${version}.tar.gz";
sha256 = "68247bfb702d929877f6d098932e8b0ca45c573a3510187e1ccc43e5ea194f25";
};
installPhase = ''
for n in . obby zeroconf jupiter; do
mkdir -p "$out/share/emacs/site-lisp/$n";
cp $n/*.el "$out/share/emacs/site-lisp/$n/";
done
install -D -m444 doc/card.pdf "$out/share/doc/rudel/card.pdf"
'';
meta = {
homepage = http://rudel.sourceforge.net/;
description = "A collaborative editing environment for GNU Emacs";
license = "GPL";
};
}

View File

@ -1,23 +0,0 @@
{stdenv, fetchurl, emacs}:
let version = "1.9.0";
in stdenv.mkDerivation {
name = "emacs-s-${version}";
src = fetchurl {
url = "https://github.com/magnars/s.el/archive/${version}.tar.gz";
sha256 = "1gah2k577gvnmxlpw7zrz0jr571vghzhdv2hbgchlgah07czd091";
};
buildInputs = [ emacs ];
buildPhase = ''
emacs -L . --batch -f batch-byte-compile *.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install *.el *.elc $out/share/emacs/site-lisp
'';
}

View File

@ -1,24 +0,0 @@
{ stdenv, fetchurl, emacs, unzip }:
stdenv.mkDerivation {
name = "sbt-mode-2014-06-05";
src = fetchurl {
url = "https://github.com/hvesalai/sbt-mode/archive/676f22d9658989de401d299ed0250db9b911574d.zip";
sha256 = "0b8qrr3yp48ggl757d3a6bz633mbf4zxqpcwsh47b1ckiwa3nb2h";
};
buildInputs = [ unzip emacs ];
installPhase = ''
mkdir -p "$out/share/emacs/site-lisp"
cp -v *.el *.elc "$out/share/emacs/site-lisp/"
'';
meta = {
homepage = https://github.com/hvesalai/scala-mode2;
description = "An Emacs mode for editing Scala code";
license = "permissive";
};
}

View File

@ -1,30 +0,0 @@
{ fetchsvn, stdenv, emacs }:
let revision = "17339"; in
stdenv.mkDerivation rec {
name = "scala-mode-r${revision}";
src = fetchsvn {
url = "http://lampsvn.epfl.ch/svn-repos/scala/scala-tool-support/trunk/src/emacs";
rev = revision;
sha256 = "05g3xk2mxkqwdnyvxklnrdyhppkvhfs2fd21blhzbhf474cgqlyh";
};
buildInputs = [ emacs ];
installPhase =
'' mkdir -p "$out/share/emacs/site-lisp"
cp -v *.el *.elc "$out/share/emacs/site-lisp"
'';
meta = {
description = "An Emacs mode for editing Scala code";
homepage = https://www.scala-lang.org/node/354;
# non-copyleft, BSD-style
license = "permissive";
maintainers = [ ];
};
}

View File

@ -1,24 +0,0 @@
{ stdenv, fetchurl, emacs, unzip }:
stdenv.mkDerivation {
name = "scala-mode2-2014-07-01";
src = fetchurl {
url = "https://github.com/hvesalai/scala-mode2/archive/c154f1623f4696d26e1c88d19170e67bf6825837.zip";
sha256 = "0im2ajb1iagjldh52j8wz4yby68rs3h7shrdf1pqy5ds7s4fa8cc";
};
buildInputs = [ unzip emacs ];
installPhase = ''
mkdir -p "$out/share/emacs/site-lisp"
cp -v *.el *.elc "$out/share/emacs/site-lisp/"
'';
meta = {
homepage = https://github.com/hvesalai/scala-mode2;
description = "An Emacs mode for editing Scala code";
license = "permissive";
};
}

View File

@ -1,28 +0,0 @@
{ stdenv, fetchzip, emacs }:
# this package installs the emacs-mode which
# resides in the ocaml compiler sources.
let version = "2.0.9";
in stdenv.mkDerivation {
name = "tuareg-mode-${version}";
src = fetchzip {
url = "https://github.com/ocaml/tuareg/releases/download/${version}/tuareg-${version}.tar.gz";
sha256 = "13rh5ddwvwwz5jf0n3wagc5m9zq4cbaylnsknzjalryyvipwfyh3";
};
buildInputs = [ emacs ];
installPhase = ''
mkdir -p "$out/share/emacs/site-lisp"
cp *.el *.elc "$out/share/emacs/site-lisp"
'';
meta = {
homepage = https://github.com/ocaml/tuareg;
description = "OCaml mode package for Emacs";
platforms = stdenv.lib.platforms.unix;
license = stdenv.lib.licenses.gpl2Plus;
};
}

View File

@ -1,7 +1,7 @@
let
pkgs = import ../../../.. {};
emacsEnv = (pkgs.emacsPackagesNgFor pkgs.emacs26).emacsWithPackages (epkgs: let
emacsEnv = (pkgs.emacsPackagesFor pkgs.emacs26).emacsWithPackages (epkgs: let
promise = epkgs.trivialBuild {
pname = "promise";

View File

@ -1,30 +0,0 @@
{stdenv, fetchurl, emacs}:
let version = "2.0.2";
in stdenv.mkDerivation {
name = "writegood-mode-${version}";
src = fetchurl {
url = "https://github.com/bnbeckwith/writegood-mode/archive/v${version}.tar.gz";
sha256 = "1ilbqj24vzpfh9n1wph7idj0914ga290jkpv9kr1pff3a0v5hf6k";
};
buildInputs = [ emacs ];
buildPhase = ''
emacs -L . --batch -f batch-byte-compile *.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install *.el *.elc $out/share/emacs/site-lisp
'';
meta = {
description = "Emacs minor mode that aids in finding common writing problems";
homepage = https://github.com/bnbeckwith/writegood-mode;
platforms = stdenv.lib.platforms.all;
maintainers = [ stdenv.lib.maintainers.pSub ];
license = stdenv.lib.licenses.gpl3;
};
}

View File

@ -1,32 +0,0 @@
{stdenv, fetchurl, emacs}:
stdenv.mkDerivation rec {
name = "xml-rpc-1.6.8";
src = fetchurl {
url = https://launchpadlibrarian.net/40270196/xml-rpc.el;
sha256 = "0i8hf90yhrjwqrv7q1f2g1cff6ld8apqkka42fh01wkdys1fbm7b";
};
phases = [ "buildPhase" "installPhase"];
buildInputs = [ emacs ];
buildPhase = ''
cp $src xml-rpc.el
emacs --batch -f batch-byte-compile xml-rpc.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install xml-rpc.el* $out/share/emacs/site-lisp
'';
meta = {
description = "Elisp implementation of clientside XML-RPC";
homepage = https://launchpad.net/xml-rpc-el;
license = stdenv.lib.licenses.gpl3Plus;
platforms = stdenv.lib.platforms.all;
};
}

View File

@ -18,10 +18,10 @@ the correct version of Emacs.
`emacsWithPackages` inherits the package set which contains it, so the
correct way to override the provided package set is to override the
set which contains `emacsWithPackages`. For example, to override
`emacsPackagesNg.emacsWithPackages`,
`emacsPackages.emacsWithPackages`,
```
let customEmacsPackages =
emacsPackagesNg.overrideScope' (self: super: {
emacsPackages.overrideScope' (self: super: {
# use a custom version of emacs
emacs = ...;
# use the unstable MELPA version of magit

View File

@ -1,4 +1,4 @@
{ stdenv, fetchurl, python, emacsPackagesNg }:
{ stdenv, fetchurl, python, emacsPackages }:
stdenv.mkDerivation rec {
name = "cask-${version}";
@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
};
doCheck = true;
buildInputs = with emacsPackagesNg; [
buildInputs = with emacsPackages; [
s f dash ansi ecukes servant ert-runner el-mock
noflet ert-async shell-split-string git package-build
];
@ -44,5 +44,5 @@ stdenv.mkDerivation rec {
maintainers = [ maintainers.flexw ];
};
nativeBuildInputs = [ emacsPackagesNg.emacs python ];
nativeBuildInputs = [ emacsPackages.emacs python ];
}

View File

@ -87,9 +87,11 @@ mapAliases ({
double_conversion = double-conversion; # 2017-11-22
docker_compose = docker-compose; # 2018-11-10
dwarf_fortress = dwarf-fortress; # added 2016-01-23
emacsMelpa = emacs25PackagesNg; # for backward compatibility
emacsMelpa = emacs25Packages; # for backward compatibility
emacsPackagesGen = emacsPackagesFor; # added 2018-08-18
emacsPackagesNgGen = emacsPackagesNgFor; # added 2018-08-18
emacsPackagesNgGen = emacsPackagesFor; # added 2018-08-18
emacsPackagesNgFor = emacsPackagesFor; # added 2019-08-07
emacsPackagesNg = emacsPackages; # added 2019-08-07
emby = throw "The Emby derivation has been removed, see jellyfin instead for a free software fork."; # added 2019-05-01
enblendenfuse = enblend-enfuse; # 2015-09-30
evolution_data_server = evolution-data-server; # added 2018-02-25

View File

@ -377,7 +377,7 @@ in
mkShell = callPackage ../build-support/mkshell { };
nixBufferBuilders = import ../build-support/emacs/buffer.nix { inherit (pkgs) lib writeText; inherit (emacsPackagesNg) inherit-local; };
nixBufferBuilders = import ../build-support/emacs/buffer.nix { inherit (pkgs) lib writeText; inherit (emacsPackages) inherit-local; };
nix-gitignore = callPackage ../build-support/nix-gitignore { };
@ -7919,7 +7919,7 @@ in
# package. Wishing we could merge it into one irony package, to avoid this issue,
# but its emacs-side expression is autogenerated, and we can't hook into it (other
# than peek into its version).
inherit (emacsPackagesNg.melpaStablePackages) irony;
inherit (emacsPackages.melpaStablePackages) irony;
};
hugs = callPackage ../development/interpreters/hugs { };
@ -17919,7 +17919,6 @@ in
emacs = emacs26;
emacsPackages = emacs26Packages;
emacsPackagesNg = emacs26PackagesNg;
emacs26 = callPackage ../applications/editors/emacs {
# use override to enable additional features
@ -17964,153 +17963,7 @@ in
stdenv = if stdenv.cc.isClang then llvmPackages_6.stdenv else stdenv;
};
emacsPackagesFor = emacs: self: let callPackage = newScope self; in rec {
inherit emacs;
autoComplete = callPackage ../applications/editors/emacs-modes/auto-complete { };
bbdb = callPackage ../applications/editors/emacs-modes/bbdb { };
bbdb3 = callPackage ../applications/editors/emacs-modes/bbdb/3.nix {};
cedet = callPackage ../applications/editors/emacs-modes/cedet { };
calfw = callPackage ../applications/editors/emacs-modes/calfw { };
cedille = callPackage ../applications/editors/emacs-modes/cedille { cedille = pkgs.cedille; };
coffee = callPackage ../applications/editors/emacs-modes/coffee { };
colorTheme = callPackage ../applications/editors/emacs-modes/color-theme { };
colorThemeSolarized = callPackage ../applications/editors/emacs-modes/color-theme-solarized { };
cryptol = callPackage ../applications/editors/emacs-modes/cryptol { };
cua = callPackage ../applications/editors/emacs-modes/cua { };
d = callPackage ../applications/editors/emacs-modes/d { };
darcsum = callPackage ../applications/editors/emacs-modes/darcsum { };
# ecb = callPackage ../applications/editors/emacs-modes/ecb { };
emacsClangCompleteAsync = callPackage ../applications/editors/emacs-modes/emacs-clang-complete-async { };
emacsSessionManagement = callPackage ../applications/editors/emacs-modes/session-management-for-emacs { };
emacsw3m = callPackage ../applications/editors/emacs-modes/emacs-w3m { };
emms = callPackage ../applications/editors/emacs-modes/emms { };
ensime = callPackage ../applications/editors/emacs-modes/ensime { };
erlangMode = callPackage ../applications/editors/emacs-modes/erlang { };
ess = callPackage ../applications/editors/emacs-modes/ess { };
flymakeCursor = callPackage ../applications/editors/emacs-modes/flymake-cursor { };
gh = callPackage ../applications/editors/emacs-modes/gh { };
graphvizDot = callPackage ../applications/editors/emacs-modes/graphviz-dot { };
gist = callPackage ../applications/editors/emacs-modes/gist { };
haskellMode = callPackage ../applications/editors/emacs-modes/haskell { };
hsc3Mode = callPackage ../applications/editors/emacs-modes/hsc3 { };
hol_light_mode = callPackage ../applications/editors/emacs-modes/hol_light { };
htmlize = callPackage ../applications/editors/emacs-modes/htmlize { };
ido-ubiquitous = callPackage ../applications/editors/emacs-modes/ido-ubiquitous { };
icicles = callPackage ../applications/editors/emacs-modes/icicles { };
idris = callPackage ../applications/editors/emacs-modes/idris { };
jabber = callPackage ../applications/editors/emacs-modes/jabber { };
jade = callPackage ../applications/editors/emacs-modes/jade { };
jdee = callPackage ../applications/editors/emacs-modes/jdee { };
js2 = callPackage ../applications/editors/emacs-modes/js2 { };
let-alist = callPackage ../applications/editors/emacs-modes/let-alist { };
logito = callPackage ../applications/editors/emacs-modes/logito { };
loremIpsum = callPackage ../applications/editors/emacs-modes/lorem-ipsum { };
markdownMode = callPackage ../applications/editors/emacs-modes/markdown-mode { };
maudeMode = callPackage ../applications/editors/emacs-modes/maude { };
metaweblog = callPackage ../applications/editors/emacs-modes/metaweblog { };
monky = callPackage ../applications/editors/emacs-modes/monky { };
notmuch = lowPrio (pkgs.notmuch.override { inherit emacs; });
ocamlMode = callPackage ../applications/editors/emacs-modes/ocaml { };
offlineimap = callPackage ../applications/editors/emacs-modes/offlineimap {};
# This is usually a newer version of Org-Mode than that found in GNU Emacs, so
# we want it to have higher precedence.
org = hiPrio (callPackage ../applications/editors/emacs-modes/org { });
org2blog = callPackage ../applications/editors/emacs-modes/org2blog { };
pcache = callPackage ../applications/editors/emacs-modes/pcache { };
phpMode = callPackage ../applications/editors/emacs-modes/php { };
prologMode = callPackage ../applications/editors/emacs-modes/prolog { };
proofgeneral = callPackage ../applications/editors/emacs-modes/proofgeneral/4.4.nix {
texLive = texlive.combine { inherit (texlive) scheme-basic cm-super ec; };
};
proofgeneral_HEAD = callPackage ../applications/editors/emacs-modes/proofgeneral/HEAD.nix {
texinfo = texinfo4 ;
texLive = texlive.combine { inherit (texlive) scheme-basic cm-super ec; };
};
quack = callPackage ../applications/editors/emacs-modes/quack { };
rainbowDelimiters = callPackage ../applications/editors/emacs-modes/rainbow-delimiters { };
rectMark = callPackage ../applications/editors/emacs-modes/rect-mark { };
rudel = callPackage ../applications/editors/emacs-modes/rudel { };
s = callPackage ../applications/editors/emacs-modes/s { };
sbtMode = callPackage ../applications/editors/emacs-modes/sbt-mode { };
scalaMode1 = callPackage ../applications/editors/emacs-modes/scala-mode/v1.nix { };
scalaMode2 = callPackage ../applications/editors/emacs-modes/scala-mode/v2.nix { };
structuredHaskellMode = haskellPackages.structured-haskell-mode;
sunriseCommander = callPackage ../applications/editors/emacs-modes/sunrise-commander { };
tuaregMode = callPackage ../applications/editors/emacs-modes/tuareg { };
writeGood = callPackage ../applications/editors/emacs-modes/writegood { };
xmlRpc = callPackage ../applications/editors/emacs-modes/xml-rpc { };
cask = callPackage ../applications/editors/emacs-modes/cask { };
};
emacs25Packages = dontRecurseIntoAttrs (emacsPackagesFor emacs25 pkgs.emacs25Packages);
emacs26Packages = dontRecurseIntoAttrs (emacsPackagesFor emacs26 pkgs.emacs26Packages);
emacsPackagesNgFor = emacs: import ./emacs-packages.nix {
emacsPackagesFor = emacs: import ./emacs-packages.nix {
inherit lib newScope stdenv pkgs;
inherit fetchFromGitHub fetchurl;
inherit emacs texinfo makeWrapper runCommand writeText;
@ -18135,12 +17988,12 @@ in
};
};
emacs25PackagesNg = dontRecurseIntoAttrs (emacsPackagesNgFor emacs25);
emacs26PackagesNg = dontRecurseIntoAttrs (emacsPackagesNgFor emacs26);
emacs25Packages = dontRecurseIntoAttrs (emacsPackagesFor emacs25);
emacs26Packages = dontRecurseIntoAttrs (emacsPackagesFor emacs26);
emacs25WithPackages = emacs25PackagesNg.emacsWithPackages;
emacs26WithPackages = emacs26PackagesNg.emacsWithPackages;
emacsWithPackages = emacsPackagesNg.emacsWithPackages;
emacs25WithPackages = emacs25Packages.emacsWithPackages;
emacs26WithPackages = emacs26Packages.emacsWithPackages;
emacsWithPackages = emacsPackages.emacsWithPackages;
inherit (gnome3) empathy;

View File

@ -192,7 +192,7 @@ let
# Language packages disabled in https://github.com/NixOS/nixpkgs/commit/ccd1029f58a3bb9eca32d81bf3f33cb4be25cc66
#emacsPackagesNg = packagePlatforms pkgs.emacsPackagesNg;
#emacsPackages = packagePlatforms pkgs.emacsPackages;
#rPackages = packagePlatforms pkgs.rPackages;
ocamlPackages = { };
perlPackages = { };