diff options
Diffstat (limited to 'nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs')
25 files changed, 2074 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix new file mode 100644 index 000000000000..152026e17a21 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/default.nix @@ -0,0 +1,71 @@ +{ lib +, stdenv +, substituteAll +, fetchFromGitHub +, fetchpatch +, nix-update-script +, meson +, ninja +, pkg-config +, vala +, libgee +, granite +, gtk3 +, switchboard +, wingpanel-indicator-a11y +, onboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-a11y"; + version = "2.3.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0dc5jv335j443rg08cb7p8wvmcg36wrf1vlcfg9r20cksdis9v4l"; + }; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit onboard; + }) + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-a11y/pull/79 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-a11y/commit/08db4b696128a6bf809da3403a818834fcd62b02.patch"; + sha256 = "1s13ak23bdxgcb74wdz3ql192bla5qhabdicqyjv1rp32plhkbg5"; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + switchboard + wingpanel-indicator-a11y + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + description = "Switchboard Universal Access Plug"; + homepage = "https://github.com/elementary/switchboard-plug-a11y"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/fix-paths.patch new file mode 100644 index 000000000000..4d69390f39d9 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/a11y/fix-paths.patch @@ -0,0 +1,13 @@ +diff --git a/src/Panes/Typing.vala b/src/Panes/Typing.vala +index b4ae8b0..5b8fd7e 100644 +--- a/src/Panes/Typing.vala ++++ b/src/Panes/Typing.vala +@@ -83,7 +83,7 @@ public class Accessibility.Panes.Typing : Categories.Pane { + + onboard_settings_label.clicked.connect (() => { + try { +- var appinfo = AppInfo.create_from_commandline ("onboard-settings", null, AppInfoCreateFlags.NONE); ++ var appinfo = AppInfo.create_from_commandline ("@onboard@/bin/onboard-settings", null, AppInfoCreateFlags.NONE); + appinfo.launch (null, null); + } catch (Error e) { + warning ("%s\n", e.message); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/add-wallpaper-option.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/add-wallpaper-option.patch new file mode 100644 index 000000000000..657ea7a260c9 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/add-wallpaper-option.patch @@ -0,0 +1,82 @@ +From cc47fa33893e6840463ef8d59f9f4de4b7563726 Mon Sep 17 00:00:00 2001 +From: Bobby Rong <rjl931189261@126.com> +Date: Sat, 4 Dec 2021 22:00:38 +0800 +Subject: [PATCH] Add meson option for overlaying logo on wallpaper + +--- + meson.build | 8 ++++++++ + meson_options.txt | 1 + + src/Views/OperatingSystemView.vala | 8 ++++++++ + 3 files changed, 17 insertions(+) + create mode 100644 meson_options.txt + +diff --git a/meson.build b/meson.build +index 2125de6e..cbe3cadd 100644 +--- a/meson.build ++++ b/meson.build +@@ -20,6 +20,14 @@ add_project_arguments( + vapi_dir = join_paths(meson.current_source_dir(), 'vapi') + add_project_arguments(['--vapidir', vapi_dir], language: 'vala') + ++vala_flags = [] ++ ++if get_option('wallpaper') ++ vala_flags += ['--define', 'WALLPAPER'] ++endif ++ ++add_project_arguments(vala_flags, language: 'vala') ++ + subdir('data') + subdir('src') + subdir('po') +diff --git a/meson_options.txt b/meson_options.txt +new file mode 100644 +index 00000000..8cef0bb3 +--- /dev/null ++++ b/meson_options.txt +@@ -0,0 +1 @@ ++option('wallpaper', type : 'boolean', value : true, description : 'Overlay logo on default wallpaper') +diff --git a/src/Views/OperatingSystemView.vala b/src/Views/OperatingSystemView.vala +index fdb92e7e..6110d1aa 100644 +--- a/src/Views/OperatingSystemView.vala ++++ b/src/Views/OperatingSystemView.vala +@@ -39,6 +39,7 @@ public class About.OperatingSystemView : Gtk.Grid { + logo_icon_name = "distributor-logo"; + } + ++#if WALLPAPER + var logo = new Hdy.Avatar (128, "", false) { + // In case the wallpaper can't be loaded, we don't want an icon or text + icon_name = "invalid-icon-name", +@@ -53,6 +54,7 @@ public class About.OperatingSystemView : Gtk.Grid { + } + }); + logo.get_style_context ().add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); ++#endif + + var icon = new Gtk.Image () { + icon_name = logo_icon_name + "-symbolic", +@@ -64,9 +66,11 @@ public class About.OperatingSystemView : Gtk.Grid { + icon_style_context.add_class ("logo"); + icon_style_context.add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION); + ++#if WALLPAPER + var logo_overlay = new Gtk.Overlay (); + logo_overlay.add (logo); + logo_overlay.add_overlay (icon); ++#endif + + // Intentionally not using GLib.OsInfoKey.PRETTY_NAME here because we + // want more granular control over text formatting +@@ -145,7 +149,11 @@ public class About.OperatingSystemView : Gtk.Grid { + valign = Gtk.Align.CENTER, + vexpand = true + }; ++#if WALLPAPER + software_grid.attach (logo_overlay, 0, 0, 1, 4); ++#else ++ software_grid.attach (icon, 0, 0, 1, 4); ++#endif + software_grid.attach (title, 1, 0, 3); + + software_grid.attach (kernel_version_label, 1, 2, 3); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix new file mode 100644 index 000000000000..82eece370dd8 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/about/default.nix @@ -0,0 +1,74 @@ +{ lib +, stdenv +, fetchFromGitHub +, nix-update-script +, meson +, ninja +, pkg-config +, vala +, libgee +, libgtop +, libhandy +, granite +, gtk3 +, switchboard +, fwupd +, appstream +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-about"; + version = "6.0.1"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0c075ac7iqz4hqbp2ph0cwyhiq0jn6c1g1jjfhygjbssv3vvd268"; + }; + + patches = [ + # Introduces a wallpaper meson flag. + # The wallpapaper path does not exist on NixOS, let's just remove the wallpaper. + # https://github.com/elementary/switchboard-plug-about/pull/236 + ./add-wallpaper-option.patch + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + appstream + fwupd + granite + gtk3 + libgee + libgtop + libhandy + switchboard + ]; + + mesonFlags = [ + # This option is introduced in add-wallpaper-option.patch + "-Dwallpaper=false" + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + description = "Switchboard About Plug"; + homepage = "https://github.com/elementary/switchboard-plug-about"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; + +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix new file mode 100644 index 000000000000..03fb7e9349bf --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/applications/default.nix @@ -0,0 +1,55 @@ +{ lib +, stdenv +, fetchFromGitHub +, nix-update-script +, meson +, ninja +, pkg-config +, vala +, libgee +, granite +, gtk3 +, switchboard +, flatpak +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-applications"; + version = "6.0.1"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "18izmzhqp6x5ivha9yl8gyz9adyrsylw7w5p0cwm1bndgqbi7yh5"; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + flatpak + granite + gtk3 + libgee + switchboard + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + description = "Switchboard Applications Plug"; + homepage = "https://github.com/elementary/switchboard-plug-applications"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix new file mode 100644 index 000000000000..53dc200a4345 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/bluetooth/default.nix @@ -0,0 +1,68 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, nix-update-script +, meson +, ninja +, pkg-config +, vala +, libgee +, granite +, gtk3 +, bluez +, switchboard +, wingpanel-indicator-bluetooth +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-bluetooth"; + version = "2.3.6"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0n9fhi9g0ww341bjk6lpc5ppnl7qj9b3d63j9a7iqnap57bgks9y"; + }; + + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-bluetooth/pull/182 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-bluetooth/commit/031dd5660b4bcb0bb4e82ebe6d8bcdaa1791c385.patch"; + sha256 = "1g01ad6md7pqp1fx00avbra8yfnr8ipg8y6zhfg35fgjakj4aags"; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + bluez + granite + gtk3 + libgee + switchboard + wingpanel-indicator-bluetooth # settings schema + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + description = "Switchboard Bluetooth Plug"; + homepage = "https://github.com/elementary/switchboard-plug-bluetooth"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; + +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix new file mode 100644 index 000000000000..71bbda8edb17 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/default.nix @@ -0,0 +1,71 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, nix-update-script +, meson +, ninja +, substituteAll +, pkg-config +, vala +, libgee +, granite +, gtk3 +, libxml2 +, switchboard +, tzdata +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-datetime"; + version = "2.2.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "10rqhxsqbl1xnz5n84d7m39c3vb71k153989xvyc55djia1wjx96"; + }; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + tzdata = tzdata; + }) + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-datetime/pull/100 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-datetime/commit/a90639ed4f185f50d4ae448cd9503203dc24b3f4.patch"; + sha256 = "0dz0s02ccnds62dqil44k652pc5icka2rfhcx0a5bj1wi5sifnp7"; + }) + ]; + + nativeBuildInputs = [ + libxml2 + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + switchboard + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + description = "Switchboard Date & Time Plug"; + homepage = "https://github.com/elementary/switchboard-plug-datetime"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/fix-paths.patch new file mode 100644 index 000000000000..784ea9daa0b7 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/datetime/fix-paths.patch @@ -0,0 +1,15 @@ +diff --git a/src/Parser.vala b/src/Parser.vala +index 7c7b82d..2c3a061 100644 +--- a/src/Parser.vala ++++ b/src/Parser.vala +@@ -28,9 +28,9 @@ public class DateTime.Parser : GLib.Object { + return parser; + } + private Parser () { +- var file = File.new_for_path ("/usr/share/zoneinfo/zone.tab"); ++ var file = File.new_for_path ("@tzdata@/share/zoneinfo/zone.tab"); + if (!file.query_exists ()) { +- critical ("/usr/share/zoneinfo/zone.tab doesn't exist !"); ++ critical ("@tzdata@/share/zoneinfo/zone.tab doesn't exist !"); + return; + } diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix new file mode 100644 index 000000000000..4a7ce6f6d46d --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/display/default.nix @@ -0,0 +1,55 @@ +{ lib +, stdenv +, fetchFromGitHub +, nix-update-script +, meson +, ninja +, pkg-config +, vala +, libgee +, libhandy +, granite +, gtk3 +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-display"; + version = "2.3.2"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "sha256-3sYZCazGnTjIi3Iry5673TMI13sD0GuY+46AK+NJH70="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + libhandy + switchboard + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + description = "Switchboard Displays Plug"; + homepage = "https://github.com/elementary/switchboard-plug-display"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/0001-Remove-Install-Unlisted-Engines-function.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/0001-Remove-Install-Unlisted-Engines-function.patch new file mode 100644 index 000000000000..550aefbb1f10 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/0001-Remove-Install-Unlisted-Engines-function.patch @@ -0,0 +1,698 @@ +From f23363ad2fa402d59b41ffe2c13a46462c6d2194 Mon Sep 17 00:00:00 2001 +From: Bobby Rong <rjl931189261@126.com> +Date: Fri, 16 Jul 2021 23:28:56 +0800 +Subject: [PATCH] Remove Install Unlisted Engines function + +https://github.com/elementary/switchboard-plug-keyboard/issues/324 + +Co-Authored-By: WORLDofPEACE <worldofpeace@protonmail.ch> + +--- + src/Dialogs/InstallEngineDialog.vala | 140 ----------------- + src/Dialogs/ProgressDialog.vala | 82 ---------- + src/InputMethod/Installer/InstallList.vala | 73 --------- + .../Installer/UbuntuInstaller.vala | 142 ------------------ + src/InputMethod/Installer/aptd-client.vala | 93 ------------ + .../InputMethod/AddEnginesPopover.vala | 12 -- + src/Widgets/InputMethod/LanguagesRow.vala | 43 ------ + src/meson.build | 6 - + 8 files changed, 591 deletions(-) + delete mode 100644 src/Dialogs/InstallEngineDialog.vala + delete mode 100644 src/Dialogs/ProgressDialog.vala + delete mode 100644 src/InputMethod/Installer/InstallList.vala + delete mode 100644 src/InputMethod/Installer/UbuntuInstaller.vala + delete mode 100644 src/InputMethod/Installer/aptd-client.vala + delete mode 100644 src/Widgets/InputMethod/LanguagesRow.vala + +diff --git a/src/Dialogs/InstallEngineDialog.vala b/src/Dialogs/InstallEngineDialog.vala +deleted file mode 100644 +index ffba3a8..0000000 +--- a/src/Dialogs/InstallEngineDialog.vala ++++ /dev/null +@@ -1,140 +0,0 @@ +-/* +-* Copyright 2019-2020 elementary, Inc. (https://elementary.io) +-* +-* This program is free software: you can redistribute it and/or modify +-* it under the terms of the GNU General Public License as published by +-* the Free Software Foundation, either version 3 of the License, or +-* (at your option) any later version. +-* +-* This program is distributed in the hope that it will be useful, +-* but WITHOUT ANY WARRANTY; without even the implied warranty of +-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-* GNU General Public License for more details. +-* +-* You should have received a copy of the GNU General Public License +-* along with this program. If not, see <https://www.gnu.org/licenses/>. +-*/ +- +-public class Pantheon.Keyboard.InputMethodPage.InstallEngineDialog : Granite.MessageDialog { +- private InstallList? engines_filter; +- +- public InstallEngineDialog (Gtk.Window parent) { +- Object ( +- primary_text: _("Choose an engine to install"), +- secondary_text: _("Select an engine from the list to install and use."), +- image_icon: new ThemedIcon ("extension"), +- transient_for: parent, +- buttons: Gtk.ButtonsType.CANCEL +- ); +- } +- +- construct { +- var languages_list = new Gtk.ListBox () { +- activate_on_single_click = true, +- expand = true, +- selection_mode = Gtk.SelectionMode.NONE +- }; +- +- foreach (var language in InstallList.get_all ()) { +- var lang = new LanguagesRow (language); +- languages_list.add (lang); +- } +- +- var back_button = new Gtk.Button.with_label (_("Languages")) { +- halign = Gtk.Align.START, +- margin = 6 +- }; +- back_button.get_style_context ().add_class (Granite.STYLE_CLASS_BACK_BUTTON); +- +- var language_title = new Gtk.Label (""); +- +- var language_header = new Gtk.Box (Gtk.Orientation.HORIZONTAL, 6); +- language_header.pack_start (back_button); +- language_header.set_center_widget (language_title); +- +- var listbox = new Gtk.ListBox () { +- expand = true +- }; +- listbox.set_filter_func (filter_function); +- listbox.set_sort_func (sort_function); +- +- foreach (var language in InstallList.get_all ()) { +- foreach (var engine in language.get_components ()) { +- listbox.add (new EnginesRow (engine)); +- } +- } +- +- var scrolled = new Gtk.ScrolledWindow (null, null); +- scrolled.add (listbox); +- +- var engine_list_grid = new Gtk.Grid () { +- orientation = Gtk.Orientation.VERTICAL +- }; +- engine_list_grid.get_style_context ().add_class (Gtk.STYLE_CLASS_VIEW); +- engine_list_grid.add (language_header); +- engine_list_grid.add (new Gtk.Separator (Gtk.Orientation.HORIZONTAL)); +- engine_list_grid.add (scrolled); +- +- var stack = new Gtk.Stack () { +- height_request = 200, +- width_request = 300, +- transition_type = Gtk.StackTransitionType.SLIDE_LEFT_RIGHT +- }; +- stack.add (languages_list); +- stack.add (engine_list_grid); +- +- var frame = new Gtk.Frame (null); +- frame.add (stack); +- +- custom_bin.add (frame); +- custom_bin.show_all (); +- +- var install_button = add_button (_("Install"), Gtk.ResponseType.OK); +- install_button.sensitive = false; +- install_button.get_style_context ().add_class (Gtk.STYLE_CLASS_SUGGESTED_ACTION); +- +- languages_list.row_activated.connect ((row) => { +- stack.visible_child = engine_list_grid; +- language_title.label = ((LanguagesRow) row).language.get_name (); +- engines_filter = ((LanguagesRow) row).language; +- listbox.invalidate_filter (); +- var adjustment = scrolled.get_vadjustment (); +- adjustment.set_value (adjustment.lower); +- }); +- +- back_button.clicked.connect (() => { +- stack.visible_child = languages_list; +- install_button.sensitive = false; +- }); +- +- listbox.selected_rows_changed.connect (() => { +- foreach (var engines_row in listbox.get_children ()) { +- ((EnginesRow) engines_row).selected = false; +- } +- +- ((EnginesRow) listbox.get_selected_row ()).selected = true; +- install_button.sensitive = true; +- }); +- +- response.connect ((response_id) => { +- if (response_id == Gtk.ResponseType.OK) { +- string engine_to_install = ((EnginesRow) listbox.get_selected_row ()).engine_name; +- UbuntuInstaller.get_default ().install (engine_to_install); +- } +- }); +- } +- +- [CCode (instance_pos = -1)] +- private bool filter_function (Gtk.ListBoxRow row) { +- if (InstallList.get_language_from_engine_name (((EnginesRow) row).engine_name) == engines_filter) { +- return true; +- } +- +- return false; +- } +- +- [CCode (instance_pos = -1)] +- private int sort_function (Gtk.ListBoxRow row1, Gtk.ListBoxRow row2) { +- return ((EnginesRow) row1).engine_name.collate (((EnginesRow) row1).engine_name); +- } +-} +diff --git a/src/Dialogs/ProgressDialog.vala b/src/Dialogs/ProgressDialog.vala +deleted file mode 100644 +index 868f167..0000000 +--- a/src/Dialogs/ProgressDialog.vala ++++ /dev/null +@@ -1,82 +0,0 @@ +-/* +-* Copyright 2011-2020 elementary, Inc. (https://elementary.io) +-* +-* This program is free software: you can redistribute it +-* and/or modify it under the terms of the GNU Lesser General Public License as +-* published by the Free Software Foundation, either version 3 of the +-* License, or (at your option) any later version. +-* +-* This program is distributed in the hope that it will be +-* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +-* Public License for more details. +-* +-* You should have received a copy of the GNU General Public License along +-* with this program. If not, see http://www.gnu.org/licenses/. +-*/ +- +-public class Pantheon.Keyboard.InputMethodPage.ProgressDialog : Granite.Dialog { +- public int progress { +- set { +- if (value >= 100) { +- destroy (); +- } +- +- progress_bar.fraction = value / 100.0; +- } +- } +- +- private Gtk.ProgressBar progress_bar; +- +- construct { +- var image = new Gtk.Image.from_icon_name ("preferences-desktop-locale", Gtk.IconSize.DIALOG) { +- valign = Gtk.Align.START +- }; +- +- var primary_label = new Gtk.Label (null) { +- max_width_chars = 50, +- wrap = true, +- xalign = 0 +- }; +- primary_label.get_style_context ().add_class (Granite.STYLE_CLASS_PRIMARY_LABEL); +- +- unowned UbuntuInstaller installer = UbuntuInstaller.get_default (); +- switch (installer.transaction_mode) { +- case UbuntuInstaller.TransactionMode.INSTALL: +- primary_label.label = _("Installing %s").printf (installer.engine_to_address); +- break; +- case UbuntuInstaller.TransactionMode.REMOVE: +- primary_label.label = _("Removing %s").printf (installer.engine_to_address); +- break; +- } +- +- progress_bar = new Gtk.ProgressBar () { +- hexpand = true, +- valign = Gtk.Align.START, +- width_request = 300 +- }; +- +- var cancel_button = (Gtk.Button) add_button (_("Cancel"), 0); +- +- installer.bind_property ("install-cancellable", cancel_button, "sensitive"); +- +- var grid = new Gtk.Grid () { +- column_spacing = 12, +- margin = 6, +- row_spacing = 6 +- }; +- grid.attach (image, 0, 0, 1, 2); +- grid.attach (primary_label, 1, 0); +- grid.attach (progress_bar, 1, 1); +- grid.show_all (); +- +- border_width = 6; +- deletable = false; +- get_content_area ().add (grid); +- +- cancel_button.clicked.connect (() => { +- installer.cancel_install (); +- destroy (); +- }); +- } +-} +diff --git a/src/InputMethod/Installer/InstallList.vala b/src/InputMethod/Installer/InstallList.vala +deleted file mode 100644 +index 275c302..0000000 +--- a/src/InputMethod/Installer/InstallList.vala ++++ /dev/null +@@ -1,73 +0,0 @@ +-/* +-* 2019-2020 elementary, Inc. (https://elementary.io) +-* +-* This program is free software: you can redistribute it and/or modify +-* it under the terms of the GNU General Public License as published by +-* the Free Software Foundation, either version 3 of the License, or +-* (at your option) any later version. +-* +-* This program is distributed in the hope that it will be useful, +-* but WITHOUT ANY WARRANTY; without even the implied warranty of +-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-* GNU General Public License for more details. +-* +-* You should have received a copy of the GNU General Public License +-* along with this program. If not, see <https://www.gnu.org/licenses/>. +-*/ +- +-public enum Pantheon.Keyboard.InputMethodPage.InstallList { +- JA, +- KO, +- ZH; +- +- public string get_name () { +- switch (this) { +- case JA: +- return _("Japanese"); +- case KO: +- return _("Korean"); +- case ZH: +- return _("Chinese"); +- default: +- assert_not_reached (); +- } +- } +- +- public string[] get_components () { +- switch (this) { +- case JA: +- return { "ibus-anthy", "ibus-mozc", "ibus-skk" }; +- case KO: +- return { "ibus-hangul" }; +- case ZH: +- return { "ibus-cangjie", "ibus-chewing", "ibus-pinyin" }; +- default: +- assert_not_reached (); +- } +- } +- +- public static InstallList get_language_from_engine_name (string engine_name) { +- switch (engine_name) { +- case "ibus-anthy": +- return JA; +- case "ibus-mozc": +- return JA; +- case "ibus-skk": +- return JA; +- case "ibus-hangul": +- return KO; +- case "ibus-cangjie": +- return ZH; +- case "ibus-chewing": +- return ZH; +- case "ibus-pinyin": +- return ZH; +- default: +- assert_not_reached (); +- } +- } +- +- public static InstallList[] get_all () { +- return { JA, KO, ZH }; +- } +-} +diff --git a/src/InputMethod/Installer/UbuntuInstaller.vala b/src/InputMethod/Installer/UbuntuInstaller.vala +deleted file mode 100644 +index b65aa1f..0000000 +--- a/src/InputMethod/Installer/UbuntuInstaller.vala ++++ /dev/null +@@ -1,142 +0,0 @@ +-/* +-* Copyright 2011-2020 elementary, Inc. (https://elementary.io) +-* +-* This program is free software: you can redistribute it +-* and/or modify it under the terms of the GNU Lesser General Public License as +-* published by the Free Software Foundation, either version 3 of the +-* License, or (at your option) any later version. +-* +-* This program is distributed in the hope that it will be +-* useful, but WITHOUT ANY WARRANTY; without even the implied warranty of +-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General +-* Public License for more details. +-* +-* You should have received a copy of the GNU General Public License along +-* with this program. If not, see http://www.gnu.org/licenses/. +-*/ +- +-public class Pantheon.Keyboard.InputMethodPage.UbuntuInstaller : Object { +- private AptdProxy aptd; +- private AptdTransactionProxy proxy; +- +- public bool install_cancellable { get; private set; } +- public TransactionMode transaction_mode { get; private set; } +- public string engine_to_address { get; private set; } +- +- public signal void install_finished (string langcode); +- public signal void install_failed (); +- public signal void remove_finished (string langcode); +- public signal void progress_changed (int progress); +- +- public enum TransactionMode { +- INSTALL, +- REMOVE, +- INSTALL_MISSING, +- } +- +- Gee.HashMap<string, string> transactions; +- +- private static GLib.Once<UbuntuInstaller> instance; +- public static unowned UbuntuInstaller get_default () { +- return instance.once (() => { +- return new UbuntuInstaller (); +- }); +- } +- +- private UbuntuInstaller () {} +- +- construct { +- transactions = new Gee.HashMap<string, string> (); +- aptd = new AptdProxy (); +- +- try { +- aptd.connect_to_aptd (); +- } catch (Error e) { +- warning ("Could not connect to APT daemon"); +- } +- } +- +- public void install (string engine_name) { +- transaction_mode = TransactionMode.INSTALL; +- engine_to_address = engine_name; +- string[] packages = {}; +- packages += engine_to_address; +- +- foreach (var packet in packages) { +- message ("Packet: %s", packet); +- } +- +- aptd.install_packages.begin (packages, (obj, res) => { +- try { +- var transaction_id = aptd.install_packages.end (res); +- transactions.@set (transaction_id, "i-" + engine_name); +- run_transaction (transaction_id); +- } catch (Error e) { +- warning ("Could not queue downloads: %s", e.message); +- } +- }); +- } +- +- public void cancel_install () { +- if (install_cancellable) { +- warning ("cancel_install"); +- try { +- proxy.cancel (); +- } catch (Error e) { +- warning ("cannot cancel installation:%s", e.message); +- } +- } +- } +- +- private void run_transaction (string transaction_id) { +- proxy = new AptdTransactionProxy (); +- proxy.finished.connect (() => { +- on_apt_finshed (transaction_id, true); +- }); +- +- proxy.property_changed.connect ((prop, val) => { +- if (prop == "Progress") { +- progress_changed ((int) val.get_int32 ()); +- } +- +- if (prop == "Cancellable") { +- install_cancellable = val.get_boolean (); +- } +- }); +- +- try { +- proxy.connect_to_aptd (transaction_id); +- proxy.simulate (); +- +- proxy.run (); +- } catch (Error e) { +- on_apt_finshed (transaction_id, false); +- warning ("Could no run transaction: %s", e.message); +- } +- } +- +- private void on_apt_finshed (string id, bool success) { +- if (!success) { +- install_failed (); +- transactions.unset (id); +- return; +- } +- +- if (!transactions.has_key (id)) { //transaction already removed +- return; +- } +- +- var action = transactions.get (id); +- var lang = action[2:action.length]; +- +- message ("ID %s -> %s", id, success ? "success" : "failed"); +- +- if (action[0:1] == "i") { // install +- install_finished (lang); +- } else { +- remove_finished (lang); +- } +- +- transactions.unset (id); +- } +-} +diff --git a/src/InputMethod/Installer/aptd-client.vala b/src/InputMethod/Installer/aptd-client.vala +deleted file mode 100644 +index ee5c3f5..0000000 +--- a/src/InputMethod/Installer/aptd-client.vala ++++ /dev/null +@@ -1,93 +0,0 @@ +-/* +- * Copyright (C) 2012 Canonical Ltd +- * +- * This program is free software: you can redistribute it and/or modify +- * it under the terms of the GNU General Public License version 3 as +- * published by the Free Software Foundation. +- * +- * This program is distributed in the hope that it will be useful, +- * but WITHOUT ANY WARRANTY; without even the implied warranty of +- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +- * GNU General Public License for more details. +- * +- * You should have received a copy of the GNU General Public License +- * along with this program. If not, see <http://www.gnu.org/licenses/>. +- * +- * Authored by Pawel Stolowski <pawel.stolowski@canonical.com> +- */ +- +-namespace Pantheon.Keyboard.InputMethodPage { +- private const string APTD_DBUS_NAME = "org.debian.apt"; +- private const string APTD_DBUS_PATH = "/org/debian/apt"; +- +- /** +- * Expose a subset of org.debian.apt interfaces -- only what's needed by applications lens. +- */ +- [DBus (name = "org.debian.apt")] +- public interface AptdService : GLib.Object { +- public abstract async string install_packages (string[] packages) throws GLib.Error; +- public abstract async string remove_packages (string[] packages) throws GLib.Error; +- public abstract async void quit () throws GLib.Error; +- } +- +- [DBus (name = "org.debian.apt.transaction")] +- public interface AptdTransactionService : GLib.Object { +- public abstract void run () throws GLib.Error; +- public abstract void simulate () throws GLib.Error; +- public abstract void cancel () throws GLib.Error; +- public signal void finished (string exit_state); +- public signal void property_changed (string property, Variant val); +- } +- +- public class AptdProxy : GLib.Object { +- private AptdService _aptd_service; +- +- public void connect_to_aptd () throws GLib.Error { +- _aptd_service = Bus.get_proxy_sync (BusType.SYSTEM, APTD_DBUS_NAME, APTD_DBUS_PATH); +- } +- +- public async string install_packages (string[] packages) throws GLib.Error { +- string res = yield _aptd_service.install_packages (packages); +- return res; +- } +- +- public async string remove_packages (string[] packages) throws GLib.Error { +- string res = yield _aptd_service.remove_packages (packages); +- return res; +- } +- +- public async void quit () throws GLib.Error { +- yield _aptd_service.quit (); +- } +- } +- +- public class AptdTransactionProxy : GLib.Object { +- public signal void finished (string transaction_id); +- public signal void property_changed (string property, Variant variant); +- +- private AptdTransactionService _aptd_service; +- +- public void connect_to_aptd (string transaction_id) throws GLib.Error { +- _aptd_service = Bus.get_proxy_sync (BusType.SYSTEM, APTD_DBUS_NAME, transaction_id); +- _aptd_service.finished.connect ((exit_state) => { +- debug ("aptd transaction finished: %s\n", exit_state); +- finished (transaction_id); +- }); +- _aptd_service.property_changed.connect ((prop, variant) => { +- property_changed (prop, variant); +- }); +- } +- +- public void simulate () throws GLib.Error { +- _aptd_service.simulate (); +- } +- +- public void run () throws GLib.Error { +- _aptd_service.run (); +- } +- +- public void cancel () throws GLib.Error { +- _aptd_service.cancel (); +- } +- } +-} +diff --git a/src/Widgets/InputMethod/AddEnginesPopover.vala b/src/Widgets/InputMethod/AddEnginesPopover.vala +index 110bc1d..8a03ca8 100644 +--- a/src/Widgets/InputMethod/AddEnginesPopover.vala ++++ b/src/Widgets/InputMethod/AddEnginesPopover.vala +@@ -43,8 +43,6 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover { + }; + scrolled.add (listbox); + +- var install_button = new Gtk.Button.with_label (_("Install Unlisted Engines…")); +- + var cancel_button = new Gtk.Button.with_label (_("Cancel")); + + var add_button = new Gtk.Button.with_label (_("Add Engine")); +@@ -55,10 +53,8 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover { + margin = 12, + spacing = 6 + }; +- button_box.add (install_button); + button_box.add (cancel_button); + button_box.add (add_button); +- button_box.set_child_secondary (install_button, true); + + var grid = new Gtk.Grid (); + grid.attach (search_entry, 0, 0); +@@ -88,14 +84,6 @@ public class Pantheon.Keyboard.InputMethodPage.AddEnginesPopover : Gtk.Popover { + listbox.invalidate_filter (); + }); + +- install_button.clicked.connect (() => { +- popdown (); +- +- var install_dialog = new InstallEngineDialog ((Gtk.Window) get_toplevel ()); +- install_dialog.run (); +- install_dialog.destroy (); +- }); +- + cancel_button.clicked.connect (() => { + popdown (); + }); +diff --git a/src/Widgets/InputMethod/LanguagesRow.vala b/src/Widgets/InputMethod/LanguagesRow.vala +deleted file mode 100644 +index dc064ae..0000000 +--- a/src/Widgets/InputMethod/LanguagesRow.vala ++++ /dev/null +@@ -1,43 +0,0 @@ +-/* +-* 2019-2020 elementary, Inc. (https://elementary.io) +-* +-* This program is free software: you can redistribute it and/or modify +-* it under the terms of the GNU General Public License as published by +-* the Free Software Foundation, either version 3 of the License, or +-* (at your option) any later version. +-* +-* This program is distributed in the hope that it will be useful, +-* but WITHOUT ANY WARRANTY; without even the implied warranty of +-* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-* GNU General Public License for more details. +-* +-* You should have received a copy of the GNU General Public License +-* along with this program. If not, see <https://www.gnu.org/licenses/>. +-*/ +- +-public class Pantheon.Keyboard.InputMethodPage.LanguagesRow : Gtk.ListBoxRow { +- public InstallList language { get; construct; } +- +- public LanguagesRow (InstallList language) { +- Object (language: language); +- } +- +- construct { +- var label = new Gtk.Label (language.get_name ()) { +- halign = Gtk.Align.START, +- hexpand = true +- }; +- +- var caret = new Gtk.Image.from_icon_name ("pan-end-symbolic", Gtk.IconSize.MENU); +- +- var grid = new Gtk.Grid () { +- margin = 3, +- margin_start = 6, +- margin_end = 6 +- }; +- grid.add (label); +- grid.add (caret); +- +- add (grid); +- } +-} +diff --git a/src/meson.build b/src/meson.build +index 77a51d0..26711c5 100644 +--- a/src/meson.build ++++ b/src/meson.build +@@ -17,7 +17,6 @@ plug_files = files( + 'Widgets/Layout/Display.vala', + 'Widgets/Layout/AdvancedSettingsPanel.vala', + 'Widgets/Layout/AdvancedSettingsGrid.vala', +- 'Widgets/InputMethod/LanguagesRow.vala', + 'Widgets/InputMethod/EnginesRow.vala', + 'Widgets/InputMethod/AddEnginesPopover.vala', + 'Views/Shortcuts.vala', +@@ -33,11 +32,6 @@ plug_files = files( + 'InputSources/SourceSettings.vala', + 'InputSources/InputSource.vala', + 'InputMethod/AddEnginesList.vala', +- 'InputMethod/Installer/UbuntuInstaller.vala', +- 'InputMethod/Installer/InstallList.vala', +- 'InputMethod/Installer/aptd-client.vala', +- 'Dialogs/ProgressDialog.vala', +- 'Dialogs/InstallEngineDialog.vala', + 'Dialogs/ConflictDialog.vala', + 'Dialogs/AddLayoutDialog.vala' + ) diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix new file mode 100644 index 000000000000..1118d52fb43c --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/default.nix @@ -0,0 +1,77 @@ +{ lib +, stdenv +, fetchFromGitHub +, nix-update-script +, substituteAll +, meson +, ninja +, pkg-config +, vala +, libgee +, gnome-settings-daemon +, granite +, gsettings-desktop-schemas +, gtk3 +, libhandy +, libxml2 +, libgnomekbd +, libxklavier +, ibus +, onboard +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-keyboard"; + version = "2.6.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "sha256-Bl0T+8upTdBnLs03UIimcAg0LO40KwuMZRNSM+y/3Hc="; + }; + + patches = [ + ./0001-Remove-Install-Unlisted-Engines-function.patch + (substituteAll { + src = ./fix-paths.patch; + inherit ibus onboard; + }) + ]; + + nativeBuildInputs = [ + libxml2 + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + gnome-settings-daemon # media-keys + granite + gsettings-desktop-schemas + gtk3 + ibus + libgee + libgnomekbd + libhandy + libxklavier + switchboard + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + description = "Switchboard Keyboard Plug"; + homepage = "https://github.com/elementary/switchboard-plug-keyboard"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/fix-paths.patch new file mode 100644 index 000000000000..0b5c8b8fd27e --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/keyboard/fix-paths.patch @@ -0,0 +1,26 @@ +diff --git a/src/Views/InputMethod.vala b/src/Views/InputMethod.vala +index 7f73c1e1..1f0d6400 100644 +--- a/src/Views/InputMethod.vala ++++ b/src/Views/InputMethod.vala +@@ -328,7 +328,7 @@ public class Pantheon.Keyboard.InputMethodPage.Page : Gtk.Grid { + private void spawn_ibus_daemon () { + bool is_spawn_succeeded = false; + try { +- is_spawn_succeeded = Process.spawn_sync ("/", { "ibus-daemon", "-drx" }, Environ.get (), SpawnFlags.SEARCH_PATH, null); ++ is_spawn_succeeded = Process.spawn_sync ("/", { "@ibus@/bin/ibus-daemon", "-drx" }, Environ.get (), SpawnFlags.SEARCH_PATH, null); + } catch (GLib.SpawnError e) { + warning (e.message); + set_visible_view (e.message); +diff --git a/src/Views/Layout.vala b/src/Views/Layout.vala +index 75d2d805..b86252a4 100644 +--- a/src/Views/Layout.vala ++++ b/src/Views/Layout.vala +@@ -219,7 +219,7 @@ namespace Pantheon.Keyboard { + + onscreen_keyboard_settings.clicked.connect (() => { + try { +- var appinfo = AppInfo.create_from_commandline ("onboard-settings", null, AppInfoCreateFlags.NONE); ++ var appinfo = AppInfo.create_from_commandline ("@onboard@/bin/onboard-settings", null, AppInfoCreateFlags.NONE); + appinfo.launch (null, null); + } catch (Error e) { + warning ("Unable to launch onboard-settings: %s", e.message); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix new file mode 100644 index 000000000000..2c9b3833a0cc --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/default.nix @@ -0,0 +1,71 @@ +{ lib +, stdenv +, fetchFromGitHub +, nix-update-script +, substituteAll +, meson +, ninja +, pkg-config +, vala +, libgee +, libxml2 +, granite +, gtk3 +, switchboard +, gnome-settings-daemon +, glib +, gala # needed for gestures support +, touchegg +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-mouse-touchpad"; + version = "6.1.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0nqgbpk1knvbj5xa078i0ka6lzqmaaa873gwj3mhjr5q2gzkw7y5"; + }; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + touchegg = touchegg; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + gala + glib + granite + gtk3 + libgee + libxml2 + gnome-settings-daemon + switchboard + touchegg + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + description = "Switchboard Mouse & Touchpad Plug"; + homepage = "https://github.com/elementary/switchboard-plug-mouse-touchpad"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/fix-paths.patch new file mode 100644 index 000000000000..e0c63bac8322 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/mouse-touchpad/fix-paths.patch @@ -0,0 +1,13 @@ +diff --git a/src/Utils/ToucheggSettings.vala b/src/Utils/ToucheggSettings.vala +index 1d621b9c..73c89714 100644 +--- a/src/Utils/ToucheggSettings.vala ++++ b/src/Utils/ToucheggSettings.vala +@@ -36,7 +36,7 @@ public class MouseTouchpad.ToucheggSettings : GLib.Object { + private const string MAXIMIZE_4_XPATH = "//application[@name=\"All\"]/gesture[@fingers=\"4\"]/action[@type=\"MAXIMIZE_RESTORE_WINDOW\"]/.."; + + public ToucheggSettings () { +- system_config_path = Path.build_filename (GLib.Path.DIR_SEPARATOR_S, "usr", "share", "touchegg", "touchegg.conf"); ++ system_config_path = Path.build_filename ("@touchegg@", "share", "touchegg", "touchegg.conf"); + user_config_dir_path = Path.build_filename (GLib.Environment.get_home_dir (), ".config", "touchegg"); + user_config_path = Path.build_filename (GLib.Environment.get_home_dir (), ".config", "touchegg", "touchegg.conf"); + } diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix new file mode 100644 index 000000000000..fbad5aa7a012 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/default.nix @@ -0,0 +1,66 @@ +{ lib +, stdenv +, fetchFromGitHub +, nix-update-script +, meson +, ninja +, pkg-config +, substituteAll +, vala +, libgee +, granite +, gtk3 +, networkmanager +, networkmanagerapplet +, libnma +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-network"; + version = "2.4.2"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "sha256-CdSX4p98HQNC0VF5Ae/ZnDqm000+9KJ6JhQWhSHC4CI="; + }; + + patches = [ + (substituteAll { + src = ./fix-paths.patch; + inherit networkmanagerapplet; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + networkmanager + libnma + switchboard + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + description = "Switchboard Networking Plug"; + homepage = "https://github.com/elementary/switchboard-plug-network"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch new file mode 100644 index 000000000000..b99f59fb2684 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/network/fix-paths.patch @@ -0,0 +1,26 @@ +diff --git a/src/Views/VPNPage.vala b/src/Views/VPNPage.vala +index ba9dc22..a12871a 100644 +--- a/src/Views/VPNPage.vala ++++ b/src/Views/VPNPage.vala +@@ -264,7 +264,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 5849b69..7bbd172 100644 +--- a/src/Widgets/SettingsButton.vala ++++ b/src/Widgets/SettingsButton.vala +@@ -55,7 +55,7 @@ public class Network.Widgets.SettingsButton : Gtk.Button { + clicked.connect (() => { + try { + var appinfo = AppInfo.create_from_commandline ( +- "nm-connection-editor %s".printf (args), null, AppInfoCreateFlags.NONE ++ "@networkmanagerapplet@/bin/nm-connection-editor %s".printf (args), null, AppInfoCreateFlags.NONE + ); + + appinfo.launch (null, null); diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix new file mode 100644 index 000000000000..f142b8e9bb9c --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/notifications/default.nix @@ -0,0 +1,65 @@ +{ lib +, stdenv +, fetchFromGitHub +, nix-update-script +, fetchpatch +, meson +, ninja +, pkg-config +, vala +, libgee +, granite +, gtk3 +, switchboard +, elementary-notifications +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-notifications"; + version = "2.2.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0zzhgs8m1y7ab31hbn7v8g8k7rx51gqajl243zmysn86lfqk8iay"; + }; + + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-notifications/pull/83 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-notifications/commit/2e0320aab62b6932e8ef5f941d02e244de381957.patch"; + sha256 = "0rcamasq837grck0i2yx6psggzrhv7p7m3mra5l0k9zsjxgar92v"; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + elementary-notifications + granite + gtk3 + libgee + switchboard + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + description = "Switchboard Notifications Plug"; + homepage = "https://github.com/elementary/switchboard-plug-notifications"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix new file mode 100644 index 000000000000..46703b349e67 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/onlineaccounts/default.nix @@ -0,0 +1,61 @@ +{ lib +, stdenv +, fetchFromGitHub +, nix-update-script +, meson +, ninja +, pkg-config +, vala +, evolution-data-server +, glib +, granite +, gtk3 +, libgdata +, libhandy +, sqlite +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-onlineaccounts"; + version = "6.3.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "sha256-aRh2zbKqcGOH4Qw5gdJw07hod8a/QGWUcJo/2R9erQs="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + evolution-data-server + glib + granite + gtk3 + libgdata + libhandy + sqlite # needed for camel-1.2 + switchboard + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + description = "Switchboard Online Accounts Plug"; + homepage = "https://github.com/elementary/switchboard-plug-onlineaccounts"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix new file mode 100644 index 000000000000..6fc961e4b5f5 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/pantheon-shell/default.nix @@ -0,0 +1,73 @@ +{ lib +, stdenv +, fetchFromGitHub +, nix-update-script +, meson +, ninja +, pkg-config +, vala +, glib +, libgee +, granite +, gexiv2 +, gnome-settings-daemon +, elementary-settings-daemon +, gtk3 +, gnome-desktop +, gala +, wingpanel +, elementary-dock +, switchboard +, gettext +, bamf +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-pantheon-shell"; + version = "6.1.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "sha256-rwneQ1bqpWDyTHULMtGqhPdpSDa4ObnVortmL0E+gHA="; + }; + + nativeBuildInputs = [ + gettext + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + bamf + elementary-dock + elementary-settings-daemon + gnome-settings-daemon + gala + gexiv2 + glib + gnome-desktop + granite + gtk3 + libgee + switchboard + wingpanel + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + description = "Switchboard Desktop Plug"; + homepage = "https://github.com/elementary/switchboard-plug-pantheon-shell"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix new file mode 100644 index 000000000000..2a531815f875 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/power/default.nix @@ -0,0 +1,63 @@ +{ lib +, stdenv +, fetchFromGitHub +, nix-update-script +, meson +, ninja +, pkg-config +, vala +, libgee +, gnome-settings-daemon +, granite +, gtk3 +, glib +, dbus +, polkit +, switchboard +, wingpanel-indicator-power +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-power"; + version = "2.6.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "006h8mrhmdrbd83vhdyahgrfk9wh6j9kjincpp7dz7sl8fsyhmcr"; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + dbus + gnome-settings-daemon + glib + granite + gtk3 + libgee + polkit + switchboard + wingpanel-indicator-power # settings schema + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + description = "Switchboard Power Plug"; + homepage = "https://github.com/elementary/switchboard-plug-power"; + license = licenses.gpl2Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix new file mode 100644 index 000000000000..40b52affa036 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/printers/default.nix @@ -0,0 +1,66 @@ +{ lib +, stdenv +, fetchFromGitHub +, nix-update-script +, fetchpatch +, meson +, ninja +, pkg-config +, vala +, libgee +, granite +, gtk3 +, cups +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-printers"; + version = "2.1.10"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "0frvybbx7mcs87kww0if4zn0c6c2gb400cpiqrl8b0294py58xpb"; + }; + + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-printers/pull/153 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-printers/commit/3e2b01378cbb8e666d23daeef7f40fcaa90daa45.patch"; + sha256 = "0b8pq525xnir06pn65rcz68bcp5xdxl0gpbj7p5x1hs23p5dp04n"; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + cups + granite + gtk3 + libgee + switchboard + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + description = "Switchboard Printers Plug"; + homepage = "https://github.com/elementary/switchboard-plug-printers"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; + +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix new file mode 100644 index 000000000000..550562f19b17 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/security-privacy/default.nix @@ -0,0 +1,73 @@ +{ lib +, stdenv +, fetchFromGitHub +, nix-update-script +, meson +, python3 +, ninja +, pkg-config +, vala +, elementary-settings-daemon +, libgee +, granite +, gsettings-desktop-schemas +, gala +, gtk3 +, glib +, polkit +, zeitgeist +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-security-privacy"; + version = "2.3.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "sha256-pkpS7BR/eXA0rWV1C5AR+FdF5OkDnV8YDBAt1ZkaVPo="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + python3 + vala + ]; + + buildInputs = [ + elementary-settings-daemon # settings schema + gala + glib + granite + gsettings-desktop-schemas + gtk3 + libgee + polkit + switchboard + zeitgeist + ]; + + postPatch = '' + chmod +x meson/post_install.py + patchShebangs meson/post_install.py + ''; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + description = "Switchboard Security & Privacy Plug"; + homepage = "https://github.com/elementary/switchboard-plug-security-privacy"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; + +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix new file mode 100644 index 000000000000..2a480bb9e257 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sharing/default.nix @@ -0,0 +1,63 @@ +{ lib +, stdenv +, fetchFromGitHub +, nix-update-script +, fetchpatch +, meson +, ninja +, pkg-config +, vala +, libgee +, granite +, gtk3 +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-sharing"; + version = "2.1.5"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "00lqrxq1wz3y2s9jiz8rh9d571va2vza2gdwj6c86z3q4c4hmn17"; + }; + + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-sharing/pull/55 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-sharing/commit/5219839738b79e3c5f039a811d96a40eb2644eab.patch"; + sha256 = "020w746q7gzmic0pdnbxs792sx15wlsqaf2x770r5xwbyfmqr7bs"; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + granite + gtk3 + libgee + switchboard + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + description = "Switchboard Sharing Plug"; + homepage = "https://github.com/elementary/switchboard-plug-sharing"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix new file mode 100644 index 000000000000..8a23f09838eb --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/sound/default.nix @@ -0,0 +1,57 @@ +{ lib +, stdenv +, fetchFromGitHub +, nix-update-script +, meson +, ninja +, pkg-config +, vala +, libgee +, granite +, gtk3 +, pulseaudio +, libcanberra-gtk3 +, switchboard +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-sound"; + version = "2.3.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "sha256-yHuboDpIcioZPNgpmnrM6J2eUCJpoNDdvgu27YuN65I="; + }; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + granite + gtk3 + libcanberra-gtk3 + libgee + pulseaudio + switchboard + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + description = "Switchboard Sound Plug"; + homepage = "https://github.com/elementary/switchboard-plug-sound"; + license = licenses.lgpl21Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; +} diff --git a/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix new file mode 100644 index 000000000000..904278f983e0 --- /dev/null +++ b/nixpkgs/pkgs/desktops/pantheon/apps/switchboard-plugs/wacom/default.nix @@ -0,0 +1,72 @@ +{ lib +, stdenv +, fetchFromGitHub +, fetchpatch +, nix-update-script +, meson +, ninja +, pkg-config +, vala +, glib +, granite +, gtk3 +, libgee +, libgudev +, libwacom +, switchboard +, xorg +}: + +stdenv.mkDerivation rec { + pname = "switchboard-plug-wacom"; + version = "1.0.0"; + + src = fetchFromGitHub { + owner = "elementary"; + repo = pname; + rev = version; + sha256 = "1n2yfq4s9xpnfqjikchjp4z2nk8cmfz4g0p18cplzh5w1lvz17lm"; + }; + + patches = [ + # Upstream code not respecting our localedir + # https://github.com/elementary/switchboard-plug-wacom/pull/29 + (fetchpatch { + url = "https://github.com/elementary/switchboard-plug-wacom/commit/2a7dee180d73ffb3521d806efb7028f5a71cb511.patch"; + sha256 = "06ra5c0f14brmj2mmsqscpc4d1114i4qazgnsazzh2hrp04ilnva"; + }) + ]; + + nativeBuildInputs = [ + meson + ninja + pkg-config + vala + ]; + + buildInputs = [ + glib + granite + gtk3 + libgee + libgudev + libwacom + switchboard + xorg.libX11 + xorg.libXi + ]; + + passthru = { + updateScript = nix-update-script { + attrPath = "pantheon.${pname}"; + }; + }; + + meta = with lib; { + description = "Switchboard Wacom Plug"; + homepage = "https://github.com/elementary/switchboard-plug-wacom"; + license = licenses.gpl3Plus; + platforms = platforms.linux; + maintainers = teams.pantheon.members; + }; +} |