about summary refs log tree commit diff
path: root/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix')
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix163
1 files changed, 32 insertions, 131 deletions
diff --git a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
index 568414aab35c..d1aaad42e2f3 100644
--- a/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
+++ b/nixpkgs/pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix
@@ -1,166 +1,67 @@
 { lib, stdenv
-, substituteAll
-, fetchurl
-, fetchgit
-, fetchpatch
+, fetchFromGitHub
 , meson
 , ninja
+, pantheon
 , pkg-config
-, gnome
-, perl
-, gettext
-, gtk3
-, glib
-, libnotify
-, libgnomekbd
-, lcms2
-, libpulseaudio
-, alsa-lib
-, libcanberra-gtk3
-, upower
-, colord
-, libgweather
-, polkit
-, gsettings-desktop-schemas
-, geoclue2
-, systemd
-, libgudev
-, libwacom
-, libxslt
-, libxml2
-, modemmanager
-, networkmanager
-, gnome-desktop
-, geocode-glib
-, docbook_xsl
+, python3
+, vala
 , accountsservice
+, dbus
+, desktop-file-utils
+, geoclue2
+, glib
+, gobject-introspection
+, gtk3
+, granite
+, libgee
 , wrapGAppsHook
-, python3
-, tzdata
-, nss
-, gcr
-, pantheon
 }:
 
 stdenv.mkDerivation rec {
   pname = "elementary-settings-daemon";
-  version = "3.34.1";
+  version = "1.0.0";
 
-  repoName = "gnome-settings-daemon";
+  repoName = "settings-daemon";
 
-  src = fetchgit {
-    url = "https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/${repoName}";
-    rev = "refs/tags/ubuntu/${version}-1ubuntu2";
-    sha256 = "0w0dsbzif7v0gk61rs9g20ldlimbdwb5yvlfdc568yyx5z643jbv";
+  src = fetchFromGitHub {
+    owner = "elementary";
+    repo = repoName;
+    rev = version;
+    sha256 = "1masvy1f9z2cp8w5ajnhy4k9bzvzgfziqlm59bf146pdd2567hiw";
   };
 
-  # 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 = "${src}/debian/patches"; in [
-    (substituteAll {
-      src = ./fix-paths.patch;
-      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-gsettings-removals.patch"
-    "${patchPath}/revert-mediakeys-dbus-interface-drop.patch"
-    #"${patchPath}/ubuntu_ibus_configs.patch"
-    # https://github.com/elementary/os-patches/blob/6975d1c254cb6ab913b8e2396877203aea8eaa65/debian/patches/elementary-dpms.patch
-    ./elementary-dpms.patch
-
-    # Query GWeather DB on the fly instead of caching.
-    # Needed for the next patch to apply.
-    # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/merge_requests/175
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/df6c69f028d27b53ac86829e11df103b25ed5a74.patch";
-      sha256 = "bKZkPzN64DXMgitjn0vUzUvKl7ldhN/mNVtPKVmHd0Q=";
-    })
-    # Adjust to libgweather changes.
-    # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/217
-    (fetchpatch {
-      url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/82d88014dfca2df7e081712870e1fb017c16b808.patch";
-      sha256 = "H5k/v+M2bRaswt5nrDJFNn4gS4BdB0UfzdjUCT4yLKg=";
-    })
-  ];
-
   nativeBuildInputs = [
+    desktop-file-utils
+    gobject-introspection
     meson
     ninja
     pkg-config
-    perl
-    gettext
-    libxml2
-    libxslt
-    docbook_xsl
-    wrapGAppsHook
     python3
+    vala
+    wrapGAppsHook
   ];
 
   buildInputs = [
     accountsservice
-    alsa-lib
-    colord
-    gcr
+    dbus
     geoclue2
-    geocode-glib
     glib
-    gnome-desktop
-    gsettings-desktop-schemas
     gtk3
-    lcms2
-    libcanberra-gtk3
-    libgnomekbd # for org.gnome.libgnomekbd.keyboard schema
-    libgudev
-    libgweather
-    libnotify
-    libpulseaudio
-    libwacom
-    modemmanager
-    networkmanager
-    nss
-    polkit
-    systemd
-    upower
-  ];
-
-  mesonFlags = [
-    "-Dudev_dir=${placeholder "out"}/lib/udev"
+    granite
+    libgee
   ];
 
-    # Default for release buildtype but passed manually because
-    # 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 = ''
-    # 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
+    chmod +x meson/post_install.py
+    patchShebangs meson/post_install.py
   '';
 
-  passthru = {
-    updateScript = gnome.updateScript {
-      packageName = repoName;
-      attrPath = "pantheon.${pname}";
-    };
-  };
-
   meta = with lib; {
-    license = licenses.gpl2Plus;
-    maintainers = pantheon.maintainers;
+    description = "Settings daemon for Pantheon";
+    homepage = "https://github.com/elementary/settings-daemon";
+    license = licenses.gpl3Plus;
+    maintainers = teams.pantheon.members;
     platforms = platforms.linux;
   };
 }