diff --git a/pkgs/applications/editors/emacs/elisp-packages/cask/default.nix b/pkgs/applications/editors/emacs/elisp-packages/cask/default.nix new file mode 100644 index 000000000000..692481cc7fbc --- /dev/null +++ b/pkgs/applications/editors/emacs/elisp-packages/cask/default.nix @@ -0,0 +1,76 @@ +{ lib +, stdenv +, fetchFromGitHub +, bash +, emacs +, python3 +}: + +stdenv.mkDerivation (finalAttrs: { + pname = "cask"; + version = "0.8.8"; + + src = fetchFromGitHub { + owner = "cask"; + repo = "cask"; + rev = "v${finalAttrs.version}"; + hash = "sha256-TlReq5sLVJj+pXmJSnepKQkNEWVhnh30iq4egM1HJMU="; + }; + + doCheck = true; + + nativeBuildInputs = [ emacs ]; + buildInputs = [ + bash + python3 + ] + ++ (with emacs.pkgs; [ + ansi + dash + ecukes + el-mock + ert-async + ert-runner + f + git + noflet + package-build + s + servant + shell-split-string + ]); + + strictDeps = true; + + buildPhase = '' + runHook preBuild + + emacs --batch -L . -f batch-byte-compile cask.el cask-cli.el + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + mkdir -p $out/bin + install -Dm444 -t $out/share/emacs/site-lisp/cask *.el *.elc + install -Dm555 -t $out/share/emacs/site-lisp/cask/bin bin/cask + ln -s $out/share/emacs/site-lisp/cask/bin/cask $out/bin/cask + + runHook postInstall + ''; + + meta = with 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. + ''; + homepage = "https://cask.readthedocs.io/en/latest/index.html"; + license = licenses.gpl3Plus; + maintainers = with maintainers; [ AndersonTorres ]; + inherit (emacs.meta) platforms; + }; +}) diff --git a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix index 304e2482dccc..2920fdb057b5 100644 --- a/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix +++ b/pkgs/applications/editors/emacs/elisp-packages/manual-packages.nix @@ -167,6 +167,8 @@ ebuild-mode = callPackage ./ebuild-mode { }; evil-markdown = callPackage ./evil-markdown { }; + cask = callPackage ./cask { }; + emacspeak = callPackage ./emacspeak { }; diff --git a/pkgs/development/tools/cask/default.nix b/pkgs/development/tools/cask/default.nix deleted file mode 100644 index 2eadc6b877f7..000000000000 --- a/pkgs/development/tools/cask/default.nix +++ /dev/null @@ -1,56 +0,0 @@ -{ lib, stdenv, python3, emacs, bash }: - -stdenv.mkDerivation rec { - pname = "cask"; - - inherit (emacs.pkgs.melpaStablePackages.cask) src version; - - doCheck = true; - - nativeBuildInputs = [ emacs ]; - buildInputs = with emacs.pkgs; [ - s f dash ansi ecukes servant ert-runner el-mock - noflet ert-async shell-split-string git package-build - ] ++ [ - python3 - bash - ]; - - strictDeps = true; - - buildPhase = '' - runHook preBuild - - emacs --batch -L . -f batch-byte-compile cask.el cask-cli.el - - runHook postBuild - ''; - - installPhase = '' - runHook preInstall - - mkdir -p $out/bin - dir=$out/share/emacs/site-lisp/cask - install -Dm444 -t $dir *.el *.elc - install -Dm555 -t $dir/bin bin/cask - touch $out/.no-upgrade - ln -s $dir/bin/cask $out/bin/cask - - runHook postInstall - ''; - - meta = with 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; - maintainers = with maintainers; [ flexw ]; - platforms = platforms.all; - }; -} diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix index bc5958170ca0..e104b7ecb856 100644 --- a/pkgs/top-level/aliases.nix +++ b/pkgs/top-level/aliases.nix @@ -173,6 +173,7 @@ mapAliases ({ calibre-py3 = throw "calibre-py3 has been removed from nixpkgs, as calibre's default python version is now 3. Please use calibre as replacement"; # Added 2021-01-13 callPackage_i686 = pkgsi686Linux.callPackage; cantarell_fonts = throw "'cantarell_fonts' has been renamed to/replaced by 'cantarell-fonts'"; # Converted to throw 2022-02-22 + cask = emacs.pkgs.cask; # Added 2022-11-12 cargo-download = throw "cargo-download has been removed from nixpkgs as it is unmaintained, use cargo-clone instead"; # Added 2022-10-11 cargo-tree = throw "cargo-tree has been removed, use the builtin `cargo tree` command instead"; # Added 2020-08-20 casperjs = throw "casperjs has been removed, it was abandoned by upstream and broken"; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index a29a1ca3373c..10b6f377c0ee 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -16592,8 +16592,6 @@ with pkgs; cadre = callPackage ../development/tools/cadre { }; - cask = callPackage ../development/tools/cask { }; - cbrowser = callPackage ../development/tools/misc/cbrowser { }; cc-tool = callPackage ../development/embedded/cc-tool { };