[RFC,meta-gnome,13/16] gnome-shell: add recipe for gnome-shell.

Submitted by brendank310 on Oct. 29, 2018, 4:41 p.m. | Patch ID: 155958

Details

Message ID ef386b75ac95432d2fa8c4bcfcda95f16db6d555.1540830650.git.brendank310@gmail.com
State Changes Requested
Headers show

Commit Message

brendank310 Oct. 29, 2018, 4:41 p.m.
From: Brendan Kerrigan <kerriganb@ainfosec.com>

Signed-off-by: Brendan Kerrigan <kerriganb@ainfosec.com>
---
 .../gnome-shell/0001-dont-detect-python.patch | 24 ++++++++++
 .../recipes-gnome/gnome3/gnome-shell_git.bb   | 46 +++++++++++++++++++
 2 files changed, 70 insertions(+)
 create mode 100644 meta-gnome/recipes-gnome/gnome3/gnome-shell/0001-dont-detect-python.patch
 create mode 100644 meta-gnome/recipes-gnome/gnome3/gnome-shell_git.bb

Patch hide | download patch | download mbox

diff --git a/meta-gnome/recipes-gnome/gnome3/gnome-shell/0001-dont-detect-python.patch b/meta-gnome/recipes-gnome/gnome3/gnome-shell/0001-dont-detect-python.patch
new file mode 100644
index 000000000..50d874061
--- /dev/null
+++ b/meta-gnome/recipes-gnome/gnome3/gnome-shell/0001-dont-detect-python.patch
@@ -0,0 +1,24 @@ 
+gnome-shell: Add decoration to tweak python3 path
+
+  The python detection used in the meson script doesn't
+  resolve correctly. Add a decoration to allow the
+  do_configure_prepend to sed in the correct path for
+  python3-native.
+
+  Upstream-status: Innappropriate [embedded-specific]
+
+  Signed-off-by: Brendan Kerrigan <kerriganb@ainfosec.com>
+
+diff --git a/src/meson.build b/src/meson.build
+index 178e05899..d3d8df97b 100644
+--- a/src/meson.build
++++ b/src/meson.build
+@@ -13,7 +13,7 @@ script_data.set('libdir', libdir)
+ script_data.set('libexecdir', libexecdir)
+ script_data.set('pkgdatadir', pkgdatadir)
+ script_data.set('pkglibdir', pkglibdir)
+-script_data.set('PYTHON', python.path())
++script_data.set('PYTHON', '@PYTHON3_PATH@')
+ script_data.set('VERSION', meson.project_version())
+ 
+ foreach tool : ['gnome-shell-extension-tool', 'gnome-shell-perf-tool']
diff --git a/meta-gnome/recipes-gnome/gnome3/gnome-shell_git.bb b/meta-gnome/recipes-gnome/gnome3/gnome-shell_git.bb
new file mode 100644
index 000000000..d8f8a4c77
--- /dev/null
+++ b/meta-gnome/recipes-gnome/gnome3/gnome-shell_git.bb
@@ -0,0 +1,46 @@ 
+DESCRIPTION = "GNOME Shell"
+LICENSE = "GPLv2"
+DEPENDS = " \
+            glib-2.0 \
+            gsettings-desktop-schemas \
+            gjs \
+            gdm \
+            gnome-desktop3 \
+            mutter \
+            wayland \
+            wayland-protocols \
+            evolution-data-server \
+            libcroco \
+            polkit \
+            gnome-bluetooth \
+            gstreamer \
+            keybinder \
+            gnome-settings-daemon \
+            ibus \
+            librsvg \
+            sassc-native \
+          "
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
+
+SRC_URI = "git://gitlab.gnome.org/GNOME/gnome-shell.git;protocol=http;branch=master;tag=3.30.1 \
+           file://0001-dont-detect-python.patch \
+           "
+
+RDEPENDS_gnome-shell += " python3-core python3-pygobject gnome-settings-daemon gnome-bluetooth gdm "
+S = "${WORKDIR}/git"
+
+inherit pkgconfig meson gobject-introspection gettext
+
+EXTRA_OEMESON += " -Dman=false -Dnetworkmanager=false "
+
+FILES_${PN} += "${datadir}"
+FILES_${PN} += "${libdir}"
+FILES_${PN} += "${bindir}"
+
+do_configure_prepend() {
+	# Fixup the gsettings version
+	sed -i 's^3.27.90^3.24.1^g' ${S}/meson.build
+	sed -i "s^@PYTHON3_PATH@^${RECIPE_SYSROOT_NATIVE}/${bindir}/python3^g" ${S}/meson.build
+}
+

Comments

Khem Raj Oct. 30, 2018, 2:44 a.m.
On Mon, Oct 29, 2018 at 9:43 AM brendank310 <brendank310@gmail.com> wrote:

