From 1fd3d97a45e0b4ec71e13cae724447bfaa6d08d1 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Fri, 10 Dec 2021 08:45:46 +0800 Subject: [PATCH 01/26] pantheon.elementary-files: 6.1.0 -> 6.1.1 (cherry picked from commit e2ff3faf031ba817f3f16ac667afd3e3a4a906d2) --- .../apps/elementary-files/default.nix | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/pkgs/desktops/pantheon/apps/elementary-files/default.nix index 747f9662680d..21e25bad9451 100644 --- a/pkgs/desktops/pantheon/apps/elementary-files/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-files/default.nix @@ -32,23 +32,15 @@ stdenv.mkDerivation rec { pname = "elementary-files"; - version = "6.1.0"; - - repoName = "files"; + version = "6.1.1"; outputs = [ "out" "dev" ]; src = fetchFromGitHub { owner = "elementary"; - repo = repoName; + repo = "files"; rev = version; - sha256 = "sha256-aGiFEeSvDV5rPD2Ll/BuDoWclEPhR1UuoCxUSS9CGmw="; - }; - - passthru = { - updateScript = nix-update-script { - attrPath = "pantheon.${pname}"; - }; + sha256 = "sha256-5TSzV8MQG81aCCR8yiCPhKJaLrp/fwf4mjP32KkcbbY="; }; nativeBuildInputs = [ @@ -88,6 +80,12 @@ stdenv.mkDerivation rec { patchShebangs meson/post_install.py ''; + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + meta = with lib; { description = "File browser designed for elementary OS"; homepage = "https://github.com/elementary/files"; From b037e8a64a027eb0fde22db2f83f941dec109c2c Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 11 Dec 2021 19:45:28 +0800 Subject: [PATCH 02/26] pantheon.appcenter: 3.9.0 -> 3.9.1 (cherry picked from commit 01bc1d1b62449a764dc3159e86a7780acf1d3129) --- pkgs/desktops/pantheon/apps/appcenter/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/appcenter/default.nix b/pkgs/desktops/pantheon/apps/appcenter/default.nix index 6492c9332940..d0c1cc970a7c 100644 --- a/pkgs/desktops/pantheon/apps/appcenter/default.nix +++ b/pkgs/desktops/pantheon/apps/appcenter/default.nix @@ -30,13 +30,13 @@ stdenv.mkDerivation rec { pname = "appcenter"; - version = "3.9.0"; + version = "3.9.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-+r19n42FPoBArZNDF4ZAdUBZqsSxpLwpeBoyaRJBCrg="; + sha256 = "sha256-xktIHQHmz5gh72NEz9UQ9fMvBlj1BihWxHgxsHmTIB0="; }; passthru = { From 21e34ce23c5f3170d5c67bbbc8d4ae6c23c0bbe0 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 11 Dec 2021 19:47:24 +0800 Subject: [PATCH 03/26] pantheon.wingpanel-indicator-notifications: 6.0.2 -> 6.0.3 (cherry picked from commit fd19c43b131cb3bd2a154c4d3c7708d35718ff1f) --- .../desktop/wingpanel-indicators/notifications/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix index a0a687985f91..3ebc38138795 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-notifications"; - version = "6.0.2"; + version = "6.0.3"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-ZuOZlfxtRq8ZcrXGe9wlFGwn2isdvMoXQveKKnEPFdo="; + sha256 = "sha256-iHhZJwaomQgH1Sal8uejl4QlavOQ75UKZ9xchTi1X3U="; }; nativeBuildInputs = [ From 5eab35fd4ac46e29bf011b1243a6860a54cd8794 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 11 Dec 2021 19:49:06 +0800 Subject: [PATCH 04/26] pantheon.wingpanel-indicator-datetime: 2.3.1 -> 2.4.0 (cherry picked from commit ec371d9365e350c6bca0df7cff154c3fea857bb5) --- .../wingpanel-indicators/datetime/default.nix | 11 ++--------- .../datetime/fix-paths.patch | 17 +++++++++++++++-- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix index 708e2b6eb0cc..1164e0592bfb 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix @@ -1,7 +1,6 @@ { lib , stdenv , fetchFromGitHub -, fetchpatch , nix-update-script , substituteAll , pkg-config @@ -24,13 +23,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-datetime"; - version = "2.3.1"; + version = "2.4.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-/kbwZVzOlC3ATCuXVMdf2RIskoGQKG1evaDYO3yFerg="; + sha256 = "sha256-GxlnzLDrZmDDAGlUMoM4k4SkbCqra3Th6ugRAj3Wse4="; }; patches = [ @@ -38,12 +37,6 @@ stdenv.mkDerivation rec { src = ./fix-paths.patch; elementary_calendar = elementary-calendar; }) - # Fix incorrect month shown on re-opening indicator if previously changed month - # https://github.com/elementary/wingpanel-indicator-datetime/pull/284 - (fetchpatch { - url = "https://github.com/elementary/wingpanel-indicator-datetime/commit/9b0bed98e09dfdad62f43a95d956d2f53d824e65.patch"; - sha256 = "sha256-MQfz4Uzo59SmmfQNi58OA7CIHHkm2TODQz2fmmIall4="; - }) ]; nativeBuildInputs = [ diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/fix-paths.patch b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/fix-paths.patch index bec5f43e0d78..51c495362027 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/fix-paths.patch +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/fix-paths.patch @@ -1,8 +1,21 @@ +diff --git a/src/Indicator.vala b/src/Indicator.vala +index 4aba03c..6385bc9 100644 +--- a/src/Indicator.vala ++++ b/src/Indicator.vala +@@ -55,7 +55,7 @@ public class DateTime.Indicator : Wingpanel.Indicator { + + panel_label.button_press_event.connect ((e) => { + if (e.button == Gdk.BUTTON_MIDDLE) { +- var command = "io.elementary.calendar --show-day %s".printf (new GLib.DateTime.now_local ().format ("%F")); ++ var command = "@elementary_calendar@/bin/io.elementary.calendar --show-day %s".printf (new GLib.DateTime.now_local ().format ("%F")); + try { + var appinfo = AppInfo.create_from_commandline (command, null, AppInfoCreateFlags.NONE); + appinfo.launch_uris (null, null); diff --git a/src/Widgets/calendar/CalendarView.vala b/src/Widgets/calendar/CalendarView.vala -index 6e0d530a..2f90f96c 100644 +index cb54253..7477d1a 100644 --- a/src/Widgets/calendar/CalendarView.vala +++ b/src/Widgets/calendar/CalendarView.vala -@@ -222,7 +222,7 @@ public class DateTime.Widgets.CalendarView : Gtk.Grid { +@@ -242,7 +242,7 @@ public class DateTime.Widgets.CalendarView : Gtk.Grid { // TODO: As far as maya supports it use the Dbus Activation feature to run the calendar-app. public void show_date_in_maya (GLib.DateTime date) { From 939bf969f6b89b8db1464b3aeb23860c0c927995 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 11 Dec 2021 19:52:23 +0800 Subject: [PATCH 05/26] pantheon.wingpanel-applications-menu: 2.10.1 -> 2.10.2 (cherry picked from commit 7befc2e4ba40c4c39ac700f8655f5f205db5fbe2) --- .../wingpanel-indicators/applications-menu/default.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix index d74907db9118..badfec690eb5 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix @@ -26,15 +26,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-applications-menu"; - version = "2.10.1"; - - repoName = "applications-menu"; + version = "2.10.2"; src = fetchFromGitHub { owner = "elementary"; - repo = repoName; + repo = "applications-menu"; rev = version; - sha256 = "sha256-e9InWx5b2DAFK7m7z/oCW7Mw/ymBNz1Sc7vT65kkZ9o="; + sha256 = "sha256-xBuMJzIFOueSvNwvXc85AI9NHuMW3bOblNsyuDkIzyk="; }; patches = [ From e65902b05d216794dca6ff00e973fe453f8a0173 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 11 Dec 2021 20:04:07 +0800 Subject: [PATCH 06/26] pantheon.evince: use upstream patch (cherry picked from commit 508d45f8b50d03d9cab71fec4627f5f290cad312) --- pkgs/desktops/gnome/core/evince/default.nix | 13 ++- .../core/evince/pantheon-dark-style.patch | 86 ------------------- 2 files changed, 9 insertions(+), 90 deletions(-) delete mode 100644 pkgs/desktops/gnome/core/evince/pantheon-dark-style.patch diff --git a/pkgs/desktops/gnome/core/evince/default.nix b/pkgs/desktops/gnome/core/evince/default.nix index eb85c97f9f21..74987c07a5b9 100644 --- a/pkgs/desktops/gnome/core/evince/default.nix +++ b/pkgs/desktops/gnome/core/evince/default.nix @@ -1,5 +1,7 @@ -{ lib, stdenv +{ lib +, stdenv , fetchurl +, fetchpatch , meson , ninja , pkg-config @@ -57,9 +59,12 @@ stdenv.mkDerivation rec { patches = lib.optionals withPantheon [ # Make this respect dark mode settings from Pantheon - # https://github.com/elementary/evince - # The patch currently differs from upstream (updated for evince 41). - ./pantheon-dark-style.patch + # https://github.com/elementary/evince/pull/21 + # https://github.com/elementary/evince/pull/31 + (fetchpatch { + url = "https://raw.githubusercontent.com/elementary/evince/c8364019ee2c2dffd2a1bccf79b8f4e526aa22af/dark-style.patch"; + sha256 = "sha256-nKELRXnM6gMRTGmWdO1Qqlo9ciy+4HOK5z2CYOoi2Lo="; + }) ]; postPatch = '' diff --git a/pkgs/desktops/gnome/core/evince/pantheon-dark-style.patch b/pkgs/desktops/gnome/core/evince/pantheon-dark-style.patch deleted file mode 100644 index 5e1ef67b08cd..000000000000 --- a/pkgs/desktops/gnome/core/evince/pantheon-dark-style.patch +++ /dev/null @@ -1,86 +0,0 @@ -diff --git a/meson.build b/meson.build -index bcb69cf7..4a18c08c 100644 ---- a/meson.build -+++ b/meson.build -@@ -162,6 +162,7 @@ gmodule_dep = dependency('gmodule-2.0') - gmodule_no_export_dep = dependency('gmodule-no-export-2.0', version: glib_req_version) - gtk_dep = dependency('gtk+-3.0', version: gtk_req_version) - gthread_dep = dependency('gthread-2.0', version: glib_req_version) -+granite_dep = dependency('granite') - # Keep the version here synchronised with subprojects/libhandy.wrap - hdy_dep = dependency('libhandy-1', version: hdy_req_version, fallback: ['libhandy', 'libhandy_dep']) - -diff --git a/shell/ev-application.c b/shell/ev-application.c -index e704bda2..d705328c 100644 ---- a/shell/ev-application.c -+++ b/shell/ev-application.c -@@ -30,6 +30,7 @@ - #include - #include - #include -+#include - #include - #ifdef GDK_WINDOWING_X11 - #include -@@ -176,7 +177,7 @@ ev_spawn (const char *uri, - - g_string_append_printf (cmd, " %s", path); - g_free (path); -- -+ - /* Page label */ - if (dest) { - switch (ev_link_dest_get_dest_type (dest)) { -@@ -940,6 +941,20 @@ ev_application_migrate_config_dir (EvApplication *application) - g_free (old_accels); - } - -+static void -+ev_application_set_prefers_color_scheme () -+{ -+ GtkSettings* gtk_settings = gtk_settings_get_default (); -+ GraniteSettings* granite_settings = granite_settings_get_default (); -+ -+ g_object_set ( -+ gtk_settings, -+ "gtk-application-prefer-dark-theme", -+ granite_settings_get_prefers_color_scheme (granite_settings) == GRANITE_SETTINGS_COLOR_SCHEME_DARK, -+ NULL -+ ); -+} -+ - static void - ev_application_startup (GApplication *gapplication) - { -@@ -992,6 +1007,7 @@ ev_application_startup (GApplication *gapplication) - - EvApplication *application = EV_APPLICATION (gapplication); - const gchar **it; -+ GraniteSettings* granite_settings = granite_settings_get_default (); - - g_application_set_resource_base_path (gapplication, "/org/gnome/evince"); - -@@ -999,6 +1015,11 @@ ev_application_startup (GApplication *gapplication) - - hdy_init (); - -+ ev_application_set_prefers_color_scheme (); -+ -+ g_signal_connect (granite_settings, "notify::prefers-color-scheme", -+ G_CALLBACK(ev_application_set_prefers_color_scheme), NULL); -+ - for (it = action_accels; it[0]; it += g_strv_length ((gchar **)it) + 1) - gtk_application_set_accels_for_action (GTK_APPLICATION (application), it[0], &it[1]); - } -diff --git a/shell/meson.build b/shell/meson.build -index 7cbc48f2..a3089b13 100644 ---- a/shell/meson.build -+++ b/shell/meson.build -@@ -52,6 +52,7 @@ sources += gnome.compile_resources( - deps = [ - gdk_pixbuf_dep, - gnome_desktop_dep, -+ granite_dep, - hdy_dep, - libevmisc_dep, - libevproperties_dep, From 6649b1dee7de9410df0119c35df21a6e5b9d5d20 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 12 Dec 2021 12:33:07 +0800 Subject: [PATCH 07/26] pantheon.appcenter: re-add patch for disable packagekit backend It makes no sense to wait any longer as the app is totally not working specifically on NixOS. (cherry picked from commit 3aa4359254a62742ae9858bf25a4a51add4a3004) --- .../add-packagekit-backend-option.patch | 240 ++++++++++++++++++ .../pantheon/apps/appcenter/default.nix | 19 +- 2 files changed, 254 insertions(+), 5 deletions(-) create mode 100644 pkgs/desktops/pantheon/apps/appcenter/add-packagekit-backend-option.patch diff --git a/pkgs/desktops/pantheon/apps/appcenter/add-packagekit-backend-option.patch b/pkgs/desktops/pantheon/apps/appcenter/add-packagekit-backend-option.patch new file mode 100644 index 000000000000..bd519c292c26 --- /dev/null +++ b/pkgs/desktops/pantheon/apps/appcenter/add-packagekit-backend-option.patch @@ -0,0 +1,240 @@ +From b5d7cb20713eff3b3729e5c5fdd2f15680a29385 Mon Sep 17 00:00:00 2001 +From: Bobby Rong +Date: Sun, 31 Oct 2021 23:12:46 +0800 +Subject: [PATCH] build: add packagekit_backend option + +--- + .github/workflows/main.yml | 7 +++++++ + meson_options.txt | 1 + + src/Application.vala | 4 ++++ + src/Core/BackendAggregator.vala | 2 ++ + src/Core/Package.vala | 21 +++++++++++++-------- + src/Core/UpdateManager.vala | 6 ++++++ + src/Views/Homepage.vala | 4 ++++ + src/meson.build | 10 ++++++++-- + 8 files changed, 45 insertions(+), 10 deletions(-) + +diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml +index daf13654..5dc5a2fb 100644 +--- a/.github/workflows/main.yml ++++ b/.github/workflows/main.yml +@@ -42,6 +42,13 @@ jobs: + meson configure -Dcurated=false -Dpayments=false -Dsharing=false -Dname=Pop\!_Shop build + ninja -C build install + ++ - name: Build (NixOS) ++ env: ++ DESTDIR: out ++ run: | ++ meson configure -Dcurated=false -Dpayments=false -Dpackagekit_backend=false build ++ ninja -C build install ++ + lint: + + runs-on: ubuntu-latest +diff --git a/meson_options.txt b/meson_options.txt +index 0ae93d07..37a6cd8a 100644 +--- a/meson_options.txt ++++ b/meson_options.txt +@@ -4,3 +4,4 @@ option('name', type : 'string', value : 'AppCenter', description : 'The name of + option('payments', type : 'boolean', value : true, description : 'Enable payment features and display paid apps') + option('sharing', type : 'boolean', value : true, description : 'Display sharing features, i.e. copyable URLs to appcenter.elementary.io') + option('hide_upstream_distro_apps', type : 'boolean', value : true, description : 'Used for hiding Ubuntu repo apps on elementary OS') ++option('packagekit_backend', type : 'boolean', value : true, description : 'Enable PackageKit backend') +diff --git a/src/Application.vala b/src/Application.vala +index 65fae5aa..7c075076 100644 +--- a/src/Application.vala ++++ b/src/Application.vala +@@ -167,9 +167,11 @@ public class AppCenter.App : Gtk.Application { + + var client = AppCenterCore.Client.get_default (); + ++#if PACKAGEKIT_BACKEND + if (fake_update_packages != null) { + AppCenterCore.PackageKitBackend.get_default ().fake_packages = fake_update_packages; + } ++#endif + + if (silent) { + NetworkMonitor.get_default ().network_changed.connect ((available) => { +@@ -183,6 +185,7 @@ public class AppCenter.App : Gtk.Application { + return; + } + ++#if PACKAGEKIT_BACKEND + if (local_path != null) { + var file = File.new_for_commandline_arg (local_path); + +@@ -192,6 +195,7 @@ public class AppCenter.App : Gtk.Application { + warning ("Failed to load local AppStream XML file: %s", e.message); + } + } ++#endif + + if (main_window == null) { + main_window = new MainWindow (this); +diff --git a/src/Core/BackendAggregator.vala b/src/Core/BackendAggregator.vala +index 539dba98..feb1eaa9 100644 +--- a/src/Core/BackendAggregator.vala ++++ b/src/Core/BackendAggregator.vala +@@ -26,8 +26,10 @@ public class AppCenterCore.BackendAggregator : Backend, Object { + + construct { + backends = new Gee.ArrayList (); ++#if PACKAGEKIT_BACKEND + backends.add (PackageKitBackend.get_default ()); + backends.add (UbuntuDriversBackend.get_default ()); ++#endif + backends.add (FlatpakBackend.get_default ()); + + unowned Gtk.Application app = (Gtk.Application) GLib.Application.get_default (); +diff --git a/src/Core/Package.vala b/src/Core/Package.vala +index d6f12f15..8dbd7a22 100644 +--- a/src/Core/Package.vala ++++ b/src/Core/Package.vala +@@ -328,7 +328,14 @@ public class AppCenterCore.Package : Object { + public string origin_description { + owned get { + unowned string origin = component.get_origin (); +- if (backend is PackageKitBackend) { ++ if (backend is FlatpakBackend) { ++ var fp_package = this as FlatpakPackage; ++ if (fp_package != null && fp_package.installation == FlatpakBackend.system_installation) { ++ return _("%s (system-wide)").printf (origin); ++ } ++ return origin; ++#if PACKAGEKIT_BACKEND ++ } else if (backend is PackageKitBackend) { + if (origin == APPCENTER_PACKAGE_ORIGIN) { + return _("AppCenter"); + } else if (origin == ELEMENTARY_STABLE_PACKAGE_ORIGIN) { +@@ -336,15 +343,9 @@ public class AppCenterCore.Package : Object { + } else if (origin.has_prefix ("ubuntu-")) { + return _("Ubuntu (non-curated)"); + } +- } else if (backend is FlatpakBackend) { +- var fp_package = this as FlatpakPackage; +- if (fp_package != null && fp_package.installation == FlatpakBackend.system_installation) { +- return _("%s (system-wide)").printf (origin); +- } +- +- return origin; + } else if (backend is UbuntuDriversBackend) { + return _("Ubuntu Drivers"); ++#endif + } + + return _("Unknown Origin (non-curated)"); +@@ -434,11 +435,15 @@ public class AppCenterCore.Package : Object { + _author_title = null; + backend_details = null; + ++#if PACKAGEKIT_BACKEND + // The version on a PackageKit package comes from the package not AppStream, so only reset the version + // on other backends + if (!(backend is PackageKitBackend)) { + _latest_version = null; + } ++#else ++ _latest_version = null; ++#endif + + this.component = component; + } +diff --git a/src/Core/UpdateManager.vala b/src/Core/UpdateManager.vala +index 9deceaf5..c92c0d37 100644 +--- a/src/Core/UpdateManager.vala ++++ b/src/Core/UpdateManager.vala +@@ -52,6 +52,7 @@ public class AppCenterCore.UpdateManager : Object { + installed_package.update_state (); + } + ++#if PACKAGEKIT_BACKEND + Pk.Results pk_updates; + unowned PackageKitBackend client = PackageKitBackend.get_default (); + try { +@@ -60,10 +61,12 @@ public class AppCenterCore.UpdateManager : Object { + warning ("Unable to get updates from PackageKit backend: %s", e.message); + return 0; + } ++#endif + + uint os_count = 0; + string os_desc = ""; + ++#if PACKAGEKIT_BACKEND + var package_array = pk_updates.get_package_array (); + debug ("PackageKit backend reports %d updates", package_array.length); + +@@ -87,6 +90,7 @@ public class AppCenterCore.UpdateManager : Object { + ); + } + }); ++#endif + + os_updates.component.set_pkgnames ({}); + os_updates.change_information.clear_update_info (); +@@ -159,6 +163,7 @@ public class AppCenterCore.UpdateManager : Object { + count += 1; + } + ++#if PACKAGEKIT_BACKEND + pk_updates.get_details_array ().foreach ((pk_detail) => { + var pk_package = new Pk.Package (); + try { +@@ -181,6 +186,7 @@ public class AppCenterCore.UpdateManager : Object { + critical (e.message); + } + }); ++#endif + + os_updates.update_state (); + return count; +diff --git a/src/Views/Homepage.vala b/src/Views/Homepage.vala +index 3673903f..2e128e77 100644 +--- a/src/Views/Homepage.vala ++++ b/src/Views/Homepage.vala +@@ -107,9 +107,13 @@ public class AppCenter.Homepage : AbstractView { + column_spacing = 24, + orientation = Gtk.Orientation.VERTICAL + }; ++#if PACKAGEKIT_BACKEND + grid.add (banner_revealer); + grid.add (recently_updated_revealer); + grid.add (categories_label); ++#else ++ category_flow.margin_top = 12; ++#endif + grid.add (category_flow); + + scrolled_window = new Gtk.ScrolledWindow (null, null) { +diff --git a/src/meson.build b/src/meson.build +index 7b319fc6..d1d77931 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -12,10 +12,8 @@ appcenter_files = files( + 'Core/FlatpakBackend.vala', + 'Core/Job.vala', + 'Core/Package.vala', +- 'Core/PackageKitBackend.vala', + 'Core/ScreenshotCache.vala', + 'Core/Task.vala', +- 'Core/UbuntuDriversBackend.vala', + 'Core/UpdateManager.vala', + 'Dialogs/InstallFailDialog.vala', + 'Dialogs/NonCuratedWarningDialog.vala', +@@ -76,6 +74,14 @@ if get_option('hide_upstream_distro_apps') + args += '--define=HIDE_UPSTREAM_DISTRO_APPS' + endif + ++if get_option('packagekit_backend') ++ args += '--define=PACKAGEKIT_BACKEND' ++ appcenter_files += files( ++ 'Core/PackageKitBackend.vala', ++ 'Core/UbuntuDriversBackend.vala', ++ ) ++endif ++ + executable( + meson.project_name(), + appcenter_files, diff --git a/pkgs/desktops/pantheon/apps/appcenter/default.nix b/pkgs/desktops/pantheon/apps/appcenter/default.nix index d0c1cc970a7c..bdc2fbca591a 100644 --- a/pkgs/desktops/pantheon/apps/appcenter/default.nix +++ b/pkgs/desktops/pantheon/apps/appcenter/default.nix @@ -39,11 +39,12 @@ stdenv.mkDerivation rec { sha256 = "sha256-xktIHQHmz5gh72NEz9UQ9fMvBlj1BihWxHgxsHmTIB0="; }; - passthru = { - updateScript = nix-update-script { - attrPath = "pantheon.${pname}"; - }; - }; + patches = [ + # Introduces a packagekit_backend meson flag. + # Makes appcenter actually work by using only the flatpak backend. + # https://github.com/elementary/appcenter/pull/1739 + ./add-packagekit-backend-option.patch + ]; nativeBuildInputs = [ appstream-glib @@ -78,6 +79,8 @@ stdenv.mkDerivation rec { mesonFlags = [ "-Dpayments=false" "-Dcurated=false" + # This option is introduced in add-packagekit-backend-option.patch + "-Dpackagekit_backend=false" ]; postPatch = '' @@ -85,6 +88,12 @@ stdenv.mkDerivation rec { patchShebangs meson/post_install.py ''; + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + meta = with lib; { homepage = "https://github.com/elementary/appcenter"; description = "An open, pay-what-you-want app store for indie developers, designed for elementary OS"; From 54d0eb8a75856af99cb3393f03c98169d30807ee Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 12 Dec 2021 12:45:10 +0800 Subject: [PATCH 08/26] Revert "nixos/pantheon: cleanup FAQ section" This reverts commit cd58f44937a70b73447f464f1cb5a64badc78640. (cherry picked from commit 1eef9ae2d1274e97097b0ab38a18a6748cb87a20) --- nixos/modules/services/x11/desktop-managers/pantheon.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.xml b/nixos/modules/services/x11/desktop-managers/pantheon.xml index 64933349e798..70cd7410c1e0 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.xml +++ b/nixos/modules/services/x11/desktop-managers/pantheon.xml @@ -107,6 +107,12 @@ switchboard-with-plugs.override { AppCenter has been available since 20.03, but it is of little use. This is because there is no functioning PackageKit backend for Nix 2.0. The Flatpak backend will not work before flag for Flatpak-only is provided. See this issue. + + To use AppCenter on NixOS, add pantheon.appcenter to , enable Flatpak support and optionally add the appcenter Flatpak remote: + + +$ flatpak remote-add --if-not-exists appcenter https://flatpak.elementary.io/repo.flatpakrepo + From bd92e4cb69525dbcf0b0c94a123267e1ea6808fb Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 12 Dec 2021 12:45:31 +0800 Subject: [PATCH 09/26] Revert "nixos/pantheon: mention latest appcenter changes in manual" This reverts commit d49d9a24b7b5b0ddfe349c355e79aa992c108a74. (cherry picked from commit c65f6852e4f5b28e12406b1876956763ef1eb8cd) --- nixos/modules/services/x11/desktop-managers/pantheon.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.xml b/nixos/modules/services/x11/desktop-managers/pantheon.xml index 70cd7410c1e0..fe0a1c496223 100644 --- a/nixos/modules/services/x11/desktop-managers/pantheon.xml +++ b/nixos/modules/services/x11/desktop-managers/pantheon.xml @@ -105,7 +105,7 @@ switchboard-with-plugs.override { - AppCenter has been available since 20.03, but it is of little use. This is because there is no functioning PackageKit backend for Nix 2.0. The Flatpak backend will not work before flag for Flatpak-only is provided. See this issue. + AppCenter has been available since 20.03, but it is of little use. This is because there is no functioning PackageKit backend for Nix 2.0. Starting from 21.11, the Flatpak backend should work so you can install some Flatpak applications using it. See this issue. To use AppCenter on NixOS, add pantheon.appcenter to , enable Flatpak support and optionally add the appcenter Flatpak remote: From bbc8e08b6a0eee68b852e6380abc446713867608 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 14 Dec 2021 09:30:44 +0800 Subject: [PATCH 10/26] pantheon.elementary-wallpapers: 6.0.0 -> 6.1.0 (cherry picked from commit cddd16a0a8c715d160d82427f8b3f34e86edb563) --- .../artwork/elementary-wallpapers/default.nix | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix index 1ae25be5dcaf..debf7f0201a1 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix @@ -2,30 +2,35 @@ , stdenv , fetchFromGitHub , nix-update-script +, gettext , meson , ninja -, gettext +, python3 }: stdenv.mkDerivation rec { pname = "elementary-wallpapers"; - version = "6.0.0"; - - repoName = "wallpapers"; + version = "6.1.0"; src = fetchFromGitHub { owner = "elementary"; - repo = repoName; + repo = "wallpapers"; rev = version; - sha256 = "1qpf8w7x9sp3sd4zpsrlj5ywpwqkq4ywbagm4sf25cwwn82dl59b"; + sha256 = "sha256-E/cUxa/GNt/01EjuuvurHxJu3qV9e+jcdcCi2+NxVDA="; }; nativeBuildInputs = [ gettext meson ninja + python3 ]; + postPatch = '' + chmod +x meson/symlink.py + patchShebangs meson/symlink.py + ''; + passthru = { updateScript = nix-update-script { attrPath = "pantheon.${pname}"; From ce0f0c891563c759fb4dd9915b78fd37472b3d35 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 14 Dec 2021 09:33:11 +0800 Subject: [PATCH 11/26] pantheon.elementary-screenshot: 6.0.1 -> 6.0.2 (cherry picked from commit 2eafe1f468653428824174379a38b3c4410c1ef7) --- .../apps/elementary-screenshot/default.nix | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix b/pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix index f2f4360aa59e..176c2919be04 100644 --- a/pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-screenshot/default.nix @@ -19,21 +19,13 @@ stdenv.mkDerivation rec { pname = "elementary-screenshot"; - version = "6.0.1"; - - repoName = "screenshot"; + version = "6.0.2"; src = fetchFromGitHub { owner = "elementary"; - repo = repoName; + repo = "screenshot"; rev = version; - sha256 = "sha256-MDmk+0IUCe6PSV5QOjjDRedv7X3lcBJ04jn9cE9DP3M="; - }; - - passthru = { - updateScript = nix-update-script { - attrPath = "pantheon.${pname}"; - }; + sha256 = "sha256-n+L08C/W5YnHZ5P3F1NGUYE2SH94sc4+kr1x+wXZ+cw="; }; nativeBuildInputs = [ @@ -60,6 +52,12 @@ stdenv.mkDerivation rec { patchShebangs meson/post_install.py ''; + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + meta = with lib; { description = "Screenshot tool designed for elementary OS"; homepage = "https://github.com/elementary/screenshot"; From faad9389133511dd931d43b829ec627dc14dceae Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 14 Dec 2021 09:34:55 +0800 Subject: [PATCH 12/26] pantheon.elementary-calculator: 1.7.1 -> 1.7.2 (cherry picked from commit 80747a50f12553e8b988e9965c71feea0515bad7) --- .../apps/elementary-calculator/default.nix | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix index 2878d750db8b..115622e81435 100644 --- a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix @@ -21,21 +21,13 @@ stdenv.mkDerivation rec { pname = "elementary-calculator"; - version = "1.7.1"; - - repoName = "calculator"; + version = "1.7.2"; src = fetchFromGitHub { owner = "elementary"; - repo = repoName; + repo = "calculator"; rev = version; - sha256 = "sha256-GoQFWhEhUBVLYL1vsIIBMT8pKc0dK/ploiGfUtJAJQU="; - }; - - passthru = { - updateScript = nix-update-script { - attrPath = "pantheon.${pname}"; - }; + sha256 = "sha256-U0wXrw9ZJwkqZAtTTHmTzqYhwF9V2JZEZZdDak3kPIc="; }; nativeBuildInputs = [ @@ -63,6 +55,12 @@ stdenv.mkDerivation rec { patchShebangs meson/post_install.py ''; + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + meta = with lib; { homepage = "https://github.com/elementary/calculator"; description = "Calculator app designed for elementary OS"; From d17fc005331ac3214260bc7600d1e97fe64cfe9f Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 14 Dec 2021 09:36:18 +0800 Subject: [PATCH 13/26] pantheon.elementary-camera: 6.0.2 -> 6.0.3 (cherry picked from commit 3aaf4a1dbb62319728c760b79bc4a0488c793279) --- pkgs/desktops/pantheon/apps/elementary-camera/default.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-camera/default.nix b/pkgs/desktops/pantheon/apps/elementary-camera/default.nix index 0d434084c235..932b54e82b67 100644 --- a/pkgs/desktops/pantheon/apps/elementary-camera/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-camera/default.nix @@ -25,15 +25,13 @@ stdenv.mkDerivation rec { pname = "elementary-camera"; - version = "6.0.2"; - - repoName = "camera"; + version = "6.0.3"; src = fetchFromGitHub { owner = "elementary"; - repo = repoName; + repo = "camera"; rev = version; - sha256 = "sha256-uVeV+LKA/W7WVUAvVWaSNRzeh1MUrhRjvS0HuhZZJ04="; + sha256 = "sha256-xIv+mOlZV58XD0Z6Vc2wA1EQUxT5BaQ0zhYc9v+ne1w="; }; nativeBuildInputs = [ From b6ee09b5f5c498c558b096c951bc2dfbb7585770 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 14 Dec 2021 09:38:00 +0800 Subject: [PATCH 14/26] pantheon.switchboard-plug-onlineaccounts: 6.2.2 -> 6.3.0 (cherry picked from commit 2ce09af75c2e73f64f34b5e979b91ec23a1e1541) --- .../apps/switchboard-plugs/onlineaccounts/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix index 409679407d81..46703b349e67 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix @@ -18,13 +18,13 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-onlineaccounts"; - version = "6.2.2"; + version = "6.3.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-L1SL8YbsYKdE+mvRW/fxjNoiyXRXTyV2ru7/tZzgTfM="; + sha256 = "sha256-aRh2zbKqcGOH4Qw5gdJw07hod8a/QGWUcJo/2R9erQs="; }; nativeBuildInputs = [ From 1ea2e9ad91f40607ca5291ce9483e550039035f4 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 14 Dec 2021 09:39:59 +0800 Subject: [PATCH 15/26] pantheon.elementary-tasks: 6.0.4 -> 6.1.0 (cherry picked from commit 7cd7809839cf39b5d0d7f189a99153fab203a9c9) --- .../apps/elementary-tasks/default.nix | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix b/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix index 52bda92ceb0d..7ef0efaa49f1 100644 --- a/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-tasks/default.nix @@ -26,21 +26,13 @@ stdenv.mkDerivation rec { pname = "elementary-tasks"; - version = "6.0.4"; - - repoName = "tasks"; + version = "6.1.0"; src = fetchFromGitHub { owner = "elementary"; - repo = repoName; + repo = "tasks"; rev = version; - sha256 = "1gb51gm8qgd8yzhqb7v69p2f1fgm3qf534if4lc85jrjsb8hgmhl"; - }; - - passthru = { - updateScript = nix-update-script { - attrPath = "pantheon.${pname}"; - }; + sha256 = "sha256-Gt9Hp9m28QdAFnKIT1xcbiSM5cn6kW7wEXmi/iFfu8k="; }; nativeBuildInputs = [ @@ -74,6 +66,12 @@ stdenv.mkDerivation rec { patchShebangs meson/post_install.py ''; + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + meta = with lib; { homepage = "https://github.com/elementary/tasks"; description = "Synced tasks and reminders on elementary OS"; From 3e3f58d81a83183b01818f784e72ae654a705a4d Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 14 Dec 2021 09:41:38 +0800 Subject: [PATCH 16/26] pantheon.elementary-mail: 6.3.0 -> 6.3.1 (cherry picked from commit 3977638aaac4114e5c2ff6aee7145dd9625d8249) --- .../pantheon/apps/elementary-mail/default.nix | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-mail/default.nix b/pkgs/desktops/pantheon/apps/elementary-mail/default.nix index 402612108b66..90058633e907 100644 --- a/pkgs/desktops/pantheon/apps/elementary-mail/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-mail/default.nix @@ -25,21 +25,13 @@ stdenv.mkDerivation rec { pname = "elementary-mail"; - version = "6.3.0"; - - repoName = "mail"; + version = "6.3.1"; src = fetchFromGitHub { owner = "elementary"; - repo = repoName; + repo = "mail"; rev = version; - sha256 = "sha256-lIVAMTtRrzJI5Qcd6y24ZmtzFWeTSbcKiEhG8hLC+PM="; - }; - - passthru = { - updateScript = nix-update-script { - attrPath = "pantheon.${pname}"; - }; + sha256 = "sha256-wOu9jvvwG53vzcNa38nk4eREZWW7Cin8el4qApQ8gI8="; }; nativeBuildInputs = [ @@ -72,6 +64,12 @@ stdenv.mkDerivation rec { patchShebangs meson/post_install.py ''; + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + meta = with lib; { description = "Mail app designed for elementary OS"; homepage = "https://github.com/elementary/mail"; From d38819c4661da324828fbb715566b6c88c692024 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 14 Dec 2021 09:43:46 +0800 Subject: [PATCH 17/26] pantheon.elementary-terminal: 6.0.0 -> 6.0.1 (cherry picked from commit 46605c63057f24b28065ef1e208ba457a1f029f0) --- .../apps/elementary-terminal/default.nix | 30 ++++++------------- 1 file changed, 9 insertions(+), 21 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix index f7799810ed81..4840f69e7cb4 100644 --- a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix @@ -2,7 +2,6 @@ , stdenv , fetchFromGitHub , nix-update-script -, fetchpatch , pkg-config , meson , ninja @@ -24,30 +23,13 @@ stdenv.mkDerivation rec { pname = "elementary-terminal"; - version = "6.0.0"; - - repoName = "terminal"; + version = "6.0.1"; src = fetchFromGitHub { owner = "elementary"; - repo = repoName; + repo = "terminal"; rev = version; - sha256 = "08akr4sv4jy9kd4s26kib6j7i8hc3vs0sp71fifv7ww4mi9cm6jc"; - }; - - patches = [ - # Upstream code not respecting our localedir - # https://github.com/elementary/terminal/pull/611 - (fetchpatch { - url = "https://github.com/elementary/terminal/commit/4f6f2d9f58642ed904240c247cc0a0846baecb6b.patch"; - sha256 = "04pbd72migxw8i949v3bmw8kfi5nr02rjcwfrx3b6xkiic9825sv"; - }) - ]; - - passthru = { - updateScript = nix-update-script { - attrPath = "pantheon.${pname}"; - }; + sha256 = "sha256-4q7YQ4LxuiM/TRae1cc3ncmw7QwE1soC2Sh+GZ+Gpq0="; }; nativeBuildInputs = [ @@ -81,6 +63,12 @@ stdenv.mkDerivation rec { patchShebangs meson/post_install.py ''; + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + meta = with lib; { description = "Terminal emulator designed for elementary OS"; longDescription = '' From 8e65c2a935f42e7c8ca4146155ba60bcfe69d3e8 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Tue, 14 Dec 2021 09:48:52 +0800 Subject: [PATCH 18/26] pantheon.gala: clear indicator background for window switcher (cherry picked from commit 836e8247fafa4e6448cb036cc3d013f518d2f08d) --- pkgs/desktops/pantheon/desktop/gala/default.nix | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pkgs/desktops/pantheon/desktop/gala/default.nix b/pkgs/desktops/pantheon/desktop/gala/default.nix index 06021a37f511..5a5af9ca5b98 100644 --- a/pkgs/desktops/pantheon/desktop/gala/default.nix +++ b/pkgs/desktops/pantheon/desktop/gala/default.nix @@ -44,6 +44,12 @@ stdenv.mkDerivation rec { url = "https://github.com/elementary/gala/commit/cc83db8fe398feae9f3e4caa8352b65f0c8c96d4.patch"; sha256 = "sha256-CPO3EHIzqHAV6ZLHngivCdsD8je8CK/NHznfxSEkhzc="; }) + # WindowSwitcher: Clear indicator background + # https://github.com/elementary/gala/pull/1318 + (fetchpatch { + url = "https://github.com/elementary/gala/commit/cce53acffecba795b6cc48916d4621a47996d2c9.patch"; + sha256 = "sha256-5aTZE6poo4sQMTLfk9Nhw4G4BW8i9dvpWktizRIS58Q="; + }) ]; nativeBuildInputs = [ From bb5589ed42dda8da52154eefd99bc762f9f296bd Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Wed, 15 Dec 2021 09:46:59 +0800 Subject: [PATCH 19/26] pantheon.elementary-dock: unstable-2021-11-08 -> unstable-2021-12-08 (cherry picked from commit 29a064842df5f4ff5ff9df4e1b7c939b0a5e23cd) --- .../desktops/pantheon/apps/elementary-dock/default.nix | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-dock/default.nix b/pkgs/desktops/pantheon/apps/elementary-dock/default.nix index f23120c0b6dd..5aa61062a8f6 100644 --- a/pkgs/desktops/pantheon/apps/elementary-dock/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-dock/default.nix @@ -28,17 +28,15 @@ stdenv.mkDerivation rec { pname = "elementary-dock"; - version = "unstable-2021-11-08"; + version = "unstable-2021-12-08"; outputs = [ "out" "dev" ]; - repoName = "dock"; - src = fetchFromGitHub { owner = "elementary"; - repo = repoName; - rev = "51e8d3ddfbed0dfce3158d80f997ab183e92567b"; - sha256 = "sha256-w6HGxEAXNod/uMEEfSz9nRNTRrCbcEqJCP9EFkVbX1U="; + repo = "dock"; + rev = "5e4b5ba2eec3b522e107ad834a59c0f1271d4699"; + sha256 = "sha256-/Ul21t9VFxhmlQbfx4eY86UKU33hiRfXF9OPHBzPe5o="; }; nativeBuildInputs = [ From e80a43781d7d1a7bd78440a886f2765186abf578 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 18 Dec 2021 10:34:55 +0800 Subject: [PATCH 20/26] pantheon.elementary-videos: 2.8.0 -> 2.8.1 (cherry picked from commit 70edac040a996d6869a0cb5378b2cb3bab737f29) --- pkgs/desktops/pantheon/apps/elementary-videos/default.nix | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/pkgs/desktops/pantheon/apps/elementary-videos/default.nix b/pkgs/desktops/pantheon/apps/elementary-videos/default.nix index faeaab7ece18..f7286c9108a6 100644 --- a/pkgs/desktops/pantheon/apps/elementary-videos/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-videos/default.nix @@ -21,15 +21,13 @@ stdenv.mkDerivation rec { pname = "elementary-videos"; - version = "2.8.0"; - - repoName = "videos"; + version = "2.8.1"; src = fetchFromGitHub { owner = "elementary"; - repo = repoName; + repo = "videos"; rev = version; - sha256 = "sha256-FFCtQ42LygfjowehwZcISWTfv8PBZTH0X8mPrpiG8Ug="; + sha256 = "sha256-Ki6i9u+oXOBTH+dVJ9RgBxszD7Wvdrfahd9abyjFYJY="; }; nativeBuildInputs = [ From 9e84251315dcd278ff3bb0308008d2c72d73bccc Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 18 Dec 2021 10:44:28 +0800 Subject: [PATCH 21/26] pantheon.wingpanel-indicator-notifications: 6.0.3 -> 6.0.4 (cherry picked from commit 4eca6d89f9adfe8842989e94ea9813e7dd09bc9e) --- .../desktop/wingpanel-indicators/notifications/default.nix | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix index 3ebc38138795..ceabac94a236 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix @@ -16,13 +16,13 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-notifications"; - version = "6.0.3"; + version = "6.0.4"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "sha256-iHhZJwaomQgH1Sal8uejl4QlavOQ75UKZ9xchTi1X3U="; + sha256 = "sha256-tIpR/WIhE0Mmt2EploNNDVlAX4OUNI3VnEflTLVkfSo="; }; nativeBuildInputs = [ From 2e56a06816b7016918af301ddfea3419678b3f3c Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 18 Dec 2021 11:03:45 +0800 Subject: [PATCH 22/26] pkgs/pantheon: format (cherry picked from commit a51958171bdfc72248833451f62ecb5a434b0e66) --- pkgs/desktops/pantheon/default.nix | 49 +++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 14 deletions(-) diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 61436ba57ae5..add3d31f18eb 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -4,23 +4,37 @@ lib.makeScope pkgs.newScope (self: with self; { switchboardPlugs = [ - switchboard-plug-a11y switchboard-plug-about - switchboard-plug-applications switchboard-plug-bluetooth - switchboard-plug-datetime switchboard-plug-display - switchboard-plug-keyboard switchboard-plug-mouse-touchpad - switchboard-plug-network switchboard-plug-notifications - switchboard-plug-onlineaccounts switchboard-plug-pantheon-shell - switchboard-plug-power switchboard-plug-printers - switchboard-plug-security-privacy switchboard-plug-sharing - switchboard-plug-sound switchboard-plug-wacom + switchboard-plug-a11y + switchboard-plug-about + switchboard-plug-applications + switchboard-plug-bluetooth + switchboard-plug-datetime + switchboard-plug-display + switchboard-plug-keyboard + switchboard-plug-mouse-touchpad + switchboard-plug-network + switchboard-plug-notifications + switchboard-plug-onlineaccounts + switchboard-plug-pantheon-shell + switchboard-plug-power + switchboard-plug-printers + switchboard-plug-security-privacy + switchboard-plug-sharing + switchboard-plug-sound + switchboard-plug-wacom ]; wingpanelIndicators = [ - wingpanel-applications-menu wingpanel-indicator-a11y - wingpanel-indicator-bluetooth wingpanel-indicator-datetime - wingpanel-indicator-keyboard wingpanel-indicator-network - wingpanel-indicator-nightlight wingpanel-indicator-notifications - wingpanel-indicator-power wingpanel-indicator-session + wingpanel-applications-menu + wingpanel-indicator-a11y + wingpanel-indicator-bluetooth + wingpanel-indicator-datetime + wingpanel-indicator-keyboard + wingpanel-indicator-network + wingpanel-indicator-nightlight + wingpanel-indicator-notifications + wingpanel-indicator-power + wingpanel-indicator-session wingpanel-indicator-sound ]; @@ -207,6 +221,13 @@ lib.makeScope pkgs.newScope (self: with self; { elementary-wallpapers = callPackage ./artwork/elementary-wallpapers { }; + ### THIRD-PARTY + + # Put packages that ONLY works with Pantheon in pkgs/desktops/pantheon/third-party, + # specfically third party switchboard plugins and wingpanel indicators. + # Please call these packages in pkgs/top-level/all-packages.nix instead of this file. + # https://github.com/NixOS/nixpkgs/issues/115222#issuecomment-906868654 + } // lib.optionalAttrs (config.allowAliases or true) { ### ALIASES From 56155f459d9345330da7e3eda1bc958ec8cdfd59 Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 18 Dec 2021 11:05:57 +0800 Subject: [PATCH 23/26] pantheon-tweaks: move to pkgs/desktops/pantheon/third-party (cherry picked from commit 5afe0ddcf38d57365eb42a791373594c5004c7be) --- .../pantheon/third-party}/pantheon-tweaks/default.nix | 0 .../pantheon/third-party}/pantheon-tweaks/fix-paths.patch | 0 pkgs/top-level/all-packages.nix | 2 +- 3 files changed, 1 insertion(+), 1 deletion(-) rename pkgs/{applications/system => desktops/pantheon/third-party}/pantheon-tweaks/default.nix (100%) rename pkgs/{applications/system => desktops/pantheon/third-party}/pantheon-tweaks/fix-paths.patch (100%) diff --git a/pkgs/applications/system/pantheon-tweaks/default.nix b/pkgs/desktops/pantheon/third-party/pantheon-tweaks/default.nix similarity index 100% rename from pkgs/applications/system/pantheon-tweaks/default.nix rename to pkgs/desktops/pantheon/third-party/pantheon-tweaks/default.nix diff --git a/pkgs/applications/system/pantheon-tweaks/fix-paths.patch b/pkgs/desktops/pantheon/third-party/pantheon-tweaks/fix-paths.patch similarity index 100% rename from pkgs/applications/system/pantheon-tweaks/fix-paths.patch rename to pkgs/desktops/pantheon/third-party/pantheon-tweaks/fix-paths.patch diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 01f9bdcef9fa..699d9639abbf 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -8385,7 +8385,7 @@ with pkgs; pamtester = callPackage ../tools/security/pamtester { }; - pantheon-tweaks = callPackage ../applications/system/pantheon-tweaks { }; + pantheon-tweaks = callPackage ../desktops/pantheon/third-party/pantheon-tweaks { }; paperless-ng = callPackage ../applications/office/paperless-ng { }; From 60ec6f845aed8b4a95cc8955c5592fe34334b64e Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sat, 18 Dec 2021 11:19:25 +0800 Subject: [PATCH 24/26] wingpanel-indicator-ayatana: init at unstable-2021-12-01 (cherry picked from commit 7cc11f76aff82d8ecfa300353e3d16711ded2843) --- .../wingpanel-indicator-ayatana/default.nix | 58 +++++++++++++++++++ .../fix-indicator-dir.patch | 16 +++++ .../fix-libapplication-dir.patch | 13 +++++ pkgs/top-level/all-packages.nix | 2 + 4 files changed, 89 insertions(+) create mode 100644 pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/default.nix create mode 100644 pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/fix-indicator-dir.patch create mode 100644 pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/fix-libapplication-dir.patch diff --git a/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/default.nix b/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/default.nix new file mode 100644 index 000000000000..6acb1fe36f44 --- /dev/null +++ b/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/default.nix @@ -0,0 +1,58 @@ +{ lib +, stdenv +, fetchFromGitHub +, substituteAll +, meson +, ninja +, pkg-config +, vala +, gtk3 +, libindicator-gtk3 +, pantheon +, indicator-application-gtk3 +}: + +stdenv.mkDerivation rec { + pname = "wingpanel-indicator-ayatana"; + version = "unstable-2021-12-01"; + + src = fetchFromGitHub { + owner = "Lafydev"; + repo = pname; + rev = "53dc05919cdba772c787620a4bee5821e38c53cd"; + sha256 = "sha256-T0OHzqENyeAr0pvXUaRMwF1RpwKVyDAF5P5G9S28COU="; + }; + + patches = [ + # Fixes install path for wingpanel indicator + # https://github.com/Lafydev/wingpanel-indicator-ayatana/pull/30 + ./fix-indicator-dir.patch + # Tells the indicator the path for libapplication.so + (substituteAll { + src = ./fix-libapplication-dir.patch; + indicator_application = indicator-application-gtk3; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + gtk3 + libindicator-gtk3 + pantheon.granite + pantheon.wingpanel + ]; + + meta = with lib; { + description = "Ayatana Compatibility Indicator for Wingpanel"; + homepage = "https://github.com/Lafydev/wingpanel-indicator-ayatana"; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; +} diff --git a/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/fix-indicator-dir.patch b/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/fix-indicator-dir.patch new file mode 100644 index 000000000000..e6f71558e3e4 --- /dev/null +++ b/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/fix-indicator-dir.patch @@ -0,0 +1,16 @@ +diff --git a/meson.build b/meson.build +index 4aeab2b..dc44e6c 100644 +--- a/meson.build ++++ b/meson.build +@@ -25,8 +25,10 @@ dependencies = { + 'wingpanel': wingpanel + } + ++libdir = join_paths(get_option('prefix'), get_option('libdir')) ++ + indicator_name = 'ayatana' +-indicator_dir = dependencies['wingpanel'].get_pkgconfig_variable('indicatorsdir') ++indicator_dir = dependencies['wingpanel'].get_pkgconfig_variable('indicatorsdir', define_variable: ['libdir', libdir]) + + # ---------------------------------------------------------------------------------------------------------------------- + # Bindings: diff --git a/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/fix-libapplication-dir.patch b/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/fix-libapplication-dir.patch new file mode 100644 index 000000000000..2d9a510b751e --- /dev/null +++ b/pkgs/desktops/pantheon/third-party/wingpanel-indicator-ayatana/fix-libapplication-dir.patch @@ -0,0 +1,13 @@ +diff --git a/src/IndicatorFactory.vala b/src/IndicatorFactory.vala +index 9411de0..632d83b 100644 +--- a/src/IndicatorFactory.vala ++++ b/src/IndicatorFactory.vala +@@ -24,7 +24,7 @@ public class AyatanaCompatibility.IndicatorFactory : Object, IndicatorLoader { + public Gee.Collection get_indicators () { + if (indicators == null) { + indicators = new Gee.LinkedList (); +- load_indicator (File.new_for_path (Constants.AYATANA_INDICATOR_DIR), "libapplication.so"); ++ load_indicator (File.new_for_path ("@indicator_application@/lib/indicators3/7/"), "libapplication.so"); + } + + return indicators.read_only_view; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 699d9639abbf..3698676ad083 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -10848,6 +10848,8 @@ with pkgs; chase = callPackage ../tools/system/chase { }; + wingpanel-indicator-ayatana = callPackage ../desktops/pantheon/third-party/wingpanel-indicator-ayatana { }; + wimlib = callPackage ../tools/archivers/wimlib { }; wipe = callPackage ../tools/security/wipe { }; From d5449c95e91fe3bc2d42ab95a50c351528d75e7d Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 19 Dec 2021 09:40:41 +0800 Subject: [PATCH 25/26] pantheon.wingpanel: 3.0.1 -> 3.0.2 (cherry picked from commit 42e445f2571508ddde959e64401edec51e0a8b18) --- .../pantheon/desktop/wingpanel/default.nix | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix index 709a4e3e6140..0cd7a13c3e12 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix @@ -22,19 +22,13 @@ stdenv.mkDerivation rec { pname = "wingpanel"; - version = "3.0.1"; + version = "3.0.2"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "078yi36r452sc33mv2ck8z0icya1lhzhickllrlhc60rdri36sb8"; - }; - - passthru = { - updateScript = nix-update-script { - attrPath = "pantheon.${pname}"; - }; + sha256 = "sha256-WvkQx+9YjKCINpyVg8KjCV0GAb0rJfblSFaO14/4oas="; }; nativeBuildInputs = [ @@ -75,6 +69,12 @@ stdenv.mkDerivation rec { ) ''; + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + meta = with lib; { description = "The extensible top panel for Pantheon"; longDescription = '' From dd33d0fa6cafa36595789bab03a2236d342a1d4d Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 19 Dec 2021 09:41:47 +0800 Subject: [PATCH 26/26] pkgs/pantheon: fix typo (cherry picked from commit 52f2c2500a62fdf7ea267b91307613031547a9c7) --- pkgs/desktops/pantheon/default.nix | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index add3d31f18eb..654c6491f1ef 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -224,7 +224,7 @@ lib.makeScope pkgs.newScope (self: with self; { ### THIRD-PARTY # Put packages that ONLY works with Pantheon in pkgs/desktops/pantheon/third-party, - # specfically third party switchboard plugins and wingpanel indicators. + # specifically third party switchboard plugins and wingpanel indicators. # Please call these packages in pkgs/top-level/all-packages.nix instead of this file. # https://github.com/NixOS/nixpkgs/issues/115222#issuecomment-906868654