paperwork: 1.3.1 -> 2.0

+352 -152
-48
pkgs/applications/office/paperwork/backend.nix
··· 1 - { buildPythonPackage, lib, fetchFromGitLab 2 - 3 - , isPy3k, isPyPy 4 - 5 - , pyenchant, simplebayes, pillow, pycountry, whoosh, termcolor 6 - , python-Levenshtein, pygobject3, pyocr, natsort, libinsane 7 - , distro 8 - 9 - , pkgs 10 - }: 11 - 12 - buildPythonPackage rec { 13 - pname = "paperwork-backend"; 14 - version = "1.3.1"; 15 - 16 - src = fetchFromGitLab { 17 - domain = "gitlab.gnome.org"; 18 - repo = "paperwork"; 19 - group = "World"; 20 - owner = "OpenPaperwork"; 21 - rev = version; 22 - sha256 = "1219yz8z4r1yn6miq8zc2z1m1lnhf3dmkhwfw23n05bg842nvg65"; 23 - }; 24 - 25 - sourceRoot = "source/paperwork-backend"; 26 - 27 - # Python 2.x is not supported. 28 - disabled = !isPy3k && !isPyPy; 29 - 30 - patchPhase = '' 31 - echo 'version = "${version}"' > paperwork_backend/_version.py 32 - ''; 33 - 34 - preCheck = "\"$out/bin/paperwork-shell\" chkdeps paperwork_backend"; 35 - 36 - propagatedBuildInputs = [ 37 - pyenchant simplebayes pillow pycountry whoosh termcolor 38 - python-Levenshtein libinsane pygobject3 pyocr natsort 39 - pkgs.poppler_gi pkgs.gtk3 distro 40 - ]; 41 - 42 - meta = { 43 - description = "Backend part of Paperwork (Python API, no UI)"; 44 - homepage = "https://openpaper.work/"; 45 - license = lib.licenses.gpl3Plus; 46 - maintainers = with lib.maintainers; [ aszlig symphorien ]; 47 - }; 48 - }
-102
pkgs/applications/office/paperwork/default.nix
··· 1 - { lib 2 - , python3Packages 3 - , gtk3 4 - , cairo 5 - , aspellDicts 6 - , buildEnv 7 - , gnome3 8 - , librsvg 9 - , xvfb_run 10 - , dbus 11 - , libnotify 12 - , wrapGAppsHook 13 - }: 14 - 15 - python3Packages.buildPythonApplication rec { 16 - inherit (python3Packages.paperwork-backend) version src; 17 - pname = "paperwork"; 18 - 19 - sourceRoot = "source/paperwork-gtk"; 20 - 21 - # Patch out a few paths that assume that we're using the FHS: 22 - postPatch = '' 23 - themeDir="$(echo "${gnome3.adwaita-icon-theme}/share/icons/"*)" 24 - sed -i -e "s,/usr/share/icons/gnome,$themeDir," src/paperwork/deps.py 25 - 26 - sed -i -e 's,sys\.prefix,"",g' \ 27 - src/paperwork/frontend/aboutdialog/__init__.py \ 28 - src/paperwork/frontend/mainwindow/__init__.py \ 29 - setup.py 30 - 31 - sed -i -e '/^UI_FILES_DIRS = \[/,/^\]$/ { 32 - c UI_FILES_DIRS = ["'"$out/share/paperwork"'"] 33 - }' src/paperwork/frontend/util/__init__.py 34 - 35 - sed -i -e '/^LOCALE_PATHS = \[/,/^\]$/ { 36 - c LOCALE_PATHS = ["'"$out/share"'"] 37 - }' src/paperwork/paperwork.py 38 - 39 - sed -i -e 's/"icon"/"icon-name"/g' \ 40 - src/paperwork/frontend/mainwindow/mainwindow.glade 41 - 42 - sed -i -e 's/"logo"/"logo-icon-name"/g' \ 43 - src/paperwork/frontend/aboutdialog/aboutdialog.glade 44 - 45 - cat - ../AUTHORS.py > src/paperwork/_version.py <<EOF 46 - # -*- coding: utf-8 -*- 47 - version = "${version}" 48 - authors_code="" 49 - EOF 50 - ''; 51 - 52 - ASPELL_CONF = "dict-dir ${buildEnv { 53 - name = "aspell-all-dicts"; 54 - paths = lib.collect lib.isDerivation aspellDicts; 55 - }}/lib/aspell"; 56 - 57 - postInstall = '' 58 - # paperwork-shell needs to be re-wrapped with access to paperwork 59 - cp ${python3Packages.paperwork-backend}/bin/.paperwork-shell-wrapped $out/bin/paperwork-shell 60 - # install desktop files and icons 61 - XDG_DATA_HOME=$out/share $out/bin/paperwork-shell install 62 - ''; 63 - 64 - checkInputs = [ xvfb_run dbus.daemon ] ++ (with python3Packages; [ paperwork-backend ]); 65 - 66 - nativeBuildInputs = [ 67 - wrapGAppsHook 68 - ]; 69 - 70 - buildInputs = [ 71 - gnome3.adwaita-icon-theme 72 - libnotify 73 - librsvg 74 - ]; 75 - 76 - # A few parts of chkdeps need to have a display and a dbus session, so we not 77 - # only need to run a virtual X server + dbus but also have a large enough 78 - # resolution, because the Cairo test tries to draw a 200x200 window. 79 - preCheck = '' 80 - xvfb-run -s '-screen 0 800x600x24' dbus-run-session \ 81 - --config-file=${dbus.daemon}/share/dbus-1/session.conf \ 82 - paperwork-shell chkdeps paperwork 83 - ''; 84 - 85 - propagatedBuildInputs = with python3Packages; [ 86 - paperwork-backend 87 - pypillowfight 88 - gtk3 89 - cairo 90 - pyxdg 91 - dateutil 92 - setuptools 93 - ]; 94 - 95 - meta = { 96 - description = "A personal document manager for scanned documents"; 97 - homepage = "https://openpaper.work/"; 98 - license = lib.licenses.gpl3Plus; 99 - maintainers = with lib.maintainers; [ aszlig symphorien ]; 100 - platforms = lib.platforms.linux; 101 - }; 102 - }
+42
pkgs/applications/office/paperwork/openpaperwork-core.nix
··· 1 + { buildPythonPackage, lib, fetchFromGitLab 2 + 3 + , isPy3k, isPyPy 4 + 5 + , distro, setuptools 6 + 7 + , pkgs 8 + }: 9 + 10 + buildPythonPackage rec { 11 + pname = "openpaperwork-core"; 12 + inherit (import ./src.nix { inherit fetchFromGitLab; }) version src; 13 + 14 + sourceRoot = "source/openpaperwork-core"; 15 + 16 + # Python 2.x is not supported. 17 + disabled = !isPy3k && !isPyPy; 18 + 19 + patchPhase = '' 20 + echo 'version = "${version}"' > src/openpaperwork_core/_version.py 21 + chmod a+w -R .. 22 + patchShebangs ../tools 23 + ''; 24 + 25 + propagatedBuildInputs = [ 26 + distro 27 + setuptools 28 + ]; 29 + 30 + nativeBuildInputs = [ pkgs.gettext pkgs.which ]; 31 + 32 + preBuild = '' 33 + make l10n_compile 34 + ''; 35 + 36 + meta = { 37 + description = "Backend part of Paperwork (Python API, no UI)"; 38 + homepage = "https://openpaper.work/"; 39 + license = lib.licenses.gpl3Plus; 40 + maintainers = with lib.maintainers; [ aszlig symphorien ]; 41 + }; 42 + }
+52
pkgs/applications/office/paperwork/openpaperwork-gtk.nix
··· 1 + { buildPythonPackage 2 + , lib 3 + , fetchFromGitLab 4 + 5 + , isPy3k 6 + , isPyPy 7 + 8 + , openpaperwork-core 9 + , pillow 10 + , pygobject3 11 + , distro 12 + 13 + , pkgs 14 + }: 15 + 16 + buildPythonPackage rec { 17 + pname = "openpaperwork-gtk"; 18 + inherit (import ./src.nix { inherit fetchFromGitLab; }) version src; 19 + 20 + sourceRoot = "source/openpaperwork-gtk"; 21 + 22 + # Python 2.x is not supported. 23 + disabled = !isPy3k && !isPyPy; 24 + 25 + patchPhase = '' 26 + echo 'version = "${version}"' > src/openpaperwork_gtk/_version.py 27 + chmod a+w -R .. 28 + patchShebangs ../tools 29 + ''; 30 + 31 + nativeBuildInputs = [ pkgs.gettext pkgs.which ]; 32 + preBuild = '' 33 + make l10n_compile 34 + ''; 35 + 36 + propagatedBuildInputs = [ 37 + pillow 38 + pygobject3 39 + pkgs.poppler_gi 40 + pkgs.gtk3 41 + distro 42 + pkgs.pango 43 + openpaperwork-core 44 + ]; 45 + 46 + meta = { 47 + description = "Reusable GTK components of Paperwork"; 48 + homepage = "https://openpaper.work/"; 49 + license = lib.licenses.gpl3Plus; 50 + maintainers = with lib.maintainers; [ aszlig symphorien ]; 51 + }; 52 + }
+77
pkgs/applications/office/paperwork/paperwork-backend.nix
··· 1 + { buildPythonPackage 2 + , lib 3 + , fetchFromGitLab 4 + 5 + , isPy3k 6 + , isPyPy 7 + 8 + , pyenchant 9 + , simplebayes 10 + , pypillowfight 11 + , pycountry 12 + , whoosh 13 + , termcolor 14 + , python-Levenshtein 15 + , pygobject3 16 + , pyocr 17 + , natsort 18 + , libinsane 19 + , distro 20 + , openpaperwork-core 21 + , openpaperwork-gtk 22 + , psutil 23 + 24 + , pkgs 25 + }: 26 + 27 + buildPythonPackage rec { 28 + pname = "paperwork-backend"; 29 + inherit (import ./src.nix { inherit fetchFromGitLab; }) version src; 30 + 31 + sourceRoot = "source/paperwork-backend"; 32 + 33 + # Python 2.x is not supported. 34 + disabled = !isPy3k && !isPyPy; 35 + 36 + patchPhase = '' 37 + echo 'version = "${version}"' > src/paperwork_backend/_version.py 38 + chmod a+w -R .. 39 + patchShebangs ../tools 40 + ''; 41 + 42 + propagatedBuildInputs = [ 43 + pyenchant 44 + simplebayes 45 + pypillowfight 46 + pycountry 47 + whoosh 48 + termcolor 49 + python-Levenshtein 50 + libinsane 51 + pygobject3 52 + pyocr 53 + natsort 54 + pkgs.poppler_gi 55 + pkgs.gtk3 56 + distro 57 + openpaperwork-core 58 + ]; 59 + 60 + preCheck = '' 61 + export HOME=$(mktemp -d) 62 + ''; 63 + 64 + nativeBuildInputs = [ pkgs.gettext pkgs.which ]; 65 + preBuild = '' 66 + make l10n_compile 67 + ''; 68 + 69 + checkInputs = [ openpaperwork-gtk psutil ]; 70 + 71 + meta = { 72 + description = "Backend part of Paperwork (Python API, no UI)"; 73 + homepage = "https://openpaper.work/"; 74 + license = lib.licenses.gpl3Plus; 75 + maintainers = with lib.maintainers; [ aszlig symphorien ]; 76 + }; 77 + }
+105
pkgs/applications/office/paperwork/paperwork-gtk.nix
··· 1 + { lib 2 + , python3Packages 3 + , gtk3 4 + , cairo 5 + , aspellDicts 6 + , buildEnv 7 + , gnome3 8 + , librsvg 9 + , xvfb_run 10 + , dbus 11 + , libnotify 12 + , wrapGAppsHook 13 + , fetchFromGitLab 14 + , which 15 + , gettext 16 + , gobject-introspection 17 + }: 18 + 19 + python3Packages.buildPythonApplication rec { 20 + inherit (import ./src.nix { inherit fetchFromGitLab; }) version src; 21 + pname = "paperwork"; 22 + 23 + sourceRoot = "source/paperwork-gtk"; 24 + 25 + # Patch out a few paths that assume that we're using the FHS: 26 + postPatch = '' 27 + chmod a+w -R .. 28 + patchShebangs ../tools 29 + 30 + export HOME=$(mktemp -d) 31 + 32 + cat - ../AUTHORS.py > src/paperwork_gtk/_version.py <<EOF 33 + # -*- coding: utf-8 -*- 34 + version = "${version}" 35 + authors_code="" 36 + EOF 37 + ''; 38 + 39 + preBuild = '' 40 + make l10n_compile 41 + ''; 42 + 43 + ASPELL_CONF = "dict-dir ${buildEnv { 44 + name = "aspell-all-dicts"; 45 + paths = lib.collect lib.isDerivation aspellDicts; 46 + }}/lib/aspell"; 47 + 48 + postInstall = '' 49 + # paperwork-shell needs to be re-wrapped with access to paperwork 50 + cp ${python3Packages.paperwork-shell}/bin/.paperwork-cli-wrapped $out/bin/paperwork-cli 51 + # install desktop files and icons 52 + XDG_DATA_HOME=$out/share $out/bin/paperwork-gtk install --user 53 + ''; 54 + 55 + checkInputs = [ xvfb_run dbus.daemon ]; 56 + 57 + nativeBuildInputs = [ 58 + wrapGAppsHook 59 + gobject-introspection 60 + (lib.getBin gettext) 61 + which 62 + ]; 63 + 64 + buildInputs = [ 65 + gnome3.adwaita-icon-theme 66 + libnotify 67 + librsvg 68 + gtk3 69 + cairo 70 + ]; 71 + 72 + dontWrapGApps = true; 73 + 74 + preFixup = '' 75 + makeWrapperArgs+=("''${gappsWrapperArgs[@]}") 76 + ''; 77 + 78 + # A few parts of chkdeps need to have a display and a dbus session, so we not 79 + # only need to run a virtual X server + dbus but also have a large enough 80 + # resolution, because the Cairo test tries to draw a 200x200 window. 81 + preCheck = '' 82 + xvfb-run -s '-screen 0 800x600x24' dbus-run-session \ 83 + --config-file=${dbus.daemon}/share/dbus-1/session.conf \ 84 + $out/bin/paperwork-gtk chkdeps 85 + ''; 86 + 87 + propagatedBuildInputs = with python3Packages; [ 88 + paperwork-backend 89 + paperwork-shell 90 + openpaperwork-gtk 91 + openpaperwork-core 92 + pypillowfight 93 + pyxdg 94 + dateutil 95 + setuptools 96 + ]; 97 + 98 + meta = { 99 + description = "A personal document manager for scanned documents"; 100 + homepage = "https://openpaper.work/"; 101 + license = lib.licenses.gpl3Plus; 102 + maintainers = with lib.maintainers; [ aszlig symphorien ]; 103 + platforms = lib.platforms.linux; 104 + }; 105 + }
+59
pkgs/applications/office/paperwork/paperwork-shell.nix
··· 1 + { buildPythonPackage 2 + , lib 3 + , fetchFromGitLab 4 + 5 + , isPy3k 6 + , isPyPy 7 + 8 + , openpaperwork-core 9 + , openpaperwork-gtk 10 + , paperwork-backend 11 + , fabulous 12 + , getkey 13 + 14 + , pkgs 15 + }: 16 + 17 + buildPythonPackage rec { 18 + pname = "paperwork-shell"; 19 + inherit (import ./src.nix { inherit fetchFromGitLab; }) version src; 20 + 21 + sourceRoot = "source/paperwork-shell"; 22 + 23 + # Python 2.x is not supported. 24 + disabled = !isPy3k && !isPyPy; 25 + 26 + patchPhase = '' 27 + echo 'version = "${version}"' > src/paperwork_shell/_version.py 28 + chmod a+w -R .. 29 + patchShebangs ../tools 30 + ''; 31 + 32 + propagatedBuildInputs = [ 33 + openpaperwork-core 34 + paperwork-backend 35 + fabulous 36 + getkey 37 + ]; 38 + 39 + checkInputs = [ 40 + openpaperwork-gtk 41 + ]; 42 + 43 + nativeBuildInputs = [ pkgs.gettext pkgs.which ]; 44 + preBuild = '' 45 + make l10n_compile 46 + ''; 47 + 48 + preCheck = '' 49 + export HOME=$(mktemp -d) 50 + "$out/bin/paperwork-cli" chkdeps 51 + ''; 52 + 53 + meta = { 54 + description = "CLI for Paperwork"; 55 + homepage = "https://openpaper.work/"; 56 + license = lib.licenses.gpl3Plus; 57 + maintainers = with lib.maintainers; [ aszlig symphorien ]; 58 + }; 59 + }
+12
pkgs/applications/office/paperwork/src.nix
··· 1 + {fetchFromGitLab}: 2 + rec { 3 + version = "2.0"; 4 + src = fetchFromGitLab { 5 + domain = "gitlab.gnome.org"; 6 + repo = "paperwork"; 7 + group = "World"; 8 + owner = "OpenPaperwork"; 9 + rev = version; 10 + sha256 = "0879wvl3hk74kwnaa64q6prfg2kjaa7nrzahaw2zcipdpf5h2mkm"; 11 + }; 12 + }
+1 -1
pkgs/top-level/all-packages.nix
··· 6143 6143 6144 6144 paperless = callPackage ../applications/office/paperless { }; 6145 6145 6146 - paperwork = callPackage ../applications/office/paperwork { }; 6146 + paperwork = callPackage ../applications/office/paperwork/paperwork-gtk.nix { }; 6147 6147 6148 6148 papertrail = callPackage ../tools/text/papertrail { }; 6149 6149
+4 -1
pkgs/top-level/python-packages.nix
··· 4306 4306 4307 4307 paperspace = callPackage ../development/python-modules/paperspace { }; 4308 4308 4309 - paperwork-backend = callPackage ../applications/office/paperwork/backend.nix { }; 4309 + openpaperwork-core = callPackage ../applications/office/paperwork/openpaperwork-core.nix { }; 4310 + openpaperwork-gtk = callPackage ../applications/office/paperwork/openpaperwork-gtk.nix { }; 4311 + paperwork-backend = callPackage ../applications/office/paperwork/paperwork-backend.nix { }; 4312 + paperwork-shell = callPackage ../applications/office/paperwork/paperwork-shell.nix { }; 4310 4313 4311 4314 papis = callPackage ../development/python-modules/papis { }; 4312 4315