normcap: add desktop entry, drop patching

This commit is contained in:
Peder Bergebakken Sundt
2024-09-27 09:49:35 +02:00
parent 65798d5f42
commit a1d785c763

View File

@@ -7,6 +7,8 @@
, wl-clipboard , wl-clipboard
, libnotify , libnotify
, xorg , xorg
, makeDesktopItem
, copyDesktopItems
}: }:
let let
@@ -37,12 +39,6 @@ ps.buildPythonApplication rec {
hash = "sha256-iMlW8oEt4OSipJaQ2XzBZeBVqiZP/C1sM0f5LYjv7/A="; hash = "sha256-iMlW8oEt4OSipJaQ2XzBZeBVqiZP/C1sM0f5LYjv7/A=";
}; };
postPatch = ''
# disable coverage testing
substituteInPlace pyproject.toml \
--replace-fail "addopts = [" "addopts_ = ["
'';
pythonRemoveDeps = [ pythonRemoveDeps = [
"pyside6-essentials" "pyside6-essentials"
]; ];
@@ -51,11 +47,15 @@ ps.buildPythonApplication rec {
"shiboken6" "shiboken6"
]; ];
nativeBuildInputs = [ build-system = [
ps.hatchling ps.hatchling
ps.babel ps.babel
]; ];
nativeBuildInputs = [
copyDesktopItems
];
dependencies = [ dependencies = [
ps.pyside6 ps.pyside6
ps.jeepney ps.jeepney
@@ -69,8 +69,15 @@ ps.buildPythonApplication rec {
) )
''; '';
postInstall = lib.optionalString stdenv.hostPlatform.isLinux ''
mkdir -p $out/share/pixmaps
ln -s $out/${python3.sitePackages}/normcap/resources/icons/normcap.png $out/share/pixmaps/
'';
nativeCheckInputs = wrapperDeps ++ [ nativeCheckInputs = wrapperDeps ++ [
ps.pytestCheckHook ps.pytestCheckHook
ps.pytest-cov-stub
ps.pytest-instafail
ps.pytest-qt ps.pytest-qt
ps.toml ps.toml
] ++ lib.optionals stdenv.hostPlatform.isLinux [ ] ++ lib.optionals stdenv.hostPlatform.isLinux [
@@ -136,6 +143,20 @@ ps.buildPythonApplication rec {
"tests/tests_gui/test_loading_indicator.py" "tests/tests_gui/test_loading_indicator.py"
]; ];
desktopItems = [
(makeDesktopItem {
name = "com.github.dynobo.normcap";
desktopName = "NormCap";
genericName = "OCR powered screen-capture tool";
comment = "Extract text from an image directly into clipboard";
exec = "normcap";
icon = "normcap";
terminal = false;
categories = ["Utility" "Office"];
keywords = ["Text" "Extraction" "OCR"];
})
];
meta = with lib; { meta = with lib; {
description = "OCR powered screen-capture tool to capture information instead of images"; description = "OCR powered screen-capture tool to capture information instead of images";
homepage = "https://dynobo.github.io/normcap/"; homepage = "https://dynobo.github.io/normcap/";