86 lines
1.8 KiB
Nix
86 lines
1.8 KiB
Nix
{
|
|
stdenv,
|
|
lib,
|
|
fetchFromGitHub,
|
|
python312Packages,
|
|
qt5,
|
|
makeWrapper,
|
|
copyDesktopItems,
|
|
makeDesktopItem,
|
|
}:
|
|
|
|
let
|
|
python3Packages = python312Packages;
|
|
in
|
|
python3Packages.buildPythonApplication rec {
|
|
pname = "kohighlights";
|
|
version = "2.3.1.0";
|
|
pyproject = false; # manual install
|
|
|
|
src = fetchFromGitHub {
|
|
owner = "noembryo";
|
|
repo = "KoHighlights";
|
|
tag = "v${version}";
|
|
hash = "sha256-JxUVv2gq/AcNbikF5ix1KjbCILW3fQ1PBKMlrJH3lsk=";
|
|
};
|
|
|
|
dontWrapPythonPrograms = true;
|
|
dontBuild = true;
|
|
|
|
buildInputs =
|
|
[
|
|
qt5.qtbase
|
|
]
|
|
++ lib.optionals (stdenv.hostPlatform.isLinux) [
|
|
qt5.qtwayland
|
|
];
|
|
|
|
nativeBuildInputs = [
|
|
qt5.wrapQtAppsHook
|
|
makeWrapper
|
|
copyDesktopItems
|
|
];
|
|
|
|
dependencies = with python3Packages; [
|
|
pyside2
|
|
beautifulsoup4
|
|
packaging
|
|
requests
|
|
future
|
|
];
|
|
|
|
desktopItems = [
|
|
(makeDesktopItem {
|
|
name = "kohighlights";
|
|
desktopName = "KoHighlights";
|
|
exec = meta.mainProgram;
|
|
comment = meta.description;
|
|
categories = [ "Utility" ];
|
|
})
|
|
];
|
|
|
|
dontWrapQtApps = true;
|
|
|
|
installPhase = ''
|
|
runHook preInstall
|
|
|
|
mkdir -p $out/bin $out/share/KoHighlights
|
|
rm -rf docs screens
|
|
cp -r * $out/share/KoHighlights
|
|
makeWrapper ${python3Packages.python.interpreter} $out/bin/KoHighlights \
|
|
--add-flags "$out/share/KoHighlights/main.py" \
|
|
--set PYTHONPATH "${python3Packages.makePythonPath dependencies}" \
|
|
''${qtWrapperArgs[@]}
|
|
|
|
runHook postInstall
|
|
'';
|
|
|
|
meta = {
|
|
description = "Utility for viewing and/or exporting KOReader's highlights";
|
|
homepage = "https://github.com/noembryo/KoHighlights";
|
|
license = lib.licenses.mit;
|
|
maintainers = with lib.maintainers; [ dtomvan ];
|
|
mainProgram = "KoHighlights";
|
|
};
|
|
}
|