> From: Brendan Kerrigan <kerriganb@ainfosec.com>
>
> Signed-off-by: Brendan Kerrigan <kerriganb@ainfosec.com>
> ---
>  .../gnome-shell/0001-dont-detect-python.patch | 24 ++++++++++
>  .../recipes-gnome/gnome3/gnome-shell_git.bb   | 46 +++++++++++++++++++
>  2 files changed, 70 insertions(+)
>  create mode 100644
> meta-gnome/recipes-gnome/gnome3/gnome-shell/0001-dont-detect-python.patch
>  create mode 100644 meta-gnome/recipes-gnome/gnome3/gnome-shell_git.bb
>
> diff --git
> a/meta-gnome/recipes-gnome/gnome3/gnome-shell/0001-dont-detect-python.patch
> b/meta-gnome/recipes-gnome/gnome3/gnome-shell/0001-dont-detect-python.patch
> new file mode 100644
> index 000000000..50d874061
> --- /dev/null
> +++
> b/meta-gnome/recipes-gnome/gnome3/gnome-shell/0001-dont-detect-python.patch
> @@ -0,0 +1,24 @@
> +gnome-shell: Add decoration to tweak python3 path
> +
> +  The python detection used in the meson script doesn't
> +  resolve correctly. Add a decoration to allow the
> +  do_configure_prepend to sed in the correct path for
> +  python3-native.
> +
> +  Upstream-status: Innappropriate [embedded-specific]
> +
> +  Signed-off-by: Brendan Kerrigan <kerriganb@ainfosec.com>
> +
> +diff --git a/src/meson.build b/src/meson.build
> +index 178e05899..d3d8df97b 100644
> +--- a/src/meson.build
> ++++ b/src/meson.build
> +@@ -13,7 +13,7 @@ script_data.set('libdir', libdir)
> + script_data.set('libexecdir', libexecdir)
> + script_data.set('pkgdatadir', pkgdatadir)
> + script_data.set('pkglibdir', pkglibdir)
> +-script_data.set('PYTHON', python.path())
> ++script_data.set('PYTHON', '@PYTHON3_PATH@')
> + script_data.set('VERSION', meson.project_version())
> +
> + foreach tool : ['gnome-shell-extension-tool', 'gnome-shell-perf-tool']
> diff --git a/meta-gnome/recipes-gnome/gnome3/gnome-shell_git.bb
> b/meta-gnome/recipes-gnome/gnome3/gnome-shell_git.bb
> new file mode 100644
> index 000000000..d8f8a4c77
> --- /dev/null
> +++ b/meta-gnome/recipes-gnome/gnome3/gnome-shell_git.bb
> @@ -0,0 +1,46 @@
> +DESCRIPTION = "GNOME Shell"
> +LICENSE = "GPLv2"
> +DEPENDS = " \
> +            glib-2.0 \
> +            gsettings-desktop-schemas \
> +            gjs \
> +            gdm \
> +            gnome-desktop3 \
> +            mutter \
> +            wayland \
> +            wayland-protocols \


Wayland is a distro feature so we need to control these depends with that
knob

>
> +            evolution-data-server \
> +            libcroco \
> +            polkit \
> +            gnome-bluetooth \
> +            gstreamer \
> +            keybinder \
> +            gnome-settings-daemon \
> +            ibus \
> +            librsvg \
> +            sassc-native \
> +          "
> +
> +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
> +
> +SRC_URI = "git://
> gitlab.gnome.org/GNOME/gnome-shell.git;protocol=http;branch=master;tag=3.30.1
> \
> +           file://0001-dont-detect-python.patch \
> +           "
> +
> +RDEPENDS_gnome-shell += " python3-core python3-pygobject
> gnome-settings-daemon gnome-bluetooth gdm "
> +S = "${WORKDIR}/git"
> +
> +inherit pkgconfig meson gobject-introspection gettext
> +
> +EXTRA_OEMESON += " -Dman=false -Dnetworkmanager=false "
> +
> +FILES_${PN} += "${datadir}"
> +FILES_${PN} += "${libdir}"
> +FILES_${PN} += "${bindir}"
> +
> +do_configure_prepend() {
> +       # Fixup the gsettings version
> +       sed -i 's^3.27.90^3.24.1^g' ${S}/meson.build
> +       sed -i "s^@PYTHON3_PATH@^${RECIPE_SYSROOT_NATIVE}/${bindir}/python3^g"
> ${S}/meson.build
> +}
> +
> --
> 2.17.1
>
> --
> _______________________________________________
> Openembedded-devel mailing list
> Openembedded-devel@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-devel
>
Ross Burton Oct. 30, 2018, 11:20 a.m.
On Mon, 29 Oct 2018 at 16:43, brendank310 <brendank310@gmail.com> wrote:
> +SRC_URI = "git://gitlab.gnome.org/GNOME/gnome-shell.git;protocol=http;branch=master;tag=3.30.1 \
> +           file://0001-dont-detect-python.patch \
> +           "

Tarball is preferred.

> +RDEPENDS_gnome-shell += " python3-core python3-pygobject gnome-settings-daemon gnome-bluetooth gdm "

Use ${PN} instead of gnome-shell so this works for multilib.

> +EXTRA_OEMESON += " -Dman=false -Dnetworkmanager=false "

Respecting the api-documentation DISTRO_FEATURE would be good here.
See manpages.bbclass.

> +FILES_${PN} += "${libdir}"

Almost definitely wrong.

> +FILES_${PN} += "${bindir}"

This is in FILES by default.

> +do_configure_prepend() {
> +       # Fixup the gsettings version
> +       sed -i 's^3.27.90^3.24.1^g' ${S}/meson.build

Do this as a patch so we can see *why*.

Ross