Merge pull request #137944 from AndersonTorres/new-elisp-packages

Elisp cleanups
This commit is contained in:
adisbladis 2021-09-16 09:04:27 -05:00 committed by GitHub
commit e5c5c3b152
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
30 changed files with 352 additions and 511 deletions

View File

@ -0,0 +1,18 @@
{ trivialBuild
, haskellPackages
}
trivialBuild {
pname = "agda-input";
inherit (haskellPackages.Agda) src version;
postUnpack = ''
mv $sourceRoot/src/data/emacs-mode/agda-input.el $sourceRoot
'';
meta = {
inherit (haskellPackages.Agda.meta) homepage license;
description = "Standalone package providing the agda-input method without building Agda.";
};
}

View File

@ -0,0 +1,27 @@
{ trivialBuild
, haskellPackages
}:
trivialBuild rec {
pname = "agda-mode";
version = pkgs.haskellPackages.Agda.version;
dontUnpack = true;
# already byte-compiled by Agda builder
buildPhase = ''
agda=`${pkgs.haskellPackages.Agda}/bin/agda-mode locate`
cp `dirname $agda`/*.el* .
'';
meta = {
inherit (pkgs.haskellPackages.Agda.meta) homepage license;
description = "Agda2-mode for Emacs extracted from Agda package";
longDescription = ''
Wrapper packages that liberates init.el from `agda-mode locate` magic.
Simply add this to user profile or systemPackages and do `(require
'agda2)` in init.el.
'';
};
}

View File

@ -1,10 +1,11 @@
{ lib { lib
, stdenv , stdenv
, trivialBuild
, fetchFromGitHub , fetchFromGitHub
, emacs , emacs
}: }:
stdenv.mkDerivation rec { trivialBuild rec {
pname = "apheleia"; pname = "apheleia";
version = "0.0.0+unstable=2021-08-08"; version = "0.0.0+unstable=2021-08-08";
@ -19,19 +20,6 @@ stdenv.mkDerivation rec {
emacs emacs
]; ];
buildPhase = ''
runHook preBuild
emacs -L . --batch -f batch-byte-compile *.el
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -d $out/share/emacs/site-lisp
install *.el *.elc $out/share/emacs/site-lisp
runHook postInstall
'';
meta = with lib; { meta = with lib; {
homepage = "https://github.com/raxod502/apheleia"; homepage = "https://github.com/raxod502/apheleia";
description = "Asynchronous buffer reformat"; description = "Asynchronous buffer reformat";

View File

@ -0,0 +1,27 @@
{ lib
, trivialBuild
, fetchFromGitHub
}:
trivialBuild {
pname = "bqn-mode";
version = "0.0.0+unstable=-2021-09-15";
src = fetchFromGitHub {
owner = "mlochbaum";
repo = "BQN";
rev = "fb6ec1d8b083cd2b335828ae22e978b1b13986fa";
hash = "sha256-57ryT5gb7hToAJOiGjjgU87rmlswjPK9tV1iQzJ4C0Y=";
};
postUnpack = ''
sourceRoot="$sourceRoot/editors/emacs"
'';
meta = with lib; {
homepage = "https://mlochbaum.github.io/BQN/editors/index.html";
description = "Emacs mode for BQN";
license = licenses.gpl3Only;
maintainers = [ maintainers.sternenseemann ];
};
}

View File

@ -1,30 +1,33 @@
{ stdenv, cedille, emacs }: { stdenv
, cedille
, emacs
}:
stdenv.mkDerivation { stdenv.mkDerivation {
pname = "cedille-mode"; pname = "cedille-mode";
version = cedille.version;
src = cedille.src; inherit (cedille) version src;
buildInputs = [ emacs ]; buildInputs = [ emacs ];
dontBuild = true; dontBuild = true;
installPhase = '' installPhase = ''
runHook preInstall
install -d $out/share/emacs/site-lisp install -d $out/share/emacs/site-lisp
install se-mode/*.el se-mode/*.elc $out/share/emacs/site-lisp install se-mode/*.el se-mode/*.elc $out/share/emacs/site-lisp
install cedille-mode/*.el cedille-mode/*.elc $out/share/emacs/site-lisp install cedille-mode/*.el cedille-mode/*.elc $out/share/emacs/site-lisp
install *.el *.elc $out/share/emacs/site-lisp install *.el *.elc $out/share/emacs/site-lisp
substituteInPlace $out/share/emacs/site-lisp/cedille-mode.el \ substituteInPlace $out/share/emacs/site-lisp/cedille-mode.el \
--replace /usr/bin/cedille ${cedille}/bin/cedille \ --replace /usr/bin/cedille ${cedille}/bin/cedille
runHook postInstall
''; '';
meta = { meta = {
inherit (cedille.meta)
homepage license maintainers platforms;
description = "Emacs major mode for Cedille"; description = "Emacs major mode for Cedille";
homepage = cedille.meta.homepage;
license = cedille.meta.license ;
platforms = cedille.meta.platforms;
maintainers = cedille.meta.maintainers;
}; };
} }

View File

@ -1,33 +1,38 @@
{lib, stdenv, fetchzip, emacs, color-theme}: { lib
let , trivialBuild
commit = "f3ca8902ea056fb8e46cb09f09c96294e31cd4ee"; , fetchFromGitHub
in , emacs
stdenv.mkDerivation { , color-theme
name = "color-theme-solarized-1.0.0"; }:
src = fetchzip { trivialBuild {
pname = "color-theme-solarized";
version = "0.0.0+unstable=2017-10-24";
url = "https://github.com/sellout/emacs-color-theme-solarized/archive/${commit}.zip"; src = fetchFromGitHub {
sha256 = "16d7adqi07lzzr0qipl1fbag9l8kiyr3xrqxi528pimcisbg85d3"; owner = "sellout";
repo = "emacs-color-theme-solarized";
rev = "f3ca8902ea056fb8e46cb09f09c96294e31cd4ee";
hash = "sha256-oxX0lo6sxotEiR3nPrKPE9H01HKB3ohB/p8eEHFTp5k=";
}; };
buildInputs = [ emacs ]; buildInputs = [ emacs ];
propagatedUserEnvPkgs = [ color-theme ]; propagatedUserEnvPkgs = [ color-theme ];
buildPhase = '' buildPhase = ''
emacs -L . -L ${color-theme}/share/emacs/site-lisp/elpa/color-theme-* --batch -f batch-byte-compile *.el runHook preBuild
'';
installPhase = '' emacs -L . -L ${color-theme}/share/emacs/site-lisp/elpa/color-theme-* \
mkdir -p $out/share/emacs/site-lisp --batch -f batch-byte-compile *.el
install *.el* $out/share/emacs/site-lisp
runHook postBuild
''; '';
meta = with lib; { meta = with lib; {
description = "Precision colors for machines and people";
homepage = "http://ethanschoonover.com/solarized"; homepage = "http://ethanschoonover.com/solarized";
maintainers = [ maintainers.samuelrivas ]; description = "Precision colors for machines and people; Emacs implementation";
license = licenses.mit; license = licenses.mit;
platforms = platforms.all; maintainers = with maintainers; [ samuelrivas AndersonTorres ];
inherit (emacs.meta) platforms;
}; };
} }

View File

@ -1,16 +1,33 @@
{ stdenv, fetchurl, makeWrapper, emacs, tcl, tclx, espeak-ng, lib }: { lib
, stdenv
, fetchFromGitHub
, makeWrapper
, emacs
, tcl
, tclx
, espeak-ng
}:
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "emacspeak"; pname = "emacspeak";
version = "54.0"; version = "54.0";
src = fetchurl { src = fetchFromGitHub {
url = "https://github.com/tvraman/emacspeak/releases/download/${version}/${pname}-${version}.tar.bz2"; owner = "tvraman";
sha256 = "sha256-wsIqiW4UtgdAhqPqgCKgF37+hAtmAelAEnme1W9PKes="; repo = pname;
rev = version;
hash= "sha256-aOZ8PmkASJKETPhXhE9WQXyJS7SPe+d97fK/piqqzqc=";
}; };
nativeBuildInputs = [ makeWrapper emacs ]; nativeBuildInputs = [
buildInputs = [ tcl tclx espeak-ng ]; emacs
makeWrapper
];
buildInputs = [
espeak-ng
tcl
tclx
];
preConfigure = '' preConfigure = ''
make config make config
@ -32,11 +49,11 @@ stdenv.mkDerivation rec {
--add-flags '-l "${placeholder "out"}/share/emacs/site-lisp/emacspeak/lisp/emacspeak-setup.elc"' --add-flags '-l "${placeholder "out"}/share/emacs/site-lisp/emacspeak/lisp/emacspeak-setup.elc"'
''; '';
meta = { meta = with lib; {
homepage = "https://github.com/tvraman/emacspeak/"; homepage = "https://github.com/tvraman/emacspeak/";
description = "Emacs extension that provides spoken output"; description = "Emacs extension that provides spoken output";
license = lib.licenses.gpl2; license = licenses.gpl2Plus;
maintainers = [ ]; maintainers = [ maintainers.AndersonTorres ];
platforms = lib.platforms.linux; platforms = platforms.linux;
}; };
} }

View File

@ -1,22 +1,22 @@
{ lib, stdenv, fetchgit }: { lib
, trivialBuild
, fetchFromGitHub
}:
stdenv.mkDerivation { trivialBuild rec {
name = "ess-R-object-popup-20130302"; pname = "ess-R-object-popup";
version = "1.0";
src = fetchgit { src = fetchFromGitHub {
url = "https://github.com/myuhe/ess-R-object-popup.el.git"; owner = "myuhe";
rev = "7e1f601bfba72de0fda44d9c82f96028ecbb9948"; repo = "ess-R-object-popup.el";
sha256 = "0q8pbaa6wahli6fh0kng5zmnypsxi1fr2bzs2mfk3h8vf4nikpv0"; rev = "v${version}";
hash = "sha256-YN8ZLXEbwTFdFfovkV2IXV9v6y/PTgCdiRQqbpRaF2E=";
}; };
installPhase = ''
mkdir -p $out/share/emacs/site-lisp
cp *.el *.elc $out/share/emacs/site-lisp/
'';
meta = { meta = {
description = "Popup descriptions of R objects";
homepage = "https://github.com/myuhe/ess-R-object-popup.el"; homepage = "https://github.com/myuhe/ess-R-object-popup.el";
platforms = lib.platforms.all; description = "Popup descriptions of R objects";
inherit (emacs.meta) platforms;
}; };
} }

View File

@ -1,46 +1,35 @@
{ stdenv, fetchFromGitHub, emacs, emacsPackages, lib }: { lib
, trivialBuild
, fetchFromGitHub
, emacs
, emacsPackages
}:
let trivialBuild rec {
runtimeDeps = with emacsPackages; [
evil
markdown-mode
];
in
stdenv.mkDerivation {
pname = "evil-markdown"; pname = "evil-markdown";
version = "2020-06-01"; version = "0.0.0+unstable=2021-07-21";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "Somelauw"; owner = "Somelauw";
repo = "evil-markdown"; repo = "evil-markdown";
rev = "064fe9b4767470472356d20bdd08e2f30ebbc9ac"; rev = "8e6cc68af83914b2fa9fd3a3b8472573dbcef477";
sha256 = "sha256-Kt2wxG1XCFowavVWtj0urM/yURKegonpZcxTy/+CrJY="; hash = "sha256-HBBuZ1VWIn6kwK5CtGIvHM1+9eiNiKPH0GUsyvpUVN8=";
}; };
buildInputs = [ buildInputs = [
emacs emacs
] ++ runtimeDeps; ] ++ propagatedUserEnvPkgs;
propagatedUserEnvPkgs = runtimeDeps; propagatedUserEnvPkgs = with emacsPackages; [
evil
markdown-mode
];
buildPhase = '' meta = with lib; {
runHook preBuild
emacs -L . --batch -f batch-byte-compile *.el
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -d $out/share/emacs/site-lisp
install *.el *.elc $out/share/emacs/site-lisp
runHook postInstall
'';
meta = {
description = "Vim-like keybindings for markdown-mode";
homepage = "https://github.com/Somelauw/evil-markdown"; homepage = "https://github.com/Somelauw/evil-markdown";
license = lib.licenses.gpl3Plus; description = "Integrates Emacs evil and markdown";
maintainers = with lib.maintainers; [ leungbk ]; license = licenses.gpl3Plus;
platforms = emacs.meta.platforms; maintainers = with maintainers; [ leungbk ];
inherit (emacs.meta) platforms;
}; };
} }

View File

@ -1,17 +1,22 @@
{ fetchurl, lib, trivialBuild, writeText }: { lib
, fetchFromGitHub
, trivialBuild
}:
trivialBuild { trivialBuild {
pname = "font-lock+"; pname = "font-lock-plus";
version = "20180101.25"; version = "208+unstable=2018-01-01";
src = fetchurl { src = fetchFromGitHub {
url = "https://www.emacswiki.org/emacs/download/font-lock%2b.el?revision=25"; owner = "emacsmirror";
sha256 = "0197yzn4hbjmw5h3m08264b7zymw63pdafph5f3yzfm50q8p7kp4"; repo = "font-lock-plus";
name = "font-lock+.el"; rev = "f2c1ddcd4c9d581bd32be88fad026b49f98b6541";
hash = "sha256-lFmdVMXIIXZ9ZohAJw5rhxpTv017qIyzmpuKOWDdeJ4=";
}; };
meta = { meta = with lib; {
homepage = "https://melpa.org/#/font-lock+"; homepage = "https://github.com/emacsmirror/font-lock-plus";
license = lib.licenses.gpl2Plus; description = "Enhancements to standard library font-lock.el";
license = licenses.gpl2Plus;
}; };
} }

View File

@ -4,7 +4,7 @@
, emacs , emacs
}: }:
stdenv.mkDerivation { trivialBuild {
pname = "git-undo"; pname = "git-undo";
version = "0.0.0+unstable=2019-12-21"; version = "0.0.0+unstable=2019-12-21";
@ -15,28 +15,11 @@ stdenv.mkDerivation {
sha256 = "sha256-cVkK9EF6qQyVV3uVqnBEjF8e9nEx/8ixnM8PvxqCyYE="; sha256 = "sha256-cVkK9EF6qQyVV3uVqnBEjF8e9nEx/8ixnM8PvxqCyYE=";
}; };
buildInputs = [
emacs
];
buildPhase = ''
runHook preBuild
emacs -L . --batch -f batch-byte-compile *.el
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -d $out/share/emacs/site-lisp
install *.el *.elc $out/share/emacs/site-lisp
runHook postInstall
'';
meta = with lib; { meta = with lib; {
homepage = "https://github.com/jwiegley/git-undo-el"; homepage = "https://github.com/jwiegley/git-undo-el";
description = "Revert region to most recent Git-historical version"; description = "Revert region to most recent Git-historical version";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ leungbk ]; maintainers = with maintainers; [ leungbk ];
platforms = emacs.meta.platforms; inherit (emacs.meta) platforms;
}; };
} }

View File

@ -1,23 +1,28 @@
{ lib, stdenv, fetchgit }: { lib
, trivialBuild
, fetchFromGitHub
, dictionary
, emacs
, helm
}:
stdenv.mkDerivation { trivialBuild rec {
name = "helm-words-20190917"; pname = "helm-words";
version = "0.0.0+unstable=2019-03-12";
src = fetchgit { src = fetchFromGitHub {
url = "https://github.com/pronobis/helm-words.git"; owner = "emacsmirror";
repo = pname;
rev = "e6387ece1940a06695b9d910de3d90252efb8d29"; rev = "e6387ece1940a06695b9d910de3d90252efb8d29";
sha256 = "1ly0mbzlgc26fqvf7rxpmy698g0cf9qldrwrx022ar6r68l1h7xf"; hash = "sha256-rh8YKDLZZCUE6JnnRnFyDDyUjK+35+M2dkawR/+qwNM=";
}; };
installPhase = '' packageRequires = [ helm dictionary ];
mkdir -p $out/share/emacs/site-lisp
cp *.el *.elc $out/share/emacs/site-lisp/
'';
meta = { meta = with lib; {
description = "Emacs major mode for jade and stylus"; homepage = "https://github.com/emacsmirror/helm-words";
homepage = "https://github.com/brianc/helm-words"; description = "Helm extension for looking up words in dictionaries and thesauri";
license = lib.licenses.gpl3; license = licenses.gpl3Plus;
platforms = lib.platforms.all; inherit (emacs.meta) platforms;
}; };
} }

View File

@ -1,27 +0,0 @@
{ stdenv, fetchFromGitHub, emacs }:
let
version = "3.6-4-gb659bf8";
in
stdenv.mkDerivation {
pname = "ido-ubiquitous";
inherit version;
src = fetchFromGitHub {
owner = "DarwinAwardWinner";
repo = "ido-ubiquitous";
rev = version;
sha256 = "06r8qpfr60gc673w881m0nplj91b6bfw77bxgl6irz1z9bp7cc4y";
};
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,10 +1,10 @@
{ lib { lib
, stdenv , trivialBuild
, fetchFromGitHub , fetchFromGitHub
, emacs , emacs
}: }:
stdenv.mkDerivation { trivialBuild {
pname = "isearch-plus"; pname = "isearch-plus";
version = "3434+unstable=2021-08-23"; version = "3434+unstable=2021-08-23";
@ -15,28 +15,11 @@ stdenv.mkDerivation {
hash = "sha256-kD+Fyps3fc5YK6ATU1nrkKHazGMYJnU2gRcpQZf6A1E="; hash = "sha256-kD+Fyps3fc5YK6ATU1nrkKHazGMYJnU2gRcpQZf6A1E=";
}; };
buildInputs = [
emacs
];
buildPhase = ''
runHook preBuild
emacs -L . --batch -f batch-byte-compile *.el
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -d $out/share/emacs/site-lisp
install *.el *.elc $out/share/emacs/site-lisp
runHook postInstall
'';
meta = with lib; { meta = with lib; {
homepage = "https://www.emacswiki.org/emacs/IsearchPlus"; homepage = "https://www.emacswiki.org/emacs/IsearchPlus";
description = "Extensions to isearch"; description = "Extensions to isearch";
license = licenses.gpl2Plus; license = licenses.gpl2Plus;
maintainers = with maintainers; [ leungbk AndersonTorres ]; maintainers = with maintainers; [ leungbk AndersonTorres ];
platforms = emacs.meta.platforms; inherit (emacs.meta) platforms;
}; };
} }

View File

@ -1,10 +1,10 @@
{ lib { lib
, stdenv , stdenv
, fetchFromGitHub , trivialBuild
, emacs , emacs
}: }:
stdenv.mkDerivation { trivialBuild {
pname = "isearch-prop"; pname = "isearch-prop";
version = "0.0.0+unstable=2019-05-01"; version = "0.0.0+unstable=2019-05-01";
@ -15,28 +15,11 @@ stdenv.mkDerivation {
hash = "sha256-A1Kt4nm7iRV9J5yaLupwiNL5g7ddZvQs79dggmqZ7Rk="; hash = "sha256-A1Kt4nm7iRV9J5yaLupwiNL5g7ddZvQs79dggmqZ7Rk=";
}; };
buildInputs = [
emacs
];
buildPhase = ''
runHook preBuild
emacs -L . --batch -f batch-byte-compile *.el
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -d $out/share/emacs/site-lisp
install *.el *.elc $out/share/emacs/site-lisp
runHook postInstall
'';
meta = with lib; { meta = with lib; {
homepage = "https://www.emacswiki.org/emacs/IsearchPlus"; homepage = "https://www.emacswiki.org/emacs/IsearchPlus";
description = "Search text- or overlay-property contexts"; description = "Search text- or overlay-property contexts";
license = licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ leungbk ]; maintainers = with maintainers; [ leungbk ];
platforms = emacs.meta.platforms; inherit (emacs.meta) platforms;
}; };
} }

View File

@ -1,16 +1,23 @@
{ trivialBuild, lib, fetchurl }: { lib
, trivialBuild
, fetchurl
}:
trivialBuild rec { trivialBuild rec {
pname = "jam-mode"; pname = "jam-mode";
version = "0.3"; version = "0.3";
src = fetchurl { src = fetchurl {
url = "https://dev.gentoo.org/~ulm/distfiles/jam-mode-${version}.el.xz"; url = "https://dev.gentoo.org/~ulm/distfiles/${pname}-${version}.el.xz";
sha256 = "1jchgiy2rgvnb3swr6ar72yas6pj4inpgpcq78q01q6snflmi2fh"; hash = "sha256-0IlYqbPa4AAwOpjdd20k8hqtvDhZmcz1WHa/LHx8kMk=";
}; };
unpackPhase = '' unpackPhase = ''
runHook preUnpack
xz -cd $src > jam-mode.el xz -cd $src > jam-mode.el
runHook postUnpack
''; '';
meta = with lib; { meta = with lib; {

View File

@ -0,0 +1,17 @@
{ trivialBuild
, llvmPackages
}:
trivialBuild {
pname = "llvm-mode";
inherit (llvmPackages.llvm) src version;
postUnpack = ''
sourceRoot="$sourceRoot/utils/emacs"
'';
meta = {
inherit (llvmPackages.llvm.meta) homepage license;
description = "Major mode for the LLVM assembler language";
};
}

View File

@ -42,67 +42,6 @@
}; };
}; };
agda2-mode = trivialBuild {
pname = "agda-mode";
version = pkgs.haskellPackages.Agda.version;
dontUnpack = true;
# already byte-compiled by Agda builder
buildPhase = ''
agda=`${pkgs.haskellPackages.Agda}/bin/agda-mode locate`
cp `dirname $agda`/*.el* .
'';
meta = {
description = "Agda2-mode for Emacs extracted from Agda package";
longDescription = ''
Wrapper packages that liberates init.el from `agda-mode locate` magic.
Simply add this to user profile or systemPackages and do `(require 'agda2)` in init.el.
'';
homepage = pkgs.haskellPackages.Agda.meta.homepage;
license = pkgs.haskellPackages.Agda.meta.license;
};
};
agda-input = self.trivialBuild {
pname = "agda-input";
inherit (pkgs.haskellPackages.Agda) src version;
postUnpack = "mv $sourceRoot/src/data/emacs-mode/agda-input.el $sourceRoot";
meta = {
description = "Standalone package providing the agda-input method without building Agda.";
inherit (pkgs.haskellPackages.Agda.meta) homepage license;
};
};
# may be part of MELPA in the future, see
# https://github.com/mlochbaum/BQN/issues/10#issuecomment-912982874
bqn-mode = self.trivialBuild {
pname = "bqn-mode";
version = "unstable-2021-09-04";
src = pkgs.fetchFromGitHub {
owner = "mlochbaum";
repo = "BQN";
rev = "e623a2fcafdf5fd6c8d31570175284805c4f34d9";
sha256 = "1a2lpxy3bak4724r0ns4la5d0j6484ngi73kcwp82vgbbpk7lcrp";
};
postUnpack = ''
sourceRoot="$sourceRoot/editors/emacs"
'';
meta = {
description = "Emacs mode for BQN";
license = lib.licenses.gpl3Only;
maintainers = [ lib.maintainers.sternenseemann ];
homepage = "https://mlochbaum.github.io/BQN/editors/index.html";
};
};
ghc-mod = melpaBuild { ghc-mod = melpaBuild {
pname = "ghc"; pname = "ghc";
version = pkgs.haskellPackages.ghc-mod.version; version = pkgs.haskellPackages.ghc-mod.version;
@ -154,21 +93,6 @@
}; };
}; };
llvm-mode = trivialBuild {
pname = "llvm-mode";
inherit (pkgs.llvmPackages.llvm) src version;
dontConfigure = true;
buildPhase = ''
cp utils/emacs/*.el .
'';
meta = {
inherit (pkgs.llvmPackages.llvm.meta) homepage license;
description = "Major mode for the LLVM assembler language.";
};
};
matrix-client = let matrix-client = let
rev = "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed"; rev = "d2ac55293c96d4c95971ed8e2a3f6f354565c5ed";
in melpaBuild in melpaBuild
@ -224,37 +148,17 @@
}; };
ott-mode = self.trivialBuild { agda2-mode = callPackage ./agda2-mode { };
pname = "ott-mod";
inherit (pkgs.ott) src version; agda-input = callPackage ./agda-input{ };
postUnpack = "mv $sourceRoot/emacs/ott-mode.el $sourceRoot"; bqn-mode = callPackage ./bqn-mode { };
meta = { llvm-mode = callPackage ./llvm-mode { };
description = "Standalone package providing ott-mode without building ott and with compiled bytecode.";
inherit (pkgs.haskellPackages.Agda.meta) homepage license;
};
};
urweb-mode = self.trivialBuild { ott-mode = callPackage ./ott-mode { };
pname = "urweb-mode";
inherit (pkgs.urweb) src version; urweb-mode = callPackage ./urweb-mode { };
packageRequires = [
self.cl-lib
self.flycheck
];
postUnpack = "sourceRoot=$sourceRoot/src/elisp";
meta = {
description = "Major mode for editing Ur/Web";
inherit (pkgs.urweb.meta) license homepage;
maintainers = [ lib.maintainers.sternenseemann ];
};
};
# Packages made the classical callPackage way # Packages made the classical callPackage way
@ -262,6 +166,8 @@
ebuild-mode = callPackage ./ebuild-mode { }; ebuild-mode = callPackage ./ebuild-mode { };
evil-markdown = callPackage ./evil-markdown { };
emacspeak = callPackage ./emacspeak { }; emacspeak = callPackage ./emacspeak { };
ement = callPackage ./ement { }; ement = callPackage ./ement { };
@ -282,8 +188,6 @@
nano-theme = callPackage ./nano-theme { }; nano-theme = callPackage ./nano-theme { };
org-mac-link = callPackage ./org-mac-link { };
perl-completion = callPackage ./perl-completion { }; perl-completion = callPackage ./perl-completion { };
plz = callPackage ./plz { }; plz = callPackage ./plz { };
@ -302,15 +206,12 @@
youtube-dl = callPackage ./youtube-dl { }; youtube-dl = callPackage ./youtube-dl { };
zeitgeist = callPackage ./zeitgeist { };
# From old emacsPackages (pre emacsPackagesNg) # From old emacsPackages (pre emacsPackagesNg)
cedet = callPackage ./cedet { }; cedet = callPackage ./cedet { };
cedille = callPackage ./cedille { cedille = pkgs.cedille; }; cedille = callPackage ./cedille { cedille = pkgs.cedille; };
color-theme-solarized = callPackage ./color-theme-solarized { }; color-theme-solarized = callPackage ./color-theme-solarized { };
session-management-for-emacs = callPackage ./session-management-for-emacs { }; session-management-for-emacs = callPackage ./session-management-for-emacs { };
hsc3-mode = callPackage ./hsc3 { }; hsc3-mode = callPackage ./hsc3 { };
ido-ubiquitous = callPackage ./ido-ubiquitous { };
prolog-mode = callPackage ./prolog { }; prolog-mode = callPackage ./prolog { };
rect-mark = callPackage ./rect-mark { }; rect-mark = callPackage ./rect-mark { };
sunrise-commander = callPackage ./sunrise-commander { }; sunrise-commander = callPackage ./sunrise-commander { };

View File

@ -1,38 +0,0 @@
{ stdenv, fetchFromGitHub, emacs, lib }:
stdenv.mkDerivation {
pname = "mu4e-patch";
version = "2019-05-09";
src = fetchFromGitHub {
owner = "seanfarley";
repo = "mu4e-patch";
rev = "522da46c1653b1cacc79cde91d6534da7ae9517d";
sha256 = "sha256-1lV4dDuCdyCUXi/In2DzYJPEHuAc9Jfbz2ZecNZwn4I=";
};
buildInputs = [
emacs
];
buildPhase = ''
runHook preBuild
emacs -L . --batch -f batch-byte-compile *.el
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -d $out/share/emacs/site-lisp
install *.el *.elc $out/share/emacs/site-lisp
runHook postInstall
'';
meta = {
description = "Colorize patch emails in mu4e";
homepage = "https://github.com/seanfarley/mu4e-patch";
license = lib.licenses.gpl3Plus;
maintainers = with lib.maintainers; [ leungbk ];
platforms = emacs.meta.platforms;
};
}

View File

@ -1,27 +1,20 @@
{ lib { lib
, stdenv , trivialBuild
, fetchFromGitHub , fetchFromGitHub
, emacs , emacs
}: }:
stdenv.mkDerivation rec { trivialBuild rec {
pname = "nano-theme"; pname = "nano-theme";
version = "2021-06-05"; version = "0.0.0+unstable=2021-06-29";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "rougier"; owner = "rougier";
repo = pname; repo = pname;
rev = "99ff1c5e78296a073c6e63b966045e0d83a136e7"; rev = "4a231787a32b3019f9f0abb3511a112fd54bf685";
hash = "sha256-IDVnl4J4hx2mlLaiA+tKxxRGcIyBULr2HBeY/GMHD90="; hash = "sha256-eco9BMKLhPuwFJb5QesbM6g3cZv3FdVvQ9fXq6D3Ifc=";
}; };
installPhase = ''
runHook preInstall
mkdir -p $out/share/emacs/site-lisp
install *.el $out/share/emacs/site-lisp
runHook postInstall
'';
meta = { meta = {
homepage = "https://github.com/rougier/nano-theme"; homepage = "https://github.com/rougier/nano-theme";
description = "GNU Emacs / N Λ N O Theme"; description = "GNU Emacs / N Λ N O Theme";

View File

@ -1,32 +0,0 @@
{ lib, stdenv, fetchurl, emacs }:
stdenv.mkDerivation {
pname = "org-mac-link";
version = "1.2";
src = fetchurl {
url = "https://raw.githubusercontent.com/stuartsierra/org-mode/master/contrib/lisp/org-mac-link.el";
sha256 = "1gkzlfbhg289r1hbqd25szan1wizgk6s99h9xxjip5bjv0jywcx5";
};
dontUnpack = true;
buildInputs = [ emacs ];
buildPhase = ''
cp $src org-mac-link.el
emacs --batch -f batch-byte-compile org-mac-link.el
'';
installPhase = ''
install -d $out/share/emacs/site-lisp
install org-mac-link.el $out/share/emacs/site-lisp
'';
meta = {
description = "Insert org-mode links to items selected in various Mac apps";
homepage = "https://orgmode.org/worg/org-contrib/org-mac-link.html";
license = lib.licenses.gpl3;
platforms = lib.platforms.all;
};
}

View File

@ -0,0 +1,19 @@
{ trivialBuild
, ott
, haskellPackages
}:
trivialBuild {
pname = "ott-mode";
inherit (ott) src version;
postUnpack = ''
mv $sourceRoot/emacs/ott-mode.el $sourceRoot
'';
meta = {
description = "Emacs ott mode (from ott sources)";
inherit (haskellPackages.Agda.meta) homepage license;
};
}

View File

@ -1,12 +1,12 @@
{ lib { lib
, stdenv , trivialBuild
, fetchFromGitHub , fetchFromGitHub
, emacs , emacs
}: }:
stdenv.mkDerivation rec { trivialBuild rec {
pname = "power-mode"; pname = "power-mode";
version = "2021-06-06"; version = "0.0.0+unstable=2021-06-06";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "elizagamedev"; owner = "elizagamedev";
@ -15,15 +15,8 @@ stdenv.mkDerivation rec {
hash = "sha256-Wy8o9QTWqvH9cP7xsTpF5QSd4mWNIPXJTadoADKeHWY="; hash = "sha256-Wy8o9QTWqvH9cP7xsTpF5QSd4mWNIPXJTadoADKeHWY=";
}; };
installPhase = ''
runHook preInstall
mkdir -p $out/share/emacs/site-lisp
install *.el $out/share/emacs/site-lisp
runHook postInstall
'';
meta = { meta = {
homepage = "https://github.com/rougier/nano-theme"; homepage = "https://github.com/elizagamedev/power-mode.el";
description = "Imbue Emacs with power!"; description = "Imbue Emacs with power!";
inherit (emacs.meta) platforms; inherit (emacs.meta) platforms;
}; };

View File

@ -1,22 +1,25 @@
{ lib, stdenv, fetchgit }: { lib
, trivialBuild
, fetchFromGitHub
, emacs
}:
stdenv.mkDerivation { trivialBuild {
name = "railgun-2012-10-17"; pname = "railgun";
version= "0.0.0+unstable=2012-10-17";
src = fetchgit { src = fetchFromGitHub {
url = "https://github.com/mbriggs/railgun.el.git"; owner = "mbriggs";
repo = "railgun.el";
rev = "66aaa1b091baef53a69d0d7425f48d184b865fb8"; rev = "66aaa1b091baef53a69d0d7425f48d184b865fb8";
sha256 = "00x09vjd3jz5f73qkf5v1y402zn8vl8dsyfwlq9z646p18ba7gyh"; hash = "sha256-0L+jFgrXEPMTptx53RDdyH4BiA+7uInHceXL0eROoAM=";
}; };
installPhase = '' buildInputs = [ emacs ];
mkdir -p $out/share/emacs/site-lisp
cp *.el *.elc $out/share/emacs/site-lisp/
'';
meta = { meta = with lib; {
description = "Propel yourself through a rails project with the power of magnets";
homepage = "https://github.com/mbriggs/railgun.el"; homepage = "https://github.com/mbriggs/railgun.el";
platforms = lib.platforms.all; description = "Propel yourself through a rails project with the power of magnets";
inherit (emacs.meta) platforms;
}; };
} }

View File

@ -1,35 +1,26 @@
{ lib, stdenv, fetchurl, emacs }: { lib
, trivialBuild
, fetchFromGitHub
, emacs
}:
stdenv.mkDerivation { trivialBuild rec {
pname = "rect-mark"; pname = "rect-mark";
version = "1.4"; version = "1.4";
src = fetchurl { src = fetchFromGitHub {
url = "http://emacswiki.org/emacs/download/rect-mark.el"; owner = "emacsmirror";
sha256 = "0pyyg53z9irh5jdfvh2qp4pm8qrml9r7lh42wfmdw6c7f56qryh8"; repo = pname;
rev = version;
hash = "sha256-/8T1VTYkKUxlNWXuuS54S5jpl4UxJBbgSuWc17a/VyM=";
}; };
dontUnpack = true;
buildInputs = [ emacs ]; buildInputs = [ emacs ];
buildPhase = '' meta = with lib; {
cp $src rect-mark.el
emacs --batch -f batch-byte-compile rect-mark.el
'';
installPhase = ''
runHook preInstall
install -d $out/share/emacs/site-lisp
install rect-mark.el* $out/share/emacs/site-lisp
runHook postInstall
'';
meta = {
description = "Mark a rectangle of text with highlighting";
homepage = "http://emacswiki.org/emacs/RectangleMark"; homepage = "http://emacswiki.org/emacs/RectangleMark";
license = lib.licenses.gpl2Plus; description = "Mark a rectangle of text with highlighting";
license = licenses.gpl2Plus;
platforms = lib.platforms.all; inherit (emacs.meta) platforms;
}; };
} }

View File

@ -1,10 +1,10 @@
{ lib { lib
, stdenv , trivialBuild
, fetchFromGitHub , fetchFromGitHub
, emacs , emacs
}: }:
stdenv.mkDerivation rec { trivialBuild rec {
pname = "sunrise-commander"; pname = "sunrise-commander";
version = "0.0.0+unstable=2021-07-22"; version = "0.0.0+unstable=2021-07-22";
@ -19,19 +19,6 @@ stdenv.mkDerivation rec {
emacs emacs
]; ];
buildPhase = ''
runHook preBuild
emacs -q --no-splash --directory=. --batch --file=batch-byte-compile *.el
runHook postBuild
'';
installPhase = ''
runHook preInstall
mkdir -p $out/share/emacs/site-lisp
install *.el* $out/share/emacs/site-lisp
runHook postInstall
'';
meta = with lib; { meta = with lib; {
homepage = "https://github.com/sunrise-commander/sunrise-commander/"; homepage = "https://github.com/sunrise-commander/sunrise-commander/";
description = "Orthodox (two-pane) file manager for Emacs"; description = "Orthodox (two-pane) file manager for Emacs";

View File

@ -7,11 +7,11 @@
stdenv.mkDerivation rec { stdenv.mkDerivation rec {
pname = "tramp"; pname = "tramp";
version = "2.5.0"; version = "2.5.1";
src = fetchurl { src = fetchurl {
url = "mirror://gnu/tramp/${pname}-${version}.tar.gz"; url = "mirror://gnu/tramp/${pname}-${version}.tar.gz";
sha256 = "sha256-w+6HJA8kFb75Z+7vM1zDnzOnkSSIXKnLVyCcEh+nMGY="; hash = "sha256-+jjWBcj2dP9Xyj4dzpAX86KnajVa9eFDcjD9xTw6vks=";
}; };
buildInputs = [ buildInputs = [
@ -19,10 +19,11 @@ stdenv.mkDerivation rec {
texinfo texinfo
]; ];
meta = { meta = with lib; {
homepage = "https://www.gnu.org/software/tramp"; homepage = "https://www.gnu.org/software/tramp";
description = "Transparently access remote files from Emacs. Newer versions than built-in."; description = "Transparently access remote files from Emacs (latest version)";
license = lib.licenses.gpl3Plus; license = licenses.gpl3Plus;
maintainers = with maintainers; [ AndersonTorres ];
inherit (emacs.meta) platforms; inherit (emacs.meta) platforms;
}; };
} }

View File

@ -0,0 +1,27 @@
{ lib
, trivialBuild
, urweb
, cl-lib
, flycheck
}:
trivialBuild {
pname = "urweb-mode";
inherit (urweb) src version;
packageRequires = [
cl-lib
flycheck
];
postUnpack = ''
sourceRoot=$sourceRoot/src/elisp
'';
meta = {
description = "Major mode for editing Ur/Web";
inherit (urweb.meta) license homepage;
maintainers = [ lib.maintainers.sternenseemann ];
};
}

View File

@ -1,8 +1,12 @@
{ stdenv, fetchFromGitHub, emacs, lib }: { lib
, stdenv
, fetchFromGitHub
, emacs
}:
stdenv.mkDerivation { trivialBuild {
pname = "youtube-dl"; pname = "youtube-dl";
version = "2018-10-12"; version = "0.0.0+unstable=2018-10-12";
src = fetchFromGitHub { src = fetchFromGitHub {
owner = "skeeto"; owner = "skeeto";
@ -13,24 +17,11 @@ stdenv.mkDerivation {
buildInputs = [ emacs ]; buildInputs = [ emacs ];
buildPhase = '' meta = with lib; {
runHook preBuild description = "Emacs youtube-dl download manager";
emacs -L . --batch -f batch-byte-compile *.el
runHook postBuild
'';
installPhase = ''
runHook preInstall
install -d $out/share/emacs/site-lisp
install *.el *.elc $out/share/emacs/site-lisp
runHook postInstall
'';
meta = {
description = "Emacs frontend to the youtube-dl utility";
homepage = "https://github.com/skeeto/youtube-dl-emacs"; homepage = "https://github.com/skeeto/youtube-dl-emacs";
license = lib.licenses.unlicense; license = licenses.unlicense;
maintainers = with lib.maintainers; [ leungbk ]; maintainers = with maintainers; [ leungbk ];
platforms = emacs.meta.platforms; inherit (emacs.meta) platforms;
}; };
} }

View File

@ -1,25 +0,0 @@
{ lib, stdenv, fetchurl, emacs }:
stdenv.mkDerivation {
name = "zeitgeist-20120221";
dontUnpack = true;
src = fetchurl {
url = "https://raw.githubusercontent.com/alexmurray/dotfiles/master/.emacs.d/vendor/zeitgeist.el";
sha256 = "0fssx3lp8ar3b1ichbagir7z17habv367l7zz719ipycr24rf1nw";
};
buildInputs = [ emacs ];
installPhase = ''
mkdir -p $out/share/emacs/site-lisp
cp $src $out/share/emacs/site-lisp/zeitgeist.el
'';
meta = {
description = "Integreate Emacs with Zeitgeist";
homepage = "http://zeitgeist-project.com/";
platforms = lib.platforms.all;
};
}