git.iko.soy/typeable/nixpkgs
on master help sign in
Merge pull request #130380 from bobby285271/switchboard

Pantheon 6.0.2

commit69f341a53090a4a1a17d24d1f3de6f675a62b2e8 authordavidak <davidak@users.noreply.github.com> dateSat 18 Sep 2021, 14:09 (5 years ago) parent84258de1b16dbe
115 files changed+1764−1581
nixos/doc/manual/from_md/release-notes/rl-2111.section.xml+14−4 nixos/doc/manual/release-notes/rl-2111.section.md+5−1 nixos/modules/module-list.nix+1 nixos/modules/services/x11/desktop-managers/pantheon.nix+16−10 nixos/modules/services/x11/desktop-managers/pantheon.xml+1−1 nixos/modules/services/x11/touchegg.nix+38 nixos/tests/pantheon.nix+2−2 pkgs/desktops/gnome/core/epiphany/dark-style.patch+76 pkgs/desktops/gnome/core/epiphany/default.nix+11−2 pkgs/desktops/gnome/core/epiphany/navigation-buttons.patch+12 pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nix+135 pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch → pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/fix-paths.patch pkgs/desktops/gnome/core/mutter/3.34/0001-EGL-Include-EGL-eglmesaext.h.patch−74 pkgs/desktops/gnome/core/mutter/3.34/0002-drop-inheritable.patch−135 pkgs/desktops/gnome/core/mutter/3.34/0003-Fix-glitches-in-gala.patch−33 pkgs/desktops/gnome/core/mutter/3.34/0004-profiler-track-changes-in-GLib-and-Sysprof.patch−58 pkgs/desktops/gnome/core/mutter/3.34/0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch−32 pkgs/desktops/gnome/core/mutter/3.34/0006-build-bump-ABI-to-sysprof-capture-4.patch−102 pkgs/desktops/gnome/core/mutter/3.34/0007-fix-paths.patch−27 pkgs/desktops/gnome/core/mutter/3.34/default.nix → pkgs/desktops/gnome/core/mutter/3.38/default.nix+62−32 pkgs/desktops/gnome/core/mutter/drop-inheritable.patch → pkgs/desktops/gnome/core/mutter/3.38/drop-inheritable.patch pkgs/desktops/gnome/core/mutter/3.38/fix-glitches-in-gala.patch+27 pkgs/desktops/gnome/core/mutter/3.38/fix-paths.patch+13 pkgs/desktops/gnome/default.nix+8−4 pkgs/desktops/pantheon/apps/appcenter/default.nix+8−2 pkgs/desktops/pantheon/apps/appcenter/flatpak-only.patch+196 pkgs/desktops/pantheon/apps/elementary-calculator/default.nix+5−2 pkgs/desktops/pantheon/apps/elementary-calendar/default.nix+4−2 pkgs/desktops/pantheon/apps/elementary-camera/default.nix+6−4 pkgs/desktops/pantheon/apps/elementary-code/default.nix+11−4 pkgs/desktops/pantheon/apps/elementary-dock/default.nix+5−12 pkgs/desktops/pantheon/apps/elementary-feedback/default.nix+12−2 pkgs/desktops/pantheon/apps/elementary-files/0001-filechooser-module-hardcode-gsettings-for-nixos.patch−35 pkgs/desktops/pantheon/apps/elementary-files/default.nix+9−7 pkgs/desktops/pantheon/apps/elementary-files/filechooser-portal-hardcode-gsettings-for-nixos.patch+24 pkgs/desktops/pantheon/apps/elementary-mail/default.nix+9−2 pkgs/desktops/pantheon/apps/elementary-mail/revert-fix-warning.patch+55 pkgs/desktops/pantheon/apps/elementary-music/default.nix+14−4 pkgs/desktops/pantheon/apps/elementary-photos/default.nix+10−2 pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix → pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix+5−3 pkgs/desktops/pantheon/apps/elementary-tasks/default.nix+84 pkgs/desktops/pantheon/apps/elementary-terminal/default.nix+9 pkgs/desktops/pantheon/apps/elementary-videos/default.nix+10 pkgs/desktops/pantheon/apps/sideload/default.nix+4−2 pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix+12−3 pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix+13−24 pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-paths.patch−26 pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-logo-background.patch+36 pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix+15−3 pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix+12−2 pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix+16−2 pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/fix-paths.patch+15 pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix+3−3 pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/0001-Remove-Install-Unlisted-Engines-function.patch+28−30 pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix+14−3 pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/fix-paths.patch+13 pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix+26−5 pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/fix-paths.patch+13 pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix+3−3 pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix+11−2 pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix+13−22 pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix+36−5 pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix+4−12 pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patch−13 pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix+7−6 pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix+9−8 pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix+12−3 pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix+13−5 pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix+72 pkgs/desktops/pantheon/apps/switchboard/default.nix+11−2 pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix+4−2 pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix+2−2 pkgs/desktops/pantheon/default.nix+25−16 pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch−309 pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix+6−24 pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.mail.dockitem+2 pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Geary.dockitem−2 pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override+1−1 pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix+15−6 pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix+2−2 pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix+11−14 pkgs/desktops/pantheon/desktop/elementary-onboarding/fix-paths.patch+13 pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix+7−8 pkgs/desktops/pantheon/desktop/elementary-session-settings/pantheon-mimeapps.list+1−1 pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix+14−2 pkgs/desktops/pantheon/desktop/gala/default.nix+10−8 pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch+6−5 pkgs/desktops/pantheon/desktop/gala/use-new-notifications-default.patch−13 pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nix+70 pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix+2−12 pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch+4−4 pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix+3−3 pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix+20−3 pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/fix-paths.patch+13 pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix+12−3 pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix+18−2 pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/fix-paths.patch+13 pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix+12−4 pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix+8−6 pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix+14−3 pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/fix-paths.patch+13 pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix+14−3 pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix+13−3 pkgs/desktops/pantheon/desktop/wingpanel/default.nix+3−3 pkgs/desktops/pantheon/granite/default.nix+2−2 pkgs/desktops/pantheon/services/contractor/default.nix+2−2 pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix+5−3 pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix−66 pkgs/desktops/pantheon/services/elementary-notifications/default.nix+5−3 pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix+31−130 pkgs/desktops/pantheon/services/elementary-settings-daemon/elementary-dpms.patch−84 pkgs/desktops/pantheon/services/elementary-settings-daemon/global-backlight-helper.patch−26 pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix+2−2 pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix+2−2 pkgs/tools/inputmethods/touchegg/default.nix+56−15
nixos/doc/manual/from_md/release-notes/rl-2111.section.xml+14−4
@@ -55,6 +55,13 @@
5555 actions.
5656 </para>
5757 </listitem>
58+ <listitem>
59+ <para>
60+ Pantheon desktop has been updated to version 6. Due to changes
61+ of screen locker, if locking doesn’t work for you, please try
62+ <literal>gsettings set org.gnome.desktop.lockdown disable-lock-screen false</literal>.
63+ </para>
64+ </listitem>
5865 </itemizedlist>
5966 </section>
6067 <section xml:id="sec-release-21.11-new-services">
@@ -189,8 +196,6 @@
189196 <link linkend="opt-services.isso.enable">isso</link>
190197 </para>
191198 </listitem>
192− </itemizedlist>
193− <itemizedlist spacing="compact">
194199 <listitem>
195200 <para>
196201 <link xlink:href="https://www.navidrome.org/">navidrome</link>,
@@ -199,8 +204,6 @@
199204 <link linkend="opt-services.navidrome.enable">navidrome</link>.
200205 </para>
201206 </listitem>
202− </itemizedlist>
203− <itemizedlist>
204207 <listitem>
205208 <para>
206209 <link xlink:href="https://docs.fluidd.xyz/">fluidd</link>, a
@@ -263,6 +266,13 @@
263266 unified analytics engine for large-scale data processing.
264267 </para>
265268 </listitem>
269+ <listitem>
270+ <para>
271+ <link xlink:href="https://github.com/JoseExposito/touchegg">touchegg</link>,
272+ a multi-touch gesture recognizer. Available as
273+ <link linkend="opt-services.touchegg.enable">services.touchegg</link>.
274+ </para>
275+ </listitem>
266276 </itemizedlist>
267277 </section>
268278 <section xml:id="sec-release-21.11-incompatibilities">
nixos/doc/manual/release-notes/rl-2111.section.md+5−1
@@ -20,6 +20,8 @@ In addition to numerous new and upgraded packages, this release has the followin
2020 This allows activation scripts to output what they would change if the activation was really run.
2121 The users/modules activation script supports this and outputs some of is actions.
2222
23+- Pantheon desktop has been updated to version 6. Due to changes of screen locker, if locking doesn't work for you, please try `gsettings set org.gnome.desktop.lockdown disable-lock-screen false`.
24+
2325## New Services {#sec-release-21.11-new-services}
2426
2527- [btrbk](https://digint.ch/btrbk/index.html), a backup tool for btrfs subvolumes, taking advantage of btrfs specific capabilities to create atomic snapshots and transfer them incrementally to your backup locations. Available as [services.btrbk](options.html#opt-services.brtbk.instances).
@@ -60,7 +62,7 @@ pt-services.clipcat.enable).
6062- [isso](https://posativ.org/isso/), a commenting server similar to Disqus.
6163 Available as [isso](#opt-services.isso.enable)
6264
63−* [navidrome](https://www.navidrome.org/), a personal music streaming server with
65+- [navidrome](https://www.navidrome.org/), a personal music streaming server with
6466subsonic-compatible api. Available as [navidrome](#opt-services.navidrome.enable).
6567
6668- [fluidd](https://docs.fluidd.xyz/), a Klipper web interface for managing 3d printers using moonraker. Available as [fluidd](#opt-services.fluidd.enable).
@@ -82,6 +84,8 @@ subsonic-compatible api. Available as [navidrome](#opt-services.navidrome.enable
8284
8385- [spark](https://spark.apache.org/), a unified analytics engine for large-scale data processing.
8486
87+- [touchegg](https://github.com/JoseExposito/touchegg), a multi-touch gesture recognizer. Available as [services.touchegg](#opt-services.touchegg.enable).
88+
8589## Backward Incompatibilities {#sec-release-21.11-incompatibilities}
8690
8791
nixos/modules/module-list.nix+1
@@ -1055,6 +1055,7 @@
10551055 ./services/x11/gdk-pixbuf.nix
10561056 ./services/x11/imwheel.nix
10571057 ./services/x11/redshift.nix
1058+ ./services/x11/touchegg.nix
10581059 ./services/x11/urserver.nix
10591060 ./services/x11/urxvtd.nix
10601061 ./services/x11/window-managers/awesome.nix
nixos/modules/services/x11/desktop-managers/pantheon.nix+16−10
@@ -134,6 +134,9 @@ in
134134 services.accounts-daemon.enable = true;
135135 services.bamf.enable = true;
136136 services.colord.enable = mkDefault true;
137+ services.fwupd.enable = mkDefault true;
138+ services.touchegg.enable = mkDefault true;
139+ services.touchegg.package = pkgs.pantheon.touchegg;
137140 services.tumbler.enable = mkDefault true;
138141 services.system-config-printer.enable = (mkIf config.services.printing.enable (mkDefault true));
139142 services.dbus.packages = with pkgs.pantheon; [
@@ -162,12 +165,11 @@ in
162165 isAllowed = true;
163166 isSystem = true;
164167 };
165− # Use gnome-settings-daemon fork
166168 services.udev.packages = [
167− pkgs.pantheon.elementary-settings-daemon
169+ pkgs.gnome.gnome-settings-daemon338
168170 ];
169171 systemd.packages = [
170− pkgs.pantheon.elementary-settings-daemon
172+ pkgs.gnome.gnome-settings-daemon338
171173 ];
172174 programs.dconf.enable = true;
173175 networking.networkmanager.enable = mkDefault true;
@@ -180,7 +182,6 @@ in
180182 gnome.adwaita-icon-theme
181183 gtk3.out
182184 hicolor-icon-theme
183− lightlocker
184185 onboard
185186 qgnomeplatform
186187 shared-mime-info
@@ -208,15 +209,13 @@ in
208209
209210 # Services
210211 elementary-capnet-assist
211− elementary-dpms-helper
212212 elementary-notifications
213213 elementary-settings-daemon
214214 pantheon-agent-geoclue2
215215 pantheon-agent-polkit
216216 ]) ++ (gnome.removePackagesByName [
217− gnome.geary
218− gnome.epiphany
219217 gnome.gnome-font-viewer
218+ gnome.gnome-settings-daemon338
220219 ] config.environment.pantheon.excludePackages);
221220
222221 programs.evince.enable = mkDefault true;
@@ -224,9 +223,12 @@ in
224223
225224 # Settings from elementary-default-settings
226225 environment.sessionVariables.GTK_CSD = "1";
227− environment.sessionVariables.GTK3_MODULES = [ "pantheon-filechooser-module" ];
228226 environment.etc."gtk-3.0/settings.ini".source = "${pkgs.pantheon.elementary-default-settings}/etc/gtk-3.0/settings.ini";
229227
228+ xdg.portal.extraPortals = [
229+ pkgs.pantheon.elementary-files
230+ ];
231+
230232 # Override GSettings schemas
231233 environment.sessionVariables.NIX_GSETTINGS_OVERRIDES_DIR = "${nixos-gsettings-desktop-schemas}/share/gsettings-schemas/nixos-gsettings-overrides/glib-2.0/schemas";
232234
@@ -254,6 +256,8 @@ in
254256
255257 # Default Fonts
256258 fonts.fonts = with pkgs; [
259+ inter
260+ open-dyslexic
257261 open-sans
258262 roboto-mono
259263 ];
@@ -271,14 +275,16 @@ in
271275 elementary-camera
272276 elementary-code
273277 elementary-files
278+ elementary-mail
274279 elementary-music
275280 elementary-photos
276− elementary-screenshot-tool
281+ elementary-screenshot
277282 elementary-terminal
278283 elementary-videos
284+ epiphany
279285 ] config.environment.pantheon.excludePackages);
280286
281− # needed by screenshot-tool
287+ # needed by screenshot
282288 fonts.fonts = [
283289 pkgs.pantheon.elementary-redacted-script
284290 ];
nixos/modules/services/x11/desktop-managers/pantheon.xml+1−1
@@ -22,7 +22,7 @@
2222<programlisting>
2323<xref linkend="opt-services.pantheon.apps.enable"/> = false;
2424</programlisting>
25− You can also use <xref linkend="opt-environment.pantheon.excludePackages"/> to remove any other app (like <package>geary</package>).
25+ You can also use <xref linkend="opt-environment.pantheon.excludePackages"/> to remove any other app (like <package>elementary-mail</package>).
2626 </para>
2727 </section>
2828 <section xml:id="sec-pantheon-wingpanel-switchboard">
nixos/modules/services/x11/touchegg.nixnew file+38
@@ -0,0 +1,38 @@
1+{ config, lib, pkgs, ... }:
2+
3+with lib;
4+
5+let cfg = config.services.touchegg;
6+
7+in {
8+ meta = {
9+ maintainers = teams.pantheon.members;
10+ };
11+
12+ ###### interface
13+ options.services.touchegg = {
14+ enable = mkEnableOption "touchegg, a multi-touch gesture recognizer";
15+
16+ package = mkOption {
17+ type = types.package;
18+ default = pkgs.touchegg;
19+ defaultText = "pkgs.touchegg";
20+ description = "touchegg derivation to use.";
21+ };
22+ };
23+
24+ ###### implementation
25+ config = mkIf cfg.enable {
26+ systemd.services.touchegg = {
27+ description = "Touchegg Daemon";
28+ serviceConfig = {
29+ Type = "simple";
30+ ExecStart = "${cfg.package}/bin/touchegg --daemon";
31+ Restart = "on-failure";
32+ };
33+ wantedBy = [ "multi-user.target" ];
34+ };
35+
36+ environment.systemPackages = [ cfg.package ];
37+ };
38+}
nixos/tests/pantheon.nix+2−2
@@ -45,8 +45,8 @@ import ./make-test-python.nix ({ pkgs, ...} :
4545 with subtest("Check if pantheon session components actually start"):
4646 machine.wait_until_succeeds("pgrep gala")
4747 machine.wait_for_window("gala")
48− machine.wait_until_succeeds("pgrep wingpanel")
49− machine.wait_for_window("wingpanel")
48+ machine.wait_until_succeeds("pgrep -f io.elementary.wingpanel")
49+ machine.wait_for_window("io.elementary.wingpanel")
5050 machine.wait_until_succeeds("pgrep plank")
5151 machine.wait_for_window("plank")
5252
pkgs/desktops/gnome/core/epiphany/dark-style.patchnew file+76
@@ -0,0 +1,76 @@
1+diff --git a/meson.build b/meson.build
2+index de9cbfa850..647f617605 100644
3+--- a/meson.build
4++++ b/meson.build
5+@@ -92,6 +92,7 @@ iso_codes_dep = dependency('iso-codes', version: '>= 0.35')
6+ json_glib_dep = dependency('json-glib-1.0', version: '>= 1.6')
7+ libarchive_dep = dependency('libarchive')
8+ libdazzle_dep = dependency('libdazzle-1.0', version: '>= 3.37.1')
9++libgranite_dep = dependency('granite', version: '>= 6.0.0')
10+ libhandy_dep = dependency('libhandy-1', version: '>= 1.1.0')
11+ libsecret_dep = dependency('libsecret-1', version: '>= 0.19.0')
12+ libsoup_dep = dependency('libsoup-2.4', version: '>= 2.48.0')
13+diff --git a/src/ephy-shell.c b/src/ephy-shell.c
14+index 650531da86..b9d1355e86 100644
15+--- a/src/ephy-shell.c
16++++ b/src/ephy-shell.c
17+@@ -50,6 +50,7 @@
18+
19+ #include <glib/gi18n.h>
20+ #include <gtk/gtk.h>
21++#include <granite.h>
22+ #include <handy.h>
23+
24+ struct _EphyShell {
25+@@ -483,6 +484,20 @@ run_in_background_set_mapping (const GValue *value,
26+ return g_variant_new_boolean (g_variant_get_boolean (var));
27+ }
28+
29++static void
30++ephy_shell_set_prefers_color_scheme (EphyShell *shell)
31++{
32++ GtkSettings* gtk_settings = gtk_settings_get_default ();
33++ GraniteSettings* granite_settings = granite_settings_get_default ();
34++
35++ g_object_set (
36++ gtk_settings,
37++ "gtk-application-prefer-dark-theme",
38++ granite_settings_get_prefers_color_scheme (granite_settings) == GRANITE_SETTINGS_COLOR_SCHEME_DARK,
39++ NULL
40++ );
41++}
42++
43+ static void
44+ ephy_shell_startup (GApplication *application)
45+ {
46+@@ -490,11 +505,18 @@ ephy_shell_startup (GApplication *application)
47+ EphyShell *shell = EPHY_SHELL (application);
48+ EphyEmbedShellMode mode;
49+ GAction *action;
50++ GraniteSettings* granite_settings = granite_settings_get_default ();
51+
52+ G_APPLICATION_CLASS (ephy_shell_parent_class)->startup (application);
53+
54+ hdy_init ();
55+
56++ ephy_shell_set_prefers_color_scheme (shell);
57++
58++ g_signal_connect (granite_settings, "notify::prefers-color-scheme",
59++ G_CALLBACK (ephy_shell_set_prefers_color_scheme), shell
60++ );
61++
62+ /* If we are under Pantheon set the icon-theme and cursor-theme accordingly. */
63+ if (is_desktop_pantheon ()) {
64+ GtkSettings *settings = gtk_settings_get_default ();
65+diff --git a/src/meson.build b/src/meson.build
66+index 5bf3eb92ec..d17b1b6d93 100644
67+--- a/src/meson.build
68++++ b/src/meson.build
69+@@ -74,6 +74,7 @@ libephymain_deps = [
70+ gdk_dep,
71+ gvdb_dep,
72+ libarchive_dep,
73++ libgranite_dep,
74+ libhandy_dep
75+ ]
76+
pkgs/desktops/gnome/core/epiphany/default.nix+11−2
@@ -9,6 +9,7 @@
99, icu
1010, wrapGAppsHook
1111, gnome
12+, pantheon
1213, libportal
1314, libxml2
1415, libxslt
@@ -33,6 +34,7 @@
3334, libdazzle
3435, libhandy
3536, buildPackages
37+, withPantheon ? false
3638}:
3739
3840stdenv.mkDerivation rec {
@@ -44,6 +46,13 @@ stdenv.mkDerivation rec {
4446 sha256 = "2tE4ufLVXeJxEo/KOLYfU/2YDFh9KeG6a1CP/zsZ9WQ=";
4547 };
4648
49+ patches = lib.optionals withPantheon [
50+ # https://github.com/elementary/browser
51+ # FIXME: Update the patches when https://github.com/elementary/browser/pull/41 merged
52+ ./dark-style.patch
53+ ./navigation-buttons.patch
54+ ];
55+
4756 nativeBuildInputs = [
4857 desktop-file-utils
4958 gettext
@@ -87,7 +96,7 @@ stdenv.mkDerivation rec {
8796 p11-kit
8897 sqlite
8998 webkitgtk
90− ];
99+ ] ++ lib.optional withPantheon pantheon.granite;
91100
92101 # Tests need an X display
93102 mesonFlags = [
@@ -108,7 +117,7 @@ stdenv.mkDerivation rec {
108117 meta = with lib; {
109118 homepage = "https://wiki.gnome.org/Apps/Epiphany";
110119 description = "WebKit based web browser for GNOME";
111− maintainers = teams.gnome.members;
120+ maintainers = teams.gnome.members ++ teams.pantheon.members;
112121 license = licenses.gpl3Plus;
113122 platforms = platforms.linux;
114123 };
pkgs/desktops/gnome/core/epiphany/navigation-buttons.patchnew file+12
@@ -0,0 +1,12 @@
1+diff --git a/src/resources/gtk/action-bar-start.ui b/src/resources/gtk/action-bar-start.ui
2+index e604b9601f..2bfe244d53 100644
3+--- a/src/resources/gtk/action-bar-start.ui
4++++ b/src/resources/gtk/action-bar-start.ui
5+@@ -7,7 +7,6 @@
6+ <property name="visible">True</property>
7+ <property name="orientation">horizontal</property>
8+ <style>
9+- <class name="linked"/>
10+ <class name="navigation-box"/>
11+ </style>
12+ <child>
pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/default.nixnew file+135
@@ -0,0 +1,135 @@
1+{ lib, stdenv
2+, fetchpatch
3+, substituteAll
4+, fetchurl
5+, meson
6+, ninja
7+, pkg-config
8+, gnome
9+, perl
10+, gettext
11+, gtk3
12+, glib
13+, libnotify
14+, libgnomekbd
15+, lcms2
16+, libpulseaudio
17+, alsa-lib
18+, libcanberra-gtk3
19+, upower
20+, colord
21+, libgweather
22+, polkit
23+, gsettings-desktop-schemas
24+, geoclue2
25+, systemd
26+, libgudev
27+, libwacom
28+, libxslt
29+, libxml2
30+, modemmanager
31+, networkmanager
32+, gnome-desktop
33+, geocode-glib
34+, docbook_xsl
35+, wrapGAppsHook
36+, python3
37+, tzdata
38+, nss
39+, gcr
40+, gnome-session-ctl
41+, pantheon
42+}:
43+
44+stdenv.mkDerivation rec {
45+ pname = "gnome-settings-daemon";
46+ version = "3.38.2";
47+
48+ src = fetchurl {
49+ url = "mirror://gnome/sources/gnome-settings-daemon/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
50+ sha256 = "136p3prdqvc0lvrcqs4h7crpnfqnimqklpzjivq5w4g1rhbdbhrj";
51+ };
52+
53+ patches = [
54+ # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/202
55+ (fetchpatch {
56+ url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/aae1e774dd9de22fe3520cf9eb2bfbf7216f5eb0.patch";
57+ sha256 = "O4m0rOW8Zrgu3Q0p0OA8b951VC0FjYbOUk9MLzB9icI=";
58+ })
59+
60+ (substituteAll {
61+ src = ./fix-paths.patch;
62+ inherit tzdata;
63+ })
64+
65+ # Adjust to libgweather changes.
66+ # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/217
67+ (fetchpatch {
68+ url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/82d88014dfca2df7e081712870e1fb017c16b808.patch";
69+ sha256 = "H5k/v+M2bRaswt5nrDJFNn4gS4BdB0UfzdjUCT4yLKg=";
70+ })
71+ ];
72+
73+ nativeBuildInputs = [
74+ meson
75+ ninja
76+ pkg-config
77+ perl
78+ gettext
79+ libxml2
80+ libxslt
81+ docbook_xsl
82+ wrapGAppsHook
83+ python3
84+ ];
85+
86+ buildInputs = [
87+ gtk3
88+ glib
89+ gsettings-desktop-schemas
90+ modemmanager
91+ networkmanager
92+ libnotify
93+ libgnomekbd # for org.gnome.libgnomekbd.keyboard schema
94+ gnome-desktop
95+ lcms2
96+ libpulseaudio
97+ alsa-lib
98+ libcanberra-gtk3
99+ upower
100+ colord
101+ libgweather
102+ nss
103+ polkit
104+ geocode-glib
105+ geoclue2
106+ systemd
107+ libgudev
108+ libwacom
109+ gcr
110+ ];
111+
112+ mesonFlags = [
113+ "-Dudev_dir=${placeholder "out"}/lib/udev"
114+ "-Dgnome_session_ctl_path=${gnome-session-ctl}/libexec/gnome-session-ctl"
115+ ];
116+
117+ # Default for release buildtype but passed manually because
118+ # we're using plain
119+ NIX_CFLAGS_COMPILE = "-DG_DISABLE_CAST_CHECKS";
120+
121+ postPatch = ''
122+ for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl meson_post_install.py; do
123+ chmod +x $f
124+ patchShebangs $f
125+ done
126+ '';
127+
128+ meta = with lib; {
129+ description = "GNOME Settings Daemon";
130+ homepage = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/";
131+ license = licenses.gpl2Plus;
132+ maintainers = pantheon.maintainers;
133+ platforms = platforms.linux;
134+ };
135+}
pkgs/desktops/pantheon/services/elementary-settings-daemon/fix-paths.patch → pkgs/desktops/gnome/core/gnome-settings-daemon/3.38/fix-paths.patchrenamed

The content is the same.

pkgs/desktops/gnome/core/mutter/3.34/0001-EGL-Include-EGL-eglmesaext.h.patchdeleted−74
@@ -1,74 +0,0 @@
1−From 7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d Mon Sep 17 00:00:00 2001
2−Message-Id: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
3−From: WORLDofPEACE <worldofpeace@protonmail.ch>
4−Date: Sun, 20 Oct 2019 12:04:31 +0200
5−Subject: [PATCH 1/7] EGL: Include EGL/eglmesaext.h
6−
7−From: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com>
8−
9−The eglext.h shipped by libglvnd does not include the Mesa extensions,
10−unlike the header shipped in Mesa.
11−
12−Fixes https://gitlab.gnome.org/GNOME/mutter/issues/876
13−
14−(cherry picked from commit a444a4c5f58ea516ad3cd9d6ddc0056c3ca9bc90)
15−---
16− cogl/cogl/meson.build | 2 +-
17− src/backends/meta-egl-ext.h | 1 +
18− src/backends/meta-egl.c | 1 +
19− src/backends/meta-egl.h | 1 +
20− 4 files changed, 4 insertions(+), 1 deletion(-)
21−
22−diff --git a/cogl/cogl/meson.build b/cogl/cogl/meson.build
23−index 1057ef9..9a64294 100644
24−--- a/cogl/cogl/meson.build
25−+++ b/cogl/cogl/meson.build
26−@@ -48,7 +48,7 @@ cogl_gl_header_h = configure_file(
27− built_headers += [cogl_gl_header_h]
28−
29− if have_egl
30−- cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>'
31−+ cogl_egl_includes_string = '#include <EGL/egl.h>\n#include <EGL/eglext.h>\n#include <EGL/eglmesaext.h>'
32− else
33− cogl_egl_includes_string = ''
34− endif
35−diff --git a/src/backends/meta-egl-ext.h b/src/backends/meta-egl-ext.h
36−index 8705e7d..db0b74f 100644
37−--- a/src/backends/meta-egl-ext.h
38−+++ b/src/backends/meta-egl-ext.h
39−@@ -29,6 +29,7 @@
40−
41− #include <EGL/egl.h>
42− #include <EGL/eglext.h>
43−+#include <EGL/eglmesaext.h>
44−
45− /*
46− * This is a little different to the tests shipped with EGL implementations,
47−diff --git a/src/backends/meta-egl.c b/src/backends/meta-egl.c
48−index 6554be9..fdeff4f 100644
49−--- a/src/backends/meta-egl.c
50−+++ b/src/backends/meta-egl.c
51−@@ -27,6 +27,7 @@
52−
53− #include <EGL/egl.h>
54− #include <EGL/eglext.h>
55−+#include <EGL/eglmesaext.h>
56− #include <gio/gio.h>
57− #include <glib.h>
58− #include <glib-object.h>
59−diff --git a/src/backends/meta-egl.h b/src/backends/meta-egl.h
60−index f2a8164..4591e7d 100644
61−--- a/src/backends/meta-egl.h
62−+++ b/src/backends/meta-egl.h
63−@@ -28,6 +28,7 @@
64−
65− #include <EGL/egl.h>
66− #include <EGL/eglext.h>
67−+#include <EGL/eglmesaext.h>
68− #include <glib-object.h>
69−
70− #define META_EGL_ERROR meta_egl_error_quark ()
71−
72−base-commit: 48ffbb582404c1d52196eb6cc5f082c31ca4910c
73−--
74−git-series 0.9.1
pkgs/desktops/gnome/core/mutter/3.34/0002-drop-inheritable.patchdeleted−135
@@ -1,135 +0,0 @@
1−From 14cee101882e65a57dcd66ea0f8399477b23ce7e Mon Sep 17 00:00:00 2001
2−Message-Id: <14cee101882e65a57dcd66ea0f8399477b23ce7e.1601082838.git-series.worldofpeace@protonmail.ch>
3−In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
4−References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
5−From: WORLDofPEACE <worldofpeace@protonmail.ch>
6−Date: Sat, 19 Oct 2019 13:26:05 +0200
7−Subject: [PATCH 2/7] drop inheritable
8−
9−From: Tor Hedin Brønner <torhedinbronner@gmail.com>
10−
11−Adapted from https://gitlab.gnome.org/GNOME/mutter/commit/c53c47ae123b03cc66044d2b846342123ecb3a01
12−
13−We only want to drop inheritable though, to prevent the ambient set leaking further than gnome-shell.
14−---
15− config.h.meson | 3 +++
16− meson.build | 5 +++++
17− meson_options.txt | 6 ++++++
18− src/core/main.c | 10 ++++++++++
19− src/meson.build | 1 +
20− 5 files changed, 25 insertions(+)
21−
22−diff --git a/config.h.meson b/config.h.meson
23−index 0bab718..202fb7e 100644
24−--- a/config.h.meson
25−+++ b/config.h.meson
26−@@ -58,6 +58,9 @@
27− /* Xwayland applications allowed to issue keyboard grabs */
28− #mesondefine XWAYLAND_GRAB_DEFAULT_ACCESS_RULES
29−
30−+/* Defined if libcap-ng is available */
31−+#mesondefine HAVE_LIBCAPNG
32−+
33− /* XKB base prefix */
34− #mesondefine XKB_BASE
35−
36−diff --git a/meson.build b/meson.build
37−index 29d495b..86970df 100644
38−--- a/meson.build
39−+++ b/meson.build
40−@@ -35,6 +35,7 @@ libstartup_notification_req = '>= 0.7'
41− libcanberra_req = '>= 0.26'
42− libwacom_req = '>= 0.13'
43− atk_req = '>= 2.5.3'
44−+libcapng_req = '>= 0.7.9'
45−
46− # optional version requirements
47− udev_req = '>= 228'
48−@@ -125,6 +126,7 @@ xau_dep = dependency('xau')
49− ice_dep = dependency('ice')
50− atk_dep = dependency('atk', version: atk_req)
51− libcanberra_dep = dependency('libcanberra', version: libcanberra_req)
52−+libcapng_dep = dependency('libcap-ng', required: get_option('libcapng'))
53−
54− # For now always require X11 support
55− have_x11 = true
56−@@ -256,6 +258,7 @@ have_core_tests = false
57− have_cogl_tests = false
58− have_clutter_tests = false
59− have_installed_tests = false
60−+have_libcapng = libcapng_dep.found()
61−
62− if have_tests
63− have_core_tests = get_option('core_tests')
64−@@ -361,6 +364,7 @@ cdata.set('HAVE_LIBWACOM', have_libwacom)
65− cdata.set('HAVE_SM', have_sm)
66− cdata.set('HAVE_STARTUP_NOTIFICATION', have_startup_notification)
67− cdata.set('HAVE_INTROSPECTION', have_introspection)
68−+cdata.set('HAVE_LIBCAPNG', have_libcapng)
69− cdata.set('HAVE_PROFILER', have_profiler)
70−
71− xkb_base = xkeyboard_config_dep.get_pkgconfig_variable('xkb_base')
72−@@ -443,6 +447,7 @@ output = [
73− ' Startup notification..... ' + have_startup_notification.to_string(),
74− ' Introspection............ ' + have_introspection.to_string(),
75− ' Profiler................. ' + have_profiler.to_string(),
76−+ ' libcap-ng................ ' + have_libcapng.to_string(),
77− '',
78− ' Tests:',
79− '',
80−diff --git a/meson_options.txt b/meson_options.txt
81−index 73aa7ad..8bfaacd 100644
82−--- a/meson_options.txt
83−+++ b/meson_options.txt
84−@@ -152,3 +152,9 @@ option('xwayland_grab_default_access_rules',
85− value: 'gnome-boxes,remote-viewer,virt-viewer,virt-manager,vinagre,vncviewer,Xephyr',
86− description: 'Comma delimited list of applications ressources or class allowed to issue X11 grabs in Xwayland'
87− )
88−+
89−+option('libcapng',
90−+ type: 'feature',
91−+ value: 'auto',
92−+ description: 'Enable libcap-ng support'
93−+)
94−diff --git a/src/core/main.c b/src/core/main.c
95−index 3935f35..ecf3cb2 100644
96−--- a/src/core/main.c
97−+++ b/src/core/main.c
98−@@ -66,6 +66,10 @@
99− #include <girepository.h>
100− #endif
101−
102−+#ifdef HAVE_LIBCAPNG
103−+#include <cap-ng.h>
104−+#endif
105−+
106− #if defined(HAVE_NATIVE_BACKEND) && defined(HAVE_WAYLAND)
107− #include <systemd/sd-login.h>
108− #endif /* HAVE_WAYLAND && HAVE_NATIVE_BACKEND */
109−@@ -673,6 +677,12 @@ meta_run (void)
110− if (!meta_display_open ())
111− meta_exit (META_EXIT_ERROR);
112−
113−+#ifdef HAVE_LIBCAPNG
114−+ capng_clear(CAPNG_SELECT_BOTH);
115−+ capng_update(CAPNG_ADD, CAPNG_EFFECTIVE|CAPNG_PERMITTED, CAP_SYS_NICE);
116−+ capng_apply(CAPNG_SELECT_BOTH);
117−+#endif
118−+
119− g_main_loop_run (meta_main_loop);
120−
121− meta_finalize ();
122−diff --git a/src/meson.build b/src/meson.build
123−index 90d8073..a9fffa2 100644
124−--- a/src/meson.build
125−+++ b/src/meson.build
126−@@ -18,6 +18,7 @@ mutter_pkg_deps = [
127− glib_dep,
128− gsettings_desktop_schemas_dep,
129− gtk3_dep,
130−+ libcapng_dep,
131− pango_dep,
132− ]
133−
134−--
135−git-series 0.9.1
pkgs/desktops/gnome/core/mutter/3.34/0003-Fix-glitches-in-gala.patchdeleted−33
@@ -1,33 +0,0 @@
1−From 5d2b9a03f24b4dbc423adff52b2eeb478c4b5913 Mon Sep 17 00:00:00 2001
2−Message-Id: <5d2b9a03f24b4dbc423adff52b2eeb478c4b5913.1601082838.git-series.worldofpeace@protonmail.ch>
3−In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
4−References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
5−From: WORLDofPEACE <worldofpeace@protonmail.ch>
6−Date: Sun, 5 Apr 2020 23:06:03 -0400
7−Subject: [PATCH 3/7] Fix glitches in gala
8−
9−From: worldofpeace <worldofpeace@protonmail.ch>
10−
11−This fixes issues for users of mutter like in gala[0].
12−
13−Upstream report: https://gitlab.gnome.org/GNOME/mutter/issues/536
14−[0]: https://github.com/elementary/gala/issues/605
15−---
16− clutter/clutter/clutter-actor.c | 2 +-
17− 1 file changed, 1 insertion(+), 1 deletion(-)
18−
19−diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c
20−index ecf9a59..07b8b71 100644
21−--- a/clutter/clutter/clutter-actor.c
22−+++ b/clutter/clutter/clutter-actor.c
23−@@ -17831,7 +17831,7 @@ _clutter_actor_get_paint_volume_mutable (ClutterActor *self)
24− if (_clutter_actor_get_paint_volume_real (self, &priv->paint_volume))
25− {
26− priv->paint_volume_valid = TRUE;
27−- priv->needs_paint_volume_update = FALSE;
28−+ //priv->needs_paint_volume_update = FALSE;
29− return &priv->paint_volume;
30− }
31− else
32−--
33−git-series 0.9.1
pkgs/desktops/gnome/core/mutter/3.34/0004-profiler-track-changes-in-GLib-and-Sysprof.patchdeleted−58
@@ -1,58 +0,0 @@
1−From 5a9f9fbaa1322b2ad0a52fcdd171d4f44d031918 Mon Sep 17 00:00:00 2001
2−Message-Id: <5a9f9fbaa1322b2ad0a52fcdd171d4f44d031918.1601082838.git-series.worldofpeace@protonmail.ch>
3−In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
4−References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
5−From: WORLDofPEACE <worldofpeace@protonmail.ch>
6−Date: Wed, 30 Oct 2019 15:23:24 -0700
7−Subject: [PATCH 4/7] profiler: track changes in GLib and Sysprof
8−
9−From: Christian Hergert <chergert@redhat.com>
10−
11−This tracks the changes to gdbus-codegen in terms of how GUnixFDList is
12−done to use the UnixFD annotation.
13−
14−https://gitlab.gnome.org/GNOME/mutter/merge_requests/908
15−(cherry picked from commit 605171291993460f31d470a8143d6438d0c6169c)
16−---
17− src/backends/meta-profiler.c | 7 ++-----
18− 1 file changed, 2 insertions(+), 5 deletions(-)
19−
20−diff --git a/src/backends/meta-profiler.c b/src/backends/meta-profiler.c
21−index 10d433a..0d62701 100644
22−--- a/src/backends/meta-profiler.c
23−+++ b/src/backends/meta-profiler.c
24−@@ -51,13 +51,12 @@ G_DEFINE_TYPE_WITH_CODE (MetaProfiler,
25− static gboolean
26− handle_start (MetaDBusSysprof3Profiler *dbus_profiler,
27− GDBusMethodInvocation *invocation,
28−+ GUnixFDList *fd_list,
29− GVariant *options,
30− GVariant *fd_variant)
31− {
32− MetaProfiler *profiler = META_PROFILER (dbus_profiler);
33− GMainContext *main_context = g_main_context_default ();
34−- GDBusMessage *message;
35−- GUnixFDList *fd_list;
36− const char *group_name;
37− int position;
38− int fd = -1;
39−@@ -73,8 +72,6 @@ handle_start (MetaDBusSysprof3Profiler *dbus_profiler,
40−
41− g_variant_get (fd_variant, "h", &position);
42−
43−- message = g_dbus_method_invocation_get_message (invocation);
44−- fd_list = g_dbus_message_get_unix_fd_list (message);
45− if (fd_list)
46− fd = g_unix_fd_list_get (fd_list, position, NULL);
47−
48−@@ -98,7 +95,7 @@ handle_start (MetaDBusSysprof3Profiler *dbus_profiler,
49−
50− g_debug ("Profiler running");
51−
52−- meta_dbus_sysprof3_profiler_complete_start (dbus_profiler, invocation);
53−+ meta_dbus_sysprof3_profiler_complete_start (dbus_profiler, invocation, NULL);
54− return TRUE;
55− }
56−
57−--
58−git-series 0.9.1
pkgs/desktops/gnome/core/mutter/3.34/0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patchdeleted−32
@@ -1,32 +0,0 @@
1−From 2caa072dd8e283a8e43febeab55fe8b76dda69b7 Mon Sep 17 00:00:00 2001
2−Message-Id: <2caa072dd8e283a8e43febeab55fe8b76dda69b7.1601082838.git-series.worldofpeace@protonmail.ch>
3−In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
4−References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
5−From: WORLDofPEACE <worldofpeace@protonmail.ch>
6−Date: Wed, 29 Jan 2020 11:02:33 +0100
7−Subject: [PATCH 5/7] meta: Add missing display.h to meta-workspace-manager.h
8−
9−From: Corentin Noël <corentin@elementary.io>
10−
11−This is required because MetaDisplayCorner is only defined in display.h
12−
13−https://gitlab.gnome.org/GNOME/mutter/merge_requests/1025
14−(cherry picked from commit 9d390ee49fb1f6300336e82ae94cc8061c6bae12)
15−---
16− src/meta/meta-workspace-manager.h | 1 +
17− 1 file changed, 1 insertion(+)
18−
19−diff --git a/src/meta/meta-workspace-manager.h b/src/meta/meta-workspace-manager.h
20−index 0390c44..92cd681 100644
21−--- a/src/meta/meta-workspace-manager.h
22−+++ b/src/meta/meta-workspace-manager.h
23−@@ -26,6 +26,7 @@
24− #include <glib-object.h>
25−
26− #include <meta/common.h>
27−+#include <meta/display.h>
28− #include <meta/prefs.h>
29− #include <meta/types.h>
30−
31−--
32−git-series 0.9.1
pkgs/desktops/gnome/core/mutter/3.34/0006-build-bump-ABI-to-sysprof-capture-4.patchdeleted−102
@@ -1,102 +0,0 @@
1−From 0c95e5a5b31eab93f149b90982680f38e8977063 Mon Sep 17 00:00:00 2001
2−Message-Id: <0c95e5a5b31eab93f149b90982680f38e8977063.1601082838.git-series.worldofpeace@protonmail.ch>
3−In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
4−References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
5−From: WORLDofPEACE <worldofpeace@protonmail.ch>
6−Date: Sat, 4 Jul 2020 12:01:28 -0700
7−Subject: [PATCH 6/7] build: bump ABI to sysprof-capture-4
8−
9−From: Christian Hergert <chergert@redhat.com>
10−
11−GLib will now be linking against sysprof-capture-4.a. To support that,
12−sysprof had to remove the GLib dependency from sysprof-capture-4 which
13−had the side-effect of breaking ABi.
14−
15−This bumps the dependency and includes a fallback to compile just the
16−libsysprof-capture-4.a using a subproject wrap.
17−
18−https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1352
19−(cherry picked from commit 2c08eb6d163b6758efec9eafe1d5c17fc1ab3692)
20−---
21− meson.build | 20 ++++++++++++++++++--
22− src/meson.build | 8 ++++++--
23− subprojects/sysprof.wrap | 4 ++++
24− 3 files changed, 28 insertions(+), 4 deletions(-)
25− create mode 100644 subprojects/sysprof.wrap
26−
27−diff --git a/meson.build b/meson.build
28−index 86970df..3dc0098 100644
29−--- a/meson.build
30−+++ b/meson.build
31−@@ -1,6 +1,6 @@
32− project('mutter', 'c',
33− version: '3.34.6',
34−- meson_version: '>= 0.50.0',
35−+ meson_version: '>= 0.51.0',
36− license: 'GPLv2+'
37− )
38−
39−@@ -52,6 +52,9 @@ gbm_req = '>= 10.3'
40− # screen cast version requirements
41− libpipewire_req = '>= 0.2.5'
42−
43−+# profiler requirements
44−+sysprof_req = '>= 3.37.2'
45−+
46− gnome = import('gnome')
47− pkg = import('pkgconfig')
48− i18n = import('i18n')
49−@@ -275,7 +278,20 @@ endif
50−
51− have_profiler = get_option('profiler')
52− if have_profiler
53−- sysprof_dep = dependency('sysprof-capture-3')
54−+ # libsysprof-capture support
55−+ sysprof_dep = dependency('sysprof-capture-4',
56−+ required: true,
57−+ default_options: [
58−+ 'enable_examples=false',
59−+ 'enable_gtk=false',
60−+ 'enable_tests=false',
61−+ 'enable_tools=false',
62−+ 'libsysprof=false',
63−+ 'with_sysprofd=none',
64−+ 'help=false',
65−+ ],
66−+ fallback: ['sysprof', 'libsysprof_capture_dep'],
67−+ )
68− endif
69−
70− required_functions = [
71−diff --git a/src/meson.build b/src/meson.build
72−index a9fffa2..a91baa1 100644
73−--- a/src/meson.build
74−+++ b/src/meson.build
75−@@ -711,9 +711,13 @@ if have_profiler
76− 'backends/meta-profiler.h',
77− ]
78−
79−- dbus_interfaces_dir = join_paths(datadir, 'dbus-1', 'interfaces')
80−- sysprof3_dbus_file = join_paths(dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml')
81−+ if sysprof_dep.type_name() == 'pkgconfig'
82−+ sysprof_dbus_interfaces_dir = join_paths(sysprof_dep.get_pkgconfig_variable('datadir'), 'dbus-1', 'interfaces')
83−+ else
84−+ sysprof_dbus_interfaces_dir = join_paths(meson.source_root(), 'subprojects', 'sysprof', 'src')
85−+ endif
86−
87−+ sysprof3_dbus_file = join_paths(sysprof_dbus_interfaces_dir, 'org.gnome.Sysprof3.Profiler.xml')
88− dbus_sysprof3_profiler_built_sources = gnome.gdbus_codegen('meta-dbus-sysprof3-profiler',
89− sysprof3_dbus_file,
90− interface_prefix: 'org.gnome.',
91−diff --git a/subprojects/sysprof.wrap b/subprojects/sysprof.wrap
92−new file mode 100644
93−index 0000000..c8f5883
94−--- /dev/null
95−+++ b/subprojects/sysprof.wrap
96−@@ -0,0 +1,4 @@
97−+[wrap-git]
98−+directory=sysprof
99−+url=https://gitlab.gnome.org/GNOME/sysprof.git
100−+revision=cae28263ff5dd4a510d82f3dc2e3a3b3d9b386fb
101−--
102−git-series 0.9.1
pkgs/desktops/gnome/core/mutter/3.34/0007-fix-paths.patchdeleted−27
@@ -1,27 +0,0 @@
1−From 7bbbf082599ec786f64f2135c9acc0b4fe2ecbf4 Mon Sep 17 00:00:00 2001
2−Message-Id: <7bbbf082599ec786f64f2135c9acc0b4fe2ecbf4.1601082838.git-series.worldofpeace@protonmail.ch>
3−In-Reply-To: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
4−References: <7b94f980f2a099dd4b19b60c357cfcf5ff7ada6d.1601082838.git-series.worldofpeace@protonmail.ch>
5−From: WORLDofPEACE <worldofpeace@protonmail.ch>
6−Date: Fri, 25 Sep 2020 20:48:33 -0400
7−Subject: [PATCH 7/7] fix paths
8−
9−---
10− src/core/util.c | 2 +-
11− 1 file changed, 1 insertion(+), 1 deletion(-)
12−
13−diff --git a/src/core/util.c b/src/core/util.c
14−index 79bcfdc..87ce549 100644
15−--- a/src/core/util.c
16−+++ b/src/core/util.c
17−@@ -623,7 +623,7 @@ meta_show_dialog (const char *type,
18−
19− args = g_ptr_array_new ();
20−
21−- append_argument (args, "zenity");
22−+ append_argument (args, "@zenity@/bin/zenity");
23− append_argument (args, type);
24−
25− if (display)
26−--
27−git-series 0.9.1
pkgs/desktops/gnome/core/mutter/3.34/default.nix → pkgs/desktops/gnome/core/mutter/3.38/default.nixrenamed+62−32
@@ -1,35 +1,35 @@
11{ fetchurl
2−, fetchpatch
32, substituteAll
4−, lib, stdenv
3+, runCommand
4+, lib
5+, stdenv
56, pkg-config
67, gnome
7−, pantheon
88, gettext
99, gobject-introspection
10−, upower
1110, cairo
1211, pango
13−, cogl
1412, json-glib
1513, libstartup_notification
1614, zenity
17−, libcanberra-gtk3
15+, libcanberra
1816, ninja
1917, xkeyboard_config
2018, libxkbfile
19+, libXdamage
2120, libxkbcommon
2221, libXtst
2322, libinput
23+, libdrm
2424, gsettings-desktop-schemas
2525, glib
2626, gtk3
2727, gnome-desktop
28−, geocode-glib
29−, pipewire_0_2
28+, pipewire
3029, libgudev
3130, libwacom
3231, xwayland
32+, mesa
3333, meson
3434, gnome-settings-daemon
3535, xorgserver
@@ -39,23 +39,47 @@
3939, desktop-file-utils
4040, libcap_ng
4141, egl-wayland
42+, graphene
43+, wayland-protocols
44+, pantheon
4245}:
4346
44−stdenv.mkDerivation rec {
47+let self = stdenv.mkDerivation rec {
4548 pname = "mutter";
46− version = "3.34.6";
49+ version = "3.38.6";
4750
4851 outputs = [ "out" "dev" "man" ];
4952
5053 src = fetchurl {
5154 url = "mirror://gnome/sources/mutter/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
52− hash = "sha256-I73ofTO4mBNYgxzsiRW7X/Hq+cHedMkM0WYLG5WINSY=";
55+ sha256 = "0mxln9azl4krmknq2vmhd15lgpa2q7gh7whiv14nsqbr9iaxmg2x";
5356 };
5457
58+ patches = [
59+ # Drop inheritable cap_sys_nice, to prevent the ambient set from leaking
60+ # from mutter/gnome-shell, see https://github.com/NixOS/nixpkgs/issues/71381
61+ ./drop-inheritable.patch
62+
63+ # Fixes issues for users of mutter like in gala.
64+ # https://github.com/elementary/gala/issues/605
65+ # https://gitlab.gnome.org/GNOME/mutter/issues/536
66+ ./fix-glitches-in-gala.patch
67+
68+ (substituteAll {
69+ src = ./fix-paths.patch;
70+ inherit zenity;
71+ })
72+ ];
73+
5574 mesonFlags = [
5675 "-Degl_device=true"
5776 "-Dinstalled_tests=false" # TODO: enable these
5877 "-Dwayland_eglstream=true"
78+ "-Dprofiler=true"
79+ "-Dxwayland_path=${xwayland}/bin/Xwayland"
80+ # This should be auto detected, but it looks like it manages a false
81+ # positive.
82+ "-Dxwayland_initfd=disabled"
5983 ];
6084
6185 propagatedBuildInputs = [
@@ -63,11 +87,13 @@ stdenv.mkDerivation rec {
6387 json-glib
6488 libXtst
6589 libcap_ng
90+ graphene
6691 ];
6792
6893 nativeBuildInputs = [
6994 desktop-file-utils
7095 gettext
96+ mesa # needed for gbm
7197 meson
7298 ninja
7399 pkg-config
@@ -78,42 +104,28 @@ stdenv.mkDerivation rec {
78104
79105 buildInputs = [
80106 cairo
81− cogl
82107 egl-wayland
83− geocode-glib
84108 glib
85109 gnome-desktop
86110 gnome-settings-daemon
87111 gobject-introspection
88112 gsettings-desktop-schemas
89113 gtk3
90− libcanberra-gtk3
114+ libcanberra
115+ libdrm
91116 libgudev
92117 libinput
93118 libstartup_notification
94119 libwacom
95120 libxkbcommon
96121 libxkbfile
122+ libXdamage
97123 pango
98− pipewire_0_2 # TODO: backport pipewire 0.3 support
124+ pipewire
99125 sysprof
100− upower
101126 xkeyboard_config
102127 xwayland
103− zenity
104− ];
105−
106− patches = [
107− ./0001-EGL-Include-EGL-eglmesaext.h.patch
108− ./0002-drop-inheritable.patch
109− ./0003-Fix-glitches-in-gala.patch
110− ./0004-profiler-track-changes-in-GLib-and-Sysprof.patch
111− ./0005-meta-Add-missing-display.h-to-meta-workspace-manager.h.patch
112− ./0006-build-bump-ABI-to-sysprof-capture-4.patch
113− (substituteAll {
114− src = ./0007-fix-paths.patch;
115− inherit zenity;
116− })
128+ wayland-protocols
117129 ];
118130
119131 postPatch = ''
@@ -124,11 +136,29 @@ stdenv.mkDerivation rec {
124136 ${glib.dev}/bin/glib-compile-schemas "$out/share/glib-2.0/schemas"
125137 '';
126138
139+ # Install udev files into our own tree.
140+ PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
141+
142+ passthru = {
143+ libdir = "${self}/lib/mutter-7";
144+
145+ tests = {
146+ libdirExists = runCommand "mutter-libdir-exists" {} ''
147+ if [[ ! -d ${self.libdir} ]]; then
148+ echo "passthru.libdir should contain a directory, “${self.libdir}” is not one."
149+ exit 1
150+ fi
151+ touch $out
152+ '';
153+ };
154+ };
155+
127156 meta = with lib; {
128157 description = "A window manager for GNOME";
129158 homepage = "https://gitlab.gnome.org/GNOME/mutter";
130− license = licenses.gpl2;
159+ license = licenses.gpl2Plus;
131160 maintainers = pantheon.maintainers;
132161 platforms = platforms.linux;
133162 };
134−}
163+};
164+in self
pkgs/desktops/gnome/core/mutter/drop-inheritable.patch → pkgs/desktops/gnome/core/mutter/3.38/drop-inheritable.patchrenamed

The content is the same.

pkgs/desktops/gnome/core/mutter/3.38/fix-glitches-in-gala.patchnew file+27
@@ -0,0 +1,27 @@
1+From a58ace29db48f98ad59f4f309d49b458c68a6eec Mon Sep 17 00:00:00 2001
2+From: Bobby Rong <rjl931189261@126.com>
3+Date: Wed, 28 Jul 2021 22:08:11 +0800
4+Subject: [PATCH] Fix glitches in gala
5+
6+Co-Authored-By: WORLDofPEACE <worldofpeace@protonmail.ch>
7+
8+This fixes issues for users of mutter like in gala[0].
9+
10+Upstream report: https://gitlab.gnome.org/GNOME/mutter/issues/536
11+[0]: https://github.com/elementary/gala/issues/605
12+---
13+ clutter/clutter/clutter-actor.c | 1 -
14+ 1 file changed, 1 deletion(-)
15+
16+diff --git a/clutter/clutter/clutter-actor.c b/clutter/clutter/clutter-actor.c
17+index febfb31918..71906000c0 100644
18+--- a/clutter/clutter/clutter-actor.c
19++++ b/clutter/clutter/clutter-actor.c
20+@@ -15926,7 +15926,6 @@ _clutter_actor_get_paint_volume_mutable (ClutterActor *self)
21+ if (_clutter_actor_get_paint_volume_real (self, &priv->paint_volume))
22+ {
23+ priv->paint_volume_valid = TRUE;
24+- priv->needs_paint_volume_update = FALSE;
25+ return &priv->paint_volume;
26+ }
27+ else
pkgs/desktops/gnome/core/mutter/3.38/fix-paths.patchnew file+13
@@ -0,0 +1,13 @@
1+diff --git a/src/core/util.c b/src/core/util.c
2+index 57b73747d..f424cc81c 100644
3+--- a/src/core/util.c
4++++ b/src/core/util.c
5+@@ -636,7 +636,7 @@ meta_show_dialog (const char *type,
6+
7+ args = g_ptr_array_new ();
8+
9+- append_argument (args, "zenity");
10++ append_argument (args, "@zenity@/bin/zenity");
11+ append_argument (args, type);
12+
13+ if (display)
pkgs/desktops/gnome/default.nix+8−4
@@ -88,6 +88,9 @@ lib.makeScope pkgs.newScope (self: with self; {
8888
8989 gnome-settings-daemon = callPackage ./core/gnome-settings-daemon { };
9090
91+ # Using 3.38 to match Mutter used in Pantheon
92+ gnome-settings-daemon338 = callPackage ./core/gnome-settings-daemon/3.38 { };
93+
9194 gnome-software = callPackage ./core/gnome-software { };
9295
9396 gnome-system-monitor = callPackage ./core/gnome-system-monitor { };
@@ -106,9 +109,8 @@ lib.makeScope pkgs.newScope (self: with self; {
106109
107110 mutter = callPackage ./core/mutter { };
108111
109− # Needed for elementary's gala and greeter until 3.36 support has more bugfixes
110− # https://github.com/elementary/gala/issues/763
111− mutter334 = callPackage ./core/mutter/3.34 { };
112+ # Needed for elementary's gala and greeter until support for higher versions is provided
113+ mutter338 = callPackage ./core/mutter/3.38 { };
112114
113115 nautilus = callPackage ./core/nautilus { };
114116
@@ -355,7 +357,9 @@ lib.makeScope pkgs.newScope (self: with self; {
355357
356358 maintainers = lib.teams.gnome.members;
357359
358− mutter328 = throw "Removed as Pantheon is upgraded to mutter334.";
360+ mutter328 = throw "Removed as Pantheon is upgraded to mutter338.";
361+
362+ mutter334 = throw "Removed as Pantheon is upgraded to mutter338.";
359363
360364 gnome-getting-started-docs = throw "Removed in favour of gnome-tour.";
361365
pkgs/desktops/pantheon/apps/appcenter/default.nix+8−2
@@ -30,15 +30,21 @@
3030
3131stdenv.mkDerivation rec {
3232 pname = "appcenter";
33− version = "3.6.0";
33+ version = "3.7.1";
3434
3535 src = fetchFromGitHub {
3636 owner = "elementary";
3737 repo = pname;
3838 rev = version;
39− sha256 = "0kwqgilhyrj2nbvw5y34nzch5h9jnrg1a1n333qdsx4ax6yrxh4j";
39+ sha256 = "1llkc0p47jcx992lkwics86vv622dmmvm5hxrdsq26j9crcd5dam";
4040 };
4141
42+ patches = [
43+ # Try to remove other backends to make flatpak backend work.
44+ # https://github.com/NixOS/nixpkgs/issues/70214
45+ ./flatpak-only.patch
46+ ];
47+
4248 passthru = {
4349 updateScript = nix-update-script {
4450 attrPath = "pantheon.${pname}";
pkgs/desktops/pantheon/apps/appcenter/flatpak-only.patchnew file+196
@@ -0,0 +1,196 @@
1+From 63594caa1da772de504ab1d93b69aae148f29f64 Mon Sep 17 00:00:00 2001
2+From: Bobby Rong <rjl931189261@126.com>
3+Date: Wed, 1 Sep 2021 12:25:09 +0800
4+Subject: [PATCH] Drop PackageKitBackend and UbuntuDriversBackend
5+
6+---
7+ src/Application.vala | 14 ---------
8+ src/Core/BackendAggregator.vala | 2 --
9+ src/Core/UpdateManager.vala | 56 ---------------------------------
10+ src/MainWindow.vala | 17 ----------
11+ src/Views/Homepage.vala | 15 ---------
12+ 5 files changed, 104 deletions(-)
13+
14+diff --git a/src/Application.vala b/src/Application.vala
15+index 65fae5aa..9d42b14f 100644
16+--- a/src/Application.vala
17++++ b/src/Application.vala
18+@@ -167,10 +167,6 @@ public class AppCenter.App : Gtk.Application {
19+
20+ var client = AppCenterCore.Client.get_default ();
21+
22+- if (fake_update_packages != null) {
23+- AppCenterCore.PackageKitBackend.get_default ().fake_packages = fake_update_packages;
24+- }
25+-
26+ if (silent) {
27+ NetworkMonitor.get_default ().network_changed.connect ((available) => {
28+ schedule_cache_update (!available);
29+@@ -183,16 +179,6 @@ public class AppCenter.App : Gtk.Application {
30+ return;
31+ }
32+
33+- if (local_path != null) {
34+- var file = File.new_for_commandline_arg (local_path);
35+-
36+- try {
37+- local_package = AppCenterCore.PackageKitBackend.get_default ().add_local_component_file (file);
38+- } catch (Error e) {
39+- warning ("Failed to load local AppStream XML file: %s", e.message);
40+- }
41+- }
42+-
43+ if (main_window == null) {
44+ main_window = new MainWindow (this);
45+
46+diff --git a/src/Core/BackendAggregator.vala b/src/Core/BackendAggregator.vala
47+index 2f8bdedf..b705ca87 100644
48+--- a/src/Core/BackendAggregator.vala
49++++ b/src/Core/BackendAggregator.vala
50+@@ -26,8 +26,6 @@ public class AppCenterCore.BackendAggregator : Backend, Object {
51+
52+ construct {
53+ backends = new Gee.ArrayList<unowned Backend> ();
54+- backends.add (PackageKitBackend.get_default ());
55+- backends.add (UbuntuDriversBackend.get_default ());
56+ backends.add (FlatpakBackend.get_default ());
57+
58+ unowned Gtk.Application app = (Gtk.Application) GLib.Application.get_default ();
59+diff --git a/src/Core/UpdateManager.vala b/src/Core/UpdateManager.vala
60+index 29fa397a..ce42dd57 100644
61+--- a/src/Core/UpdateManager.vala
62++++ b/src/Core/UpdateManager.vala
63+@@ -53,42 +53,9 @@ public class AppCenterCore.UpdateManager : Object {
64+ installed_package.update_state ();
65+ }
66+
67+- Pk.Results pk_updates;
68+- unowned PackageKitBackend client = PackageKitBackend.get_default ();
69+- try {
70+- pk_updates = yield client.get_updates (cancellable);
71+- } catch (Error e) {
72+- warning ("Unable to get updates from PackageKit backend: %s", e.message);
73+- return 0;
74+- }
75+-
76+ uint os_count = 0;
77+ string os_desc = "";
78+
79+- var package_array = pk_updates.get_package_array ();
80+- debug ("PackageKit backend reports %d updates", package_array.length);
81+-
82+- package_array.foreach ((pk_package) => {
83+- var pkg_name = pk_package.get_name ();
84+- var appcenter_package = client.lookup_package_by_id (pkg_name);
85+- if (appcenter_package != null) {
86+- debug ("Added %s to app updates", pkg_name);
87+- apps_with_updates.add (appcenter_package);
88+- appcenter_package.latest_version = pk_package.get_version ();
89+- } else {
90+- debug ("Added %s to OS updates", pkg_name);
91+- os_count++;
92+- unowned string pkg_summary = pk_package.get_summary ();
93+- unowned string pkg_version = pk_package.get_version ();
94+- os_desc += Markup.printf_escaped (
95+- "<li>%s\n\t%s\n\t%s</li>\n",
96+- pkg_name,
97+- pkg_summary,
98+- _("Version: %s").printf (pkg_version)
99+- );
100+- }
101+- });
102+-
103+ os_updates.component.set_pkgnames ({});
104+ os_updates.change_information.clear_update_info ();
105+
106+@@ -160,29 +127,6 @@ public class AppCenterCore.UpdateManager : Object {
107+ count += 1;
108+ }
109+
110+- pk_updates.get_details_array ().foreach ((pk_detail) => {
111+- var pk_package = new Pk.Package ();
112+- try {
113+- pk_package.set_id (pk_detail.get_package_id ());
114+- var pkg_name = pk_package.get_name ();
115+- var appcenter_package = client.lookup_package_by_id (pkg_name);
116+- if (appcenter_package != null) {
117+- appcenter_package.change_information.updatable_packages.@set (client, pk_package.get_id ());
118+- appcenter_package.change_information.size += pk_detail.size;
119+- appcenter_package.update_state ();
120+- } else {
121+- var pkgnames = os_updates.component.pkgnames;
122+- pkgnames += pkg_name;
123+- os_updates.component.pkgnames = pkgnames;
124+-
125+- os_updates.change_information.updatable_packages.@set (client, pk_package.get_id ());
126+- os_updates.change_information.size += pk_detail.size;
127+- }
128+- } catch (Error e) {
129+- critical (e.message);
130+- }
131+- });
132+-
133+ os_updates.update_state ();
134+ return count;
135+ }
136+diff --git a/src/MainWindow.vala b/src/MainWindow.vala
137+index a32ce47b..b9f8594a 100644
138+--- a/src/MainWindow.vala
139++++ b/src/MainWindow.vala
140+@@ -292,23 +292,6 @@ public class AppCenter.MainWindow : Hdy.ApplicationWindow {
141+ }
142+
143+ public override bool delete_event (Gdk.EventAny event) {
144+- unowned AppCenterCore.PackageKitBackend client = AppCenterCore.PackageKitBackend.get_default ();
145+- if (client.working) {
146+- if (task_finished_connection != 0U) {
147+- client.disconnect (task_finished_connection);
148+- }
149+-
150+- hide ();
151+- task_finished_connection = client.notify["working"].connect (() => {
152+- if (!visible && !client.working) {
153+- destroy ();
154+- }
155+- });
156+-
157+- AppCenterCore.Client.get_default ().cancel_updates (false); //Timeouts keep running
158+- return true;
159+- }
160+-
161+ return false;
162+ }
163+
164+diff --git a/src/Views/Homepage.vala b/src/Views/Homepage.vala
165+index 67d1e208..48af8f61 100644
166+--- a/src/Views/Homepage.vala
167++++ b/src/Views/Homepage.vala
168+@@ -212,7 +212,6 @@ public class AppCenter.Homepage : AbstractView {
169+ recently_updated_revealer.reveal_child = recently_updated_carousel.get_children ().length () > 0;
170+
171+ var houston = AppCenterCore.Houston.get_default ();
172+- var pk_client = AppCenterCore.PackageKitBackend.get_default ();
173+ var packages_for_banner = new Gee.LinkedList<AppCenterCore.Package> ();
174+
175+ var newest_ids = yield houston.get_app_ids ("/newest/project");
176+@@ -220,20 +219,6 @@ public class AppCenter.Homepage : AbstractView {
177+ Utils.shuffle_array (trending_ids);
178+
179+ var packages = new Gee.HashMap<string, AppCenterCore.Package> ();
180+- packages.set_all (pk_client.get_packages_for_component_ids (newest_ids));
181+- packages.set_all (pk_client.get_packages_for_component_ids (trending_ids));
182+-
183+- if (!AppCenterCore.PackageKitBackend.supports_parallel_package_queries) {
184+- foreach (var package in packages.values) {
185+- package.update_state ();
186+- }
187+- } else {
188+- try {
189+- yield pk_client.update_multiple_package_state (packages.values);
190+- } catch (Error e) {
191+- warning ("Error while getting installed state of banner packages: %s", e.message);
192+- }
193+- }
194+
195+ foreach (var package in newest_ids) {
196+ if (packages_for_banner.size >= NUM_PACKAGES_IN_BANNER) {
pkgs/desktops/pantheon/apps/elementary-calculator/default.nix+5−2
@@ -1,5 +1,6 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
45, pantheon
56, pkg-config
@@ -12,6 +13,7 @@
1213, python3
1314, granite
1415, libgee
16+, libhandy
1517, elementary-icon-theme
1618, appstream
1719, wrapGAppsHook
@@ -19,7 +21,7 @@
1921
2022stdenv.mkDerivation rec {
2123 pname = "elementary-calculator";
22− version = "1.6.2";
24+ version = "1.7.0";
2325
2426 repoName = "calculator";
2527
@@ -27,7 +29,7 @@ stdenv.mkDerivation rec {
2729 owner = "elementary";
2830 repo = repoName;
2931 rev = version;
30− sha256 = "sha256-kOQr94PAfLPv4LjY2WDdTtlbf3/tYf+NUESZ94+L41M=";
32+ sha256 = "1kl2iximcmbk8inklb2xav7dp08lp5pn9xxa59327zw13gdy8fkf";
3133 };
3234
3335 passthru = {
@@ -53,6 +55,7 @@ stdenv.mkDerivation rec {
5355 granite
5456 gtk3
5557 libgee
58+ libhandy
5659 ];
5760
5861 postPatch = ''
pkgs/desktops/pantheon/apps/elementary-calendar/default.nix+4−2
@@ -10,6 +10,7 @@
1010, gtk3
1111, granite
1212, libgee
13+, libhandy
1314, geoclue2
1415, libchamplain
1516, clutter
@@ -27,7 +28,7 @@
2728
2829stdenv.mkDerivation rec {
2930 pname = "elementary-calendar";
30− version = "5.1.1";
31+ version = "6.0.1";
3132
3233 repoName = "calendar";
3334
@@ -35,7 +36,7 @@ stdenv.mkDerivation rec {
3536 owner = "elementary";
3637 repo = repoName;
3738 rev = version;
38− sha256 = "18npf4zzf2dywr1zkr6fqzcbb70297yvdp5wxw7zyam1xwa86v07";
39+ sha256 = "1caxc42jrys5s4x9qai5wdpcwpkmyvnqx9z75974g7swiz1lrzq6";
3940 };
4041
4142 passthru = {
@@ -66,6 +67,7 @@ stdenv.mkDerivation rec {
6667 gtk3
6768 libchamplain
6869 libgee
70+ libhandy
6971 libical
7072 libnotify
7173 libgdata # required by some dependency transitively
pkgs/desktops/pantheon/apps/elementary-camera/default.nix+6−4
@@ -13,6 +13,7 @@
1313, gtk3
1414, granite
1515, libgee
16+, libhandy
1617, gst_all_1
1718, libcanberra
1819, clutter-gtk
@@ -24,7 +25,7 @@
2425
2526stdenv.mkDerivation rec {
2627 pname = "elementary-camera";
27− version = "1.0.6";
28+ version = "6.0.0";
2829
2930 repoName = "camera";
3031
@@ -32,7 +33,7 @@ stdenv.mkDerivation rec {
3233 owner = "elementary";
3334 repo = repoName;
3435 rev = version;
35− sha256 = "sha256-asl5NdSuLItXebxvqGlSEjwWhdButmka12YQAYkQT44=";
36+ sha256 = "1z5c6pkc7psglxwzby5idsdxvplpi28ckjxrwdngnr22knfdcgag";
3637 };
3738
3839 passthru = {
@@ -61,11 +62,12 @@ stdenv.mkDerivation rec {
6162 granite
6263 gst_all_1.gst-plugins-bad
6364 gst_all_1.gst-plugins-base
64− gst_all_1.gst-plugins-good
65+ (gst_all_1.gst-plugins-good.override { gtkSupport = true; })
6566 gst_all_1.gstreamer
6667 gtk3
6768 libcanberra
6869 libgee
70+ libhandy
6971 ];
7072
7173 postPatch = ''
@@ -76,7 +78,7 @@ stdenv.mkDerivation rec {
7678 meta = with lib; {
7779 description = "Camera app designed for elementary OS";
7880 homepage = "https://github.com/elementary/camera";
79− license = licenses.gpl2Plus;
81+ license = licenses.gpl3Plus;
8082 platforms = platforms.linux;
8183 maintainers = pantheon.maintainers;
8284 };
pkgs/desktops/pantheon/apps/elementary-code/default.nix+11−4
@@ -1,5 +1,6 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
45, pantheon
56, pkg-config
@@ -41,6 +42,15 @@ stdenv.mkDerivation rec {
4142 sha256 = "1w1m52mq3zr9alkxk1c0s4ncscka1km5ppd0r6zm86qan9cjwq0f";
4243 };
4344
45+ patches = [
46+ # Upstream code not respecting our localedir
47+ # https://github.com/elementary/code/pull/1090
48+ (fetchpatch {
49+ url = "https://github.com/elementary/code/commit/88dc40d7bbcc2288ada6673eb8f4fab345d97882.patch";
50+ sha256 = "16y20bvslcm390irlib759703lvf7w6rz4xzaiazjj1r1njwinvv";
51+ })
52+ ];
53+
4454 passthru = {
4555 updateScript = nix-update-script {
4656 attrPath = "pantheon.${pname}";
@@ -53,10 +63,7 @@ stdenv.mkDerivation rec {
5363 meson
5464 ninja
5565 pkg-config
56−
57− # polkit is needed for ITS rules
58− polkit
59−
66+ polkit # needed for ITS rules
6067 python3
6168 vala
6269 wrapGAppsHook
pkgs/desktops/pantheon/apps/elementary-dock/default.nix+5−12
@@ -1,6 +1,5 @@
11{ lib, stdenv
22, fetchFromGitHub
3−, fetchpatch
43, vala
54, atk
65, cairo
@@ -24,11 +23,12 @@
2423, pantheon
2524, meson
2625, ninja
26+, granite
2727}:
2828
2929stdenv.mkDerivation rec {
3030 pname = "elementary-dock";
31− version = "unstable-2020-06-11";
31+ version = "unstable-2021-07-16";
3232
3333 outputs = [ "out" "dev" ];
3434
@@ -37,18 +37,10 @@ stdenv.mkDerivation rec {
3737 src = fetchFromGitHub {
3838 owner = "elementary";
3939 repo = repoName;
40− rev = "0a389ee58939d8c91c340df4e5340fc4b23d0b80";
41− sha256 = "01vinik73s0vmk56samgf49zr2bl4wjv44x15sz2cmh744llckja";
40+ rev = "05fd6fccdf1a769f6737a0d7e57e092825348660";
41+ sha256 = "0lqqq5cx0kk8y7qyjx7z2k3v1kw2xxzns968ianarcji19wzcns4";
4242 };
4343
44− patches = [
45− # Fix double includedir path in plank.pc
46− (fetchpatch {
47− url = "https://github.com/elementary/dock/commit/3bc368e2c4fafcd5b8baca2711c773b0e2441c7c.patch";
48− sha256 = "0gg35phi1cg7ixljc388i0h70w323r1gqzjhanccnsbjpqsgvs3k";
49− })
50− ];
51−
5244 nativeBuildInputs = [
5345 gettext
5446 meson
@@ -67,6 +59,7 @@ stdenv.mkDerivation rec {
6759 glib
6860 gnome-menus
6961 dconf
62+ granite
7063 gtk3
7164 libX11
7265 libXfixes
pkgs/desktops/pantheon/apps/elementary-feedback/default.nix+12−2
@@ -1,5 +1,6 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
45, pantheon
56, pkg-config
@@ -21,7 +22,7 @@
2122
2223stdenv.mkDerivation rec {
2324 pname = "elementary-feedback";
24− version = "6.0.0";
25+ version = "6.1.0";
2526
2627 repoName = "feedback";
2728
@@ -29,9 +30,18 @@ stdenv.mkDerivation rec {
2930 owner = "elementary";
3031 repo = repoName;
3132 rev = version;
32− sha256 = "1fh9a0nfvbrxamki9avm9by760csj2nqy4ya7wzbnqbrrvjwd3fv";
33+ sha256 = "02wydbpa5qaa4xmmh4m7rbj4djbrn2i44zjakj5i6mzwjlj6sv5n";
3334 };
3435
36+ patches = [
37+ # Upstream code not respecting our localedir
38+ # https://github.com/elementary/feedback/pull/48
39+ (fetchpatch {
40+ url = "https://github.com/elementary/feedback/commit/080005153977a86d10099eff6a5b3e68f7b12847.patch";
41+ sha256 = "01710i90qsaqsrjs92ahwwj198bdrrif6mnw29l9har2rncfkfk2";
42+ })
43+ ];
44+
3545 passthru = {
3646 updateScript = nix-update-script {
3747 attrPath = "pantheon.${pname}";
pkgs/desktops/pantheon/apps/elementary-files/0001-filechooser-module-hardcode-gsettings-for-nixos.patchdeleted−35
@@ -1,35 +0,0 @@
1−From f51974c9736c3e28755245d15729578214652343 Mon Sep 17 00:00:00 2001
2−Message-Id: <f51974c9736c3e28755245d15729578214652343.1599178185.git-series.worldofpeace@protonmail.ch>
3−From: worldofpeace <worldofpeace@protonmail.ch>
4−Date: Thu, 3 Sep 2020 20:08:15 -0400
5−Subject: [PATCH] filechooser-module: hardcode gsettings for nixos
6−
7−---
8− filechooser-module/FileChooserDialog.vala | 8 ++++++--
9− 1 file changed, 6 insertions(+), 2 deletions(-)
10−
11−diff --git a/filechooser-module/FileChooserDialog.vala b/filechooser-module/FileChooserDialog.vala
12−index a70fe10..08fde2c 100644
13−--- a/filechooser-module/FileChooserDialog.vala
14−+++ b/filechooser-module/FileChooserDialog.vala
15−@@ -60,10 +60,14 @@ public class CustomFileChooserDialog : Object {
16− /* If not local only during creation, strange bug occurs on fresh installs */
17− chooser_dialog.local_only = true;
18−
19−- var files_preferences = new Settings ("io.elementary.files.preferences");
20−+ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@ELEMENTARY_FILES_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
21−+ SettingsSchema preferences_schema = sss.lookup ("io.elementary.files.preferences", false);
22−+ SettingsSchema chooser_schema = sss.lookup ("io.elementary.files.file-chooser", false);
23−+
24−+ var files_preferences = new Settings.full (preferences_schema, null, null);
25− is_single_click = files_preferences.get_boolean ("single-click");
26−
27−- var chooser_settings = new Settings ("io.elementary.files.file-chooser");
28−+ var chooser_settings = new Settings.full (chooser_schema, null, null);
29−
30− assign_container_box ();
31− remove_gtk_widgets ();
32−
33−base-commit: 57cb89b64fd2d5c08f4aaf23e8c74bfaa5d0384f
34−--
35−git-series 0.9.1
pkgs/desktops/pantheon/apps/elementary-files/default.nix+9−7
@@ -13,9 +13,9 @@
1313, gtk3
1414, glib
1515, libgee
16+, libhandy
1617, granite
1718, libnotify
18−, libunity
1919, pango
2020, elementary-dock
2121, bamf
@@ -27,11 +27,12 @@
2727, libcloudproviders
2828, libgit2-glib
2929, wrapGAppsHook
30+, systemd
3031}:
3132
3233stdenv.mkDerivation rec {
3334 pname = "elementary-files";
34− version = "4.5.0";
35+ version = "6.0.2";
3536
3637 repoName = "files";
3738
@@ -41,7 +42,7 @@ stdenv.mkDerivation rec {
4142 owner = "elementary";
4243 repo = repoName;
4344 rev = version;
44− sha256 = "sha256-wtQW1poX791DAlSFdVV9psnCfBDeVXI2fDZ2GcvvNn8=";
45+ sha256 = "1i514r3adypmcwinmv4c1kybims16xi4i3akx0yy04dib92hbk7c";
4546 };
4647
4748 passthru = {
@@ -73,29 +74,30 @@ stdenv.mkDerivation rec {
7374 libdbusmenu-gtk3
7475 libgee
7576 libgit2-glib
77+ libhandy
7678 libnotify
77− libunity
7879 pango
7980 sqlite
81+ systemd
8082 zeitgeist
8183 ];
8284
8385 patches = [
84− ./0001-filechooser-module-hardcode-gsettings-for-nixos.patch
86+ ./filechooser-portal-hardcode-gsettings-for-nixos.patch
8587 ];
8688
8789 postPatch = ''
8890 chmod +x meson/post_install.py
8991 patchShebangs meson/post_install.py
9092
91− substituteInPlace filechooser-module/FileChooserDialog.vala \
93+ substituteInPlace filechooser-portal/LegacyFileChooserDialog.vala \
9294 --subst-var-by ELEMENTARY_FILES_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"}
9395 '';
9496
9597 meta = with lib; {
9698 description = "File browser designed for elementary OS";
9799 homepage = "https://github.com/elementary/files";
98− license = licenses.lgpl3;
100+ license = licenses.gpl3Plus;
99101 platforms = platforms.linux;
100102 maintainers = pantheon.maintainers;
101103 };
pkgs/desktops/pantheon/apps/elementary-files/filechooser-portal-hardcode-gsettings-for-nixos.patchnew file+24
@@ -0,0 +1,24 @@
1+From 726ab4c0ab01273cb2197e4c151a5b69ff0954b6 Mon Sep 17 00:00:00 2001
2+From: Bobby Rong <rjl931189261@126.com>
3+Date: Fri, 16 Jul 2021 18:24:58 +0800
4+Subject: [PATCH] filechooser-portal: hardcode gsettings for nixos
5+
6+---
7+ filechooser-portal/LegacyFileChooserDialog.vala | 4 +++-
8+ 1 file changed, 3 insertions(+), 1 deletion(-)
9+
10+diff --git a/filechooser-portal/LegacyFileChooserDialog.vala b/filechooser-portal/LegacyFileChooserDialog.vala
11+index 330718f..f383bb1 100644
12+--- a/filechooser-portal/LegacyFileChooserDialog.vala
13++++ b/filechooser-portal/LegacyFileChooserDialog.vala
14+@@ -60,7 +60,9 @@ public class Files.LegacyFileChooserDialog : Object {
15+ /* If not local only during creation, strange bug occurs on fresh installs */
16+ chooser_dialog.local_only = true;
17+
18+- var chooser_settings = new Settings ("io.elementary.files.file-chooser");
19++ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@ELEMENTARY_FILES_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true);
20++ SettingsSchema chooser_schema = sss.lookup ("io.elementary.files.file-chooser", false);
21++ var chooser_settings = new Settings.full (chooser_schema, null, null);
22+
23+ action_area = (Gtk.ButtonBox) chooser_dialog.get_action_area ();
24+
pkgs/desktops/pantheon/apps/elementary-mail/default.nix+9−2
@@ -1,5 +1,6 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
45, pantheon
56, pkg-config
@@ -25,7 +26,7 @@
2526
2627stdenv.mkDerivation rec {
2728 pname = "elementary-mail";
28− version = "6.0.0";
29+ version = "6.1.1";
2930
3031 repoName = "mail";
3132
@@ -33,7 +34,7 @@ stdenv.mkDerivation rec {
3334 owner = "elementary";
3435 repo = repoName;
3536 rev = version;
36− sha256 = "07iiipl0nsp63g5bn1y2hg6bmgj6i9cxqcfpd7q3vmldnkijvaxs";
37+ sha256 = "15ai0x9236pjx76m0756nyc1by78v0lg1dgdiifk868krdvipzzx";
3738 };
3839
3940 passthru = {
@@ -42,6 +43,12 @@ stdenv.mkDerivation rec {
4243 };
4344 };
4445
46+ patches = [
47+ # The app stuck when loading gravatar, temporarily reverts part
48+ # of https://github.com/elementary/mail/pull/600 to fix this
49+ ./revert-fix-warning.patch
50+ ];
51+
4552 nativeBuildInputs = [
4653 appstream
4754 desktop-file-utils
pkgs/desktops/pantheon/apps/elementary-mail/revert-fix-warning.patchnew file+55
@@ -0,0 +1,55 @@
1+From 9e61e9493e78b83b9599886561ee596c096030ed Mon Sep 17 00:00:00 2001
2+From: Bobby Rong <rjl931189261@126.com>
3+Date: Thu, 29 Jul 2021 13:57:21 +0800
4+Subject: [PATCH] Partly revert "Fix Warnings in Vala Code (#600)"
5+
6+This partly reverts commit 9477c24201d3c9c3c7bcc650e0290daa0ee1ab21.
7+---
8+ src/MessageList/MessageListItem.vala | 27 ++++++++++++++++++++++++++-
9+ 1 file changed, 26 insertions(+), 1 deletion(-)
10+
11+diff --git a/src/MessageList/MessageListItem.vala b/src/MessageList/MessageListItem.vala
12+index 96b61027..a7ef8f9e 100644
13+--- a/src/MessageList/MessageListItem.vala
14++++ b/src/MessageList/MessageListItem.vala
15+@@ -290,7 +290,7 @@ public class Mail.MessageListItem : Gtk.ListBoxRow {
16+ expanded = false;
17+ show_all ();
18+
19+- avatar.set_loadable_icon (new GravatarIcon (parsed_address, get_style_context ().get_scale ()));
20++ download_gravatar.begin (parsed_address, avatar.size);
21+
22+ /* Override default handler to stop event propagation. Otherwise clicking the menu will
23+ expand or collapse the MessageListItem. */
24+@@ -348,6 +348,31 @@ public class Mail.MessageListItem : Gtk.ListBoxRow {
25+ });
26+ }
27+
28++ private async void download_gravatar (string address, int size) {
29++ if (avatars[address] == null) {
30++ var uri = "https://secure.gravatar.com/avatar/%s?d=404&s=%d".printf (
31++ Checksum.compute_for_string (ChecksumType.MD5, address.strip ().down ()),
32++ size * get_style_context ().get_scale ()
33++ );
34++
35++ var server_file = File.new_for_uri (uri);
36++ var path = Path.build_filename (Environment.get_tmp_dir (), server_file.get_basename ());
37++ var local_file = File.new_for_path (path);
38++
39++ try {
40++ yield server_file.copy_async (local_file, FileCopyFlags.OVERWRITE, Priority.DEFAULT, null);
41++ avatars[address] = new Gdk.Pixbuf.from_file_at_scale (path, size, size, true);
42++ } catch (Error e) {
43++ debug ("Unable to fetch gravatar: %s", e.message);
44++ return;
45++ }
46++ }
47++
48++ avatar.set_image_load_func (() => {
49++ return avatars[address];
50++ });
51++ }
52++
53+ private void add_inline_composer (ComposerWidget.Type composer_type) {
54+ var message_list_box = (MessageListBox) get_parent ();
55+ message_list_box.add_inline_composer.begin (composer_type, this);
pkgs/desktops/pantheon/apps/elementary-music/default.nix+14−4
@@ -1,5 +1,6 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
45, pantheon
56, pkg-config
@@ -31,7 +32,7 @@
3132
3233stdenv.mkDerivation rec {
3334 pname = "elementary-music";
34− version = "5.1.0";
35+ version = "5.1.1";
3536
3637 repoName = "music";
3738
@@ -39,9 +40,18 @@ stdenv.mkDerivation rec {
3940 owner = "elementary";
4041 repo = repoName;
4142 rev = version;
42− sha256 = "13v7rii9ardyd661s6d4hvvs4ig44v7s3qd1bx7imaigr72gg58b";
43+ sha256 = "1wqsn4ss9acg0scaqpg514ll2dj3bl71wly4mm79qkinhy30yv9n";
4344 };
4445
46+ patches = [
47+ # Upstream code not respecting our localedir
48+ # https://github.com/elementary/music/pull/648
49+ (fetchpatch {
50+ url = "https://github.com/elementary/music/commit/aea97103d59afd213467403a48788e476e47c4c3.patch";
51+ sha256 = "1ayj8l6lb19hhl9bhsdfbq7jgchfmpjx0qkljnld90czcksn95yx";
52+ })
53+ ];
54+
4555 passthru = {
4656 updateScript = nix-update-script {
4757 attrPath = "pantheon.${pname}";
@@ -84,7 +94,7 @@ stdenv.mkDerivation rec {
8494 ];
8595
8696 mesonFlags = [
87− "-Dplugins=lastfm,audioplayer,cdrom,ipod"
97+ "-Dplugins=audioplayer,cdrom,ipod"
8898 ];
8999
90100 postPatch = ''
@@ -95,7 +105,7 @@ stdenv.mkDerivation rec {
95105 meta = with lib; {
96106 description = "Music player and library designed for elementary OS";
97107 homepage = "https://github.com/elementary/music";
98− license = licenses.lgpl2Plus;
108+ license = licenses.gpl3Plus;
99109 platforms = platforms.linux;
100110 maintainers = pantheon.maintainers;
101111 };
pkgs/desktops/pantheon/apps/elementary-photos/default.nix+10−2
@@ -1,5 +1,6 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
45, pantheon
56, meson
@@ -28,7 +29,6 @@
2829, webkitgtk
2930, libwebp
3031, appstream
31−, libunity
3232, wrapGAppsHook
3333, elementary-icon-theme
3434}:
@@ -46,6 +46,15 @@ stdenv.mkDerivation rec {
4646 sha256 = "1dql14k43rv3in451amiwv4z71hz3ailx67hd8gw1ka3yw12128p";
4747 };
4848
49+ patches = [
50+ # Upstream code not respecting our localedir
51+ # https://github.com/elementary/photos/pull/629
52+ (fetchpatch {
53+ url = "https://github.com/elementary/photos/commit/e5230a4305381734e93f1e3d1177da21a8a4121b.patch";
54+ sha256 = "1igqq51sj1sx6rl8yrw037jsgnaxfwzfs0m6pqzb9q4jvfdimzfi";
55+ })
56+ ];
57+
4958 passthru = {
5059 updateScript = nix-update-script {
5160 attrPath = "pantheon.${pname}";
@@ -84,7 +93,6 @@ stdenv.mkDerivation rec {
8493 libraw
8594 librest
8695 libsoup
87− libunity
8896 libwebp
8997 scour
9098 sqlite
pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix → pkgs/desktops/pantheon/apps/elementary-screenshot/default.nixrenamed+5−3
@@ -11,14 +11,15 @@
1111, gtk3
1212, granite
1313, libgee
14+, libhandy
1415, libcanberra
1516, elementary-icon-theme
1617, wrapGAppsHook
1718}:
1819
1920stdenv.mkDerivation rec {
20− pname = "elementary-screenshot-tool"; # This will be renamed to "screenshot" soon. See -> https://github.com/elementary/screenshot/pull/93
21− version = "1.7.1";
21+ pname = "elementary-screenshot";
22+ version = "6.0.0";
2223
2324 repoName = "screenshot";
2425
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
2627 owner = "elementary";
2728 repo = repoName;
2829 rev = version;
29− sha256 = "sha256-qo55fzp0ieYF5I5uxnCQY066mege06InHL3B3ahYMZ0=";
30+ sha256 = "1fvsl9zdkv7bgx3jpy7pr9lflm4ckr3swdby379mdxn2x6kxji0x";
3031 };
3132
3233 passthru = {
@@ -51,6 +52,7 @@ stdenv.mkDerivation rec {
5152 gtk3
5253 libcanberra
5354 libgee
55+ libhandy
5456 ];
5557
5658 postPatch = ''
pkgs/desktops/pantheon/apps/elementary-tasks/default.nixnew file+84
@@ -0,0 +1,84 @@
1+{ lib, stdenv
2+, fetchFromGitHub
3+, nix-update-script
4+, pantheon
5+, appstream
6+, desktop-file-utils
7+, meson
8+, ninja
9+, pkg-config
10+, python3
11+, vala
12+, wrapGAppsHook
13+, clutter-gtk
14+, elementary-icon-theme
15+, evolution-data-server
16+, granite
17+, geoclue2
18+, geocode-glib
19+, gtk3
20+, libchamplain
21+, libgdata
22+, libgee
23+, libhandy
24+, libical
25+}:
26+
27+stdenv.mkDerivation rec {
28+ pname = "elementary-tasks";
29+ version = "6.0.3";
30+
31+ repoName = "tasks";
32+
33+ src = fetchFromGitHub {
34+ owner = "elementary";
35+ repo = repoName;
36+ rev = version;
37+ sha256 = "0a6zgf7di4jyl764pn78wbanm0i5vrkk5ks3cfsvi3baprf3j9d5";
38+ };
39+
40+ passthru = {
41+ updateScript = nix-update-script {
42+ attrPath = "pantheon.${pname}";
43+ };
44+ };
45+
46+ nativeBuildInputs = [
47+ appstream
48+ desktop-file-utils
49+ meson
50+ ninja
51+ pkg-config
52+ python3
53+ vala
54+ wrapGAppsHook
55+ ];
56+
57+ buildInputs = [
58+ clutter-gtk
59+ elementary-icon-theme
60+ evolution-data-server
61+ granite
62+ geoclue2
63+ geocode-glib
64+ gtk3
65+ libchamplain
66+ libgdata
67+ libgee
68+ libhandy
69+ libical
70+ ];
71+
72+ postPatch = ''
73+ chmod +x meson/post_install.py
74+ patchShebangs meson/post_install.py
75+ '';
76+
77+ meta = with lib; {
78+ homepage = "https://github.com/elementary/tasks";
79+ description = "Synced tasks and reminders on elementary OS";
80+ license = licenses.gpl3Plus;
81+ platforms = platforms.linux;
82+ maintainers = pantheon.maintainers;
83+ };
84+}
pkgs/desktops/pantheon/apps/elementary-terminal/default.nix+9
@@ -35,6 +35,15 @@ stdenv.mkDerivation rec {
3535 sha256 = "08akr4sv4jy9kd4s26kib6j7i8hc3vs0sp71fifv7ww4mi9cm6jc";
3636 };
3737
38+ patches = [
39+ # Upstream code not respecting our localedir
40+ # https://github.com/elementary/terminal/pull/611
41+ (fetchpatch {
42+ url = "https://github.com/elementary/terminal/commit/4f6f2d9f58642ed904240c247cc0a0846baecb6b.patch";
43+ sha256 = "04pbd72migxw8i949v3bmw8kfi5nr02rjcwfrx3b6xkiic9825sv";
44+ })
45+ ];
46+
3847 passthru = {
3948 updateScript = nix-update-script {
4049 attrPath = "pantheon.${pname}";
pkgs/desktops/pantheon/apps/elementary-videos/default.nix+10
@@ -1,5 +1,6 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
45, pantheon
56, pkg-config
@@ -31,6 +32,15 @@ stdenv.mkDerivation rec {
3132 sha256 = "04nl9kn33dysvsg0n5qx1z8qgrifkgfwsm7gh1l308v3n8c69lh7";
3233 };
3334
35+ patches = [
36+ # Upstream code not respecting our localedir
37+ # https://github.com/elementary/videos/pull/233
38+ (fetchpatch {
39+ url = "https://github.com/elementary/videos/commit/19ba2a9148be09ea521d2e9ac29dede6b9c6fa07.patch";
40+ sha256 = "0ffp7ana98846xi7vxrzfg6dbs4yy28x2i4ky85mqs1gj6fjqin5";
41+ })
42+ ];
43+
3444 passthru = {
3545 updateScript = nix-update-script {
3646 attrPath = "pantheon.${pname}";
pkgs/desktops/pantheon/apps/sideload/default.nix+4−2
@@ -10,6 +10,7 @@
1010, granite
1111, gtk3
1212, libgee
13+, libhandy
1314, meson
1415, ninja
1516, pantheon
@@ -22,13 +23,13 @@
2223
2324stdenv.mkDerivation rec {
2425 pname = "sideload";
25− version = "1.1.1";
26+ version = "6.0.1";
2627
2728 src = fetchFromGitHub {
2829 owner = "elementary";
2930 repo = pname;
3031 rev = version;
31− sha256 = "sha256-eI/j6+lok9axRHV5DCsFY1fDCV+X5zBR7X8rK6odjFY=";
32+ sha256 = "0mwcaayzcm5pjcwdd61can93y66jiz4wyz9wr8j5fbns5hbk3z5m";
3233 };
3334
3435 passthru = {
@@ -56,6 +57,7 @@ stdenv.mkDerivation rec {
5657 granite
5758 gtk3
5859 libgee
60+ libhandy
5961 libxml2
6062 ];
6163
pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix+12−3
@@ -1,6 +1,7 @@
11{ lib, stdenv
22, substituteAll
33, fetchFromGitHub
4+, fetchpatch
45, nix-update-script
56, pantheon
67, meson
@@ -11,18 +12,19 @@
1112, granite
1213, gtk3
1314, switchboard
15+, wingpanel-indicator-a11y
1416, onboard
1517}:
1618
1719stdenv.mkDerivation rec {
1820 pname = "switchboard-plug-a11y";
19− version = "2.2.0";
21+ version = "2.3.0";
2022
2123 src = fetchFromGitHub {
2224 owner = "elementary";
2325 repo = pname;
2426 rev = version;
25− sha256 = "sha256-3PaOIadlEdYvfNZJaoAQVDKdSTfUdn+snCa8tHmDFD0=";
27+ sha256 = "0dc5jv335j443rg08cb7p8wvmcg36wrf1vlcfg9r20cksdis9v4l";
2628 };
2729
2830 patches = [
@@ -30,6 +32,12 @@ stdenv.mkDerivation rec {
3032 src = ./fix-paths.patch;
3133 inherit onboard;
3234 })
35+ # Upstream code not respecting our localedir
36+ # https://github.com/elementary/switchboard-plug-a11y/pull/79
37+ (fetchpatch {
38+ url = "https://github.com/elementary/switchboard-plug-a11y/commit/08db4b696128a6bf809da3403a818834fcd62b02.patch";
39+ sha256 = "1s13ak23bdxgcb74wdz3ql192bla5qhabdicqyjv1rp32plhkbg5";
40+ })
3341 ];
3442
3543 passthru = {
@@ -50,12 +58,13 @@ stdenv.mkDerivation rec {
5058 gtk3
5159 libgee
5260 switchboard
61+ wingpanel-indicator-a11y
5362 ];
5463
5564 meta = with lib; {
5665 description = "Switchboard Universal Access Plug";
5766 homepage = "https://github.com/elementary/switchboard-plug-a11y";
58− license = licenses.lgpl3Plus;
67+ license = licenses.gpl3Plus;
5968 platforms = platforms.linux;
6069 maintainers = pantheon.maintainers;
6170 };
pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix+13−24
@@ -1,6 +1,5 @@
11{ lib, stdenv
22, fetchFromGitHub
3−, fetchpatch
43, nix-update-script
54, pantheon
65, substituteAll
@@ -9,22 +8,24 @@
98, pkg-config
109, vala
1110, libgee
11+, libgtop
12+, libhandy
1213, granite
1314, gtk3
1415, switchboard
15−, pciutils
16−, elementary-feedback
16+, fwupd
17+, appstream
1718}:
1819
1920stdenv.mkDerivation rec {
2021 pname = "switchboard-plug-about";
21− version = "2.6.3";
22+ version = "6.0.1";
2223
2324 src = fetchFromGitHub {
2425 owner = "elementary";
2526 repo = pname;
2627 rev = version;
27− sha256 = "sha256-wis6wNEOOjPLUCT9vRRhMxbKHR2Y2nZArKogSF/FQv8=";
28+ sha256 = "0c075ac7iqz4hqbp2ph0cwyhiq0jn6c1g1jjfhygjbssv3vvd268";
2829 };
2930
3031 passthru = {
@@ -41,32 +42,20 @@ stdenv.mkDerivation rec {
4142 ];
4243
4344 buildInputs = [
45+ appstream
46+ fwupd
4447 granite
4548 gtk3
4649 libgee
50+ libgtop
51+ libhandy
4752 switchboard
4853 ];
4954
5055 patches = [
51− # Get OS Info from GLib.Environment
52− # https://github.com/elementary/switchboard-plug-about/pull/128
53− (fetchpatch {
54− url = "https://github.com/elementary/switchboard-plug-about/commit/5ed29988e3a895b2df66e5529df0f12a94d5517c.patch";
55− sha256 = "1ipDxnpDZjpSEzZdtOeNe5U+QOXiB5M+hC3yDAsl/rQ=";
56− })
57−
58− # Use Pretty Name
59− # https://github.com/elementary/switchboard-plug-about/pull/134
60− (fetchpatch {
61− url = "https://github.com/elementary/switchboard-plug-about/commit/653d131dc8fac10ae7523f2bf6b179ffffa9c0fd.patch";
62− sha256 = "AsM49Dc9/yn2tG6fqjfedeOlDXUu+iEoyNUmNYLH+zE=";
63− })
64−
65− (substituteAll {
66− src = ./fix-paths.patch;
67− inherit pciutils;
68− elementary_feedback = elementary-feedback;
69− })
56+ # The NixOS logo is not centered in the circular background and path
57+ # to the background is hardcoded, we will drop the background.
58+ ./remove-logo-background.patch
7059 ];
7160
7261 meta = with lib; {
pkgs/desktops/pantheon/apps/switchboard-plugs/about/fix-paths.patchdeleted−26
@@ -1,26 +0,0 @@
1−diff --git a/src/Plug.vala b/src/Plug.vala
2−index c32efcbe..0cdaeaca 100644
3−--- a/src/Plug.vala
4−+++ b/src/Plug.vala
5−@@ -178,7 +178,7 @@ public class About.Plug : Switchboard.Plug {
6−
7− var bug_button = new Gtk.Button.with_label (_("Report a Problem"));
8− bug_button.clicked.connect (() => {
9−- var appinfo = new GLib.DesktopAppInfo ("io.elementary.feedback.desktop");
10−+ var appinfo = new GLib.DesktopAppInfo ("@elementary_feedback@/bin/io.elementary.feedback.desktop");
11− if (appinfo != null) {
12− try {
13− appinfo.launch (null, null);
14−diff --git a/src/Views/HardwareView.vala b/src/Views/HardwareView.vala
15−index f8113634..3794bad8 100644
16−--- a/src/Views/HardwareView.vala
17−+++ b/src/Views/HardwareView.vala
18−@@ -179,7 +179,7 @@ public class About.HardwareView : Gtk.Grid {
19−
20− // Graphics
21− try {
22−- Process.spawn_command_line_sync ("lspci", out graphics);
23−+ Process.spawn_command_line_sync ("@pciutils@/bin/lspci", out graphics);
24−
25− if ("VGA" in graphics) { //VGA-keyword indicates graphics-line
26− string[] lines = graphics.split("\n");
pkgs/desktops/pantheon/apps/switchboard-plugs/about/remove-logo-background.patchnew file+36
@@ -0,0 +1,36 @@
1+diff --git a/src/Views/OperatingSystemView.vala b/src/Views/OperatingSystemView.vala
2+index fdb92e7..87bb3a4 100644
3+--- a/src/Views/OperatingSystemView.vala
4++++ b/src/Views/OperatingSystemView.vala
5+@@ -39,21 +39,6 @@ public class About.OperatingSystemView : Gtk.Grid {
6+ logo_icon_name = "distributor-logo";
7+ }
8+
9+- var logo = new Hdy.Avatar (128, "", false) {
10+- // In case the wallpaper can't be loaded, we don't want an icon or text
11+- icon_name = "invalid-icon-name",
12+- // We need this for the shadow to not get clipped by Gtk.Overlay
13+- margin = 6
14+- };
15+- logo.set_image_load_func ((size) => {
16+- try {
17+- return new Gdk.Pixbuf.from_file_at_scale ("/usr/share/backgrounds/elementaryos-default", -1, size, true);
18+- } catch (Error e) {
19+- critical (e.message);
20+- }
21+- });
22+- logo.get_style_context ().add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
23+-
24+ var icon = new Gtk.Image () {
25+ icon_name = logo_icon_name + "-symbolic",
26+ // 128 minus 3px padding on each side
27+@@ -65,8 +50,7 @@ public class About.OperatingSystemView : Gtk.Grid {
28+ icon_style_context.add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
29+
30+ var logo_overlay = new Gtk.Overlay ();
31+- logo_overlay.add (logo);
32+- logo_overlay.add_overlay (icon);
33++ logo_overlay.add (icon);
34+
35+ // Intentionally not using GLib.OsInfoKey.PRETTY_NAME here because we
36+ // want more granular control over text formatting
pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix+15−3
@@ -1,5 +1,6 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
45, pantheon
56, meson
@@ -10,19 +11,29 @@
1011, granite
1112, gtk3
1213, switchboard
14+, flatpak
1315}:
1416
1517stdenv.mkDerivation rec {
1618 pname = "switchboard-plug-applications";
17− version = "2.1.7";
19+ version = "6.0.0";
1820
1921 src = fetchFromGitHub {
2022 owner = "elementary";
2123 repo = pname;
2224 rev = version;
23− sha256 = "sha256-uiu19XyogNR0LX/2IIZM6B1JKAfqDMOHniQ29EAa9XM=";
25+ sha256 = "0hgvmrgg6g2sjb3sda7kzfcd3zgngd5w982drl6ll44k1mh16gsj";
2426 };
2527
28+ patches = [
29+ # Upstream code not respecting our localedir
30+ # https://github.com/elementary/switchboard-plug-applications/pull/163
31+ (fetchpatch {
32+ url = "https://github.com/elementary/switchboard-plug-applications/commit/25db490654ab41694be7b7ba19218376f42fbb8d.patch";
33+ sha256 = "16y8zcwnnjsh72ifpyqcdb9f5ajdj0iy8kb5sj6v77c1cxdhrv29";
34+ })
35+ ];
36+
2637 passthru = {
2738 updateScript = nix-update-script {
2839 attrPath = "pantheon.${pname}";
@@ -37,6 +48,7 @@ stdenv.mkDerivation rec {
3748 ];
3849
3950 buildInputs = [
51+ flatpak
4052 granite
4153 gtk3
4254 libgee
@@ -46,7 +58,7 @@ stdenv.mkDerivation rec {
4658 meta = with lib; {
4759 description = "Switchboard Applications Plug";
4860 homepage = "https://github.com/elementary/switchboard-plug-applications";
49− license = licenses.gpl2Plus;
61+ license = licenses.gpl3Plus;
5062 platforms = platforms.linux;
5163 maintainers = pantheon.maintainers;
5264 };
pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix+12−2
@@ -1,5 +1,6 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
45, pantheon
56, meson
@@ -15,15 +16,24 @@
1516
1617stdenv.mkDerivation rec {
1718 pname = "switchboard-plug-bluetooth";
18− version = "2.3.2";
19+ version = "2.3.6";
1920
2021 src = fetchFromGitHub {
2122 owner = "elementary";
2223 repo = pname;
2324 rev = version;
24− sha256 = "sha256-avu9Hya3C9g8kGl3D9bLwuZBkNPdwyvLspuBWgvpXU8=";
25+ sha256 = "0n9fhi9g0ww341bjk6lpc5ppnl7qj9b3d63j9a7iqnap57bgks9y";
2526 };
2627
28+ patches = [
29+ # Upstream code not respecting our localedir
30+ # https://github.com/elementary/switchboard-plug-bluetooth/pull/182
31+ (fetchpatch {
32+ url = "https://github.com/elementary/switchboard-plug-bluetooth/commit/031dd5660b4bcb0bb4e82ebe6d8bcdaa1791c385.patch";
33+ sha256 = "1g01ad6md7pqp1fx00avbra8yfnr8ipg8y6zhfg35fgjakj4aags";
34+ })
35+ ];
36+
2737 passthru = {
2838 updateScript = nix-update-script {
2939 attrPath = "pantheon.${pname}";
pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix+16−2
@@ -1,5 +1,6 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
45, pantheon
56, meson
@@ -17,13 +18,13 @@
1718
1819stdenv.mkDerivation rec {
1920 pname = "switchboard-plug-datetime";
20− version = "2.1.9";
21+ version = "2.2.0";
2122
2223 src = fetchFromGitHub {
2324 owner = "elementary";
2425 repo = pname;
2526 rev = version;
26− sha256 = "sha256-qgsU3NXqH7ryUah7rEnUrsbecV4AsOo4QfgTcWc5bc4=";
27+ sha256 = "10rqhxsqbl1xnz5n84d7m39c3vb71k153989xvyc55djia1wjx96";
2728 };
2829
2930 passthru = {
@@ -32,6 +33,19 @@ stdenv.mkDerivation rec {
3233 };
3334 };
3435
36+ patches = [
37+ (substituteAll {
38+ src = ./fix-paths.patch;
39+ tzdata = tzdata;
40+ })
41+ # Upstream code not respecting our localedir
42+ # https://github.com/elementary/switchboard-plug-datetime/pull/100
43+ (fetchpatch {
44+ url = "https://github.com/elementary/switchboard-plug-datetime/commit/a90639ed4f185f50d4ae448cd9503203dc24b3f4.patch";
45+ sha256 = "0dz0s02ccnds62dqil44k652pc5icka2rfhcx0a5bj1wi5sifnp7";
46+ })
47+ ];
48+
3549 nativeBuildInputs = [
3650 libxml2
3751 meson
pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/fix-paths.patchnew file+15
@@ -0,0 +1,15 @@
1+diff --git a/src/Parser.vala b/src/Parser.vala
2+index 7c7b82d..2c3a061 100644
3+--- a/src/Parser.vala
4++++ b/src/Parser.vala
5+@@ -28,9 +28,9 @@ public class DateTime.Parser : GLib.Object {
6+ return parser;
7+ }
8+ private Parser () {
9+- var file = File.new_for_path ("/usr/share/zoneinfo/zone.tab");
10++ var file = File.new_for_path ("@tzdata@/share/zoneinfo/zone.tab");
11+ if (!file.query_exists ()) {
12+- critical ("/usr/share/zoneinfo/zone.tab doesn't exist !");
13++ critical ("@tzdata@/share/zoneinfo/zone.tab doesn't exist !");
14+ return;
15+ }
pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix+3−3
@@ -14,13 +14,13 @@
1414
1515stdenv.mkDerivation rec {
1616 pname = "switchboard-plug-display";
17− version = "2.2.2";
17+ version = "2.3.1";
1818
1919 src = fetchFromGitHub {
2020 owner = "elementary";
2121 repo = pname;
2222 rev = version;
23− sha256 = "sha256-mjmvuSipCRGg/HSa1n1eLyVU1gERNT2ciqgz/0KqX0Y=";
23+ sha256 = "1dqd34v124y71nnk0l617a53x652m0sb7b58465imr6ppyhx4vsv";
2424 };
2525
2626 passthru = {
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
4646 meta = with lib; {
4747 description = "Switchboard Displays Plug";
4848 homepage = "https://github.com/elementary/switchboard-plug-display";
49− license = licenses.lgpl2Plus;
49+ license = licenses.gpl3Plus;
5050 platforms = platforms.linux;
5151 maintainers = pantheon.maintainers;
5252 };
pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/0001-Remove-Install-Unlisted-Engines-function.patch+28−30
@@ -1,19 +1,21 @@
1−From 4fd6da39ab33a6eef46ee2c64eb4f5595c7fe633 Mon Sep 17 00:00:00 2001
2−Message-Id: <4fd6da39ab33a6eef46ee2c64eb4f5595c7fe633.1599180249.git-series.worldofpeace@protonmail.ch>
3−From: worldofpeace <worldofpeace@protonmail.ch>
4−Date: Thu, 3 Sep 2020 20:43:25 -0400
1+From f23363ad2fa402d59b41ffe2c13a46462c6d2194 Mon Sep 17 00:00:00 2001
2+From: Bobby Rong <rjl931189261@126.com>
3+Date: Fri, 16 Jul 2021 23:28:56 +0800
54Subject: [PATCH] Remove Install Unlisted Engines function
65
76https://github.com/elementary/switchboard-plug-keyboard/issues/324
7+
8+Co-Authored-By: WORLDofPEACE <worldofpeace@protonmail.ch>
9+
810---
9− src/Dialogs/InstallEngineDialog.vala | 140 +------------------
10− src/Dialogs/ProgressDialog.vala | 82 +----------
11− src/InputMethod/Installer/InstallList.vala | 73 +---------
12− src/InputMethod/Installer/UbuntuInstaller.vala | 142 +------------------
13− src/InputMethod/Installer/aptd-client.vala | 93 +------------
14− src/Widgets/InputMethod/AddEnginesPopover.vala | 12 +--
15− src/Widgets/InputMethod/LanguagesRow.vala | 43 +-----
16− src/meson.build | 6 +-
11+ src/Dialogs/InstallEngineDialog.vala | 140 -----------------
12+ src/Dialogs/ProgressDialog.vala | 82 ----------
13+ src/InputMethod/Installer/InstallList.vala | 73 ---------
14+ .../Installer/UbuntuInstaller.vala | 142 ------------------
15+ src/InputMethod/Installer/aptd-client.vala | 93 ------------
16+ .../InputMethod/AddEnginesPopover.vala | 12 --
17+ src/Widgets/InputMethod/LanguagesRow.vala | 43 ------
18+ src/meson.build | 6 -
1719 8 files changed, 591 deletions(-)
1820 delete mode 100644 src/Dialogs/InstallEngineDialog.vala
1921 delete mode 100644 src/Dialogs/ProgressDialog.vala
@@ -170,7 +172,7 @@ index ffba3a8..0000000
170172-}
171173diff --git a/src/Dialogs/ProgressDialog.vala b/src/Dialogs/ProgressDialog.vala
172174deleted file mode 100644
173−index f110aca..0000000
175+index 868f167..0000000
174176--- a/src/Dialogs/ProgressDialog.vala
175177+++ /dev/null
176178@@ -1,82 +0,0 @@
@@ -191,7 +193,7 @@ index f110aca..0000000
191193-* with this program. If not, see http://www.gnu.org/licenses/.
192194-*/
193195-
194−-public class Pantheon.Keyboard.InputMethodPage.ProgressDialog : Gtk.Dialog {
196+-public class Pantheon.Keyboard.InputMethodPage.ProgressDialog : Granite.Dialog {
195197- public int progress {
196198- set {
197199- if (value >= 100) {
@@ -583,10 +585,10 @@ index ee5c3f5..0000000
583585- }
584586-}
585587diff --git a/src/Widgets/InputMethod/AddEnginesPopover.vala b/src/Widgets/InputMethod/AddEnginesPopover.vala
586−index 46e005d..6b56c6b 100644
588+index 110bc1d..8a03ca8 100644
587589--- a/src/Widgets/InputMethod/AddEnginesPopover.vala
588590+++ b/src/Widgets/InputMethod/AddEnginesPopover.vala
589−@@ -49,8 +49,6 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover {
591+@@ -43,8 +43,6 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover {
590592 };
591593 scrolled.add (listbox);
592594
@@ -595,7 +597,7 @@ index 46e005d..6b56c6b 100644
595597 var cancel_button = new Gtk.Button.with_label (_("Cancel"));
596598
597599 var add_button = new Gtk.Button.with_label (_("Add Engine"));
598−@@ -61,10 +59,8 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover {
600+@@ -55,10 +53,8 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover {
599601 margin = 12,
600602 spacing = 6
601603 };
@@ -606,7 +608,7 @@ index 46e005d..6b56c6b 100644
606608
607609 var grid = new Gtk.Grid ();
608610 grid.attach (search_entry, 0, 0);
609−@@ -92,14 +88,6 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover {
611+@@ -88,14 +84,6 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover {
610612 listbox.invalidate_filter ();
611613 });
612614
@@ -671,20 +673,20 @@ index dc064ae..0000000
671673- }
672674-}
673675diff --git a/src/meson.build b/src/meson.build
674−index 28f07c1..a515419 100644
676+index 77a51d0..26711c5 100644
675677--- a/src/meson.build
676678+++ b/src/meson.build
677−@@ -16,7 +16,6 @@ plug_files = files(
678− 'Widgets/Shortcuts/CustomTree.vala',
679+@@ -17,7 +17,6 @@ plug_files = files(
679680 'Widgets/Layout/Display.vala',
680− 'Widgets/Layout/AddLayoutPopover.vala',
681+ 'Widgets/Layout/AdvancedSettingsPanel.vala',
682+ 'Widgets/Layout/AdvancedSettingsGrid.vala',
681683- 'Widgets/InputMethod/LanguagesRow.vala',
682684 'Widgets/InputMethod/EnginesRow.vala',
683685 'Widgets/InputMethod/AddEnginesPopover.vala',
684686 'Views/Shortcuts.vala',
685−@@ -36,11 +35,6 @@ plug_files = files(
686− 'Layout/AdvancedSettingsGrid.vala',
687− 'InputMethod/Utils.vala',
687+@@ -33,11 +32,6 @@ plug_files = files(
688+ 'InputSources/SourceSettings.vala',
689+ 'InputSources/InputSource.vala',
688690 'InputMethod/AddEnginesList.vala',
689691- 'InputMethod/Installer/UbuntuInstaller.vala',
690692- 'InputMethod/Installer/InstallList.vala',
@@ -692,9 +694,5 @@ index 28f07c1..a515419 100644
692694- 'Dialogs/ProgressDialog.vala',
693695- 'Dialogs/InstallEngineDialog.vala',
694696 'Dialogs/ConflictDialog.vala',
697+ 'Dialogs/AddLayoutDialog.vala'
695698 )
696−
697−
698−base-commit: 9d9eddeb7da8450a309496c25066f4f78a9d4070
699−--
700−git-series 0.9.1
pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix+14−3
@@ -11,27 +11,37 @@
1111, libgee
1212, granite
1313, gtk3
14+, libhandy
1415, libxml2
1516, libgnomekbd
1617, libxklavier
17−, xorg
1818, ibus
1919, switchboard
2020}:
2121
2222stdenv.mkDerivation rec {
2323 pname = "switchboard-plug-keyboard";
24− version = "2.4.1";
24+ version = "2.5.0";
2525
2626 src = fetchFromGitHub {
2727 owner = "elementary";
2828 repo = pname;
2929 rev = version;
30− sha256 = "sha256-iuv5NZ7v+rXyFsKB/PvGa/7hm9MIV8E6JnTzEGROlhM=";
30+ sha256 = "1nsy9fh6qj5kyg22bs1hm6kpsvarwc63q0hl0nbwymvnhfjf6swp";
3131 };
3232
3333 patches = [
34+ # Upstream code not respecting our localedir
35+ # https://github.com/elementary/switchboard-plug-keyboard/pull/377
36+ (fetchpatch {
37+ url = "https://github.com/elementary/switchboard-plug-keyboard/commit/6d8bcadba05b4ee1115b891448b0de31bcba3749.patch";
38+ sha256 = "1bppxakj71r3cfy8sw19xbyngb7r6nyirc4g6pjf02cdidhw3v8l";
39+ })
3440 ./0001-Remove-Install-Unlisted-Engines-function.patch
41+ (substituteAll {
42+ src = ./fix-paths.patch;
43+ ibus = ibus;
44+ })
3545 ];
3646
3747 passthru = {
@@ -54,6 +64,7 @@ stdenv.mkDerivation rec {
5464 ibus
5565 libgee
5666 libgnomekbd
67+ libhandy
5768 libxklavier
5869 switchboard
5970 ];
pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/fix-paths.patchnew file+13
@@ -0,0 +1,13 @@
1+diff --git a/src/Views/InputMethod.vala b/src/Views/InputMethod.vala
2+index 6d79fdc..de4276e 100644
3+--- a/src/Views/InputMethod.vala
4++++ b/src/Views/InputMethod.vala
5+@@ -325,7 +325,7 @@ public class Pantheon.Keyboard.InputMethodPage.Page : Gtk.Grid {
6+ private void spawn_ibus_daemon () {
7+ bool is_spawn_succeeded = false;
8+ try {
9+- is_spawn_succeeded = Process.spawn_sync ("/", { "ibus-daemon", "-drx" }, Environ.get (), SpawnFlags.SEARCH_PATH, null);
10++ is_spawn_succeeded = Process.spawn_sync ("/", { "@ibus@/bin/ibus-daemon", "-drx" }, Environ.get (), SpawnFlags.SEARCH_PATH, null);
11+ } catch (GLib.SpawnError e) {
12+ warning (e.message);
13+ set_visible_view (e.message);
pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix+26−5
@@ -1,28 +1,33 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
5+, substituteAll
46, pantheon
57, meson
68, ninja
79, pkg-config
810, vala
911, libgee
12+, libxml2
1013, granite
1114, gtk3
1215, switchboard
13−, elementary-settings-daemon
16+, gnome-settings-daemon
1417, glib
18+, gala # needed for gestures support
19+, touchegg
1520}:
1621
1722stdenv.mkDerivation rec {
1823 pname = "switchboard-plug-mouse-touchpad";
19− version = "2.4.2";
24+ version = "6.0.0";
2025
2126 src = fetchFromGitHub {
2227 owner = "elementary";
2328 repo = pname;
2429 rev = version;
25− sha256 = "sha256-WJ/GRhZsSwC31HEIjHHWBy9/Skqbwor0tNVTedue3kk=";
30+ sha256 = "19kiwrdpan8hr5r79y591591qjx7pm3x814xfkg9vi11ndbcrznr";
2631 };
2732
2833 passthru = {
@@ -39,18 +44,34 @@ stdenv.mkDerivation rec {
3944 ];
4045
4146 buildInputs = [
47+ gala
4248 glib
4349 granite
4450 gtk3
4551 libgee
46− elementary-settings-daemon
52+ libxml2
53+ gnome-settings-daemon
4754 switchboard
55+ touchegg
56+ ];
57+
58+ patches = [
59+ (substituteAll {
60+ src = ./fix-paths.patch;
61+ touchegg = touchegg;
62+ })
63+ # Upstream code not respecting our localedir
64+ # https://github.com/elementary/switchboard-plug-mouse-touchpad/pull/185
65+ (fetchpatch {
66+ url = "https://github.com/elementary/switchboard-plug-mouse-touchpad/commit/a6f84dc08be5dc6f7535082bacfa24e2dff4ef67.patch";
67+ sha256 = "0fxl894dzw1f84n36mb9y7gshs69xcb0samvs2gsa0pcdlzfp3cy";
68+ })
4869 ];
4970
5071 meta = with lib; {
5172 description = "Switchboard Mouse & Touchpad Plug";
5273 homepage = "https://github.com/elementary/switchboard-plug-mouse-touchpad";
53− license = licenses.gpl2Plus;
74+ license = licenses.gpl3Plus;
5475 platforms = platforms.linux;
5576 maintainers = pantheon.maintainers;
5677 };
pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/fix-paths.patchnew file+13
@@ -0,0 +1,13 @@
1+diff --git a/src/Utils/ToucheggSettings.vala b/src/Utils/ToucheggSettings.vala
2+index 1d621b9c..73c89714 100644
3+--- a/src/Utils/ToucheggSettings.vala
4++++ b/src/Utils/ToucheggSettings.vala
5+@@ -36,7 +36,7 @@ public class MouseTouchpad.ToucheggSettings : GLib.Object {
6+ private const string MAXIMIZE_4_XPATH = "//application[@name=\"All\"]/gesture[@fingers=\"4\"]/action[@type=\"MAXIMIZE_RESTORE_WINDOW\"]/..";
7+
8+ public ToucheggSettings () {
9+- system_config_path = Path.build_filename (GLib.Path.DIR_SEPARATOR_S, "usr", "share", "touchegg", "touchegg.conf");
10++ system_config_path = Path.build_filename ("@touchegg@", "share", "touchegg", "touchegg.conf");
11+ user_config_dir_path = Path.build_filename (GLib.Environment.get_home_dir (), ".config", "touchegg");
12+ user_config_path = Path.build_filename (GLib.Environment.get_home_dir (), ".config", "touchegg", "touchegg.conf");
13+ }
pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix+3−3
@@ -18,13 +18,13 @@
1818
1919stdenv.mkDerivation rec {
2020 pname = "switchboard-plug-network";
21− version = "2.3.2";
21+ version = "2.4.1";
2222
2323 src = fetchFromGitHub {
2424 owner = "elementary";
2525 repo = pname;
2626 rev = version;
27− sha256 = "sha256-PYgewxBblhOfOJQSeRaq8xD7qZ3083EvgUjpi92FqyI=";
27+ sha256 = "0nqihsbrpjw4nx1c50g854bqybniw38adi78vzg8nyl6ikj2r0z4";
2828 };
2929
3030 passthru = {
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
6060 meta = with lib; {
6161 description = "Switchboard Networking Plug";
6262 homepage = "https://github.com/elementary/switchboard-plug-network";
63− license = licenses.lgpl21Plus;
63+ license = licenses.gpl3Plus;
6464 platforms = platforms.linux;
6565 maintainers = pantheon.maintainers;
6666 };
pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix+11−2
@@ -16,15 +16,24 @@
1616
1717stdenv.mkDerivation rec {
1818 pname = "switchboard-plug-notifications";
19− version = "2.1.7";
19+ version = "2.2.0";
2020
2121 src = fetchFromGitHub {
2222 owner = "elementary";
2323 repo = pname;
2424 rev = version;
25− sha256 = "sha256-MBCSQ+4l0mpS2OTDRJ7+91qo0SWm5nJNYO7SZaSoVQk=";
25+ sha256 = "0zzhgs8m1y7ab31hbn7v8g8k7rx51gqajl243zmysn86lfqk8iay";
2626 };
2727
28+ patches = [
29+ # Upstream code not respecting our localedir
30+ # https://github.com/elementary/switchboard-plug-notifications/pull/83
31+ (fetchpatch {
32+ url = "https://github.com/elementary/switchboard-plug-notifications/commit/2e0320aab62b6932e8ef5f941d02e244de381957.patch";
33+ sha256 = "0rcamasq837grck0i2yx6psggzrhv7p7m3mra5l0k9zsjxgar92v";
34+ })
35+ ];
36+
2837 passthru = {
2938 updateScript = nix-update-script {
3039 attrPath = "pantheon.${pname}";
pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix+13−22
@@ -1,33 +1,36 @@
11{ lib, stdenv
22, fetchFromGitHub
33, nix-update-script
4−, fetchpatch
54, pantheon
65, meson
76, ninja
87, pkg-config
9−, vala_0_46
8+, vala
109, libgee
1110, granite
1211, gtk3
1312, libaccounts-glib
13+, libgdata
14+, libhandy
1415, libsignon-glib
1516, json-glib
1617, librest
1718, webkitgtk
1819, libsoup
20+, sqlite
1921, switchboard
22+, evolution-data-server
2023}:
2124
2225stdenv.mkDerivation rec {
2326 pname = "switchboard-plug-onlineaccounts";
24− version = "2.0.1";
27+ version = "6.2.0";
2528
2629 src = fetchFromGitHub {
2730 owner = "elementary";
2831 repo = pname;
2932 rev = version;
30− sha256 = "sha256-CVYKcRty5bBEMNyoY51JAJQy6uh+U+7IvS6V/1GMCA4=";
33+ sha256 = "1lp3i31jzp21n43d1mh4d4i8zgim3q3j4inw4hmyimyql2s83cc3";
3134 };
3235
3336 passthru = {
@@ -40,45 +43,33 @@ stdenv.mkDerivation rec {
4043 meson
4144 ninja
4245 pkg-config
43− vala_0_46
46+ vala
4447 ];
4548
4649 buildInputs = [
50+ evolution-data-server
4751 granite
4852 gtk3
4953 json-glib
5054 libaccounts-glib
55+ libgdata
5156 libgee
57+ libhandy
5258 libsignon-glib
5359 libsoup
5460 librest
61+ sqlite # needed for camel-1.2
5562 switchboard
5663 webkitgtk
5764 ];
5865
59− patches = [
60− # Fix build with latest vala
61− (fetchpatch {
62− url = "https://github.com/elementary/switchboard-plug-onlineaccounts/commit/5fa2882f765076d20c6ef4886198a34a05159f8a.patch";
63− sha256 = "1szryyy7shdmbvx9yhpi0bhzaayg7hl6pq2c456j1qf9kfv0m4hf";
64− })
65−
66− # fix build with vala 0.48.9
67− (fetchpatch {
68− url = "https://github.com/elementary/switchboard-plug-onlineaccounts/commit/b1853b7427102b8dd94774e1e2cc455f50902263.patch";
69− sha256 = "J3C71GyEHEZWSghGXlwXPHFJRhrvx6i0yvi8NIDb4WE=";
70− })
71− ];
72−
7366 PKG_CONFIG_LIBACCOUNTS_GLIB_PROVIDERFILESDIR = "${placeholder "out"}/share/accounts/providers";
7467 PKG_CONFIG_LIBACCOUNTS_GLIB_SERVICEFILESDIR = "${placeholder "out"}/share/accounts/services";
75− PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard";
76−
7768
7869 meta = with lib; {
7970 description = "Switchboard Online Accounts Plug";
8071 homepage = "https://github.com/elementary/switchboard-plug-onlineaccounts";
81− license = licenses.lgpl2Plus;
72+ license = licenses.gpl3Plus;
8273 platforms = platforms.linux;
8374 maintainers = pantheon.maintainers;
8475 };
pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix+36−5
@@ -1,18 +1,48 @@
1−{ lib, stdenv, fetchFromGitHub, nix-update-script, pantheon, meson, ninja, pkg-config, vala, glib
2−, libgee, granite, gexiv2, elementary-settings-daemon, gtk3, gnome-desktop
3−, gala, wingpanel, elementary-dock, switchboard, gettext, bamf, fetchpatch }:
1+{ lib, stdenv
2+, fetchFromGitHub
3+, fetchpatch
4+, nix-update-script
5+, pantheon
6+, meson
7+, ninja
8+, pkg-config
9+, vala
10+, glib
11+, libgee
12+, granite
13+, gexiv2
14+, gnome-settings-daemon
15+, elementary-settings-daemon
16+, gtk3
17+, gnome-desktop
18+, gala
19+, wingpanel
20+, elementary-dock
21+, switchboard
22+, gettext
23+, bamf
24+}:
425
526stdenv.mkDerivation rec {
627 pname = "switchboard-plug-pantheon-shell";
7− version = "2.8.4";
28+ version = "6.0.0";
829
930 src = fetchFromGitHub {
1031 owner = "elementary";
1132 repo = pname;
1233 rev = version;
13− sha256 = "sha256-CHl+4mVjrDg2gusrWOCfI++DZMWKLdvHxG3ZWMjZ2to=";
34+ sha256 = "0349150kxdv14ald79pzn7lasiqipyc37fgchygbc8hsy62d9a32";
1435 };
1536
37+ patches = [
38+ # Upstream code not respecting our localedir
39+ # https://github.com/elementary/switchboard-plug-pantheon-shell/pull/286
40+ (fetchpatch {
41+ url = "https://github.com/elementary/switchboard-plug-pantheon-shell/commit/0c3207ffaeaa82ca3c743bc9ec772185fbd7e8cf.patch";
42+ sha256 = "11ymzqx6has4zf8y0xy7pfhymcl128hzzjcgp46inshjf99v5kiv";
43+ })
44+ ];
45+
1646 passthru = {
1747 updateScript = nix-update-script {
1848 attrPath = "pantheon.${pname}";
@@ -31,6 +61,7 @@ stdenv.mkDerivation rec {
3161 bamf
3262 elementary-dock
3363 elementary-settings-daemon
64+ gnome-settings-daemon
3465 gala
3566 gexiv2
3667 glib
pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix+4−12
@@ -2,14 +2,13 @@
22, fetchFromGitHub
33, nix-update-script
44, pantheon
5−, substituteAll
65, meson
76, ninja
87, pkg-config
98, vala
109, libgee
11−, elementary-dpms-helper
1210, elementary-settings-daemon
11+, gnome-settings-daemon
1312, granite
1413, gtk3
1514, glib
@@ -20,13 +19,13 @@
2019
2120stdenv.mkDerivation rec {
2221 pname = "switchboard-plug-power";
23− version = "2.4.2";
22+ version = "2.6.0";
2423
2524 src = fetchFromGitHub {
2625 owner = "elementary";
2726 repo = pname;
2827 rev = version;
29− sha256 = "sha256-swcbkaHHe9BZxMWvjdRutvYfXXrSCUJWuld1btfYeH0=";
28+ sha256 = "006h8mrhmdrbd83vhdyahgrfk9wh6j9kjincpp7dz7sl8fsyhmcr";
3029 };
3130
3231 passthru = {
@@ -44,8 +43,8 @@ stdenv.mkDerivation rec {
4443
4544 buildInputs = [
4645 dbus
47− elementary-dpms-helper
4846 elementary-settings-daemon
47+ gnome-settings-daemon
4948 glib
5049 granite
5150 gtk3
@@ -54,13 +53,6 @@ stdenv.mkDerivation rec {
5453 switchboard
5554 ];
5655
57− patches = [
58− (substituteAll {
59− src = ./dpms-helper-exec.patch;
60− elementary_dpms_helper = elementary-dpms-helper;
61− })
62− ];
63−
6456 meta = with lib; {
6557 description = "Switchboard Power Plug";
6658 homepage = "https://github.com/elementary/switchboard-plug-power";
pkgs/desktops/pantheon/apps/switchboard-plugs/power/dpms-helper-exec.patchdeleted−13
@@ -1,13 +0,0 @@
1−diff --git a/src/MainView.vala b/src/MainView.vala
2−index 1654e68..175f220 100644
3−--- a/src/MainView.vala
4−+++ b/src/MainView.vala
5−@@ -317,7 +317,7 @@ public class Power.MainView : Gtk.Grid {
6−
7− private static void run_dpms_helper () {
8− try {
9−- string[] argv = { "io.elementary.dpms-helper" };
10−+ string[] argv = { "@elementary_dpms_helper@/bin/io.elementary.dpms-helper" };
11− Process.spawn_async (null, argv, Environ.get (),
12− SpawnFlags.SEARCH_PATH | SpawnFlags.STDERR_TO_DEV_NULL | SpawnFlags.STDOUT_TO_DEV_NULL,
13− null, null);
pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix+7−6
@@ -16,20 +16,21 @@
1616
1717stdenv.mkDerivation rec {
1818 pname = "switchboard-plug-printers";
19− version = "2.1.9";
19+ version = "2.1.10";
2020
2121 src = fetchFromGitHub {
2222 owner = "elementary";
2323 repo = pname;
2424 rev = version;
25− sha256 = "sha256-tnAJyyPN/Xy1pmlgBpgO2Eb5CeHrRltjQTHmuTPBt8s=";
25+ sha256 = "0frvybbx7mcs87kww0if4zn0c6c2gb400cpiqrl8b0294py58xpb";
2626 };
2727
2828 patches = [
29− # Fix build with latest Vala.
29+ # Upstream code not respecting our localedir
30+ # https://github.com/elementary/switchboard-plug-printers/pull/153
3031 (fetchpatch {
31− url = "https://github.com/elementary/switchboard-plug-printers/commit/5eced5ddda6f229d7265ea0a713f6c1cd181a526.patch";
32− sha256 = "lPTNqka6jjvv1JnAqVzVIQBIdDXlCOQ5ASvgZNuEUC8=";
32+ url = "https://github.com/elementary/switchboard-plug-printers/commit/3e2b01378cbb8e666d23daeef7f40fcaa90daa45.patch";
33+ sha256 = "0b8pq525xnir06pn65rcz68bcp5xdxl0gpbj7p5x1hs23p5dp04n";
3334 })
3435 ];
3536
@@ -57,7 +58,7 @@ stdenv.mkDerivation rec {
5758 meta = with lib; {
5859 description = "Switchboard Printers Plug";
5960 homepage = "https://github.com/elementary/switchboard-plug-printers";
60− license = licenses.lgpl3Plus;
61+ license = licenses.gpl3Plus;
6162 platforms = platforms.linux;
6263 maintainers = pantheon.maintainers;
6364 };
pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix+9−8
@@ -10,30 +10,31 @@
1010, vala
1111, libgee
1212, granite
13+, gala
1314, gtk3
1415, glib
1516, polkit
1617, zeitgeist
1718, switchboard
18−, lightlocker
1919}:
2020
2121stdenv.mkDerivation rec {
2222 pname = "switchboard-plug-security-privacy";
23− version = "2.2.4";
23+ version = "2.2.5";
2424
2525 src = fetchFromGitHub {
2626 owner = "elementary";
2727 repo = pname;
2828 rev = version;
29− sha256 = "sha256-Sws6FqUL7QAROInDrcqYAp6j1TCC4aGV0/hi5Kmm5wQ=";
29+ sha256 = "1ydr1xpbyxjcnd36c9j7a64srbz6gpbshwhcqj6591kmiqhmvknk";
3030 };
3131
3232 patches = [
33− # Fix build with latest Vala.
33+ # Upstream code not respecting our localedir
34+ # https://github.com/elementary/switchboard-plug-security-privacy/pull/130
3435 (fetchpatch {
35− url = "https://github.com/elementary/switchboard-plug-security-privacy/commit/c8e422e630bbee0badcf4df26364c9e83e06bad0.patch";
36− sha256 = "5Gm+muZiCraJC5JaGVVo0HDJ7KxjOpclHRW1RKsk3bc=";
36+ url = "https://github.com/elementary/switchboard-plug-security-privacy/commit/18fe438baba651670d7f0534856c3b2433e3d75d.patch";
37+ sha256 = "19qwm725k6h41kgg4a98i4rxx45s4bb1wxx0fzkh75gz9syfi58w";
3738 })
3839 ];
3940
@@ -52,13 +53,13 @@ stdenv.mkDerivation rec {
5253 ];
5354
5455 buildInputs = [
56+ gala
5557 glib
5658 granite
5759 gtk3
5860 libgee
5961 polkit
6062 switchboard
61− lightlocker
6263 zeitgeist
6364 ];
6465
@@ -70,7 +71,7 @@ stdenv.mkDerivation rec {
7071 meta = with lib; {
7172 description = "Switchboard Security & Privacy Plug";
7273 homepage = "https://github.com/elementary/switchboard-plug-security-privacy";
73− license = licenses.lgpl3Plus;
74+ license = licenses.gpl3Plus;
7475 platforms = platforms.linux;
7576 maintainers = pantheon.maintainers;
7677 };
pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix+12−3
@@ -15,15 +15,24 @@
1515
1616stdenv.mkDerivation rec {
1717 pname = "switchboard-plug-sharing";
18− version = "2.1.4";
18+ version = "2.1.5";
1919
2020 src = fetchFromGitHub {
2121 owner = "elementary";
2222 repo = pname;
2323 rev = version;
24− sha256 = "sha256-/M60w14zfAUXspabvTUWlOPRrHvKtCYUio82b034k6s=";
24+ sha256 = "00lqrxq1wz3y2s9jiz8rh9d571va2vza2gdwj6c86z3q4c4hmn17";
2525 };
2626
27+ patches = [
28+ # Upstream code not respecting our localedir
29+ # https://github.com/elementary/switchboard-plug-sharing/pull/55
30+ (fetchpatch {
31+ url = "https://github.com/elementary/switchboard-plug-sharing/commit/5219839738b79e3c5f039a811d96a40eb2644eab.patch";
32+ sha256 = "020w746q7gzmic0pdnbxs792sx15wlsqaf2x770r5xwbyfmqr7bs";
33+ })
34+ ];
35+
2736 passthru = {
2837 updateScript = nix-update-script {
2938 attrPath = "pantheon.${pname}";
@@ -47,7 +56,7 @@ stdenv.mkDerivation rec {
4756 meta = with lib; {
4857 description = "Switchboard Sharing Plug";
4958 homepage = "https://github.com/elementary/switchboard-plug-sharing";
50− license = licenses.gpl2Plus;
59+ license = licenses.gpl3Plus;
5160 platforms = platforms.linux;
5261 maintainers = pantheon.maintainers;
5362 };
pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix+13−5
@@ -1,5 +1,6 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
45, pantheon
56, meson
@@ -10,22 +11,30 @@
1011, granite
1112, gtk3
1213, pulseaudio
13−, libcanberra
1414, libcanberra-gtk3
1515, switchboard
1616}:
1717
1818stdenv.mkDerivation rec {
1919 pname = "switchboard-plug-sound";
20− version = "2.2.5";
20+ version = "2.2.7";
2121
2222 src = fetchFromGitHub {
2323 owner = "elementary";
2424 repo = pname;
2525 rev = version;
26− sha256 = "sha256-ITgxLZSB4zhSaFKX7Vbf89DGI8ibIcGEQTtLjcGN2tA=";
26+ sha256 = "0yjqws7ryfid9lcafgzzbfnjjwccsankscwdwqfw486qid85whzc";
2727 };
2828
29+ patches = [
30+ # Upstream code not respecting our localedir
31+ # https://github.com/elementary/switchboard-plug-sound/pull/203
32+ (fetchpatch {
33+ url = "https://github.com/elementary/switchboard-plug-sound/commit/1f3b9f001ace4c457ab194158dff04ba5e25d278.patch";
34+ sha256 = "1lmf2bbif2wkfv500nxbqxp8jdmnjg8yk8xhx3g2g55d15rc5hk4";
35+ })
36+ ];
37+
2938 passthru = {
3039 updateScript = nix-update-script {
3140 attrPath = "pantheon.${pname}";
@@ -42,7 +51,6 @@ stdenv.mkDerivation rec {
4251 buildInputs = [
4352 granite
4453 gtk3
45− libcanberra
4654 libcanberra-gtk3
4755 libgee
4856 pulseaudio
@@ -52,7 +60,7 @@ stdenv.mkDerivation rec {
5260 meta = with lib; {
5361 description = "Switchboard Sound Plug";
5462 homepage = "https://github.com/elementary/switchboard-plug-sound";
55− license = licenses.lgpl2Plus;
63+ license = licenses.lgpl21Plus;
5664 platforms = platforms.linux;
5765 maintainers = pantheon.maintainers;
5866 };
pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nixnew file+72
@@ -0,0 +1,72 @@
1+{ lib, stdenv
2+, fetchFromGitHub
3+, fetchpatch
4+, nix-update-script
5+, pantheon
6+, meson
7+, ninja
8+, pkg-config
9+, vala
10+, glib
11+, granite
12+, gtk3
13+, libgee
14+, libgudev
15+, libwacom
16+, switchboard
17+, xorg
18+}:
19+
20+stdenv.mkDerivation rec {
21+ pname = "switchboard-plug-wacom";
22+ version = "1.0.0";
23+
24+ src = fetchFromGitHub {
25+ owner = "elementary";
26+ repo = pname;
27+ rev = version;
28+ sha256 = "1n2yfq4s9xpnfqjikchjp4z2nk8cmfz4g0p18cplzh5w1lvz17lm";
29+ };
30+
31+ patches = [
32+ # Upstream code not respecting our localedir
33+ # https://github.com/elementary/switchboard-plug-wacom/pull/29
34+ (fetchpatch {
35+ url = "https://github.com/elementary/switchboard-plug-wacom/commit/2a7dee180d73ffb3521d806efb7028f5a71cb511.patch";
36+ sha256 = "06ra5c0f14brmj2mmsqscpc4d1114i4qazgnsazzh2hrp04ilnva";
37+ })
38+ ];
39+
40+ passthru = {
41+ updateScript = nix-update-script {
42+ attrPath = "pantheon.${pname}";
43+ };
44+ };
45+
46+ nativeBuildInputs = [
47+ meson
48+ ninja
49+ pkg-config
50+ vala
51+ ];
52+
53+ buildInputs = [
54+ glib
55+ granite
56+ gtk3
57+ libgee
58+ libgudev
59+ libwacom
60+ switchboard
61+ xorg.libX11
62+ xorg.libXi
63+ ];
64+
65+ meta = with lib; {
66+ description = "Switchboard Wacom Plug";
67+ homepage = "https://github.com/elementary/switchboard-plug-wacom";
68+ license = licenses.gpl3Plus;
69+ platforms = platforms.linux;
70+ maintainers = pantheon.maintainers;
71+ };
72+}
pkgs/desktops/pantheon/apps/switchboard/default.nix+11−2
@@ -1,5 +1,6 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
45, pantheon
56, pkg-config
@@ -9,6 +10,7 @@
910, vala
1011, gtk3
1112, libgee
13+, libhandy
1214, granite
1315, gettext
1416, clutter-gtk
@@ -18,13 +20,13 @@
1820
1921stdenv.mkDerivation rec {
2022 pname = "switchboard";
21− version = "2.4.0";
23+ version = "6.0.0";
2224
2325 src = fetchFromGitHub {
2426 owner = "elementary";
2527 repo = pname;
2628 rev = version;
27− sha256 = "sha256-N3WZysLIah40kcyIyhryZpm2FxCmlvp0EB1krZ/IsYs=";
29+ sha256 = "02dfsrfmr297cxpyd5m3746ihcgjyfnb3d42ng9m4ljdvh0dxgim";
2830 };
2931
3032 passthru = {
@@ -49,10 +51,17 @@ stdenv.mkDerivation rec {
4951 granite
5052 gtk3
5153 libgee
54+ libhandy
5255 ];
5356
5457 patches = [
5558 ./plugs-path-env.patch
59+ # Upstream code not respecting our localedir
60+ # https://github.com/elementary/switchboard/pull/214
61+ (fetchpatch {
62+ url = "https://github.com/elementary/switchboard/commit/8d6b5f4cbbaf134880252afbf1e25d70033e6402.patch";
63+ sha256 = "0gwq3wwj45jrnlhsmxfclbjw6xjr8kf6pp3a84vbnrazw76lg5nc";
64+ })
5665 ];
5766
5867 postPatch = ''
pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix+4−2
@@ -5,11 +5,12 @@
55, meson
66, ninja
77, gettext
8+, sassc
89}:
910
1011stdenv.mkDerivation rec {
1112 pname = "elementary-gtk-theme";
12− version = "5.4.2";
13+ version = "6.0.0";
1314
1415 repoName = "stylesheet";
1516
@@ -17,7 +18,7 @@ stdenv.mkDerivation rec {
1718 owner = "elementary";
1819 repo = repoName;
1920 rev = version;
20− sha256 = "sha256-eE0/LLdnpxOpBvdpioGKV/DOQ5lIuQt9dPnhGkQDGCs=";
21+ sha256 = "08iga854s6w77xr5rhvr74pgn2lc884aigc7gkn0xjlwysd195fr";
2122 };
2223
2324 passthru = {
@@ -30,6 +31,7 @@ stdenv.mkDerivation rec {
3031 gettext
3132 meson
3233 ninja
34+ sassc
3335 ];
3436
3537 meta = with lib; {
pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix+2−2
@@ -9,7 +9,7 @@
99
1010stdenv.mkDerivation rec {
1111 pname = "elementary-wallpapers";
12− version = "5.5.0";
12+ version = "6.0.0";
1313
1414 repoName = "wallpapers";
1515
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
1717 owner = "elementary";
1818 repo = repoName;
1919 rev = version;
20− sha256 = "sha256-Q5sYDXqFhiTu8nABmyND3L8bIXd1BJ3GZQ9TL3SzwzA=";
20+ sha256 = "1qpf8w7x9sp3sd4zpsrlj5ywpwqkq4ywbagm4sf25cwwn82dl59b";
2121 };
2222
2323 nativeBuildInputs = [
pkgs/desktops/pantheon/default.nix+25−16
@@ -12,25 +12,31 @@ lib.makeScope pkgs.newScope (self: with self; {
1212 switchboard-plug-onlineaccounts switchboard-plug-pantheon-shell
1313 switchboard-plug-power switchboard-plug-printers
1414 switchboard-plug-security-privacy switchboard-plug-sharing
15− switchboard-plug-sound
15+ switchboard-plug-sound switchboard-plug-wacom
1616 ];
1717
1818 wingpanelIndicators = [
19− wingpanel-applications-menu wingpanel-indicator-bluetooth
20− wingpanel-indicator-datetime wingpanel-indicator-keyboard
21− wingpanel-indicator-network wingpanel-indicator-nightlight
22− wingpanel-indicator-notifications wingpanel-indicator-power
23− wingpanel-indicator-session wingpanel-indicator-sound
19+ wingpanel-applications-menu wingpanel-indicator-a11y
20+ wingpanel-indicator-bluetooth wingpanel-indicator-datetime
21+ wingpanel-indicator-keyboard wingpanel-indicator-network
22+ wingpanel-indicator-nightlight wingpanel-indicator-notifications
23+ wingpanel-indicator-power wingpanel-indicator-session
24+ wingpanel-indicator-sound
2425 ];
2526
2627 maintainers = lib.teams.pantheon.members;
2728
28− mutter = pkgs.gnome.mutter334;
29+ mutter = pkgs.gnome.mutter338;
30+
31+ # Using 3.38 to match Mutter used in Pantheon
32+ gnome-settings-daemon = pkgs.gnome.gnome-settings-daemon338;
2933
3034 elementary-gsettings-schemas = callPackage ./desktop/elementary-gsettings-schemas { };
3135
3236 notes-up = pkgs.notes-up.override { withPantheon = true; };
3337
38+ touchegg = pkgs.touchegg.override { withPantheon = true; };
39+
3440 #### APPS
3541
3642 appcenter = callPackage ./apps/appcenter { };
@@ -55,12 +61,16 @@ lib.makeScope pkgs.newScope (self: with self; {
5561
5662 elementary-photos = callPackage ./apps/elementary-photos { };
5763
58− elementary-screenshot-tool = callPackage ./apps/elementary-screenshot-tool { };
64+ elementary-screenshot = callPackage ./apps/elementary-screenshot { };
65+
66+ elementary-tasks = callPackage ./apps/elementary-tasks { };
5967
6068 elementary-terminal = callPackage ./apps/elementary-terminal { };
6169
6270 elementary-videos = callPackage ./apps/elementary-videos { };
6371
72+ epiphany = pkgs.epiphany.override { withPantheon = true; };
73+
6474 sideload = callPackage ./apps/sideload { };
6575
6676 #### DESKTOP
@@ -103,16 +113,9 @@ lib.makeScope pkgs.newScope (self: with self; {
103113
104114 elementary-capnet-assist = callPackage ./services/elementary-capnet-assist { };
105115
106− elementary-dpms-helper = callPackage ./services/elementary-dpms-helper { };
107−
108116 elementary-notifications = callPackage ./services/elementary-notifications { };
109117
110− # We're using ubuntu and elementary's patchset due to reasons
111− # explained here -> https://github.com/elementary/greeter/issues/92#issuecomment-376215614
112− # Take note of "I am holding off on "fixing" this bug for as long as possible."
113− elementary-settings-daemon = callPackage ./services/elementary-settings-daemon {
114− inherit (gnome) gnome-desktop;
115− };
118+ elementary-settings-daemon = callPackage ./services/elementary-settings-daemon { };
116119
117120 pantheon-agent-geoclue2 = callPackage ./services/pantheon-agent-geoclue2 { };
118121
@@ -122,6 +125,8 @@ lib.makeScope pkgs.newScope (self: with self; {
122125
123126 wingpanel-applications-menu = callPackage ./desktop/wingpanel-indicators/applications-menu { };
124127
128+ wingpanel-indicator-a11y = callPackage ./desktop/wingpanel-indicators/a11y { };
129+
125130 wingpanel-indicator-bluetooth = callPackage ./desktop/wingpanel-indicators/bluetooth { };
126131
127132 wingpanel-indicator-datetime = callPackage ./desktop/wingpanel-indicators/datetime { };
@@ -184,6 +189,8 @@ lib.makeScope pkgs.newScope (self: with self; {
184189
185190 switchboard-plug-sound = callPackage ./apps/switchboard-plugs/sound { };
186191
192+ switchboard-plug-wacom = callPackage ./apps/switchboard-plugs/wacom { };
193+
187194 ### ARTWORK
188195
189196 elementary-gtk-theme = callPackage ./artwork/elementary-gtk-theme { };
@@ -204,4 +211,6 @@ lib.makeScope pkgs.newScope (self: with self; {
204211
205212 cerbere = throw "Cerbere is now obsolete https://github.com/elementary/cerbere/releases/tag/2.5.1.";
206213
214+ elementary-screenshot-tool = elementary-screenshot; # added 2021-07-21
215+
207216})
pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patchdeleted−309
@@ -1,309 +0,0 @@
1−From f728ac670d8f6bb7600a007d92034b711471fab6 Mon Sep 17 00:00:00 2001
2−From: worldofpeace <worldofpeace@protonmail.ch>
3−Date: Sat, 13 Jul 2019 19:06:20 -0400
4−Subject: [PATCH 1/2] Build with Meson
5−
6−Has the following meson build options:
7−* default-wallpaper
8−* plank-dockitems
9−* default-gsettings-overrides
10−
11−All default to true.
12−
13−We also split the default-settings gsettings override into another that
14−only sets plank's default dockitems. This is installed when plank-dockitems
15−is true. We need to have this because those settings are dependent on
16−those dockitems actually being installed and we have it optional.
17−---
18− accountsservice/create-symlink.py | 24 ++++++
19− accountsservice/meson.build | 25 ++++++
20− .../appcenter.blacklist | 0
21− .../default-testpage.pdf | Bin
22− settings.ini => gtk/settings.ini | 0
23− .inputrc => inputrc/.inputrc | 0
24− meson.build | 79 ++++++++++++++++++
25− meson/post_install.py | 12 +++
26− meson_options.txt | 14 ++++
27− ...e => default-settings.gschema.override.in} | 3 +-
28− overrides/meson.build | 21 +++++
29− overrides/plank-dockitems.gschema.override | 2 +
30− .../sessioninstaller.desktop | 0
31− 13 files changed, 178 insertions(+), 2 deletions(-)
32− create mode 100644 accountsservice/create-symlink.py
33− create mode 100644 accountsservice/meson.build
34− rename appcenter.blacklist => appcenter/appcenter.blacklist (100%)
35− rename default-testpage.pdf => cups/default-testpage.pdf (100%)
36− rename settings.ini => gtk/settings.ini (100%)
37− rename .inputrc => inputrc/.inputrc (100%)
38− create mode 100644 meson.build
39− create mode 100755 meson/post_install.py
40− create mode 100644 meson_options.txt
41− rename overrides/{default-settings.gschema.override => default-settings.gschema.override.in} (92%)
42− create mode 100644 overrides/meson.build
43− create mode 100644 overrides/plank-dockitems.gschema.override
44− rename sessioninstaller.desktop => sessioninstaller/sessioninstaller.desktop (100%)
45−
46−diff --git a/accountsservice/create-symlink.py b/accountsservice/create-symlink.py
47−new file mode 100644
48−index 0000000..e502134
49−--- /dev/null
50−+++ b/accountsservice/create-symlink.py
51−@@ -0,0 +1,24 @@
52−+#!/usr/bin/env python3
53−+
54−+import os
55−+import sys
56−+
57−+if len(sys.argv) < 3:
58−+ print('Usage: create-symlink.py SOURCE DESTINATION')
59−+ sys.exit(1)
60−+
61−+src = sys.argv[1]
62−+dest = sys.argv[2]
63−+
64−+if 'MESON_INSTALL_DESTDIR_PREFIX' in os.environ:
65−+ src = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], src)
66−+ dest = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], dest)
67−+
68−+if os.path.isabs(src):
69−+ src = os.path.relpath(src, os.path.dirname(os.path.realpath(dest)))
70−+
71−+if not os.path.exists(dest):
72−+ print('Creating symbolic link: ' + dest + ' -> ' + src)
73−+ if not os.path.exists(os.path.dirname(dest)):
74−+ os.makedirs(os.path.dirname(dest))
75−+ os.symlink(src, dest)
76−diff --git a/accountsservice/meson.build b/accountsservice/meson.build
77−new file mode 100644
78−index 0000000..6d18459
79−--- /dev/null
80−+++ b/accountsservice/meson.build
81−@@ -0,0 +1,25 @@
82−+dbus_dep = dependency('dbus-1')
83−+dbus_interfaces_dir = dbus_dep.get_pkgconfig_variable('interfaces_dir', define_variable: ['datadir', datadir])
84−+
85−+install_data(
86−+ 'io.elementary.pantheon.AccountsService.xml',
87−+ install_dir: dbus_interfaces_dir
88−+)
89−+
90−+
91−+polkit_dep = dependency('polkit-gobject-1')
92−+polkit_actiondir = polkit_dep.get_pkgconfig_variable('actiondir', define_variable: ['prefix', prefix])
93−+
94−+install_data(
95−+ 'io.elementary.pantheon.AccountsService.policy',
96−+ install_dir: polkit_actiondir
97−+)
98−+
99−+act_dep = dependency('accountsservice')
100−+act_interfacesdir = act_dep.get_pkgconfig_variable('interfacesdir', define_variable: ['datadir', datadir])
101−+
102−+meson.add_install_script(
103−+ 'create-symlink.py',
104−+ join_paths(dbus_interfaces_dir, 'io.elementary.pantheon.AccountsService.xml'),
105−+ join_paths(act_interfacesdir, 'io.elementary.pantheon.AccountsService.xml'),
106−+)
107−diff --git a/appcenter.blacklist b/appcenter/appcenter.blacklist
108−similarity index 100%
109−rename from appcenter.blacklist
110−rename to appcenter/appcenter.blacklist
111−diff --git a/default-testpage.pdf b/cups/default-testpage.pdf
112−similarity index 100%
113−rename from default-testpage.pdf
114−rename to cups/default-testpage.pdf
115−diff --git a/settings.ini b/gtk/settings.ini
116−similarity index 100%
117−rename from settings.ini
118−rename to gtk/settings.ini
119−diff --git a/.inputrc b/inputrc/.inputrc
120−similarity index 100%
121−rename from .inputrc
122−rename to inputrc/.inputrc
123−diff --git a/meson.build b/meson.build
124−new file mode 100644
125−index 0000000..7740a34
126−--- /dev/null
127−+++ b/meson.build
128−@@ -0,0 +1,79 @@
129−+project(
130−+ 'elementary-default-settings',
131−+ version: '5.1.0',
132−+ default_options: 'sysconfdir=/etc',
133−+)
134−+
135−+prefix = get_option('prefix')
136−+datadir = join_paths(prefix, get_option('datadir'))
137−+sysconfdir = get_option('sysconfdir')
138−+
139−+meson.add_install_script('meson/post_install.py', datadir)
140−+
141−+# Planks Default DockItems
142−+if get_option('plank-dockitems')
143−+ install_subdir(
144−+ 'plank',
145−+ install_dir: join_paths(sysconfdir, 'skel', '.config')
146−+ )
147−+endif
148−+
149−+# Setup system wide global environment for applications
150−+install_subdir(
151−+ 'profile.d',
152−+ install_dir: join_paths(sysconfdir, 'profile.d'),
153−+ strip_directory : true
154−+)
155−+
156−+# elementary Plymouth Theme
157−+install_subdir(
158−+ 'plymouth/elementary',
159−+ install_dir: join_paths(datadir, 'plymouth', 'themes')
160−+)
161−+
162−+install_data(
163−+ 'plymouth/ubuntu-text.plymouth',
164−+ install_dir: join_paths(datadir, 'plymouth', 'themes')
165−+)
166−+
167−+# Sudo password feedback in terminals
168−+install_data(
169−+ 'sudoers.d/pwfeedback',
170−+ install_dir: join_paths(sysconfdir, 'sudoers.d')
171−+)
172−+
173−+# CUPS Printing testpage
174−+install_data(
175−+ 'cups/default-testpage.pdf',
176−+ install_dir: join_paths(datadir, 'cups', 'data')
177−+)
178−+
179−+# GTK3 Settings
180−+install_data(
181−+ 'gtk/settings.ini',
182−+ install_dir: join_paths(sysconfdir, 'gtk-3.0')
183−+)
184−+
185−+# So SessionInstaller can have an Icon
186−+install_data(
187−+ 'sessioninstaller/sessioninstaller.desktop',
188−+ install_dir: join_paths(datadir, 'applications')
189−+)
190−+
191−+# Default Appcenter Blacklist
192−+install_data(
193−+ 'appcenter/appcenter.blacklist',
194−+ install_dir: join_paths(sysconfdir, 'appcenter')
195−+)
196−+
197−+# Configuration file of GNU readline
198−+install_data(
199−+ 'inputrc/.inputrc',
200−+ install_dir: join_paths(sysconfdir, 'skel')
201−+)
202−+
203−+# Default gsettings overrides
204−+subdir('overrides')
205−+
206−+# AccountsService extension for Greeter.
207−+subdir('accountsservice')
208−diff --git a/meson/post_install.py b/meson/post_install.py
209−new file mode 100755
210−index 0000000..c6b5617
211−--- /dev/null
212−+++ b/meson/post_install.py
213−@@ -0,0 +1,12 @@
214−+#!/usr/bin/env python3
215−+
216−+import os
217−+import sys
218−+import subprocess
219−+
220−+if 'DESTDIR' not in os.environ:
221−+ default_settings_datadir = sys.argv[1]
222−+
223−+ print('Compiling GSettings schemas...')
224−+ subprocess.call(['glib-compile-schemas',
225−+ os.path.join(default_settings_datadir, 'glib-2.0', 'schemas')])
226−diff --git a/meson_options.txt b/meson_options.txt
227−new file mode 100644
228−index 0000000..8fd19ba
229−--- /dev/null
230−+++ b/meson_options.txt
231−@@ -0,0 +1,14 @@
232−+option('default-wallpaper',
233−+ type: 'string',
234−+ value: '/usr/share/backgrounds/elementaryos-default',
235−+ description: 'Path to default wallpaper to use in Pantheon.')
236−+
237−+option('plank-dockitems',
238−+ type: 'boolean',
239−+ value: true,
240−+ description: 'Install default Pantheon Plank dockitems')
241−+
242−+option('default-gsettings-overrides',
243−+ type: 'boolean',
244−+ value: true,
245−+ description: 'Install default Pantheon GSettings Overrides')
246−diff --git a/overrides/default-settings.gschema.override b/overrides/default-settings.gschema.override.in
247−similarity index 92%
248−rename from overrides/default-settings.gschema.override
249−rename to overrides/default-settings.gschema.override.in
250−index 1aef29c..69d272b 100644
251−--- a/overrides/default-settings.gschema.override
252−+++ b/overrides/default-settings.gschema.override.in
253−@@ -1,5 +1,4 @@
254− [net.launchpad.plank.dock.settings]
255−-dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.pantheon.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem','io.elementary.appcenter.dockitem']
256− hide-delay=250
257− hide-mode='window-dodge'
258− show-dock-item=false
259−@@ -11,7 +10,7 @@ triggers=['<Control>space']
260− [org.gnome.desktop.background]
261− draw-background=true
262− picture-options='zoom'
263−-picture-uri='file:///usr/share/backgrounds/elementaryos-default'
264−+picture-uri='file://@DEFAULT_WALLPAPER@'
265− primary-color='#000000'
266− show-desktop-icons=false
267−
268−diff --git a/overrides/meson.build b/overrides/meson.build
269−new file mode 100644
270−index 0000000..ad80644
271−--- /dev/null
272−+++ b/overrides/meson.build
273−@@ -0,0 +1,21 @@
274−+if get_option('default-gsettings-overrides')
275−+ default_wallpaper = get_option('default-wallpaper')
276−+
277−+ wallpaper_configuration = configuration_data()
278−+ wallpaper_configuration.set('DEFAULT_WALLPAPER', default_wallpaper)
279−+
280−+ settings_override = configure_file(
281−+ input: 'default-settings.gschema.override.in',
282−+ output: '@BASENAME@',
283−+ configuration: wallpaper_configuration,
284−+ install_dir: join_paths(datadir, 'glib-2.0', 'schemas')
285−+ )
286−+endif
287−+
288−+# Install conditionally because it's dependent on our dockitems being installed
289−+if get_option('plank-dockitems')
290−+ install_data(
291−+ 'plank-dockitems.gschema.override',
292−+ install_dir: join_paths(datadir, 'glib-2.0', 'schemas')
293−+ )
294−+endif
295−diff --git a/overrides/plank-dockitems.gschema.override b/overrides/plank-dockitems.gschema.override
296−new file mode 100644
297−index 0000000..72b38d4
298−--- /dev/null
299−+++ b/overrides/plank-dockitems.gschema.override
300−@@ -0,0 +1,2 @@
301−+[net.launchpad.plank.dock.settings]
302−+dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.pantheon.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem','io.elementary.appcenter.dockitem']
303−diff --git a/sessioninstaller.desktop b/sessioninstaller/sessioninstaller.desktop
304−similarity index 100%
305−rename from sessioninstaller.desktop
306−rename to sessioninstaller/sessioninstaller.desktop
307−--
308−2.23.0
309−
pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix+6−24
@@ -11,12 +11,11 @@
1111, polkit
1212, accountsservice
1313, python3
14−, fetchpatch
1514}:
1615
1716stdenv.mkDerivation rec {
1817 pname = "elementary-default-settings";
19− version = "5.1.2";
18+ version = "6.0.1";
2019
2120 repoName = "default-settings";
2221
@@ -24,7 +23,7 @@ stdenv.mkDerivation rec {
2423 owner = "elementary";
2524 repo = repoName;
2625 rev = version;
27− sha256 = "sha256-HKrDs2frEWVPpwyGNP+NikrjyplSXJj1hFMLy6kK4wM=";
26+ sha256 = "0gqnrm968j4v699yhhiyw5fqjy4zbvvrjci2v1jrlycn09c2yrwf";
2827 };
2928
3029 passthru = {
@@ -33,23 +32,6 @@ stdenv.mkDerivation rec {
3332 };
3433 };
3534
36− patches = [
37− # Use new notifications
38− (fetchpatch {
39− url = "https://github.com/elementary/default-settings/commit/0658bb75b9f49f58b35746d05fb6c4b811f125e9.patch";
40− sha256 = "0wa7iq0vfp2av5v23w94a5844ddj4g48d4wk3yrp745dyrimg739";
41− })
42−
43− # Fix media key syntax
44− (fetchpatch {
45− url = "https://github.com/elementary/default-settings/commit/332aefe1883be5dfe90920e165c39e331a53b2ea.patch";
46− sha256 = "0ypcaga55pw58l30srq3ga1mhz2w6hkwanv41jjr6g3ia9jvq69n";
47− })
48−
49− # https://github.com/elementary/default-settings/pull/119
50− ./0001-Build-with-Meson.patch
51− ];
52−
5335 nativeBuildInputs = [
5436 accountsservice
5537 dbus
@@ -73,9 +55,9 @@ stdenv.mkDerivation rec {
7355 '';
7456
7557 preInstall = ''
76− # Install our override for plank dockitems.
77− # This is because we don't have Pantheon's mail or Appcenter.
78− # See: https://github.com/NixOS/nixpkgs/issues/58161
58+ # Install our override for plank dockitems as Appcenter and Tasks is not ready to be preinstalled.
59+ # For Appcenter, see: https://github.com/NixOS/nixpkgs/issues/70214.
60+ # For Tasks, see: https://github.com/elementary/tasks/issues/243#issuecomment-846259496
7961 schema_dir=$out/share/glib-2.0/schemas
8062 install -D ${./overrides/plank-dockitems.gschema.override} $schema_dir/plank-dockitems.gschema.override
8163
@@ -84,7 +66,7 @@ stdenv.mkDerivation rec {
8466 cp -avr ${./launchers} $out/etc/skel/.config/plank/dock1/launchers
8567
8668 # Whitelist wingpanel indicators to be used in the greeter
87− # hhttps://github.com/elementary/greeter/blob/fc19752f147c62767cd2097c0c0c0fcce41e5873/debian/io.elementary.greeter.whitelist
69+ # https://github.com/elementary/greeter/blob/fc19752f147c62767cd2097c0c0c0fcce41e5873/debian/io.elementary.greeter.whitelist
8870 # wingpanel 2.3.2 renamed this to .allowed to .forbidden
8971 # https://github.com/elementary/wingpanel/pull/326
9072 install -D ${./io.elementary.greeter.allowed} $out/etc/wingpanel.d/io.elementary.greeter.allowed
pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.mail.dockitemnew file+2
@@ -0,0 +1,2 @@
1+[PlankDockItemPreferences]
2+Launcher=file:///run/current-system/sw/share/applications/io.elementary.mail.desktop
pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/org.gnome.Geary.dockitemdeleted−2
@@ -1,2 +0,0 @@
1−[PlankDockItemPreferences]
2−Launcher=file:///run/current-system/sw/share/applications/org.gnome.Geary.desktop
pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override+1−1
@@ -1,2 +1,2 @@
11[net.launchpad.plank.dock.settings]
2−dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.gnome.Geary.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem']
2+dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','io.elementary.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem']
pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix+15−6
@@ -1,5 +1,6 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
45, linkFarm
56, substituteAll
@@ -13,11 +14,13 @@
1314, gtk3
1415, granite
1516, libgee
16−, elementary-settings-daemon
17+, libhandy
18+, gnome-settings-daemon
1719, mutter
1820, elementary-icon-theme
1921, wingpanel-with-indicators
2022, elementary-gtk-theme
23+, elementary-settings-daemon
2124, nixos-artwork
2225, lightdm
2326, gdk-pixbuf
@@ -29,7 +32,7 @@
2932
3033stdenv.mkDerivation rec {
3134 pname = "elementary-greeter";
32− version = "5.0.4";
35+ version = "6.0.0";
3336
3437 repoName = "greeter";
3538
@@ -37,7 +40,7 @@ stdenv.mkDerivation rec {
3740 owner = "elementary";
3841 repo = repoName;
3942 rev = version;
40− sha256 = "sha256-Enn+ekALWbk7FVJJuea/rNiwEZDIyb3kyMcZNNraOv8=";
43+ sha256 = "1ny1003bbpdscc4kr2d94zc5vxm30y64dpj3fpd5zz2p2g0cq2h9";
4144 };
4245
4346 passthru = {
@@ -66,10 +69,12 @@ stdenv.mkDerivation rec {
6669 elementary-gtk-theme
6770 elementary-icon-theme
6871 elementary-settings-daemon
72+ gnome-settings-daemon
6973 gdk-pixbuf
7074 granite
7175 gtk3
7276 libgee
77+ libhandy
7378 lightdm
7479 mutter
7580 wingpanel-with-indicators
@@ -80,12 +85,16 @@ stdenv.mkDerivation rec {
8085 "--sbindir=${placeholder "out"}/bin"
8186 # baked into the program for discovery of the greeter configuration
8287 "--sysconfdir=/etc"
83− # We use the patched gnome-settings-daemon
84− "-Dubuntu-patched-gsd=true"
85− "-Dgsd-dir=${elementary-settings-daemon}/libexec/" # trailing slash is needed
88+ "-Dgsd-dir=${gnome-settings-daemon}/libexec/" # trailing slash is needed
8689 ];
8790
8891 patches = [
92+ # Upstream code not respecting our localedir
93+ # https://github.com/elementary/greeter/pull/545
94+ (fetchpatch {
95+ url = "https://github.com/elementary/greeter/commit/d1373a7db827bc753bfcd70d0c8f25460ea9f1de.patch";
96+ sha256 = "0s8l7ycd2s307d3dh1p4vdk33dbzjzqwxs6msyb9w0ycfyxlwdvp";
97+ })
8998 ./sysconfdir-install.patch
9099 # Needed until https://github.com/elementary/greeter/issues/360 is fixed
91100 (substituteAll {
pkgs/desktops/pantheon/desktop/elementary-gsettings-schemas/default.nix+2−2
@@ -6,7 +6,7 @@
66, glib
77, gala
88, epiphany
9−, elementary-settings-daemon
9+, gnome-settings-daemon
1010, gtk3
1111, elementary-dock
1212, gsettings-desktop-schemas
@@ -18,7 +18,7 @@ let
1818
1919 gsettingsOverridePackages = [
2020 elementary-dock
21− elementary-settings-daemon
21+ gnome-settings-daemon
2222 epiphany
2323 gala
2424 gsettings-desktop-schemas
pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix+11−14
@@ -1,8 +1,8 @@
11{ lib, stdenv
22, fetchFromGitHub
33, nix-update-script
4+, substituteAll
45, pantheon
5−, fetchpatch
66, pkg-config
77, meson
88, ninja
@@ -17,11 +17,12 @@
1717, gettext
1818, libhandy
1919, wrapGAppsHook
20+, appcenter
2021}:
2122
2223stdenv.mkDerivation rec {
2324 pname = "elementary-onboarding";
24− version = "1.2.1";
25+ version = "6.0.0";
2526
2627 repoName = "onboarding";
2728
@@ -29,20 +30,9 @@ stdenv.mkDerivation rec {
2930 owner = "elementary";
3031 repo = repoName;
3132 rev = version;
32− sha256 = "sha256-tLTwXA2miHqYqCUbIiBjb2nQB+uN/WzuE4F9m3fVCbM=";
33+ sha256 = "1mpw0j8ymb41py9v9qlk4nwy1lnwj7k388c7gqdv34ynck0ymfi4";
3334 };
3435
35− patches = [
36− # Port to Libhandy-1
37− (fetchpatch {
38− url = "https://github.com/elementary/onboarding/commit/8af6b7d9216f8cbf725f708b36ef4d4f6c400c78.patch";
39− sha256 = "cnSCSSFEQlNd9Ncw5VCJ32stZ8D4vhl3f+derAk/Cas=";
40− excludes = [
41− ".github/workflows/main.yml"
42− ];
43− })
44− ];
45−
4636 passthru = {
4737 updateScript = nix-update-script {
4838 attrPath = "pantheon.${pname}";
@@ -69,6 +59,13 @@ stdenv.mkDerivation rec {
6959 libhandy
7060 ];
7161
62+ patches = [
63+ (substituteAll {
64+ src = ./fix-paths.patch;
65+ appcenter = appcenter;
66+ })
67+ ];
68+
7269 postPatch = ''
7370 chmod +x meson/post_install.py
7471 patchShebangs meson/post_install.py
pkgs/desktops/pantheon/desktop/elementary-onboarding/fix-paths.patchnew file+13
@@ -0,0 +1,13 @@
1+diff --git a/src/Views/AppCenterView.vala b/src/Views/AppCenterView.vala
2+index 16cd18b..5895897 100644
3+--- a/src/Views/AppCenterView.vala
4++++ b/src/Views/AppCenterView.vala
5+@@ -55,7 +55,7 @@ public class Onboarding.AppCenterView : AbstractOnboardingView {
6+ appcenter_button.clicked.connect (() => {
7+ try {
8+ var appcenter = AppInfo.create_from_commandline (
9+- "io.elementary.appcenter",
10++ "@appcenter@/bin/io.elementary.appcenter",
11+ "AppCenter",
12+ AppInfoCreateFlags.SUPPORTS_STARTUP_NOTIFICATION
13+ );
pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix+7−8
@@ -11,7 +11,7 @@
1111, orca
1212, onboard
1313, elementary-default-settings
14−, elementary-settings-daemon
14+, gnome-settings-daemon
1515, runtimeShell
1616, writeText
1717, meson
@@ -89,16 +89,16 @@ let
8989in
9090
9191stdenv.mkDerivation rec {
92− pname = "elementary-session-settings-unstable";
93− version = "2020-07-06";
92+ pname = "elementary-session-settings";
93+ version = "6.0.0";
9494
9595 repoName = "session-settings";
9696
9797 src = fetchFromGitHub {
9898 owner = "elementary";
9999 repo = repoName;
100− rev = "fa15cbd83fba0ba30e9a302db880350bff5ace52";
101− hash = "sha256-26H791c7OAjFYtjVChIatICSocMt0uTej1TKBOvw+6w=";
100+ rev = version;
101+ sha256 = "1faglpa7q3a4335gnd074a3lnsdspyjdnskgy4bfnf6xmwjx7kjx";
102102 };
103103
104104 nativeBuildInputs = [
@@ -109,8 +109,8 @@ stdenv.mkDerivation rec {
109109 ];
110110
111111 buildInputs = [
112− pantheon.elementary-settings-daemon
113112 gnome-keyring
113+ gnome-settings-daemon
114114 onboard
115115 orca
116116 ];
@@ -124,7 +124,6 @@ stdenv.mkDerivation rec {
124124
125125 postInstall = ''
126126 # our mimeapps patched from upstream to exclude:
127− # * pantheon-mail -> geary
128127 # * evince.desktop -> org.gnome.Evince.desktop
129128 mkdir -p $out/share/applications
130129 cp -av ${./pantheon-mimeapps.list} $out/share/applications/pantheon-mimeapps.list
@@ -154,7 +153,7 @@ stdenv.mkDerivation rec {
154153 meta = with lib; {
155154 description = "Session settings for elementary";
156155 homepage = "https://github.com/elementary/session-settings";
157− license = licenses.lgpl3;
156+ license = licenses.gpl2Plus;
158157 platforms = platforms.linux;
159158 maintainers = pantheon.maintainers;
160159 };
pkgs/desktops/pantheon/desktop/elementary-session-settings/pantheon-mimeapps.list+1−1
@@ -163,6 +163,6 @@ x-content/video-svcd=io.elementary.videos.desktop
163163x-content/video-vcd=io.elementary.videos.desktop
164164x-scheme-handler/http=org.gnome.Epiphany.desktop
165165x-scheme-handler/https=org.gnome.Epiphany.desktop
166−x-scheme-handler/mailto=org.gnome.Evolution.desktop
166+x-scheme-handler/mailto=io.elementary.mail.desktop
167167x-scheme-handler/trash=io.elementary.files.desktop
168168
pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix+14−2
@@ -1,5 +1,6 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
45, pantheon
56, pkg-config
@@ -12,13 +13,14 @@
1213, glib
1314, granite
1415, libgee
16+, libhandy
1517, elementary-icon-theme
1618, wrapGAppsHook
1719}:
1820
1921stdenv.mkDerivation rec {
2022 pname = "elementary-shortcut-overlay";
21− version = "1.1.2";
23+ version = "1.2.0";
2224
2325 repoName = "shortcut-overlay";
2426
@@ -26,9 +28,18 @@ stdenv.mkDerivation rec {
2628 owner = "elementary";
2729 repo = repoName;
2830 rev = version;
29− sha256 = "sha256-TFS29vwDkTtoFcIVAbKskyLemqW9fxE7fQkM61DpDm0=";
31+ sha256 = "1zs2fpx4agr00rsfmpi00nhiw92mlypzm4p9x3g851p24m62fn79";
3032 };
3133
34+ patches = [
35+ # Upstream code not respecting our localedir
36+ # https://github.com/elementary/shortcut-overlay/pull/100
37+ (fetchpatch {
38+ url = "https://github.com/elementary/shortcut-overlay/commit/f26e3684568e30cb6e151438e2d86c4d392626bf.patch";
39+ sha256 = "0zxyqpk9xbxdm8lmgdwbb4yzzwbjlhypsca3xs34a2pl0b9pcdwd";
40+ })
41+ ];
42+
3243 passthru = {
3344 updateScript = nix-update-script {
3445 attrPath = "pantheon.${pname}";
@@ -51,6 +62,7 @@ stdenv.mkDerivation rec {
5162 granite
5263 gtk3
5364 libgee
65+ libhandy
5466 ];
5567
5668 meta = with lib; {
pkgs/desktops/pantheon/desktop/gala/default.nix+10−8
@@ -23,18 +23,20 @@
2323, elementary-dock
2424, elementary-icon-theme
2525, elementary-settings-daemon
26+, gnome-settings-daemon
2627, wrapGAppsHook
28+, gexiv2
2729}:
2830
2931stdenv.mkDerivation rec {
3032 pname = "gala";
31− version = "3.3.2";
33+ version = "6.0.1";
3234
3335 src = fetchFromGitHub {
3436 owner = "elementary";
3537 repo = pname;
3638 rev = version;
37− sha256 = "sha256-BOarHUEgWqQM6jmVMauJi0JnsM+jE45MnPNnAqz1qOE=";
39+ sha256 = "0xp9vviamzdwlcnx4836sxaz2pyfkxswgvjm73ppn7fkdm0zjpzx";
3840 };
3941
4042 passthru = {
@@ -61,6 +63,8 @@ stdenv.mkDerivation rec {
6163 elementary-dock
6264 elementary-icon-theme
6365 elementary-settings-daemon
66+ gnome-settings-daemon
67+ gexiv2
6468 gnome-desktop
6569 granite
6670 gtk3
@@ -71,15 +75,13 @@ stdenv.mkDerivation rec {
7175 ];
7276
7377 patches = [
74− # https://github.com/elementary/gala/pull/869
75− # build failure in vala 0.48.7
76− # https://github.com/elementary/gala/pull/869#issuecomment-657147695
78+ # Upstream code not respecting our localedir
79+ # https://github.com/elementary/gala/pull/1205
7780 (fetchpatch {
78− url = "https://github.com/elementary/gala/commit/85d290c75eaa147b704ad34e6c67498071707ee8.patch";
79− sha256 = "19jkvmxidf453qfrxkvi35igxzfz2cm8srwkabvyn9wyd1yhiw0l";
81+ url = "https://github.com/elementary/gala/commit/605aa10ea2a78650e001b2a247c5f7afce478b05.patch";
82+ sha256 = "0bg67wzrnmx8nlw93i35vhyfx8al0bj0lacgci98vwlp2m1jgbd2";
8083 })
8184 ./plugins-dir.patch
82− ./use-new-notifications-default.patch
8385 ];
8486
8587 postPatch = ''
pkgs/desktops/pantheon/desktop/gala/plugins-dir.patch+6−5
@@ -1,16 +1,17 @@
11diff --git a/meson.build b/meson.build
2−index 78113d6..926596c 100644
2+index d0f00e5..977d2e2 100644
33--- a/meson.build
44+++ b/meson.build
5−@@ -24,13 +24,14 @@ vapi_dir = meson.current_source_dir() / 'vapi'
6−
5+@@ -25,6 +25,7 @@ vapi_dir = meson.current_source_dir() / 'vapi'
6+ locale_dir = join_paths(get_option('prefix'), get_option('localedir'))
77 data_dir = join_paths(get_option('prefix'), get_option('datadir'))
88 plugins_dir = join_paths(get_option('prefix'), get_option('libdir'), meson.project_name(), 'plugins')
99+plugins_dir_for_build = join_paths('/run/current-system/sw/lib/', meson.project_name(), 'plugins')
1010 pkgdata_dir = join_paths(get_option('prefix'), get_option('datadir'), meson.project_name())
1111 pkglib_dir = join_paths(get_option('prefix'), get_option('libdir'), meson.project_name())
12−
13− conf = configuration_data()
12+
13+@@ -33,7 +34,7 @@ conf.set_quoted('GETTEXT_PACKAGE', meson.project_name())
14+ conf.set_quoted('LOCALEDIR', locale_dir)
1415 conf.set_quoted('DATADIR', data_dir)
1516 conf.set_quoted('PKGDATADIR', pkgdata_dir)
1617-conf.set_quoted('PLUGINDIR', plugins_dir)
pkgs/desktops/pantheon/desktop/gala/use-new-notifications-default.patchdeleted−13
@@ -1,13 +0,0 @@
1−diff --git a/data/gala.gschema.xml b/data/gala.gschema.xml
2−index 8032583..7f4f03c 100644
3−--- a/data/gala.gschema.xml
4−+++ b/data/gala.gschema.xml
5−@@ -58,7 +58,7 @@
6− <description>If enabled, dropping windows on vertical screen edges maximizes them vertically and resizes them horizontally to cover half of the available area. Dropping windows on the top screen edge maximizes them completely.</description>
7− </key>
8− <key type="b" name="use-new-notifications">
9−- <default>false</default>
10−+ <default>true</default>
11− <summary>If new notifications should be used</summary>
12− <description>If new notifications UI should be used, requires io.elemenetary.notifications to be present and running</description>
13− </key>
pkgs/desktops/pantheon/desktop/wingpanel-indicators/a11y/default.nixnew file+70
@@ -0,0 +1,70 @@
1+{ lib, stdenv
2+, fetchFromGitHub
3+, fetchpatch
4+, nix-update-script
5+, pantheon
6+, meson
7+, ninja
8+, pkg-config
9+, python3
10+, vala
11+, granite
12+, gtk3
13+, libgee
14+, wingpanel
15+}:
16+
17+stdenv.mkDerivation rec {
18+ pname = "wingpanel-indicator-a11y";
19+ version = "1.0.0";
20+
21+ src = fetchFromGitHub {
22+ owner = "elementary";
23+ repo = pname;
24+ rev = version;
25+ sha256 = "1adx1sx9qh02hjgv5h0gwyn116shjl3paxmyaiv4cgh6vq3ndp3c";
26+ };
27+
28+ patches = [
29+ # Upstream code not respecting our localedir
30+ # https://github.com/elementary/wingpanel-indicator-a11y/pull/48
31+ (fetchpatch {
32+ url = "https://github.com/elementary/wingpanel-indicator-a11y/commit/fb8412d56bc1c42b70e8ee41b837e8024e1297f7.patch";
33+ sha256 = "0619npdw9wvaz1zk2lzikczyjdqba8v8c9ry9zizvvl4j1i1ad7k";
34+ })
35+ ];
36+
37+ passthru = {
38+ updateScript = nix-update-script {
39+ attrPath = "pantheon.${pname}";
40+ };
41+ };
42+
43+ nativeBuildInputs = [
44+ meson
45+ ninja
46+ pkg-config
47+ python3
48+ vala
49+ ];
50+
51+ buildInputs = [
52+ granite
53+ gtk3
54+ libgee
55+ wingpanel
56+ ];
57+
58+ postPatch = ''
59+ chmod +x meson/post_install.py
60+ patchShebangs meson/post_install.py
61+ '';
62+
63+ meta = with lib; {
64+ description = "Universal Access Indicator for Wingpanel";
65+ homepage = "https://github.com/elementary/wingpanel-indicator-a11y";
66+ license = licenses.gpl2Plus;
67+ platforms = platforms.linux;
68+ maintainers = pantheon.maintainers;
69+ };
70+}
pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix+2−12
@@ -1,6 +1,5 @@
11{ lib, stdenv
22, fetchFromGitHub
3−, fetchpatch
43, nix-update-script
54, pantheon
65, substituteAll
@@ -19,7 +18,6 @@
1918, elementary-dock
2019, bamf
2120, switchboard-with-plugs
22−, libunity
2321, libsoup
2422, wingpanel
2523, zeitgeist
@@ -29,7 +27,7 @@
2927
3028stdenv.mkDerivation rec {
3129 pname = "wingpanel-applications-menu";
32− version = "2.7.1";
30+ version = "2.8.2";
3331
3432 repoName = "applications-menu";
3533
@@ -37,7 +35,7 @@ stdenv.mkDerivation rec {
3735 owner = "elementary";
3836 repo = repoName;
3937 rev = version;
40− sha256 = "sha256-NeazBzkbdQTC6OzPxxyED4OstMkNkUGtCIaZD67fTnM=";
38+ sha256 = "1pm3dnq35vbvyxqapmfy4frfwhc1l2zh634annlmbjiyfp5mzk0q";
4139 };
4240
4341 passthru = {
@@ -59,14 +57,12 @@ stdenv.mkDerivation rec {
5957 buildInputs = [
6058 bamf
6159 elementary-dock
62− gnome-menus
6360 granite
6461 gtk3
6562 json-glib
6663 libgee
6764 libhandy
6865 libsoup
69− libunity
7066 switchboard-with-plugs
7167 wingpanel
7268 zeitgeist
@@ -83,12 +79,6 @@ stdenv.mkDerivation rec {
8379 ];
8480
8581 patches = [
86− # Port to Libhandy-1
87− (fetchpatch {
88− url = "https://github.com/elementary/applications-menu/commit/8eb2430e8513e9d37f875c5c9b8b15a968c27127.patch";
89− sha256 = "8Uw9mUw7U5nrAwUDGVpAwoRqb9ah503wQCr9kPbBJIo=";
90− })
91−
9282 (substituteAll {
9383 src = ./fix-paths.patch;
9484 bc = "${bc}/bin/bc";
pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch+4−4
@@ -1,8 +1,8 @@
11diff --git a/src/synapse-plugins/calculator-plugin.vala b/src/synapse-plugins/calculator-plugin.vala
2−index 18ca3af..f5d1076 100644
2+index 886a44cd..a4601da6 100644
33--- a/src/synapse-plugins/calculator-plugin.vala
44+++ b/src/synapse-plugins/calculator-plugin.vala
5−@@ -44,9 +44,7 @@ namespace Synapse {
5+@@ -50,9 +50,7 @@ namespace Synapse {
66 _("Calculator"),
77 _("Calculate basic expressions."),
88 "accessories-calculator",
@@ -13,10 +13,10 @@ index 18ca3af..f5d1076 100644
1313 );
1414 }
1515
16−@@ -87,7 +85,7 @@ namespace Synapse {
17− if (matched) {
16+@@ -94,7 +92,7 @@ namespace Synapse {
1817 Pid pid;
1918 int read_fd, write_fd;
19+ /* Must include math library to get non-integer results and to access standard math functions */
2020- string[] argv = {"bc", "-l"};
2121+ string[] argv = {"@bc@", "-l"};
2222 string? solution = null;
pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix+3−3
@@ -18,13 +18,13 @@
1818
1919stdenv.mkDerivation rec {
2020 pname = "wingpanel-indicator-bluetooth";
21− version = "unstable-2020-10-01";
21+ version = "2.1.8";
2222
2323 src = fetchFromGitHub {
2424 owner = "elementary";
2525 repo = pname;
26− rev = "2b59d646ea0d66ae45dafc851374f24dcd98c064";
27− sha256 = "sha256-selp70P+7RhbdHF6iiNmcNbMf/c+B9zZ6nlxwRSZGn4=";
26+ rev = version;
27+ sha256 = "12rasf8wy3cqnfjlm9s2qnx4drzx0w0yviagkng3kspdzm3vzsqy";
2828 };
2929
3030 passthru = {
pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix+20−3
@@ -1,6 +1,8 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
5+, substituteAll
46, pantheon
57, pkg-config
68, meson
@@ -13,6 +15,7 @@
1315, evolution-data-server
1416, libical
1517, libgee
18+, libhandy
1619, libxml2
1720, libsoup
1821, libgdata
@@ -21,13 +24,13 @@
2124
2225stdenv.mkDerivation rec {
2326 pname = "wingpanel-indicator-datetime";
24− version = "2.2.5";
27+ version = "2.3.0";
2528
2629 src = fetchFromGitHub {
2730 owner = "elementary";
2831 repo = pname;
2932 rev = version;
30− sha256 = "sha256-rZzZIh4bwZfwQFDbfPDKQtfLMJQ2IdykH1yiV6ckqnw=";
33+ sha256 = "1mdm0fsnmmyw8c0ik2jmfri3kas9zkz1hskzf8wvbd51vnazfpgw";
3134 };
3235
3336 passthru = {
@@ -50,12 +53,26 @@ stdenv.mkDerivation rec {
5053 granite
5154 gtk3
5255 libgee
56+ libhandy
5357 libical
5458 libsoup
5559 wingpanel
5660 libgdata # required by some dependency transitively
5761 ];
5862
63+ patches = [
64+ (substituteAll {
65+ src = ./fix-paths.patch;
66+ elementary_calendar = elementary-calendar;
67+ })
68+ # Upstream code not respecting our localedir
69+ # https://github.com/elementary/wingpanel-indicator-datetime/pull/269
70+ (fetchpatch {
71+ url = "https://github.com/elementary/wingpanel-indicator-datetime/commit/f7befa68a9fd6215297c334a366919d3431cae65.patch";
72+ sha256 = "0l997b1pnpjscs886xy28as5yykxamxacvxdv8466zin7zynarfs";
73+ })
74+ ];
75+
5976 postPatch = ''
6077 chmod +x meson/post_install.py
6178 patchShebangs meson/post_install.py
@@ -64,7 +81,7 @@ stdenv.mkDerivation rec {
6481 meta = with lib; {
6582 description = "Date & Time Indicator for Wingpanel";
6683 homepage = "https://github.com/elementary/wingpanel-indicator-datetime";
67− license = licenses.gpl2Plus;
84+ license = licenses.gpl3Plus;
6885 platforms = platforms.linux;
6986 maintainers = pantheon.maintainers;
7087 };
pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/fix-paths.patchnew file+13
@@ -0,0 +1,13 @@
1+diff --git a/src/Widgets/calendar/CalendarView.vala b/src/Widgets/calendar/CalendarView.vala
2+index 6e0d530a..2f90f96c 100644
3+--- a/src/Widgets/calendar/CalendarView.vala
4++++ b/src/Widgets/calendar/CalendarView.vala
5+@@ -222,7 +222,7 @@ public class DateTime.Widgets.CalendarView : Gtk.Grid {
6+
7+ // TODO: As far as maya supports it use the Dbus Activation feature to run the calendar-app.
8+ public void show_date_in_maya (GLib.DateTime date) {
9+- var command = "io.elementary.calendar --show-day %s".printf (date.format ("%F"));
10++ var command = "@elementary_calendar@/bin/io.elementary.calendar --show-day %s".printf (date.format ("%F"));
11+
12+ try {
13+ var appinfo = AppInfo.create_from_commandline (command, null, AppInfoCreateFlags.NONE);
pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix+12−3
@@ -1,5 +1,6 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
45, pantheon
56, pkg-config
@@ -14,17 +15,18 @@
1415, libgee
1516, xorg
1617, libgnomekbd
18+, ibus
1719}:
1820
1921stdenv.mkDerivation rec {
2022 pname = "wingpanel-indicator-keyboard";
21− version = "2.2.1";
23+ version = "2.4.0";
2224
2325 src = fetchFromGitHub {
2426 owner = "elementary";
2527 repo = pname;
2628 rev = version;
27− sha256 = "sha256-/sTx0qT7gNj1waQg9OKqHY6MtL+p0NljiIAXKA3DYmA=";
29+ sha256 = "10zzsil5l6snz47nx887r22sl2n0j6bg4dhxmgk3j3xp3jhgmrgl";
2830 };
2931
3032 passthru = {
@@ -44,6 +46,7 @@ stdenv.mkDerivation rec {
4446 buildInputs = [
4547 granite
4648 gtk3
49+ ibus
4750 libgee
4851 wingpanel
4952 xorg.xkeyboardconfig
@@ -54,12 +57,18 @@ stdenv.mkDerivation rec {
5457 src = ./fix-paths.patch;
5558 gkbd_keyboard_display = "${libgnomekbd}/bin/gkbd-keyboard-display";
5659 })
60+ # Upstream code not respecting our localedir
61+ # https://github.com/elementary/wingpanel-indicator-keyboard/pull/110
62+ (fetchpatch {
63+ url = "https://github.com/elementary/wingpanel-indicator-keyboard/commit/ea5df2f62a99a216ee5ed137268e710490a852a4.patch";
64+ sha256 = "0fmdz10xgzsryj0f0dnpjrh9yygjkb91a7pxg0rwddxbprhnr7j0";
65+ })
5766 ];
5867
5968 meta = with lib; {
6069 description = "Keyboard Indicator for Wingpanel";
6170 homepage = "https://github.com/elementary/wingpanel-indicator-keyboard";
62− license = licenses.lgpl21Plus;
71+ license = licenses.gpl3Plus;
6372 platforms = platforms.linux;
6473 maintainers = pantheon.maintainers;
6574 };
pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix+18−2
@@ -1,6 +1,8 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
5+, substituteAll
46, pantheon
57, pkg-config
68, meson
@@ -12,17 +14,18 @@
1214, libnma
1315, wingpanel
1416, libgee
17+, elementary-capnet-assist
1518}:
1619
1720stdenv.mkDerivation rec {
1821 pname = "wingpanel-indicator-network";
19− version = "2.2.4";
22+ version = "2.3.0";
2023
2124 src = fetchFromGitHub {
2225 owner = "elementary";
2326 repo = pname;
2427 rev = version;
25− sha256 = "sha256-wVHvHduUT55rIWRfRWg3Z3jL3FdzUJfiqFONRmpCR8k=";
28+ sha256 = "0q5ad2sj0nmigrh1rykb2kvik3hzibzyafdvkkmjd6y92145lwl1";
2629 };
2730
2831 passthru = {
@@ -47,6 +50,19 @@ stdenv.mkDerivation rec {
4750 wingpanel
4851 ];
4952
53+ patches = [
54+ (substituteAll {
55+ src = ./fix-paths.patch;
56+ elementary_capnet_assist = elementary-capnet-assist;
57+ })
58+ # Upstream code not respecting our localedir
59+ # https://github.com/elementary/wingpanel-indicator-network/pull/228
60+ (fetchpatch {
61+ url = "https://github.com/elementary/wingpanel-indicator-network/commit/eacc7d46a94a980005e87e38e6c943143a09692a.patch";
62+ sha256 = "1svg07fqmplchp1ass0h8qkr3g24pkw8dcsnd54ddmvnjzwrzz0a";
63+ })
64+ ];
65+
5066 meta = with lib; {
5167 description = "Network Indicator for Wingpanel";
5268 homepage = "https://github.com/elementary/wingpanel-indicator-network";
pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/fix-paths.patchnew file+13
@@ -0,0 +1,13 @@
1+diff --git a/src/Indicator.vala b/src/Indicator.vala
2+index 83ce932a..f95ed142 100644
3+--- a/src/Indicator.vala
4++++ b/src/Indicator.vala
5+@@ -67,7 +67,7 @@ public class Network.Indicator : Wingpanel.Indicator {
6+
7+ if (network_monitor.get_connectivity () == NetworkConnectivity.FULL || network_monitor.get_connectivity () == NetworkConnectivity.PORTAL) {
8+ try {
9+- var appinfo = AppInfo.create_from_commandline ("io.elementary.capnet-assist", null, AppInfoCreateFlags.NONE);
10++ var appinfo = AppInfo.create_from_commandline ("@elementary_capnet_assist@/bin/io.elementary.capnet-assist", null, AppInfoCreateFlags.NONE);
11+ appinfo.launch (null, null);
12+ } catch (Error e) {
13+ warning ("%s\n", e.message);
pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix+12−4
@@ -1,5 +1,6 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
45, pantheon
56, pkg-config
@@ -15,15 +16,24 @@
1516
1617stdenv.mkDerivation rec {
1718 pname = "wingpanel-indicator-nightlight";
18− version = "2.0.4";
19+ version = "2.1.0";
1920
2021 src = fetchFromGitHub {
2122 owner = "elementary";
2223 repo = pname;
2324 rev = version;
24− sha256 = "sha256-0f03XO74ezzS/Uy0mXT4raoazETL/SOVh58sAo9bEIA=";
25+ sha256 = "1zxjw68byg4sjn8lzsidzmy4ipwxgnv8rm529a7wzlpgj2xq3x4j";
2526 };
2627
28+ patches = [
29+ # Upstream code not respecting our localedir
30+ # https://github.com/elementary/wingpanel-indicator-nightlight/pull/91
31+ (fetchpatch {
32+ url = "https://github.com/elementary/wingpanel-indicator-nightlight/commit/4e15f71ed958df3569b2f1e224b9fb18613281f1.patch";
33+ sha256 = "07awmswyy0988pm6ggyz22mllja675cbdzrjdqc1xd4knwcgy77v";
34+ })
35+ ];
36+
2737 passthru = {
2838 updateScript = nix-update-script {
2939 attrPath = "pantheon.${pname}";
@@ -45,8 +55,6 @@ stdenv.mkDerivation rec {
4555 wingpanel
4656 ];
4757
48− PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel";
49−
5058 meta = with lib; {
5159 description = "Night Light Indicator for Wingpanel";
5260 homepage = "https://github.com/elementary/wingpanel-indicator-nightlight";
pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix+8−6
@@ -11,26 +11,27 @@
1111, granite
1212, wingpanel
1313, libgee
14+, libhandy
1415, elementary-notifications
1516}:
1617
1718stdenv.mkDerivation rec {
1819 pname = "wingpanel-indicator-notifications";
19− version = "2.1.4";
20+ version = "6.0.0";
2021
2122 src = fetchFromGitHub {
2223 owner = "elementary";
2324 repo = pname;
2425 rev = version;
25− sha256 = "sha256-tVPSJO/9IXlibLkb6Cv+8azdvuXbcNOI1qYk4VQc4WI=";
26+ sha256 = "1pvcpk1d2zh9pvw0clv3bhf2plcww6nbxs6j7xjbvnaqs7d6i1k2";
2627 };
2728
2829 patches = [
29− # Fix do not disturb on NixOS
30− # https://github.com/elementary/wingpanel-indicator-notifications/pull/110
30+ # Upstream code not respecting our localedir
31+ # https://github.com/elementary/wingpanel-indicator-notifications/pull/218
3132 (fetchpatch {
32− url = "https://github.com/elementary/wingpanel-indicator-notifications/commit/02b1e226c0262c1535fdf2b4f1daba6be9084f67.patch";
33− sha256 = "1a5phygygndr28yx8yp0lyk0wxypc5656dpidw1z8x1yd6xysqhy";
33+ url = "https://github.com/elementary/wingpanel-indicator-notifications/commit/c7e73f0683561345935a959dafa2083b7e22fe99.patch";
34+ sha256 = "10xiyq42bqfmih1jgqpq64nha3n0y7ra3j7j0q27rn5hhhgbyjs7";
3435 })
3536 ];
3637
@@ -52,6 +53,7 @@ stdenv.mkDerivation rec {
5253 granite
5354 gtk3
5455 libgee
56+ libhandy
5557 wingpanel
5658 ];
5759
pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix+14−3
@@ -1,7 +1,9 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, substituteAll
34, nix-update-script
45, pantheon
6+, gnome
57, pkg-config
68, meson
79, python3
@@ -11,6 +13,7 @@
1113, granite
1214, bamf
1315, libgtop
16+, libnotify
1417, udev
1518, wingpanel
1619, libgee
@@ -18,13 +21,13 @@
1821
1922stdenv.mkDerivation rec {
2023 pname = "wingpanel-indicator-power";
21− version = "2.2.0";
24+ version = "6.1.0";
2225
2326 src = fetchFromGitHub {
2427 owner = "elementary";
2528 repo = pname;
2629 rev = version;
27− sha256 = "sha256-wjYZXFnzvPSukzh1BNvyaFxKpYm+kNNFm5AsthLXGVE=";
30+ sha256 = "1zlpnl7983jkpy2nik08ih8lwrqvm456h993ixa6armzlazdvnjk";
2831 };
2932
3033 passthru = {
@@ -47,10 +50,18 @@ stdenv.mkDerivation rec {
4750 gtk3
4851 libgee
4952 libgtop
53+ libnotify
5054 udev
5155 wingpanel
5256 ];
5357
58+ patches = [
59+ (substituteAll {
60+ src = ./fix-paths.patch;
61+ gnome_power_manager = gnome.gnome-power-manager;
62+ })
63+ ];
64+
5465 postPatch = ''
5566 chmod +x meson/post_install.py
5667 patchShebangs meson/post_install.py
@@ -59,7 +70,7 @@ stdenv.mkDerivation rec {
5970 meta = with lib; {
6071 description = "Power Indicator for Wingpanel";
6172 homepage = "https://github.com/elementary/wingpanel-indicator-power";
62− license = licenses.gpl2Plus;
73+ license = licenses.gpl3Plus;
6374 platforms = platforms.linux;
6475 maintainers = pantheon.maintainers;
6576 };
pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/fix-paths.patchnew file+13
@@ -0,0 +1,13 @@
1+diff --git a/src/Widgets/DeviceList.vala b/src/Widgets/DeviceList.vala
2+index 0c56f46..33d97b3 100644
3+--- a/src/Widgets/DeviceList.vala
4++++ b/src/Widgets/DeviceList.vala
5+@@ -39,7 +39,7 @@ public class Power.Widgets.DeviceList : Gtk.ListBox {
6+ string device_path = path_entries.@get (value);
7+ try {
8+ AppInfo statistics_app = AppInfo.create_from_commandline (
9+- "gnome-power-statistics --device " + device_path,
10++ "@gnome_power_manager@/bin/gnome-power-statistics --device " + device_path,
11+ "",
12+ AppInfoCreateFlags.NONE
13+ );
pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix+14−3
@@ -12,19 +12,29 @@
1212, wingpanel
1313, accountsservice
1414, libgee
15+, libhandy
1516}:
1617
1718stdenv.mkDerivation rec {
1819 pname = "wingpanel-indicator-session";
19− version = "unstable-2020-09-13";
20+ version = "2.3.0";
2021
2122 src = fetchFromGitHub {
2223 owner = "elementary";
2324 repo = pname;
24− rev = "e65c95f46adbfd598ad61933394d7bc3c5998278";
25− sha256 = "sha256-QKOfgAc6pDQYpETrFunZB6+rF1P8XIf0pjft/t9aWW0=";
25+ rev = version;
26+ sha256 = "0hww856qjl4kjmmksd5gp8bc5vj4fhs2s9fmbnpbf88lg5ds0wv0";
2627 };
2728
29+ patches = [
30+ # Upstream code not respecting our localedir
31+ # https://github.com/elementary/wingpanel-indicator-session/pull/162
32+ (fetchpatch {
33+ url = "https://github.com/elementary/wingpanel-indicator-session/commit/e85032da8e923df4589dc75ccded10026b6c1cd7.patch";
34+ sha256 = "139b2zbc6qjaw41nwfjkqv4npahkzryv4p5m6v10273clv6l72ng";
35+ })
36+ ];
37+
2838 passthru = {
2939 updateScript = nix-update-script {
3040 attrPath = "pantheon.${pname}";
@@ -43,6 +53,7 @@ stdenv.mkDerivation rec {
4353 granite
4454 gtk3
4555 libgee
56+ libhandy
4657 wingpanel
4758 ];
4859
pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix+13−3
@@ -1,5 +1,6 @@
11{ lib, stdenv
22, fetchFromGitHub
3+, fetchpatch
34, nix-update-script
45, pantheon
56, pkg-config
@@ -19,15 +20,24 @@
1920
2021stdenv.mkDerivation rec {
2122 pname = "wingpanel-indicator-sound";
22− version = "2.1.6";
23+ version = "6.0.0";
2324
2425 src = fetchFromGitHub {
2526 owner = "elementary";
2627 repo = pname;
2728 rev = version;
28− sha256 = "sha256-WGkxLsbdJ7Z7kolymYpggsVy4cN4CicNKdfCbunklSI=";
29+ sha256 = "0cv97c0qrhqisyghy9a9qr4ffcx3g4bkswxm6rn4r2wfg4gvljri";
2930 };
3031
32+ patches = [
33+ # Upstream code not respecting our localedir
34+ # https://github.com/elementary/wingpanel-indicator-sound/pull/216
35+ (fetchpatch {
36+ url = "https://github.com/elementary/wingpanel-indicator-sound/commit/df816104c15e4322c1077313b1f43114cdaf710e.patch";
37+ sha256 = "029z7l467jz1ymxwrzrf874062r6xmskl7mldpq39jh110fijy5l";
38+ })
39+ ];
40+
3141 passthru = {
3242 updateScript = nix-update-script {
3343 attrPath = "pantheon.${pname}";
@@ -61,7 +71,7 @@ stdenv.mkDerivation rec {
6171 meta = with lib; {
6272 description = "Sound Indicator for Wingpanel";
6373 homepage = "https://github.com/elementary/wingpanel-indicator-sound";
64− license = licenses.gpl2Plus;
74+ license = licenses.gpl3Plus;
6575 platforms = platforms.linux;
6676 maintainers = pantheon.maintainers;
6777 };
pkgs/desktops/pantheon/desktop/wingpanel/default.nix+3−3
@@ -22,13 +22,13 @@
2222
2323stdenv.mkDerivation rec {
2424 pname = "wingpanel";
25− version = "2.3.2";
25+ version = "3.0.0";
2626
2727 src = fetchFromGitHub {
2828 owner = "elementary";
2929 repo = pname;
3030 rev = version;
31− sha256 = "sha256-mXi600gufUK81Uks9p4+al0tCI7H9KpizZGyoomp42s=";
31+ sha256 = "0ycys24y1rrz0ydpvs4mc89p4k986q1ziwbvziinxr1wsli9v1dj";
3232 };
3333
3434 passthru = {
@@ -82,7 +82,7 @@ stdenv.mkDerivation rec {
8282 including the applications menu.
8383 '';
8484 homepage = "https://github.com/elementary/wingpanel";
85− license = licenses.gpl2Plus;
85+ license = licenses.gpl3Plus;
8686 platforms = platforms.linux;
8787 maintainers = pantheon.maintainers;
8888 };
pkgs/desktops/pantheon/granite/default.nix+2−2
@@ -18,7 +18,7 @@
1818
1919stdenv.mkDerivation rec {
2020 pname = "granite";
21− version = "6.1.0";
21+ version = "6.1.1";
2222
2323 outputs = [ "out" "dev" ];
2424
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
2626 owner = "elementary";
2727 repo = pname;
2828 rev = version;
29− sha256 = "02hn4abnsn6fm2m33pjmlnkj8dljsm292z62vn8ccvy7l8f9my6l";
29+ sha256 = "13c6xk014psvmll9qybdqviskllw4g150m2k4ikjbv59g0rfp7xq";
3030 };
3131
3232 passthru = {
pkgs/desktops/pantheon/services/contractor/default.nix+2−2
@@ -16,13 +16,13 @@
1616
1717stdenv.mkDerivation rec {
1818 pname = "contractor";
19− version = "0.3.4";
19+ version = "0.3.5";
2020
2121 src = fetchFromGitHub {
2222 owner = "elementary";
2323 repo = pname;
2424 rev = version;
25− sha256 = "sha256-FHLecRxTE8v3M7cV6rkQKNhPhKFhuhvkzB5C+u7Z+Ms=";
25+ sha256 = "1sqww7zlzl086pjww3d21ah1g78lfrc9aagrqhmsnnbji9gwb8ab";
2626 };
2727
2828 passthru = {
pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix+5−3
@@ -11,6 +11,7 @@
1111, gtk3
1212, granite
1313, libgee
14+, libhandy
1415, gcr
1516, webkitgtk
1617, wrapGAppsHook
@@ -18,7 +19,7 @@
1819
1920stdenv.mkDerivation rec {
2021 pname = "elementary-capnet-assist";
21− version = "2.2.5";
22+ version = "2.3.0";
2223
2324 repoName = "capnet-assist";
2425
@@ -26,7 +27,7 @@ stdenv.mkDerivation rec {
2627 owner = "elementary";
2728 repo = repoName;
2829 rev = version;
29− sha256 = "sha256-o6J3vNWvV0zRde8VWWfpb56PQhSck2sJQVLimq0P9CY=";
30+ sha256 = "1gma8a04ndivx1fd3ha9f45r642qq2li80wrd6dsrp4v3vqix9bn";
3031 };
3132
3233 passthru = {
@@ -50,6 +51,7 @@ stdenv.mkDerivation rec {
5051 granite
5152 gtk3
5253 libgee
54+ libhandy
5355 webkitgtk
5456 ];
5557
@@ -66,7 +68,7 @@ stdenv.mkDerivation rec {
6668 meta = with lib; {
6769 description = "A small WebKit app that assists a user with login when a captive portal is detected";
6870 homepage = "https://github.com/elementary/capnet-assist";
69− license = licenses.gpl2Plus;
71+ license = licenses.gpl3Plus;
7072 platforms = platforms.linux;
7173 maintainers = pantheon.maintainers;
7274 };
pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nixdeleted−66
@@ -1,66 +0,0 @@
1−{ lib, stdenv
2−, fetchFromGitHub
3−, nix-update-script
4−, pantheon
5−, meson
6−, ninja
7−, desktop-file-utils
8−, glib
9−, coreutils
10−, elementary-settings-daemon
11−, wrapGAppsHook
12−}:
13−
14−stdenv.mkDerivation rec {
15− pname = "elementary-dpms-helper";
16− version = "1.0";
17−
18− repoName = "dpms-helper";
19−
20− src = fetchFromGitHub {
21− owner = "elementary";
22− repo = repoName;
23− rev = version;
24− sha256 = "sha256-0KbfAxvZ+aFjq+XEK4uoRHSyKlaky0FlJd2a5TG4bms=";
25− };
26−
27− passthru = {
28− updateScript = nix-update-script {
29− attrPath = "pantheon.${pname}";
30− };
31− };
32−
33− nativeBuildInputs = [
34− desktop-file-utils
35− meson
36− ninja
37− wrapGAppsHook
38− ];
39−
40− buildInputs = [
41− elementary-settings-daemon
42− glib
43− ];
44−
45− preFixup = ''
46− gappsWrapperArgs+=(--prefix PATH : "${lib.makeBinPath [ glib.dev coreutils ]}")
47− '';
48−
49− postFixup = ''
50− substituteInPlace $out/etc/xdg/autostart/io.elementary.dpms-helper.desktop \
51− --replace "Exec=io.elementary.dpms-helper" "Exec=$out/bin/io.elementary.dpms-helper"
52− '';
53−
54− # See: https://github.com/elementary/dpms-helper/pull/10
55− postInstall = ''
56− ${glib.dev}/bin/glib-compile-schemas $out/share/glib-2.0/schemas
57− '';
58−
59− meta = with lib; {
60− description = "Sets DPMS settings found in org.pantheon.dpms";
61− homepage = "https://github.com/elementary/dpms-helper";
62− license = licenses.gpl2;
63− platforms = platforms.linux;
64− maintainers = pantheon.maintainers;
65− };
66−}
pkgs/desktops/pantheon/services/elementary-notifications/default.nix+5−3
@@ -8,6 +8,7 @@
88, glib
99, granite
1010, libgee
11+, libhandy
1112, libcanberra-gtk3
1213, pantheon
1314, python3
@@ -16,15 +17,15 @@
1617
1718stdenv.mkDerivation rec {
1819 pname = "elementary-notifications";
19− version = "unstable-2020-03-31";
20+ version = "6.0.0";
2021
2122 repoName = "notifications";
2223
2324 src = fetchFromGitHub {
2425 owner = "elementary";
2526 repo = repoName;
26− rev = "db552b0c3466ba1099c7737c353b7225ab1896cc";
27− sha256 = "1fhf4zx73qka935x5afv6zqsm2l37d1mjbhrbzzzz44dqwa2vp16";
27+ rev = version;
28+ sha256 = "0jfppafbc8jwhhnillylicz4zfds789d8b31ifsx0qijlxa7kji9";
2829 };
2930
3031 nativeBuildInputs = [
@@ -43,6 +44,7 @@ stdenv.mkDerivation rec {
4344 gtk3
4445 libcanberra-gtk3
4546 libgee
47+ libhandy
4648 ];
4749
4850 postPatch = ''
pkgs/desktops/pantheon/services/elementary-settings-daemon/default.nix+31−130
@@ -1,165 +1,66 @@
11{ lib, stdenv
2−, substituteAll
3−, fetchurl
4−, fetchgit
5−, fetchpatch
2+, fetchFromGitHub
63, meson
74, ninja
5+, pantheon
86, pkg-config
9−, gnome
10−, perl
11−, gettext
12−, gtk3
13−, glib
14−, libnotify
15−, libgnomekbd
16−, lcms2
17−, libpulseaudio
18−, alsa-lib
19−, libcanberra-gtk3
20−, upower
21−, colord
22−, libgweather
23−, polkit
24−, gsettings-desktop-schemas
25−, geoclue2
26−, systemd
27−, libgudev
28−, libwacom
29−, libxslt
30−, libxml2
31−, modemmanager
32−, networkmanager
33−, gnome-desktop
34−, geocode-glib
35−, docbook_xsl
7+, python3
8+, vala
369, accountsservice
10+, dbus
11+, desktop-file-utils
12+, geoclue2
13+, glib
14+, gobject-introspection
15+, gtk3
16+, granite
17+, libgee
3718, wrapGAppsHook
38−, python3
39−, tzdata
40−, nss
41−, gcr
42−, pantheon
4319}:
4420
4521stdenv.mkDerivation rec {
4622 pname = "elementary-settings-daemon";
47− version = "3.34.1";
23+ version = "1.0.0";
4824
49− repoName = "gnome-settings-daemon";
25+ repoName = "settings-daemon";
5026
51− src = fetchgit {
52− url = "https://git.launchpad.net/~ubuntu-desktop/ubuntu/+source/${repoName}";
53− rev = "refs/tags/ubuntu/${version}-1ubuntu2";
54− sha256 = "0w0dsbzif7v0gk61rs9g20ldlimbdwb5yvlfdc568yyx5z643jbv";
27+ src = fetchFromGitHub {
28+ owner = "elementary";
29+ repo = repoName;
30+ rev = version;
31+ sha256 = "1masvy1f9z2cp8w5ajnhy4k9bzvzgfziqlm59bf146pdd2567hiw";
5532 };
5633
57− # We've omitted the 53_sync_input_sources_to_accountsservice patch because it breaks the build.
58− # See: https://gist.github.com/worldofpeace/2f152a20b7c47895bb93239fce1c9f52
59− #
60− # Also omit ubuntu_calculator_snap.patch as that's obviously not useful here.
61− patches = let patchPath = "${src}/debian/patches"; in [
62− (substituteAll {
63− src = ./fix-paths.patch;
64− inherit tzdata;
65− })
66− ./global-backlight-helper.patch
67− "${patchPath}/45_suppress-printer-may-not-be-connected-notification.patch"
68− #"${patchPath}/53_sync_input_sources_to_accountsservice.patch"
69− "${patchPath}/64_restore_terminal_keyboard_shortcut_schema.patch"
70− "${patchPath}/correct_logout_action.patch"
71− "${patchPath}/ubuntu-lid-close-suspend.patch"
72− "${patchPath}/revert-gsettings-removals.patch"
73− "${patchPath}/revert-mediakeys-dbus-interface-drop.patch"
74− #"${patchPath}/ubuntu_ibus_configs.patch"
75− # https://github.com/elementary/os-patches/blob/6975d1c254cb6ab913b8e2396877203aea8eaa65/debian/patches/elementary-dpms.patch
76− ./elementary-dpms.patch
77−
78− # Query GWeather DB on the fly instead of caching.
79− # Needed for the next patch to apply.
80− # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/merge_requests/175
81− (fetchpatch {
82− url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/df6c69f028d27b53ac86829e11df103b25ed5a74.patch";
83− sha256 = "bKZkPzN64DXMgitjn0vUzUvKl7ldhN/mNVtPKVmHd0Q=";
84− })
85− # Adjust to libgweather changes.
86− # https://gitlab.gnome.org/GNOME/gnome-settings-daemon/-/merge_requests/217
87− (fetchpatch {
88− url = "https://gitlab.gnome.org/GNOME/gnome-settings-daemon/commit/82d88014dfca2df7e081712870e1fb017c16b808.patch";
89− sha256 = "H5k/v+M2bRaswt5nrDJFNn4gS4BdB0UfzdjUCT4yLKg=";
90− })
91− ];
92−
9334 nativeBuildInputs = [
35+ desktop-file-utils
36+ gobject-introspection
9437 meson
9538 ninja
9639 pkg-config
97− perl
98− gettext
99− libxml2
100− libxslt
101− docbook_xsl
102− wrapGAppsHook
10340 python3
41+ vala
42+ wrapGAppsHook
10443 ];
10544
10645 buildInputs = [
10746 accountsservice
108− alsa-lib
109− colord
110− gcr
47+ dbus
11148 geoclue2
112− geocode-glib
11349 glib
114− gnome-desktop
115− gsettings-desktop-schemas
11650 gtk3
117− lcms2
118− libcanberra-gtk3
119− libgnomekbd # for org.gnome.libgnomekbd.keyboard schema
120− libgudev
121− libgweather
122− libnotify
123− libpulseaudio
124− libwacom
125− modemmanager
126− networkmanager
127− nss
128− polkit
129− systemd
130− upower
131− ];
132−
133− mesonFlags = [
134− "-Dudev_dir=${placeholder "out"}/lib/udev"
51+ granite
52+ libgee
13553 ];
13654
137− # Default for release buildtype but passed manually because
138− # we're using plain
139− NIX_CFLAGS_COMPILE = "-DG_DISABLE_CAST_CHECKS";
140−
14155 postPatch = ''
142− for f in gnome-settings-daemon/codegen.py plugins/power/gsd-power-constants-update.pl meson_post_install.py; do
143− chmod +x $f
144− patchShebangs $f
145− done
146− '';
147−
148− postFixup = ''
149− # So the polkit policy can reference /run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper
150− mkdir -p $out/bin/elementary-settings-daemon
151− ln -s $out/libexec/gsd-backlight-helper $out/bin/elementary-settings-daemon/gsd-backlight-helper
56+ chmod +x meson/post_install.py
57+ patchShebangs meson/post_install.py
15258 '';
15359
154− passthru = {
155− updateScript = gnome.updateScript {
156− packageName = repoName;
157− attrPath = "pantheon.${pname}";
158− };
159− };
160−
16160 meta = with lib; {
162− license = licenses.gpl2Plus;
61+ description = "Settings daemon for Pantheon";
62+ homepage = "https://github.com/elementary/settings-daemon";
63+ license = licenses.gpl3Plus;
16364 maintainers = pantheon.maintainers;
16465 platforms = platforms.linux;
16566 };
pkgs/desktops/pantheon/services/elementary-settings-daemon/elementary-dpms.patchdeleted−84
@@ -1,84 +0,0 @@
1−diff --git a/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in b/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in
2−index ec805d8a..cf0d6793 100644
3−--- a/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in
4−+++ b/data/org.gnome.settings-daemon.plugins.power.gschema.xml.in
5−@@ -11,6 +11,11 @@
6− <summary>Activation of this plugin</summary>
7− <description>Whether this plugin would be activated by unity-settings-daemon or not</description>
8− </key>
9−+ <key name="manage-dpms-defaults" type="b">
10−+ <default>false</default>
11−+ <summary>Reset X DPMS values</summary>
12−+ <description>Whether DPMS values will be adjusted by gnome-settings-daemon</description>
13−+ </key>
14− <key name="idle-brightness" type="i">
15− <default>30</default>
16− <summary>The brightness of the screen when idle</summary>
17−diff --git a/plugins/power/gpm-common.c b/plugins/power/gpm-common.c
18−index a7ca87fb..a56a7cdc 100644
19−--- a/plugins/power/gpm-common.c
20−+++ b/plugins/power/gpm-common.c
21−@@ -280,6 +280,18 @@ disable_builtin_screensaver (gpointer unused)
22− return TRUE;
23− }
24−
25−+gboolean
26−+manage_dpms (void)
27−+{
28−+ GSettings *settings;
29−+ gboolean manage_dpms_defaults;
30−+
31−+ settings = g_settings_new ("org.gnome.settings-daemon.plugins.power");
32−+ manage_dpms_defaults = g_settings_get_boolean (settings, "manage-dpms-defaults");
33−+ g_object_unref (settings);
34−+ return manage_dpms_defaults;
35−+}
36−+
37− guint
38− gsd_power_enable_screensaver_watchdog (void)
39− {
40−@@ -290,7 +302,7 @@ gsd_power_enable_screensaver_watchdog (void)
41− * way. The defaults are now applied in Fedora 20 from
42− * being "0" by default to being "600" by default */
43− gdk_x11_display_error_trap_push (gdk_display_get_default ());
44−- if (DPMSQueryExtension(GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &dummy, &dummy))
45−+ if (manage_dpms () && DPMSQueryExtension(GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), &dummy, &dummy))
46− DPMSSetTimeouts (GDK_DISPLAY_XDISPLAY (gdk_display_get_default ()), 0, 0, 0);
47− gdk_x11_display_error_trap_pop_ignored (gdk_display_get_default ());
48− id = g_timeout_add_seconds (XSCREENSAVER_WATCHDOG_TIMEOUT,
49−diff --git a/plugins/power/gpm-common.h b/plugins/power/gpm-common.h
50−index 88a8e00e..af106479 100644
51−--- a/plugins/power/gpm-common.h
52−+++ b/plugins/power/gpm-common.h
53−@@ -34,6 +34,7 @@ gchar *gpm_get_timestring (guint time);
54− gboolean gsd_power_is_hardware_a_vm (void);
55− guint gsd_power_enable_screensaver_watchdog (void);
56− void reset_idletime (void);
57−+gboolean manage_dpms (void);
58−
59− /* Backlight helpers */
60−
61−diff --git a/plugins/power/gsd-power-manager.c b/plugins/power/gsd-power-manager.c
62−index c500fa38..445496ee 100644
63−--- a/plugins/power/gsd-power-manager.c
64−+++ b/plugins/power/gsd-power-manager.c
65−@@ -1033,6 +1033,9 @@ backlight_enable (GsdPowerManager *manager)
66− gboolean ret;
67− GError *error = NULL;
68−
69−+ if (!(manage_dpms ()))
70−+ return;
71−+
72− iio_proxy_claim_light (manager, TRUE);
73− ret = gnome_rr_screen_set_dpms_mode (manager->rr_screen,
74− GNOME_RR_DPMS_ON,
75−@@ -1052,6 +1055,9 @@ backlight_disable (GsdPowerManager *manager)
76− gboolean ret;
77− GError *error = NULL;
78−
79−+ if (!(manage_dpms ()))
80−+ return;
81−+
82− iio_proxy_claim_light (manager, FALSE);
83− ret = gnome_rr_screen_set_dpms_mode (manager->rr_screen,
84− GNOME_RR_DPMS_OFF,
pkgs/desktops/pantheon/services/elementary-settings-daemon/global-backlight-helper.patchdeleted−26
@@ -1,26 +0,0 @@
1−diff --git a/plugins/power/gsd-backlight.c b/plugins/power/gsd-backlight.c
2−index d7d10fd2..5619d6ad 100644
3−--- a/plugins/power/gsd-backlight.c
4−+++ b/plugins/power/gsd-backlight.c
5−@@ -358,7 +358,7 @@ gsd_backlight_run_set_helper (GsdBacklight *backlight, GTask *task)
6− proc = g_subprocess_new (G_SUBPROCESS_FLAGS_STDOUT_SILENCE,
7− &error,
8− "pkexec",
9−- LIBEXECDIR "/gsd-backlight-helper",
10−+ "/run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper",
11− g_udev_device_get_sysfs_path (backlight->udev_device),
12− data->value_str, NULL);
13− } else {
14−diff --git a/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in b/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in
15−index f16300f8..79d6bd17 100644
16−--- a/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in
17−+++ b/plugins/power/org.gnome.settings-daemon.plugins.power.policy.in.in
18−@@ -25,7 +25,7 @@
19− <allow_inactive>no</allow_inactive>
20− <allow_active>yes</allow_active>
21− </defaults>
22−- <annotate key="org.freedesktop.policykit.exec.path">@libexecdir@/gsd-backlight-helper</annotate>
23−+ <annotate key="org.freedesktop.policykit.exec.path">/run/current-system/sw/bin/elementary-settings-daemon/gsd-backlight-helper</annotate>
24− </action>
25−
26− </policyconfig>
pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix+2−2
@@ -16,13 +16,13 @@
1616
1717stdenv.mkDerivation rec {
1818 pname = "pantheon-agent-geoclue2";
19− version = "1.0.4";
19+ version = "1.0.5";
2020
2121 src = fetchFromGitHub {
2222 owner = "elementary";
2323 repo = pname;
2424 rev = version;
25− sha256 = "sha256-LrDu9NczSKN9YLo922MqYbcHG1QAwzXUb7W0Q/g9ftI=";
25+ sha256 = "0hx3sky0vd2vshkscy3w5x3s18gd45cfqh510xhbmvc0sa32q9gd";
2626 };
2727
2828 passthru = {
pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix+2−2
@@ -15,13 +15,13 @@
1515
1616stdenv.mkDerivation rec {
1717 pname = "pantheon-agent-polkit";
18− version = "1.0.3";
18+ version = "1.0.4";
1919
2020 src = fetchFromGitHub {
2121 owner = "elementary";
2222 repo = pname;
2323 rev = version;
24− sha256 = "sha256-YL1LHnPH7pP0EW9IkjdSEX+VuaAF9uNyFbl47vjVps0=";
24+ sha256 = "1acqjjarl225yk0f68wkldsamcrzrj0ibpcxma04wq9w7jlmz60c";
2525 };
2626
2727 passthru = {
pkgs/tools/inputmethods/touchegg/default.nix+56−15
@@ -1,26 +1,67 @@
1−{ lib, stdenv, fetchurl, xorg, xorgserver, qt4, libGLU, libGL, geis, qmake4Hook }:
1+{ stdenv, lib
2+, fetchFromGitHub
3+, fetchpatch
4+, systemd
5+, libinput
6+, pugixml
7+, cairo
8+, xorg
9+, gtk3-x11
10+, pcre
11+, pkg-config
12+, cmake
13+, pantheon
14+, withPantheon ? false
15+}:
216
317stdenv.mkDerivation rec {
418 pname = "touchegg";
5− version = "1.1.1";
6− src = fetchurl {
7− url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/touchegg/${pname}-${version}.tar.gz";
8− sha256 = "95734815c7219d9a71282f3144b3526f2542b4fa270a8e69d644722d024b4038";
19+ version = "2.0.11";
20+ src = fetchFromGitHub {
21+ owner = "JoseExposito";
22+ repo = pname;
23+ rev = version;
24+ sha256 = "1zfiqs5vqlb6drnqx9nsmhgy8qc6svzr8zyjkqvwkpbgrc6ifap9";
925 };
1026
11− buildInputs = [ xorgserver libGLU libGL xorg.libX11 xorg.libXtst xorg.libXext qt4 geis ];
27+ PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system";
1228
13− nativeBuildInputs = [ qmake4Hook ];
29+ buildInputs = [
30+ systemd
31+ libinput
32+ pugixml
33+ cairo
34+ gtk3-x11
35+ pcre
36+ ] ++ (with xorg; [
37+ libX11
38+ libXtst
39+ libXrandr
40+ libXi
41+ libXdmcp
42+ libpthreadstubs
43+ libxcb
44+ ]);
1445
15− preConfigure = ''
16− sed -e "s@/usr/@$out/@g" -i $(find . -name touchegg.pro)
17− sed -e "s@/usr/@$out/@g" -i $(find ./src/touchegg/config/ -name Config.cpp)
18− '';
46+ nativeBuildInputs = [
47+ pkg-config
48+ cmake
49+ ];
1950
20− meta = {
51+ patches = lib.optionals withPantheon [
52+ # Disable per-application gesture by default to make sure the default
53+ # config does not conflict with Pantheon switchboard settings.
54+ (fetchpatch {
55+ url = "https://github.com/elementary/os-patches/commit/ada4e726540a2bb57b606c98e2531cfaaea57211.patch";
56+ sha256 = "0is9acwvgiqdhbiw11i3nq0rp0zldcza779fbj8k78cp329rbqb4";
57+ })
58+ ];
59+
60+ meta = with lib; {
2161 homepage = "https://github.com/JoseExposito/touchegg";
22− description = "Macro binding for touch surfaces";
23− license = lib.licenses.gpl2;
24− platforms = lib.platforms.linux;
62+ description = "Linux multi-touch gesture recognizer";
63+ license = licenses.gpl3Plus;
64+ platforms = platforms.linux;
65+ maintainers = pantheon.maintainers;
2566 };
2667}