diff --git a/hosts/common/programs/chatty.nix b/hosts/common/programs/chatty.nix index d222dedf..36478b01 100644 --- a/hosts/common/programs/chatty.nix +++ b/hosts/common/programs/chatty.nix @@ -1,20 +1,32 @@ { pkgs, ... }: -{ - sane.programs.chatty = { - package = pkgs.chatty.override { - # the OAuth feature (presumably used for web-based logins) pulls a full webkitgtk. - # especially when using the gtk3 version of evolution-data-server, it's an ancient webkitgtk_4_1. - # disable OAuth for a faster build & smaller closure - evolution-data-server = pkgs.evolution-data-server.override { - enableOAuth2 = false; - gnome-online-accounts = pkgs.gnome-online-accounts.override { - # disables the upstream "goabackend" feature -- presumably "Google Online Account"? - # frees us from webkit_4_1, in turn. - enableBackend = false; - }; +let + chattyNoOauth = pkgs.chatty.override { + # the OAuth feature (presumably used for web-based logins) pulls a full webkitgtk. + # especially when using the gtk3 version of evolution-data-server, it's an ancient webkitgtk_4_1. + # disable OAuth for a faster build & smaller closure + evolution-data-server = pkgs.evolution-data-server.override { + enableOAuth2 = false; + gnome-online-accounts = pkgs.gnome-online-accounts.override { + # disables the upstream "goabackend" feature -- presumably "Gnome Online Accounts Backend" + # frees us from webkit_4_1, in turn. + enableBackend = false; }; }; - + }; + chatty-latest = pkgs.chatty-latest.override { + evolution-data-server-gtk4 = pkgs.evolution-data-server-gtk4.override { + gnome-online-accounts = pkgs.gnome-online-accounts.override { + # disables the upstream "goabackend" feature -- presumably "Gnome Online Accounts Backend" + # frees us from webkit_4_1, in turn. + enableBackend = false; + }; + }; + }; +in +{ + sane.programs.chatty = { + # package = chattyNoOauth; + package = chatty-latest; suggestedPrograms = [ "gnome-keyring" ]; }; } diff --git a/pkgs/additional/chatty-latest/default.nix b/pkgs/additional/chatty-latest/default.nix new file mode 100644 index 00000000..e3e3de04 --- /dev/null +++ b/pkgs/additional/chatty-latest/default.nix @@ -0,0 +1,80 @@ +{ chatty +, fetchFromGitLab +, appstream-glib +, desktop-file-utils +, itstool +, meson +, ninja +, pkg-config +, python3 +# , wrapGAppsHook +# , evolution-data-server +, feedbackd +, glibmm +, gnome-desktop +, gspell +# , gtk3 +, json-glib +, libgcrypt +, libhandy +, libphonenumber +, modemmanager +, olm +, pidgin +, protobuf +, sqlite +# NEW +, evolution-data-server-gtk4 +, gtk4 +, libadwaita +, wrapGAppsHook4 +}: +chatty.overrideAttrs (upstream: { + pname = "chatty-latest"; + version = "unstable-2023-08-01"; + src = fetchFromGitLab { + domain = "source.puri.sm"; + owner = "Librem5"; + repo = "chatty"; + rev = "ca556b7df539b37e08ed2c73e2beb2b6cc7b91f3"; + hash = "sha256-Tzdai2VU9wh/HW52uB+9uzpQymZmTqwiGqB6N20IvxE="; + fetchSubmodules = true; + }; + + nativeBuildInputs = [ + appstream-glib + desktop-file-utils + itstool + meson + ninja + pkg-config + python3 + #wrapGAppsHook + + # NEW + wrapGAppsHook4 + ]; + + buildInputs = [ + # evolution-data-server + feedbackd + glibmm + gnome-desktop + gspell + # gtk3 + json-glib + libgcrypt + libhandy + libphonenumber + modemmanager + olm + pidgin + protobuf + sqlite + + # NEW + libadwaita + gtk4 + evolution-data-server-gtk4 + ]; +}) diff --git a/pkgs/default.nix b/pkgs/default.nix index 71cdf010..609932c0 100644 --- a/pkgs/default.nix +++ b/pkgs/default.nix @@ -24,6 +24,7 @@ let bonsai = unpatched.bonsai or (callPackage ./additional/bonsai { }); bootpart-uefi-x86_64 = callPackage ./additional/bootpart-uefi-x86_64 { }; cargoDocsetHook = callPackage ./additional/cargo-docset/hook.nix { }; + chatty-latest = callPackage ./additional/chatty-latest { }; feeds = lib.recurseIntoAttrs (callPackage ./additional/feeds { }); lemoa = callPackage ./additional/lemoa { }; jellyfin-media-player-qt6 = callPackage ./additional/jellyfin-media-player-qt6 { };