about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/office
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2021-09-08 17:57:14 +0000
committerAlyssa Ross <hi@alyssa.is>2021-09-13 11:31:47 +0000
commitee7984efa14902a2ddd820c937457667a4f40c6a (patch)
treec9c1d046733cefe5e21fdd8a52104175d47b2443 /nixpkgs/pkgs/applications/office
parentffc9d4ba381da62fd08b361bacd1e71e2a3d934d (diff)
parentb3c692172e5b5241b028a98e1977f9fb12eeaf42 (diff)
downloadnixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.gz
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.bz2
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.lz
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.xz
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.tar.zst
nixlib-ee7984efa14902a2ddd820c937457667a4f40c6a.zip
Merge commit 'b3c692172e5b5241b028a98e1977f9fb12eeaf42'
Diffstat (limited to 'nixpkgs/pkgs/applications/office')
-rw-r--r--nixpkgs/pkgs/applications/office/aesop/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/office/agenda/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/atlassian-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/autokey/default.nix53
-rw-r--r--nixpkgs/pkgs/applications/office/calligra/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/office/elementary-planner/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/office/envelope/default.nix81
-rw-r--r--nixpkgs/pkgs/applications/office/flexibee/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/foliate/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/office/gnucash/default.nix18
-rw-r--r--nixpkgs/pkgs/applications/office/grisbi/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/homebank/default.nix10
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix16
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-fresh/override.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix8
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-still/override.nix1
-rw-r--r--nixpkgs/pkgs/applications/office/minetime/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/notes-up/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/onlyoffice-bin/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/office/onlyoffice-bin/update.sh5
-rw-r--r--nixpkgs/pkgs/applications/office/osmo/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/paperless-ng/default.nix195
-rw-r--r--nixpkgs/pkgs/applications/office/paperless/default.nix168
-rw-r--r--nixpkgs/pkgs/applications/office/paperless/python-modules/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/office/paperless/python-modules/django-crispy-forms.nix39
-rw-r--r--nixpkgs/pkgs/applications/office/paperless/python-modules/django-filter.nix26
-rw-r--r--nixpkgs/pkgs/applications/office/paperless/withConfig.nix68
-rw-r--r--nixpkgs/pkgs/applications/office/pdfmixtool/default.nix42
-rw-r--r--nixpkgs/pkgs/applications/office/portfolio/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/pympress/default.nix24
-rw-r--r--nixpkgs/pkgs/applications/office/skrooge/default.nix7
-rw-r--r--nixpkgs/pkgs/applications/office/todoman/default.nix5
-rw-r--r--nixpkgs/pkgs/applications/office/trilium/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/office/zim/default.nix16
-rw-r--r--nixpkgs/pkgs/applications/office/zotero/default.nix4
36 files changed, 377 insertions, 537 deletions
diff --git a/nixpkgs/pkgs/applications/office/aesop/default.nix b/nixpkgs/pkgs/applications/office/aesop/default.nix
deleted file mode 100644
index 0e151f3adbe9..000000000000
--- a/nixpkgs/pkgs/applications/office/aesop/default.nix
+++ /dev/null
@@ -1,53 +0,0 @@
-{ lib, stdenv, vala, fetchFromGitHub, nix-update-script, pantheon, pkg-config, meson, ninja, python3, gtk3
-, desktop-file-utils, json-glib, libsoup, libgee, poppler, wrapGAppsHook, fetchpatch }:
-
-stdenv.mkDerivation rec {
-  pname = "aesop";
-  version = "1.2.5";
-
-  src = fetchFromGitHub {
-    owner = "lainsce";
-    repo = pname;
-    rev = version;
-    sha256 = "1zxyyxl959rqhyz871dyyccqga2ydybkfcpyjq4vmvdn2g9mvmb0";
-  };
-
-  nativeBuildInputs = [
-    desktop-file-utils
-    meson
-    ninja
-    pkg-config
-    python3
-    vala
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    pantheon.elementary-icon-theme
-    libgee
-    pantheon.granite
-    gtk3
-    json-glib
-    libsoup
-    poppler
-  ];
-
-  postPatch = ''
-    chmod +x meson/post_install.py
-    patchShebangs meson/post_install.py
-  '';
-
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
-  };
-
-  meta = with lib; {
-    description = "The simplest PDF viewer around";
-    homepage = "https://github.com/lainsce/aesop";
-    license = licenses.gpl2Plus;
-    maintainers = pantheon.maintainers;
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/office/agenda/default.nix b/nixpkgs/pkgs/applications/office/agenda/default.nix
index 9308fc6c6eac..6654ed529fc3 100644
--- a/nixpkgs/pkgs/applications/office/agenda/default.nix
+++ b/nixpkgs/pkgs/applications/office/agenda/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "agenda";
-  version = "1.1.0";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "dahenson";
     repo = pname;
     rev = version;
-    sha256 = "0yfapapsanqacaa83iagar88i335yy2jvay8y6z7gkri7avbs4am";
+    sha256 = "sha256-tzGcqCxIkoBNskpadEqv289Sj5bij9u+LdYySiGdop8=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/office/atlassian-cli/default.nix b/nixpkgs/pkgs/applications/office/atlassian-cli/default.nix
index 8c1245a99ac8..63d38b0cc3fe 100644
--- a/nixpkgs/pkgs/applications/office/atlassian-cli/default.nix
+++ b/nixpkgs/pkgs/applications/office/atlassian-cli/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atlassian-cli";
-  version = "9.5.0";
+  version = "9.6.0";
 
   src = fetchzip {
     url  = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${pname}-${version}-distribution.zip";
-    sha256  = "sha256-EAoydA2lg4K1gTgzn9patNw7pcCdU/OPfaEG1OfEJ18=";
+    sha256  = "sha256-55ydhprVC9NdDMUrKbpSAEQBb9zRYgwOc7k8aP4R89A=";
   };
 
   tools = [
diff --git a/nixpkgs/pkgs/applications/office/autokey/default.nix b/nixpkgs/pkgs/applications/office/autokey/default.nix
index 441a9a98e972..4aef68ba0d06 100644
--- a/nixpkgs/pkgs/applications/office/autokey/default.nix
+++ b/nixpkgs/pkgs/applications/office/autokey/default.nix
@@ -1,32 +1,57 @@
-{ lib, python3Packages, fetchFromGitHub, wrapGAppsHook, gobject-introspection
-, gtksourceview3, libappindicator-gtk3, libnotify }:
+{ lib
+, python3Packages
+, fetchFromGitHub
+, wrapGAppsHook
+, gobject-introspection
+, gtksourceview3
+, libappindicator-gtk3
+, libnotify
+}:
 
 python3Packages.buildPythonApplication rec {
-  name = "autokey-${version}";
-  version = "0.94.1";
+  pname = "autokey";
+  version = "0.95.10";
 
   src = fetchFromGitHub {
     owner = "autokey";
     repo = "autokey";
     rev = "v${version}";
-    sha256 = "1syxyciyxzs0khbfs9wjgj03q967p948kipw27j1031q0b5z3jxr";
+    sha256 = "0f0cqfnb49wwdy7zl2f2ypcnd5pc8r8n7z7ssxkq20d4xfxlgamr";
   };
 
-  # Arch requires a similar work around—see
-  # https://aur.archlinux.org/packages/autokey-py3/?comments=all
-  patches = [ ./remove-requires-dbus-python.patch ];
-
   # Tests appear to be broken with import errors within the project structure
   doCheck = false;
 
-  # Note: no dependencies included for Qt GUI because Qt ui is poorly
-  # maintained—see https://github.com/autokey/autokey/issues/51
+  nativeBuildInputs = [ wrapGAppsHook ];
 
-  buildInputs = [ wrapGAppsHook gobject-introspection gtksourceview3
-    libappindicator-gtk3 libnotify ];
+  buildInputs = [
+    gobject-introspection
+    gtksourceview3
+    libappindicator-gtk3
+    libnotify
+  ];
 
   propagatedBuildInputs = with python3Packages; [
-    dbus-python pyinotify xlib pygobject3 ];
+    dbus-python
+    pyinotify
+    xlib
+    pygobject3
+  ];
+
+  dontWrapGapps = true;
+
+  pythonPath = with python3Packages; requiredPythonModules [ dbus-python xlib pygobject3 ];
+
+  postInstall = ''
+    rm $out/bin/autokey-qt
+    buildPythonPath "$out $pythonPath"
+    makeWrapperArgs+=(
+      "''${gappsWrapperArgs[@]}"
+      # for autokey-shell ModuleNotFoundError: No module named 'autokey'
+      --prefix "PYTHONPATH" ":" "$out/lib/${python3Packages.python.libPrefix}/site-packages"
+      --prefix "PYTHONPATH" ":" "$program_PYTHONPATH"
+    )
+  '';
 
   meta = {
     homepage = "https://github.com/autokey/autokey";
diff --git a/nixpkgs/pkgs/applications/office/calligra/default.nix b/nixpkgs/pkgs/applications/office/calligra/default.nix
index e54a3cbad4cd..2ecc334c3d20 100644
--- a/nixpkgs/pkgs/applications/office/calligra/default.nix
+++ b/nixpkgs/pkgs/applications/office/calligra/default.nix
@@ -8,7 +8,7 @@
 , kcontacts, akonadi, akonadi-calendar, akonadi-contacts
 , eigen, git, gsl, ilmbase, kproperty, kreport, lcms2, marble, pcre, libgit2, libodfgen
 , librevenge, libvisio, libwpd, libwpg, libwps, okular, openexr, openjpeg, phonon
-, poppler, pstoedit, qca-qt5, vc
+, poppler, pstoedit, qca-qt5, vc, fontconfig
 # TODO: package Spnav, m2mml LibEtonyek, Libqgit2
 }:
 
@@ -32,6 +32,7 @@ mkDerivation rec {
     kcontacts akonadi akonadi-calendar akonadi-contacts
     eigen git gsl ilmbase kproperty kreport lcms2 marble pcre libgit2 libodfgen librevenge
     libvisio libwpd libwpg libwps okular openexr openjpeg phonon poppler qca-qt5 vc
+    fontconfig
   ];
 
   propagatedUserEnvPkgs = [ kproperty ];
diff --git a/nixpkgs/pkgs/applications/office/elementary-planner/default.nix b/nixpkgs/pkgs/applications/office/elementary-planner/default.nix
index 88a063158bd1..73888fbfe3d2 100644
--- a/nixpkgs/pkgs/applications/office/elementary-planner/default.nix
+++ b/nixpkgs/pkgs/applications/office/elementary-planner/default.nix
@@ -20,17 +20,19 @@
 , pantheon /* granite, icons, maintainers */
 , webkitgtk
 , libpeas
+, libhandy
+, curl
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-planner";
-  version = "2.6.9";
+  version = "2.7";
 
   src = fetchFromGitHub {
     owner = "alainm23";
     repo = "planner";
     rev = version;
-    sha256 = "17ij017x2cplqhway8376k8mmrll4w1jfwhf7ixldq9g0q2inzd8";
+    sha256 = "sha256-3eFPGRcZWhzFYi52TbHmpFNLI0pWYcHbbBI7efqZwYE=";
   };
 
   nativeBuildInputs = [
@@ -58,6 +60,8 @@ stdenv.mkDerivation rec {
     sqlite
     webkitgtk
     libgdata # required by some dependency transitively
+    libhandy
+    curl
   ];
 
   postPatch = ''
diff --git a/nixpkgs/pkgs/applications/office/envelope/default.nix b/nixpkgs/pkgs/applications/office/envelope/default.nix
deleted file mode 100644
index 7798026e790b..000000000000
--- a/nixpkgs/pkgs/applications/office/envelope/default.nix
+++ /dev/null
@@ -1,81 +0,0 @@
-{ lib, stdenv
-, fetchFromGitHub
-, nix-update-script
-, fetchpatch
-, meson
-, ninja
-, pkg-config
-, pantheon
-, python3
-, vala
-, appstream-glib
-, desktop-file-utils
-, gettext
-, glib
-, gtk3
-, libgee
-, sqlite
-, wrapGAppsHook
-}:
-
-stdenv.mkDerivation rec {
-  pname = "envelope";
-  version = "0.0.4";
-
-  src = fetchFromGitHub {
-    owner = "cjfloss";
-    repo = pname;
-    rev = version;
-    sha256 = "111lq1gijcm7qwpac09q11ymwiw2x3m12a28ki52f28fb1amvffc";
-  };
-
-  nativeBuildInputs = [
-    appstream-glib
-    desktop-file-utils
-    gettext
-    meson
-    ninja
-    vala
-    pkg-config
-    python3
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    glib
-    gtk3
-    libgee
-    pantheon.granite
-    sqlite
-  ];
-
-  doCheck = true;
-
-  patches = [
-    # Fix AppData Validation.
-    # https://github.com/cjfloss/envelope/pull/59
-    (fetchpatch {
-      url = "https://github.com/cjfloss/envelope/commit/b6a28eced89b8f944479fcc695aebfb9aae0c691.patch";
-      sha256 = "11znc8z52kl893n3gmmdpnp3y4vpzmb263m5gp0qxbl3xykq2wzr";
-    })
-  ];
-
-  postPatch = ''
-    chmod +x data/post_install.py
-    patchShebangs data/post_install.py
-  '';
-
-  passthru = {
-    updateScript = nix-update-script {
-      attrPath = pname;
-    };
-  };
-
-  meta = with lib; {
-    description = "Personal finance manager for elementary OS";
-    homepage = "https://github.com/cjfloss/envelope";
-    maintainers = with maintainers; [ xiorcale ] ++ pantheon.maintainers;
-    platforms = platforms.linux;
-    license = licenses.gpl3Plus;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/office/flexibee/default.nix b/nixpkgs/pkgs/applications/office/flexibee/default.nix
index 9dbdae3f0206..97edd9e1fa2e 100644
--- a/nixpkgs/pkgs/applications/office/flexibee/default.nix
+++ b/nixpkgs/pkgs/applications/office/flexibee/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, makeWrapper, jre }:
 
 let
-  version = "2020.2.6";
+  version = "2021.2.1";
   majorVersion = builtins.substring 0 6 version;
 in
 
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.flexibee.eu/download/${majorVersion}/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0vscz24sabk9xafywnx41rqhq6300ddsw1x95ibc7ghsgbkq80ja";
+    sha256 = "sha256-WorRyfjWucV8UhAjvuW+22CRzPcz5tjXF7Has4wrLMI=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/nixpkgs/pkgs/applications/office/foliate/default.nix b/nixpkgs/pkgs/applications/office/foliate/default.nix
index 8226e8e38cce..bcd42b361b93 100644
--- a/nixpkgs/pkgs/applications/office/foliate/default.nix
+++ b/nixpkgs/pkgs/applications/office/foliate/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, meson, gettext, glib, gjs, ninja, python3, gtk3
 , webkitgtk, gsettings-desktop-schemas, wrapGAppsHook, desktop-file-utils
-, gobject-introspection }:
+, gobject-introspection, glib-networking }:
 
 stdenv.mkDerivation rec {
   pname = "foliate";
@@ -28,6 +28,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gettext
     glib
+    glib-networking
     gjs
     gtk3
     webkitgtk
diff --git a/nixpkgs/pkgs/applications/office/gnucash/default.nix b/nixpkgs/pkgs/applications/office/gnucash/default.nix
index d2251da70073..d4dad44d7da8 100644
--- a/nixpkgs/pkgs/applications/office/gnucash/default.nix
+++ b/nixpkgs/pkgs/applications/office/gnucash/default.nix
@@ -11,7 +11,8 @@ let
     name = perl.name + "-wrapper-for-gnucash";
     nativeBuildInputs = [ makeWrapper ];
     buildInputs = [ perl ] ++ (with perlPackages; [ FinanceQuote DateManip ]);
-    phases = [ "installPhase" ];
+    dontUnpack = true;
+
     installPhase = ''
       mkdir -p $out/bin
       for script in ${perl}/bin/*; do
@@ -25,25 +26,26 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnucash";
-  version = "4.5";
+  version = "4.6";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnucash/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-vB9IqEU0iKLp9rg7aGE6pVyuvk0pg0YL2sfghLRs/9w=";
+    sha256 = "0csp8iddhc901vv09gl5lj970g6ili696vwj4vdpkiprp7gh26r5";
   };
 
   patches = [
-    # Fix build with GLib 2.68.
+    # Fixes a warning about an initialized variable that kills enableDebugging gnucash builds on nix.
+    # This will most likely be part of the 4.7 release, it will be safe to remove then.
     (fetchpatch {
-      url = "https://github.com/Gnucash/gnucash/commit/bbb4113a5a996dcd7bb3494e0be900b275b49a4f.patch";
-      sha256 = "Pnvwoq5zutFw7ByduEEANiLM2J50WiXpm2aZ8B2MDMQ=";
+      url = "https://github.com/Gnucash/gnucash/commit/b42052464ba9701a3d1834fc58fa0deb32ab9afe.patch";
+      sha256 = "092957c8jqj4v70fv0ia1wpgl6x34hbwjrichxfbk5ja8l6535gc";
     })
   ];
 
-  nativeBuildInputs = [ pkg-config makeWrapper cmake gtest ];
+  nativeBuildInputs = [ pkg-config makeWrapper cmake gtest swig ];
 
   buildInputs = [
-    boost icu libxml2 libxslt gettext swig isocodes gtk3 glibcLocales
+    boost icu libxml2 libxslt gettext isocodes gtk3 glibcLocales
     webkitgtk dconf libofx aqbanking gwenhywfar libdbi
     libdbiDrivers guile
     perlWrapper perl
diff --git a/nixpkgs/pkgs/applications/office/grisbi/default.nix b/nixpkgs/pkgs/applications/office/grisbi/default.nix
index 1d2d6f0d851d..49344becf03d 100644
--- a/nixpkgs/pkgs/applications/office/grisbi/default.nix
+++ b/nixpkgs/pkgs/applications/office/grisbi/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "grisbi";
-  version = "2.0.1";
+  version = "2.0.4";
 
   src = fetchurl {
     url = "mirror://sourceforge/grisbi/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-hFLiVHyEekCP9btO75e5ni70ZcLhjbBGCBjF2gERIqs=";
+    sha256 = "sha256-4ykG310He1aFaUNo5fClaM3QWFBzKERGihYfqaxR1Vo=";
   };
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook ];
diff --git a/nixpkgs/pkgs/applications/office/homebank/default.nix b/nixpkgs/pkgs/applications/office/homebank/default.nix
index c77c52774be9..54e09783dbef 100644
--- a/nixpkgs/pkgs/applications/office/homebank/default.nix
+++ b/nixpkgs/pkgs/applications/office/homebank/default.nix
@@ -2,15 +2,15 @@
 , libsoup, gnome }:
 
 stdenv.mkDerivation rec {
-  name = "homebank-5.5.2";
+  pname = "homebank";
+  version = "5.5.3";
   src = fetchurl {
-    url = "http://homebank.free.fr/public/${name}.tar.gz";
-    sha256 = "sha256-mJ7zeOTJ+CNLYruT1qSxS9TJjciJUZg426H0TxLFHtI=";
+    url = "http://homebank.free.fr/public/homebank-${version}.tar.gz";
+    sha256 = "sha256-BzYHkYqWEAh3kfNvWecNEmH+6OThFGpc/VhxodLZEJM=";
   };
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook ];
-  buildInputs = [ gtk libofx intltool libsoup
-    gnome.adwaita-icon-theme ];
+  buildInputs = [ gtk libofx intltool libsoup gnome.adwaita-icon-theme ];
 
   meta = with lib; {
     description = "Free, easy, personal accounting for everyone";
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/default.nix b/nixpkgs/pkgs/applications/office/libreoffice/default.nix
index 1c5327ebc6ce..abfd223fd001 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/default.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/default.nix
@@ -63,8 +63,6 @@ in (mkDrv rec {
     "-fno-visibility-inlines-hidden" # https://bugs.documentfoundation.org/show_bug.cgi?id=78174#c10
   ];
 
-  patches = [ ./xdg-open-brief.patch ];
-
   tarballPath = "external/tarballs";
 
   postUnpack = ''
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix
index 98070994fa33..bbabd4e70be5 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix
@@ -161,11 +161,11 @@
     md5name = "e61677e8799ce6e55b25afc11aa5339113f6a49cff031f336e32fa58635b1a4a-libetonyek-0.1.9.tar.xz";
   }
   {
-    name = "expat-2.2.8.tar.bz2";
-    url = "https://dev-www.libreoffice.org/src/expat-2.2.8.tar.bz2";
-    sha256 = "9a130948b05a82da34e4171d5f5ae5d321d9630277af02c8fa51e431f6475102";
+    name = "expat-2.4.1.tar.bz2";
+    url = "https://dev-www.libreoffice.org/src/expat-2.4.1.tar.bz2";
+    sha256 = "2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40";
     md5 = "";
-    md5name = "9a130948b05a82da34e4171d5f5ae5d321d9630277af02c8fa51e431f6475102-expat-2.2.8.tar.bz2";
+    md5name = "2f9b6a580b94577b150a7d5617ad4643a4301a6616ff459307df3e225bcfbf40-expat-2.4.1.tar.bz2";
   }
   {
     name = "Firebird-3.0.0.32483-0.tar.bz2";
@@ -567,11 +567,11 @@
     md5name = "2d84360b03042178def1d9ff538acacaed2b3a27411db7b2874f1612ed71abc8-xmlsec1-1.2.30.tar.gz";
   }
   {
-    name = "libxml2-2.9.10.tar.gz";
-    url = "https://dev-www.libreoffice.org/src/libxml2-2.9.10.tar.gz";
-    sha256 = "aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f";
+    name = "libxml2-2.9.12.tar.gz";
+    url = "https://dev-www.libreoffice.org/src/libxml2-2.9.12.tar.gz";
+    sha256 = "c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92";
     md5 = "";
-    md5name = "aafee193ffb8fe0c82d4afef6ef91972cbaf5feea100edc2f262750611b4be1f-libxml2-2.9.10.tar.gz";
+    md5name = "c8d6681e38c56f172892c85ddc0852e1fd4b53b4209e7f4ebf17f7e2eae71d92-libxml2-2.9.12.tar.gz";
   }
   {
     name = "libxslt-1.1.34.tar.gz";
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/override.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/override.nix
index 0141b74c3890..193b2cd76398 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/override.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/override.nix
@@ -7,4 +7,5 @@ attrs:
   configureFlags = attrs.configureFlags ++ [
     (lib.enableFeature kdeIntegration "kf5")
   ];
+  patches = [ ../xdg-open-brief.patch ]; # drop this when switching fresh to 7.2.0
 }
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix
index 2e1a4b1d78dc..dfc680e3439b 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix
@@ -8,7 +8,7 @@ rec {
 
   major = "7";
   minor = "1";
-  patch = "4";
+  patch = "5";
   tweak = "2";
 
   subdir = "${major}.${minor}.${patch}";
@@ -17,13 +17,13 @@ rec {
 
   src = fetchurl {
     url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "1jsskhnlyra7q6d12kkc8dxq5fgrnd8grl32bdck7j9hkwv6d13m";
+    sha256 = "1kl54ddpvmrcs4r1vd4dfzg5a8im0kijhaqdg37zvgb5fqv31bxf";
   };
 
   # FIXME rename
   translations = fetchSrc {
     name = "translations";
-    sha256 = "0cslzhp5ic1w7hnl6wbyxrxhczdmap1g1hh1nj9sgpw9iqdryqj7";
+    sha256 = "0nf5s012l7mkpd1srvijl9q6x8f7svm6i84bj75dwyvipkg40rxq";
   };
 
   # the "dictionaries" archive is not used for LO build because we already build hunspellDicts packages from
@@ -31,6 +31,6 @@ rec {
 
   help = fetchSrc {
     name = "help";
-    sha256 = "091yhm1qkxgvv130a1yzmmikchvxvp8109mcdrlpybp4gc276l8q";
+    sha256 = "1m1hxbhrkaynpcps77rym1d0kwl380jv1p7b6ibfl4by0ii2j16a";
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/src-still/override.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-still/override.nix
index 0141b74c3890..110a52ed9f96 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/src-still/override.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-still/override.nix
@@ -7,4 +7,5 @@ attrs:
   configureFlags = attrs.configureFlags ++ [
     (lib.enableFeature kdeIntegration "kf5")
   ];
+  patches = [ ../xdg-open-brief.patch ];
 }
diff --git a/nixpkgs/pkgs/applications/office/minetime/default.nix b/nixpkgs/pkgs/applications/office/minetime/default.nix
index 1241b97b427f..1971a7829447 100644
--- a/nixpkgs/pkgs/applications/office/minetime/default.nix
+++ b/nixpkgs/pkgs/applications/office/minetime/default.nix
@@ -1,4 +1,4 @@
-{ appimageTools, fetchurl, lib, runCommandNoCC, stdenv, gsettings-desktop-schemas, gtk3, zlib }:
+{ appimageTools, fetchurl, lib, runCommand, stdenv, gsettings-desktop-schemas, gtk3, zlib }:
 
 let
   name = "${pname}-${version}";
@@ -12,7 +12,7 @@ let
     inherit name;
     src = appimage;
   };
-  patched = runCommandNoCC "minetime-patchelf" {} ''
+  patched = runCommand "minetime-patchelf" {} ''
     cp -av ${extracted} $out
 
     x=$out/resources/app.asar.unpacked/services/scheduling/dist/MinetimeSchedulingService
diff --git a/nixpkgs/pkgs/applications/office/notes-up/default.nix b/nixpkgs/pkgs/applications/office/notes-up/default.nix
index de09bc1c761c..4422968efbca 100644
--- a/nixpkgs/pkgs/applications/office/notes-up/default.nix
+++ b/nixpkgs/pkgs/applications/office/notes-up/default.nix
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
       + lib.optionalString withPantheon " - built with Contractor support";
     homepage = "https://github.com/Philip-Scott/Notes-up";
     license = licenses.gpl2Only;
-    maintainers = with maintainers; [ davidak ];
+    maintainers = with maintainers; [ ] ++ teams.pantheon.members;
     platforms = platforms.linux;
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/onlyoffice-bin/default.nix b/nixpkgs/pkgs/applications/office/onlyoffice-bin/default.nix
index 75e6924db9c5..121a65f941c8 100644
--- a/nixpkgs/pkgs/applications/office/onlyoffice-bin/default.nix
+++ b/nixpkgs/pkgs/applications/office/onlyoffice-bin/default.nix
@@ -1,7 +1,7 @@
 { stdenv
 , lib
 , fetchurl
-# Alphabetic ordering below
+  # Alphabetic ordering below
 , alsa-lib
 , at-spi2-atk
 , atk
@@ -59,7 +59,7 @@ let
       let
         version = "v20201206-cjk";
       in
-        "https://github.com/googlefonts/noto-cjk/raw/${version}/NotoSansCJKsc-Regular.otf";
+      "https://github.com/googlefonts/noto-cjk/raw/${version}/NotoSansCJKsc-Regular.otf";
     sha256 = "sha256-aJXSVNJ+p6wMAislXUn4JQilLhimNSedbc9nAuPVxo4=";
   };
 
@@ -70,13 +70,14 @@ let
     pulseaudio
   ];
 
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "onlyoffice-desktopeditors";
-  version = "6.2.0";
+  version = "6.3.1";
   minor = null;
   src = fetchurl {
     url = "https://github.com/ONLYOFFICE/DesktopEditors/releases/download/v${version}/onlyoffice-desktopeditors_amd64.deb";
-    sha256 = "sha256-nKmWxaVVul/rGDIh3u9zCpKu7U0nmrntFFf96xQyzdg=";
+    sha256 = "sha256-WCjCljA7yB7Zm/I4rDZnfgaUQpDUKwbUvL7hkIG8cVM=";
   };
 
   nativeBuildInputs = [
@@ -160,6 +161,8 @@ in stdenv.mkDerivation rec {
     gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : "${runtimeLibs}" )
   '';
 
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "Office suite that combines text, spreadsheet and presentation editors allowing to create, view and edit local documents";
     homepage = "https://www.onlyoffice.com/";
diff --git a/nixpkgs/pkgs/applications/office/onlyoffice-bin/update.sh b/nixpkgs/pkgs/applications/office/onlyoffice-bin/update.sh
new file mode 100644
index 000000000000..d7b0bc106fa2
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/onlyoffice-bin/update.sh
@@ -0,0 +1,5 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl jq common-updater-scripts
+
+version="$(curl -sL "https://api.github.com/repos/ONLYOFFICE/DesktopEditors/releases?per_page=1" | jq -r ".[0].tag_name" | sed 's/^v//')"
+update-source-version onlyoffice-bin "$version"
diff --git a/nixpkgs/pkgs/applications/office/osmo/default.nix b/nixpkgs/pkgs/applications/office/osmo/default.nix
index 77cc087c66b4..975305a72173 100644
--- a/nixpkgs/pkgs/applications/office/osmo/default.nix
+++ b/nixpkgs/pkgs/applications/office/osmo/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A handy personal organizer";
-    homepage = "http://clayo.org/osmo/";
+    homepage = "https://clayo.org/osmo/";
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ pSub ];
diff --git a/nixpkgs/pkgs/applications/office/paperless-ng/default.nix b/nixpkgs/pkgs/applications/office/paperless-ng/default.nix
new file mode 100644
index 000000000000..e84b3c794433
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/paperless-ng/default.nix
@@ -0,0 +1,195 @@
+{ lib
+, fetchurl
+, nixosTests
+, python3
+, ghostscript
+, imagemagick
+, jbig2enc
+, ocrmypdf
+, optipng
+, pngquant
+, qpdf
+, tesseract4
+, unpaper
+, liberation_ttf
+}:
+
+let
+  py = python3.override {
+    packageOverrides = self: super: {
+      django = super.django_3;
+      django-picklefield = super.django-picklefield.overrideAttrs (oldAttrs: {
+        # Checks do not pass with django 3
+        doInstallCheck = false;
+      });
+      # Avoid warning in django-q versions > 1.3.4
+      # https://github.com/jonaswinkler/paperless-ng/issues/857
+      # https://github.com/Koed00/django-q/issues/526
+      django-q = super.django-q.overridePythonAttrs (oldAttrs: rec {
+        version = "1.3.4";
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          sha256 = "Uj1U3PG2YVLBtlj5FPAO07UYo0MqnezUiYc4yo274Q8=";
+        };
+      });
+    };
+  };
+
+  path = lib.makeBinPath [ ghostscript imagemagick jbig2enc optipng pngquant qpdf tesseract4 unpaper ];
+in
+py.pkgs.pythonPackages.buildPythonApplication rec {
+  pname = "paperless-ng";
+  version = "1.5.0";
+
+  src = fetchurl {
+    url = "https://github.com/jonaswinkler/paperless-ng/releases/download/ng-${version}/${pname}-${version}.tar.xz";
+    sha256 = "oVSq0AWksuWC81MF5xiZ6ZbdKKtqqphmL+xIzJLaDMw=";
+  };
+
+  format = "other";
+
+  # Make bind address configurable
+  postPatch = ''
+    substituteInPlace gunicorn.conf.py --replace "bind = '0.0.0.0:8000'" ""
+  '';
+
+  propagatedBuildInputs = with py.pkgs.pythonPackages; [
+    aioredis
+    arrow
+    asgiref
+    async-timeout
+    attrs
+    autobahn
+    automat
+    blessed
+    certifi
+    cffi
+    channels-redis
+    channels
+    chardet
+    click
+    coloredlogs
+    concurrent-log-handler
+    constantly
+    cryptography
+    daphne
+    dateparser
+    django-cors-headers
+    django_extensions
+    django-filter
+    django-picklefield
+    django-q
+    django
+    djangorestframework
+    filelock
+    fuzzywuzzy
+    gunicorn
+    h11
+    hiredis
+    httptools
+    humanfriendly
+    hyperlink
+    idna
+    imap-tools
+    img2pdf
+    incremental
+    inotify-simple
+    inotifyrecursive
+    joblib
+    langdetect
+    lxml
+    msgpack
+    numpy
+    ocrmypdf
+    pathvalidate
+    pdfminer
+    pikepdf
+    pillow
+    pluggy
+    portalocker
+    psycopg2
+    pyasn1-modules
+    pyasn1
+    pycparser
+    pyopenssl
+    python-dateutil
+    python-dotenv
+    python-gnupg
+    python-Levenshtein
+    python_magic
+    pytz
+    pyyaml
+    redis
+    regex
+    reportlab
+    requests
+    scikit-learn
+    scipy
+    service-identity
+    six
+    sortedcontainers
+    sqlparse
+    threadpoolctl
+    tika
+    tqdm
+    twisted.extras.tls
+    txaio
+    tzlocal
+    urllib3
+    uvicorn
+    uvloop
+    watchdog
+    watchgod
+    wcwidth
+    websockets
+    whitenoise
+    whoosh
+    zope_interface
+  ];
+
+  doCheck = true;
+  checkInputs = with py.pkgs.pythonPackages; [
+    pytest
+    pytest-cov
+    pytest-django
+    pytest-env
+    pytest-sugar
+    pytest-xdist
+    factory_boy
+  ];
+
+  # The tests require:
+  # - PATH with runtime binaries
+  # - A temporary HOME directory for gnupg
+  # - XDG_DATA_DIRS with test-specific fonts
+  checkPhase = ''
+    pushd src
+    PATH="${path}:$PATH" HOME=$(mktemp -d) XDG_DATA_DIRS="${liberation_ttf}/share:$XDG_DATA_DIRS" pytest
+    popd
+  '';
+
+  installPhase = ''
+    mkdir -p $out/lib
+    cp -r . $out/lib/paperless-ng
+    chmod +x $out/lib/paperless-ng/src/manage.py
+    makeWrapper $out/lib/paperless-ng/src/manage.py $out/bin/paperless-ng \
+      --prefix PYTHONPATH : "$PYTHONPATH" \
+      --prefix PATH : "${path}"
+  '';
+
+  passthru = {
+    # PYTHONPATH of all dependencies used by the package
+    pythonPath = python3.pkgs.makePythonPath propagatedBuildInputs;
+    inherit path;
+
+    tests = { inherit (nixosTests) paperless-ng; };
+  };
+
+  meta = with lib; {
+    description = "A supercharged version of paperless: scan, index, and archive all of your physical documents";
+    homepage = "https://paperless-ng.readthedocs.io/en/latest/";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ earvstedt Flakebi ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/office/paperless/default.nix b/nixpkgs/pkgs/applications/office/paperless/default.nix
deleted file mode 100644
index 74bdacd95845..000000000000
--- a/nixpkgs/pkgs/applications/office/paperless/default.nix
+++ /dev/null
@@ -1,168 +0,0 @@
-{ stdenv
-, lib
-, fetchFromGitHub
-, makeWrapper
-, callPackage
-
-, python3
-, imagemagick
-, ghostscript
-, optipng
-, tesseract
-, unpaper
-}:
-
-## Usage
-
-# ${paperless}/bin/paperless wraps manage.py
-
-# ${paperless}/share/paperless/setup-env.sh can be sourced from a
-# shell script to setup a Paperless environment
-
-# paperless.withConfig is a convenience function to setup a
-# configured Paperless instance. (See ./withConfig.nix)
-
-# For WSGI with gunicorn, use a shell script like this:
-# let
-#   pythonEnv = paperless.python.withPackages (ps: paperless.runtimePackages ++ [ ps.gunicorn ]);
-# in
-#   writers.writeBash "run-gunicorn" ''
-#     source ${paperless}/share/paperless/setup-env.sh
-#     PYTHONPATH=$paperlessSrc ${pythonEnv}/bin/gunicorn paperless.wsgi
-#   ''
-
-let
-  paperless = stdenv.mkDerivation rec {
-    pname = "paperless";
-    version = "2.7.0";
-
-    src = fetchFromGitHub {
-      owner = "the-paperless-project";
-      repo = "paperless";
-      rev = version;
-      sha256 = "0pkmyky1crjnsg7r0gfk0fadisfsgzlsq6afpz16wx4hp6yvkkf7";
-    };
-
-    nativeBuildInputs = [ makeWrapper ];
-
-    doCheck = true;
-    dontInstall = true;
-
-    pythonEnv      = python.withPackages (_: runtimePackages);
-    pythonCheckEnv = python.withPackages (_: (runtimePackages ++ checkPackages));
-
-    unpackPhase = ''
-      srcDir=$out/share/paperless
-      mkdir -p $srcDir
-      cp -r --no-preserve=mode $src/src/* $src/LICENSE $srcDir
-    '';
-
-    postPatch = ''
-      # django-cors-headers 3.x requires a scheme for allowed hosts
-      substituteInPlace $out/share/paperless/paperless/settings.py \
-        --replace "localhost:8080" "http://localhost:8080"
-    '';
-
-    buildPhase = let
-      # Paperless has explicit runtime checks that expect these binaries to be in PATH
-      extraBin = lib.makeBinPath [ imagemagick ghostscript optipng tesseract unpaper ];
-    in ''
-      ${python.interpreter} -m compileall $srcDir
-
-      makeWrapper $pythonEnv/bin/python $out/bin/paperless \
-        --set PATH ${extraBin} --add-flags $out/share/paperless/manage.py
-
-      # A shell snippet that can be sourced to setup a paperless env
-      cat > $out/share/paperless/setup-env.sh <<EOF
-      export PATH="$pythonEnv/bin:${extraBin}''${PATH:+:}$PATH"
-      export paperlessSrc=$out/share/paperless
-      EOF
-    '';
-
-    checkPhase = ''
-      source $out/share/paperless/setup-env.sh
-      tmpDir=$(realpath testsTmp)
-      mkdir $tmpDir
-      export HOME=$tmpDir
-      export PAPERLESS_MEDIADIR=$tmpDir
-      cd $paperlessSrc
-      # Prevent tests from writing to the derivation output
-      chmod -R -w $out
-      # Disable cache to silence a pytest warning ("could not create cache")
-      $pythonCheckEnv/bin/pytest -p no:cacheprovider
-    '';
-
-    passthru = {
-      withConfig = callPackage ./withConfig.nix {};
-      inherit python runtimePackages checkPackages tesseract;
-    };
-
-    meta = with lib; {
-      description = "Scan, index, and archive all of your paper documents";
-      homepage = "https://github.com/the-paperless-project/paperless";
-      license = licenses.gpl3;
-      maintainers = [ maintainers.earvstedt ];
-    };
-  };
-
-  python = python3.override {
-    packageOverrides = self: super: let
-      customPkgs = import ./python-modules super fetchFromGitHub; in
-    {
-      pyocr = pyocrWithUserTesseract super;
-
-      # Paperless is incompatible with factory_boy >= 3
-      factory_boy = customPkgs.factory_boy_2_12_0;
-
-      # These are pre-release versions, hence they are private to this pkg
-      django-filter = self.callPackage ./python-modules/django-filter.nix {};
-      django-crispy-forms = self.callPackage ./python-modules/django-crispy-forms.nix {};
-    };
-  };
-
-  runtimePackages = with python.pkgs; [
-    dateparser
-    python-dateutil
-    django
-    django-cors-headers
-    django-crispy-forms
-    django-filter
-    django_extensions
-    djangoql
-    djangorestframework
-    factory_boy
-    filemagic
-    fuzzywuzzy
-    langdetect
-    pdftotext
-    pillow
-    psycopg2
-    pyocr
-    python-dotenv
-    python-gnupg
-    pytz
-    termcolor
-  ] ++ (lib.optional stdenv.isLinux inotify-simple);
-
-  checkPackages = with python.pkgs; [
-    pytest
-    pytest-django
-    pytest-env
-    pytest-xdist
-  ];
-
-  pyocrWithUserTesseract = pyPkgs:
-    let
-      pyocr = pyPkgs.pyocr.override { inherit tesseract; };
-    in
-      if pyocr.outPath == pyPkgs.pyocr.outPath then
-        pyocr
-      else
-        # The user has provided a custom tesseract derivation that might be
-        # missing some languages that are required for PyOCR's tests. Disable them to
-        # avoid build errors.
-        pyocr.overridePythonAttrs (attrs: {
-          doCheck = false;
-        });
-in
-  paperless
diff --git a/nixpkgs/pkgs/applications/office/paperless/python-modules/default.nix b/nixpkgs/pkgs/applications/office/paperless/python-modules/default.nix
deleted file mode 100644
index e1fb227614fc..000000000000
--- a/nixpkgs/pkgs/applications/office/paperless/python-modules/default.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-pyPkgs: fetchFromGitHub:
-{
-  factory_boy_2_12_0 = pyPkgs.factory_boy.overridePythonAttrs (old: rec {
-    version = "2.12.0";
-    src = pyPkgs.fetchPypi {
-      inherit (old) pname;
-      inherit version;
-      sha256 = "0w53hjgag6ad5i2vmrys8ysk54agsqvgbjy9lg8g0d8pi9h8vx7s";
-    };
-  });
-}
diff --git a/nixpkgs/pkgs/applications/office/paperless/python-modules/django-crispy-forms.nix b/nixpkgs/pkgs/applications/office/paperless/python-modules/django-crispy-forms.nix
deleted file mode 100644
index f8b91a94ccc7..000000000000
--- a/nixpkgs/pkgs/applications/office/paperless/python-modules/django-crispy-forms.nix
+++ /dev/null
@@ -1,39 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchFromGitHub
-, pytestCheckHook
-, pytest-django
-, django
-}:
-
-buildPythonPackage rec {
-  pname = "django-crispy-forms";
-  version = "1.10.0";
-
-  src = fetchFromGitHub {
-    owner = "django-crispy-forms";
-    repo = "django-crispy-forms";
-    rev = version;
-    sha256 = "0y6kskfxgckb9npcgwx4zrs5n9px159zh9zhinhxi3i7wlriqpf5";
-  };
-
-  # For reasons unknown, the source dir must contain a dash
-  # for the tests to run successfully
-  postUnpack = ''
-    mv $sourceRoot source-
-    export sourceRoot=source-
-  '';
-
-  checkInputs = [ django pytest-django pytestCheckHook ];
-
-  preCheck = ''
-    export DJANGO_SETTINGS_MODULE=crispy_forms.tests.test_settings
-  '';
-
-  meta = with lib; {
-    description = "The best way to have DRY Django forms";
-    homepage = "https://github.com/maraujop/django-crispy-forms";
-    license = licenses.mit;
-    maintainers = with maintainers; [ earvstedt ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/office/paperless/python-modules/django-filter.nix b/nixpkgs/pkgs/applications/office/paperless/python-modules/django-filter.nix
deleted file mode 100644
index d7f20bd9d37d..000000000000
--- a/nixpkgs/pkgs/applications/office/paperless/python-modules/django-filter.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-{ lib, buildPythonPackage, python, pythonOlder, fetchFromGitHub
-, django, django-crispy-forms, djangorestframework, mock, pytz }:
-
-buildPythonPackage rec {
-  pname = "django-filter";
-  version = "2.1.0-pre";
-  disabled = pythonOlder "3.4";
-
-  src = fetchFromGitHub {
-    owner = "carltongibson";
-    repo = pname;
-    rev = "24adad8c48bc9e7c7539b6510ffde4ce4effdc29";
-    sha256 = "0hv4w95jnlzp9vdximl6bb27fyi75001jhvsbs0ikkd8amq8iaj7";
-  };
-
-  checkInputs = [ django django-crispy-forms djangorestframework mock pytz ];
-
-  checkPhase = "${python.interpreter} runtests.py";
-
-  meta = with lib; {
-    description = "A reusable Django application for allowing users to filter querysets dynamically.";
-    homepage = "https://github.com/carltongibson/django-filter";
-    license = licenses.bsd3;
-    maintainers = with maintainers; [ earvstedt ];
-  };
-}
diff --git a/nixpkgs/pkgs/applications/office/paperless/withConfig.nix b/nixpkgs/pkgs/applications/office/paperless/withConfig.nix
deleted file mode 100644
index 652d1478c0ca..000000000000
--- a/nixpkgs/pkgs/applications/office/paperless/withConfig.nix
+++ /dev/null
@@ -1,68 +0,0 @@
-{ paperless, lib, writers }:
-
-## Usage
-#
-# nix-build --out-link ./paperless -E '
-# (import <nixpkgs> {}).paperless.withConfig {
-#   dataDir = /tmp/paperless-data;
-#   config = {
-#     PAPERLESS_DISABLE_LOGIN = "true";
-#   };
-# }'
-#
-# Setup DB
-# ./paperless migrate
-#
-# Consume documents in ${dataDir}/consume
-# ./paperless document_consumer --oneshot
-#
-# Start web interface
-# ./paperless runserver --noreload localhost:8000
-
-{ config ? {}, dataDir ? null, ocrLanguages ? null
-, paperlessPkg ? paperless, extraCmds ? "" }:
-with lib;
-let
-  paperless = if ocrLanguages == null then
-    paperlessPkg
-  else
-    (paperlessPkg.override {
-      tesseract = paperlessPkg.tesseract.override {
-        enableLanguages = ocrLanguages;
-      };
-    }).overrideDerivation (_: {
-      # `ocrLanguages` might be missing some languages required by the tests.
-      doCheck = false;
-    });
-
-  envVars = (optionalAttrs (dataDir != null) {
-    PAPERLESS_CONSUMPTION_DIR = "${dataDir}/consume";
-    PAPERLESS_MEDIADIR = "${dataDir}/media";
-    PAPERLESS_STATICDIR = "${dataDir}/static";
-    PAPERLESS_DBDIR = dataDir;
-  }) // config;
-
-  envVarDefs = mapAttrsToList (n: v: ''export ${n}="${toString v}"'') envVars;
-  setupEnvVars = builtins.concatStringsSep "\n" envVarDefs;
-
-  setupEnv = ''
-    source ${paperless}/share/paperless/setup-env.sh
-    ${setupEnvVars}
-    ${optionalString (dataDir != null) ''
-      mkdir -p "$PAPERLESS_CONSUMPTION_DIR" \
-               "$PAPERLESS_MEDIADIR" \
-               "$PAPERLESS_STATICDIR" \
-               "$PAPERLESS_DBDIR"
-    ''}
-  '';
-
-  runPaperless = writers.writeBash "paperless" ''
-    set -e
-    ${setupEnv}
-    ${extraCmds}
-    exec python $paperlessSrc/manage.py "$@"
-  '';
-in
-  runPaperless // {
-    inherit paperless setupEnv;
-  }
diff --git a/nixpkgs/pkgs/applications/office/pdfmixtool/default.nix b/nixpkgs/pkgs/applications/office/pdfmixtool/default.nix
new file mode 100644
index 000000000000..7d874015dc24
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/pdfmixtool/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, mkDerivation
+, fetchFromGitLab
+, cmake
+, pkg-config
+, qtbase
+, qttools
+, qpdf
+, podofo
+}:
+
+mkDerivation rec {
+  pname = "pdfmixtool";
+  version = "1.0.2";
+
+  src = fetchFromGitLab {
+    owner = "scarpetta";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "066ap1w05gj8n0kvilyhlr1fzwrmlczx3lax7mbw0rfid9qh3467";
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    qtbase
+    qttools
+    qpdf
+    podofo
+  ];
+
+  meta = with lib; {
+    description = "An application to split, merge, rotate and mix PDF files";
+    homepage = "https://gitlab.com/scarpetta/pdfmixtool";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ onny ];
+  };
+}
+
diff --git a/nixpkgs/pkgs/applications/office/portfolio/default.nix b/nixpkgs/pkgs/applications/office/portfolio/default.nix
index eb2c0b0f1e77..8533df467132 100644
--- a/nixpkgs/pkgs/applications/office/portfolio/default.nix
+++ b/nixpkgs/pkgs/applications/office/portfolio/default.nix
@@ -24,11 +24,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "PortfolioPerformance";
-  version = "0.53.1";
+  version = "0.54.2";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "0hddq1nijxhr6kgf7gydw0nh07lh86fs8srkhm29ik4hmv8ch19p";
+    sha256 = "sha256-fKUKVeR0q8oylpwF4d3jnkON4vbQ80Fc9WYWStb67ek=";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/office/pympress/default.nix b/nixpkgs/pkgs/applications/office/pympress/default.nix
index ebc93edba6ef..2a97de6ca5b8 100644
--- a/nixpkgs/pkgs/applications/office/pympress/default.nix
+++ b/nixpkgs/pkgs/applications/office/pympress/default.nix
@@ -1,21 +1,34 @@
 { lib
+, stdenv
+, fetchpatch
 , python3Packages
 , wrapGAppsHook
 , gtk3
 , gobject-introspection
 , libcanberra-gtk3
 , poppler_gi
+, withGstreamer ? stdenv.isLinux
+, withVLC ? stdenv.isLinux
  }:
 
 python3Packages.buildPythonApplication rec {
   pname = "pympress";
-  version = "1.5.1";
+  version = "1.6.3";
 
   src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "173d9scf2z29qg279jf33zcl7sgc3wp662fgpm943bn9667q18wf";
+    sha256 = "sha256-f+OjE0x/3yfJYHCLB+on7TT7MJ2vNu87SHRi67qFDCM=";
   };
 
+  patches = [
+    # Should not be needed once v1.6.4 is released
+    (fetchpatch {
+      name = "fix-setuptools-version-parsing.patch";
+      url = "https://github.com/Cimbali/pympress/commit/474514d71396ac065e210fd846e07ed1139602d0.diff";
+      sha256 = "sha256-eiw54sjMrXrNrhtkAXxiSTatzoA0NDA03L+HpTDax58=";
+    })
+  ];
+
   nativeBuildInputs = [
     wrapGAppsHook
   ];
@@ -23,16 +36,15 @@ python3Packages.buildPythonApplication rec {
   buildInputs = [
     gtk3
     gobject-introspection
-    libcanberra-gtk3
     poppler_gi
-  ];
+  ] ++ lib.optional withGstreamer libcanberra-gtk3;
 
   propagatedBuildInputs = with python3Packages; [
     pycairo
     pygobject3
-    python-vlc
+    setuptools
     watchdog
-  ];
+  ] ++ lib.optional withVLC python-vlc;
 
   doCheck = false; # there are no tests
 
diff --git a/nixpkgs/pkgs/applications/office/skrooge/default.nix b/nixpkgs/pkgs/applications/office/skrooge/default.nix
index 8f5beee38451..506a2f99f607 100644
--- a/nixpkgs/pkgs/applications/office/skrooge/default.nix
+++ b/nixpkgs/pkgs/applications/office/skrooge/default.nix
@@ -7,11 +7,11 @@
 
 mkDerivation rec {
   pname = "skrooge";
-  version = "2.24.6";
+  version = "2.26.1";
 
   src = fetchurl {
-    url = "http://download.kde.org/stable/skrooge/${pname}-${version}.tar.xz";
-    sha256 = "sha256-DReIm9lcq0j761wWTpJu7HnfEWz9QsRGgUtyVaXFs6A=";
+    url = "https://download.kde.org/stable/skrooge/${pname}-${version}.tar.xz";
+    sha256 = "sha256-66hoA+FDTeMbNAInr9TlTSnwUywJQjTRz87MkdNYn5Q=";
   };
 
   nativeBuildInputs = [
@@ -30,6 +30,7 @@ mkDerivation rec {
   cmakeFlags = [
     "-DSKG_DESIGNER=OFF"
     "-DSKG_WEBENGINE=ON"
+    "-DSKG_WEBKIT=OFF"
     "-DBUILD_TESTS=ON"
   ];
 
diff --git a/nixpkgs/pkgs/applications/office/todoman/default.nix b/nixpkgs/pkgs/applications/office/todoman/default.nix
index fc9f70094da1..e01391519e49 100644
--- a/nixpkgs/pkgs/applications/office/todoman/default.nix
+++ b/nixpkgs/pkgs/applications/office/todoman/default.nix
@@ -10,11 +10,11 @@ let
 in
 buildPythonApplication rec {
   pname = "todoman";
-  version = "3.9.0";
+  version = "4.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e7e5cab13ecce0562b1f13f46ab8cbc079caed4b462f2371929f8a4abff2bcbe";
+    sha256 = "4c4d0c6533da8d553f3dd170c9c4ff3752eb11fd7177ee391414a39adfef60ad";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
@@ -28,7 +28,6 @@ buildPythonApplication rec {
     click
     click-log
     click-repl
-    configobj
     humanize
     icalendar
     parsedatetime
diff --git a/nixpkgs/pkgs/applications/office/trilium/default.nix b/nixpkgs/pkgs/applications/office/trilium/default.nix
index a1be66c56f12..3cf7fd1eaebd 100644
--- a/nixpkgs/pkgs/applications/office/trilium/default.nix
+++ b/nixpkgs/pkgs/applications/office/trilium/default.nix
@@ -19,16 +19,16 @@ let
     maintainers = with maintainers; [ fliegendewurst ];
   };
 
-  version = "0.47.5";
+  version = "0.47.7";
 
   desktopSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
-    sha256 = "16sm93vzlsqmrykbzdvgwszbhq79brd74zp9n9q5wrf4s44xizzv";
+    sha256 = "1fcrc01wr8ln1i77q9h89i90wwyijpfp58fa717wbdvyly4860sh";
   };
 
   serverSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
-    sha256 = "0jk9pf3ljzfdv7d91wxda8z9qz653qas58wsrx42gnf7zxn1l648";
+    sha256 = "0qp37y3xgbhl6vj2bkwz1lfylkn82kx7n0lcfr58wxwkn00149ry";
   };
 
 in {
diff --git a/nixpkgs/pkgs/applications/office/zim/default.nix b/nixpkgs/pkgs/applications/office/zim/default.nix
index 4cf3c3d78cec..c0bca4c90432 100644
--- a/nixpkgs/pkgs/applications/office/zim/default.nix
+++ b/nixpkgs/pkgs/applications/office/zim/default.nix
@@ -1,25 +1,22 @@
 { lib, stdenv, fetchurl, python3Packages, gtk3, gobject-introspection, wrapGAppsHook, gnome }:
 
-#
 # TODO: Declare configuration options for the following optional dependencies:
 #  -  File stores: hg, git, bzr
 #  -  Included plugins depenencies: dot, ditaa, dia, any other?
 #  -  pyxdg: Need to make it work first (see setupPyInstallFlags).
-#
 
 python3Packages.buildPythonApplication rec {
-  name = "zim-${version}";
-  version = "0.73.1";
+  pname = "zim";
+  version = "0.73.5";
 
   src = fetchurl {
-    url = "https://zim-wiki.org/downloads/${name}.tar.gz";
-    sha256 = "13vhwsgv6mscgixypc0ixkgj0y7cpcm7z7wn1vmdrwp7kn8m3xgx";
+    url = "https://zim-wiki.org/downloads/zim-${version}.tar.gz";
+    sha256 = "sha256-o28V2Sw5lMDVWwf4MlOz2LgmvrNxSGXturwU8cyR1jo=";
   };
 
   buildInputs = [ gtk3 gobject-introspection wrapGAppsHook gnome.adwaita-icon-theme ];
   propagatedBuildInputs = with python3Packages; [ pyxdg pygobject3 ];
 
-
   preFixup = ''
     export makeWrapperArgs="--prefix XDG_DATA_DIRS : $out/share --argv0 $out/bin/.zim-wrapped"
   '';
@@ -28,13 +25,12 @@ python3Packages.buildPythonApplication rec {
   doCheck = false;
 
   checkPhase = ''
-    python test.py
+    ${python3Packages.python.interpreter} test.py
   '';
 
-
   meta = with lib; {
     description = "A desktop wiki";
-    homepage = "http://zim-wiki.org";
+    homepage = "https://zim-wiki.org/";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ pSub ];
     broken = stdenv.isDarwin; # https://github.com/NixOS/nixpkgs/pull/52658#issuecomment-449565790
diff --git a/nixpkgs/pkgs/applications/office/zotero/default.nix b/nixpkgs/pkgs/applications/office/zotero/default.nix
index 53f021344d89..74f05a0b4025 100644
--- a/nixpkgs/pkgs/applications/office/zotero/default.nix
+++ b/nixpkgs/pkgs/applications/office/zotero/default.nix
@@ -36,11 +36,11 @@
 
 stdenv.mkDerivation rec {
   pname = "zotero";
-  version = "5.0.96.2";
+  version = "5.0.96.3";
 
   src = fetchurl {
     url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
-    sha256 = "sha256-ZT+qxNLjdG29DhyV0JXtgDHDi2gYPyKrZwgJOro5III=";
+    sha256 = "sha256-eqSNzmkGNopGJ7VByvUffFEPJz3WHS7b5+jgUAW/hU4=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];