Robert Schütz 71c373c41e kohighlights: use python312Packages
Shiboken2, and thus pyside2, is broken on Python 3.13.
2025-06-16 13:21:30 -07:00

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