about summary refs log tree commit diff
path: root/nixpkgs/pkgs/applications/office
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/applications/office')
-rw-r--r--nixpkgs/pkgs/applications/office/aesop/default.nix25
-rw-r--r--nixpkgs/pkgs/applications/office/antiword/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/atlassian-cli/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/bookworm/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/office/envelope/default.nix80
-rw-r--r--nixpkgs/pkgs/applications/office/fava/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/office/flexibee/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/office/gnucash/default.nix11
-rw-r--r--nixpkgs/pkgs/applications/office/gnumeric/default.nix17
-rw-r--r--nixpkgs/pkgs/applications/office/grisbi/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/homebank/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/office/impressive/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/jabref/default.nix2
-rw-r--r--nixpkgs/pkgs/applications/office/kexi/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/kmymoney/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/office/ledger-autosync/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/README.md9
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/default-primary-src.nix17
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/default.nix74
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/gen-shell.nix (renamed from nixpkgs/pkgs/applications/office/libreoffice/default-gen-shell.nix)6
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix (renamed from nixpkgs/pkgs/applications/office/libreoffice/libreoffice-srcs.nix)0
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-fresh/override.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix35
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-still/download.nix (renamed from nixpkgs/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix)0
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-still/override.nix6
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/src-still/primary.nix34
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/still-gen-shell.nix29
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/still-primary-src.nix17
-rw-r--r--nixpkgs/pkgs/applications/office/libreoffice/still.nix384
-rw-r--r--nixpkgs/pkgs/applications/office/mendeley/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/office/minetime/default.nix37
-rw-r--r--nixpkgs/pkgs/applications/office/mmex/default.nix13
-rw-r--r--nixpkgs/pkgs/applications/office/notes-up/default.nix27
-rw-r--r--nixpkgs/pkgs/applications/office/paperwork/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/office/planner/default.nix3
-rw-r--r--nixpkgs/pkgs/applications/office/pympress/default.nix48
-rw-r--r--nixpkgs/pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/scribus/unstable.nix15
-rw-r--r--nixpkgs/pkgs/applications/office/skrooge/default.nix6
-rw-r--r--nixpkgs/pkgs/applications/office/softmaker/freeoffice.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/softmaker/generic.nix34
-rw-r--r--nixpkgs/pkgs/applications/office/softmaker/softmaker_office.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/spice-up/default.nix23
-rw-r--r--nixpkgs/pkgs/applications/office/timetable/default.nix15
-rw-r--r--nixpkgs/pkgs/applications/office/todoman/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch69
-rw-r--r--nixpkgs/pkgs/applications/office/trilium/default.nix129
-rw-r--r--nixpkgs/pkgs/applications/office/tryton/default.nix55
-rw-r--r--nixpkgs/pkgs/applications/office/tusk/default.nix54
-rw-r--r--nixpkgs/pkgs/applications/office/vnote/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/office/watson/default.nix4
-rw-r--r--nixpkgs/pkgs/applications/office/wpsoffice/default.nix84
-rw-r--r--nixpkgs/pkgs/applications/office/zim/default.nix8
-rw-r--r--nixpkgs/pkgs/applications/office/zotero/default.nix11
54 files changed, 801 insertions, 694 deletions
diff --git a/nixpkgs/pkgs/applications/office/aesop/default.nix b/nixpkgs/pkgs/applications/office/aesop/default.nix
index b71334a6a726..5b166711693a 100644
--- a/nixpkgs/pkgs/applications/office/aesop/default.nix
+++ b/nixpkgs/pkgs/applications/office/aesop/default.nix
@@ -1,24 +1,33 @@
-{ stdenv, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, python3, gtk3
-, desktop-file-utils, json-glib, libsoup, libgee, poppler, wrapGAppsHook }:
+{ stdenv, vala, fetchFromGitHub, pantheon, pkgconfig, meson, ninja, python3, gtk3
+, desktop-file-utils, json-glib, libsoup, libgee, poppler, wrapGAppsHook, fetchpatch }:
 
 stdenv.mkDerivation rec {
   pname = "aesop";
-  version = "1.1.2";
+  version = "1.1.3";
 
   src = fetchFromGitHub {
     owner = "lainsce";
     repo = pname;
     rev = version;
-    sha256 = "1vadm8295jb7jaah2qykf3h9zvl5c013sanmxqi4snmmq4pa32ax";
+    sha256 = "1hnwhxaz0zx4fswrxjzyv5s77v5fimn87yid9sd1qgfv2g1ck0jc";
   };
 
+  patches = [
+    # Fix build
+    # https://github.com/lainsce/aesop/pull/33
+    (fetchpatch {
+      url = "https://github.com/lainsce/aesop/commit/850ec86bbfef5168e537a5af7e0d73d96db56330.patch";
+      sha256 = "14b251wp11rypqw4fafwjbsqy92mxzr8mmaxlv7n4whvwxrzqirh";
+    })
+  ];
+
   nativeBuildInputs = [
     desktop-file-utils
     meson
     ninja
     pkgconfig
     python3
-    pantheon.vala
+    vala
     wrapGAppsHook
   ];
 
@@ -37,6 +46,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "The simplest PDF viewer around";
     homepage = https://github.com/lainsce/aesop;
diff --git a/nixpkgs/pkgs/applications/office/antiword/default.nix b/nixpkgs/pkgs/applications/office/antiword/default.nix
index 96a518a7a28f..e6c939b277ea 100644
--- a/nixpkgs/pkgs/applications/office/antiword/default.nix
+++ b/nixpkgs/pkgs/applications/office/antiword/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
 
   patches = [ ./10_fix_buffer_overflow_wordole_c.patch ];
 
-  installTargets = "global_install";
+  installTargets = [ "global_install" ];
 
   meta = {
     homepage = http://www.winfield.demon.nl/;
diff --git a/nixpkgs/pkgs/applications/office/atlassian-cli/default.nix b/nixpkgs/pkgs/applications/office/atlassian-cli/default.nix
index 6ef6e51527e2..6894f1ca635a 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 = "8.5.0";
+  version = "9.0.0";
   
   src = fetchzip {
     url  = "https://bobswift.atlassian.net/wiki/download/attachments/16285777/${pname}-${version}-distribution.zip";
-    sha256  = "0c9jq7q0bx0db0zhdh89bv1ijfg7cddbx04v451vl8caqcyhkfgz";
+    sha256  = "1z8723krq65fcy5aapgiz216vrpw2nw8fbn1h3a4zpis7kw8qp0f";
     extraPostFetch = "chmod go-w $out";
   };
   
diff --git a/nixpkgs/pkgs/applications/office/bookworm/default.nix b/nixpkgs/pkgs/applications/office/bookworm/default.nix
index fe81340a7fb4..be6fe172e29f 100644
--- a/nixpkgs/pkgs/applications/office/bookworm/default.nix
+++ b/nixpkgs/pkgs/applications/office/bookworm/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, pantheon, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk
+{ stdenv, fetchFromGitHub, pantheon, vala, python3, python2, pkgconfig, libxml2, meson, ninja, gtk3, gnome3, glib, webkitgtk, libgee
 , gobject-introspection, sqlite, poppler, poppler_utils, html2text, curl, gnugrep, coreutils, bash, unzip, unar, wrapGAppsHook }:
 
 stdenv.mkDerivation rec {
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     ninja
     pkgconfig
     python3
-    pantheon.vala
+    vala
     wrapGAppsHook
   ];
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     pantheon.elementary-icon-theme
     pantheon.granite
     glib
-    gnome3.libgee
+    libgee
     gtk3
     html2text
     poppler
diff --git a/nixpkgs/pkgs/applications/office/envelope/default.nix b/nixpkgs/pkgs/applications/office/envelope/default.nix
new file mode 100644
index 000000000000..bb85ae2e12b9
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/envelope/default.nix
@@ -0,0 +1,80 @@
+{ stdenv
+, fetchFromGitHub
+, fetchpatch
+, meson
+, ninja
+, pkgconfig
+, 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
+    pkgconfig
+    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 = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
+  meta = with stdenv.lib; {
+    description = "Personal finance manager for elementary OS";
+    homepage = "https://github.com/cjfloss/envelope";
+    maintainers = with maintainers; [ kjuvi ] ++ pantheon.maintainers;
+    platforms = platforms.linux;
+    license = licenses.gpl3Plus;
+  };
+}
diff --git a/nixpkgs/pkgs/applications/office/fava/default.nix b/nixpkgs/pkgs/applications/office/fava/default.nix
index a5de74a6f165..6693d35dbd1d 100644
--- a/nixpkgs/pkgs/applications/office/fava/default.nix
+++ b/nixpkgs/pkgs/applications/office/fava/default.nix
@@ -5,11 +5,11 @@ let
 in
 buildPythonApplication rec {
   pname = "fava";
-  version = "1.11";
+  version = "1.12";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0gyrxqmfr8igfjnp9lcsl4km17yakj556xns3jp4m9l2407b5zhc";
+    sha256 = "0309y25l7aijk7il9hpjia23yc5dfac0h78xdmzb0w0ynxbjsmi6";
   };
 
   checkInputs = [ python3.pkgs.pytest ];
@@ -25,6 +25,8 @@ buildPythonApplication rec {
       markdown2
       ply
       simplejson
+      werkzeug
+      jaraco_functools
     ];
 
   # CLI test expects fava on $PATH.  Not sure why static_url fails.
diff --git a/nixpkgs/pkgs/applications/office/flexibee/default.nix b/nixpkgs/pkgs/applications/office/flexibee/default.nix
index 284fdf7a124d..c215b9ef637d 100644
--- a/nixpkgs/pkgs/applications/office/flexibee/default.nix
+++ b/nixpkgs/pkgs/applications/office/flexibee/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, makeWrapper, jre }:
 
 let
-  version = "2019.2.5";
+  version = "2019.3.1.3";
   majorVersion = builtins.substring 0 6 version;
 in
 
@@ -11,16 +11,25 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://download.flexibee.eu/download/${majorVersion}/${version}/${pname}-${version}.tar.gz";
-    sha256 = "0k94y4x6lj1vcb89a95v9mzl95mkpwp9n4a2gwvq0g90zpbnn493";
+    sha256 = "0jfj0vmrwa05ga4rhqn0sapad06mq0pampmkr75vail2289zkga2";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
+  prePatch = ''
+    substituteInPlace usr/sbin/flexibee-server \
+      --replace "/usr/share/flexibee" $out \
+      --replace "/var/run" "/run"
+  '';
+
+
   installPhase = ''
     runHook preInstall
     cp -R usr/share/flexibee/ $out/
     install -Dm755 usr/bin/flexibee $out/bin/flexibee
-    wrapProgram  $out/bin/flexibee --set JAVA_HOME "${jre}"
+    install -Dm755 usr/sbin/flexibee-server $out/bin/flexibee-server
+    wrapProgram $out/bin/flexibee --set JAVA_HOME "${jre}"
+    wrapProgram $out/bin/flexibee-server --set JAVA_HOME "${jre}"
     runHook postInstall
   '';
 
diff --git a/nixpkgs/pkgs/applications/office/gnucash/default.nix b/nixpkgs/pkgs/applications/office/gnucash/default.nix
index 3abc447f6e9f..963a896dd512 100644
--- a/nixpkgs/pkgs/applications/office/gnucash/default.nix
+++ b/nixpkgs/pkgs/applications/office/gnucash/default.nix
@@ -25,27 +25,26 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnucash";
-  version = "3.6";
+  version = "3.8b";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnucash/${pname}-${version}.tar.bz2";
-    sha256 = "09azp17ghn7i8kwk0ci3gq0qkn5pvbknhf1cbk7v43mvc3g8djzi";
+    sha256 = "0dvzm3bib7jcj685sklpzyy9mrak9mxyvih2k9fk4sl3v21wlphg";
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper cmake gtest ];
 
   buildInputs = [
     boost icu libxml2 libxslt gettext swig isocodes gtk3 glibcLocales
-    webkitgtk dconf hicolor-icon-theme libofx aqbanking gwenhywfar libdbi
+    webkitgtk dconf libofx aqbanking gwenhywfar libdbi
     libdbiDrivers guile
     perlWrapper perl
   ] ++ (with perlPackages; [ FinanceQuote DateManip ]);
 
   propagatedUserEnvPkgs = [ dconf ];
 
-  # glib-2.58 deprecrated g_type_class_add_private
-  # Should probably be removed next version bump
-  CXXFLAGS = [ "-Wno-deprecated-declarations" ];
+  # glib-2.62 deprecations
+  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
 
   patches = [ ./cmake_check_symbol_exists.patch ];
 
