summary refs log tree commit diff
path: root/pkgs/applications/office
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs/applications/office')
-rw-r--r--pkgs/applications/office/jabref/default.nix52
-rw-r--r--pkgs/applications/office/libreoffice/default.nix11
-rw-r--r--pkgs/applications/office/paperwork/backend.nix48
-rw-r--r--pkgs/applications/office/paperwork/openpaperwork-core.nix42
-rw-r--r--pkgs/applications/office/paperwork/openpaperwork-gtk.nix52
-rw-r--r--pkgs/applications/office/paperwork/paperwork-backend.nix77
-rw-r--r--pkgs/applications/office/paperwork/paperwork-gtk.nix (renamed from pkgs/applications/office/paperwork/default.nix)59
-rw-r--r--pkgs/applications/office/paperwork/paperwork-shell.nix59
-rw-r--r--pkgs/applications/office/paperwork/src.nix12
-rw-r--r--pkgs/applications/office/portfolio/default.nix4
-rw-r--r--pkgs/applications/office/scribus/unstable.nix45
-rw-r--r--pkgs/applications/office/skrooge/default.nix1
-rw-r--r--pkgs/applications/office/timekeeper/default.nix44
-rw-r--r--pkgs/applications/office/todo.txt-cli/default.nix4
-rw-r--r--pkgs/applications/office/vnote/default.nix4
15 files changed, 377 insertions, 137 deletions
diff --git a/pkgs/applications/office/jabref/default.nix b/pkgs/applications/office/jabref/default.nix
index 7ab53b19ce0..03da2170b3d 100644
--- a/pkgs/applications/office/jabref/default.nix
+++ b/pkgs/applications/office/jabref/default.nix
@@ -1,14 +1,17 @@
-{ stdenv, fetchurl, makeWrapper, makeDesktopItem, jdk, jre, wrapGAppsHook, gtk3, gsettings-desktop-schemas }:
+{ stdenv, fetchurl, makeWrapper, makeDesktopItem, wrapGAppsHook, gtk3, gsettings-desktop-schemas
+, zlib , libX11, libXext, libXi, libXrender, libXtst, libGL, alsaLib, libav, cairo, freetype, pango, gdk-pixbuf, glib }:
 
 stdenv.mkDerivation rec {
-  version = "3.8.1";
+  version = "5.1";
   pname = "jabref";
 
   src = fetchurl {
-    url = "https://github.com/JabRef/jabref/releases/download/v${version}/JabRef-${version}.jar";
-    sha256 = "11asfym74zdq46i217z5n6vc79gylcx8xn7nvwacfqmym0bz79cg";
+    url = "https://github.com/JabRef/jabref/releases/download/v${version}/JabRef-${version}-portable_linux.tar.gz";
+    sha256 = "04f612byrq3agzy26byg1sgrjyhcpa8xfj0ssh8dl8d8vnhx9742";
   };
 
+  preferLocalBuild = true;
+
   desktopItem = makeDesktopItem {
     comment =  meta.description;
     name = "jabref";
@@ -19,21 +22,44 @@ stdenv.mkDerivation rec {
     exec = "jabref";
   };
 
-  buildInputs = [ makeWrapper jdk wrapGAppsHook gtk3 gsettings-desktop-schemas ];
+  nativeBuildInputs = [ makeWrapper wrapGAppsHook ];
+  buildInputs = [ gsettings-desktop-schemas ] ++ systemLibs;
 
-  dontUnpack = true;
+  systemLibs = [ gtk3 zlib libX11 libXext libXi libXrender libXtst libGL alsaLib libav cairo freetype pango gdk-pixbuf glib ];
+  systemLibPaths = stdenv.lib.makeLibraryPath systemLibs;
 
   installPhase = ''
-    mkdir -p $out/bin $out/share/java $out/share/icons
+    mkdir -p $out/share/java $out/share/icons
 
-    cp -r ${desktopItem}/share/applications $out/share/
+    cp -r lib $out/lib
+
+    for f in $out/lib/runtime/bin/j*; do
+      patchelf \
+        --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+        --set-rpath "${ stdenv.lib.makeLibraryPath [ zlib ]}:$out/lib/runtime/lib:$out/lib/runtime/lib/server" $f
+    done
+
+    for f in $out/lib/runtime/lib/*.so; do
+      patchelf \
+        --set-rpath "${systemLibPaths}:$out/lib/runtime/lib:$out/lib/runtime/lib/server" $f
+    done
 
-    jar xf $src images/icons/JabRef-icon-mac.svg
-    cp images/icons/JabRef-icon-mac.svg $out/share/icons/jabref.svg
+    # patching the libs in the JImage runtime image is quite impossible as there is no documented way
+    # of rebuilding the image after it has been extracted
+    # the image format itself is "intendedly not documented" - maybe one of the reasons the
+    # devolpers constantly broke "jimage recreate" and dropped it in OpenJDK 9 Build 116 Early Access
+    # so, for now just copy the image and provide our lib paths through the wrapper
+
+    makeWrapper $out/lib/runtime/bin/java $out/bin/jabref \
+      --add-flags '-Djava.library.path=${systemLibPaths}' --add-flags "-p $out/lib/app -m org.jabref/org.jabref.JabRefLauncher" \
+      --run 'export LD_LIBRARY_PATH=${systemLibPaths}:$LD_LIBRARY_PATH'
+
+    cp -r ${desktopItem}/share/applications $out/share/
 
-    ln -s $src $out/share/java/jabref-${version}.jar
-    makeWrapper ${jre}/bin/java $out/bin/jabref \
-      --add-flags "-jar $out/share/java/jabref-${version}.jar"
+    # we still need to unpack the runtime image to get the icon
+    mkdir unpacked
+    $out/lib/runtime/bin/jimage extract --dir=./unpacked lib/runtime/lib/modules
+    cp unpacked/org.jabref/icons/jabref.svg $out/share/icons/jabref.svg
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 2f961f43da0..1023af9234c 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -17,6 +17,7 @@
 , withHelp ? true
 , kdeIntegration ? false, mkDerivation ? null, qtbase ? null, qtx11extras ? null
 , ki18n ? null, kconfig ? null, kcoreaddons ? null, kio ? null, kwindowsystem ? null
+, wrapQtAppsHook ? null
 , variant ? "fresh"
 } @ args:
 
@@ -303,8 +304,15 @@ in (mkDrv rec {
 
     mkdir -p $dev
     cp -r include $dev
+  '' + lib.optionalString kdeIntegration ''
+      for prog in $out/bin/*
+      do
+        wrapQtApp $prog
+      done
   '';
 
+  dontWrapQtApps = true;
+
   configureFlags = [
     (if withHelp then "" else "--without-help")
     "--with-boost=${boost.dev}"
@@ -382,7 +390,8 @@ in (mkDrv rec {
 
   nativeBuildInputs = [
     gdb fontforge autoconf automake bison pkgconfig libtool
-  ] ++ lib.optional (!kdeIntegration) wrapGAppsHook;
+  ] ++ lib.optional (!kdeIntegration) wrapGAppsHook
+    ++ lib.optional kdeIntegration wrapQtAppsHook;
 
   buildInputs = with xorg;
     [ ant ArchiveZip boost cairo clucene_core
diff --git a/pkgs/applications/office/paperwork/backend.nix b/pkgs/applications/office/paperwork/backend.nix
deleted file mode 100644
index af0d4c43059..00000000000
--- a/pkgs/applications/office/paperwork/backend.nix
+++ /dev/null
@@ -1,48 +0,0 @@
-{ buildPythonPackage, lib, fetchFromGitLab
-
-, isPy3k, isPyPy
-
-, pyenchant, simplebayes, pillow, pycountry, whoosh, termcolor
-, python-Levenshtein, pygobject3, pyocr, natsort, libinsane
-, distro
-
-, pkgs
-}:
-
-buildPythonPackage rec {
-  pname = "paperwork-backend";
-  version = "1.3.1";
-
-  src = fetchFromGitLab {
-    domain = "gitlab.gnome.org";
-    repo = "paperwork";
-    group = "World";
-    owner = "OpenPaperwork";
-    rev = version;
-    sha256 = "1219yz8z4r1yn6miq8zc2z1m1lnhf3dmkhwfw23n05bg842nvg65";
-  };
-
-  sourceRoot = "source/paperwork-backend";
-
-  # Python 2.x is not supported.
-  disabled = !isPy3k && !isPyPy;
-
-  patchPhase = ''
-    echo 'version = "${version}"' > paperwork_backend/_version.py
-  '';
-
-  preCheck = "\"$out/bin/paperwork-shell\" chkdeps paperwork_backend";
-
-  propagatedBuildInputs = [
-    pyenchant simplebayes pillow pycountry whoosh termcolor
-    python-Levenshtein libinsane pygobject3 pyocr natsort
-    pkgs.poppler_gi pkgs.gtk3 distro
-  ];
-
-  meta = {
-    description = "Backend part of Paperwork (Python API, no UI)";
-    homepage = "https://openpaper.work/";
-    license = lib.licenses.gpl3Plus;
-    maintainers = with lib.maintainers; [ aszlig symphorien ];
-  };
-}
diff --git a/pkgs/applications/office/paperwork/openpaperwork-core.nix b/pkgs/applications/office/paperwork/openpaperwork-core.nix
new file mode 100644
index 00000000000..cae55ae95f1
--- /dev/null
+++ b/pkgs/applications/office/paperwork/openpaperwork-core.nix
@@ -0,0 +1,42 @@
+{ buildPythonPackage, lib, fetchFromGitLab
+
+, isPy3k, isPyPy
+
+, distro, setuptools
+
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "openpaperwork-core";
+  inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
+
+  sourceRoot = "source/openpaperwork-core";
+
+  # Python 2.x is not supported.
+  disabled = !isPy3k && !isPyPy;
+
+  patchPhase = ''
+    echo 'version = "${version}"' > src/openpaperwork_core/_version.py
+    chmod a+w -R ..
+    patchShebangs ../tools
+  '';
+
+  propagatedBuildInputs = [
+    distro
+    setuptools
+  ];
+
+  nativeBuildInputs = [ pkgs.gettext pkgs.which ];
+
+  preBuild = ''
+    make l10n_compile
+  '';
+
+  meta = {
+    description = "Backend part of Paperwork (Python API, no UI)";
+    homepage = "https://openpaper.work/";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ aszlig symphorien ];
+  };
+}
diff --git a/pkgs/applications/office/paperwork/openpaperwork-gtk.nix b/pkgs/applications/office/paperwork/openpaperwork-gtk.nix
new file mode 100644
index 00000000000..5dae745ce2e
--- /dev/null
+++ b/pkgs/applications/office/paperwork/openpaperwork-gtk.nix
@@ -0,0 +1,52 @@
+{ buildPythonPackage
+, lib
+, fetchFromGitLab
+
+, isPy3k
+, isPyPy
+
+, openpaperwork-core
+, pillow
+, pygobject3
+, distro
+
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "openpaperwork-gtk";
+  inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
+
+  sourceRoot = "source/openpaperwork-gtk";
+
+  # Python 2.x is not supported.
+  disabled = !isPy3k && !isPyPy;
+
+  patchPhase = ''
+    echo 'version = "${version}"' > src/openpaperwork_gtk/_version.py
+    chmod a+w -R ..
+    patchShebangs ../tools
+  '';
+
+  nativeBuildInputs = [ pkgs.gettext pkgs.which ];
+  preBuild = ''
+    make l10n_compile
+  '';
+
+  propagatedBuildInputs = [
+    pillow
+    pygobject3
+    pkgs.poppler_gi
+    pkgs.gtk3
+    distro
+    pkgs.pango
+    openpaperwork-core
+  ];
+
+  meta = {
+    description = "Reusable GTK components of Paperwork";
+    homepage = "https://openpaper.work/";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ aszlig symphorien ];
+  };
+}
diff --git a/pkgs/applications/office/paperwork/paperwork-backend.nix b/pkgs/applications/office/paperwork/paperwork-backend.nix
new file mode 100644
index 00000000000..a033bd695db
--- /dev/null
+++ b/pkgs/applications/office/paperwork/paperwork-backend.nix
@@ -0,0 +1,77 @@
+{ buildPythonPackage
+, lib
+, fetchFromGitLab
+
+, isPy3k
+, isPyPy
+
+, pyenchant
+, simplebayes
+, pypillowfight
+, pycountry
+, whoosh
+, termcolor
+, python-Levenshtein
+, pygobject3
+, pyocr
+, natsort
+, libinsane
+, distro
+, openpaperwork-core
+, openpaperwork-gtk
+, psutil
+
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "paperwork-backend";
+  inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
+
+  sourceRoot = "source/paperwork-backend";
+
+  # Python 2.x is not supported.
+  disabled = !isPy3k && !isPyPy;
+
+  patchPhase = ''
+    echo 'version = "${version}"' > src/paperwork_backend/_version.py
+    chmod a+w -R ..
+    patchShebangs ../tools
+  '';
+
+  propagatedBuildInputs = [
+    pyenchant
+    simplebayes
+    pypillowfight
+    pycountry
+    whoosh
+    termcolor
+    python-Levenshtein
+    libinsane
+    pygobject3
+    pyocr
+    natsort
+    pkgs.poppler_gi
+    pkgs.gtk3
+    distro
+    openpaperwork-core
+  ];
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  nativeBuildInputs = [ pkgs.gettext pkgs.which ];
+  preBuild = ''
+    make l10n_compile
+  '';
+
+  checkInputs = [ openpaperwork-gtk psutil ];
+
+  meta = {
+    description = "Backend part of Paperwork (Python API, no UI)";
+    homepage = "https://openpaper.work/";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ aszlig symphorien ];
+  };
+}
diff --git a/pkgs/applications/office/paperwork/default.nix b/pkgs/applications/office/paperwork/paperwork-gtk.nix
index 102c3cd2564..c493421dd11 100644
--- a/pkgs/applications/office/paperwork/default.nix
+++ b/pkgs/applications/office/paperwork/paperwork-gtk.nix
@@ -10,45 +10,36 @@
 , dbus
 , libnotify
 , wrapGAppsHook
+, fetchFromGitLab
+, which
+, gettext
+, gobject-introspection
 }:
 
 python3Packages.buildPythonApplication rec {
-  inherit (python3Packages.paperwork-backend) version src;
+  inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
   pname = "paperwork";
 
   sourceRoot = "source/paperwork-gtk";
 
   # Patch out a few paths that assume that we're using the FHS:
   postPatch = ''
-    themeDir="$(echo "${gnome3.adwaita-icon-theme}/share/icons/"*)"
-    sed -i -e "s,/usr/share/icons/gnome,$themeDir," src/paperwork/deps.py
+    chmod a+w -R ..
+    patchShebangs ../tools
 
-    sed -i -e 's,sys\.prefix,"",g' \
-      src/paperwork/frontend/aboutdialog/__init__.py \
-      src/paperwork/frontend/mainwindow/__init__.py \
-      setup.py
+    export HOME=$(mktemp -d)
 
-    sed -i -e '/^UI_FILES_DIRS = \[/,/^\]$/ {
-      c UI_FILES_DIRS = ["'"$out/share/paperwork"'"]
-    }' src/paperwork/frontend/util/__init__.py
-
-    sed -i -e '/^LOCALE_PATHS = \[/,/^\]$/ {
-      c LOCALE_PATHS = ["'"$out/share"'"]
-    }' src/paperwork/paperwork.py
-
-    sed -i -e 's/"icon"/"icon-name"/g' \
-      src/paperwork/frontend/mainwindow/mainwindow.glade
-
-    sed -i -e 's/"logo"/"logo-icon-name"/g' \
-      src/paperwork/frontend/aboutdialog/aboutdialog.glade
-
-    cat - ../AUTHORS.py > src/paperwork/_version.py <<EOF
+    cat - ../AUTHORS.py > src/paperwork_gtk/_version.py <<EOF
     # -*- coding: utf-8 -*-
     version = "${version}"
     authors_code=""
     EOF
   '';
 
+  preBuild = ''
+    make l10n_compile
+  '';
+
   ASPELL_CONF = "dict-dir ${buildEnv {
     name = "aspell-all-dicts";
     paths = lib.collect lib.isDerivation aspellDicts;
@@ -56,37 +47,49 @@ python3Packages.buildPythonApplication rec {
 
   postInstall = ''
     # paperwork-shell needs to be re-wrapped with access to paperwork
-    cp ${python3Packages.paperwork-backend}/bin/.paperwork-shell-wrapped $out/bin/paperwork-shell
+    cp ${python3Packages.paperwork-shell}/bin/.paperwork-cli-wrapped $out/bin/paperwork-cli
     # install desktop files and icons
-    XDG_DATA_HOME=$out/share $out/bin/paperwork-shell install
+    XDG_DATA_HOME=$out/share $out/bin/paperwork-gtk install --user
   '';
 
-  checkInputs = [ xvfb_run dbus.daemon ] ++ (with python3Packages; [ paperwork-backend ]);
+  checkInputs = [ xvfb_run dbus.daemon ];
 
   nativeBuildInputs = [
     wrapGAppsHook
+    gobject-introspection
+    (lib.getBin gettext)
+    which
   ];
 
   buildInputs = [
     gnome3.adwaita-icon-theme
     libnotify
     librsvg
+    gtk3
+    cairo
   ];
 
+  dontWrapGApps = true;
+
+  preFixup = ''
+    makeWrapperArgs+=("''${gappsWrapperArgs[@]}")
+  '';
+
   # A few parts of chkdeps need to have a display and a dbus session, so we not
   # only need to run a virtual X server + dbus but also have a large enough
   # resolution, because the Cairo test tries to draw a 200x200 window.
   preCheck = ''
     xvfb-run -s '-screen 0 800x600x24' dbus-run-session \
       --config-file=${dbus.daemon}/share/dbus-1/session.conf \
-      paperwork-shell chkdeps paperwork
+      $out/bin/paperwork-gtk chkdeps
   '';
 
   propagatedBuildInputs = with python3Packages; [
     paperwork-backend
+    paperwork-shell
+    openpaperwork-gtk
+    openpaperwork-core
     pypillowfight
-    gtk3
-    cairo
     pyxdg
     dateutil
     setuptools
diff --git a/pkgs/applications/office/paperwork/paperwork-shell.nix b/pkgs/applications/office/paperwork/paperwork-shell.nix
new file mode 100644
index 00000000000..1be6f329e3c
--- /dev/null
+++ b/pkgs/applications/office/paperwork/paperwork-shell.nix
@@ -0,0 +1,59 @@
+{ buildPythonPackage
+, lib
+, fetchFromGitLab
+
+, isPy3k
+, isPyPy
+
+, openpaperwork-core
+, openpaperwork-gtk
+, paperwork-backend
+, fabulous
+, getkey
+
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "paperwork-shell";
+  inherit (import ./src.nix { inherit fetchFromGitLab; }) version src;
+
+  sourceRoot = "source/paperwork-shell";
+
+  # Python 2.x is not supported.
+  disabled = !isPy3k && !isPyPy;
+
+  patchPhase = ''
+    echo 'version = "${version}"' > src/paperwork_shell/_version.py
+    chmod a+w -R ..
+    patchShebangs ../tools
+  '';
+
+  propagatedBuildInputs = [
+    openpaperwork-core
+    paperwork-backend
+    fabulous
+    getkey
+  ];
+
+  checkInputs = [
+    openpaperwork-gtk
+  ];
+
+  nativeBuildInputs = [ pkgs.gettext pkgs.which ];
+  preBuild = ''
+    make l10n_compile
+  '';
+
+  preCheck = ''
+    export HOME=$(mktemp -d)
+    "$out/bin/paperwork-cli" chkdeps
+  '';
+
+  meta = {
+    description = "CLI for Paperwork";
+    homepage = "https://openpaper.work/";
+    license = lib.licenses.gpl3Plus;
+    maintainers = with lib.maintainers; [ aszlig symphorien ];
+  };
+}
diff --git a/pkgs/applications/office/paperwork/src.nix b/pkgs/applications/office/paperwork/src.nix
new file mode 100644
index 00000000000..70770676edd
--- /dev/null
+++ b/pkgs/applications/office/paperwork/src.nix
@@ -0,0 +1,12 @@
+{fetchFromGitLab}:
+rec {
+  version = "2.0.1";
+  src = fetchFromGitLab {
+    domain = "gitlab.gnome.org";
+    repo = "paperwork";
+    group = "World";
+    owner = "OpenPaperwork";
+    rev = version;
+    sha256 = "16pc4drwpjl4937wdavs6wk0j1qs474b072wplhs8ywxfgqip1h4";
+  };
+}
diff --git a/pkgs/applications/office/portfolio/default.nix b/pkgs/applications/office/portfolio/default.nix
index e186b3e3ce5..163e6121576 100644
--- a/pkgs/applications/office/portfolio/default.nix
+++ b/pkgs/applications/office/portfolio/default.nix
@@ -24,11 +24,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "PortfolioPerformance";
-  version = "0.49.0";
+  version = "0.49.2";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "1b3dll6ljkj2wyiy3ns9cgxqgjjr60dfrqrbbwdbndqj4pzfvbyf";
+    sha256 = "0c2ixzwbc094wqc2lyrh3w1azswg6xz3wdh8l4lbkiw02s9czhhn";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/scribus/unstable.nix b/pkgs/applications/office/scribus/unstable.nix
index ff69329140b..c2c300b8748 100644
--- a/pkgs/applications/office/scribus/unstable.nix
+++ b/pkgs/applications/office/scribus/unstable.nix
@@ -18,7 +18,7 @@
 , podofo
 , poppler
 , poppler_data
-, python2
+, python3
 , qtbase
 , qtimageformats
 , qttools
@@ -26,7 +26,7 @@
 }:
 
 let
-  pythonEnv = python2.withPackages (
+  pythonEnv = python3.withPackages (
     ps: [
       ps.pillow
       ps.tkinter
@@ -36,50 +36,13 @@ in
 mkDerivation rec {
   pname = "scribus";
 
-  version = "1.5.5";
+  version = "1.5.6.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-devel/${pname}-${version}.tar.xz";
-    sha256 = "0w9zzsiaq3f7vpxybk01c9z2b4qqg67mzpyfb2gjchz8dhdb423r";
+    sha256 = "sha256-1CV2lVOc+kDerYq9rwTFHjTU10vK1aLJNNCObp1Dt6s=";
   };
 
-  patches = [
-    # Poppler patches from
-    # https://github.com/scribusproject/scribus/commits/master/scribus/plugins/import/pdf
-
-    # 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";
-    })
-    # fix build with Poppler 0.84
-    # TODO: Remove patches with scribus version > 1.5.5 as it should be fixed upstream in next version
-    (fetchpatch {
-      url = "https://github.com/scribusproject/scribus/commit/3742559924136c2471ab15081c5b600dd5feaeb0.patch";
-      sha256 = "1d72h7jbajy9w83bnxmhn1ca947hpfxnfbmq30g5ljlj824c7y9y";
-    })
-    # Formating changes needed for the Poppler 0.86 patch to apply
-    (fetchpatch {
-      url = "https://github.com/scribusproject/scribus/commit/58613b5ce44335f202a55ab15ed303d97fe274cb.patch";
-      sha256 = "16n3wch2mkabgkb06iywggdkckr4idrw4in56k5jh2jqjl0ra2db";
-    })
-    (fetchpatch {
-      url = "https://github.com/scribusproject/scribus/commit/24aba508aac3f672f5f8cd629744a3b71e58ec37.patch";
-      sha256 = "0g6l3qc75wiykh59059ajraxjczh11wkm68942d0skl144i893rr";
-      includes = [ "scribus/plugins/import/pdf/*" ];
-    })
-    # fix build with Poppler 0.86
-    (fetchpatch {
-      url = "https://github.com/scribusproject/scribus/commit/67f8771aaff2f55d61b8246f420e762f4b526944.patch";
-      sha256 = "1lszpzlpgdhm79nywvqji25aklfhzb2qfsfiyld7yv51h82zwp77";
-    })
-  ];
-
   enableParallelBuilding = true;
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/skrooge/default.nix b/pkgs/applications/office/skrooge/default.nix
index e84e8496741..067b06747d7 100644
--- a/pkgs/applications/office/skrooge/default.nix
+++ b/pkgs/applications/office/skrooge/default.nix
@@ -30,6 +30,7 @@ mkDerivation rec {
   cmakeFlags = [
     "-DSKG_DESIGNER=OFF"
     "-DSKG_WEBENGINE=ON"
+    "-DBUILD_TESTS=ON"
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/office/timekeeper/default.nix b/pkgs/applications/office/timekeeper/default.nix
new file mode 100644
index 00000000000..60b4bad60bb
--- /dev/null
+++ b/pkgs/applications/office/timekeeper/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, fetchFromGitHub
+, poco
+, pkg-config
+, gnome2
+, gtkmm2
+, lib
+}:
+
+stdenv.mkDerivation rec {
+  pname = "timekeeper";
+  version = "1.0";
+
+  src = fetchFromGitHub {
+    owner = "bburdette";
+    repo = "TimeKeeper";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "03rvzkygnn7igcindbb5bcmfy0l83n0awkzprsnhlb6ndxax3k9w";
+  };
+
+  nativeBuildInputs = [
+    poco
+    pkg-config
+  ];
+
+  buildInputs = [
+    gtkmm2
+    gnome2.libglademm
+    gnome2.libglade
+  ];
+
+  installPhase = ''
+    install -Dm755 TimeKeeper/TimeKeeper $out/bin/timekeeper
+    '';
+
+  meta = with stdenv.lib; {
+    description = "Log hours worked and make reports";
+    homepage = "https://github.com/bburdette/TimeKeeper";
+    maintainers = with maintainers; [ bburdette ];
+    platforms = [ "x86_64-linux" ];
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/applications/office/todo.txt-cli/default.nix b/pkgs/applications/office/todo.txt-cli/default.nix
index 489b759f48c..8db5691ed84 100644
--- a/pkgs/applications/office/todo.txt-cli/default.nix
+++ b/pkgs/applications/office/todo.txt-cli/default.nix
@@ -13,8 +13,8 @@ in stdenv.mkDerivation {
   installPhase = ''
     install -vd $out/bin
     install -vm 755 todo.sh $out/bin
-    install -vd $out/etc/bash_completion.d
-    install -vm 644 todo_completion $out/etc/bash_completion.d/todo
+    install -vd $out/share/bash-completion/completions
+    install -vm 644 todo_completion $out/share/bash-completion/completions/todo
     install -vd $out/etc/todo
     install -vm 644 todo.cfg $out/etc/todo/config
   '';
diff --git a/pkgs/applications/office/vnote/default.nix b/pkgs/applications/office/vnote/default.nix
index 80b6ef6243c..b266ce86e2a 100644
--- a/pkgs/applications/office/vnote/default.nix
+++ b/pkgs/applications/office/vnote/default.nix
@@ -3,7 +3,7 @@
 let
   description = "A note-taking application that knows programmers and Markdown better";
 in mkDerivation rec {
-  version = "2.8.2";
+  version = "2.10";
   pname = "vnote";
 
   src = fetchFromGitHub {
@@ -11,7 +11,7 @@ in mkDerivation rec {
     repo = "vnote";
     fetchSubmodules = true;
     rev = "v${version}";
-    sha256 = "18qffq5c2plr5rjb5lafhdz1v5kbbb2wiyacgdhh3xni3khni52l";
+    sha256 = "EeeVGnKI0irLO1zJQxlVlIUhqG987JIgxNvKpUgLxUQ=";
   };
 
   nativeBuildInputs = [ qmake ];