a093bf8b88
Just like Nautilus (see #29970), GNOME Control Center also uses
gnome-desktop for generating thumbnails. In particular, it tries
to make a thumbnail from a file choosen as a profile picture, and
when it does not succeed, it will not allow that file to be chosen.
Of course, whithout a thumbnailer, it will always fail.
43129a1cfd/panels/user-accounts/um-photo-dialog.c (L190-L192)
Since gnome-desktop scans `thumbnailers` directories under the paths
in `XDG_DATA_DIRS`, gdk-pixbuf had to be added to the path to provide
access to image thumbnailer.
60 lines
2.5 KiB
Nix
60 lines
2.5 KiB
Nix
{ fetchurl, stdenv, pkgconfig, gnome3, ibus, intltool, upower, wrapGAppsHook
|
|
, libcanberra_gtk2, libcanberra_gtk3, accountsservice, libpwquality, libpulseaudio
|
|
, gdk_pixbuf, librsvg, libxkbfile, libnotify, libgudev
|
|
, libxml2, polkit, libxslt, libgtop, libsoup, colord, colord-gtk
|
|
, cracklib, python, libkrb5, networkmanagerapplet, networkmanager
|
|
, libwacom, samba, shared_mime_info, tzdata, icu, libtool, udev
|
|
, docbook_xsl, docbook_xsl_ns, modemmanager, clutter, clutter_gtk
|
|
, fontconfig, sound-theme-freedesktop, grilo }:
|
|
|
|
# http://ftp.gnome.org/pub/GNOME/teams/releng/3.10.2/gnome-suites-core-3.10.2.modules
|
|
# TODO: bluetooth, wacom, printers
|
|
|
|
stdenv.mkDerivation rec {
|
|
inherit (import ./src.nix fetchurl) name src;
|
|
|
|
propagatedUserEnvPkgs =
|
|
[ gnome3.gnome_themes_standard gnome3.libgnomekbd ];
|
|
|
|
# https://bugzilla.gnome.org/show_bug.cgi?id=752596
|
|
enableParallelBuilding = false;
|
|
|
|
buildInputs = with gnome3;
|
|
[ pkgconfig intltool ibus gtk glib glib_networking upower libcanberra_gtk2 gsettings_desktop_schemas
|
|
libxml2 gnome_desktop gnome_settings_daemon polkit libxslt libgtop gnome-menus
|
|
gnome_online_accounts libsoup colord libpulseaudio fontconfig colord-gtk libpwquality
|
|
accountsservice libkrb5 networkmanagerapplet libwacom samba libnotify libxkbfile
|
|
shared_mime_info icu libtool docbook_xsl docbook_xsl_ns gnome3.grilo
|
|
gdk_pixbuf gnome3.defaultIconTheme librsvg clutter clutter_gtk
|
|
gnome3.vino udev libcanberra_gtk3 libgudev wrapGAppsHook
|
|
networkmanager modemmanager gnome3.gnome-bluetooth grilo tracker
|
|
cracklib ];
|
|
|
|
preBuild = ''
|
|
substituteInPlace panels/datetime/tz.h --replace "/usr/share/zoneinfo/zone.tab" "${tzdata}/share/zoneinfo/zone.tab"
|
|
|
|
# hack to make test-endianess happy
|
|
mkdir -p $out/share/locale
|
|
substituteInPlace panels/datetime/test-endianess.c --replace "/usr/share/locale/" "$out/share/locale/"
|
|
'';
|
|
|
|
preFixup = with gnome3; ''
|
|
gappsWrapperArgs+=(
|
|
--prefix XDG_DATA_DIRS : "${gnome3.gnome_themes_standard}/share:${sound-theme-freedesktop}/share"
|
|
# Thumbnailers (for setting user profile pictures)
|
|
--prefix XDG_DATA_DIRS : "${gdk_pixbuf}/share"
|
|
--prefix XDG_DATA_DIRS : "${librsvg}/share"
|
|
)
|
|
for i in $out/share/applications/*; do
|
|
substituteInPlace $i --replace "gnome-control-center" "$out/bin/gnome-control-center"
|
|
done
|
|
'';
|
|
|
|
meta = with stdenv.lib; {
|
|
description = "Utilities to configure the GNOME desktop";
|
|
license = licenses.gpl2Plus;
|
|
maintainers = gnome3.maintainers;
|
|
platforms = platforms.linux;
|
|
};
|
|
|
|
}
|