Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Paperwork update #74732

Closed
wants to merge 12 commits into from
13 changes: 7 additions & 6 deletions pkgs/applications/office/paperwork/backend.nix
Expand Up @@ -3,22 +3,23 @@
, isPy3k, isPyPy

, pyenchant, simplebayes, pillow, pycountry, whoosh, termcolor
, python-Levenshtein, pyinsane2, pygobject3, pyocr, natsort
, python-Levenshtein, pygobject3, pyocr, natsort, libinsane
, distro

, pkgs
}:

buildPythonPackage rec {
pname = "paperwork-backend";
version = "1.2.4";
version = "1.3.0";

src = fetchFromGitLab {
domain = "gitlab.gnome.org";
repo = "paperwork";
group = "World";
owner = "OpenPaperwork";
rev = version;
sha256 = "0wjjiw99aswmppnhzq3jir0p5p78r3m8hjinhdirkgm6h7skq5p4";
sha256 = "155fpnhlps0x3fxlbbp3pcw0fp38l88phpsj2flg2zya0bw8y627";
};

sourceRoot = "source/paperwork-backend";
Expand All @@ -34,14 +35,14 @@ buildPythonPackage rec {

propagatedBuildInputs = [
pyenchant simplebayes pillow pycountry whoosh termcolor
python-Levenshtein pyinsane2 pygobject3 pyocr natsort
pkgs.poppler_gi pkgs.gtk3
python-Levenshtein libinsane pygobject3 pyocr natsort
pkgs.poppler_gi pkgs.gtk3 distro
];

meta = {
description = "Backend part of Paperwork (Python API, no UI)";
homepage = https://openpaper.work/;
license = lib.licenses.gpl3Plus;
maintainers = [ lib.maintainers.aszlig ];
maintainers = with lib.maintainers; [ aszlig symphorien ];
};
}
53 changes: 39 additions & 14 deletions pkgs/applications/office/paperwork/default.nix
@@ -1,7 +1,15 @@
{ lib, python3Packages, gtk3, cairo
, aspellDicts, buildEnv
, gnome3, librsvg
, xvfb_run, dbus, libnotify
{ lib
, python3Packages
, gtk3
, cairo
, aspellDicts
, buildEnv
, gnome3
, librsvg
, xvfb_run
, dbus
, libnotify
, wrapGAppsHook
}:

python3Packages.buildPythonApplication rec {
Expand Down Expand Up @@ -46,9 +54,27 @@ python3Packages.buildPythonApplication rec {
paths = lib.collect lib.isDerivation aspellDicts;
}}/lib/aspell";

postInstall = ''
# paperwork-shell needs to be re-wrapped with access to paperwork
cp ${python3Packages.paperwork-backend}/bin/.paperwork-shell-wrapped $out/bin/paperwork-shell
# install desktop files and icons
# paperwork-shell install copies everything to $HOME/.local/share instead of $out/share
mkdir -p home/.local
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm, can't this be directly patched instead?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Patching is not better, because the user is supposed to be able to call paperwork-shell install.

mkdir -p $out/share
ln -s $out/share home/.local/share
HOME=$(readlink -f home) $out/bin/paperwork-shell install
'';

checkInputs = [ xvfb_run dbus.daemon ] ++ (with python3Packages; [ paperwork-backend ]);

nativeBuildInputs = [
wrapGAppsHook
];

buildInputs = [
gnome3.adwaita-icon-theme libnotify librsvg
gnome3.adwaita-icon-theme
libnotify
librsvg
];

# A few parts of chkdeps need to have a display and a dbus session, so we not
Expand All @@ -61,21 +87,20 @@ python3Packages.buildPythonApplication rec {
'';

propagatedBuildInputs = with python3Packages; [
paperwork-backend pypillowfight gtk3 cairo pyxdg dateutil setuptools pandas
];

makeWrapperArgs = [
"--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\""
"--set GDK_PIXBUF_MODULE_FILE \"$GDK_PIXBUF_MODULE_FILE\""
"--prefix XDG_DATA_DIRS : \"$out/share\""
"--suffix XDG_DATA_DIRS : \"$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH\""
paperwork-backend
pypillowfight
gtk3
cairo
pyxdg
dateutil
setuptools
];

meta = {
description = "A personal document manager for scanned documents";
homepage = https://openpaper.work/;
license = lib.licenses.gpl3Plus;
maintainers = [ lib.maintainers.aszlig ];
maintainers = with lib.maintainers; [ aszlig symphorien ];
platforms = lib.platforms.linux;
};
}
47 changes: 47 additions & 0 deletions pkgs/development/libraries/libinsane/default.nix
@@ -0,0 +1,47 @@
{ stdenv
, lib
, meson
, ninja
, fetchFromGitLab
, pkg-config
, glib
, docbook_xsl
, sane-backends
, gobject-introspection
, vala
, gtk-doc
, valgrind
, doxygen
, cunit
}:

stdenv.mkDerivation rec {
pname = "libinsane";
version = "1.0.2";

outputs = [ "out" "dev" "devdoc" ];

src = fetchFromGitLab {
domain = "gitlab.gnome.org";
repo = "libinsane";
group = "World";
owner = "OpenPaperwork";
rev = version;
sha256 = "1pv5lapxvp1gdhsbxljrn1r1yj9k62n5sydyzasn1rfa33im2dyx";
};

nativeBuildInputs = [ meson pkg-config ninja doxygen gtk-doc docbook_xsl gobject-introspection vala ];

buildInputs = [ sane-backends glib ];

checkInputs = [ cunit valgrind ];

doCheck = true;

meta = {
description = "Crossplatform access to image scanners (paper eaters only)";
homepage = "https://openpaper.work/en/projects/";
license = lib.licenses.lgpl3Plus;
maintainers = [ lib.maintainers.symphorien ];
};
}
45 changes: 0 additions & 45 deletions pkgs/development/python-modules/pyinsane2/default.nix

This file was deleted.

2 changes: 2 additions & 0 deletions pkgs/top-level/all-packages.nix
Expand Up @@ -4663,6 +4663,8 @@ in

libgumath = callPackage ../development/libraries/libgumath { };

libinsane = callPackage ../development/libraries/libinsane { };

libipfix = callPackage ../development/libraries/libipfix { };

libircclient = callPackage ../development/libraries/libircclient { };
Expand Down
2 changes: 0 additions & 2 deletions pkgs/top-level/python-packages.nix
Expand Up @@ -4687,8 +4687,6 @@ in {

pyinotify = callPackage ../development/python-modules/pyinotify { };

pyinsane2 = callPackage ../development/python-modules/pyinsane2 { };

pyjwt = callPackage ../development/python-modules/pyjwt { };

pykickstart = callPackage ../development/python-modules/pykickstart { };
Expand Down