diff options
Diffstat (limited to 'pkgs/desktops/pantheon')
84 files changed, 662 insertions, 761 deletions
diff --git a/pkgs/desktops/pantheon/apps/appcenter/default.nix b/pkgs/desktops/pantheon/apps/appcenter/default.nix index db674f4fb7e..244146771c4 100644 --- a/pkgs/desktops/pantheon/apps/appcenter/default.nix +++ b/pkgs/desktops/pantheon/apps/appcenter/default.nix @@ -28,18 +28,18 @@ stdenv.mkDerivation rec { pname = "appcenter"; - version = "3.2.0"; + version = "3.2.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0xsxm0qgmnljd4s8m6xajzsjp9skpsa8wwlwqmc5yx34diad7zag"; + sha256 = "18l0kbm778728rksifslnaw2arnpr92sk24nw26k1zvs4prz5i7j"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix index bcbe50e5de3..1876020a8fe 100644 --- a/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-calculator/default.nix @@ -18,7 +18,7 @@ stdenv.mkDerivation rec { pname = "elementary-calculator"; - version = "1.5.2"; + version = "1.5.4"; repoName = "calculator"; @@ -26,13 +26,12 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "1vdgl89hdf9q1ya6as7310hlr0xls3w7js2gzsd9z8arb6037ccl"; + sha256 = "0053bdzn5viqlni6qg6q39nma6bsddmhnafa0mzggiv8l4qasbrx"; }; passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix index 4e5f69fc9e6..5a70fa94c5e 100644 --- a/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-calendar/default.nix @@ -25,22 +25,20 @@ stdenv.mkDerivation rec { pname = "elementary-calendar"; - version = "unstable-2019-10-29"; + version = "5.0.3"; repoName = "calendar"; src = fetchFromGitHub { owner = "elementary"; repo = repoName; - rev = "7d201fc5ea9e8dc25c46427397594fcab2016ed6"; # needed for libical 2.0 compat - sha256 = "11bqf3nxrj1sfd0qq5h0jsmimc6mwkd2g7q9ycizn9x5ak2gb8xi"; + rev = version; + sha256 = "1dqcmh585fjib4m8bs7qy23fv429s7q9nbcqnn0vvmy1n36fic4m"; }; passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; - versionPolicy = "master"; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/elementary-camera/default.nix b/pkgs/desktops/pantheon/apps/elementary-camera/default.nix index aedc445b05f..7c95d88053d 100644 --- a/pkgs/desktops/pantheon/apps/elementary-camera/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-camera/default.nix @@ -36,8 +36,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/elementary-code/default.nix b/pkgs/desktops/pantheon/apps/elementary-code/default.nix index 355f3ea8d0f..0e692a8e806 100644 --- a/pkgs/desktops/pantheon/apps/elementary-code/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-code/default.nix @@ -40,8 +40,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix b/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix index 70d8f63c13c..fb56b3d1b33 100644 --- a/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-feedback/default.nix @@ -31,8 +31,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/elementary-files/default.nix b/pkgs/desktops/pantheon/apps/elementary-files/default.nix index 1b5de7c168e..1cb81344ea6 100644 --- a/pkgs/desktops/pantheon/apps/elementary-files/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-files/default.nix @@ -45,8 +45,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/elementary-music/default.nix b/pkgs/desktops/pantheon/apps/elementary-music/default.nix index 7d235551a80..b5303021772 100644 --- a/pkgs/desktops/pantheon/apps/elementary-music/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-music/default.nix @@ -42,8 +42,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix index 94b6a2fce8e..ea74686e504 100644 --- a/pkgs/desktops/pantheon/apps/elementary-photos/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-photos/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { pname = "elementary-photos"; - version = "2.6.4"; + version = "2.6.5"; repoName = "photos"; @@ -41,13 +41,12 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "17r9658s0pqy6s45ysi3915sm8hpvmsp7cw2jahqvjc61r4qpdc1"; + sha256 = "0r6d9y936nw4bn0jvixi1p62dy8qsgl2bx8g3889fndnhfnhbjv0"; }; passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix b/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix index 4dd168f25f0..8485a1df9f3 100644 --- a/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-screenshot-tool/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { pname = "elementary-screenshot-tool"; # This will be renamed to "screenshot" soon. See -> https://github.com/elementary/screenshot/pull/93 - version = "1.6.2"; + version = "1.7.0"; repoName = "screenshot"; @@ -25,13 +25,12 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "1z61j96jk9zjr3bn5hgsp25m4v8h1rqwxm0kg8c34bvl06f13v8q"; + sha256 = "09jcyy4drzpfxb1blln7hyjg5b7r8w5j5v7va2qhq31y7vzczh62"; }; passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix index 8bd335c6530..8416898710d 100644 --- a/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-terminal/default.nix @@ -20,7 +20,7 @@ stdenv.mkDerivation rec { pname = "elementary-terminal"; - version = "5.3.6"; + version = "5.4.0"; repoName = "terminal"; @@ -28,13 +28,12 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "0jp21sy8k3jq3ycvng9yy2hbhcvfgiknxxa8vcg3c06vqhadmnc3"; + sha256 = "1rj4hrg5qljsv11apgdp0x4dazlfmjq3s0lk0dvwjvh9nqkr6jbw"; }; passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/elementary-videos/default.nix b/pkgs/desktops/pantheon/apps/elementary-videos/default.nix index 9132707db2b..c8bde494399 100644 --- a/pkgs/desktops/pantheon/apps/elementary-videos/default.nix +++ b/pkgs/desktops/pantheon/apps/elementary-videos/default.nix @@ -19,7 +19,7 @@ stdenv.mkDerivation rec { pname = "elementary-videos"; - version = "2.6.3"; + version = "2.7.0"; repoName = "videos"; @@ -27,13 +27,12 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "1ncm8kh6dcy83p8pmpilnk03b4dx3b1jm8w13izq2dkglfgdwvqx"; + sha256 = "1b6dqqmxa83fwlh9r0v918ikxd3mnwk0j5xssw1wk5l7q72s43w7"; }; passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/sideload/default.nix b/pkgs/desktops/pantheon/apps/sideload/default.nix index 1fcd486263b..f04cb7cd53b 100644 --- a/pkgs/desktops/pantheon/apps/sideload/default.nix +++ b/pkgs/desktops/pantheon/apps/sideload/default.nix @@ -32,7 +32,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix index 7a79f72f1a2..5cd5d365ed9 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix @@ -33,7 +33,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix index c179160ddab..d501cba7c06 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix @@ -16,18 +16,18 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-about"; - version = "2.6.0"; + version = "2.6.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "12ysymk5y2k49yh3rzmra7jmimxrd54gz2f4ssc9i8w06xj5djp7"; + sha256 = "1z58d21xrjghvjx0ng53pcxwdk2f5d00dvngcyjja0kf7sixba71"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix index ddb589c9e79..0d0a7507afe 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix @@ -13,18 +13,18 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-applications"; - version = "2.1.5"; + version = "2.1.6"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1c4agff456625kycacpsww7c9jsnsg1rqps96r7cvn9zq371b5ir"; + sha256 = "19l979sdn9jzibvn98ag3ys28ka7zqlsbs0gj2gs9jcxhzngrxvg"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; @@ -42,8 +42,6 @@ stdenv.mkDerivation rec { switchboard ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with stdenv.lib; { description = "Switchboard Applications Plug"; homepage = https://github.com/elementary/switchboard-plug-applications; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix index ca29ab65afc..6f2fefa4873 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix index cafb4014407..501059896f2 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix @@ -27,7 +27,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix index 00524786f4b..bd9669e2499 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix @@ -13,18 +13,18 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-display"; - version = "2.1.9"; + version = "2.2.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0g9apywxgkan82h933rjjdm9fhd8vak8mziwsbqlprdz310b2jb2"; + sha256 = "0mr89kyq034wffzixqlq6lmhyc4jry3dcgxrk306dhks2myindqh"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix index e31355b7b7e..81a694f2ea9 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix @@ -30,7 +30,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix index a8556bd5401..260b340c223 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix @@ -15,27 +15,18 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-mouse-touchpad"; - version = "2.2.0"; + version = "2.3.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0mr25p7j5hl8zmvz5i3g30s4xbdhk6d22lw2akch3si40il9q5fv"; + sha256 = "1974zdr5w3xd882gi95fp7axgilfni1sclsr750qm32yhl7d9bfn"; }; - patches = [ - ./hardcode-settings-daemon-gsettings.patch - ]; - - postPatch = '' - substituteInPlace src/Views/General.vala \ - --subst-var-by GSD_GSETTINGS ${glib.getSchemaPath elementary-settings-daemon} - ''; - passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; @@ -51,11 +42,10 @@ stdenv.mkDerivation rec { granite gtk3 libgee + elementary-settings-daemon switchboard ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with stdenv.lib; { description = "Switchboard Mouse & Touchpad Plug"; homepage = https://github.com/elementary/switchboard-plug-mouse-touchpad; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch deleted file mode 100644 index b904fe15309..00000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/hardcode-settings-daemon-gsettings.patch +++ /dev/null @@ -1,63 +0,0 @@ -diff --git a/src/Views/General.vala b/src/Views/General.vala -index 4b19b73..dfa3d4d 100644 ---- a/src/Views/General.vala -+++ b/src/Views/General.vala -@@ -138,32 +138,34 @@ public class MouseTouchpad.GeneralView : Gtk.Grid { - attach (pointer_speed_scale, 3, 8); - attach (pointer_speed_help, 1, 9, 3); - -- var xsettings_schema = SettingsSchemaSource.get_default ().lookup ("org.gnome.settings-daemon.plugins.xsettings", false); -- if (xsettings_schema != null) { -- var primary_paste_switch = new Gtk.Switch (); -- primary_paste_switch.halign = Gtk.Align.START; -- -- var primary_paste_help = new Gtk.Label (_("Middle or three-finger clicking on an input will paste any selected text")); -- primary_paste_help.margin_bottom = 18; -- primary_paste_help.wrap = true; -- primary_paste_help.xalign = 0; -- primary_paste_help.get_style_context ().add_class (Gtk.STYLE_CLASS_DIM_LABEL); -- -- attach (new SettingLabel (_("Middle click paste:")), 0, 4); -- attach (primary_paste_switch, 1, 4); -- attach (primary_paste_help, 1, 5, 3); -- -- var xsettings = new GLib.Settings ("org.gnome.settings-daemon.plugins.xsettings"); -- primary_paste_switch.notify["active"].connect (() => on_primary_paste_switch_changed (primary_paste_switch, xsettings)); -- -- var current_value = xsettings.get_value ("overrides").lookup_value ("Gtk/EnablePrimaryPaste", VariantType.INT32); -- if (current_value != null) { -- primary_paste_switch.active = current_value.get_int32 () == 1; -- } -+ var primary_paste_switch = new Gtk.Switch (); -+ primary_paste_switch.halign = Gtk.Align.START; -+ -+ var primary_paste_help = new Gtk.Label (_("Middle or three-finger clicking on an input will paste any selected text")); -+ primary_paste_help.margin_bottom = 18; -+ primary_paste_help.wrap = true; -+ primary_paste_help.xalign = 0; -+ primary_paste_help.get_style_context ().add_class (Gtk.STYLE_CLASS_DIM_LABEL); -+ -+ attach (new SettingLabel (_("Middle click paste:")), 0, 4); -+ attach (primary_paste_switch, 1, 4); -+ attach (primary_paste_help, 1, 5, 3); -+ -+ SettingsSchemaSource daemon_schema_source = new SettingsSchemaSource.from_directory ("@GSD_GSETTINGS@", null, true); -+ SettingsSchema xsettings_schema = daemon_schema_source.lookup ("org.gnome.settings-daemon.plugins.xsettings", false); -+ -+ var xsettings = new GLib.Settings.full (xsettings_schema, null, null); -+ primary_paste_switch.notify["active"].connect (() => on_primary_paste_switch_changed (primary_paste_switch, xsettings)); -+ -+ var current_value = xsettings.get_value ("overrides").lookup_value ("Gtk/EnablePrimaryPaste", VariantType.INT32); -+ if (current_value != null) { -+ primary_paste_switch.active = current_value.get_int32 () == 1; - } - -- var daemon_settings = new GLib.Settings ("org.gnome.settings-daemon.peripherals.mouse"); -- daemon_settings.bind ("locate-pointer", reveal_pointer_switch, "active", GLib.SettingsBindFlags.DEFAULT); -+ SettingsSchema daemon_mouse_schema = daemon_schema_source.lookup ("org.gnome.settings-daemon.peripherals.mouse", false); -+ -+ var daemon_mouse_settings = new GLib.Settings.full (daemon_mouse_schema, null, null); -+ daemon_mouse_settings.bind ("locate-pointer", reveal_pointer_switch, "active", GLib.SettingsBindFlags.DEFAULT); - - var a11y_mouse_settings = new GLib.Settings ("org.gnome.desktop.a11y.mouse"); - a11y_mouse_settings.bind ("secondary-click-enabled", hold_switch, "active", GLib.SettingsBindFlags.DEFAULT); diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix index 175f0e45f46..6e050c92d80 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix @@ -16,18 +16,18 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-network"; - version = "2.1.4"; + version = "2.2.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "12lvcc15jngzsa40fjhxa6kccs58h5qq4lqrc7lcx5przmfaik8k"; + sha256 = "0zg4bxrrw1nmm91yp8ymji7mha2wcjrwljcnpcvxq7lf8f2k0145"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; @@ -49,14 +49,12 @@ stdenv.mkDerivation rec { patches = [ (substituteAll { - src = ./nma.patch; - networkmanagerapplet = networkmanagerapplet; + src = ./fix-paths.patch; + inherit networkmanagerapplet; }) ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with stdenv.lib; { description = "Switchboard Networking Plug"; homepage = https://github.com/elementary/switchboard-plug-network; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch new file mode 100644 index 00000000000..e2d7a6d4970 --- /dev/null +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch @@ -0,0 +1,35 @@ +diff --git a/src/Views/VPNPage.vala b/src/Views/VPNPage.vala +index 82e7826..cf00145 100644 +--- a/src/Views/VPNPage.vala ++++ b/src/Views/VPNPage.vala +@@ -265,7 +265,7 @@ public class Network.VPNPage : Network.Widgets.Page { + private void try_connection_editor (string args) { + try { + var appinfo = AppInfo.create_from_commandline ( +- "nm-connection-editor %s".printf (args), ++ "@networkmanagerapplet@/bin/nm-connection-editor %s".printf (args), + null, + GLib.AppInfoCreateFlags.NONE + ); +diff --git a/src/Widgets/SettingsButton.vala b/src/Widgets/SettingsButton.vala +index ed36b38..bc71c0c 100644 +--- a/src/Widgets/SettingsButton.vala ++++ b/src/Widgets/SettingsButton.vala +@@ -24,7 +24,7 @@ + clicked.connect (() => { + try { + var appinfo = AppInfo.create_from_commandline ( +- "nm-connection-editor", ++ "@networkmanagerapplet@/bin/nm-connection-editor", + null, + AppInfoCreateFlags.NONE + ); +@@ -71,7 +71,7 @@ + private void edit_connection_uuid (string uuid) { + try { + var appinfo = AppInfo.create_from_commandline ( +- "nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE ++ "@networkmanagerapplet@/bin/nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE + ); + + appinfo.launch (null, null); diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch deleted file mode 100644 index a5fff9d6a32..00000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/network/nma.patch +++ /dev/null @@ -1,43 +0,0 @@ -diff --git a/src/Widgets/SettingsButton.vala b/src/Widgets/SettingsButton.vala -index 19fd514..bc800d9 100644 ---- a/src/Widgets/SettingsButton.vala -+++ b/src/Widgets/SettingsButton.vala -@@ -23,7 +23,7 @@ - label = _("Edit Connections…"); - clicked.connect (() => { - try { -- var appinfo = AppInfo.create_from_commandline ("nm-connection-editor", null, AppInfoCreateFlags.NONE); -+ var appinfo = AppInfo.create_from_commandline ("@networkmanagerapplet@/bin/nm-connection-editor", null, AppInfoCreateFlags.NONE); - appinfo.launch (null, null); - } catch (Error e) { - warning ("%s", e.message); -@@ -61,13 +61,13 @@ - label = title; - clicked.connect (() => { - edit_connection_uuid (connection.get_uuid ()); -- }); -+ }); - } - - private void edit_connection_uuid (string uuid) { - try { - var appinfo = AppInfo.create_from_commandline ( -- "nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE -+ "@networkmanagerapplet@/bin/nm-connection-editor --edit=%s".printf (uuid), null, AppInfoCreateFlags.NONE - ); - - appinfo.launch (null, null); -diff --git a/src/Widgets/VPN/VPNPage.vala b/src/Widgets/VPN/VPNPage.vala -index 23c3ae9..c71984c 100644 ---- a/src/Widgets/VPN/VPNPage.vala -+++ b/src/Widgets/VPN/VPNPage.vala -@@ -86,8 +86,7 @@ namespace Network { - add_button.tooltip_text = _("Add VPN Connection…"); - add_button.clicked.connect (() => { - add_button.sensitive = false; -- var command = new Granite.Services.SimpleCommand ("/usr/bin", -- "nm-connection-editor --create --type=vpn"); -+ var command = new Granite.Services.SimpleCommand ("@networkmanagerapplet@", "bin/nm-connection-editor --create --type=vpn"); - command.done.connect ((exit) => { - if (exit != 0) { - var dialog = new Gtk.MessageDialog (null, Gtk.DialogFlags.MODAL, Gtk.MessageType.ERROR, Gtk.ButtonsType.CLOSE, "%s", _("Failed to run Connection Editor.")); diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix index a6112495469..bd7fee51d8d 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix index fd1719814b8..fdd3f4f5765 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix index 35dd958483d..ab9ecbc5a33 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix @@ -4,18 +4,18 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-pantheon-shell"; - version = "2.8.1"; + version = "2.8.2"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1vrnzxqzl84k8gbrais4j1jyap10kvil4cr769jpr3q3bkbblwrw"; + sha256 = "0l4js2gqvn8lmky5b3jjqw6mzxcv9i2gjqr1vka0z40px6vfzf0z"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; @@ -36,30 +36,16 @@ stdenv.mkDerivation rec { granite gtk3 libgee + gala + wingpanel plank switchboard ]; patches = [ ./backgrounds.patch # Having https://github.com/elementary/switchboard-plug-pantheon-shell/issues/166 would make this patch uneeded - ./hardcode-gsettings.patch - # Fixes https://github.com/elementary/switchboard-plug-pantheon-shell/issues/172 - (fetchpatch { - url = "https://github.com/elementary/switchboard-plug-pantheon-shell/commit/e4f86df6a6be402db4c979a4b005573618b744d1.patch"; - sha256 = "0sa8611k6sqg96mnp2plmxd30w6zq76bfwszl8ankr9kwsgyc66y"; - }) ]; - postPatch = '' - substituteInPlace src/Views/Appearance.vala \ - --subst-var-by GALA_GSETTINGS_PATH ${glib.getSchemaPath gala} - substituteInPlace src/Views/Appearance.vala \ - --subst-var-by WINGPANEL_GSETTINGS_PATH ${glib.getSchemaPath wingpanel} - ''; - - - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with stdenv.lib; { description = "Switchboard Desktop Plug"; homepage = https://github.com/elementary/switchboard-plug-pantheon-shell; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch deleted file mode 100644 index d023e1b55ce..00000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/hardcode-gsettings.patch +++ /dev/null @@ -1,23 +0,0 @@ -diff --git a/src/Views/Appearance.vala b/src/Views/Appearance.vala -index 721d458..17e1c58 100644 ---- a/src/Views/Appearance.vala -+++ b/src/Views/Appearance.vala -@@ -66,10 +66,16 @@ public class Appearance : Gtk.Grid { - attach (text_size_label, 0, 2); - attach (text_size_modebutton, 1, 2); - -- var animations_settings = new Settings (ANIMATIONS_SCHEMA); -+ SettingsSchemaSource gala_schema_source = new SettingsSchemaSource.from_directory ("@GALA_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); -+ SettingsSchema animations_schema = gala_schema_source.lookup (ANIMATIONS_SCHEMA, false); -+ -+ var animations_settings = new Settings.full (animations_schema, null, null); - animations_settings.bind (ANIMATIONS_KEY, animations_switch, "active", SettingsBindFlags.DEFAULT); - -- var panel_settings = new Settings (PANEL_SCHEMA); -+ SettingsSchemaSource panel_schema_source = new SettingsSchemaSource.from_directory ("@WINGPANEL_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); -+ SettingsSchema panel_schema = panel_schema_source.lookup (PANEL_SCHEMA, false); -+ -+ var panel_settings = new Settings.full (panel_schema, null, null); - panel_settings.bind (TRANSLUCENCY_KEY, translucency_switch, "active", SettingsBindFlags.DEFAULT); - - var interface_settings = new Settings (INTERFACE_SCHEMA); diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix index 7bc3f6ba7ad..a8513f0b29b 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix @@ -19,18 +19,18 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-power"; - version = "2.3.5"; + version = "2.4.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1wcxz4jxyv8kms9gxpwvrb356h10qvcwmdjzjzl2bvj5yl1rfcs9"; + sha256 = "1b25slfh8166v9z2zmb25k64pcj0lh001qh04qhfilzfcbh54krj"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; @@ -43,6 +43,8 @@ stdenv.mkDerivation rec { buildInputs = [ dbus + elementary-dpms-helper + elementary-settings-daemon glib granite gtk3 @@ -56,21 +58,8 @@ stdenv.mkDerivation rec { src = ./dpms-helper-exec.patch; elementary_dpms_helper = elementary-dpms-helper; }) - ./hardcode-gsettings.patch ]; - postPatch = '' - substituteInPlace src/MainView.vala \ - --subst-var-by DPMS_HELPER_GSETTINGS_PATH ${glib.getSchemaPath elementary-dpms-helper} - substituteInPlace src/MainView.vala \ - --subst-var-by GSD_GSETTINGS_PATH ${glib.getSchemaPath elementary-settings-daemon} - ''; - - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - PKG_CONFIG_DBUS_1_SYSTEM_BUS_SERVICES_DIR = "${placeholder "out"}/share/dbus-1/system-services"; - PKG_CONFIG_DBUS_1_SYSCONFDIR = "${placeholder "out"}/etc"; - PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions"; - meta = with stdenv.lib; { description = "Switchboard Power Plug"; homepage = https://github.com/elementary/switchboard-plug-power; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch deleted file mode 100644 index caacdad6eda..00000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/power/hardcode-gsettings.patch +++ /dev/null @@ -1,20 +0,0 @@ -diff --git a/src/MainView.vala b/src/MainView.vala -index 1654e68..ad8fed9 100644 ---- a/src/MainView.vala -+++ b/src/MainView.vala -@@ -46,8 +46,13 @@ public class Power.MainView : Gtk.Grid { - - var label_size = new Gtk.SizeGroup (Gtk.SizeGroupMode.HORIZONTAL); - -- settings = new GLib.Settings ("org.gnome.settings-daemon.plugins.power"); -- elementary_dpms_settings = new GLib.Settings ("io.elementary.dpms"); -+ SettingsSchemaSource gsd_sss = new SettingsSchemaSource.from_directory ("@GSD_GSETTINGS_PATH@", null, true); -+ SettingsSchema gsd_schema = gsd_sss.lookup ("org.gnome.settings-daemon.plugins.power", false); -+ settings = new GLib.Settings.full (gsd_schema, null, null); -+ -+ SettingsSchemaSource dpms_sss = new SettingsSchemaSource.from_directory ("@DPMS_HELPER_GSETTINGS_PATH@", null, true); -+ SettingsSchema elementary_dpms_schema = dpms_sss.lookup ("io.elementary.dpms", false); -+ elementary_dpms_settings = new GLib.Settings.full (elementary_dpms_schema, null, null); - - battery = new Battery (); - power_supply = new PowerSupply (); diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix index aa65934acdb..b21fc1c099f 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix @@ -15,18 +15,18 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-printers"; - version = "2.1.6"; + version = "2.1.7"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "05pkf3whh51gd9d0h2h4clgf7r3mvzl4ybas7834vhy19dzcbzmc"; + sha256 = "03r67q6my10i4hl8d0q3d6fhqm9abs9kn9j92hk6ykqb4ybxw1z1"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; @@ -45,16 +45,6 @@ stdenv.mkDerivation rec { switchboard ]; - patches = [ - # Fix build with latest vala. - (fetchpatch { - url = "https://github.com/elementary/switchboard-plug-printers/commit/3175c2ebf106145a95355d2571e0a2aa4834e884.patch"; - sha256 = "1b2q48a1284037nz79vjcrz8g2qpsyg7s5rag6bfp03a1ijb7gw3"; - }) - ]; - - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with stdenv.lib; { description = "Switchboard Printers Plug"; homepage = https://github.com/elementary/switchboard-plug-printers; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix index 5c72af92397..9d457aedc96 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix @@ -29,7 +29,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; @@ -48,21 +48,13 @@ stdenv.mkDerivation rec { libgee polkit switchboard + lightlocker zeitgeist ]; - patches = [ - ./hardcode-gsettings.patch - ]; - postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py - - substituteInPlace src/Views/LockPanel.vala \ - --subst-var-by LIGHTLOCKER_GSETTINGS_PATH ${glib.getSchemaPath lightlocker} - substituteInPlace src/Views/FirewallPanel.vala \ - --subst-var-by SWITCHBOARD_SEC_PRIV_GSETTINGS_PATH ${glib.makeSchemaPath "$out" "${pname}-${version}"} ''; meta = with stdenv.lib; { diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch b/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch deleted file mode 100644 index 24a104248f8..00000000000 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/hardcode-gsettings.patch +++ /dev/null @@ -1,33 +0,0 @@ -diff --git a/src/Views/FirewallPanel.vala b/src/Views/FirewallPanel.vala -index 0335c29..481b1c8 100644 ---- a/src/Views/FirewallPanel.vala -+++ b/src/Views/FirewallPanel.vala -@@ -49,7 +49,11 @@ public class SecurityPrivacy.FirewallPanel : Granite.SimpleSettingsPage { - } - - construct { -- settings = new Settings ("io.elementary.switchboard.security-privacy"); -+ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@SWITCHBOARD_SEC_PRIV_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); -+ SettingsSchema security_privacy_schema = sss.lookup ("io.elementary.switchboard.security-privacy", false); -+ -+ settings = new Settings.full (security_privacy_schema, null, null); -+ - disabled_rules = new Gee.HashMap<string, UFWHelpers.Rule> (); - load_disabled_rules (); - -diff --git a/src/Views/LockPanel.vala b/src/Views/LockPanel.vala -index 4f523f9..7135a83 100644 ---- a/src/Views/LockPanel.vala -+++ b/src/Views/LockPanel.vala -@@ -30,7 +30,10 @@ public class SecurityPrivacy.LockPanel : Granite.SimpleSettingsPage { - } - - construct { -- locker = new Settings ("apps.light-locker"); -+ SettingsSchemaSource sss = new SettingsSchemaSource.from_directory ("@LIGHTLOCKER_GSETTINGS_PATH@", SettingsSchemaSource.get_default (), true); -+ SettingsSchema locker_schema = sss.lookup ("apps.light-locker", false); -+ -+ locker = new Settings.full (locker_schema, null, null); - - var lock_suspend_label = new Gtk.Label (_("Lock on suspend:")); - var lock_suspend_switch = new Gtk.Switch (); diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix index 57e7fe6af44..3d240fc6221 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix index dee2f851e3f..8d8cd1c940a 100644 --- a/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix @@ -16,18 +16,18 @@ stdenv.mkDerivation rec { pname = "switchboard-plug-sound"; - version = "2.2.1"; + version = "2.2.2"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0frml591r82j7hf1zlccgv8pzk3w10x470f9nzvdgdjpz0r776k2"; + sha256 = "1aa9wgaz34glrrnilnqis3k0bnx2a2ir38j493y4d0klkjkwyn5k"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; @@ -48,8 +48,6 @@ stdenv.mkDerivation rec { switchboard ]; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - meta = with stdenv.lib; { description = "Switchboard Sound Plug"; homepage = https://github.com/elementary/switchboard-plug-sound; diff --git a/pkgs/desktops/pantheon/apps/switchboard/default.nix b/pkgs/desktops/pantheon/apps/switchboard/default.nix index 5c10cc0e9e4..03e6ef999eb 100644 --- a/pkgs/desktops/pantheon/apps/switchboard/default.nix +++ b/pkgs/desktops/pantheon/apps/switchboard/default.nix @@ -11,25 +11,24 @@ , granite , gettext , clutter-gtk -, libunity , elementary-icon-theme , wrapGAppsHook }: stdenv.mkDerivation rec { pname = "switchboard"; - version = "2.3.6"; + version = "2.3.7"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0lsrn636b0f9a58jbid6mlhgrf8ajnh7phwmhgxz55sz7k7qa58g"; + sha256 = "160aar5dqd019vn28cm0d0ijj1i6mwpqkl7a1l4lpasw12drxwxz"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; @@ -49,7 +48,6 @@ stdenv.mkDerivation rec { granite gtk3 libgee - libunity ]; patches = [ diff --git a/pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch b/pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch index f5d8567bffe..d5931d59ec9 100644 --- a/pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch +++ b/pkgs/desktops/pantheon/apps/switchboard/plugs-path-env.patch @@ -1,13 +1,9 @@ diff --git a/lib/PlugsManager.vala b/lib/PlugsManager.vala -index 75d0eaf..c227908 100644 +index 8b21e7b..bc36321 100644 --- a/lib/PlugsManager.vala +++ b/lib/PlugsManager.vala -@@ -34,10 +34,18 @@ public class Switchboard.PlugsManager : GLib.Object { - private Gee.LinkedList<Switchboard.Plug> plugs; - - public signal void plug_added (Switchboard.Plug plug); -- -+ +@@ -36,7 +36,15 @@ public class Switchboard.PlugsManager : GLib.Object { + private PlugsManager () { plugs = new Gee.LinkedList<Switchboard.Plug> (); - var base_folder = File.new_for_path (Build.PLUGS_DIR); diff --git a/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix b/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix index 756ae86bb19..cc6b37095fd 100644 --- a/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix +++ b/pkgs/desktops/pantheon/apps/switchboard/wrapper.nix @@ -1,23 +1,38 @@ -{ makeWrapper +{ wrapGAppsHook +, glib +, lib , symlinkJoin , switchboard , switchboardPlugs , plugs + # Only useful to disable for development testing. +, useDefaultPlugs ? true }: let - selectedPlugs = if plugs == null then switchboardPlugs else plugs; + selectedPlugs = + if plugs == null then switchboardPlugs + else plugs ++ (lib.optionals useDefaultPlugs switchboardPlugs); in symlinkJoin { name = "${switchboard.name}-with-plugs"; - paths = [ switchboard ] ++ selectedPlugs; + paths = [ + switchboard + ] ++ selectedPlugs; - buildInputs = [ makeWrapper ]; + buildInputs = [ + wrapGAppsHook + glib + ] ++ (lib.forEach selectedPlugs (x: x.buildInputs)) + ++ selectedPlugs; postBuild = '' - wrapProgram $out/bin/io.elementary.switchboard \ - --set SWITCHBOARD_PLUGS_PATH "$out/lib/switchboard" + make_glib_find_gsettings_schemas + + gappsWrapperArgs+=(--set SWITCHBOARD_PLUGS_PATH "$out/lib/switchboard") + + wrapGAppsHook ''; inherit (switchboard) meta; diff --git a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix index 34a87a6cb16..be8df39ab06 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-gtk-theme/default.nix @@ -21,8 +21,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix index 1fba6a949d6..9943415a457 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-icon-theme/default.nix @@ -23,8 +23,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix b/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix index aff830fda56..c19a465e9b1 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-sound-theme/default.nix @@ -19,19 +19,18 @@ stdenv.mkDerivation rec { sha256 = "1dc583lq61c361arjl3s44d2k72c46bqvcqv1c3s69f2ndsnxjdz"; }; - passthru = { - updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; - }; - }; - nativeBuildInputs = [ meson ninja pkgconfig ]; + passthru = { + updateScript = pantheon.updateScript { + attrPath = "pantheon.${pname}"; + }; + }; + meta = with stdenv.lib; { description = "A set of system sounds for elementary"; homepage = https://github.com/elementary/sound-theme; diff --git a/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix index c48dd761e08..2f3b0ee059f 100644 --- a/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix +++ b/pkgs/desktops/pantheon/artwork/elementary-wallpapers/default.nix @@ -1,11 +1,14 @@ { stdenv , fetchFromGitHub , pantheon +, meson +, ninja +, gettext }: stdenv.mkDerivation rec { pname = "elementary-wallpapers"; - version = "5.4"; + version = "5.5.0"; repoName = "wallpapers"; @@ -13,24 +16,21 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "1ihvv9v8m5f2n2v3bgg769l52wbg241zgp3d45q6phk7p8s1gz3s"; + sha256 = "0c63nds2ylqgcp39s13mfwhipgyw8cirn0bhybp291l5g86ii6s3"; }; + nativeBuildInputs = [ + gettext + meson + ninja + ]; + passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; - dontBuild = true; - dontConfigure = true; - - installPhase = '' - mkdir -p $out/share/backgrounds/elementary - cp -av *.jpg $out/share/backgrounds/elementary - ''; - meta = with stdenv.lib; { description = "Collection of wallpapers for elementary"; homepage = https://github.com/elementary/wallpapers; diff --git a/pkgs/desktops/pantheon/default.nix b/pkgs/desktops/pantheon/default.nix index 9e5391243bd..d4e6b192f20 100644 --- a/pkgs/desktops/pantheon/default.nix +++ b/pkgs/desktops/pantheon/default.nix @@ -3,37 +3,6 @@ lib.makeScope pkgs.newScope (self: with self; { - apps = [ - elementary-calculator elementary-calendar - elementary-camera elementary-code elementary-files - elementary-music elementary-photos elementary-screenshot-tool - elementary-terminal elementary-videos switchboard-with-plugs - ]; - - artwork = [ - elementary-gtk-theme - elementary-icon-theme - elementary-sound-theme - elementary-wallpapers - ]; - - desktop = [ - elementary-default-settings - elementary-session-settings - elementary-shortcut-overlay - gala - wingpanel-with-indicators - ]; - - services = [ - cerbere - elementary-capnet-assist - elementary-settings-daemon - elementary-dpms-helper - pantheon-agent-geoclue2 - pantheon-agent-polkit - ]; - switchboardPlugs = [ switchboard-plug-a11y switchboard-plug-about switchboard-plug-applications switchboard-plug-bluetooth @@ -54,6 +23,8 @@ lib.makeScope pkgs.newScope (self: with self; { wingpanel-indicator-session wingpanel-indicator-sound ]; + nixpkgs-github-update = callPackage ./nixpkgs_github_update { }; + updateScript = callPackage ./update.nix { }; maintainers = with pkgs.stdenv.lib.maintainers; [ worldofpeace ]; @@ -155,9 +126,7 @@ lib.makeScope pkgs.newScope (self: with self; { wingpanel-indicator-keyboard = callPackage ./desktop/wingpanel-indicators/keyboard { }; - wingpanel-indicator-network = callPackage ./desktop/wingpanel-indicators/network { - inherit (gnome3) networkmanagerapplet; - }; + wingpanel-indicator-network = callPackage ./desktop/wingpanel-indicators/network { }; wingpanel-indicator-nightlight = callPackage ./desktop/wingpanel-indicators/nightlight { }; @@ -193,9 +162,7 @@ lib.makeScope pkgs.newScope (self: with self; { switchboard-plug-mouse-touchpad = callPackage ./apps/switchboard-plugs/mouse-touchpad { }; - switchboard-plug-network = callPackage ./apps/switchboard-plugs/network { - inherit (gnome3) networkmanagerapplet; - }; + switchboard-plug-network = callPackage ./apps/switchboard-plugs/network { }; switchboard-plug-notifications = callPackage ./apps/switchboard-plugs/notifications { }; diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix index f20f1197499..e601c99108b 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix @@ -27,8 +27,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix index 440893935f8..dc0b764d319 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix @@ -41,8 +41,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; xgreeters = linkFarm "pantheon-greeter-xgreeters" [{ diff --git a/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix index 3ee55a141b8..06b5183c1e0 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-onboarding/default.nix @@ -14,12 +14,13 @@ , elementary-icon-theme , elementary-gtk-theme , gettext +, libhandy , wrapGAppsHook }: stdenv.mkDerivation rec { pname = "elementary-onboarding"; - version = "1.0.1"; + version = "1.1.0"; repoName = "onboarding"; @@ -27,13 +28,12 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "025i9av4waqwp1gn8d6sjp8qdwg2j3jskxhmyf9qxbzwfc5msysg"; + sha256 = "17fw95qg7j0mvam90jrvr77hw2ipxb2lkw0xxql1lzwvdx1h0r2k"; }; passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; @@ -48,20 +48,13 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + elementary-gtk-theme elementary-icon-theme + glib granite gtk3 - elementary-gtk-theme libgee - glib - ]; - - patches = [ - # Make sure we use our logo from /etc/os-release - (fetchpatch { - url = "https://github.com/elementary/onboarding/commit/03975bacb75741d3dd391a126217e415f43c6059.patch"; - sha256 = "1yw7dysav90abxnmkv86bc60dyl8nvi0sgaiz8v39cc2x00rqsg1"; - }) + libhandy ]; postPatch = '' diff --git a/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix b/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix index 0be2431d33d..e79a85bee95 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-print-shim/default.nix @@ -23,8 +23,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix index ab7333212a0..58acdd12147 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-session-settings/default.nix @@ -128,9 +128,9 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; + providedSessions = [ "pantheon" ]; }; meta = with stdenv.lib; { diff --git a/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix b/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix index 20b1ac7d353..2ba5f4becc1 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-shortcut-overlay/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { pname = "elementary-shortcut-overlay"; - version = "1.0.1"; + version = "1.1.0"; repoName = "shortcut-overlay"; @@ -25,13 +25,12 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "1ph4rx2l5fn0zh4fjfjlgbgskmzc0lvzqgcv7v4kr5m4rij1p4y4"; + sha256 = "10s44x5qln3asrdr6v5b3v92prh8rfhv96dbm73zhifm2jjm22g8"; }; passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/desktop/gala/default.nix b/pkgs/desktops/pantheon/desktop/gala/default.nix index 4b75b3bff56..baff9871105 100644 --- a/pkgs/desktops/pantheon/desktop/gala/default.nix +++ b/pkgs/desktops/pantheon/desktop/gala/default.nix @@ -37,8 +37,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - repoName = pname; - versionPolicy = "master"; + attrPath = "pantheon.${pname}"; }; }; 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 a266223eced..34c29c1b72a 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { pname = "wingpanel-applications-menu"; - version = "2.4.4"; + version = "2.5.0"; repoName = "applications-menu"; @@ -34,13 +34,12 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "09ssxn264v6nzrxgk529kpdxq5j3b14z8mbwq0gni1bgjcla773d"; + sha256 = "1zry9xvcljsn5fnl8qs21x7q8rpwv0sxvp2dmnx3ddqnvj4q2m7d"; }; passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; @@ -73,13 +72,10 @@ stdenv.mkDerivation rec { "--sysconfdir=${placeholder "out"}/etc" ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel"; - PKG_CONFIG_SWITCHBOARD_2_0_PLUGSDIR = "${placeholder "out"}/lib/switchboard"; - patches = [ (substituteAll { - src = ./bc.patch; - exec = "${bc}/bin/bc"; + src = ./fix-paths.patch; + bc = "${bc}/bin/bc"; }) ]; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch new file mode 100644 index 00000000000..25e3891a205 --- /dev/null +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/applications-menu/fix-paths.patch @@ -0,0 +1,24 @@ +diff --git a/src/synapse-plugins/calculator-plugin.vala b/src/synapse-plugins/calculator-plugin.vala +index 18ca3af..f5d1076 100644 +--- a/src/synapse-plugins/calculator-plugin.vala ++++ b/src/synapse-plugins/calculator-plugin.vala +@@ -44,9 +44,7 @@ namespace Synapse { + _("Calculator"), + _("Calculate basic expressions."), + "accessories-calculator", +- register_plugin, +- Environment.find_program_in_path ("bc") != null, +- _("bc is not installed") ++ register_plugin + ); + } + +@@ -87,7 +85,7 @@ namespace Synapse { + if (matched) { + Pid pid; + int read_fd, write_fd; +- string[] argv = {"bc", "-l"}; ++ string[] argv = {"@bc@", "-l"}; + string? solution = null; + + try { diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix index 3a462219f1e..93ddb0e1dee 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/bluetooth/default.nix @@ -16,18 +16,18 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-bluetooth"; - version = "2.1.3"; + version = "2.1.4"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "04ggakf7qp4q0kah5xksbwjn78wpdrp9kdgkj6ibzsb97ngn70g9"; + sha256 = "05v3qy4rxi4l3g1ql99vcjylb01hz3galh19c2jc3lqc1mf1z1j1"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; @@ -48,8 +48,6 @@ stdenv.mkDerivation rec { wingpanel ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel"; - postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix index 91549342052..f6ff962a944 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/datetime/default.nix @@ -16,37 +16,22 @@ , libxml2 , libsoup , elementary-calendar -, fetchurl }: -let - - # Terrible workaround https://github.com/elementary/wingpanel-indicator-datetime/issues/122 - # Evolution Data Server functionality will be broken (events from calendar in indicator) - # but at least we don't fail to build. - old-evolution-data-server = evolution-data-server.overrideAttrs(old: { - src = fetchurl { - url = "mirror://gnome/sources/evolution-data-server/${stdenv.lib.versions.majorMinor "3.32.4"}/${old.pname}-3.32.4.tar.xz"; - sha256 = "0zsc9xwy6ixk3x0dx69ax5isrdw8qxjdxg2i5fr95s40nss7rxl3"; - }; - }); - -in - stdenv.mkDerivation rec { pname = "wingpanel-indicator-datetime"; - version = "2.2.0"; + version = "2.2.1"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1whdx0vgm0qbbzsw8dg2liz3cbh3ad5ybkriy4lmx5ynyhpbz0sx"; + sha256 = "0y8lfrrkzcj8nw94jqawbxr4jz41ac0z539kkr3n3x0qmx72md2y"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; @@ -60,7 +45,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ - old-evolution-data-server + evolution-data-server granite gtk3 libgee @@ -69,6 +54,14 @@ stdenv.mkDerivation rec { wingpanel ]; + patches = [ + # Add support for libecal-2.0 + (fetchpatch { + url = "https://github.com/elementary/wingpanel-indicator-datetime/commit/3ccd05d611e6dd5274a03f061ba1b5e13d6fe0cf.patch"; + sha256 = "011q9b4pjmk4fpq5zscl5r8m4n3jiyx464023h4j7zf8r1070jz6"; + }) + ]; + postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix index 2f917b19f11..66f805b9a49 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/keyboard/default.nix @@ -17,18 +17,18 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-keyboard"; - version = "2.1.2"; + version = "2.2.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0lrd474m6p8di73hqjilqnnl7qg72ky5narkgcvm4lk8dyi78mz0"; + sha256 = "0jc12xfaj3micpjssxc7m6hzssvyq26ln5az05x5f1j6v8lccbyn"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix index 01a815404a6..fd22de25d63 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/network/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix index 3b50866c0ed..9d2669821de 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/nightlight/default.nix @@ -25,7 +25,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix index 4dbf6528c70..e5dabead7c5 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/notifications/default.nix @@ -14,18 +14,18 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-notifications"; - version = "2.1.2"; + version = "2.1.3"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1960s3xcsx6yjlnk0csf1m66s1z1sj5rym9b2fy7pm2nan47z3ld"; + sha256 = "1lx023z7xxlgwh0br48fw5w7xw673p2sqxwl1gz9f54xx7rv81py"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; @@ -44,8 +44,6 @@ stdenv.mkDerivation rec { wingpanel ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel"; - meta = with stdenv.lib; { description = "Notifications Indicator for Wingpanel"; homepage = https://github.com/elementary/wingpanel-indicator-notifications; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix index b989bada571..12223644971 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/power/default.nix @@ -28,7 +28,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix index 7efb03f9d66..72f94252cca 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/session/default.nix @@ -14,18 +14,18 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-session"; - version = "2.2.5"; + version = "2.2.6"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0lqh9g6qq09m744gncspm79lbwx1vjl1d6j2szwcq9f0jdm01pm5"; + sha256 = "0pzknbm0hg4kf2izfg1mcmyildfzwyq1hh0xhlq16gsmakq4ld26"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; @@ -44,8 +44,6 @@ stdenv.mkDerivation rec { wingpanel ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel"; - meta = with stdenv.lib; { description = "Session Indicator for Wingpanel"; homepage = https://github.com/elementary/wingpanel-indicator-session; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix index fa89cca68c0..ccd233e1a3e 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel-indicators/sound/default.nix @@ -18,18 +18,18 @@ stdenv.mkDerivation rec { pname = "wingpanel-indicator-sound"; - version = "2.1.3"; + version = "2.1.4"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0lgjl969c7s31nszh6d4pr1vsxfdsizplsihvd8r02mm1mlxmsda"; + sha256 = "00r3dqkyp7k34xwn12l0dbzfmz70084lblxchykmk77pgzid2a0b"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; @@ -52,8 +52,6 @@ stdenv.mkDerivation rec { wingpanel ]; - PKG_CONFIG_WINGPANEL_2_0_INDICATORSDIR = "${placeholder "out"}/lib/wingpanel"; - postPatch = '' chmod +x meson/post_install.py patchShebangs meson/post_install.py diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix index 1fc7304feb2..694166a5d64 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel/default.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel/default.nix @@ -31,7 +31,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix b/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix index 6b554d89caa..596ee816f89 100644 --- a/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix +++ b/pkgs/desktops/pantheon/desktop/wingpanel/wrapper.nix @@ -1,29 +1,44 @@ { lib -, makeWrapper +, wrapGAppsHook +, glib , symlinkJoin , wingpanel , wingpanelIndicators , switchboard-with-plugs , indicators ? null + # Only useful to disable for development testing. +, useDefaultIndicators ? true }: let - selectedIndicators = if indicators == null then wingpanelIndicators else indicators; + selectedIndicators = + if indicators == null then wingpanelIndicators + else indicators ++ (lib.optionals useDefaultIndicators wingpanelIndicators); in symlinkJoin { name = "${wingpanel.name}-with-indicators"; - paths = [ wingpanel ] ++ selectedIndicators; + paths = [ + wingpanel + ] ++ selectedIndicators; - buildInputs = [ makeWrapper ]; + buildInputs = [ + glib + wrapGAppsHook + ] ++ (lib.forEach selectedIndicators (x: x.buildInputs)) + ++ selectedIndicators; # We have to set SWITCHBOARD_PLUGS_PATH because wingpanel-applications-menu # has a plugin to search switchboard settings postBuild = '' - wrapProgram $out/bin/wingpanel \ - --set WINGPANEL_INDICATORS_PATH "$out/lib/wingpanel" \ - --set SWITCHBOARD_PLUGS_PATH "${switchboard-with-plugs}/lib/switchboard" \ - --suffix XDG_DATA_DIRS : ${lib.concatMapStringsSep ":" (indicator: ''${indicator}/share/gsettings-schemas/${indicator.name}'') selectedIndicators} + make_glib_find_gsettings_schemas + + gappsWrapperArgs+=( + --set WINGPANEL_INDICATORS_PATH "$out/lib/wingpanel" + --set SWITCHBOARD_PLUGS_PATH "${switchboard-with-plugs}/lib/switchboard" + ) + + wrapGAppsHook ''; inherit (wingpanel) meta; diff --git a/pkgs/desktops/pantheon/granite/default.nix b/pkgs/desktops/pantheon/granite/default.nix index ab673832857..198be9f3430 100644 --- a/pkgs/desktops/pantheon/granite/default.nix +++ b/pkgs/desktops/pantheon/granite/default.nix @@ -16,18 +16,18 @@ stdenv.mkDerivation rec { pname = "granite"; - version = "5.2.5"; + version = "5.3.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "0z40vhcp2w8s8rnc56pzvjc4s77bln8k84rwwypivjmk3lhpw1vi"; + sha256 = "1gvrk8gh959bmq8w0kaym7sx13v763lk8x5hck00msgmyrsarfwa"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/.envrc b/pkgs/desktops/pantheon/nixpkgs_github_update/.envrc new file mode 100644 index 00000000000..1d953f4bd73 --- /dev/null +++ b/pkgs/desktops/pantheon/nixpkgs_github_update/.envrc @@ -0,0 +1 @@ +use nix diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/.formatter.exs b/pkgs/desktops/pantheon/nixpkgs_github_update/.formatter.exs new file mode 100644 index 00000000000..d2cda26eddc --- /dev/null +++ b/pkgs/desktops/pantheon/nixpkgs_github_update/.formatter.exs @@ -0,0 +1,4 @@ +# Used by "mix format" +[ + inputs: ["{mix,.formatter}.exs", "{config,lib,test}/**/*.{ex,exs}"] +] diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/.gitignore b/pkgs/desktops/pantheon/nixpkgs_github_update/.gitignore new file mode 100644 index 00000000000..877c95f1f63 --- /dev/null +++ b/pkgs/desktops/pantheon/nixpkgs_github_update/.gitignore @@ -0,0 +1,32 @@ +# The directory Mix will write compiled artifacts to. +_build/ + +# If you run "mix test --cover", coverage assets end up here. +cover/ + +# The directory Mix downloads your dependencies sources to. +deps/ + +# Where third-party dependencies like ExDoc output generated docs. +doc/ + +# Ignore .fetch files in case you like to edit your project deps locally. +.fetch + +# If the VM crashes, it generates a dump, let's ignore it too. +erl_crash.dump + +# Also ignore archive artifacts (built via "mix archive.build"). +*.ez + +# Ignore package tarball (built via "mix hex.build"). +nixpkgs_github_update-*.tar + +# Ignore elixir_ls +.elixir_ls + +# mix escript.build result +nixpkgs_github_update + +# lockfile. only because this is nixpkgs. +mix.lock diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/default.nix b/pkgs/desktops/pantheon/nixpkgs_github_update/default.nix new file mode 100644 index 00000000000..834291222cf --- /dev/null +++ b/pkgs/desktops/pantheon/nixpkgs_github_update/default.nix @@ -0,0 +1,53 @@ +{ lib +, beamPackages +, makeWrapper +, common-updater-scripts +}: + +let + + poison_4 = beamPackages.buildMix { + name = "poison"; + version = "4.0.1"; + + src = beamPackages.fetchHex { + pkg = "poison"; + version = "4.0.1"; + sha256 = "098gdz7xzfmnjzgnnv80nl4h3zl8l9czqqd132vlnfabxbz3d25s"; + }; + }; + + +in + +beamPackages.buildMix { + name = "nixpkgs-github-update"; + version = "0.1.0"; + + src = lib.cleanSource ./.; + + nativeBuildInputs = [ + makeWrapper + ]; + + beamDeps = with beamPackages; [ erlang poison_4 ]; + + buildPhase = '' + export HEX_OFFLINE=1 + export HEX_HOME=`pwd` + export MIX_ENV=prod + export MIX_NO_DEPS=1 + + mix escript.build --no-deps-check + ''; + + installPhase = '' + mkdir -p $out/bin + cp nixpkgs_github_update $out/bin + ''; + + postFixup = '' + wrapProgram $out/bin/nixpkgs_github_update \ + --prefix PATH : "${lib.makeBinPath [ common-updater-scripts ]}" + ''; +} diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/cli.ex b/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/cli.ex new file mode 100644 index 00000000000..e735c428516 --- /dev/null +++ b/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/cli.ex @@ -0,0 +1,71 @@ +defmodule NixpkgsGitHubUpdate.CLI do + @moduledoc """ + Run updates on Nix Expressions that use fetchFromGitHub. + + Arguments the script accepts: + --attribute <attribute_path> + + Example usage: + ``` + ./nixpkgs_github_update --attribute "notes-up" + ``` + """ + alias NixpkgsGitHubUpdate.{Nix, GitHubLatestVersion} + + def help do + IO.puts(""" + Run updates on Nix Expressions that use fetchFromGitHub. + + Arguments the script accepts: + --attribute <attribute_path> + + Example usage: + ./nixpkgs_github_update --attribute "notes-up" + """) + end + + def main([]) do + help() + end + + def main(args) do + opts = parse_args(args) + + attribute = opts[:attribute] + + case Nix.attribute_exists?(attribute) do + true -> update(attribute) + _ -> exit("Requested attribute doesn't exist.") + end + end + + def parse_args(args) do + {options, _, _} = + args + |> OptionParser.parse(strict: [attribute: :string]) + + options + end + + def update(attribute) do + version = + Nix.get_owner_repo(attribute) + |> GitHubLatestVersion.fetch() + |> decode_response() + |> construct_version() + + Nix.update_source_version(attribute, version) + end + + def decode_response({:ok, response}), do: response + + def decode_response({:error, error}) do + IO.puts("Error getting latest release from GitHub: #{error["message"]}") + System.halt(2) + end + + def construct_version(response) do + Map.get(response, "tag_name") + |> String.trim_leading("v") + end +end diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex b/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex new file mode 100644 index 00000000000..bd4bb8100ba --- /dev/null +++ b/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/github_latest_version.ex @@ -0,0 +1,42 @@ +defmodule NixpkgsGitHubUpdate.GitHubLatestVersion do + @user_agent 'httpc' + + def fetch({owner, repo}) do + endpoint = releases_endpoint(owner, repo) + headers = construct_headers() + + :httpc.request(:get, {endpoint, headers}, [], []) + |> handle_response + end + + def releases_endpoint(owner, repo) do + 'https://api.github.com/repos/#{owner}/#{repo}/releases/latest' + end + + def construct_headers do + headers = %{'User-Agent' => @user_agent} + + put_token(headers, get_token()) + |> Map.to_list + end + + defp get_token do + String.to_charlist("#{System.get_env("OAUTH_TOKEN")}") + end + + defp put_token(headers, token) when is_binary(token) do + Map.put_new(headers, 'Authorization', 'token #{token}') + end + + defp put_token(headers, _), do: headers + + def handle_response({_, {{_httpv, status_code, _}, _headers, response}}) do + { + status_code |> check_for_error(), + response |> Poison.Parser.parse!(%{}) + } + end + + defp check_for_error(200), do: :ok + defp check_for_error(_), do: :error +end diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/nix.ex b/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/nix.ex new file mode 100644 index 00000000000..d5d9af84a6b --- /dev/null +++ b/pkgs/desktops/pantheon/nixpkgs_github_update/lib/nixpkgs_github_update/nix.ex @@ -0,0 +1,85 @@ +defmodule NixpkgsGitHubUpdate.Nix do + def executable do + nix = System.find_executable("nix") + + if nix == nil do + raise RuntimeError, message: "missing executable for 'nix'" + end + + nix + end + + def eval!(attribute) do + System.cmd( + executable(), + [ + "eval", + "--json", + attribute + ], + stderr_to_stdout: true + ) + |> handle_eval + end + + defp handle_eval({eval_result, 0}) do + case eval_result do + "" -> eval_result + _ -> Poison.Parser.parse!(eval_result, %{}) + end + end + + defp handle_eval({eval_result, _}) do + raise RuntimeError, message: "Error running nix eval: #{eval_result}" + end + + def attribute_exists?(attribute) do + attr_exist_expression = """ + with import <nixpkgs> {}; + + let + attrSet = pkgs.lib.attrByPath (pkgs.lib.splitString "." "#{attribute}") null pkgs; + in + if attrSet == null then false + else true + """ + + eval!("(#{attr_exist_expression})") + end + + def update_source_version(attribute, version) do + System.cmd("update-source-version", [ + attribute, + version + ]) + end + + def get_url_attr(attribute) do + case attribute_exists?("#{attribute}.src.fetchSubmodules") do + true -> "url" + false -> "urls" + end + end + + def get_owner_repo(attribute) do + url_attr = get_url_attr(attribute) + + eval!("nixpkgs.#{attribute}.src.#{url_attr}") + |> case do + # It's fetchFromGitHub if we got a list + [url | _] -> + URI.parse(url).path + |> String.split("/archive", trim: true) + |> List.first() + |> String.split("/", trim: true) + + # It's fetchgit if we got a plain string + url -> + URI.parse(url).path + |> String.split(".git", trim: true) + |> List.first() + |> String.split("/", trim: true) + end + |> List.to_tuple() + end +end diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/mix.exs b/pkgs/desktops/pantheon/nixpkgs_github_update/mix.exs new file mode 100644 index 00000000000..3498c7066a4 --- /dev/null +++ b/pkgs/desktops/pantheon/nixpkgs_github_update/mix.exs @@ -0,0 +1,28 @@ +defmodule NixpkgsGitHubUpdate.MixProject do + use Mix.Project + + def project do + [ + app: :nixpkgs_github_update, + version: "0.1.0", + elixir: "~> 1.9", + escript: [main_module: NixpkgsGitHubUpdate.CLI], + start_permanent: Mix.env() == :prod, + deps: deps() + ] + end + + # Run "mix help compile.app" to learn about applications. + def application do + [ + extra_applications: [:logger, :inets, :ssl] + ] + end + + # Run "mix help deps" to learn about dependencies. + defp deps do + [ + {:poison, "~> 4.0.1"} + ] + end +end diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/shell.nix b/pkgs/desktops/pantheon/nixpkgs_github_update/shell.nix new file mode 100644 index 00000000000..0bb4e58a6a1 --- /dev/null +++ b/pkgs/desktops/pantheon/nixpkgs_github_update/shell.nix @@ -0,0 +1,19 @@ +with import <nixpkgs> {}; + +let + inherit (lib) optional; +in + +mkShell rec { + name = "nixpkgs-github-update-shell"; + + buildInputs = [ + elixir + erlang + common-updater-scripts + ] + ++ optional stdenv.isLinux libnotify # For ExUnit Notifier on Linux. + ++ optional stdenv.isLinux inotify-tools # For file_system on Linux. + ; + +} diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/test/nix_test.exs b/pkgs/desktops/pantheon/nixpkgs_github_update/test/nix_test.exs new file mode 100644 index 00000000000..c5a57698fed --- /dev/null +++ b/pkgs/desktops/pantheon/nixpkgs_github_update/test/nix_test.exs @@ -0,0 +1,49 @@ +defmodule NixTest do + @fake_package "asanotehhhuh" + @fetchgit_package "polybar" + @fetchgithub_package "notes-up" + + use ExUnit.Case + + import NixpkgsGitHubUpdate.Nix + + def check_for_nix(_context) do + try do + executable() + rescue + RuntimeError -> + IO.puts("You need Nix installed to run these tests.") + System.halt(127) + end + + :ok + end + + setup_all :check_for_nix + + describe "evaluation tests" do + test "evaluation handling" do + exists_attr = "nixpkgs.#{@fetchgithub_package}" + + assert is_binary(eval!(exists_attr)) == true + catch_error(eval!(@fake_package) == 1) + end + + # This should always be true or false + test "package exists?" do + assert attribute_exists?(@fetchgithub_package) == true + assert attribute_exists?(@fake_package) == false + end + end + + test "owner repo" do + assert get_url_attr(@fetchgit_package) == "url" + assert get_url_attr(@fetchgithub_package) == "urls" + + assert get_owner_repo(@fetchgit_package) == + {@fetchgit_package, @fetchgit_package} + + assert get_owner_repo(@fetchgithub_package) == + {"Philip-Scott", String.capitalize(@fetchgithub_package)} + end +end diff --git a/pkgs/desktops/pantheon/nixpkgs_github_update/test/test_helper.exs b/pkgs/desktops/pantheon/nixpkgs_github_update/test/test_helper.exs new file mode 100644 index 00000000000..869559e709e --- /dev/null +++ b/pkgs/desktops/pantheon/nixpkgs_github_update/test/test_helper.exs @@ -0,0 +1 @@ +ExUnit.start() diff --git a/pkgs/desktops/pantheon/services/cerbere/default.nix b/pkgs/desktops/pantheon/services/cerbere/default.nix index a8eaf766664..a911440fa5d 100644 --- a/pkgs/desktops/pantheon/services/cerbere/default.nix +++ b/pkgs/desktops/pantheon/services/cerbere/default.nix @@ -24,7 +24,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/services/contractor/default.nix b/pkgs/desktops/pantheon/services/contractor/default.nix index b10e97f77d7..68532bdd812 100644 --- a/pkgs/desktops/pantheon/services/contractor/default.nix +++ b/pkgs/desktops/pantheon/services/contractor/default.nix @@ -26,7 +26,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; @@ -50,7 +50,7 @@ stdenv.mkDerivation rec { meta = with stdenv.lib; { description = "A desktop-wide extension service used by elementary OS"; - homepage = https://github.com/elementarycontractor; + homepage = "https://github.com/elementary/contractor"; license = licenses.gpl3Plus; platforms = platforms.linux; maintainers = pantheon.maintainers; diff --git a/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix index 6305c872b2f..d41750f8dfc 100644 --- a/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix +++ b/pkgs/desktops/pantheon/services/elementary-capnet-assist/default.nix @@ -17,7 +17,7 @@ stdenv.mkDerivation rec { pname = "elementary-capnet-assist"; - version = "2.2.3"; + version = "2.2.4"; repoName = "capnet-assist"; @@ -25,13 +25,12 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "15cnwimkmmsb4rwvgm8bizcsn1krsj6k3qc88izn79is75y6wwji"; + sha256 = "0yz827gs1qv6csgv4v993rjmqzc6dbymbvznsy45ghlh19l4l7j1"; }; passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix b/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix index fb9d28eaf6b..4ec1df36bea 100644 --- a/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix +++ b/pkgs/desktops/pantheon/services/elementary-dpms-helper/default.nix @@ -25,8 +25,7 @@ stdenv.mkDerivation rec { passthru = { updateScript = pantheon.updateScript { - inherit repoName; - attrPath = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix b/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix index 8afbbbeed82..0f919c7c94d 100644 --- a/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix +++ b/pkgs/desktops/pantheon/services/pantheon-agent-geoclue2/default.nix @@ -15,18 +15,18 @@ stdenv.mkDerivation rec { pname = "pantheon-agent-geoclue2"; - version = "1.0.2"; + version = "1.0.3"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1hjnbbzsch09090b200b3i85x8fv95agfqd6nrlc9za3jqjhm2xs"; + sha256 = "1fhgdcykn0ykn8fp7inn2akygpglhdwfpdkpnih86kqmqj8siahv"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; diff --git a/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix b/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix index 53a65ddb947..f244e0e4637 100644 --- a/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix +++ b/pkgs/desktops/pantheon/services/pantheon-agent-polkit/default.nix @@ -7,24 +7,25 @@ , vala , gtk3 , libgee +, granite , polkit , wrapGAppsHook }: stdenv.mkDerivation rec { pname = "pantheon-agent-polkit"; - version = "0.1.6"; + version = "1.0.0"; src = fetchFromGitHub { owner = "elementary"; repo = pname; rev = version; - sha256 = "1g9l2jzpvv0dbvxh93w98a7ijsfqv3s3382li4s256179gihhd67"; + sha256 = "1yybblprcn0cgcf9j76yckqcimm4h8l41cczxjvgp789p1pki3bn"; }; passthru = { updateScript = pantheon.updateScript { - repoName = pname; + attrPath = "pantheon.${pname}"; }; }; @@ -37,6 +38,7 @@ stdenv.mkDerivation rec { ]; buildInputs = [ + granite gtk3 libgee polkit diff --git a/pkgs/desktops/pantheon/update.nix b/pkgs/desktops/pantheon/update.nix index 3bc432c5d32..1137c533016 100644 --- a/pkgs/desktops/pantheon/update.nix +++ b/pkgs/desktops/pantheon/update.nix @@ -1,36 +1,6 @@ -{ runCommand -, nix -, bash -, git -, jq -, nix-prefetch-scripts -, coreutils -, common-updater-scripts -, gnugrep -, gnused -, curl -}: +{ nixpkgs-github-update }: -{ repoName -, attrPath ? repoName -, versionPolicy ? "release" -}: +{ attrPath }: -let - script = ./update.sh; - updateScript = runCommand "update.sh" { - inherit bash git jq nix coreutils gnugrep gnused curl; - # These weren't being substituted - nix_prefetch_scripts = nix-prefetch-scripts; - common_updater_scripts = common-updater-scripts; - } '' - substituteAll ${script} $out - chmod +x $out - ''; - - throwFlag = throw "${versionPolicy} is not a valid versionPolicy - Options are either 'release' or 'master' (defaults to release)."; - - versionFlag = { release = "-r"; master = "-m"; }.${versionPolicy} or throwFlag; - -in [ updateScript versionFlag repoName attrPath ] +[ "${nixpkgs-github-update}/bin/nixpkgs_github_update" "--attribute" attrPath ] diff --git a/pkgs/desktops/pantheon/update.sh b/pkgs/desktops/pantheon/update.sh deleted file mode 100755 index 8d002fe47c2..00000000000 --- a/pkgs/desktops/pantheon/update.sh +++ /dev/null @@ -1,217 +0,0 @@ -#!@bash@/bin/bash -PATH=@bash@/bin:@nix_prefetch_scripts@/bin:@common_updater_scripts@/bin:@git@/bin:@jq@/bin:@nix@/bin:@gnugrep@/bin:@gnused@/bin:@curl@/bin:$PATH -#!/usr/bin/env bash - -set -eu -o pipefail - -# -# ─── HOW TO USE ───────────────────────────────────────────────────────────────── -# - -function usage ( ) { - cat <<EOF -Usage: update.sh <repo_name> <attr> -EOF -} - -# -# ─── POINTS YOU IN THE RIGHT DIRECTION ────────────────────────────────────────── -# - - function usage_tip ( ) { - echo 'run `update.sh -h` for usage instructions' >&2 - exit 1 - } - -# -# ─── OPTIONS: RELEASE | MASTER ──────────────────────────────────────────────────── -# - - while getopts ":hrm" opt; do - case $opt in - r) - release=1 - master=0 - ;; - m) - master=1 - release=0 - ;; - h) - usage - exit - ;; - ?) - echo "Invalid option: -$OPTARG" >&2 - usage_tip - ;; - esac - done - - shift $((OPTIND-1)) - -# -# ─── FAIL WITH MESSAGE AND NON-ZERO EXIT STATUS ───────────────────────────────── -# - - function fail ( ) { - echo "$1" >&2 - exit 1 - } - -# -# ─── UPDATES PACKAGE TO LATEST TAGGED RELEASE ─────────────────────────────── -# - - function update_to_latest_release ( ) { - repo_name="$1" - attr="$2" - - version=$(get_latest_tag "$repo_name") - fetch=$(fetch "$repo_name" "refs/tags/${version}") - sha256=$(get_hash "${fetch}") - - update-source-version "pantheon.$attr" "$version" "$sha256" - - nix_file=$(get_file_path $attr) - - if [ ! -f "$nix_file" ]; then - fail "Couldn't evaluate 'pantheon.$attr.meta.position' to locate the .nix file!" - fi - - correct_rev "$attr" "$nix_file" "version" - } - -# -# ─── UPDATES PACKAGE TO MASTER ────────────────────────────────────────────────── -# - - function update_to_master ( ) { - repo_name="$1" - attr="$2" - - fetch=$(fetch "$repo_name" "refs/heads/master") - - version=$(get_version "$fetch") - sha256=$(get_hash "$fetch") - proper_version=$(get_master_date "$fetch") - - update-source-version "pantheon.$attr" "$proper_version" "$sha256" - - nix_file=$(get_file_path $attr) - - if [ ! -f "$nix_file" ]; then - fail "Couldn't evaluate 'pantheon.$attr.meta.position' to locate the .nix file!" - fi - - correct_rev "$attr" "$nix_file" '"'$version'"' - } - -# -# ─── GETS THE LATEST TAGGED RELEASE NAME FROM GITHUB ───────────────────── -# - - function get_latest_tag ( ) { - repo_name="$1" - - curl --silent --show-error --fail -X GET "https://api.github.com/repos/elementary/$repo_name/releases/latest" | jq -r '.tag_name' - } - -# -# ─── FETCHES REPO AND RETURNS RELEVANT INFORMATION ────────────────── -# - - function fetch ( ) { - repo_name="$1" - version="$2" - - base_url="https://github.com/elementary" - full_url="$base_url/$repo_name" - - nix-prefetch-git --quiet --no-deepClone --url "$full_url" --rev "$version" - } - -# -# ─── PARSES GIT REVISION FROM FETCH ───────────────────────────────────────────── -# - - function get_version ( ) { - fetch_info="$1" - - echo "$fetch_info" | jq -r '.rev' - } - -# -# ─── PARSES HASH FROM FETCH ───────────────────────────────────────────────────── -# - - function get_hash ( ) { - fetch_info="$1" - - echo "$fetch_info" | jq -r '.sha256' - } - -# -# ─── PARSES DATE FROM FETCH AND NORMALIZES IT TO NIXPKGS STANDARD ─────────────── -# - - function get_master_date ( ) { - fetch_info="$1" - - full_date=$(echo "$fetch_info" | jq -r '.date') - short_date=$(date -d "$full_date" +"%Y-%m-%d") - - echo "unstable-$short_date" - } - -# -# ─── RETURN NIX EXPRESSION PATH ───────────────────────────────────────────────── -# - - function get_file_path () { - attr="$1" - - nix-instantiate --eval --strict -A "pantheon.$attr.meta.position" | sed -re 's/^"(.*):[0-9]+"$/\1/' - } - -# -# ─── CORRECTS REV VERSION ─────────────────────────────────────────────────────────── -# - - function correct_rev ( ) { - attr="$1" - nix_file="$2" - rev="$3" - - check_pattern1='^\s*rev\s*=\s*"[0-9a-f]{5,40}"' - check_pattern2='^\s*rev\s*=\s*version' - - replace_pattern1='/\brev\b\s*=/ s|\"[0-9a-f]{5,40}\"|'$rev'|' - replace_pattern2='/\brev\b\s*=/ s|version|'$rev'|' - - if [ $(grep -c -P "$check_pattern1" "$nix_file") = 1 ]; then - pattern="$replace_pattern1" - elif [ $(grep -c -P "$check_pattern2" "$nix_file") = 1 ]; then - pattern="$replace_pattern2" - else - fail "Couldn't figure out where out where to patch in the correct version in pantheon.$attr!" - fi - - sed -i.bak "$nix_file" -re "$pattern" - rm -f "$nix_file.bak" - } - - -# -# ─── WHETHER TO UPDATE TO RELEASE OR MASTER ────────────────────────────────── -# - - if [ $release = 1 ]; then - update_to_latest_release $1 $2 - elif [ $master = 1 ]; then - update_to_master $1 $2 - else - exit 1 - fi - -# ──────────────────────────────────────────────────────────────────────────────── |