nixpkgs/pkgs/desktops/pantheon/desktop/elementary-session-settings/meson.patch

272 lines
14 KiB
Diff

From 0a20ad6a31c74f4f96e9ed3613ec6c16a94ede39 Mon Sep 17 00:00:00 2001
From: worldofpeace <worldofpeace@protonmail.ch>
Date: Thu, 8 Aug 2019 11:25:37 -0400
Subject: [PATCH] Build with Meson (#13)
---
applications/meson.build | 4 ++++
...ettingsDaemon.A11ySettings-pantheon.desktop | 0
...e.SettingsDaemon.Clipboard-pantheon.desktop | 0
...gnome.SettingsDaemon.Color-pantheon.desktop | 0
...me.SettingsDaemon.Datetime-pantheon.desktop | 0
...ettingsDaemon.Housekeeping-pantheon.desktop | 0
...me.SettingsDaemon.Keyboard-pantheon.desktop | 0
...e.SettingsDaemon.MediaKeys-pantheon.desktop | 0
...gnome.SettingsDaemon.Mouse-pantheon.desktop | 0
...gnome.SettingsDaemon.Power-pantheon.desktop | 0
...sDaemon.PrintNotifications-pantheon.desktop | 0
...nome.SettingsDaemon.Rfkill-pantheon.desktop | 0
...ome.SettingsDaemon.Sharing-pantheon.desktop | 0
...e.SettingsDaemon.Smartcard-pantheon.desktop | 0
...gnome.SettingsDaemon.Sound-pantheon.desktop | 0
...gnome.SettingsDaemon.Wacom-pantheon.desktop | 0
...e.SettingsDaemon.XSettings-pantheon.desktop | 0
autostart/meson.build | 18 ++++++++++++++++++
.../gnome-keyring-gpg-pantheon.desktop | 0
.../gnome-keyring-pkcs11-pantheon.desktop | 0
.../gnome-keyring-secrets-pantheon.desktop | 0
.../gnome-keyring-ssh-pantheon.desktop | 0
.../onboard-autostart-pantheon.desktop | 0
.../orca-autostart-pantheon.desktop | 0
.../user-dirs-update-gtk-pantheon.desktop | 0
gnome-session/meson.build | 11 +++++++++++
.../{pantheon.session => pantheon.session.in} | 2 +-
meson.build | 14 ++++++++++++++
meson_options.txt | 11 +++++++++++
xsessions/meson.build | 4 ++++
30 files changed, 63 insertions(+), 1 deletion(-)
create mode 100644 applications/meson.build
rename autostart/{ => gsd}/org.gnome.SettingsDaemon.A11ySettings-pantheon.desktop (100%)
rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Clipboard-pantheon.desktop (100%)
rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Color-pantheon.desktop (100%)
rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Datetime-pantheon.desktop (100%)
rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Housekeeping-pantheon.desktop (100%)
rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Keyboard-pantheon.desktop (100%)
rename autostart/{ => gsd}/org.gnome.SettingsDaemon.MediaKeys-pantheon.desktop (100%)
rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Mouse-pantheon.desktop (100%)
rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Power-pantheon.desktop (100%)
rename autostart/{ => gsd}/org.gnome.SettingsDaemon.PrintNotifications-pantheon.desktop (100%)
rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Rfkill-pantheon.desktop (100%)
rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Sharing-pantheon.desktop (100%)
rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Smartcard-pantheon.desktop (100%)
rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Sound-pantheon.desktop (100%)
rename autostart/{ => gsd}/org.gnome.SettingsDaemon.Wacom-pantheon.desktop (100%)
rename autostart/{ => gsd}/org.gnome.SettingsDaemon.XSettings-pantheon.desktop (100%)
create mode 100644 autostart/meson.build
rename autostart/{ => ubuntu}/gnome-keyring-gpg-pantheon.desktop (100%)
rename autostart/{ => ubuntu}/gnome-keyring-pkcs11-pantheon.desktop (100%)
rename autostart/{ => ubuntu}/gnome-keyring-secrets-pantheon.desktop (100%)
rename autostart/{ => ubuntu}/gnome-keyring-ssh-pantheon.desktop (100%)
rename autostart/{ => ubuntu}/onboard-autostart-pantheon.desktop (100%)
rename autostart/{ => ubuntu}/orca-autostart-pantheon.desktop (100%)
rename autostart/{ => ubuntu}/user-dirs-update-gtk-pantheon.desktop (100%)
create mode 100644 gnome-session/meson.build
rename gnome-session/{pantheon.session => pantheon.session.in} (94%)
create mode 100644 meson.build
create mode 100644 meson_options.txt
create mode 100644 xsessions/meson.build
diff --git a/applications/meson.build b/applications/meson.build
new file mode 100644
index 0000000..d03b92b
--- /dev/null
+++ b/applications/meson.build
@@ -0,0 +1,4 @@
+install_data(
+ 'defaults.list',
+ install_dir: join_paths(datadir, 'applications')
+)
diff --git a/autostart/org.gnome.SettingsDaemon.A11ySettings-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.A11ySettings-pantheon.desktop
similarity index 100%
rename from autostart/org.gnome.SettingsDaemon.A11ySettings-pantheon.desktop
rename to autostart/gsd/org.gnome.SettingsDaemon.A11ySettings-pantheon.desktop
diff --git a/autostart/org.gnome.SettingsDaemon.Clipboard-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Clipboard-pantheon.desktop
similarity index 100%
rename from autostart/org.gnome.SettingsDaemon.Clipboard-pantheon.desktop
rename to autostart/gsd/org.gnome.SettingsDaemon.Clipboard-pantheon.desktop
diff --git a/autostart/org.gnome.SettingsDaemon.Color-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Color-pantheon.desktop
similarity index 100%
rename from autostart/org.gnome.SettingsDaemon.Color-pantheon.desktop
rename to autostart/gsd/org.gnome.SettingsDaemon.Color-pantheon.desktop
diff --git a/autostart/org.gnome.SettingsDaemon.Datetime-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Datetime-pantheon.desktop
similarity index 100%
rename from autostart/org.gnome.SettingsDaemon.Datetime-pantheon.desktop
rename to autostart/gsd/org.gnome.SettingsDaemon.Datetime-pantheon.desktop
diff --git a/autostart/org.gnome.SettingsDaemon.Housekeeping-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Housekeeping-pantheon.desktop
similarity index 100%
rename from autostart/org.gnome.SettingsDaemon.Housekeeping-pantheon.desktop
rename to autostart/gsd/org.gnome.SettingsDaemon.Housekeeping-pantheon.desktop
diff --git a/autostart/org.gnome.SettingsDaemon.Keyboard-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Keyboard-pantheon.desktop
similarity index 100%
rename from autostart/org.gnome.SettingsDaemon.Keyboard-pantheon.desktop
rename to autostart/gsd/org.gnome.SettingsDaemon.Keyboard-pantheon.desktop
diff --git a/autostart/org.gnome.SettingsDaemon.MediaKeys-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.MediaKeys-pantheon.desktop
similarity index 100%
rename from autostart/org.gnome.SettingsDaemon.MediaKeys-pantheon.desktop
rename to autostart/gsd/org.gnome.SettingsDaemon.MediaKeys-pantheon.desktop
diff --git a/autostart/org.gnome.SettingsDaemon.Mouse-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Mouse-pantheon.desktop
similarity index 100%
rename from autostart/org.gnome.SettingsDaemon.Mouse-pantheon.desktop
rename to autostart/gsd/org.gnome.SettingsDaemon.Mouse-pantheon.desktop
diff --git a/autostart/org.gnome.SettingsDaemon.Power-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Power-pantheon.desktop
similarity index 100%
rename from autostart/org.gnome.SettingsDaemon.Power-pantheon.desktop
rename to autostart/gsd/org.gnome.SettingsDaemon.Power-pantheon.desktop
diff --git a/autostart/org.gnome.SettingsDaemon.PrintNotifications-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.PrintNotifications-pantheon.desktop
similarity index 100%
rename from autostart/org.gnome.SettingsDaemon.PrintNotifications-pantheon.desktop
rename to autostart/gsd/org.gnome.SettingsDaemon.PrintNotifications-pantheon.desktop
diff --git a/autostart/org.gnome.SettingsDaemon.Rfkill-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Rfkill-pantheon.desktop
similarity index 100%
rename from autostart/org.gnome.SettingsDaemon.Rfkill-pantheon.desktop
rename to autostart/gsd/org.gnome.SettingsDaemon.Rfkill-pantheon.desktop
diff --git a/autostart/org.gnome.SettingsDaemon.Sharing-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Sharing-pantheon.desktop
similarity index 100%
rename from autostart/org.gnome.SettingsDaemon.Sharing-pantheon.desktop
rename to autostart/gsd/org.gnome.SettingsDaemon.Sharing-pantheon.desktop
diff --git a/autostart/org.gnome.SettingsDaemon.Smartcard-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Smartcard-pantheon.desktop
similarity index 100%
rename from autostart/org.gnome.SettingsDaemon.Smartcard-pantheon.desktop
rename to autostart/gsd/org.gnome.SettingsDaemon.Smartcard-pantheon.desktop
diff --git a/autostart/org.gnome.SettingsDaemon.Sound-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Sound-pantheon.desktop
similarity index 100%
rename from autostart/org.gnome.SettingsDaemon.Sound-pantheon.desktop
rename to autostart/gsd/org.gnome.SettingsDaemon.Sound-pantheon.desktop
diff --git a/autostart/org.gnome.SettingsDaemon.Wacom-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.Wacom-pantheon.desktop
similarity index 100%
rename from autostart/org.gnome.SettingsDaemon.Wacom-pantheon.desktop
rename to autostart/gsd/org.gnome.SettingsDaemon.Wacom-pantheon.desktop
diff --git a/autostart/org.gnome.SettingsDaemon.XSettings-pantheon.desktop b/autostart/gsd/org.gnome.SettingsDaemon.XSettings-pantheon.desktop
similarity index 100%
rename from autostart/org.gnome.SettingsDaemon.XSettings-pantheon.desktop
rename to autostart/gsd/org.gnome.SettingsDaemon.XSettings-pantheon.desktop
diff --git a/autostart/meson.build b/autostart/meson.build
new file mode 100644
index 0000000..265088b
--- /dev/null
+++ b/autostart/meson.build
@@ -0,0 +1,18 @@
+autostartdir = join_paths(get_option('sysconfdir'), 'xdg', 'autostart')
+
+if get_option('patched-gsd-autostarts')
+ install_subdir(
+ 'gsd',
+ install_dir: autostartdir,
+ strip_directory: true
+ )
+endif
+
+
+if get_option('patched-ubuntu-autostarts')
+ install_subdir(
+ 'ubuntu',
+ install_dir: autostartdir,
+ strip_directory: true
+ )
+endif
diff --git a/autostart/gnome-keyring-gpg-pantheon.desktop b/autostart/ubuntu/gnome-keyring-gpg-pantheon.desktop
similarity index 100%
rename from autostart/gnome-keyring-gpg-pantheon.desktop
rename to autostart/ubuntu/gnome-keyring-gpg-pantheon.desktop
diff --git a/autostart/gnome-keyring-pkcs11-pantheon.desktop b/autostart/ubuntu/gnome-keyring-pkcs11-pantheon.desktop
similarity index 100%
rename from autostart/gnome-keyring-pkcs11-pantheon.desktop
rename to autostart/ubuntu/gnome-keyring-pkcs11-pantheon.desktop
diff --git a/autostart/gnome-keyring-secrets-pantheon.desktop b/autostart/ubuntu/gnome-keyring-secrets-pantheon.desktop
similarity index 100%
rename from autostart/gnome-keyring-secrets-pantheon.desktop
rename to autostart/ubuntu/gnome-keyring-secrets-pantheon.desktop
diff --git a/autostart/gnome-keyring-ssh-pantheon.desktop b/autostart/ubuntu/gnome-keyring-ssh-pantheon.desktop
similarity index 100%
rename from autostart/gnome-keyring-ssh-pantheon.desktop
rename to autostart/ubuntu/gnome-keyring-ssh-pantheon.desktop
diff --git a/autostart/onboard-autostart-pantheon.desktop b/autostart/ubuntu/onboard-autostart-pantheon.desktop
similarity index 100%
rename from autostart/onboard-autostart-pantheon.desktop
rename to autostart/ubuntu/onboard-autostart-pantheon.desktop
diff --git a/autostart/orca-autostart-pantheon.desktop b/autostart/ubuntu/orca-autostart-pantheon.desktop
similarity index 100%
rename from autostart/orca-autostart-pantheon.desktop
rename to autostart/ubuntu/orca-autostart-pantheon.desktop
diff --git a/autostart/user-dirs-update-gtk-pantheon.desktop b/autostart/ubuntu/user-dirs-update-gtk-pantheon.desktop
similarity index 100%
rename from autostart/user-dirs-update-gtk-pantheon.desktop
rename to autostart/ubuntu/user-dirs-update-gtk-pantheon.desktop
diff --git a/gnome-session/meson.build b/gnome-session/meson.build
new file mode 100644
index 0000000..b9245a1
--- /dev/null
+++ b/gnome-session/meson.build
@@ -0,0 +1,11 @@
+fallback_session = get_option('fallback-session')
+
+session_configuration = configuration_data()
+session_configuration.set('FALLBACK_SESSION', fallback_session)
+
+pantheon_session = configure_file(
+ input: 'pantheon.session.in',
+ output: '@BASENAME@',
+ configuration: session_configuration,
+ install_dir: join_paths(datadir, 'gnome-session', 'sessions')
+)
diff --git a/gnome-session/pantheon.session b/gnome-session/pantheon.session.in
similarity index 94%
rename from gnome-session/pantheon.session
rename to gnome-session/pantheon.session.in
index 1626393..7bc1814 100644
--- a/gnome-session/pantheon.session
+++ b/gnome-session/pantheon.session.in
@@ -1,5 +1,5 @@
[GNOME Session]
Name=Pantheon
RequiredComponents=gala;gala-daemon;org.gnome.SettingsDaemon.A11ySettings;org.gnome.SettingsDaemon.Clipboard;org.gnome.SettingsDaemon.Color;org.gnome.SettingsDaemon.Datetime;org.gnome.SettingsDaemon.Housekeeping;org.gnome.SettingsDaemon.Keyboard;org.gnome.SettingsDaemon.MediaKeys;org.gnome.SettingsDaemon.Mouse;org.gnome.SettingsDaemon.Power;org.gnome.SettingsDaemon.PrintNotifications;org.gnome.SettingsDaemon.Rfkill;org.gnome.SettingsDaemon.Sharing;org.gnome.SettingsDaemon.Smartcard;org.gnome.SettingsDaemon.Sound;org.gnome.SettingsDaemon.Wacom;org.gnome.SettingsDaemon.XSettings;
-FallbackSession=ubuntu
+FallbackSession=@FALLBACK_SESSION@
DesktopName=Pantheon
diff --git a/meson.build b/meson.build
new file mode 100644
index 0000000..a7d3195
--- /dev/null
+++ b/meson.build
@@ -0,0 +1,14 @@
+project('elementary-session-settings',
+ version: '5.0.3',
+ default_options: 'sysconfdir=/etc')
+
+prefix = get_option('prefix')
+datadir = join_paths(prefix, get_option('datadir'))
+
+if get_option('defaults-list')
+ subdir('applications')
+endif
+
+subdir('autostart')
+subdir('gnome-session')
+subdir('xsessions')
diff --git a/meson_options.txt b/meson_options.txt
new file mode 100644
index 0000000..4c5ac2d
--- /dev/null
+++ b/meson_options.txt
@@ -0,0 +1,11 @@
+option('defaults-list', type : 'boolean', value: true,
+ description : 'Install defaults.list')
+
+option('patched-gsd-autostarts', type : 'boolean', value: true,
+ description : 'Install patched GNOME Settings Daemon autostarts')
+
+option('patched-ubuntu-autostarts', type : 'boolean', value: true,
+ description : 'Install patched Ubuntu autostarts')
+
+option('fallback-session', type : 'string', value: 'ubuntu',
+ description : 'Fallback session to use for Pantheon')
diff --git a/xsessions/meson.build b/xsessions/meson.build
new file mode 100644
index 0000000..d144291
--- /dev/null
+++ b/xsessions/meson.build
@@ -0,0 +1,4 @@
+install_data(
+ 'pantheon.desktop',
+ install_dir: join_paths(datadir, 'xsessions')
+)