64 lines
1.9 KiB
Nix
64 lines
1.9 KiB
Nix
{ stdenv, python3, fetchFromGitHub, wrapQtAppsHook, buildEnv, aspellDicts
|
|
# Use `lib.collect lib.isDerivation aspellDicts;` to make all dictionaries
|
|
# available.
|
|
, enchantAspellDicts ? with aspellDicts; [ en en-computers en-science ]
|
|
}:
|
|
|
|
let
|
|
version = "7.0.4";
|
|
python = let
|
|
packageOverrides = self: super: {
|
|
markdown = super.markdown.overridePythonAttrs(old: {
|
|
src = super.fetchPypi {
|
|
version = "3.0.1";
|
|
pname = "Markdown";
|
|
sha256 = "d02e0f9b04c500cde6637c11ad7c72671f359b87b9fe924b2383649d8841db7c";
|
|
};
|
|
});
|
|
|
|
chardet = super.chardet.overridePythonAttrs(old: {
|
|
src = super.fetchPypi {
|
|
version = "2.3.0";
|
|
pname = "chardet";
|
|
sha256 = "e53e38b3a4afe6d1132de62b7400a4ac363452dc5dfcf8d88e8e0cce663c68aa";
|
|
};
|
|
patches = [];
|
|
});
|
|
};
|
|
in python3.override { inherit packageOverrides; };
|
|
pythonEnv = python.withPackages (ps: with ps; [
|
|
pyqt5 docutils pyenchant Markups markdown pygments chardet
|
|
]);
|
|
in python.pkgs.buildPythonApplication {
|
|
inherit version;
|
|
pname = "retext";
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "retext-project";
|
|
repo = "retext";
|
|
rev = version;
|
|
sha256 = "1zcapywspc9v5zf5cxqkcy019np9n41gmryqixj66zsvd544c6si";
|
|
};
|
|
|
|
doCheck = false;
|
|
|
|
nativeBuildInputs = [ wrapQtAppsHook ];
|
|
propagatedBuildInputs = [ pythonEnv ];
|
|
|
|
postInstall = ''
|
|
wrapQtApp "$out/bin/retext" \
|
|
--set ASPELL_CONF "dict-dir ${buildEnv {
|
|
name = "aspell-all-dicts";
|
|
paths = map (path: "${path}/lib/aspell") enchantAspellDicts;
|
|
}}"
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
homepage = "https://github.com/retext-project/retext/";
|
|
description = "Simple but powerful editor for Markdown and reStructuredText";
|
|
license = licenses.gpl3;
|
|
maintainers = with maintainers; [ klntsky ];
|
|
platforms = platforms.unix;
|
|
};
|
|
}
|