diff options
Diffstat (limited to 'pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix')
-rw-r--r-- | pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix | 150 |
1 files changed, 72 insertions, 78 deletions
diff --git a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix index 582793ff590..e5aa31ca0fb 100644 --- a/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix +++ b/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix @@ -1,135 +1,105 @@ -{ accountsservice -, alsaLib -, colord -, docbook_xsl -, fetchgit +{ stdenv +, substituteAll , fetchurl -, geoclue2 -, geocode-glib -, gettext -, glib +, fetchgit +, meson +, ninja +, pkgconfig , gnome3 -, gsettings-desktop-schemas +, perl +, gettext , gtk3 +, glib +, libnotify +, libgnomekbd , lcms2 +, libpulseaudio +, alsaLib , libcanberra-gtk3 -, libgnomekbd -, libgudev +, upower +, colord , libgweather -, libnotify -, libpulseaudio +, polkit +, gsettings-desktop-schemas +, geoclue2 +, systemd +, libgudev , libwacom -, libxml2 , libxslt -, meson -, mousetweaks +, libxml2 +, modemmanager , networkmanager -, ninja -, nss -, pantheon -, perl -, pkgconfig -, polkit +, gnome-desktop +, geocode-glib +, docbook_xsl +, accountsservice +, wrapGAppsHook , python3 -, stdenv -, substituteAll -, systemd , tzdata -, upower -, libXtst -, wrapGAppsHook +, nss +, gcr +, pantheon }: stdenv.mkDerivation rec { pname = "elementary-settings-daemon"; - version = "3.30.2"; + version = "3.34.1"; repoName = "gnome-settings-daemon"; - src = fetchurl { - url = "mirror://gnome/sources/${repoName}/${stdenv.lib.versions.majorMinor version}/${repoName}-${version}.tar.xz"; - sha256 = "0c663csa3gnsr6wm0xfll6aani45snkdj7zjwjfzcwfh8w4a3z12"; - }; - - # Source for ubuntu's patchset - src2 = fetchgit { + src = fetchgit { url = "https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/${repoName}"; - rev = "refs/tags/ubuntu/${version}-1ubuntu1"; - sha256 = "02awkhw6jqm7yh812mw0nsdmsljfi8ksz8mvd2qpns5pcv002g2c"; + rev = "refs/tags/ubuntu/${version}-1ubuntu2"; + sha256 = "0w0dsbzif7v0gk61rs9g20ldlimbdwb5yvlfdc568yyx5z643jbv"; }; # We've omitted the 53_sync_input_sources_to_accountsservice patch because it breaks the build. # See: https://gist.github.com/worldofpeace/2f152a20b7c47895bb93239fce1c9f52 # # Also omit ubuntu_calculator_snap.patch as that's obviously not useful here. - patches = let patchPath = "${src2}/debian/patches"; in [ + patches = let patchPath = "${src}/debian/patches"; in [ (substituteAll { src = ./fix-paths.patch; - inherit tzdata mousetweaks; + inherit tzdata; }) ./global-backlight-helper.patch "${patchPath}/45_suppress-printer-may-not-be-connected-notification.patch" + #"${patchPath}/53_sync_input_sources_to_accountsservice.patch" "${patchPath}/64_restore_terminal_keyboard_shortcut_schema.patch" "${patchPath}/correct_logout_action.patch" "${patchPath}/ubuntu-lid-close-suspend.patch" - "${patchPath}/revert-wacom-migration.patch" "${patchPath}/revert-gsettings-removals.patch" "${patchPath}/revert-mediakeys-dbus-interface-drop.patch" - "${patchPath}/ubuntu_ibus_configs.patch" - (fetchurl { - url = "https://github.com/elementary/os-patches/raw/6975d1c254cb6ab913b8e2396877203aea8eaa65/debian/patches/elementary-dpms.patch"; - sha256 = "0kh508ppiv4nvkg30gmw85cljlfq1bvkzhvf1iaxw0snb0mwgsxi"; - }) + #"${patchPath}/ubuntu_ibus_configs.patch" + # https://github.com/elementary/os-patches/blob/6975d1c254cb6ab913b8e2396877203aea8eaa65/debian/patches/elementary-dpms.patch + ./elementary-dpms.patch ]; - postPatch = '' - 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 - ''; - - postFixup = '' - for autostart in $(grep -rl "OnlyShowIn=GNOME;" $out/etc/xdg/autostart) - do - echo "Patching OnlyShowIn to Pantheon in: $autostart" - sed -i "s,OnlyShowIn=GNOME;,OnlyShowIn=Pantheon;," $autostart - done - - # This breaks lightlocker https://github.com/elementary/session-settings/commit/b0e7a2867608c3a3916f9e4e21a68264a20e44f8 - # TODO: shouldn't be neeed for the 5.1 greeter (awaiting release) - rm $out/etc/xdg/autostart/org.gnome.SettingsDaemon.ScreensaverProxy.desktop - - # So the polkit policy can reference /run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper - mkdir -p $out/bin/elementary-settings-daemon - ln -s $out/libexec/gsd-backlight-helper $out/bin/elementary-settings-daemon/gsd-backlight-helper - ''; - nativeBuildInputs = [ - docbook_xsl - gettext - libxml2 - libxslt meson ninja - perl pkgconfig - python3 + perl + gettext + libxml2 + libxslt + docbook_xsl wrapGAppsHook + python3 ]; buildInputs = [ accountsservice alsaLib colord + gcr geoclue2 geocode-glib glib - gnome3.gnome-desktop + gnome-desktop gsettings-desktop-schemas gtk3 lcms2 - libXtst libcanberra-gtk3 libgnomekbd # for org.gnome.libgnomekbd.keyboard schema libgudev @@ -137,6 +107,7 @@ stdenv.mkDerivation rec { libnotify libpulseaudio libwacom + modemmanager networkmanager nss polkit @@ -152,6 +123,29 @@ stdenv.mkDerivation rec { # we're using plain NIX_CFLAGS_COMPILE = "-DG_DISABLE_CAST_CHECKS"; + postPatch = '' + 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 + ''; + + postFixup = '' + for autostart in $(grep -rl "OnlyShowIn=GNOME;" $out/etc/xdg/autostart) + do + echo "Patching OnlyShowIn to Pantheon in: $autostart" + sed -i "s,OnlyShowIn=GNOME;,OnlyShowIn=Pantheon;," $autostart + done + + # This breaks lightlocker https://github.com/elementary/session-settings/commit/b0e7a2867608c3a3916f9e4e21a68264a20e44f8 + # TODO: shouldn't be neeed for the 5.1 greeter (awaiting release) + rm $out/etc/xdg/autostart/org.gnome.SettingsDaemon.ScreensaverProxy.desktop + + # So the polkit policy can reference /run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper + mkdir -p $out/bin/elementary-settings-daemon + ln -s $out/libexec/gsd-backlight-helper $out/bin/elementary-settings-daemon/gsd-backlight-helper + ''; + passthru = { updateScript = gnome3.updateScript { packageName = repoName; |