diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix index 48e119a86187..3528b0f40e7b 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.nix +++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix @@ -302,6 +302,7 @@ in environment.systemPackages = with pkgs.pantheon; [ contractor file-roller-contract + gnome-bluetooth-contract ]; environment.pathsToLink = [ diff --git a/pkgs/tools/bluetooth/blueberry/gnome-bluetooth.nix b/pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix similarity index 92% rename from pkgs/tools/bluetooth/blueberry/gnome-bluetooth.nix rename to pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix index cf0028cf833d..38bb96980dca 100644 --- a/pkgs/tools/bluetooth/blueberry/gnome-bluetooth.nix +++ b/pkgs/desktops/gnome/core/gnome-bluetooth/1.0/default.nix @@ -1,5 +1,5 @@ -{ lib -, stdenv +{ stdenv +, lib , fetchurl , fetchpatch , gnome @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { src = fetchurl { url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz"; - sha256 = "1a9ynlwwkb3wpg293ym517vmrkk63y809mmcv9a21k5yr199x53c"; + sha256 = "bJSeUsi+zCBU2qzWBJAfZs5c9wml+pHEu3ysyTm1Pqk="; }; patches = [ @@ -82,7 +82,8 @@ stdenv.mkDerivation rec { passthru = { updateScript = gnome.updateScript { packageName = pname; - attrPath = "gnome.${pname}"; + attrPath = "gnome.gnome-bluetooth_1_0"; + freeze = true; }; }; diff --git a/pkgs/desktops/gnome/default.nix b/pkgs/desktops/gnome/default.nix index 729a6bd16ca8..1fc15fc6406f 100644 --- a/pkgs/desktops/gnome/default.nix +++ b/pkgs/desktops/gnome/default.nix @@ -48,6 +48,8 @@ lib.makeScope pkgs.newScope (self: with self; { gnome-bluetooth = callPackage ./core/gnome-bluetooth { }; + gnome-bluetooth_1_0 = callPackage ./core/gnome-bluetooth/1.0 { }; + gnome-color-manager = callPackage ./core/gnome-color-manager { }; gnome-contacts = callPackage ./core/gnome-contacts { }; diff --git a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix b/pkgs/desktops/gnome/misc/gnome-flashback/default.nix index 34d2b6eea3c2..4401915d40ba 100644 --- a/pkgs/desktops/gnome/misc/gnome-flashback/default.nix +++ b/pkgs/desktops/gnome/misc/gnome-flashback/default.nix @@ -1,9 +1,10 @@ -{ lib, stdenv +{ stdenv +, lib , autoreconfHook , fetchurl , gettext , glib -, gnome-bluetooth +, gnome-bluetooth_1_0 , gnome-desktop , gnome-panel , gnome-session @@ -94,7 +95,7 @@ let buildInputs = [ glib - gnome-bluetooth + gnome-bluetooth_1_0 gnome-desktop gsettings-desktop-schemas gtk3 diff --git a/pkgs/desktops/gnome/misc/gnome-panel/default.nix b/pkgs/desktops/gnome/misc/gnome-panel/default.nix index 139e161352a1..0b107f23d78d 100644 --- a/pkgs/desktops/gnome/misc/gnome-panel/default.nix +++ b/pkgs/desktops/gnome/misc/gnome-panel/default.nix @@ -1,9 +1,12 @@ -{ lib, stdenv +{ stdenv +, lib , fetchurl +, fetchpatch , autoreconfHook , dconf , evolution-data-server , gdm +, geocode-glib , gettext , glib , gnome-desktop @@ -37,6 +40,13 @@ stdenv.mkDerivation rec { # instead of gnome-panel’s libdir so that the NixOS module can make gnome-panel # load modules from other packages as well. ./modulesdir-env-var.patch + + # Add missing geocode-glib-1.0 dependency + # https://gitlab.gnome.org/GNOME/gnome-panel/-/merge_requests/49 + (fetchpatch { + url = "https://gitlab.gnome.org/GNOME/gnome-panel/-/commit/f58a43ec4649a25f1a762b36e1401b81cd2b214b.patch"; + sha256 = "sha256-DFqaNUjkLh4xd81qgQpl+568eUZeWyF8LxdZoTgMfCQ="; + }) ]; # make .desktop Exec absolute @@ -69,6 +79,7 @@ stdenv.mkDerivation rec { dconf evolution-data-server gdm + geocode-glib glib gnome-desktop gnome-menus diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index a3d5f873cbcb..7f28109ad101 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -108,7 +108,7 @@ lib.makeScope pkgs.newScope (self: with self; { gala = callPackage ./desktop/gala { }; gnome-bluetooth-contract = callPackage ./desktop/gnome-bluetooth-contract { - inherit (gnome) gnome-bluetooth; + inherit (gnome) gnome-bluetooth_1_0; }; wingpanel = callPackage ./desktop/wingpanel { }; diff --git a/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix b/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix index 190514392098..6df583c2ce6a 100644 --- a/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix +++ b/pkgs/desktops/pantheon/desktop/gnome-bluetooth-contract/default.nix @@ -3,7 +3,7 @@ , fetchFromGitHub , unstableGitUpdater , substituteAll -, gnome-bluetooth +, gnome-bluetooth_1_0 }: stdenv.mkDerivation rec { @@ -20,7 +20,9 @@ stdenv.mkDerivation rec { patches = [ (substituteAll { src = ./exec-path.patch; - gnome_bluetooth = gnome-bluetooth; + # sendto device selection is removed in gnome-bluetooth 42 + # https://github.com/elementary/gnome-bluetooth-contract/issues/1 + gnome_bluetooth = gnome-bluetooth_1_0; }) ]; @@ -49,8 +51,5 @@ stdenv.mkDerivation rec { license = licenses.gpl3Plus; maintainers = teams.pantheon.members; platforms = platforms.linux; - # sendto device selection is removed in gnome-bluetooth 42 - # https://github.com/elementary/gnome-bluetooth-contract/issues/1 - broken = true; }; } diff --git a/pkgs/tools/bluetooth/blueberry/default.nix b/pkgs/tools/bluetooth/blueberry/default.nix index bbc3babbd132..6a0f1d2d00bc 100644 --- a/pkgs/tools/bluetooth/blueberry/default.nix +++ b/pkgs/tools/bluetooth/blueberry/default.nix @@ -3,18 +3,15 @@ , fetchFromGitHub , bluez-tools , cinnamon +, gnome , gobject-introspection , intltool , pavucontrol , python3Packages , util-linux , wrapGAppsHook -, callPackage }: -let - gnome-bluetooth = callPackage ./gnome-bluetooth.nix {}; -in stdenv.mkDerivation rec { pname = "blueberry"; version = "1.4.7"; @@ -35,7 +32,7 @@ stdenv.mkDerivation rec { buildInputs = [ bluez-tools cinnamon.xapps - gnome-bluetooth + gnome.gnome-bluetooth_1_0 python3Packages.python util-linux ];