gnome3.gnome-settings-daemon: fix build

This commit is contained in:
Jan Tojnar 2018-03-14 05:53:49 +01:00
parent a9dbcdb626
commit d345dd963e
No known key found for this signature in database
GPG key ID: 7FAB2A15F7A607A4
2 changed files with 51 additions and 17 deletions

View file

@ -1,7 +1,7 @@
{ fetchurl, stdenv, pkgconfig, gnome3, intltool, glib, libnotify, lcms2, libXtst
, libxkbfile, libpulseaudio, libcanberra-gtk3, upower, colord, libgweather, polkit
, geoclue2, librsvg, xf86_input_wacom, udev, libgudev, libwacom, libxslt, libtool, networkmanager
, docbook_xsl, docbook_xsl_ns, wrapGAppsHook, ibus, xkeyboard_config, tzdata }:
{ fetchurl, substituteAll, stdenv, meson, ninja, pkgconfig, gnome3, perl, gettext, glib, libnotify, lcms2, libXtst
, libxkbfile, libpulseaudio, alsaLib, libcanberra-gtk3, upower, colord, libgweather, polkit
, geoclue2, librsvg, xf86_input_wacom, udev, libgudev, libwacom, libxslt, libxml2, networkmanager
, docbook_xsl, wrapGAppsHook, ibus, xkeyboard_config, tzdata, nss }:
stdenv.mkDerivation rec {
name = "gnome-settings-daemon-${version}";
@ -12,27 +12,46 @@ stdenv.mkDerivation rec {
sha256 = "1p3ccf4a4qbz73hqyx9i55hkp6l7c7la5kazqawcndl7bksywgny";
};
passthru = {
updateScript = gnome3.updateScript { packageName = "gnome-settings-daemon"; attrPath = "gnome3.gnome-settings-daemon"; };
};
patches = [
(substituteAll {
src = ./fix-paths.patch;
inherit tzdata;
})
];
# fatal error: gio/gunixfdlist.h: No such file or directory
NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
buildInputs = with gnome3;
[ intltool pkgconfig ibus gtk glib gsettings-desktop-schemas networkmanager
libnotify gnome-desktop lcms2 libXtst libxkbfile libpulseaudio
libcanberra-gtk3 upower colord libgweather xkeyboard_config
polkit geocode-glib geoclue2 librsvg xf86_input_wacom udev libgudev libwacom libxslt
libtool docbook_xsl docbook_xsl_ns wrapGAppsHook gnome-themes-standard ];
nativeBuildInputs = [ meson ninja pkgconfig perl gettext libxml2 libxslt docbook_xsl wrapGAppsHook ];
buildInputs = with gnome3; [
ibus gtk glib gsettings-desktop-schemas networkmanager
libnotify gnome-desktop lcms2 libXtst libxkbfile libpulseaudio alsaLib
libcanberra-gtk3 upower colord libgweather xkeyboard_config nss
polkit geocode-glib geoclue2 librsvg xf86_input_wacom udev libgudev libwacom
];
mesonFlags = [
"-Dudev_dir=${placeholder "out"}/lib/udev"
];
postPatch = ''
substituteInPlace plugins/datetime/tz.h --replace /usr/share/zoneinfo/zone.tab ${tzdata}/share/zoneinfo/zone.tab
for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl meson_post_install.py; do
chmod +x $f
patchShebangs $f
done
'';
meta = with stdenv.lib; {
platforms = platforms.linux;
maintainers = gnome3.maintainers;
passthru = {
updateScript = gnome3.updateScript {
packageName = "gnome-settings-daemon";
attrPath = "gnome3.gnome-settings-daemon";
};
};
meta = with stdenv.lib; {
license = licenses.gpl2Plus;
maintainers = gnome3.maintainers;
platforms = platforms.linux;
};
}

View file

@ -0,0 +1,15 @@
--- a/plugins/datetime/tz.h
+++ b/plugins/datetime/tz.h
@@ -27,11 +27,7 @@
#include <glib.h>
-#ifndef __sun
-# define TZ_DATA_FILE "/usr/share/zoneinfo/zone.tab"
-#else
-# define TZ_DATA_FILE "/usr/share/lib/zoneinfo/tab/zone_sun.tab"
-#endif
+#define TZ_DATA_FILE "@tzdata@/share/zoneinfo/zone.tab"
typedef struct _TzDB TzDB;
typedef struct _TzLocation TzLocation;