[gnome-clocks] [snap] libgweather switched to Meson
- From: Ken VanDine <kvandine src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-clocks] [snap] libgweather switched to Meson
- Date: Mon, 26 Feb 2018 02:30:25 +0000 (UTC)
commit b501c0defa9bf02341907d557621908293c4fad9
Author: Ken VanDine <kvandine gnome org>
Date: Sun Feb 25 21:29:17 2018 -0500
[snap] libgweather switched to Meson
snap/plugins/x-meson.py | 68 +++++++++++++++++++++++++++++++++++++++++++++++
snap/snapcraft.yaml | 14 ++++-----
2 files changed, 74 insertions(+), 8 deletions(-)
---
diff --git a/snap/plugins/x-meson.py b/snap/plugins/x-meson.py
new file mode 100644
index 0000000..4bfb1cd
--- /dev/null
+++ b/snap/plugins/x-meson.py
@@ -0,0 +1,68 @@
+# -*- Mode:Python; indent-tabs-mode:nil; tab-width:4 -*-
+#
+
+import os
+import snapcraft
+
+
+class MesonPlugin(snapcraft.BasePlugin):
+
+ @classmethod
+ def schema(cls):
+ schema = super().schema()
+ schema['properties']['meson-parameters'] = {
+ 'type': 'array',
+ 'minitems': 1,
+ 'uniqueItems': True,
+ 'items': {
+ 'type': 'string',
+ },
+ 'default': [],
+ }
+
+ return schema
+
+ @classmethod
+ def get_build_properties(cls):
+ return ['meson-parameters']
+
+ def __init__(self, name, options, project):
+ super().__init__(name, options, project)
+ self.snapbuildname = 'snapbuild'
+ self.mesonbuilddir = os.path.join(self.builddir, self.snapbuildname)
+ self.build_packages.append('meson')
+ self.build_packages.append('ninja-build')
+
+ def build(self):
+ super().build()
+ self._run_meson()
+ self._run_ninja_build_default()
+ self._run_ninja_install()
+
+ def _run_meson(self):
+ os.makedirs(self.mesonbuilddir, exist_ok=True)
+ meson_command = ['meson']
+ if self.options.meson_parameters:
+ meson_command.extend(self.options.meson_parameters)
+ meson_command.append(self.snapbuildname)
+ env = os.environ.copy()
+ env['PKG_CONFIG_PATH'] = self.project.stage_dir + '/usr/lib/pkgconfig:/usr/lib/' +
self.project.arch_triplet + '/pkgconfig:/usr/lib/pkgconfig'
+ env['VAPIDIR'] = self.project.stage_dir + '/usr/share/vala/vapi'
+ env['GI_TYPELIB_PATH'] = self.project.stage_dir + '/usr/lib/' + self.project.arch_triplet +
'/girepository-1.0:/usr/lib/' + self.project.arch_triplet + '/girepository-1.0'
+ env['XDG_DATA_DIRS'] = self.project.stage_dir + '/usr/share:/usr/share'
+ self.run(meson_command, env=env)
+
+ def _run_ninja_build_default(self):
+ ninja_command = ['ninja']
+ env = os.environ.copy()
+ env['PKG_CONFIG_PATH'] = self.project.stage_dir + '/usr/lib/pkgconfig:/usr/lib/' +
self.project.arch_triplet + '/pkgconfig:/usr/lib/pkgconfig'
+ env['VAPIDIR'] = self.project.stage_dir + '/usr/share/vala/vapi'
+ env['GI_TYPELIB_PATH'] = self.project.stage_dir + '/usr/lib/' + self.project.arch_triplet +
'/girepository-1.0:/usr/lib/' + self.project.arch_triplet + '/girepository-1.0'
+ env['XDG_DATA_DIRS'] = self.project.stage_dir + '/usr/share:/usr/share'
+ self.run(ninja_command, env=env, cwd=self.mesonbuilddir)
+
+ def _run_ninja_install(self):
+ env = os.environ.copy()
+ env['DESTDIR'] = self.installdir
+ ninja_install_command = ['ninja', 'install']
+ self.run(ninja_install_command, env=env, cwd=self.mesonbuilddir)
diff --git a/snap/snapcraft.yaml b/snap/snapcraft.yaml
index 9bebf6e..434f86b 100644
--- a/snap/snapcraft.yaml
+++ b/snap/snapcraft.yaml
@@ -41,8 +41,8 @@ parts:
libgweather:
source: https://git.gnome.org/browse/libgweather
source-type: git
- plugin: autotools
- configflags: [--prefix=/snap/gnome-clocks/current/usr]
+ plugin: meson
+ meson-parameters: [--prefix=/usr]
organize:
snap/gnome-clocks/current/usr: usr
build-attributes: ['no-system-libraries']
@@ -65,13 +65,12 @@ parts:
- valac
- libgeocode-glib-dev
- libgladeui-dev
-
gnome-clocks:
- after: [desktop-gnome-platform]
+ after: [libgweather, desktop-gnome-platform]
source: .
source-type: git
- plugin: autotools
- configflags: [--prefix=/snap/gnome-clocks/current/usr]
+ plugin: meson
+ meson-parameters: [--prefix=/usr]
organize:
snap/gnome-clocks/current/usr: usr
prepare:
@@ -79,7 +78,7 @@ parts:
install: |
mkdir -p $SNAPCRAFT_PART_INSTALL/meta/gui/
cp ../src/data/icons/hicolor/256x256/apps/org.gnome.clocks.png $SNAPCRAFT_PART_INSTALL/meta/gui/
- cp _build/data/org.gnome.clocks.desktop $SNAPCRAFT_PART_INSTALL/meta/gui/
+ cp snapbuild/data/org.gnome.clocks.desktop $SNAPCRAFT_PART_INSTALL/meta/gui/
build-attributes: ['no-system-libraries']
build-packages:
- meson
@@ -96,7 +95,6 @@ parts:
- libgnome-desktop-3-dev
- libgsound-dev
- libgtk-3-dev
- - libgweather-3-dev
- pkg-config
- valac
- yelp-tools
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]