@@ -1,309 +0,0 @@
1−From f728ac670d8f6bb7600a007d92034b711471fab6 Mon Sep 17 00:00:00 2001
2−From: worldofpeace <worldofpeace@protonmail.ch>
3−Date: Sat, 13 Jul 2019 19:06:20 -0400
4−Subject: [PATCH 1/2] Build with Meson
5−
6−Has the following meson build options:
7−* default-wallpaper
8−* plank-dockitems
9−* default-gsettings-overrides
10−
11−All default to true.
12−
13−We also split the default-settings gsettings override into another that
14−only sets plank's default dockitems. This is installed when plank-dockitems
15−is true. We need to have this because those settings are dependent on
16−those dockitems actually being installed and we have it optional.
17−---
18− accountsservice/create-symlink.py | 24 ++++++
19− accountsservice/meson.build | 25 ++++++
20− .../appcenter.blacklist | 0
21− .../default-testpage.pdf | Bin
22− settings.ini => gtk/settings.ini | 0
23− .inputrc => inputrc/.inputrc | 0
24− meson.build | 79 ++++++++++++++++++
25− meson/post_install.py | 12 +++
26− meson_options.txt | 14 ++++
27− ...e => default-settings.gschema.override.in} | 3 +-
28− overrides/meson.build | 21 +++++
29− overrides/plank-dockitems.gschema.override | 2 +
30− .../sessioninstaller.desktop | 0
31− 13 files changed, 178 insertions(+), 2 deletions(-)
32− create mode 100644 accountsservice/create-symlink.py
33− create mode 100644 accountsservice/meson.build
34− rename appcenter.blacklist => appcenter/appcenter.blacklist (100%)
35− rename default-testpage.pdf => cups/default-testpage.pdf (100%)
36− rename settings.ini => gtk/settings.ini (100%)
37− rename .inputrc => inputrc/.inputrc (100%)
38− create mode 100644 meson.build
39− create mode 100755 meson/post_install.py
40− create mode 100644 meson_options.txt
41− rename overrides/{default-settings.gschema.override => default-settings.gschema.override.in} (92%)
42− create mode 100644 overrides/meson.build
43− create mode 100644 overrides/plank-dockitems.gschema.override
44− rename sessioninstaller.desktop => sessioninstaller/sessioninstaller.desktop (100%)
45−
46−diff --git a/accountsservice/create-symlink.py b/accountsservice/create-symlink.py
47−new file mode 100644
48−index 0000000..e502134
49−--- /dev/null
50−+++ b/accountsservice/create-symlink.py
51−@@ -0,0 +1,24 @@
52−+#!/usr/bin/env python3
53−+
54−+import os
55−+import sys
56−+
57−+if len(sys.argv) < 3:
58−+ print('Usage: create-symlink.py SOURCE DESTINATION')
59−+ sys.exit(1)
60−+
61−+src = sys.argv[1]
62−+dest = sys.argv[2]
63−+
64−+if 'MESON_INSTALL_DESTDIR_PREFIX' in os.environ:
65−+ src = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], src)
66−+ dest = os.path.join(os.environ['MESON_INSTALL_DESTDIR_PREFIX'], dest)
67−+
68−+if os.path.isabs(src):
69−+ src = os.path.relpath(src, os.path.dirname(os.path.realpath(dest)))
70−+
71−+if not os.path.exists(dest):
72−+ print('Creating symbolic link: ' + dest + ' -> ' + src)
73−+ if not os.path.exists(os.path.dirname(dest)):
74−+ os.makedirs(os.path.dirname(dest))
75−+ os.symlink(src, dest)
76−diff --git a/accountsservice/meson.build b/accountsservice/meson.build
77−new file mode 100644
78−index 0000000..6d18459
79−--- /dev/null
80−+++ b/accountsservice/meson.build
81−@@ -0,0 +1,25 @@
82−+dbus_dep = dependency('dbus-1')
83−+dbus_interfaces_dir = dbus_dep.get_pkgconfig_variable('interfaces_dir', define_variable: ['datadir', datadir])
84−+
85−+install_data(
86−+ 'io.elementary.pantheon.AccountsService.xml',
87−+ install_dir: dbus_interfaces_dir
88−+)
89−+
90−+
91−+polkit_dep = dependency('polkit-gobject-1')
92−+polkit_actiondir = polkit_dep.get_pkgconfig_variable('actiondir', define_variable: ['prefix', prefix])
93−+
94−+install_data(
95−+ 'io.elementary.pantheon.AccountsService.policy',
96−+ install_dir: polkit_actiondir
97−+)
98−+
99−+act_dep = dependency('accountsservice')
100−+act_interfacesdir = act_dep.get_pkgconfig_variable('interfacesdir', define_variable: ['datadir', datadir])
101−+
102−+meson.add_install_script(
103−+ 'create-symlink.py',
104−+ join_paths(dbus_interfaces_dir, 'io.elementary.pantheon.AccountsService.xml'),
105−+ join_paths(act_interfacesdir, 'io.elementary.pantheon.AccountsService.xml'),
106−+)
107−diff --git a/appcenter.blacklist b/appcenter/appcenter.blacklist
108−similarity index 100%
109−rename from appcenter.blacklist
110−rename to appcenter/appcenter.blacklist
111−diff --git a/default-testpage.pdf b/cups/default-testpage.pdf
112−similarity index 100%
113−rename from default-testpage.pdf
114−rename to cups/default-testpage.pdf
115−diff --git a/settings.ini b/gtk/settings.ini
116−similarity index 100%
117−rename from settings.ini
118−rename to gtk/settings.ini
119−diff --git a/.inputrc b/inputrc/.inputrc
120−similarity index 100%
121−rename from .inputrc
122−rename to inputrc/.inputrc
123−diff --git a/meson.build b/meson.build
124−new file mode 100644
125−index 0000000..7740a34
126−--- /dev/null
127−+++ b/meson.build
128−@@ -0,0 +1,79 @@
129−+project(
130−+ 'elementary-default-settings',
131−+ version: '5.1.0',
132−+ default_options: 'sysconfdir=/etc',
133−+)
134−+
135−+prefix = get_option('prefix')
136−+datadir = join_paths(prefix, get_option('datadir'))
137−+sysconfdir = get_option('sysconfdir')
138−+
139−+meson.add_install_script('meson/post_install.py', datadir)
140−+
141−+# Planks Default DockItems
142−+if get_option('plank-dockitems')
143−+ install_subdir(
144−+ 'plank',
145−+ install_dir: join_paths(sysconfdir, 'skel', '.config')
146−+ )
147−+endif
148−+
149−+# Setup system wide global environment for applications
150−+install_subdir(
151−+ 'profile.d',
152−+ install_dir: join_paths(sysconfdir, 'profile.d'),
153−+ strip_directory : true
154−+)
155−+
156−+# elementary Plymouth Theme
157−+install_subdir(
158−+ 'plymouth/elementary',
159−+ install_dir: join_paths(datadir, 'plymouth', 'themes')
160−+)
161−+
162−+install_data(
163−+ 'plymouth/ubuntu-text.plymouth',
164−+ install_dir: join_paths(datadir, 'plymouth', 'themes')
165−+)
166−+
167−+# Sudo password feedback in terminals
168−+install_data(
169−+ 'sudoers.d/pwfeedback',
170−+ install_dir: join_paths(sysconfdir, 'sudoers.d')
171−+)
172−+
173−+# CUPS Printing testpage
174−+install_data(
175−+ 'cups/default-testpage.pdf',
176−+ install_dir: join_paths(datadir, 'cups', 'data')
177−+)
178−+
179−+# GTK3 Settings
180−+install_data(
181−+ 'gtk/settings.ini',
182−+ install_dir: join_paths(sysconfdir, 'gtk-3.0')
183−+)
184−+
185−+# So SessionInstaller can have an Icon
186−+install_data(
187−+ 'sessioninstaller/sessioninstaller.desktop',
188−+ install_dir: join_paths(datadir, 'applications')
189−+)
190−+
191−+# Default Appcenter Blacklist
192−+install_data(
193−+ 'appcenter/appcenter.blacklist',
194−+ install_dir: join_paths(sysconfdir, 'appcenter')
195−+)
196−+
197−+# Configuration file of GNU readline
198−+install_data(
199−+ 'inputrc/.inputrc',
200−+ install_dir: join_paths(sysconfdir, 'skel')
201−+)
202−+
203−+# Default gsettings overrides
204−+subdir('overrides')
205−+
206−+# AccountsService extension for Greeter.
207−+subdir('accountsservice')
208−diff --git a/meson/post_install.py b/meson/post_install.py
209−new file mode 100755
210−index 0000000..c6b5617
211−--- /dev/null
212−+++ b/meson/post_install.py
213−@@ -0,0 +1,12 @@
214−+#!/usr/bin/env python3
215−+
216−+import os
217−+import sys
218−+import subprocess
219−+
220−+if 'DESTDIR' not in os.environ:
221−+ default_settings_datadir = sys.argv[1]
222−+
223−+ print('Compiling GSettings schemas...')
224−+ subprocess.call(['glib-compile-schemas',
225−+ os.path.join(default_settings_datadir, 'glib-2.0', 'schemas')])
226−diff --git a/meson_options.txt b/meson_options.txt
227−new file mode 100644
228−index 0000000..8fd19ba
229−--- /dev/null
230−+++ b/meson_options.txt
231−@@ -0,0 +1,14 @@
232−+option('default-wallpaper',
233−+ type: 'string',
234−+ value: '/usr/share/backgrounds/elementaryos-default',
235−+ description: 'Path to default wallpaper to use in Pantheon.')
236−+
237−+option('plank-dockitems',
238−+ type: 'boolean',
239−+ value: true,
240−+ description: 'Install default Pantheon Plank dockitems')
241−+
242−+option('default-gsettings-overrides',
243−+ type: 'boolean',
244−+ value: true,
245−+ description: 'Install default Pantheon GSettings Overrides')
246−diff --git a/overrides/default-settings.gschema.override b/overrides/default-settings.gschema.override.in
247−similarity index 92%
248−rename from overrides/default-settings.gschema.override
249−rename to overrides/default-settings.gschema.override.in
250−index 1aef29c..69d272b 100644
251−--- a/overrides/default-settings.gschema.override
252−+++ b/overrides/default-settings.gschema.override.in
253−@@ -1,5 +1,4 @@
254− [net.launchpad.plank.dock.settings]
255−-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']
256− hide-delay=250
257− hide-mode='window-dodge'
258− show-dock-item=false
259−@@ -11,7 +10,7 @@ triggers=['<Control>space']
260− [org.gnome.desktop.background]
261− draw-background=true
262− picture-options='zoom'
263−-picture-uri='file:///usr/share/backgrounds/elementaryos-default'
264−+picture-uri='file://@DEFAULT_WALLPAPER@'
265− primary-color='#000000'
266− show-desktop-icons=false
267−
268−diff --git a/overrides/meson.build b/overrides/meson.build
269−new file mode 100644
270−index 0000000..ad80644
271−--- /dev/null
272−+++ b/overrides/meson.build
273−@@ -0,0 +1,21 @@
274−+if get_option('default-gsettings-overrides')
275−+ default_wallpaper = get_option('default-wallpaper')
276−+
277−+ wallpaper_configuration = configuration_data()
278−+ wallpaper_configuration.set('DEFAULT_WALLPAPER', default_wallpaper)
279−+
280−+ settings_override = configure_file(
281−+ input: 'default-settings.gschema.override.in',
282−+ output: '@BASENAME@',
283−+ configuration: wallpaper_configuration,
284−+ install_dir: join_paths(datadir, 'glib-2.0', 'schemas')
285−+ )
286−+endif
287−+
288−+# Install conditionally because it's dependent on our dockitems being installed
289−+if get_option('plank-dockitems')
290−+ install_data(
291−+ 'plank-dockitems.gschema.override',
292−+ install_dir: join_paths(datadir, 'glib-2.0', 'schemas')
293−+ )
294−+endif
295−diff --git a/overrides/plank-dockitems.gschema.override b/overrides/plank-dockitems.gschema.override
296−new file mode 100644
297−index 0000000..72b38d4
298−--- /dev/null
299−+++ b/overrides/plank-dockitems.gschema.override
300−@@ -0,0 +1,2 @@
301−+[net.launchpad.plank.dock.settings]
302−+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']
303−diff --git a/sessioninstaller.desktop b/sessioninstaller/sessioninstaller.desktop
304−similarity index 100%
305−rename from sessioninstaller.desktop
306−rename to sessioninstaller/sessioninstaller.desktop
307−--
308−2.23.0
309−