[gnome-build-meta/abderrahim/flatpak-sdk: 4/15] generate flatpak runtimes



commit fff284960e23d328ca2e4891eaa67decec3935a0
Author: Abderrahim Kitouni <a kitouni gmail com>
Date:   Tue May 1 09:15:23 2018 +0100

    generate flatpak runtimes

 elements/flatpak-runtimes.bst        |  8 ++++
 elements/flatpak/platform-image.bst  | 20 ++++++++
 elements/flatpak/platform-locale.bst | 12 +++++
 elements/flatpak/platform.bst        | 70 ++++++++++++++++++++++++++++
 elements/flatpak/sdk-debug.bst       | 13 ++++++
 elements/flatpak/sdk-docs.bst        | 13 ++++++
 elements/flatpak/sdk-image.bst       | 34 ++++++++++++++
 elements/flatpak/sdk-locale.bst      | 12 +++++
 elements/flatpak/sdk.bst             | 88 ++++++++++++++++++++++++++++++++++++
 project.conf                         |  5 ++
 10 files changed, 275 insertions(+)
---
diff --git a/elements/flatpak-runtimes.bst b/elements/flatpak-runtimes.bst
new file mode 100644
index 0000000..8e2d5bf
--- /dev/null
+++ b/elements/flatpak-runtimes.bst
@@ -0,0 +1,8 @@
+kind: stack
+depends:
+- flatpak/platform.bst
+- flatpak/platform-locale.bst
+- flatpak/sdk.bst
+- flatpak/sdk-debug.bst
+- flatpak/sdk-docs.bst
+- flatpak/sdk-locale.bst
diff --git a/elements/flatpak/platform-image.bst b/elements/flatpak/platform-image.bst
new file mode 100644
index 0000000..371f6d4
--- /dev/null
+++ b/elements/flatpak/platform-image.bst
@@ -0,0 +1,20 @@
+kind: compose
+depends:
+- filename: sdk-platform.bst
+  type: build
+- filename: split-locales.bst
+  junction: freedesktop-sdk.bst
+  type: build
+- filename: split-docs.bst
+  junction: freedesktop-sdk.bst
+  type: build
+config:
+  include:
+  - runtime
+public:
+  bst:
+    split-rules:
+      docs:
+      - '%{datadir}/runtime/docs/**'
+      locale:
+      - '%{datadir}/runtime/locale/**'
diff --git a/elements/flatpak/platform-locale.bst b/elements/flatpak/platform-locale.bst
new file mode 100644
index 0000000..f52c377
--- /dev/null
+++ b/elements/flatpak/platform-locale.bst
@@ -0,0 +1,12 @@
+kind: flatpak_image
+depends:
+- filename: flatpak/platform-image.bst
+  type: build
+config:
+  directory: '%{datadir}/runtime/locale'
+  metadata:
+    Runtime:
+      name: org.gnome.Platform.Locale
+
+    ExtensionOf:
+      ref: runtime/org.gnome.Platform/%{arch}/%{branch}
diff --git a/elements/flatpak/platform.bst b/elements/flatpak/platform.bst
new file mode 100644
index 0000000..049f10a
--- /dev/null
+++ b/elements/flatpak/platform.bst
@@ -0,0 +1,70 @@
+kind: flatpak_image
+depends:
+- filename: flatpak/platform-image.bst
+  type: build
+config:
+  directory: '%{prefix}'
+  exclude:
+  - debug
+  - docs
+  - locale
+  metadata:
+    Runtime:
+      name: org.gnome.Platform
+      runtime: org.gnome.Platform/%{arch}/%{branch}
+      sdk: org.gnome.Sdk/%{arch}/%{branch}
+
+    Environment:
+      GI_TYPELIB_PATH: /app/lib/girepository-1.0
+      GST_PLUGIN_SYSTEM_PATH: /app/lib/gstreamer-1.0:/usr/lib/extensions/gstreamer-1.0:/usr/lib/gstreamer-1.0
+      XDG_DATA_DIRS: /app/share:/usr/share:/usr/share/runtime/share:/run/host/share
+
+    Extension org.gnome.Platform.Locale:
+      directory: share/runtime/locale
+      autodelete: true
+      locale-subset: true
+
+    # Copied from sdk/elements/platform.bst from freedesktop-sdk because
+    # bst doesn't support inheriting extensions.
+    # When syncing, skip the Locale extension
+    'Extension org.freedesktop.Platform.GL':
+      versions: "1.6;1.4"
+      version: "1.4"
+      directory: "%{lib}/GL"
+      subdirectories: "true"
+      no-autodownload: "true"
+      autodelete: "false"
+      add-ld-path: "lib"
+      merge-dirs: "vulkan/icd.d;glvnd/egl_vendor.d"
+      download-if: "active-gl-driver"
+      enable-if: "active-gl-driver"
+
+    'Extension org.freedesktop.Platform.Timezones':
+      directory: "share/zoneinfo"
+
+    'Extension org.freedesktop.Platform.GStreamer':
+      directory: "lib/extensions/gstreamer-1.0"
+      subdirectories: "true"
+
+    'Extension org.freedesktop.Platform.Icontheme':
+      directory: "share/runtime/share/icons"
+      subdirectories: "true"
+      no-autodownload: "true"
+      version: "1.0"
+
+    'Extension org.gtk.Gtk3theme':
+      directory: "share/runtime/share/themes"
+      subdirectories: "true"
+      subdirectory-suffix: "gtk-3.0"
+      no-autodownload: "true"
+      version: "3.22"
+
+    'Extension org.freedesktop.Platform.VAAPI.Intel':
+      directory: "%{lib}/dri/intel-vaapi-driver"
+      autodelete: "false"
+
+    'Extension org.freedesktop.Platform.html5-codecs':
+      directory: "%{lib}/ffmpeg"
+      add-ld-path: "lib"
+      autodelete: "false"
+
diff --git a/elements/flatpak/sdk-debug.bst b/elements/flatpak/sdk-debug.bst
new file mode 100644
index 0000000..4f2c6ad
--- /dev/null
+++ b/elements/flatpak/sdk-debug.bst
@@ -0,0 +1,13 @@
+kind: flatpak_image
+depends:
+- filename: flatpak/sdk-image.bst
+  type: build
+config:
+  directory: '%{debugdir}'
+  metadata:
+    Runtime:
+      name: org.gnome.Sdk.Debug
+
+    ExtensionOf:
+      ref: runtime/org.gnome.Sdk/%{arch}/%{branch}
+
diff --git a/elements/flatpak/sdk-docs.bst b/elements/flatpak/sdk-docs.bst
new file mode 100644
index 0000000..800297f
--- /dev/null
+++ b/elements/flatpak/sdk-docs.bst
@@ -0,0 +1,13 @@
+kind: flatpak_image
+depends:
+- filename: flatpak/sdk-image.bst
+  type: build
+config:
+  directory: '%{datadir}/runtime/docs'
+  metadata:
+    Runtime:
+      name: org.gnome.Sdk.Docs
+
+    ExtensionOf:
+      ref: runtime/org.gnome.Sdk/%{arch}/%{branch}
+
diff --git a/elements/flatpak/sdk-image.bst b/elements/flatpak/sdk-image.bst
new file mode 100644
index 0000000..5fa0e36
--- /dev/null
+++ b/elements/flatpak/sdk-image.bst
@@ -0,0 +1,34 @@
+kind: compose
+depends:
+- filename: sdk.bst
+  type: build
+- filename: base/man-db-generate.bst
+  junction: freedesktop-sdk.bst
+  type: build
+- filename: split-locales.bst
+  junction: freedesktop-sdk.bst
+  type: build
+- filename: split-docs.bst
+  junction: freedesktop-sdk.bst
+  type: build
+- filename: flatpak-builder-configuration.bst
+  junction: freedesktop-sdk.bst
+  type: build
+- filename: multiarch-debugdir.bst
+  junction: freedesktop-sdk.bst
+  type: build
+- filename: debug-app-link.bst
+  junction: freedesktop-sdk.bst
+  type: build
+
+config:
+  include:
+  - runtime
+  - devel
+public:
+  bst:
+    split-rules:
+      docs:
+      - '%{datadir}/runtime/docs/**'
+      locale:
+      - '%{datadir}/runtime/locale/**'
diff --git a/elements/flatpak/sdk-locale.bst b/elements/flatpak/sdk-locale.bst
new file mode 100644
index 0000000..8e6382b
--- /dev/null
+++ b/elements/flatpak/sdk-locale.bst
@@ -0,0 +1,12 @@
+kind: flatpak_image
+depends:
+- filename: flatpak/sdk-image.bst
+  type: build
+config:
+  directory: '%{datadir}/runtime/locale'
+  metadata:
+    Runtime:
+      name: org.gnome.Sdk.Locale
+
+    ExtensionOf:
+      ref: runtime/org.gnome.Sdk/%{arch}/%{branch}
diff --git a/elements/flatpak/sdk.bst b/elements/flatpak/sdk.bst
new file mode 100644
index 0000000..529e21c
--- /dev/null
+++ b/elements/flatpak/sdk.bst
@@ -0,0 +1,88 @@
+kind: flatpak_image
+depends:
+- filename: flatpak/sdk-image.bst
+  type: build
+config:
+  directory: '%{prefix}'
+  exclude:
+  - debug
+  - docs
+  - locale
+  metadata:
+    Runtime:
+      name: org.gnome.Sdk
+      runtime: org.gnome.Platform/%{arch}/%{branch}
+      sdk: org.gnome.Sdk/%{arch}/%{branch}
+
+    Environment:
+      GI_TYPELIB_PATH: /app/lib/girepository-1.0
+      GST_PLUGIN_SYSTEM_PATH: /app/lib/gstreamer-1.0:/usr/lib/extensions/gstreamer-1.0:/usr/lib/gstreamer-1.0
+      XDG_DATA_DIRS: /app/share:/usr/share:/usr/share/runtime/share:/run/host/share
+
+    Extension org.gnome.Sdk.Debug:
+      directory: lib/debug
+      autodelete: true
+      no-autodownload: true
+
+    Extension org.gnome.Sdk.Docs:
+      directory: share/runtime/docs
+      bundle: true
+      autodelete: true
+      no-autodownload: true
+
+    Extension org.gnome.Sdk.Locale:
+      directory: share/runtime/locale
+      autodelete: true
+      locale-subset: true
+
+    # Copied from sdk/elements/sdk.bst from freedesktop-sdk because
+    # bst doesn't support inheriting extensions
+    # When syncing, skip the Debug, Docs and Locale extensions
+    'Extension org.freedesktop.Platform.GL':
+      versions: "1.6;1.4"
+      version: "1.4"
+      directory: "%{lib}/GL"
+      subdirectories: "true"
+      no-autodownload: "true"
+      autodelete: "false"
+      add-ld-path: "lib"
+      merge-dirs: "vulkan/icd.d;glvnd/egl_vendor.d"
+      download-if: "active-gl-driver"
+      enable-if: "active-gl-driver"
+
+    'Extension org.freedesktop.Platform.Timezones':
+      directory: "share/zoneinfo"
+
+    'Extension org.freedesktop.Platform.GStreamer':
+      directory: "lib/extensions/gstreamer-1.0"
+      subdirectories: "true"
+
+    'Extension org.freedesktop.Platform.Icontheme':
+      directory: "share/runtime/share/icons"
+      subdirectories: "true"
+      no-autodownload: "true"
+      version: "1.0"
+
+    'Extension org.gtk.Gtk3theme':
+      directory: "share/runtime/share/themes"
+      subdirectories: "true"
+      subdirectory-suffix: "gtk-3.0"
+      no-autodownload: "true"
+      version: "3.22"
+      download-if: "active-gtk-theme"
+
+    'Extension org.freedesktop.Platform.html5-codecs':
+      directory: "%{lib}/ffmpeg"
+      add-ld-path: "lib"
+
+    'Extension org.freedesktop.Sdk.Extension':
+      subdirectories: "true"
+      directory: "lib/sdk"
+      no-autodownload: "true"
+      add-ld-path: "lib"
+
+    'Extension org.freedesktop.Platform.VAAPI.Intel':
+      directory: "%{lib}/dri/intel-vaapi-driver"
+      autodelete: "false"
+      no-autodownload: "true"
+      download-if: "have-intel-gpu"
diff --git a/project.conf b/project.conf
index 7085231..11643aa 100644
--- a/project.conf
+++ b/project.conf
@@ -178,6 +178,7 @@ shell:
   - '${XDG_RUNTIME_DIR}'
 
 variables:
+  branch: master
   abi: "gnu"
   gcc_triplet: "%{arch}-linux-%{abi}"
   lib: "lib/%{gcc_triplet}"
@@ -195,3 +196,7 @@ plugins:
   path: plugins
   sources:
     crate: 0
+- origin: pip
+  package-name: buildstream-external
+  elements:
+    flatpak_image: 0


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]