75 lines
1.2 KiB
Nix
75 lines
1.2 KiB
Nix
{ melpaBuild
|
|
, fetchFromGitHub
|
|
, writeText
|
|
, pkgs
|
|
|
|
# Elisp dependencies
|
|
, ctable
|
|
, deferred
|
|
, epc
|
|
, s
|
|
|
|
# Native dependencies
|
|
, nodejs
|
|
, python3
|
|
, wmctrl
|
|
, xdotool
|
|
}:
|
|
|
|
let
|
|
# TODO: Package nodejs environment
|
|
|
|
pythonEnv = ((python3.withPackages(ps: [
|
|
ps.pyqtwebengine
|
|
ps.pyqt5
|
|
ps.qrcode
|
|
ps.qtconsole
|
|
ps.retry
|
|
ps.pymupdf
|
|
# Wrap native dependencies in python env $PATH
|
|
pkgs.aria2
|
|
])).override { ignoreCollisions = true; });
|
|
|
|
node = "${nodejs}/bin/node";
|
|
|
|
pname = "eaf";
|
|
version = "20210309.0";
|
|
|
|
in melpaBuild {
|
|
|
|
inherit pname version;
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "emacs-eaf";
|
|
repo = "emacs-application-framework";
|
|
rev = "d55fef029d9a8fa529d2290f2da178dc8ff3d6f7";
|
|
sha256 = "sha256-0UGeo4I4JB95A8W870x4IS6Syh6roMomjTTNQNGbS3E";
|
|
};
|
|
|
|
dontConfigure = true;
|
|
dontBuild = true;
|
|
|
|
postPatch = ''
|
|
|
|
'';
|
|
|
|
installPhase = ''
|
|
mkdir -p $out/share/emacs/site-lisp/elpa/emacs-$pname-$version
|
|
cp -rv * $out/share/emacs/site-lisp/elpa/emacs-$pname-$version/
|
|
'';
|
|
|
|
recipe = writeText "recipe" ''
|
|
(eaf
|
|
:repo "manateelazycat/emacs-application-framework"
|
|
:fetcher github
|
|
:files ("*")
|
|
'';
|
|
|
|
packageRequires = [
|
|
ctable
|
|
deferred
|
|
epc
|
|
s
|
|
];
|
|
|
|
}
|