nixpkgs/pkgs/applications/office/gnumeric/default.nix
Bruce Toll 85961441ee gnumeric: fix wrapping
Incorporate wrapGAppsHook so that all gnumeric binaries are wrapped,
following the convention used by many gnome applications.

This addresses two issues:

1.  The packaged ssconvert, ssdiff, ssgrep, and ssindex executables
    in bin are not currently wrapped so some expected environment
    variables including XDG_DATA_DIRS and GIO_EXTRA_MODULES are not
    set. The result is many warnings on stderr when running these
    commands, e.g.

    ==================================================================
    CRITICAL **:...go_conf_add_monitor: assertion 'node || key' failed
    CRITICAL **:...go_conf_get_node: assertion 'parent || key' failed
    WARNING **:...unknown GOConfMonitor id.
    ==================================================================

2.  None of the binaries, including gnumeric, currently wrap the
    environment variable GDK_PIXBUF_MODULE_FILE. This can cause
    segfaults if an incompatible GDK_PIXBUF_MODULE_FILE is already set
    in the environment (e.g. by plasma5). This could be encountered
    running a nixos pre-19.03 gnumeric binary from a nixos 18.09 KDE
    session.
2019-01-26 15:01:54 -05:00

43 lines
1.1 KiB
Nix

{ stdenv, fetchurl, pkgconfig, intltool, perlPackages
, goffice, gnome3, wrapGAppsHook, gtk3, bison, pythonPackages
, itstool
}:
let
inherit (pythonPackages) python pygobject3;
in stdenv.mkDerivation rec {
pname = "gnumeric";
version = "1.12.44";
src = fetchurl {
url = "mirror://gnome/sources/${pname}/${stdenv.lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
sha256 = "0147962c6ybdsj57rz95nla0rls7g545wc2n7pz59zmzyd5pksk0";
};
configureFlags = [ "--disable-component" ];
nativeBuildInputs = [ pkgconfig intltool bison itstool wrapGAppsHook ];
# ToDo: optional libgda, introspection?
buildInputs = [
goffice gtk3 gnome3.defaultIconTheme
python pygobject3
] ++ (with perlPackages; [ perl XMLParser ]);
enableParallelBuilding = true;
passthru = {
updateScript = gnome3.updateScript {
packageName = pname;
};
};
meta = with stdenv.lib; {
description = "The GNOME Office Spreadsheet";
license = stdenv.lib.licenses.gpl2Plus;
homepage = http://projects.gnome.org/gnumeric/;
platforms = platforms.unix;
maintainers = [ maintainers.vcunat ];
};
}