emacs.pkgs.cask: init at 0.8.8

Cask was ejected from MELPA (at the Cask owner's request). Now it lives as a
typical external package.
This commit is contained in:
AndersonTorres 2022-11-12 09:11:38 -03:00
parent 699150309b
commit c80c7fd5aa
5 changed files with 79 additions and 58 deletions

View file

@ -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;
};
})

View file

@ -167,6 +167,8 @@
ebuild-mode = callPackage ./ebuild-mode { };
evil-markdown = callPackage ./evil-markdown { };
cask = callPackage ./cask { };
emacspeak = callPackage ./emacspeak { };

View file

@ -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;
};
}

View file

@ -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";

View file

@ -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 { };