From 03a059f60744020ad5cf593f8855c8ebf6932a7a Mon Sep 17 00:00:00 2001 From: Bobby Rong Date: Sun, 18 Jul 2021 11:38:09 +0800 Subject: [PATCH] pantheon.elementary-default-settings: 5.1.2 -> 6.0.1 --- .../0001-Build-with-Meson.patch | 309 ------------------ .../elementary-default-settings/default.nix | 30 +- 2 files changed, 6 insertions(+), 333 deletions(-) delete mode 100644 pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch b/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch deleted file mode 100644 index 3a0b3812450c..000000000000 --- a/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch +++ /dev/null @@ -1,309 +0,0 @@ -From f728ac670d8f6bb7600a007d92034b711471fab6 Mon Sep 17 00:00:00 2001 -From: worldofpeace -Date: Sat, 13 Jul 2019 19:06:20 -0400 -Subject: [PATCH 1/2] Build with Meson - -Has the following meson build options: -* default-wallpaper -* plank-dockitems -* default-gsettings-overrides - -All default to true. - -We also split the default-settings gsettings override into another that -only sets plank's default dockitems. This is installed when plank-dockitems -is true. We need to have this because those settings are dependent on -those dockitems actually being installed and we have it optional. ---- - accountsservice/create-symlink.py | 24 ++++++ - accountsservice/meson.build | 25 ++++++ - .../appcenter.blacklist | 0 - .../default-testpage.pdf | Bin - settings.ini => gtk/settings.ini | 0 - .inputrc => inputrc/.inputrc | 0 - meson.build | 79 ++++++++++++++++++ - meson/post_install.py | 12 +++ - meson_options.txt | 14 ++++ - ...e => default-settings.gschema.override.in} | 3 +- - overrides/meson.build | 21 +++++ - overrides/plank-dockitems.gschema.override | 2 + - .../sessioninstaller.desktop | 0 - 13 files changed, 178 insertions(+), 2 deletions(-) - create mode 100644 accountsservice/create-symlink.py - create mode 100644 accountsservice/meson.build - rename appcenter.blacklist => appcenter/appcenter.blacklist (100%) - rename default-testpage.pdf => cups/default-testpage.pdf (100%) - rename settings.ini => gtk/settings.ini (100%) - rename .inputrc => inputrc/.inputrc (100%) - create mode 100644 meson.build - create mode 100755 meson/post_install.py - create mode 100644 meson_options.txt - rename overrides/{default-settings.gschema.override => default-settings.gschema.override.in} (92%) - create mode 100644 overrides/meson.build - create mode 100644 overrides/plank-dockitems.gschema.override - rename sessioninstaller.desktop => sessioninstaller/sessioninstaller.desktop (100%) - -diff --git a/accountsservice/create-symlink.py b/accountsservice/create-symlink.py -new file mode 100644 -index 0000000..e502134 ---- /dev/null -+++ b/accountsservice/create-symlink.py -@@ -0,0 +1,24 @@ -+#!/usr/bin/env python3 -+ -+import os -+import sys -+ -+if len(sys.argv) < 3: -+ print('Usage: create-symlink.py SOURCE DESTINATION') -+ sys.exit(1) -+ -+src = sys.argv[1] -+dest = sys.argv[2] -+ -+if 'MESON_INSTALL_DESTDIR_PREFIX' in os.environ: -+ src = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], src) -+ dest = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], dest) -+ -+if os.path.isabs(src): -+ src = os.path.relpath(src, os.path.dirname(os.path.realpath(dest))) -+ -+if not os.path.exists(dest): -+ print('Creating symbolic link: ' + dest + ' -> ' + src) -+ if not os.path.exists(os.path.dirname(dest)): -+ os.makedirs(os.path.dirname(dest)) -+ os.symlink(src, dest) -diff --git a/accountsservice/meson.build b/accountsservice/meson.build -new file mode 100644 -index 0000000..6d18459 ---- /dev/null -+++ b/accountsservice/meson.build -@@ -0,0 +1,25 @@ -+dbus_dep = dependency('dbus-1') -+dbus_interfaces_dir = dbus_dep.get_pkgconfig_variable('interfaces_dir', define_variable: ['datadir', datadir]) -+ -+install_data( -+ 'io.elementary.pantheon.AccountsService.xml', -+ install_dir: dbus_interfaces_dir -+) -+ -+ -+polkit_dep = dependency('polkit-gobject-1') -+polkit_actiondir = polkit_dep.get_pkgconfig_variable('actiondir', define_variable: ['prefix', prefix]) -+ -+install_data( -+ 'io.elementary.pantheon.AccountsService.policy', -+ install_dir: polkit_actiondir -+) -+ -+act_dep = dependency('accountsservice') -+act_interfacesdir = act_dep.get_pkgconfig_variable('interfacesdir', define_variable: ['datadir', datadir]) -+ -+meson.add_install_script( -+ 'create-symlink.py', -+ join_paths(dbus_interfaces_dir, 'io.elementary.pantheon.AccountsService.xml'), -+ join_paths(act_interfacesdir, 'io.elementary.pantheon.AccountsService.xml'), -+) -diff --git a/appcenter.blacklist b/appcenter/appcenter.blacklist -similarity index 100% -rename from appcenter.blacklist -rename to appcenter/appcenter.blacklist -diff --git a/default-testpage.pdf b/cups/default-testpage.pdf -similarity index 100% -rename from default-testpage.pdf -rename to cups/default-testpage.pdf -diff --git a/settings.ini b/gtk/settings.ini -similarity index 100% -rename from settings.ini -rename to gtk/settings.ini -diff --git a/.inputrc b/inputrc/.inputrc -similarity index 100% -rename from .inputrc -rename to inputrc/.inputrc -diff --git a/meson.build b/meson.build -new file mode 100644 -index 0000000..7740a34 ---- /dev/null -+++ b/meson.build -@@ -0,0 +1,79 @@ -+project( -+ 'elementary-default-settings', -+ version: '5.1.0', -+ default_options: 'sysconfdir=/etc', -+) -+ -+prefix = get_option('prefix') -+datadir = join_paths(prefix, get_option('datadir')) -+sysconfdir = get_option('sysconfdir') -+ -+meson.add_install_script('meson/post_install.py', datadir) -+ -+# Planks Default DockItems -+if get_option('plank-dockitems') -+ install_subdir( -+ 'plank', -+ install_dir: join_paths(sysconfdir, 'skel', '.config') -+ ) -+endif -+ -+# Setup system wide global environment for applications -+install_subdir( -+ 'profile.d', -+ install_dir: join_paths(sysconfdir, 'profile.d'), -+ strip_directory : true -+) -+ -+# elementary Plymouth Theme -+install_subdir( -+ 'plymouth/elementary', -+ install_dir: join_paths(datadir, 'plymouth', 'themes') -+) -+ -+install_data( -+ 'plymouth/ubuntu-text.plymouth', -+ install_dir: join_paths(datadir, 'plymouth', 'themes') -+) -+ -+# Sudo password feedback in terminals -+install_data( -+ 'sudoers.d/pwfeedback', -+ install_dir: join_paths(sysconfdir, 'sudoers.d') -+) -+ -+# CUPS Printing testpage -+install_data( -+ 'cups/default-testpage.pdf', -+ install_dir: join_paths(datadir, 'cups', 'data') -+) -+ -+# GTK3 Settings -+install_data( -+ 'gtk/settings.ini', -+ install_dir: join_paths(sysconfdir, 'gtk-3.0') -+) -+ -+# So SessionInstaller can have an Icon -+install_data( -+ 'sessioninstaller/sessioninstaller.desktop', -+ install_dir: join_paths(datadir, 'applications') -+) -+ -+# Default Appcenter Blacklist -+install_data( -+ 'appcenter/appcenter.blacklist', -+ install_dir: join_paths(sysconfdir, 'appcenter') -+) -+ -+# Configuration file of GNU readline -+install_data( -+ 'inputrc/.inputrc', -+ install_dir: join_paths(sysconfdir, 'skel') -+) -+ -+# Default gsettings overrides -+subdir('overrides') -+ -+# AccountsService extension for Greeter. -+subdir('accountsservice') -diff --git a/meson/post_install.py b/meson/post_install.py -new file mode 100755 -index 0000000..c6b5617 ---- /dev/null -+++ b/meson/post_install.py -@@ -0,0 +1,12 @@ -+#!/usr/bin/env python3 -+ -+import os -+import sys -+import subprocess -+ -+if 'DESTDIR' not in os.environ: -+ default_settings_datadir = sys.argv[1] -+ -+ print('Compiling GSettings schemas...') -+ subprocess.call(['glib-compile-schemas', -+ os.path.join(default_settings_datadir, 'glib-2.0', 'schemas')]) -diff --git a/meson_options.txt b/meson_options.txt -new file mode 100644 -index 0000000..8fd19ba ---- /dev/null -+++ b/meson_options.txt -@@ -0,0 +1,14 @@ -+option('default-wallpaper', -+ type: 'string', -+ value: '/usr/share/backgrounds/elementaryos-default', -+ description: 'Path to default wallpaper to use in Pantheon.') -+ -+option('plank-dockitems', -+ type: 'boolean', -+ value: true, -+ description: 'Install default Pantheon Plank dockitems') -+ -+option('default-gsettings-overrides', -+ type: 'boolean', -+ value: true, -+ description: 'Install default Pantheon GSettings Overrides') -diff --git a/overrides/default-settings.gschema.override b/overrides/default-settings.gschema.override.in -similarity index 92% -rename from overrides/default-settings.gschema.override -rename to overrides/default-settings.gschema.override.in -index 1aef29c..69d272b 100644 ---- a/overrides/default-settings.gschema.override -+++ b/overrides/default-settings.gschema.override.in -@@ -1,5 +1,4 @@ - [net.launchpad.plank.dock.settings] --dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.pantheon.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem','io.elementary.appcenter.dockitem'] - hide-delay=250 - hide-mode='window-dodge' - show-dock-item=false -@@ -11,7 +10,7 @@ triggers=['space'] - [org.gnome.desktop.background] - draw-background=true - picture-options='zoom' --picture-uri='file:///usr/share/backgrounds/elementaryos-default' -+picture-uri='file://@DEFAULT_WALLPAPER@' - primary-color='#000000' - show-desktop-icons=false - -diff --git a/overrides/meson.build b/overrides/meson.build -new file mode 100644 -index 0000000..ad80644 ---- /dev/null -+++ b/overrides/meson.build -@@ -0,0 +1,21 @@ -+if get_option('default-gsettings-overrides') -+ default_wallpaper = get_option('default-wallpaper') -+ -+ wallpaper_configuration = configuration_data() -+ wallpaper_configuration.set('DEFAULT_WALLPAPER', default_wallpaper) -+ -+ settings_override = configure_file( -+ input: 'default-settings.gschema.override.in', -+ output: '@BASENAME@', -+ configuration: wallpaper_configuration, -+ install_dir: join_paths(datadir, 'glib-2.0', 'schemas') -+ ) -+endif -+ -+# Install conditionally because it's dependent on our dockitems being installed -+if get_option('plank-dockitems') -+ install_data( -+ 'plank-dockitems.gschema.override', -+ install_dir: join_paths(datadir, 'glib-2.0', 'schemas') -+ ) -+endif -diff --git a/overrides/plank-dockitems.gschema.override b/overrides/plank-dockitems.gschema.override -new file mode 100644 -index 0000000..72b38d4 ---- /dev/null -+++ b/overrides/plank-dockitems.gschema.override -@@ -0,0 +1,2 @@ -+[net.launchpad.plank.dock.settings] -+dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','org.pantheon.mail.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem','io.elementary.appcenter.dockitem'] -diff --git a/sessioninstaller.desktop b/sessioninstaller/sessioninstaller.desktop -similarity index 100% -rename from sessioninstaller.desktop -rename to sessioninstaller/sessioninstaller.desktop --- -2.23.0 - diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix index 982502f51612..1518c06a2650 100644 --- a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix +++ b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix @@ -11,12 +11,11 @@ , polkit , accountsservice , python3 -, fetchpatch }: stdenv.mkDerivation rec { pname = "elementary-default-settings"; - version = "5.1.2"; + version = "6.0.1"; repoName = "default-settings"; @@ -24,7 +23,7 @@ stdenv.mkDerivation rec { owner = "elementary"; repo = repoName; rev = version; - sha256 = "sha256-HKrDs2frEWVPpwyGNP+NikrjyplSXJj1hFMLy6kK4wM="; + sha256 = "0gqnrm968j4v699yhhiyw5fqjy4zbvvrjci2v1jrlycn09c2yrwf"; }; passthru = { @@ -33,23 +32,6 @@ stdenv.mkDerivation rec { }; }; - patches = [ - # Use new notifications - (fetchpatch { - url = "https://github.com/elementary/default-settings/commit/0658bb75b9f49f58b35746d05fb6c4b811f125e9.patch"; - sha256 = "0wa7iq0vfp2av5v23w94a5844ddj4g48d4wk3yrp745dyrimg739"; - }) - - # Fix media key syntax - (fetchpatch { - url = "https://github.com/elementary/default-settings/commit/332aefe1883be5dfe90920e165c39e331a53b2ea.patch"; - sha256 = "0ypcaga55pw58l30srq3ga1mhz2w6hkwanv41jjr6g3ia9jvq69n"; - }) - - # https://github.com/elementary/default-settings/pull/119 - ./0001-Build-with-Meson.patch - ]; - nativeBuildInputs = [ accountsservice dbus @@ -73,9 +55,9 @@ stdenv.mkDerivation rec { ''; preInstall = '' - # Install our override for plank dockitems. - # This is because we don't have Pantheon's mail or Appcenter. - # See: https://github.com/NixOS/nixpkgs/issues/58161 + # Install our override for plank dockitems as Appcenter and Tasks is not ready to be preinstalled. + # For Appcenter, see: https://github.com/NixOS/nixpkgs/issues/70214. + # For Tasks, see: https://github.com/elementary/tasks/issues/243#issuecomment-846259496 schema_dir=$out/share/glib-2.0/schemas install -D ${./overrides/plank-dockitems.gschema.override} $schema_dir/plank-dockitems.gschema.override @@ -84,7 +66,7 @@ stdenv.mkDerivation rec { cp -avr ${./launchers} $out/etc/skel/.config/plank/dock1/launchers # Whitelist wingpanel indicators to be used in the greeter - # hhttps://github.com/elementary/greeter/blob/fc19752f147c62767cd2097c0c0c0fcce41e5873/debian/io.elementary.greeter.whitelist + # https://github.com/elementary/greeter/blob/fc19752f147c62767cd2097c0c0c0fcce41e5873/debian/io.elementary.greeter.whitelist # wingpanel 2.3.2 renamed this to .allowed to .forbidden # https://github.com/elementary/wingpanel/pull/326 install -D ${./io.elementary.greeter.allowed} $out/etc/wingpanel.d/io.elementary.greeter.allowed