nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv, fetchurl, python, emacsPackages }:
2
3stdenv.mkDerivation rec {
4 pname = "cask";
5
6 inherit (emacsPackages.melpaStablePackages.cask) src version;
7
8 doCheck = true;
9
10 nativeBuildInputs = [ emacsPackages.emacs ];
11 buildInputs = with emacsPackages; [
12 s f dash ansi ecukes servant ert-runner el-mock
13 noflet ert-async shell-split-string git package-build
14 ] ++ [
15 python
16 ];
17
18 buildPhase = ''
19 emacs --batch -L . -f batch-byte-compile cask.el cask-cli.el
20 '';
21
22 installPhase = ''
23 mkdir -p $out/bin
24 mkdir -p $out/templates
25 mkdir -p $out/share/emacs/site-lisp/cask/bin
26 install -Dm644 *.el *.elc $out/share/emacs/site-lisp/cask
27 install -Dm755 bin/cask $out/share/emacs/site-lisp/cask/bin
28 install -Dm644 templates/* $out/templates/
29 touch $out/.no-upgrade
30 ln -s $out/share/emacs/site-lisp/cask/bin/cask $out/bin/cask
31 '';
32
33 meta = with stdenv.lib; {
34 description = "Project management for Emacs";
35 longDescription = ''
36 Cask is a project management tool for Emacs that helps automate the
37 package development cycle; development, dependencies, testing, building,
38 packaging and more.
39 Cask can also be used to manage dependencies for your local Emacs configuration.
40 '';
41
42 homepage = "https://cask.readthedocs.io/en/latest/index.html";
43 license = licenses.gpl3Plus;
44 platforms = platforms.linux;
45 maintainers = [ maintainers.flexw ];
46 };
47}