[gnome-build-meta/sam/freedesktop-sdk-base: 9/12] Allow using Freedesktop SDK 1.8 as the base, instead of Debian



commit 9399df188b6b5db3204a4627bd0de874e2a29cb8
Author: Sam Thursfield <sam thursfield codethink co uk>
Date:   Tue Feb 13 13:03:15 2018 +0000

    Allow using Freedesktop SDK 1.8 as the base, instead of Debian
    
    The default Debian 9 is still used by default, to build against the
    Freedesktop SDK you need to pass `-o base freedesktop1.8` when building.

 elements/base.bst                                       | 17 ++++++++++++-----
 elements/base/debian9.bst                               | 15 +++++++++++++++
 elements/base/{ => debian9}/base-configure.bst          |  2 +-
 elements/base/{ => debian9}/base-system.bst             |  0
 elements/base/{ => debian9}/ninja.bst                   |  2 +-
 elements/base/freedesktop1.8.bst                        | 12 ++++++++++++
 .../base/freedesktop1.8/freedesktop-sdk-junction.bst    | 12 ++++++++++++
 elements/base/linker-priority.bst                       |  2 --
 elements/core-deps/gtk-doc.bst                          |  6 ++++++
 project.conf                                            |  9 +++++++++
 10 files changed, 68 insertions(+), 9 deletions(-)
---
diff --git a/elements/base.bst b/elements/base.bst
index 83fd55f..ee2fce9 100644
--- a/elements/base.bst
+++ b/elements/base.bst
@@ -1,9 +1,16 @@
 kind: stack
-description: Abstract base system providing dependencies for GNOME.
-depends:
-- base/base-configure.bst
-- base/linker-priority.bst
-- base/ninja.bst
+
+description: |
+  Base system providing dependencies for GNOME.
+
+(?):
+- base == 'debian9':
+    depends:
+    - base/debian9.bst
+- base == 'freedesktop1.8':
+    depends:
+    - base/freedesktop1.8.bst
+
 public:
   bst:
     integration-commands:
diff --git a/elements/base/debian9.bst b/elements/base/debian9.bst
new file mode 100644
index 0000000..a4f803c
--- /dev/null
+++ b/elements/base/debian9.bst
@@ -0,0 +1,15 @@
+kind: stack
+
+description: |
+  Base for building GNOME based off Debian 9.
+
+  Created using https://gitlab.com/BuildStream/debootstrap-ostree/
+
+  For more information, see https://wiki.gnome.org/Projects/BuildStream/Infrastructure
+
+depends:
+- base/debian9/base-configure.bst
+- base/debian9/base-system.bst
+- base/crates.bst
+- base/linker-priority.bst
+- base/debian9/ninja.bst
diff --git a/elements/base/base-configure.bst b/elements/base/debian9/base-configure.bst
similarity index 96%
rename from elements/base/base-configure.bst
rename to elements/base/debian9/base-configure.bst
index 0bb07ae..a44ea19 100644
--- a/elements/base/base-configure.bst
+++ b/elements/base/debian9/base-configure.bst
@@ -1,6 +1,6 @@
 kind: script
 depends:
-- filename: base/base-system.bst
+- filename: base/debian9/base-system.bst
   type: build
 
 variables:
diff --git a/elements/base/base-system.bst b/elements/base/debian9/base-system.bst
similarity index 100%
rename from elements/base/base-system.bst
rename to elements/base/debian9/base-system.bst
diff --git a/elements/base/ninja.bst b/elements/base/debian9/ninja.bst
similarity index 95%
rename from elements/base/ninja.bst
rename to elements/base/debian9/ninja.bst
index 758ef46..f49516c 100644
--- a/elements/base/ninja.bst
+++ b/elements/base/debian9/ninja.bst
@@ -14,7 +14,7 @@ sources:
   ref: e234a7bdb6c42f4539c0ab09b624f191287c2c10
 
 depends:
-- base/base-configure.bst
+- base/debian9/base-configure.bst
 - base/linker-priority.bst
 
 environment:
diff --git a/elements/base/freedesktop1.8.bst b/elements/base/freedesktop1.8.bst
new file mode 100644
index 0000000..173921e
--- /dev/null
+++ b/elements/base/freedesktop1.8.bst
@@ -0,0 +1,12 @@
+kind: stack
+
+description: |
+  Base for building GNOME using the Freedesktop SDK 1.8.
+
+  See: https://gitlab.com/freedesktop-sdk/freedesktop-sdk
+
+depends:
+- junction: base/freedesktop1.8/freedesktop-sdk-junction.bst
+  filename: desktop-image.bst
+- base/crates.bst
+- base/linker-priority.bst
diff --git a/elements/base/freedesktop1.8/freedesktop-sdk-junction.bst 
b/elements/base/freedesktop1.8/freedesktop-sdk-junction.bst
new file mode 100644
index 0000000..d980698
--- /dev/null
+++ b/elements/base/freedesktop1.8/freedesktop-sdk-junction.bst
@@ -0,0 +1,12 @@
+kind: junction
+
+sources:
+- kind: git
+  url: https://gitlab.com/freedesktop-sdk/freedesktop-sdk/
+  track: valentindavid/python-dynload
+  ref: 0df1f375ce2b715c61f7c1b1eb24db81d1294f43
+
+config:
+  options:
+    target_arch: '%{arch}'
+  path: sdk/
diff --git a/elements/base/linker-priority.bst b/elements/base/linker-priority.bst
index f1baa9d..0623202 100644
--- a/elements/base/linker-priority.bst
+++ b/elements/base/linker-priority.bst
@@ -3,5 +3,3 @@ description: An element to ensure that /usr/lib is always the priority linker pa
 sources:
 - kind: local
   path: files/linker-priority
-depends:
-- base/base-configure.bst
diff --git a/elements/core-deps/gtk-doc.bst b/elements/core-deps/gtk-doc.bst
index d8a6e35..3fa43c1 100644
--- a/elements/core-deps/gtk-doc.bst
+++ b/elements/core-deps/gtk-doc.bst
@@ -7,3 +7,9 @@ depends:
 - core-deps/gettext.bst
 - core-deps/yelp-tools.bst
 - base.bst
+
+variables:
+  (?):
+  - base == 'freedesktop1.8':
+      conf-local:
+        "--with-xml-catalog=/usr/etc/xml/catalog"
diff --git a/project.conf b/project.conf
index a06b10d..f0f7491 100644
--- a/project.conf
+++ b/project.conf
@@ -22,6 +22,15 @@ options:
     - aarch64
     - i386
     - x86_64
+    variable: arch
+
+  base:
+    type: enum
+    description: Operating system to use as a base.
+    values:
+    - debian9
+    - freedesktop1.8
+    default: debian9
 
 
 # Source aliases.


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