summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--maintainers/maintainer-list.nix5
-rw-r--r--pkgs/development/tools/cask/default.nix43
-rw-r--r--pkgs/top-level/all-packages.nix2
3 files changed, 50 insertions, 0 deletions
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index beb766e85b0..56d30fc066d 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -1618,6 +1618,11 @@
     github = "FireyFly";
     name = "Jonas Höglund";
   };
+  flexw = {
+    email = "felix.weilbach@t-online.de";
+    github = "FlexW";
+    name = "Felix Weilbach";
+  };
   flokli = {
     email = "flokli@flokli.de";
     github = "flokli";
diff --git a/pkgs/development/tools/cask/default.nix b/pkgs/development/tools/cask/default.nix
new file mode 100644
index 00000000000..0960ced99bc
--- /dev/null
+++ b/pkgs/development/tools/cask/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, emacs, python }:
+
+stdenv.mkDerivation rec {
+  name = "cask-${version}";
+  version = "0.8.4";
+
+  src = fetchurl {
+    url = "https://github.com/cask/cask/archive/v${version}.tar.gz";
+    sha256 = "02f8bb20b33b23fb11e7d2a1d282519dfdb8b3090b9672448b8c2c2cacd3e478";
+  };
+
+  doCheck = true;
+
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mkdir -p $out/templates
+    install -Dm644 *.el $out/
+    install -Dm755 bin/cask $out/bin
+    install -Dm644 templates/* $out/templates/
+    touch $out/.no-upgrade
+    mkdir -p $out/usr/share/emacs/site-lisp/cask
+    ln -s cask{,-bootstrap}.el $out/usr/share/emacs/site-lisp/cask/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Project management 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://cask.readthedocs.io/en/latest/index.html;
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = [ maintainers.flexw ];
+  };
+
+  nativeBuildInputs = [ emacs python ];
+}
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index de633d80020..668312e1a96 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -8606,6 +8606,8 @@ in
 
   cadre = callPackage ../development/tools/cadre { };
 
+  cask = callPackage ../development/tools/cask { };
+
   casperjs = callPackage ../development/tools/casperjs {
     inherit (texFunctions) fontsConf;
   };