pantheon.elementary-session-settings: build with meson
This commit is contained in:
parent
614c493592
commit
7e7a155a9c
2 changed files with 297 additions and 15 deletions
|
@ -13,6 +13,9 @@
|
|||
, elementary-settings-daemon
|
||||
, runtimeShell
|
||||
, writeText
|
||||
, meson
|
||||
, ninja
|
||||
, git
|
||||
}:
|
||||
|
||||
let
|
||||
|
@ -77,17 +80,23 @@ stdenv.mkDerivation rec {
|
|||
sha256 = "1vrjm7bklkfv0dyafm312v4hxzy6lb7p1ny4ijkn48kr719gc71k";
|
||||
};
|
||||
|
||||
passthru = {
|
||||
updateScript = pantheon.updateScript {
|
||||
inherit repoName;
|
||||
attrPath = pname;
|
||||
};
|
||||
};
|
||||
postPatch = ''
|
||||
${git}/bin/git apply --verbose ${./meson.patch}
|
||||
'';
|
||||
|
||||
dontBuild = true;
|
||||
dontConfigure = true;
|
||||
nativeBuildInputs = [
|
||||
meson
|
||||
ninja
|
||||
];
|
||||
|
||||
installPhase = ''
|
||||
mesonFlags = [
|
||||
"-Ddefaults-list=false"
|
||||
"-Dpatched-gsd-autostarts=false"
|
||||
"-Dpatched-ubuntu-autostarts=false"
|
||||
"-Dfallback-session=GNOME"
|
||||
];
|
||||
|
||||
postInstall = ''
|
||||
mkdir -p $out/share/applications
|
||||
cp -av ${./pantheon-mimeapps.list} $out/share/applications/pantheon-mimeapps.list
|
||||
|
||||
|
@ -98,15 +107,9 @@ stdenv.mkDerivation rec {
|
|||
|
||||
cp "${dockitemAutostart}" $out/etc/xdg/autostart/default-elementary-dockitems.desktop
|
||||
|
||||
mkdir -p $out/share/gnome-session/sessions
|
||||
cp -av gnome-session/pantheon.session $out/share/gnome-session/sessions
|
||||
|
||||
mkdir -p $out/libexec
|
||||
substitute ${executable} $out/libexec/pantheon --subst-var out
|
||||
chmod +x $out/libexec/pantheon
|
||||
|
||||
mkdir -p $out/share/xsessions
|
||||
cp -av xsessions/pantheon.desktop $out/share/xsessions
|
||||
'';
|
||||
|
||||
postFixup = ''
|
||||
|
@ -123,6 +126,13 @@ stdenv.mkDerivation rec {
|
|||
done
|
||||
'';
|
||||
|
||||
passthru = {
|
||||
updateScript = pantheon.updateScript {
|
||||
inherit repoName;
|
||||
attrPath = pname;
|
||||
};
|
||||
};
|
||||
|
||||
meta = with stdenv.lib; {
|
||||
description = "Session settings for elementary";
|
||||
homepage = https://github.com/elementary/session-settings;
|
||||
|
|
|
@ -0,0 +1,272 @@
|
|||
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')
|
||||
+)
|
Loading…
Reference in a new issue