diff options
author | Mx Kookie <kookie@spacekookie.de> | 2020-12-09 18:55:19 +0000 |
---|---|---|
committer | Mx Kookie <kookie@spacekookie.de> | 2020-12-09 18:55:19 +0000 |
commit | 80d90d9b204f7c17912740f9f414fe5d59f293ba (patch) | |
tree | 5f2065a06e724270610760d59d01c6888b375a46 /infra/libkookie/nixpkgs/pkgs/applications/office/paperwork/paperwork-gtk.nix | |
parent | 3a31a84c7d3e589035ad08499206aac44a81f424 (diff) | |
parent | 83cbad92d73216bb0d9187c56cce0b91f9121d5a (diff) |
Merge commit '83cbad92d73216bb0d9187c56cce0b91f9121d5a' into main
Diffstat (limited to 'infra/libkookie/nixpkgs/pkgs/applications/office/paperwork/paperwork-gtk.nix')
-rw-r--r-- | infra/libkookie/nixpkgs/pkgs/applications/office/paperwork/paperwork-gtk.nix | 105 |
1 files changed, 105 insertions, 0 deletions
diff --git a/infra/libkookie/nixpkgs/pkgs/applications/office/paperwork/paperwork-gtk.nix b/infra/libkookie/nixpkgs/pkgs/applications/office/paperwork/paperwork-gtk.nix new file mode 100644 index 000000000000..c493421dd11b --- /dev/null +++ b/infra/libkookie/nixpkgs/pkgs/applications/office/paperwork/paperwork-gtk.nix @@ -0,0 +1,105 @@ +{ lib +, python3Packages +, gtk3 +, cairo +, aspellDicts +, buildEnv +, gnome3 +, librsvg +, xvfb_run +, dbus +, libnotify +, wrapGAppsHook +, fetchFromGitLab +, which +, gettext +, gobject-introspection +}: + +python3Packages.buildPythonApplication rec { + 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 = '' + chmod a+w -R .. + patchShebangs ../tools + + export HOME=$(mktemp -d) + + 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; + }}/lib/aspell"; + + postInstall = '' + # paperwork-shell needs to be re-wrapped with access to paperwork + 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-gtk install --user + ''; + + 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 \ + $out/bin/paperwork-gtk chkdeps + ''; + + propagatedBuildInputs = with python3Packages; [ + paperwork-backend + paperwork-shell + openpaperwork-gtk + openpaperwork-core + pypillowfight + pyxdg + dateutil + setuptools + ]; + + meta = { + description = "A personal document manager for scanned documents"; + homepage = "https://openpaper.work/"; + license = lib.licenses.gpl3Plus; + maintainers = with lib.maintainers; [ aszlig symphorien ]; + platforms = lib.platforms.linux; + }; +} |