aboutsummaryrefslogtreecommitdiff
path: root/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch
diff options
context:
space:
mode:
Diffstat (limited to 'nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch')
-rw-r--r--nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch309
1 files changed, 309 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch
new file mode 100644
index 00000000000..3a0b3812450
--- /dev/null
+++ b/nixpkgs/pkgs/desktops/pantheon/desktop/elementary-default-settings/0001-Build-with-Meson.patch
@@ -0,0 +1,309 @@
+From f728ac670d8f6bb7600a007d92034b711471fab6 Mon Sep 17 00:00:00 2001
+From: worldofpeace <worldofpeace@protonmail.ch>
+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=['<Control>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
+