diff --git a/nixpkgs/pkgs/applications/office/gnumeric/default.nix b/nixpkgs/pkgs/applications/office/gnumeric/default.nix
index 70d1e3d79ba5..979c960f7a81 100644
--- a/nixpkgs/pkgs/applications/office/gnumeric/default.nix
+++ b/nixpkgs/pkgs/applications/office/gnumeric/default.nix
@@ -1,31 +1,22 @@
 { stdenv, fetchurl, pkgconfig, intltool, perlPackages
 , goffice, gnome3, wrapGAppsHook, gtk3, bison, pythonPackages
-, itstool, autoreconfHook
+, itstool
 }:
 
 let
   inherit (pythonPackages) python pygobject3;
 in stdenv.mkDerivation rec {
   pname = "gnumeric";
-  version = "1.12.45"; # TODO next release: remove gamma patch and autoreconfHook
+  version = "1.12.46";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "0c8dl1kvnj3g32qy3s92qpqpqfy0in59cx005gjvvzsflahav61h";
+    sha256 = "9fdc67377af52dfe69a7db4f533938024a75f454fc5d25ab43b8e6739be0b5e1";
   };
 
-  patches = stdenv.lib.optional stdenv.isDarwin
-    # https://gitlab.gnome.org/GNOME/gnumeric/issues/402
-    (fetchurl {
-      name = "math-gamma.patch";
-      url = "https://gitlab.gnome.org/GNOME/gnumeric/uploads/cf8d162bc719de92e97d01cb0ba5b637/ppp";
-      sha256 = "17wiigs06qc86a1nghwcg3pcnpa28123jblgsxpy3j7drardgnlp";
-    });
-
   configureFlags = [ "--disable-component" ];
 
