From 0cf43ed2a0e70d4e0e9651c43df8822c97f995e8 Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Sat, 31 Oct 2020 12:00:00 +0000 Subject: [PATCH 1/5] python3.pkgs.getkey: init at 0.6.5 --- .../python-modules/getkey/default.nix | 34 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 ++ 2 files changed, 36 insertions(+) create mode 100644 pkgs/development/python-modules/getkey/default.nix diff --git a/pkgs/development/python-modules/getkey/default.nix b/pkgs/development/python-modules/getkey/default.nix new file mode 100644 index 00000000000..c0cbec29145 --- /dev/null +++ b/pkgs/development/python-modules/getkey/default.nix @@ -0,0 +1,34 @@ +{ lib +, buildPythonPackage +, fetchPypi +, pytestCheckHook +, flake8 +}: + +buildPythonPackage rec { + pname = "getkey"; + version = "0.6.5"; + + src = fetchPypi { + inherit pname version; + sha256 = "0ng0ihfagh9g8hral0bq5nhjlp3csqghyv3z8b7ylkdkqc1cgiv8"; + }; + + # disable coverage, because we don't care and python-coveralls is not in nixpkgs + postPatch = '' + sed -e '/python-coveralls/d' -e '/pytest-cov/d' -i setup.py + rm setup.cfg + ''; + + checkInputs = [ + flake8 + pytestCheckHook + ]; + + meta = with lib; { + description = "Read single characters and key-strokes"; + homepage = "https://github.com/kcsaff/getkey"; + license = licenses.mit; + maintainers = [ maintainers.symphorien ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index bcbc6a9ba98..73f844f2d63 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -2344,6 +2344,8 @@ in { getmac = callPackage ../development/python-modules/getmac { }; + getkey = callPackage ../development/python-modules/getkey { }; + gevent = callPackage ../development/python-modules/gevent { }; geventhttpclient = callPackage ../development/python-modules/geventhttpclient { }; From f269e315ec6587b2a151a6908926df21e145b9f5 Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Sat, 31 Oct 2020 12:00:00 +0000 Subject: [PATCH 2/5] python3.pkgs.fabulous: init at 0.3.0 --- .../python-modules/fabulous/default.nix | 39 +++++++++++++++++++ .../fabulous/relative_import.patch | 27 +++++++++++++ pkgs/top-level/python-packages.nix | 2 + 3 files changed, 68 insertions(+) create mode 100644 pkgs/development/python-modules/fabulous/default.nix create mode 100644 pkgs/development/python-modules/fabulous/relative_import.patch diff --git a/pkgs/development/python-modules/fabulous/default.nix b/pkgs/development/python-modules/fabulous/default.nix new file mode 100644 index 00000000000..6079f22020a --- /dev/null +++ b/pkgs/development/python-modules/fabulous/default.nix @@ -0,0 +1,39 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pillow +, python +}: + +buildPythonPackage rec { + pname = "fabulous"; + version = "0.3.0"; + + src = fetchFromGitHub { + owner = "jart"; + repo = pname; + rev = version; + sha256 = "0yxdaz6yayp1a57kdb2i8q7kwwdlwy4a3d0lr012h2ji9m89c8q7"; + }; + + patches = [ + ./relative_import.patch + ]; + + propagatedBuildInputs = [ + pillow + ]; + + checkPhase = '' + for i in tests/*.py; do + ${python.interpreter} $i + done + ''; + + meta = with lib; { + description = "Make the output of terminal applications look fabulous"; + homepage = "https://jart.github.io/fabulous"; + license = licenses.asl20; + maintainers = [ maintainers.symphorien ]; + }; +} diff --git a/pkgs/development/python-modules/fabulous/relative_import.patch b/pkgs/development/python-modules/fabulous/relative_import.patch new file mode 100644 index 00000000000..b12e3d9a786 --- /dev/null +++ b/pkgs/development/python-modules/fabulous/relative_import.patch @@ -0,0 +1,27 @@ +diff --git a/fabulous/prompt.py b/fabulous/prompt.py +index 531176f..e395ab4 100644 +--- a/fabulous/prompt.py ++++ b/fabulous/prompt.py +@@ -18,8 +18,7 @@ + import sys + import os + import os.path +-import term +-from term import stdout, stderr, display ++from .term import stdout, stderr, display + + __all__ = ["input_object","query","file_chooser"] + +diff --git a/fabulous/widget.py b/fabulous/widget.py +index 31a2547..7ad889a 100644 +--- a/fabulous/widget.py ++++ b/fabulous/widget.py +@@ -24,7 +24,7 @@ import os + import math + from datetime import datetime + # import textwrap +-from term import stdout, display ++from .term import stdout, display + + class ProgressBar(object): + """A 3-line progress bar, which looks like:: diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 73f844f2d63..62eb9184037 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1970,6 +1970,8 @@ in { Fabric = callPackage ../development/python-modules/Fabric { }; + fabulous = callPackage ../development/python-modules/fabulous { }; + facebook-sdk = callPackage ../development/python-modules/facebook-sdk { }; face = callPackage ../development/python-modules/face { }; From 74b9066a3949f673f37d6a39bafabff707c121d0 Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Sat, 31 Oct 2020 12:00:00 +0000 Subject: [PATCH 3/5] paperwork: 1.3.1 -> 2.0 --- .../applications/office/paperwork/backend.nix | 48 ------------ .../office/paperwork/openpaperwork-core.nix | 42 ++++++++++ .../office/paperwork/openpaperwork-gtk.nix | 52 +++++++++++++ .../office/paperwork/paperwork-backend.nix | 77 +++++++++++++++++++ .../{default.nix => paperwork-gtk.nix} | 59 +++++++------- .../office/paperwork/paperwork-shell.nix | 59 ++++++++++++++ pkgs/applications/office/paperwork/src.nix | 12 +++ pkgs/top-level/all-packages.nix | 2 +- pkgs/top-level/python-packages.nix | 5 +- 9 files changed, 278 insertions(+), 78 deletions(-) delete mode 100644 pkgs/applications/office/paperwork/backend.nix create mode 100644 pkgs/applications/office/paperwork/openpaperwork-core.nix create mode 100644 pkgs/applications/office/paperwork/openpaperwork-gtk.nix create mode 100644 pkgs/applications/office/paperwork/paperwork-backend.nix rename pkgs/applications/office/paperwork/{default.nix => paperwork-gtk.nix} (57%) create mode 100644 pkgs/applications/office/paperwork/paperwork-shell.nix create mode 100644 pkgs/applications/office/paperwork/src.nix diff --git a/pkgs/applications/office/paperwork/backend.nix b/pkgs/applications/office/paperwork/backend.nix deleted file mode 100644 index af0d4c43059..00000000000 --- a/pkgs/applications/office/paperwork/backend.nix +++ /dev/null @@ -1,48 +0,0 @@ -{ buildPythonPackage, lib, fetchFromGitLab - -, isPy3k, isPyPy - -, pyenchant, simplebayes, pillow, pycountry, whoosh, termcolor -, python-Levenshtein, pygobject3, pyocr, natsort, libinsane -, distro - -, pkgs -}: - -buildPythonPackage rec { - pname = "paperwork-backend"; - version = "1.3.1"; - - src = fetchFromGitLab { - domain = "gitlab.gnome.org"; - repo = "paperwork"; - group = "World"; - owner = "OpenPaperwork"; - rev = version; - sha256 = "1219yz8z4r1yn6miq8zc2z1m1lnhf3dmkhwfw23n05bg842nvg65"; - }; - - sourceRoot = "source/paperwork-backend"; - - # Python 2.x is not supported. - disabled = !isPy3k && !isPyPy; - - patchPhase = '' - echo 'version = "${version}"' > paperwork_backend/_version.py - ''; - - preCheck = "\"$out/bin/paperwork-shell\" chkdeps paperwork_backend"; - - propagatedBuildInputs = [ - pyenchant simplebayes pillow pycountry whoosh termcolor - 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 = with lib.maintainers; [ aszlig symphorien ]; - }; -} diff --git a/pkgs/applications/office/paperwork/openpaperwork-core.nix b/pkgs/applications/office/paperwork/openpaperwork-core.nix new file mode 100644 index 00000000000..cae55ae95f1 --- /dev/null +++ b/pkgs/applications/office/paperwork/openpaperwork-core.nix @@ -0,0 +1,42 @@ +{ buildPythonPackage, lib, fetchFromGitLab + +, isPy3k, isPyPy + +, distro, setuptools + +, pkgs +}: + +buildPythonPackage rec { + pname = "openpaperwork-core"; + inherit (import ./src.nix { inherit fetchFromGitLab; }) version src; + + sourceRoot = "source/openpaperwork-core"; + + # Python 2.x is not supported. + disabled = !isPy3k && !isPyPy; + + patchPhase = '' + echo 'version = "${version}"' > src/openpaperwork_core/_version.py + chmod a+w -R .. + patchShebangs ../tools + ''; + + propagatedBuildInputs = [ + distro + setuptools + ]; + + nativeBuildInputs = [ pkgs.gettext pkgs.which ]; + + preBuild = '' + make l10n_compile + ''; + + meta = { + description = "Backend part of Paperwork (Python API, no UI)"; + homepage = "https://openpaper.work/"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ aszlig symphorien ]; + }; +} diff --git a/pkgs/applications/office/paperwork/openpaperwork-gtk.nix b/pkgs/applications/office/paperwork/openpaperwork-gtk.nix new file mode 100644 index 00000000000..5dae745ce2e --- /dev/null +++ b/pkgs/applications/office/paperwork/openpaperwork-gtk.nix @@ -0,0 +1,52 @@ +{ buildPythonPackage +, lib +, fetchFromGitLab + +, isPy3k +, isPyPy + +, openpaperwork-core +, pillow +, pygobject3 +, distro + +, pkgs +}: + +buildPythonPackage rec { + pname = "openpaperwork-gtk"; + inherit (import ./src.nix { inherit fetchFromGitLab; }) version src; + + sourceRoot = "source/openpaperwork-gtk"; + + # Python 2.x is not supported. + disabled = !isPy3k && !isPyPy; + + patchPhase = '' + echo 'version = "${version}"' > src/openpaperwork_gtk/_version.py + chmod a+w -R .. + patchShebangs ../tools + ''; + + nativeBuildInputs = [ pkgs.gettext pkgs.which ]; + preBuild = '' + make l10n_compile + ''; + + propagatedBuildInputs = [ + pillow + pygobject3 + pkgs.poppler_gi + pkgs.gtk3 + distro + pkgs.pango + openpaperwork-core + ]; + + meta = { + description = "Reusable GTK components of Paperwork"; + homepage = "https://openpaper.work/"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ aszlig symphorien ]; + }; +} diff --git a/pkgs/applications/office/paperwork/paperwork-backend.nix b/pkgs/applications/office/paperwork/paperwork-backend.nix new file mode 100644 index 00000000000..a033bd695db --- /dev/null +++ b/pkgs/applications/office/paperwork/paperwork-backend.nix @@ -0,0 +1,77 @@ +{ buildPythonPackage +, lib +, fetchFromGitLab + +, isPy3k +, isPyPy + +, pyenchant +, simplebayes +, pypillowfight +, pycountry +, whoosh +, termcolor +, python-Levenshtein +, pygobject3 +, pyocr +, natsort +, libinsane +, distro +, openpaperwork-core +, openpaperwork-gtk +, psutil + +, pkgs +}: + +buildPythonPackage rec { + pname = "paperwork-backend"; + inherit (import ./src.nix { inherit fetchFromGitLab; }) version src; + + sourceRoot = "source/paperwork-backend"; + + # Python 2.x is not supported. + disabled = !isPy3k && !isPyPy; + + patchPhase = '' + echo 'version = "${version}"' > src/paperwork_backend/_version.py + chmod a+w -R .. + patchShebangs ../tools + ''; + + propagatedBuildInputs = [ + pyenchant + simplebayes + pypillowfight + pycountry + whoosh + termcolor + python-Levenshtein + libinsane + pygobject3 + pyocr + natsort + pkgs.poppler_gi + pkgs.gtk3 + distro + openpaperwork-core + ]; + + preCheck = '' + export HOME=$(mktemp -d) + ''; + + nativeBuildInputs = [ pkgs.gettext pkgs.which ]; + preBuild = '' + make l10n_compile + ''; + + checkInputs = [ openpaperwork-gtk psutil ]; + + meta = { + description = "Backend part of Paperwork (Python API, no UI)"; + homepage = "https://openpaper.work/"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ aszlig symphorien ]; + }; +} diff --git a/pkgs/applications/office/paperwork/default.nix b/pkgs/applications/office/paperwork/paperwork-gtk.nix similarity index 57% rename from pkgs/applications/office/paperwork/default.nix rename to pkgs/applications/office/paperwork/paperwork-gtk.nix index 102c3cd2564..c493421dd11 100644 --- a/pkgs/applications/office/paperwork/default.nix +++ b/pkgs/applications/office/paperwork/paperwork-gtk.nix @@ -10,45 +10,36 @@ , dbus , libnotify , wrapGAppsHook +, fetchFromGitLab +, which +, gettext +, gobject-introspection }: python3Packages.buildPythonApplication rec { - inherit (python3Packages.paperwork-backend) version src; + inherit (import ./src.nix { inherit fetchFromGitLab; }) version src; pname = "paperwork"; sourceRoot = "source/paperwork-gtk"; # Patch out a few paths that assume that we're using the FHS: postPatch = '' - themeDir="$(echo "${gnome3.adwaita-icon-theme}/share/icons/"*)" - sed -i -e "s,/usr/share/icons/gnome,$themeDir," src/paperwork/deps.py + chmod a+w -R .. + patchShebangs ../tools - sed -i -e 's,sys\.prefix,"",g' \ - src/paperwork/frontend/aboutdialog/__init__.py \ - src/paperwork/frontend/mainwindow/__init__.py \ - setup.py + export HOME=$(mktemp -d) - sed -i -e '/^UI_FILES_DIRS = \[/,/^\]$/ { - c UI_FILES_DIRS = ["'"$out/share/paperwork"'"] - }' src/paperwork/frontend/util/__init__.py - - sed -i -e '/^LOCALE_PATHS = \[/,/^\]$/ { - c LOCALE_PATHS = ["'"$out/share"'"] - }' src/paperwork/paperwork.py - - sed -i -e 's/"icon"/"icon-name"/g' \ - src/paperwork/frontend/mainwindow/mainwindow.glade - - sed -i -e 's/"logo"/"logo-icon-name"/g' \ - src/paperwork/frontend/aboutdialog/aboutdialog.glade - - cat - ../AUTHORS.py > src/paperwork/_version.py < src/paperwork_gtk/_version.py < src/paperwork_shell/_version.py + chmod a+w -R .. + patchShebangs ../tools + ''; + + propagatedBuildInputs = [ + openpaperwork-core + paperwork-backend + fabulous + getkey + ]; + + checkInputs = [ + openpaperwork-gtk + ]; + + nativeBuildInputs = [ pkgs.gettext pkgs.which ]; + preBuild = '' + make l10n_compile + ''; + + preCheck = '' + export HOME=$(mktemp -d) + "$out/bin/paperwork-cli" chkdeps + ''; + + meta = { + description = "CLI for Paperwork"; + homepage = "https://openpaper.work/"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ aszlig symphorien ]; + }; +} diff --git a/pkgs/applications/office/paperwork/src.nix b/pkgs/applications/office/paperwork/src.nix new file mode 100644 index 00000000000..d77e8bc043e --- /dev/null +++ b/pkgs/applications/office/paperwork/src.nix @@ -0,0 +1,12 @@ +{fetchFromGitLab}: +rec { + version = "2.0"; + src = fetchFromGitLab { + domain = "gitlab.gnome.org"; + repo = "paperwork"; + group = "World"; + owner = "OpenPaperwork"; + rev = version; + sha256 = "0879wvl3hk74kwnaa64q6prfg2kjaa7nrzahaw2zcipdpf5h2mkm"; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 1b04ab9e25b..a45d46ee14c 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -6143,7 +6143,7 @@ in paperless = callPackage ../applications/office/paperless { }; - paperwork = callPackage ../applications/office/paperwork { }; + paperwork = callPackage ../applications/office/paperwork/paperwork-gtk.nix { }; papertrail = callPackage ../tools/text/papertrail { }; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 62eb9184037..d4757bd2792 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -4306,7 +4306,10 @@ in { paperspace = callPackage ../development/python-modules/paperspace { }; - paperwork-backend = callPackage ../applications/office/paperwork/backend.nix { }; + openpaperwork-core = callPackage ../applications/office/paperwork/openpaperwork-core.nix { }; + openpaperwork-gtk = callPackage ../applications/office/paperwork/openpaperwork-gtk.nix { }; + paperwork-backend = callPackage ../applications/office/paperwork/paperwork-backend.nix { }; + paperwork-shell = callPackage ../applications/office/paperwork/paperwork-shell.nix { }; papis = callPackage ../development/python-modules/papis { }; From 3c9707d4a3fc2990d0385cf913d6731824036e56 Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Thu, 5 Nov 2020 12:00:00 +0000 Subject: [PATCH 4/5] nixos: add release notes for the paperwork update. --- nixos/doc/manual/release-notes/rl-2103.xml | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/nixos/doc/manual/release-notes/rl-2103.xml b/nixos/doc/manual/release-notes/rl-2103.xml index 374ea1cbd16..af73b307325 100644 --- a/nixos/doc/manual/release-notes/rl-2103.xml +++ b/nixos/doc/manual/release-notes/rl-2103.xml @@ -99,6 +99,13 @@ to /run/pdns-recursor to match upstream. + + + Paperwork was updated to version 2. The on-disk format slightly changed, + and it is not possible to downgrade from Paperwork 2 back to Paperwork + 1.3. Back your documents up before upgrading. See this thread for more details. + + PowerDNS has been updated from 4.2.x to 4.3.x. Please From 0c38b12059e6a0222445d64c968c68ff960ad2b6 Mon Sep 17 00:00:00 2001 From: Symphorien Gibol Date: Sun, 15 Nov 2020 14:30:39 +0100 Subject: [PATCH 5/5] paperwork: 2.0 -> 2.0.1 --- pkgs/applications/office/paperwork/src.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/applications/office/paperwork/src.nix b/pkgs/applications/office/paperwork/src.nix index d77e8bc043e..70770676edd 100644 --- a/pkgs/applications/office/paperwork/src.nix +++ b/pkgs/applications/office/paperwork/src.nix @@ -1,12 +1,12 @@ {fetchFromGitLab}: rec { - version = "2.0"; + version = "2.0.1"; src = fetchFromGitLab { domain = "gitlab.gnome.org"; repo = "paperwork"; group = "World"; owner = "OpenPaperwork"; rev = version; - sha256 = "0879wvl3hk74kwnaa64q6prfg2kjaa7nrzahaw2zcipdpf5h2mkm"; + sha256 = "16pc4drwpjl4937wdavs6wk0j1qs474b072wplhs8ywxfgqip1h4"; }; }