-  nativeBuildInputs = [ pkgconfig intltool bison itstool wrapGAppsHook ]
-    ++ stdenv.lib.optional stdenv.isDarwin autoreconfHook;
+  nativeBuildInputs = [ pkgconfig intltool bison itstool wrapGAppsHook ];
 
   # ToDo: optional libgda, introspection?
   buildInputs = [
diff --git a/nixpkgs/pkgs/applications/office/grisbi/default.nix b/nixpkgs/pkgs/applications/office/grisbi/default.nix
index 752ad70cd094..cb8cf76b9988 100644
--- a/nixpkgs/pkgs/applications/office/grisbi/default.nix
+++ b/nixpkgs/pkgs/applications/office/grisbi/default.nix
@@ -1,5 +1,5 @@
 { fetchurl, stdenv, gtk, pkgconfig, libgsf, libofx, intltool, wrapGAppsHook
-, hicolor-icon-theme, libsoup, gnome3 }:
+, libsoup, gnome3 }:
 
 stdenv.mkDerivation rec {
   pname = "grisbi";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
-  buildInputs = [ gtk libgsf libofx intltool hicolor-icon-theme libsoup
+  buildInputs = [ gtk libgsf libofx intltool libsoup
     gnome3.adwaita-icon-theme ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/office/homebank/default.nix b/nixpkgs/pkgs/applications/office/homebank/default.nix
index 727a68c440a2..f72f820fd23d 100644
--- a/nixpkgs/pkgs/applications/office/homebank/default.nix
+++ b/nixpkgs/pkgs/applications/office/homebank/default.nix
@@ -1,15 +1,15 @@
 { fetchurl, stdenv, gtk, pkgconfig, libofx, intltool, wrapGAppsHook
-, hicolor-icon-theme, libsoup, gnome3 }:
+, libsoup, gnome3 }:
 
 stdenv.mkDerivation rec {
-  name = "homebank-5.2.7";
+  name = "homebank-5.2.8";
   src = fetchurl {
     url = "http://homebank.free.fr/public/${name}.tar.gz";
-    sha256 = "0pzbn0wlppwbap19isbv8vv3cq7xswladhc272ykaya78r1bxvcf";
+    sha256 = "13ampiv68y30kc0p2560g3yz8whqpwnidfcnb9lndv93b9ca767y";
   };
 
   nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
-  buildInputs = [ gtk libofx intltool hicolor-icon-theme libsoup
+  buildInputs = [ gtk libofx intltool libsoup
     gnome3.adwaita-icon-theme ];
 
   meta = with stdenv.lib; {
diff --git a/nixpkgs/pkgs/applications/office/impressive/default.nix b/nixpkgs/pkgs/applications/office/impressive/default.nix
index 5065a1cb9bc9..a8c318d690a9 100644
--- a/nixpkgs/pkgs/applications/office/impressive/default.nix
+++ b/nixpkgs/pkgs/applications/office/impressive/default.nix
@@ -2,7 +2,7 @@
 , SDL, ghostscript, pdftk, dejavu_fonts }:
 
 let
-  version = "0.12.0";
+  version = "0.12.1";
   pythonEnv = python2.withPackages (ps: with ps; [pyopengl pygame pillow]);
 in stdenv.mkDerivation {
     # This project was formerly known as KeyJNote.
@@ -13,7 +13,7 @@ in stdenv.mkDerivation {
 
     src = fetchurl {
       url = "mirror://sourceforge/impressive/Impressive-${version}.tar.gz";
-      sha256 = "0zaqq3yvd296mfr5bxpj2hqlk7vrb0rsbgd4dc1l5ag46giqvivx";
+      sha256 = "1r7ihv41awnlnlry1kymb8fka053wdhzibfwcarn78rr3vs338vl";
     };
 
     buildInputs = [ makeWrapper pythonEnv ];
diff --git a/nixpkgs/pkgs/applications/office/jabref/default.nix b/nixpkgs/pkgs/applications/office/jabref/default.nix
index b249186c2f17..d0a7757e49d2 100644
--- a/nixpkgs/pkgs/applications/office/jabref/default.nix
+++ b/nixpkgs/pkgs/applications/office/jabref/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Open source bibliography reference manager";
-    homepage = http://jabref.sourceforge.net;
+    homepage = https://www.jabref.org;
     license = licenses.gpl2;
     platforms = platforms.unix;
     maintainers = [ maintainers.gebner ];
diff --git a/nixpkgs/pkgs/applications/office/kexi/default.nix b/nixpkgs/pkgs/applications/office/kexi/default.nix
index 83515de49903..8db7068f7cfa 100644
--- a/nixpkgs/pkgs/applications/office/kexi/default.nix
+++ b/nixpkgs/pkgs/applications/office/kexi/default.nix
@@ -4,7 +4,7 @@
   breeze-icons, karchive, kcodecs, kcompletion, kconfig, kconfigwidgets, kcoreaddons,
   kcrash, kguiaddons, ki18n, kiconthemes, kitemviews, kio, ktexteditor, ktextwidgets,
   kwidgetsaddons, kxmlgui,
-  kdb, kproperty, kreport, lcms2, mysql, marble, postgresql
+  kdb, kproperty, kreport, lcms2, libmysqlclient, marble, postgresql
 }:
 
 mkDerivation rec {
@@ -23,7 +23,7 @@ mkDerivation rec {
     breeze-icons karchive kcodecs kcompletion kconfig kconfigwidgets kcoreaddons
     kcrash kguiaddons ki18n kiconthemes kitemviews kio ktexteditor ktextwidgets
     kwidgetsaddons kxmlgui
-    kdb kproperty kreport lcms2 mysql.connector-c marble postgresql
+    kdb kproperty kreport lcms2 libmysqlclient marble postgresql
   ];
 
   propagatedUserEnvPkgs = [ kproperty ];
diff --git a/nixpkgs/pkgs/applications/office/kmymoney/default.nix b/nixpkgs/pkgs/applications/office/kmymoney/default.nix
index 0cb23abea66a..c7b4377c3dcb 100644
--- a/nixpkgs/pkgs/applications/office/kmymoney/default.nix
+++ b/nixpkgs/pkgs/applications/office/kmymoney/default.nix
@@ -10,17 +10,16 @@
 # Needed for running tests:
 , qtbase, xvfb_run
 
-# For weboob, which only supports Python 2.x:
-, python2Packages
+, python2, python3Packages
 }:
 
 stdenv.mkDerivation rec {
   pname = "kmymoney";
-  version = "5.0.5";
+  version = "5.0.7";
 
   src = fetchurl {
     url = "mirror://kde/stable/kmymoney/${version}/src/${pname}-${version}.tar.xz";
-    sha256 = "1hghs4676kn2giwpwz1y7p6djpmi41x64idf3ybiz8ky14a5s977";
+    sha256 = "1h5mzvgpfyl2j66b3nsw17yxvg0ja1qhjlcmfkz62221vcqsrp6m";
   };
 
   # Hidden dependency that wasn't included in CMakeLists.txt:
@@ -29,8 +28,8 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   nativeBuildInputs = [
-    doxygen extra-cmake-modules graphviz kdoctools python2Packages.wrapPython
-    wrapQtAppsHook
+    doxygen extra-cmake-modules graphviz kdoctools python2
+    python3Packages.wrapPython wrapQtAppsHook
   ];
 
   buildInputs = [
@@ -41,10 +40,10 @@ stdenv.mkDerivation rec {
 
     # Put it into buildInputs so that CMake can find it, even though we patch
     # it into the interface later.
-    python2Packages.weboob
+    python3Packages.weboob
   ];
 
-  weboobPythonPath = [ python2Packages.weboob ];
+  weboobPythonPath = [ python3Packages.weboob ];
 
   postInstall = ''
     buildPythonPath "$weboobPythonPath"
diff --git a/nixpkgs/pkgs/applications/office/ledger-autosync/default.nix b/nixpkgs/pkgs/applications/office/ledger-autosync/default.nix
index 4c126fc2f919..62ac6a803824 100644
--- a/nixpkgs/pkgs/applications/office/ledger-autosync/default.nix
+++ b/nixpkgs/pkgs/applications/office/ledger-autosync/default.nix
@@ -2,14 +2,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "ledger-autosync";
-  version = "1.0.0";
+  version = "1.0.1";
 
 # no tests included in PyPI tarball
   src = fetchFromGitHub {
     owner = "egh";
     repo = "ledger-autosync";
     rev = "v${version}";
-    sha256 = "1fn32c02idccdmf9906pxn248qc9basjy2kr2g600806k3qvw84a";
+    sha256 = "1h5mjngdd3rmzwmy026xmas0491kxxi1vxkd5m1xii7y6j50z14q";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/README.md b/nixpkgs/pkgs/applications/office/libreoffice/README.md
index eb21fe2f441e..a084572d2177 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/README.md
+++ b/nixpkgs/pkgs/applications/office/libreoffice/README.md
@@ -1,10 +1,9 @@
 LibreOffice
 ===========
 
-To generate `libreoffice-srcs.nix`:
+To generate `src-$VARIANT/download.nix`, i.e. list of additional sources that
+the libreoffice build process needs to download:
 
-    nix-shell default-gen-shell.nix --run generate
+    nix-shell gen-shell.nix --argstr variant VARIANT --run generate
 
-To generate `libreoffice-srcs-still.nix`:
-
-    nix-shell still-gen-shell.nix --run generate
+Where VARIANT is either `still` or `fresh`.
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/default-primary-src.nix b/nixpkgs/pkgs/applications/office/libreoffice/default-primary-src.nix
deleted file mode 100644
index b3b21174bc3a..000000000000
--- a/nixpkgs/pkgs/applications/office/libreoffice/default-primary-src.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ fetchurl }:
-
-rec {
-  major = "6";
-  minor = "3";
-  patch = "0";
-  tweak = "4";
-
-  subdir = "${major}.${minor}.${patch}";
-
-  version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
-
-  src = fetchurl {
-    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "1mxflzrcm04djkj8ifyy4rwgl8bxirrvzrn864w6rgvzn43h30w7";
-  };
-}
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/default.nix b/nixpkgs/pkgs/applications/office/libreoffice/default.nix
index f5f53e10496b..c8bb58d29213 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/default.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/default.nix
@@ -1,10 +1,10 @@
-{ stdenv, fetchurl, pam, python3, libxslt, perl, ArchiveZip, gettext
+{ stdenv, fetchurl, fetchpatch, pam, python3, libxslt, perl, ArchiveZip, gettext
 , IOCompress, zlib, libjpeg, expat, freetype, libwpd
-, libxml2, db, sablotron, curl, fontconfig, libsndfile, neon
+, libxml2, db, curl, fontconfig, libsndfile, neon
 , bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which
 , icu, boost, jdk, ant, cups, xorg, libcmis, fontforge
 , openssl, gperf, cppunit, GConf, ORBit2, poppler, utillinux
-, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw, mysql
+, librsvg, gnome_vfs, libGLU, libGL, bsh, CoinMP, libwps, libabw, libmysqlclient
 , autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
 , libwpg, dbus-glib, qt4, clucene_core, libcdr, lcms, vigra
 , unixODBC, mdds, sane-backends, mythes, libexttextcat, libvisio
@@ -13,30 +13,28 @@
 , librevenge, libe-book, libmwaw, glm, glew, gst_all_1
 , gdb, commonsLogging, librdf_rasqal, wrapGAppsHook
 , gnome3, glib, ncurses, epoxy, gpgme
-, langs ? [ "ca" "cs" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "ru" "sl" "zh-CN" ]
+, langs ? [ "ca" "cs" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "pt" "pt-BR" "ru" "sl" "zh-CN" ]
 , withHelp ? true
 , kdeIntegration ? false
-}:
+, variant ? "fresh"
+} @ args:
+
+assert builtins.elem variant [ "fresh" "still" ];
 
 let
-  primary-src = import ./default-primary-src.nix { inherit fetchurl; };
-in
+  importVariant = f: import (./. + "/src-${variant}/${f}");
 
-let inherit (primary-src) major minor subdir version; in
+  primary-src = importVariant "primary.nix" { inherit fetchurl; };
+
+  inherit (primary-src) major minor subdir version;
 
-let
   lib = stdenv.lib;
   langsSpaces = lib.concatStringsSep " " langs;
 
-  fetchSrc = {name, sha256}: fetchurl {
-    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${name}-${version}.tar.xz";
-    inherit sha256;
-  };
-
   srcs = {
     third_party =
       map (x : ((fetchurl {inherit (x) url sha256 name;}) // {inherit (x) md5name md5;}))
-      ((import ./libreoffice-srcs.nix) ++ [
+      (importVariant "download.nix" ++ [
         (rec {
           name = "unowinreg.dll";
           url = "https://dev-www.libreoffice.org/extern/${md5name}";
@@ -46,31 +44,36 @@ let
         })
       ]);
 
-    translations = fetchSrc {
-      name = "translations";
-      sha256 = "0730fw2kr00b2d56jkdzjdz49c4k4mxiz879c7ikw59c5zvrh009";
-    };
-
-    # TODO: dictionaries
-
-    help = fetchSrc {
-      name = "help";
-      sha256 = "1w9bqwzz75vvxxy9dgln0v6p6isf8mkqnkg1nzlaykvdgsn5sp4z";
-    };
-
+    translations = primary-src.translations;
+    help = primary-src.help;
   };
-in stdenv.mkDerivation rec {
+in (stdenv.mkDerivation rec {
   pname = "libreoffice";
   inherit version;
 
   inherit (primary-src) src;
 
+  outputs = [ "out" "dev" ];
+
   # For some reason librdf_redland sometimes refers to rasqal.h instead
   # of rasqal/rasqal.h
-  NIX_CFLAGS_COMPILE = [ "-I${librdf_rasqal}/include/rasqal" ] ++ lib.optional stdenv.isx86_64 "-mno-fma";
+  NIX_CFLAGS_COMPILE = "-I${librdf_rasqal}/include/rasqal";
 
   patches = [
     ./xdg-open-brief.patch
+
+    # Poppler-0.82 compatibility
+    # https://gerrit.libreoffice.org/81545
+    (fetchpatch {
+      url = "https://github.com/LibreOffice/core/commit/2eadd46ab81058087af95bdfc1fea28fcdb65998.patch";
+      sha256 = "1mpipdfxvixjziizbhfbpybpzlg1ijw7s0yqjpmq5d7pf3pvkm4n";
+    })
+    # Poppler-0.83 compatibility
+    # https://gerrit.libreoffice.org/84384
+    (fetchpatch {
+      url = "https://github.com/LibreOffice/core/commit/9065cd8d9a19864f6b618f2dc10daf577badd9ee.patch";
+      sha256 = "0nd0gck8ra3ffw936a7ri0s6a0ii5cyglnhip2prcjh5yf7vw2i2";
+    })
   ];
 
   tarballPath = "external/tarballs";
@@ -245,7 +248,7 @@ in stdenv.mkDerivation rec {
     find -name "*.cmd" -exec sed -i s,/lib:/usr/lib,, {} \;
     '';
 
-  makeFlags = "SHELL=${bash}/bin/bash";
+  makeFlags = [ "SHELL=${bash}/bin/bash" ];
 
   enableParallelBuilding = true;
 
@@ -276,6 +279,9 @@ in stdenv.mkDerivation rec {
 
     cp -r sysui/desktop/icons  "$out/share"
     sed -re 's@Icon=libreoffice(dev)?[0-9.]*-?@Icon=@' -i "$out/share/applications/"*.desktop
+
+    mkdir -p $dev
+    cp -r include $dev
   '';
 
   configureFlags = [
@@ -360,10 +366,10 @@ in stdenv.mkDerivation rec {
       hunspell icu jdk lcms libcdr libexttextcat unixODBC libjpeg
       libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
       libXaw libXext libXi libXinerama libxml2 libxslt libXtst
-      libXdmcp libpthreadstubs libGLU_combined mythes gst_all_1.gstreamer
-      gst_all_1.gst-plugins-base glib mysql.connector-c
+      libXdmcp libpthreadstubs libGLU libGL mythes gst_all_1.gstreamer
+      gst_all_1.gst-plugins-base glib libmysqlclient
       neon nspr nss openldap openssl ORBit2 pam perl pkgconfig poppler
-      python3 sablotron sane-backends unzip vigra which zip zlib
+      python3 sane-backends unzip vigra which zip zlib
       mdds bluez5 libcmis libwps libabw libzmf
       libxshmfence libatomic_ops graphite2 harfbuzz gpgme utillinux
       librevenge libe-book libmwaw glm glew ncurses epoxy
@@ -384,4 +390,4 @@ in stdenv.mkDerivation rec {
     maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
   };
-}
+}).overrideAttrs ((importVariant "override.nix") args)
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/default-gen-shell.nix b/nixpkgs/pkgs/applications/office/libreoffice/gen-shell.nix
index 366030971237..7429bb0cb382 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/default-gen-shell.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/gen-shell.nix
@@ -1,10 +1,10 @@
-{ pkgs ? (import <nixpkgs> {}) }:
+{ pkgs ? (import <nixpkgs> {}), variant }:
 
 with pkgs;
 
 let
 
-  primary-src = callPackage ./default-primary-src.nix {};
+  primary-src = callPackage (./. + "/src-${variant}/primary.nix") {};
 
 in
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation {
 
   shellHook = ''
     function generate {
-      python3 generate-libreoffice-srcs.py > libreoffice-srcs.nix
+      python3 generate-libreoffice-srcs.py ${variant} > src-${variant}/download.nix
     }
   '';
 }
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/libreoffice-srcs.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix
index 4df8ce1059b4..4df8ce1059b4 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/libreoffice-srcs.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/download.nix
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/override.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/override.nix
new file mode 100644
index 000000000000..464965121d97
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/override.nix
@@ -0,0 +1,4 @@
+{ stdenv, ... }:
+attrs: {
+  NIX_CFLAGS_COMPILE = attrs.NIX_CFLAGS_COMPILE + stdenv.lib.optionalString stdenv.isx86_64 " -mno-fma";
+}
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix
new file mode 100644
index 000000000000..28bf127c3988
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-fresh/primary.nix
@@ -0,0 +1,35 @@
+{ fetchurl }:
+
+rec {
+  fetchSrc = {name, sha256}: fetchurl {
+    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${name}-${version}.tar.xz";
+    inherit sha256;
+  };
+
+  major = "6";
+  minor = "3";
+  patch = "0";
+  tweak = "4";
+
+  subdir = "${major}.${minor}.${patch}";
+
+  version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
+
+  src = fetchurl {
+    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
+    sha256 = "1mxflzrcm04djkj8ifyy4rwgl8bxirrvzrn864w6rgvzn43h30w7";
+  };
+
+  # FIXME rename
+  translations = fetchSrc {
+    name = "translations";
+    sha256 = "0730fw2kr00b2d56jkdzjdz49c4k4mxiz879c7ikw59c5zvrh009";
+  };
+
+  # TODO: dictionaries
+
+  help = fetchSrc {
+    name = "help";
+    sha256 = "1w9bqwzz75vvxxy9dgln0v6p6isf8mkqnkg1nzlaykvdgsn5sp4z";
+  };
+}
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-still/download.nix
index b5a721b5679b..b5a721b5679b 100644
--- a/nixpkgs/pkgs/applications/office/libreoffice/libreoffice-srcs-still.nix
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-still/download.nix
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/src-still/override.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-still/override.nix
new file mode 100644
index 000000000000..7192af019496
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-still/override.nix
@@ -0,0 +1,6 @@
+{ stdenv, ... }:
+attrs:
+{
+  configureFlags = stdenv.lib.lists.remove "--without-export-validation" attrs.configureFlags;
+  meta = attrs.meta // { description = "Comprehensive, professional-quality productivity suite (Still/Stable release)"; };
+}
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/src-still/primary.nix b/nixpkgs/pkgs/applications/office/libreoffice/src-still/primary.nix
new file mode 100644
index 000000000000..a27087a1b051
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/libreoffice/src-still/primary.nix
@@ -0,0 +1,34 @@
+{ fetchurl }:
+
+rec {
+  fetchSrc = {name, sha256}: fetchurl {
+    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${name}-${version}.tar.xz";
+    inherit sha256;
+  };
+
+  major = "6";
+  minor = "2";
+  patch = "6";
+  tweak = "2";
+
+  subdir = "${major}.${minor}.${patch}";
+
+  version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
+
+  src = fetchurl {
+    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
+    sha256 = "1nzvdb6yq8bpybz7lrppr237cws6dajk3r9hc9qd0zi55kcddjpq";
+  };
+
+  translations = fetchSrc {
+    name = "translations";
+    sha256 = "1l5v9bb7n9s6i24q4mdyqyp5v4f8iy0a9dmpgw649vngj1zxdxfh";
+  };
+
+  # TODO: dictionaries
+
+  help = fetchSrc {
+    name = "help";
+    sha256 = "0h4jvdbvxvgy7w2bzf4k4knqbshlr4v2ic2jsaygy52530z9xifz";
+  };
+}
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/still-gen-shell.nix b/nixpkgs/pkgs/applications/office/libreoffice/still-gen-shell.nix
deleted file mode 100644
index c5c17c2aaad0..000000000000
--- a/nixpkgs/pkgs/applications/office/libreoffice/still-gen-shell.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ pkgs ? (import <nixpkgs> {}) }:
-
-with pkgs;
-
-let
-
-  primary-src = callPackage ./still-primary-src.nix {};
-
-in
-
-stdenv.mkDerivation {
-  name = "generate-libreoffice-srcs-shell";
-
-  buildCommand = "exit 1";
-
-  downloadList = stdenv.mkDerivation {
-    name = "libreoffice-${primary-src.version}-download-list";
-    inherit (primary-src) src version;
-    builder = ./download-list-builder.sh;
-  };
-
-  buildInputs = [ python3 ];
-
-  shellHook = ''
-    function generate {
-      python3 generate-libreoffice-srcs.py > libreoffice-srcs-still.nix
-    }
-  '';
-}
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/still-primary-src.nix b/nixpkgs/pkgs/applications/office/libreoffice/still-primary-src.nix
deleted file mode 100644
index 07f30a5525d5..000000000000
--- a/nixpkgs/pkgs/applications/office/libreoffice/still-primary-src.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{ fetchurl }:
-
-rec {
-  major = "6";
-  minor = "2";
-  patch = "6";
-  tweak = "2";
-
-  subdir = "${major}.${minor}.${patch}";
-
-  version = "${subdir}${if tweak == "" then "" else "."}${tweak}";
-
-  src = fetchurl {
-    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${version}.tar.xz";
-    sha256 = "1nzvdb6yq8bpybz7lrppr237cws6dajk3r9hc9qd0zi55kcddjpq";
-  };
-}
diff --git a/nixpkgs/pkgs/applications/office/libreoffice/still.nix b/nixpkgs/pkgs/applications/office/libreoffice/still.nix
deleted file mode 100644
index eb774a309416..000000000000
--- a/nixpkgs/pkgs/applications/office/libreoffice/still.nix
+++ /dev/null
@@ -1,384 +0,0 @@
-{ stdenv, fetchurl, pam, python3, libxslt, perl, ArchiveZip, gettext
-, IOCompress, zlib, libjpeg, expat, freetype, libwpd
-, libxml2, db, sablotron, curl, fontconfig, libsndfile, neon
-, bison, flex, zip, unzip, gtk3, gtk2, libmspack, getopt, file, cairo, which
-, icu, boost, jdk, ant, cups, xorg, libcmis, fontforge
-, openssl, gperf, cppunit, GConf, ORBit2, poppler, utillinux
-, librsvg, gnome_vfs, libGLU_combined, bsh, CoinMP, libwps, libabw, mysql
-, autoconf, automake, openldap, bash, hunspell, librdf_redland, nss, nspr
-, libwpg, dbus-glib, qt4, clucene_core, libcdr, lcms, vigra
-, unixODBC, mdds, sane-backends, mythes, libexttextcat, libvisio
-, fontsConf, pkgconfig, bluez5, libtool, carlito
-, libatomic_ops, graphite2, harfbuzz, libodfgen, libzmf
-, librevenge, libe-book, libmwaw, glm, glew, gst_all_1
-, gdb, commonsLogging, librdf_rasqal, wrapGAppsHook
-, gnome3, glib, ncurses, epoxy, gpgme
-, langs ? [ "ca" "cs" "de" "en-GB" "en-US" "eo" "es" "fr" "hu" "it" "ja" "nl" "pl" "ru" "sl" "zh-CN" ]
-, withHelp ? true
-, kdeIntegration ? false
-}:
-
-let
-  primary-src = import ./still-primary-src.nix { inherit fetchurl; };
-in
-
-let inherit (primary-src) major minor subdir version; in
-
-let
-  lib = stdenv.lib;
-  langsSpaces = lib.concatStringsSep " " langs;
-
-  fetchSrc = {name, sha256}: fetchurl {
-    url = "https://download.documentfoundation.org/libreoffice/src/${subdir}/libreoffice-${name}-${version}.tar.xz";
-    inherit sha256;
-  };
-
-  srcs = {
-    third_party =
-      map (x : ((fetchurl {inherit (x) url sha256 name;}) // {inherit (x) md5name md5;}))
-      ((import ./libreoffice-srcs-still.nix) ++ [
-        (rec {
-          name = "unowinreg.dll";
-          url = "https://dev-www.libreoffice.org/extern/${md5name}";
-          sha256 = "1infwvv1p6i21scywrldsxs22f62x85mns4iq8h6vr6vlx3fdzga";
-          md5 = "185d60944ea767075d27247c3162b3bc";
-          md5name = "${md5}-${name}";
-        })
-      ]);
-
-    translations = fetchSrc {
-      name = "translations";
-      sha256 = "1l5v9bb7n9s6i24q4mdyqyp5v4f8iy0a9dmpgw649vngj1zxdxfh";
-    };
-
-    # TODO: dictionaries
-
-    help = fetchSrc {
-      name = "help";
-      sha256 = "0h4jvdbvxvgy7w2bzf4k4knqbshlr4v2ic2jsaygy52530z9xifz";
-    };
-
-  };
-in stdenv.mkDerivation rec {
-  pname = "libreoffice";
-  inherit version;
-
-  inherit (primary-src) src;
-
-  # For some reason librdf_redland sometimes refers to rasqal.h instead
-  # of rasqal/rasqal.h
-  NIX_CFLAGS_COMPILE = [ "-I${librdf_rasqal}/include/rasqal" ];
-
-  patches = [
-    ./xdg-open-brief.patch
-  ];
-
-  tarballPath = "external/tarballs";
-
-  postUnpack = ''
-    mkdir -v $sourceRoot/${tarballPath}
-  '' + (lib.flip lib.concatMapStrings srcs.third_party (f: ''
-      ln -sfv ${f} $sourceRoot/${tarballPath}/${f.md5name}
-      ln -sfv ${f} $sourceRoot/${tarballPath}/${f.name}
-    ''))
-  + ''
-    ln -sv ${srcs.help} $sourceRoot/${tarballPath}/${srcs.help.name}
-    ln -svf ${srcs.translations} $sourceRoot/${tarballPath}/${srcs.translations.name}
-    tar -xf ${srcs.help}
-    tar -xf ${srcs.translations}
-  '';
-
-  postPatch = ''
-    sed -e 's@/usr/bin/xdg-open@xdg-open@g' -i shell/source/unix/exec/shellexec.cxx
-
-    # configure checks for header 'gpgme++/gpgmepp_version.h',
-    # and if it is found (no matter where) uses a hardcoded path
-    # in what presumably is an effort to make it possible to write
-    # '#include <context.h>' instead of '#include <gpgmepp/context.h>'.
-    #
-    # Fix this path to point to where the headers can actually be found instead.
-    substituteInPlace configure.ac --replace \
-      'GPGMEPP_CFLAGS=-I/usr/include/gpgme++' \
-      'GPGMEPP_CFLAGS=-I${gpgme.dev}/include/gpgme++'
-  '';
-
-  QT4DIR = qt4;
-
-  preConfigure = ''
-    configureFlagsArray=(
-      "--with-parallelism=$NIX_BUILD_CORES"
-      "--with-lang=${langsSpaces}"
-    );
-
-    chmod a+x ./bin/unpack-sources
-    patchShebangs .
-
-    # This is required as some cppunittests require fontconfig configured
-    cp "${fontsConf}" fonts.conf
-    sed -e '/include/i<include>${carlito}/etc/fonts/conf.d</include>' -i fonts.conf
-    export FONTCONFIG_FILE="$PWD/fonts.conf"
-
-    NOCONFIGURE=1 ./autogen.sh
-  '';
-
-  postConfigure =
-    # fetch_Download_item tries to interpret the name as a variable name, let it do so...
-    ''
-      sed -e '1ilibreoffice-translations-${version}.tar.xz=libreoffice-translations-${version}.tar.xz' -i Makefile
-      sed -e '1ilibreoffice-help-${version}.tar.xz=libreoffice-help-${version}.tar.xz' -i Makefile
-    ''
-    # Test fixups
-    # May need to be revisited/pruned, left alone for now.
-    + ''
-      # unit test sd_tiledrendering seems to be fragile
-      # https://nabble.documentfoundation.org/libreoffice-5-0-failure-in-CUT-libreofficekit-tiledrendering-td4150319.html
-      echo > ./sd/CppunitTest_sd_tiledrendering.mk
-      sed -e /CppunitTest_sd_tiledrendering/d -i sd/Module_sd.mk
-      # Pivot chart tests. Fragile.
-      sed -e '/CPPUNIT_TEST(testRoundtrip)/d' -i chart2/qa/extras/PivotChartTest.cxx
-      sed -e '/CPPUNIT_TEST(testPivotTableMedianODS)/d' -i sc/qa/unit/pivottable_filters_test.cxx
-      # one more fragile test?
-      sed -e '/CPPUNIT_TEST(testTdf96536);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
-      # this I actually hate, this should be a data consistency test!
-      sed -e '/CPPUNIT_TEST(testTdf115013);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
-      # rendering-dependent test
-      sed -e '/CPPUNIT_ASSERT_EQUAL(11148L, pOleObj->GetLogicRect().getWidth());/d ' -i sc/qa/unit/subsequent_filters-test.cxx
-      # tilde expansion in path processing checks the existence of $HOME
-      sed -e 's@OString sSysPath("~/tmp");@& return ; @' -i sal/qa/osl/file/osl_File.cxx
-      # fails on systems using ZFS, see https://github.com/NixOS/nixpkgs/issues/19071
-      sed -e '/CPPUNIT_TEST(getSystemPathFromFileURL_005);/d' -i './sal/qa/osl/file/osl_File.cxx'
-      # rendering-dependent: on my computer the test table actually doesn't fit…
-      # interesting fact: test disabled on macOS by upstream
-      sed -re '/DECLARE_WW8EXPORT_TEST[(]testTableKeep, "tdf91083.odt"[)]/,+5d' -i ./sw/qa/extras/ww8export/ww8export.cxx
-      # Segfault on DB access — maybe temporarily acceptable for a new version of Fresh?
-      sed -e 's/CppunitTest_dbaccess_empty_stdlib_save//' -i ./dbaccess/Module_dbaccess.mk
-      # one more fragile test?
-      sed -e '/CPPUNIT_TEST(testTdf77014);/d' -i sw/qa/extras/uiwriter/uiwriter.cxx
-      # rendering-dependent tests
-      sed -e '/CPPUNIT_TEST(testCustomColumnWidthExportXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
-      sed -e '/CPPUNIT_TEST(testColumnWidthExportFromODStoXLSX)/d' -i sc/qa/unit/subsequent_export-test.cxx
-      sed -e '/CPPUNIT_TEST(testChartImportXLS)/d' -i sc/qa/unit/subsequent_filters-test.cxx
-      sed -e '/CPPUNIT_TEST(testLegacyCellAnchoredRotatedShape)/d' -i sc/qa/unit/filters-test.cxx
-      sed -zre 's/DesktopLOKTest::testGetFontSubset[^{]*[{]/& return; /' -i desktop/qa/desktop_lib/test_desktop_lib.cxx
-      sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testFlipAndRotateCustomShape,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
-      sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]tdf105490_negativeMargins,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport9.cxx
-      sed -z -r -e 's/DECLARE_OOXMLIMPORT_TEST[(]testTdf112443,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlimport/ooxmlimport.cxx
-      sed -z -r -e 's/DECLARE_RTFIMPORT_TEST[(]testTdf108947,[^)]*[)].[{]/& return;/' -i sw/qa/extras/rtfimport/rtfimport.cxx
-      # not sure about this fragile test
-      sed -z -r -e 's/DECLARE_OOXMLEXPORT_TEST[(]testTDF87348,[^)]*[)].[{]/& return;/' -i sw/qa/extras/ooxmlexport/ooxmlexport7.cxx
-      # bunch of new Fresh failures. Sigh.
-      sed -e '/CPPUNIT_TEST(testDocumentLayout);/d' -i './sd/qa/unit/import-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testErrorBarDataRangeODS);/d' -i './chart2/qa/extras/chart2export.cxx'
-      sed -e '/CPPUNIT_TEST(testLabelStringODS);/d' -i './chart2/qa/extras/chart2export.cxx'
-      sed -e '/CPPUNIT_TEST(testAxisNumberFormatODS);/d' -i './chart2/qa/extras/chart2export.cxx'
-      sed -e '/CPPUNIT_TEST(testBackgroundImage);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testFdo84043);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf97630);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf80020);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf62176);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTransparentBackground);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testEmbeddedPdf);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testEmbeddedText);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf98477);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf50499);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf100926);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testPageWithTransparentBackground);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTextRotation);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf113818);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf119629);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf113822);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(test);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testConditionalFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF16LErtlSHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256ODF12);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_UTF8SHA256W3C);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testProtectionKeyODS_XL_SHA1);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testColorScaleExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testDataBarExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testNamedRangeBugfdo62729);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testRichTextExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testFormulaRefSheetNameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCellValuesExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCellNoteExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testFormatExportODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testEmbeddedChartODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCellAnchoredGroupXLS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testCeilingFloorODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testRelativePathsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testSheetProtectionODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testSwappedOutImageExport);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testLinkedGraphicRT);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testImageWithSpecialID);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testAbsNamedRangeHTML);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testMoveCellAnchoredShapesODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testRefStringUnspecified);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testHeaderImageODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf88657ODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testExponentWithoutSignFormatXLSX);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testHiddenRepeatedRowsODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testHyperlinkTargetFrameODS);/d' -i './sc/qa/unit/subsequent_export-test.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf105739);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testPageBitmapWithTransparency);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf115005);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf115005_FallBack_Images_On);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf115005_FallBack_Images_Off);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf44774);/d' -i './sd/qa/unit/misc-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf38225);/d' -i './sd/qa/unit/misc-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests-ooxml2.cxx'
-      sed -e '/CPPUNIT_TEST(testAuthorField);/d' -i './sd/qa/unit/export-tests.cxx'
-      sed -e '/CPPUNIT_TEST(testFdo85554);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
-      sed -e '/CPPUNIT_TEST(testEmbeddedDataSource);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
-      sed -e '/CPPUNIT_TEST(testTdf96479);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
-      sed -e '/CPPUNIT_TEST(testInconsistentBookmark);/d' -i './sw/qa/extras/uiwriter/uiwriter.cxx'
-      sed -e '/CPPUNIT_TEST(Import_Export_Import);/d' -i './sw/qa/extras/inc/swmodeltestbase.hxx'
-      sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/ooxmlexport/ooxmlexport9.cxx"
-      sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/ooxmlexport/ooxmlencryption.cxx"
-      sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/odfexport/odfexport.cxx"
-      sed -e "s/DECLARE_SW_ROUNDTRIP_TEST(\([_a-zA-Z0-9.]\+\)[, ].*, *\([_a-zA-Z0-9.]\+\))/class \\1: public \\2 { public: void verify() override; }; void \\1::verify() /" -i "sw/qa/extras/unowriter/unowriter.cxx"
-    ''
-    # This to avoid using /lib:/usr/lib at linking
-    + ''
-    sed -i '/gb_LinkTarget_LDFLAGS/{ n; /rpath-link/d;}' solenv/gbuild/platform/unxgcc.mk
-
-    find -name "*.cmd" -exec sed -i s,/lib:/usr/lib,, {} \;
-    '';
-
-  makeFlags = "SHELL=${bash}/bin/bash";
-
-  enableParallelBuilding = true;
-
-  buildPhase = ''
-    make build-nocheck
-  '';
-
-  doCheck = true;
-
-  # It installs only things to $out/lib/libreoffice
-  postInstall = ''
-    mkdir -p $out/bin $out/share/desktop
-
-    mkdir -p "$out/share/gsettings-schemas/collected-for-libreoffice/glib-2.0/schemas/"
-
-    for a in sbase scalc sdraw smath swriter simpress soffice; do
-      ln -s $out/lib/libreoffice/program/$a $out/bin/$a
-    done
-
-    ln -s $out/bin/soffice $out/bin/libreoffice
-    ln -s $out/lib/libreoffice/share/xdg $out/share/applications
-
-    for f in $out/share/applications/*.desktop; do
-      substituteInPlace "$f" --replace "Exec=libreofficedev${major}.${minor}" "Exec=libreoffice"
-      substituteInPlace "$f" --replace "Exec=libreoffice${major}.${minor}" "Exec=libreoffice"
-      substituteInPlace "$f" --replace "Exec=libreoffice" "Exec=libreoffice"
-    done
-
-    cp -r sysui/desktop/icons  "$out/share"
-    sed -re 's@Icon=libreoffice(dev)?[0-9.]*-?@Icon=@' -i "$out/share/applications/"*.desktop
-  '';
-
-  configureFlags = [
-    (if withHelp then "" else "--without-help")
-    "--with-boost=${boost.dev}"
-    "--with-boost-libdir=${boost.out}/lib"
-    "--with-beanshell-jar=${bsh}"
-    "--with-vendor=NixOS"
-    "--with-commons-logging-jar=${commonsLogging}/share/java/commons-logging-1.2.jar"
-    "--disable-report-builder"
-    "--disable-online-update"
-    "--enable-python=system"
-    "--enable-dbus"
-    "--enable-release-build"
-    (lib.enableFeature kdeIntegration "kde4")
-    "--enable-epm"
-    "--with-jdk-home=${jdk.home}"
-    "--with-ant-home=${ant}/lib/ant"
-    "--with-system-cairo"
-    "--with-system-libs"
-    "--with-system-headers"
-    "--with-system-openssl"
-    "--with-system-libabw"
-    "--with-system-libcmis"
-    "--with-system-libwps"
-    "--with-system-openldap"
-    "--with-system-coinmp"
-
-    "--with-alloc=system"
-
-    # Without these, configure does not finish
-    "--without-junit"
-
-    "--disable-libnumbertext" # system-libnumbertext"
-
-    # We do tarball prefetching ourselves
-    "--disable-fetch-external"
-    "--enable-build-opensymbol"
-
-    # I imagine this helps. Copied from go-oo.
-    # Modified on every upgrade, though
-    "--disable-odk"
-    "--disable-postgresql-sdbc"
-    "--disable-firebird-sdbc"
-    "--without-fonts"
-    "--without-myspell-dicts"
-    "--without-doxygen"
-
-    # TODO: package these as system libraries
-    "--with-system-beanshell"
-    "--without-system-hsqldb"
-    "--without-system-altlinuxhyph"
-    "--without-system-lpsolve"
-    "--without-system-libetonyek"
-    "--without-system-libfreehand"
-    "--without-system-liblangtag"
-    "--without-system-libmspub"
-    "--without-system-libpagemaker"
-    "--without-system-libstaroffice"
-    "--without-system-libepubgen"
-    "--without-system-libqxp"
-    "--without-system-mdds"
-    # https://github.com/NixOS/nixpkgs/commit/5c5362427a3fa9aefccfca9e531492a8735d4e6f
-    "--without-system-orcus"
-    "--without-system-xmlsec"
-  ];
-
-  checkPhase = ''
-    make unitcheck
-    make slowcheck
-  '';
-
-  nativeBuildInputs = [ wrapGAppsHook gdb fontforge autoconf automake bison pkgconfig libtool ];
-
-  buildInputs = with xorg;
-    [ ant ArchiveZip boost cairo clucene_core
-      IOCompress cppunit cups curl db dbus-glib expat file flex fontconfig
-      freetype GConf getopt gnome_vfs gperf gtk3 gtk2
-      hunspell icu jdk lcms libcdr libexttextcat unixODBC libjpeg
-      libmspack librdf_redland librsvg libsndfile libvisio libwpd libwpg libX11
-      libXaw libXext libXi libXinerama libxml2 libxslt libXtst
-      libXdmcp libpthreadstubs libGLU_combined mythes gst_all_1.gstreamer
-      gst_all_1.gst-plugins-base glib mysql.connector-c
-      neon nspr nss openldap openssl ORBit2 pam perl poppler
-      python3 sablotron sane-backends unzip vigra which zip zlib
-      mdds bluez5 libcmis libwps libabw libzmf
-      libxshmfence libatomic_ops graphite2 harfbuzz gpgme utillinux
-      librevenge libe-book libmwaw glm glew ncurses epoxy
-      libodfgen CoinMP librdf_rasqal gnome3.adwaita-icon-theme gettext
-    ]
-    ++ lib.optional kdeIntegration kdelibs4;
-
-  passthru = {
-    inherit srcs jdk;
-  };
-
-  requiredSystemFeatures = [ "big-parallel" ];
-
-  meta = with lib; {
-    description = "Comprehensive, professional-quality productivity suite (Still/Stable release)";
-    homepage = https://libreoffice.org/;
-    license = licenses.lgpl3;
-    maintainers = with maintainers; [ raskin ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/nixpkgs/pkgs/applications/office/mendeley/default.nix b/nixpkgs/pkgs/applications/office/mendeley/default.nix
index a7b0afe0754c..9fdeecfee368 100644
--- a/nixpkgs/pkgs/applications/office/mendeley/default.nix
+++ b/nixpkgs/pkgs/applications/office/mendeley/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, dpkg, which
+{ fetchurl, stdenv, mkDerivation, dpkg, which
 , makeWrapper
 , alsaLib
 , desktop-file-utils
@@ -90,7 +90,7 @@ let
 
 in
 
-stdenv.mkDerivation {
+mkDerivation {
   pname = "mendeley";
   inherit version;
 
@@ -106,6 +106,8 @@ stdenv.mkDerivation {
 
   dontUnpack = true;
 
+  dontWrapQtApps = true;
+
   installPhase = ''
     dpkg-deb -x $src $out
     mv $out/opt/mendeleydesktop/{bin,lib,share} $out
@@ -115,7 +117,7 @@ stdenv.mkDerivation {
              --set-rpath ${stdenv.lib.makeLibraryPath deps}:$out/lib \
              $out/bin/mendeleydesktop
 
-    wrapProgram $out/bin/mendeleydesktop \
+    wrapQtApp $out/bin/mendeleydesktop \
       --add-flags "--unix-distro-build" \
       ${stdenv.lib.optionalString autorunLinkHandler # ignore errors installing the link handler
       ''--run "$out/bin/install-mendeley-link-handler.sh $out/bin/mendeleydesktop ||:"''}
diff --git a/nixpkgs/pkgs/applications/office/minetime/default.nix b/nixpkgs/pkgs/applications/office/minetime/default.nix
index 85e8bc131ce3..42802409e59d 100644
--- a/nixpkgs/pkgs/applications/office/minetime/default.nix
+++ b/nixpkgs/pkgs/applications/office/minetime/default.nix
@@ -1,15 +1,32 @@
-{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3 }:
+{ appimageTools, fetchurl, lib, runCommandNoCC, stdenv, gsettings-desktop-schemas, gtk3, zlib }:
 
 let
-  pname = "minetime";
-  version = "1.5.1";
-in
-appimageTools.wrapType2 rec {
   name = "${pname}-${version}";
-  src = fetchurl {
-    url = "https://github.com/marcoancona/MineTime/releases/download/v${version}/${name}-x86_64.AppImage";
-    sha256 = "0099cq4p7j01bzs7q79y9xi7g6ji17v9g7cykfjggwsgqfmvd0hz";
+  pname = "minetime";
+  version = "1.7.3";
+  appimage = fetchurl {
+    url = "https://github.com/marcoancona/MineTime/releases/download/v${version}/${name}.AppImage";
+    sha256 = "0zz6p3mwxg9gm1sqzs582pq2nkb10lv0c3r542b9llqyzk9qv5aa";
+  };
+  extracted = appimageTools.extractType2 {
+    inherit name;
+    src = appimage;
   };
+  patched = runCommandNoCC "minetime-patchelf" {} ''
+    cp -av ${extracted} $out
+
+    x=$out/resources/app.asar.unpacked/services/scheduling/dist/MinetimeSchedulingService
+    chmod +w $x
+
+    patchelf \
+      --set-interpreter ${stdenv.cc.bintools.dynamicLinker} \
+      --replace-needed libz.so.1 ${zlib}/lib/libz.so.1 \
+      $x
+  '';
+in
+appimageTools.wrapAppImage rec {
+  inherit name;
+  src = patched;
 
   profile = ''
     export LC_ALL=C.UTF-8
@@ -17,7 +34,9 @@ appimageTools.wrapType2 rec {
   '';
 
   multiPkgs = null; # no 32bit needed
-  extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
+  extraPkgs = ps:
+    appimageTools.defaultFhsEnvArgs.multiPkgs ps
+    ++ (with ps; [ at-spi2-core at-spi2-atk libsecret libnotify ]);
   extraInstallCommands = "mv $out/bin/{${name},${pname}}";
 
   meta = with lib; {
diff --git a/nixpkgs/pkgs/applications/office/mmex/default.nix b/nixpkgs/pkgs/applications/office/mmex/default.nix
index 99824cd19ec0..ed33d121a05f 100644
--- a/nixpkgs/pkgs/applications/office/mmex/default.nix
+++ b/nixpkgs/pkgs/applications/office/mmex/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, sqlite, wxGTK30, gettext }:
+{ stdenv, fetchgit, sqlite, wxGTK30, gettext, wrapGAppsHook }:
 
 
 let
@@ -14,7 +14,16 @@ in
       sha256 = "0r4n93z3scv0i0zqflsxwv7j4yl8jy3gr0m4l30y1q8qv0zj9n74";
     };
 
-    buildInputs = [ sqlite wxGTK30 gettext ];
+    nativeBuildInputs = [
+      wrapGAppsHook
+    ];
+
+    buildInputs = [
+      gettext
+      sqlite
+      wxGTK30
+      wxGTK30.gtk
+    ];
 
     meta = {
       description = "Easy-to-use personal finance software";
diff --git a/nixpkgs/pkgs/applications/office/notes-up/default.nix b/nixpkgs/pkgs/applications/office/notes-up/default.nix
index f8729583ddce..1d2e581f3c96 100644
--- a/nixpkgs/pkgs/applications/office/notes-up/default.nix
+++ b/nixpkgs/pkgs/applications/office/notes-up/default.nix
@@ -1,4 +1,19 @@
-{ stdenv, fetchFromGitHub, pantheon, pkgconfig, cmake, ninja, gtk3, gtksourceview3, webkitgtk, gtkspell3, glib, libgee, sqlite, discount, wrapGAppsHook
+{ stdenv
+, fetchFromGitHub
+, pantheon
+, pkgconfig
+, vala
+, cmake
+, ninja
+, gtk3
+, gtksourceview3
+, webkitgtk
+, gtkspell3
+, glib
+, libgee
+, sqlite
+, discount
+, wrapGAppsHook
 , withPantheon ? false }:
 
 stdenv.mkDerivation rec {
@@ -15,7 +30,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     cmake
     ninja
-    pantheon.vala
+    vala
     pkgconfig
     wrapGAppsHook
   ];
@@ -33,7 +48,13 @@ stdenv.mkDerivation rec {
   ];
 
   # Whether to build with contractor support (Pantheon specific)
-  cmakeFlags = if withPantheon then null else [ "-Dnoele=yes" ];
+  cmakeFlags = stdenv.lib.optional (!withPantheon) "-Dnoele=yes";
+
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
 
   meta = with stdenv.lib; {
     description = "Markdown notes editor and manager designed for elementary OS"
diff --git a/nixpkgs/pkgs/applications/office/paperwork/default.nix b/nixpkgs/pkgs/applications/office/paperwork/default.nix
index 79e4b8debc91..3506ea8b5515 100644
--- a/nixpkgs/pkgs/applications/office/paperwork/default.nix
+++ b/nixpkgs/pkgs/applications/office/paperwork/default.nix
@@ -1,6 +1,6 @@
 { lib, python3Packages, gtk3, cairo
 , aspellDicts, buildEnv
-, gnome3, hicolor-icon-theme, librsvg
+, gnome3, librsvg
 , xvfb_run, dbus, libnotify
 }:
 
@@ -48,7 +48,7 @@ python3Packages.buildPythonApplication rec {
 
   checkInputs = [ xvfb_run dbus.daemon ] ++ (with python3Packages; [ paperwork-backend ]);
   buildInputs = [
-    gnome3.adwaita-icon-theme hicolor-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
@@ -61,7 +61,7 @@ python3Packages.buildPythonApplication rec {
   '';
 
   propagatedBuildInputs = with python3Packages; [
-    paperwork-backend pypillowfight gtk3 cairo pyxdg dateutil setuptools
+    paperwork-backend pypillowfight gtk3 cairo pyxdg dateutil setuptools pandas
   ];
 
   makeWrapperArgs = [
diff --git a/nixpkgs/pkgs/applications/office/planner/default.nix b/nixpkgs/pkgs/applications/office/planner/default.nix
index 687b83948cd1..6189132d0f94 100644
--- a/nixpkgs/pkgs/applications/office/planner/default.nix
+++ b/nixpkgs/pkgs/applications/office/planner/default.nix
@@ -45,6 +45,9 @@ in stdenv.mkDerivation {
     python2.pkgs.pygtk
   ];
 
+  # glib-2.62 deprecations
+  NIX_CFLAGS_COMPILE = "-DGLIB_DISABLE_DEPRECATION_WARNINGS";
+
   preConfigure = ''./autogen.sh'';
   configureFlags = [
     "--enable-python"
diff --git a/nixpkgs/pkgs/applications/office/pympress/default.nix b/nixpkgs/pkgs/applications/office/pympress/default.nix
new file mode 100644
index 000000000000..b4307eb286e5
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/pympress/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, python3Packages
+, wrapGAppsHook
+, xvfb_run
+, gtk3
+, gobject-introspection
+, libcanberra-gtk3
+, dbus
+, poppler_gi
+, python3
+ }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "pympress";
+  version = "1.5.1";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "173d9scf2z29qg279jf33zcl7sgc3wp662fgpm943bn9667q18wf";
+  };
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+  ];
+
+  buildInputs = [
+    gtk3
+    gobject-introspection
+    libcanberra-gtk3
+    poppler_gi
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
+    pycairo
+    pygobject3
+    python-vlc
+    watchdog
+  ];
+
+  doCheck = false; # there are no tests
+
+  meta = with lib; {
+    description = "Simple yet powerful PDF reader designed for dual-screen presentations";
+    license = licenses.gpl2Plus;
+    homepage = "https://cimbali.github.io/pympress/";
+    maintainers = [ maintainers.tbenst ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/office/qownnotes/default.nix b/nixpkgs/pkgs/applications/office/qownnotes/default.nix
index ab32ebc67a7f..30569512129b 100644
--- a/nixpkgs/pkgs/applications/office/qownnotes/default.nix
+++ b/nixpkgs/pkgs/applications/office/qownnotes/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "qownnotes";
-  version = "19.8.6";
+  version = "19.12.15";
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
     # Can grab official version like so:
     # $ curl https://download.tuxfamily.org/qownnotes/src/qownnotes-19.1.8.tar.xz.sha256
-    sha256 = "a242dd15dc484baad39e737fe1af8529411f49a0d74994e6c78cf6bad4b733b6";
+    sha256 = "11i3cn1j365nwinaksfpi1hn7j6bqgjzhawkl6c294lzahngba9w";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/nixpkgs/pkgs/applications/office/scribus/unstable.nix b/nixpkgs/pkgs/applications/office/scribus/unstable.nix
index 3c5ae4c4b0aa..2a602b094ba2 100644
--- a/nixpkgs/pkgs/applications/office/scribus/unstable.nix
+++ b/nixpkgs/pkgs/applications/office/scribus/unstable.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, mkDerivation, pkgconfig, cmake, qtbase, cairo, pixman,
+{ stdenv, fetchurl, fetchpatch, mkDerivation, pkgconfig, cmake, qtbase, cairo, pixman,
 boost, cups, fontconfig, freetype, hunspell, libjpeg, libtiff, libxml2, lcms2,
 podofo, poppler, poppler_data, python2, qtimageformats, qttools, harfbuzzFull }:
 
@@ -14,6 +14,19 @@ mkDerivation rec {
     sha256 = "eQiyGmzoQyafWM7fX495GJMlfmIBzOX73ccNrKL+P3E=";
   };
 
+  patches = [
+    # fix build with Poppler 0.82
+    (fetchpatch {
+      url = "https://github.com/scribusproject/scribus/commit/6db15ec1af791377b28981601f8c296006de3c6f.patch";
+      sha256 = "1y6g3avmsmiyaj8xry1syaz8sfznsavh6l2rp13pj2bwsxfcf939";
+    })
+    # fix build with Poppler 0.83
+    (fetchpatch {
+      url = "https://github.com/scribusproject/scribus/commit/b51c2bab4d57d685f96d427d6816bdd4ecfb4674.patch";
+      sha256 = "031yy9ylzksczfnpcc4glfccz025sn47zg6fqqzjnqqrc16bgdlx";
+    })
+  ];
+
   enableParallelBuilding = true;
 
   nativeBuildInputs = [ pkgconfig cmake  ];
diff --git a/nixpkgs/pkgs/applications/office/skrooge/default.nix b/nixpkgs/pkgs/applications/office/skrooge/default.nix
index 42fddb972c9f..1db5ce16fe53 100644
--- a/nixpkgs/pkgs/applications/office/skrooge/default.nix
+++ b/nixpkgs/pkgs/applications/office/skrooge/default.nix
@@ -1,4 +1,4 @@
-{ mkDerivation, lib, fetchurl,
+{ mkDerivation, lib, fetchpatch, fetchurl,
   cmake, extra-cmake-modules, qtwebengine, qtscript, grantlee,
   kxmlgui, kwallet, kparts, kdoctools, kjobwidgets, kdesignerplugin,
   kiconthemes, knewstuff, sqlcipher, qca-qt5, kactivities, karchive,
@@ -7,11 +7,11 @@
 
 mkDerivation rec {
   pname = "skrooge";
-  version = "2.20.0";
+  version = "2.21.1";
 
   src = fetchurl {
     url = "http://download.kde.org/stable/skrooge/${pname}-${version}.tar.xz";
-    sha256 = "0rakfngp7j2x7h1isg6lbc5kva6k1kg99dz0zl43dc28s15can1w";
+    sha256 = "0lv953i7cybzbxr5gx6g4libdcjj086jf152mwrwvx1avrpjavb8";
   };
 
   nativeBuildInputs = [
diff --git a/nixpkgs/pkgs/applications/office/softmaker/freeoffice.nix b/nixpkgs/pkgs/applications/office/softmaker/freeoffice.nix
index f3e37943bb66..ff54f8ff90f0 100644
--- a/nixpkgs/pkgs/applications/office/softmaker/freeoffice.nix
+++ b/nixpkgs/pkgs/applications/office/softmaker/freeoffice.nix
@@ -2,13 +2,13 @@
 
 callPackage ./generic.nix (args // rec {
   pname = "freeoffice";
-  version = "970";
+  version = "973";
   edition = "2018";
   suiteName = "FreeOffice";
 
   src = fetchurl {
     url = "https://www.softmaker.net/down/softmaker-freeoffice-${version}-amd64.tgz";
-    sha256 = "1maibr4x8mksb32ixvyy2rjn4x9f51191p5fcdj5qwz32pf8h2dr";
+    sha256 = "0xac4ynf1lfh8qmni5bhp4ybaamdfngva4bqaq21n1m4pgrx1ba5";
   };
 
   archive = "freeoffice${edition}.tar.lzma";
diff --git a/nixpkgs/pkgs/applications/office/softmaker/generic.nix b/nixpkgs/pkgs/applications/office/softmaker/generic.nix
index 9505271db14c..82ac2b58f68a 100644
--- a/nixpkgs/pkgs/applications/office/softmaker/generic.nix
+++ b/nixpkgs/pkgs/applications/office/softmaker/generic.nix
@@ -3,6 +3,10 @@
   # Dynamic Libraries
 , curl, libGL, libX11, libXext, libXmu, libXrandr, libXrender
 
+  # For fixing up execution of /bin/ls, which is necessary for
+  # product unlocking.
+, coreutils, libredirect
+
 , pname, version, edition, suiteName, src, archive
 
 , ...
@@ -45,7 +49,22 @@ in stdenv.mkDerivation rec {
     runHook postUnpack
   '';
 
-  installPhase = ''
+  installPhase = let
+    # SoftMaker/FreeOffice collects some system information upon
+    # unlocking the product. But in doing so, it attempts to execute
+    # /bin/ls. If the execve syscall fails, the whole unlock
+    # procedure fails. This works around that by rewriting /bin/ls
+    # to the proper path.
+    #
+    # SoftMaker Office restarts itself upon some operations, such
+    # changing the theme and unlocking. Unfortunately, we do not
+    # have control over its environment then and it will fail
+    # with an error.
+    lsIntercept = ''
+      --set LD_PRELOAD "${libredirect}/lib/libredirect.so" \
+      --set NIX_REDIRECTS "/bin/ls=${coreutils}/bin/ls"
+    '';
+  in ''
     runHook preInstall
 
     mkdir -p $out/share
@@ -54,9 +73,12 @@ in stdenv.mkDerivation rec {
     # Wrap rather than symlinking, so that the programs can determine
     # their resource path.
     mkdir -p $out/bin
-    makeWrapper $out/share/${pname}${edition}/planmaker $out/bin/${pname}-planmaker
-    makeWrapper $out/share/${pname}${edition}/presentations $out/bin/${pname}-presentations
-    makeWrapper $out/share/${pname}${edition}/textmaker $out/bin/${pname}-textmaker
+    makeWrapper $out/share/${pname}${edition}/planmaker $out/bin/${pname}-planmaker \
+      ${lsIntercept}
+    makeWrapper $out/share/${pname}${edition}/presentations $out/bin/${pname}-presentations \
+      ${lsIntercept}
+    makeWrapper $out/share/${pname}${edition}/textmaker $out/bin/${pname}-textmaker \
+      ${lsIntercept}
 
     for size in 16 32 48 64 96 128 256 512 1024; do
       mkdir -p $out/share/icons/hicolor/''${size}x''${size}/apps
@@ -74,6 +96,10 @@ in stdenv.mkDerivation rec {
       done
     done
 
+    # freeoffice 973 misses the 96x96 application icons, giving broken symbolic links
+    # remove broken symbolic links
+    find $out -xtype l -ls -exec rm {} \;
+
     # Add desktop items
     ${desktopItems.planmaker.buildCommand}
     ${desktopItems.presentations.buildCommand}
diff --git a/nixpkgs/pkgs/applications/office/softmaker/softmaker_office.nix b/nixpkgs/pkgs/applications/office/softmaker/softmaker_office.nix
index 26fe420d6a3b..73a7d9bd35bc 100644
--- a/nixpkgs/pkgs/applications/office/softmaker/softmaker_office.nix
+++ b/nixpkgs/pkgs/applications/office/softmaker/softmaker_office.nix
@@ -2,13 +2,13 @@
 
 callPackage ./generic.nix (args // rec {
   pname = "softmaker-office";
-  version = "970";
+  version = "972";
   edition = "2018";
   suiteName = "SoftMaker Office";
 
   src = fetchurl {
     url = "https://www.softmaker.net/down/softmaker-office-${edition}-${version}-amd64.tgz";
-    sha256 = "14f94p1jms41s2iz5sa770rcyfp4mv01r6jjjis9amx37zrc8yid";
+    sha256 = "06kgkmqg5269a4vm14i89mw8m1x9yy9ajw0dhfcvjizadyzmlqn1";
   };
 
   archive = "office${edition}.tar.lzma";
diff --git a/nixpkgs/pkgs/applications/office/spice-up/default.nix b/nixpkgs/pkgs/applications/office/spice-up/default.nix
index 2c3dfa82c8c2..07a3b26a1a85 100644
--- a/nixpkgs/pkgs/applications/office/spice-up/default.nix
+++ b/nixpkgs/pkgs/applications/office/spice-up/default.nix
@@ -1,8 +1,10 @@
 { stdenv
 , fetchFromGitHub
+, fetchpatch
 , cmake
 , gdk-pixbuf
 , gtk3
+, vala
 , gettext
 , ninja
 , pantheon
@@ -12,7 +14,8 @@
 , libevdev
 , libgee
 , libsoup
-, wrapGAppsHook }:
+, wrapGAppsHook
+}:
 
 stdenv.mkDerivation rec {
   pname = "spice-up";
@@ -32,9 +35,10 @@ stdenv.mkDerivation rec {
     gettext
     ninja
     pkgconfig
-    pantheon.vala
+    vala
     wrapGAppsHook
   ];
+
   buildInputs = [
     pantheon.elementary-icon-theme
     pantheon.granite
@@ -47,6 +51,21 @@ stdenv.mkDerivation rec {
     libsoup
   ];
 
+  patches = [
+    # Fix build with Vala 0.46
+    # https://github.com/Philip-Scott/Spice-up/pull/288
+    (fetchpatch {
+      url = "https://patch-diff.githubusercontent.com/raw/Philip-Scott/Spice-up/pull/288.patch";
+      sha256 = "0kyfd8v2sk4cvcq1j8ysp64snfjhnpr3iz7l04lx7if7h372xj39";
+    })
+  ];
+
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Create simple and beautiful presentations";
     homepage = https://github.com/Philip-Scott/Spice-up;
diff --git a/nixpkgs/pkgs/applications/office/timetable/default.nix b/nixpkgs/pkgs/applications/office/timetable/default.nix
index fa2d59392180..c652f7656877 100644
--- a/nixpkgs/pkgs/applications/office/timetable/default.nix
+++ b/nixpkgs/pkgs/applications/office/timetable/default.nix
@@ -2,7 +2,7 @@
 , fetchFromGitHub
 , glib
 , gtk3
-, hicolor-icon-theme
+, vala
 , json-glib
 , libgee
 , meson
@@ -16,20 +16,20 @@
 
 stdenv.mkDerivation rec {
   pname = "timetable";
-  version = "1.0.8";
+  version = "1.0.9";
 
   src = fetchFromGitHub {
     owner = "lainsce";
     repo = pname;
     rev = version;
-    sha256 = "0s825al10s0hwfzl90bplwwasx89wx28n41sg2md71l9hfqy296q";
+    sha256 = "1n02y7vpi4lb888iic06xifc86n2xirk50s1ssf84vlc5md1kq9f";
   };
 
   nativeBuildInputs = [
     meson
     ninja
     pkgconfig
-    pantheon.vala
+    vala
     python3
     wrapGAppsHook
   ];
@@ -37,7 +37,6 @@ stdenv.mkDerivation rec {
   buildInputs = [
     glib
     gtk3
-    hicolor-icon-theme
     json-glib
     libgee
     pantheon.granite
@@ -48,6 +47,12 @@ stdenv.mkDerivation rec {
     patchShebangs meson/post_install.py
   '';
 
+  passthru = {
+    updateScript = pantheon.updateScript {
+      attrPath = pname;
+    };
+  };
+
   meta = with stdenv.lib; {
     description = "Plot out your own timetable for the week and organize it";
     homepage = "https://github.com/lainsce/timetable";
diff --git a/nixpkgs/pkgs/applications/office/todoman/default.nix b/nixpkgs/pkgs/applications/office/todoman/default.nix
index 7c5c8f724401..bfa162a54a28 100644
--- a/nixpkgs/pkgs/applications/office/todoman/default.nix
+++ b/nixpkgs/pkgs/applications/office/todoman/default.nix
@@ -5,11 +5,11 @@ let
 in
 buildPythonApplication rec {
   pname = "todoman";
-  version = "3.6.0";
+  version = "3.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c0jh9bi2xfjc7w4kka68mygl00zkp2qxhffnipmfvvykfjmlhk0";
+    sha256 = "16brw2zhm5vamffin6qjb0lxjlj3ba40vaficl851nw2xh2mrdhy";
   };
 
     LOCALE_ARCHIVE = stdenv.lib.optionalString stdenv.isLinux
diff --git a/nixpkgs/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch b/nixpkgs/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch
new file mode 100644
index 000000000000..1a4350ca71a1
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/trilium/0001-Use-console-logger-instead-of-rolling-files.patch
@@ -0,0 +1,69 @@
+From 5be803a1171855f976a5b607970fa3949db72181 Mon Sep 17 00:00:00 2001
+From: Christian Kampka <christian@kampka.net>
+Date: Mon, 9 Dec 2019 19:40:27 +0100
+Subject: [PATCH] Use console logger instead of rolling files
+
+---
+ src/services/log.js | 26 +++-----------------------
+ 1 file changed, 3 insertions(+), 23 deletions(-)
+
+diff --git a/src/services/log.js b/src/services/log.js
+index 1514c209..456c3749 100644
+--- a/src/services/log.js
++++ b/src/services/log.js
+@@ -1,35 +1,15 @@
+ "use strict";
+ 
+-const fs = require('fs');
+-const dataDir = require('./data_dir');
+-
+-if (!fs.existsSync(dataDir.LOG_DIR)) {
+-    fs.mkdirSync(dataDir.LOG_DIR, 0o700);
+-}
+-
+-const logger = require('simple-node-logger').createRollingFileLogger({
+-    errorEventName: 'error',
+-    logDirectory: dataDir.LOG_DIR,
+-    fileNamePattern: 'trilium-<DATE>.log',
+-    dateFormat:'YYYY-MM-DD'
+-});
+-
+ function info(message) {
+     // info messages are logged asynchronously
+     setTimeout(() => {
+         console.log(message);
+-
+-        logger.info(message);
+     }, 0);
+ }
+ 
+ function error(message) {
+     message = "ERROR: " + message;
+ 
+-    // we're using .info() instead of .error() because simple-node-logger emits weird error for showError()
+-    // errors are logged synchronously to make sure it doesn't get lost in case of crash
+-    logger.info(message);
+-
+     console.trace(message);
+ }
+ 
+@@ -45,12 +25,12 @@ function request(req) {
+     if (req.url.includes(".js.map") || req.url.includes(".css.map")) {
+         return;
+     }
+-
+-    logger.info(req.method + " " + req.url);
++    if(process.env.DEBUG)
++        console.log(req.method + " " + req.url);
+ }
+ 
+ module.exports = {
+     info,
+     error,
+     request
+-};
+\ No newline at end of file
++};
+-- 
+2.23.0
+
diff --git a/nixpkgs/pkgs/applications/office/trilium/default.nix b/nixpkgs/pkgs/applications/office/trilium/default.nix
index 877dfba88c06..28548091f6ea 100644
--- a/nixpkgs/pkgs/applications/office/trilium/default.nix
+++ b/nixpkgs/pkgs/applications/office/trilium/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, autoPatchelfHook, atomEnv, makeWrapper, makeDesktopItem, gtk3, wrapGAppsHook }:
+{ stdenv, nixosTests, fetchurl, autoPatchelfHook, atomEnv, makeWrapper, makeDesktopItem, gtk3, wrapGAppsHook, zlib, libxkbfile }:
 
 let
   description = "Trilium Notes is a hierarchical note taking application with focus on building large personal knowledge bases.";
@@ -11,56 +11,105 @@ let
     categories = "Office";
   };
 
-in stdenv.mkDerivation rec {
-  pname = "trilium";
-  version = "0.33.6";
-
-  src = fetchurl {
-    url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
-    sha256 = "1sg6iqhpgyr8zr6w6dgs0ha0indb9vyp8vh2clj2fds5ahhlvf91";
+  meta = with stdenv.lib; {
+    inherit description;
+    homepage = https://github.com/zadam/trilium;
+    license = licenses.agpl3;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ emmanuelrosa dtzWill kampka ];
   };
 
-  # Fetch from source repo, no longer included in release.
-  # (they did special-case icon.png but we want the scalable svg)
-  # Use the version here to ensure we get any changes.
-  trilium_svg = fetchurl {
-    url = "https://raw.githubusercontent.com/zadam/trilium/v${version}/src/public/images/trilium.svg";
-    sha256 = "1rgj7pza20yndfp8n12k93jyprym02hqah36fkk2b3if3kcmwnfg";
+  version = "0.38.2";
+
+in {
+  
+  trilium-desktop = stdenv.mkDerivation rec {
+    pname = "trilium-desktop";
+    inherit version;
+    inherit meta;
+
+    src = fetchurl {
+      url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
+      sha256 = "10f5zfqcfcjynw04d5xzrfmkbqpk85i4mq7njhkibx2f1m0br2qa";
+    };
+  
+    # Fetch from source repo, no longer included in release.
+    # (they did special-case icon.png but we want the scalable svg)
+    # Use the version here to ensure we get any changes.
+    trilium_svg = fetchurl {
+      url = "https://raw.githubusercontent.com/zadam/trilium/v${version}/src/public/images/trilium.svg";
+      sha256 = "1rgj7pza20yndfp8n12k93jyprym02hqah36fkk2b3if3kcmwnfg";
+    };
+  
+  
+    nativeBuildInputs = [
+      autoPatchelfHook
+      makeWrapper
+      wrapGAppsHook
+    ];
+  
+    buildInputs = atomEnv.packages ++ [ gtk3 ];
+  
+    installPhase = ''
+      mkdir -p $out/bin
+      mkdir -p $out/share/trilium
+      mkdir -p $out/share/{applications,icons/hicolor/scalable/apps}
+  
+      cp -r ./* $out/share/trilium
+      ln -s $out/share/trilium/trilium $out/bin/trilium
+  
+      ln -s ${trilium_svg} $out/share/icons/hicolor/scalable/apps/trilium.svg
+      cp ${desktopItem}/share/applications/* $out/share/applications
+    '';
+  
+    # LD_LIBRARY_PATH "shouldn't" be needed, remove when possible :)
+    preFixup = ''
+      gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${atomEnv.libPath})
+    '';
+  
+    dontStrip = true;
   };
 
 
-  nativeBuildInputs = [
-    autoPatchelfHook
-    makeWrapper
-    wrapGAppsHook
-  ];
+  trilium-server = stdenv.mkDerivation rec {
+    pname = "trilium-server";
+    inherit version;
+    inherit meta;
 
-  buildInputs = [ atomEnv.packages gtk3 ];
+    src = fetchurl {
+      url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
+      sha256 = "1df0cx9gpzk0086lgha0qm1g03l8f4rz7y2xzgpzng5rrxjkgz61";
+    };
 
-  installPhase = ''
-    mkdir -p $out/bin
-    mkdir -p $out/share/trilium
-    mkdir -p $out/share/{applications,icons/hicolor/scalable/apps}
+    nativeBuildInputs = [
+      autoPatchelfHook
+    ];
 
-    cp -r ./* $out/share/trilium
-    ln -s $out/share/trilium/trilium $out/bin/trilium
+    buildInputs = [
+      stdenv.cc.cc.lib
+      zlib
+      libxkbfile
+    ];
 
-    ln -s ${trilium_svg} $out/share/icons/hicolor/scalable/apps/trilium.svg
-    cp ${desktopItem}/share/applications/* $out/share/applications
-  '';
+    patches = [ ./0001-Use-console-logger-instead-of-rolling-files.patch ] ;
+    installPhase = ''
+      mkdir -p $out/bin
+      mkdir -p $out/share/trilium-server
 
-  # LD_LIBRARY_PATH "shouldn't" be needed, remove when possible :)
-  preFixup = ''
-    gappsWrapperArgs+=(--prefix LD_LIBRARY_PATH : ${atomEnv.libPath})
-  '';
+      cp -r ./* $out/share/trilium-server
+    '';
 
-  dontStrip = true;
+    postFixup = ''
+      cat > $out/bin/trilium-server <<EOF
+      #!${stdenv.cc.shell}
+      cd $out/share/trilium-server
+      exec ./node/bin/node src/www
+      EOF
+      chmod a+x $out/bin/trilium-server
+    '';
 
-  meta = with stdenv.lib; {
-    inherit description;
-    homepage = https://github.com/zadam/trilium;
-    license = licenses.agpl3;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ emmanuelrosa dtzWill ];
+    passthru.tests = {
+      trilium-server = nixosTests.trilium-server;
+    };
   };
 }
diff --git a/nixpkgs/pkgs/applications/office/tryton/default.nix b/nixpkgs/pkgs/applications/office/tryton/default.nix
index 4422aaa2b448..4867fec514b1 100644
--- a/nixpkgs/pkgs/applications/office/tryton/default.nix
+++ b/nixpkgs/pkgs/applications/office/tryton/default.nix
@@ -1,5 +1,5 @@
 { stdenv
-, python2Packages
+, python3Packages
 , pkgconfig
 , librsvg
 , gobject-introspection
@@ -7,40 +7,59 @@
 , gtk3
 , gtkspell3
 , gnome3
+, glib
 , goocanvas2
+, gdk-pixbuf
+, pango
+, fontconfig
+, freetype
+, wrapGAppsHook
 }:
 
 with stdenv.lib;
 
-python2Packages.buildPythonApplication rec {
+python3Packages.buildPythonApplication rec {
   pname = "tryton";
-  version = "4.8.5";
-  src = python2Packages.fetchPypi {
+  version = "5.4.1";
+
+  disabled = !python3Packages.isPy3k;
+
+  src = python3Packages.fetchPypi {
     inherit pname version;
-    sha256 = "43759d22b061a7a392a534d19a045fafd442ce98a0e390ee830127367dcaf4b4";
+    sha256 = "0lk47qv944yc2b1ifhinp07af839r408w83rj8zzy8b43cwkpsxd";
   };
-  nativeBuildInputs = [ pkgconfig gobject-introspection ];
-  propagatedBuildInputs = with python2Packages; [
-    chardet
+
+  nativeBuildInputs = [
+    pkgconfig
+    gobject-introspection
+    wrapGAppsHook
+  ];
+
+  propagatedBuildInputs = with python3Packages; [
     dateutil
-    pygtk
-    librsvg
     pygobject3
     goocalendar
-    cdecimal
+    pycairo
   ];
+
   buildInputs = [
     atk
-    gtk3
+    gdk-pixbuf
+    glib
     gnome3.adwaita-icon-theme
-    gtkspell3
     goocanvas2
+    fontconfig
+    freetype
+    gtk3
+    gtkspell3
+    librsvg
+    pango
   ];
-  makeWrapperArgs = [
-    ''--set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE"''
-    ''--set GI_TYPELIB_PATH "$GI_TYPELIB_PATH"''
-    ''--suffix XDG_DATA_DIRS : "$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"''
-  ];
+
+  strictDeps = false;
+
+  doCheck = false;
+
   meta = {
     description = "The client of the Tryton application platform";
     longDescription = ''
diff --git a/nixpkgs/pkgs/applications/office/tusk/default.nix b/nixpkgs/pkgs/applications/office/tusk/default.nix
new file mode 100644
index 000000000000..d54f27f9bbf3
--- /dev/null
+++ b/nixpkgs/pkgs/applications/office/tusk/default.nix
@@ -0,0 +1,54 @@
+{ appimageTools, fetchurl, lib, gsettings-desktop-schemas, gtk3
+, makeDesktopItem
+}:
+
+let
+  pname = "tusk";
+  version = "0.23.0";
+
+  icon = fetchurl {
+    url = "https://raw.githubusercontent.com/klaussinani/tusk/v${version}/static/Icon.png";
+    sha256 = "1jqclyrjgg6hir45spg75plfmd8k9nrsrzw3plbcg43s5m1qzihb";
+  };
+
+  desktopItem = makeDesktopItem {
+    name = pname;
+    exec = pname;
+    icon = icon;
+    desktopName = pname;
+    genericName = "Evernote desktop app";
+    categories = "Application";
+  };
+
+in appimageTools.wrapType2 rec {
+  name = "${pname}-v${version}";
+  src = fetchurl {
+    url = "https://github.com/klaussinani/tusk/releases/download/v${version}/${pname}-${version}-x86_64.AppImage";
+    sha256 = "02q7wsnhlyq8z74avflrm7805ny8fzlmsmz4bmafp4b4pghjh5ky";
+  };
+
+
+  profile = ''
+    export LC_ALL=C.UTF-8
+    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
+  '';
+
+  multiPkgs = null; # no 32bit needed
+  extraPkgs = appimageTools.defaultFhsEnvArgs.multiPkgs;
+  extraInstallCommands = ''
+    mv $out/bin/{${name},${pname}}
+    mkdir "$out/share"
+    ln -s "${desktopItem}/share/applications" "$out/share/"
+  '';
+
+  meta = with lib; {
+    description = "Refined Evernote desktop app";
+    longDescription = ''
+      Tusk is an unofficial, featureful, open source, community-driven, free Evernote app used by people in more than 140 countries. Tusk is indicated by Evernote as an alternative client for Linux environments trusted by the open source community.
+    '';
+    homepage = "https://klaussinani.github.io/tusk/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ tbenst ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/nixpkgs/pkgs/applications/office/vnote/default.nix b/nixpkgs/pkgs/applications/office/vnote/default.nix
index fbb8436f44c0..80b6ef6243ca 100644
--- a/nixpkgs/pkgs/applications/office/vnote/default.nix
+++ b/nixpkgs/pkgs/applications/office/vnote/default.nix
@@ -1,9 +1,9 @@
-{ lib, mkDerivation, fetchFromGitHub, qmake, qtbase, qtwebengine, hicolor-icon-theme }:
+{ lib, mkDerivation, fetchFromGitHub, qmake, qtbase, qtwebengine }:
 
 let
   description = "A note-taking application that knows programmers and Markdown better";
 in mkDerivation rec {
-  version = "2.7.2";
+  version = "2.8.2";
   pname = "vnote";
 
   src = fetchFromGitHub {
@@ -11,11 +11,11 @@ in mkDerivation rec {
     repo = "vnote";
     fetchSubmodules = true;
     rev = "v${version}";
-    sha256 = "0mk1ingcyznpwq4bfkxa8nx9yx5y3kgsmr4qffriq7bh1cx9dwjy";
+    sha256 = "18qffq5c2plr5rjb5lafhdz1v5kbbb2wiyacgdhh3xni3khni52l";
   };
 
   nativeBuildInputs = [ qmake ];
-  buildInputs = [ qtbase qtwebengine hicolor-icon-theme ];
+  buildInputs = [ qtbase qtwebengine ];
 
   meta = with lib; {
     inherit description;
diff --git a/nixpkgs/pkgs/applications/office/watson/default.nix b/nixpkgs/pkgs/applications/office/watson/default.nix
index 16df0b294c16..7d79d79072a9 100644
--- a/nixpkgs/pkgs/applications/office/watson/default.nix
+++ b/nixpkgs/pkgs/applications/office/watson/default.nix
@@ -4,12 +4,12 @@ with pythonPackages;
 
 buildPythonApplication rec {
   pname = "watson";
-  version = "1.7.0";
+  version = "1.8.0";
 
   src = fetchPypi {
     inherit version;
     pname = "td-watson";
-    sha256 = "249313996751f32f38817d424cbf8d74956461df1439f0ee3a962fcc3c77225d";
+    sha256 = "1ip66jhbcqifdw1avbhngwym0vv7fsqxgbph11da5wlqwfwp060n";
   };
 
   checkPhase = ''
diff --git a/nixpkgs/pkgs/applications/office/wpsoffice/default.nix b/nixpkgs/pkgs/applications/office/wpsoffice/default.nix
index 1f21ec60ae2b..abc2d1862cbf 100644
--- a/nixpkgs/pkgs/applications/office/wpsoffice/default.nix
+++ b/nixpkgs/pkgs/applications/office/wpsoffice/default.nix
@@ -1,23 +1,22 @@
 { stdenv, fetchurl
 , libX11, glib, xorg, fontconfig, freetype
-, zlib, libpng12, libICE, libXrender, cups }:
+, zlib, libpng12, libICE, libXrender, cups
+, alsaLib, atk, cairo, dbus, expat
+, gdk-pixbuf, gtk2-x11, lzma, pango, zotero
+, sqlite, libuuid, qt5, dpkg }:
 
-let
-  bits = if stdenv.hostPlatform.system == "x86_64-linux" then "x86_64"
-         else "x86";
-
-  version = "10.1.0.5672";
-in stdenv.mkDerivation rec{
+stdenv.mkDerivation rec{
   pname = "wpsoffice";
-  inherit version;
+  version = "11.1.0.8865";
 
   src = fetchurl {
-    name = "${pname}-${version}.tar.xz";
-    url = "http://kdl.cc.ksosoft.com/wps-community/download/a21/wps-office_${version}~a21_${bits}.tar.xz";
-    sha256 = if bits == "x86_64" then
-      "0mi3n9kplf82gd0g2m0np957agy53p4g1qh81pbban49r4n0ajcz" else
-      "1dk400ap5qwdhjvn8lnk602f5akayr391fkljxdkrpn5xac01m97";
+    url = "http://wdl1.pcfg.cache.wpscdn.com/wpsdl/wpsoffice/download/linux/8865/wps-office_11.1.0.8865_amd64.deb";
+    sha256 = "1hfpj1ayhzlrnnp72yjzrpd60xsbj9y46m345lqysiaj1hnwdbd8";
   };
+  unpackCmd = "dpkg -x $src .";
+  sourceRoot = ".";
+
+  nativeBuildInputs = [ qt5.wrapQtAppsHook dpkg ];
 
   meta = {
     description = "Office program originally named Kingsoft Office";
@@ -25,20 +24,44 @@ in stdenv.mkDerivation rec{
     platforms = [ "i686-linux" "x86_64-linux" ];
     hydraPlatforms = [];
     license = stdenv.lib.licenses.unfreeRedistributable;
+    maintainers = [ stdenv.lib.maintainers.mlatus ];
   };
 
-  libPath = stdenv.lib.makeLibraryPath [
+  libPath = with xorg; stdenv.lib.makeLibraryPath [
     libX11
     libpng12
     glib
-    xorg.libSM
-    xorg.libXext
+    libSM
+    libXext
     fontconfig
     zlib
     freetype
     libICE
     cups
     libXrender
+    libxcb
+
+    alsaLib
+    atk
+    cairo
+    dbus.daemon.lib
+    expat
+    fontconfig.lib
+    gdk-pixbuf
+    gtk2-x11
+    lzma
+    pango
+    zotero
+    sqlite
+    libuuid
+    libXcomposite
+    libXcursor
+    libXdamage
+    libXfixes
+    libXi
+    libXrandr
+    libXScrnSaver
+    libXtst
   ];
 
   dontPatchELF = true;
@@ -49,32 +72,27 @@ in stdenv.mkDerivation rec{
 
   installPhase = ''
     prefix=$out/opt/kingsoft/wps-office
-    mkdir -p $prefix
-    cp -r . $prefix
+    mkdir -p $out
+    cp -r opt $out
+    cp -r usr/* $out
 
     # Avoid forbidden reference error due use of patchelf
-    rm -r $PWD
+    rm -r *
 
-    mkdir $out/bin
-    for i in wps wpp et; do
+    for i in wps wpp et wpspdf; do
       patchelf \
         --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-        --force-rpath --set-rpath "$prefix/office6:$libPath" \
+        --force-rpath --set-rpath "$(patchelf --print-rpath $prefix/office6/$i):${stdenv.cc.cc.lib}/lib64:${libPath}" \
         $prefix/office6/$i
 
-      substitute $prefix/$i $out/bin/$i \
+      substituteInPlace $out/bin/$i \
         --replace /opt/kingsoft/wps-office $prefix
-      chmod +x $out/bin/$i
-
-      substituteInPlace $prefix/resource/applications/wps-office-$i.desktop \
-        --replace /usr/bin $out/bin
     done
 
-    # China fonts
-    mkdir -p $prefix/resource/fonts/wps-office $out/etc/fonts/conf.d
-    ln -s $prefix/fonts/* $prefix/resource/fonts/wps-office
-    ln -s $prefix/fontconfig/*.conf $out/etc/fonts/conf.d
-
-    ln -s $prefix/resource $out/share
+    for i in $out/share/applications/*;do
+      substituteInPlace $i \
+        --replace /usr/bin $out/bin \
+        --replace /opt/kingsoft/wps-office $prefix
+    done
   '';
 }
diff --git a/nixpkgs/pkgs/applications/office/zim/default.nix b/nixpkgs/pkgs/applications/office/zim/default.nix
index a41064666d58..baf7741ed222 100644
--- a/nixpkgs/pkgs/applications/office/zim/default.nix
+++ b/nixpkgs/pkgs/applications/office/zim/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, python3Packages, gtk3, gobject-introspection, wrapGAppsHook }:
+{ stdenv, fetchurl, python3Packages, gtk3, gobject-introspection, wrapGAppsHook, gnome3 }:
 
 #
 # TODO: Declare configuration options for the following optional dependencies:
@@ -9,14 +9,14 @@
 
 python3Packages.buildPythonApplication rec {
   name = "zim-${version}";
-  version = "0.71.1";
+  version = "0.72.0";
 
   src = fetchurl {
     url = "http://zim-wiki.org/downloads/${name}.tar.gz";
-    sha256 = "0d7whwpbklkhamlvysa0yyix1hchkpdynimf3gp1xbibg8mqzbxc";
+    sha256 = "1n3gmg7g86s8iwcx0i7rvvfdfs1fzmc9awr9qzjd2rckw4bkxad1";
   };
 
-  buildInputs = [ gtk3 gobject-introspection wrapGAppsHook ];
+  buildInputs = [ gtk3 gobject-introspection wrapGAppsHook gnome3.adwaita-icon-theme ];
   propagatedBuildInputs = with python3Packages; [ pyxdg pygobject3 ];
 
 
diff --git a/nixpkgs/pkgs/applications/office/zotero/default.nix b/nixpkgs/pkgs/applications/office/zotero/default.nix
index 334a380d9147..42c5488bd5ef 100644
--- a/nixpkgs/pkgs/applications/office/zotero/default.nix
+++ b/nixpkgs/pkgs/applications/office/zotero/default.nix
@@ -5,6 +5,7 @@
 , cups
 , dbus-glib
 , dbus
+, dconf
 , fontconfig
 , freetype
 , gdk-pixbuf
@@ -25,7 +26,7 @@
 , libXt
 , libnotify
 , gnome3
-, libGLU_combined
+, libGLU, libGL
 , nspr
 , nss
 , pango
@@ -34,14 +35,14 @@
 
 stdenv.mkDerivation rec {
   pname = "zotero";
-  version = "5.0.73";
+  version = "5.0.80";
 
   src = fetchurl {
     url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
-    sha256 = "0m2i3l0gy22h6c7rk39cd17vyksyz5l5py2fn9pza8lcbypkwf3l";
+    sha256 = "0a5xjliml6rwxvi450l42iw6m9mk3aahnp90sr22jyijz9qii2al";
   };
 
-  buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme gnome3.dconf ];
+  buildInputs= [ wrapGAppsHook gsettings-desktop-schemas gtk3 gnome3.adwaita-icon-theme dconf ];
 
   phases = [ "unpackPhase" "patchPhase" "installPhase" "fixupPhase" ];
 
@@ -75,7 +76,7 @@ stdenv.mkDerivation rec {
       libXrender
       libXt
       libnotify
-      libGLU_combined
+      libGLU libGL
       nspr
       nss
       pango