summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJavier Jardón <jjardon@gnome.org>2014-09-09 15:05:07 (GMT)
committerJavier Jardón <jjardon@gnome.org>2015-09-25 14:50:38 (GMT)
commitc4630e790064adca0fb20a5945618d4809a6f983 (patch)
tree5f8336deb0534bb968180b3f7fb785fdb11208d6
parent520e291cdb59fb4702e62550af2e753cc0bfdb64 (diff)
downloaddefinitions-c4630e790064adca0fb20a5945618d4809a6f983.tar.gz
Add GNOME stratum, system and cluster
This introduces a second version of libxkbcommon. This is unavoidable really as (a) libinput requires libxkbcommon, (b) Mutter requires libxkbcommon with X11 support enabled, and (c) X11 support in libxkbcommon requires xcb-xkb. To avoid the input-common stratum depending on the whole of X11, we do two variants of libxkbcommon and, in the case where X11 support is needed, one overrides the other. Change-Id: Ib6a47a4eb859d7b32c94f0cb05add774db6d15c8
-rw-r--r--clusters/gnome-system-x86_64-deploy.morph23
-rw-r--r--strata/gnome.morph359
-rw-r--r--strata/gnome/autoconf-archive.morph5
-rw-r--r--strata/gnome/caribou.morph5
-rw-r--r--strata/gnome/clutter.morph6
-rw-r--r--strata/gnome/cogl.morph6
-rw-r--r--strata/gnome/d-feet.morph5
-rw-r--r--strata/gnome/dconf.morph5
-rw-r--r--strata/gnome/evolution-data-server.morph5
-rw-r--r--strata/gnome/gconf.morph5
-rw-r--r--strata/gnome/geoclue.morph5
-rw-r--r--strata/gnome/gnome-keyring.morph5
-rw-r--r--strata/gnome/gnome-session.morph5
-rw-r--r--strata/gnome/gnome-settings-daemon.morph5
-rw-r--r--strata/gnome/gnome-shell.morph5
-rw-r--r--strata/gnome/gnulib.morph8
-rw-r--r--strata/gnome/gvfs.morph5
-rw-r--r--strata/gnome/ibus.morph5
-rw-r--r--strata/gnome/icu.morph8
-rw-r--r--strata/gnome/libsecret.morph5
-rw-r--r--strata/gnome/mozjs17.morph17
-rw-r--r--strata/gnome/mozjs24.morph17
-rw-r--r--strata/gnome/p11-kit.morph5
-rw-r--r--strata/gnome/polkit.morph5
-rw-r--r--strata/gnome/telepathy-glib.morph5
-rw-r--r--strata/gnome/upower.morph5
-rw-r--r--strata/input-common.morph7
-rw-r--r--strata/input-common/libxkbcommon-no-x11.morph12
-rw-r--r--strata/input-common/libxkbcommon.morph5
-rw-r--r--systems/gnome-system-x86_64.morph63
30 files changed, 614 insertions, 7 deletions
diff --git a/clusters/gnome-system-x86_64-deploy.morph b/clusters/gnome-system-x86_64-deploy.morph
new file mode 100644
index 0000000..195949d
--- /dev/null
+++ b/clusters/gnome-system-x86_64-deploy.morph
@@ -0,0 +1,23 @@
+name: gnome-system-x86_64-deploy
+kind: cluster
+description: |
+ Deploy a stock weston system.
+
+ The resulting image can be copied to a USB and booted from there,
+ as well as in a virtual machine.
+
+systems:
+- morph: systems/gnome-system-x86_64.morph
+ deploy:
+ gnome-system-x86_64:
+ type: rawdisk
+ location: /gnome-system-x86_64.img
+ DISK_SIZE: 6G
+ KERNEL_ARGS: vga=788
+ INITRAMFS_PATH: boot/initramfs.gz
+ subsystems:
+ - morph: systems/initramfs-x86_64.morph
+ deploy:
+ initramfs:
+ type: initramfs
+ location: boot/initramfs.gz
diff --git a/strata/gnome.morph b/strata/gnome.morph
new file mode 100644
index 0000000..bcf7a34
--- /dev/null
+++ b/strata/gnome.morph
@@ -0,0 +1,359 @@
+name: gnome
+kind: stratum
+description: GNOME stratum
+build-depends:
+- morph: strata/input-common.morph
+- morph: strata/tools.morph
+- morph: strata/gtk3.morph
+- morph: strata/audio-bluetooth.morph
+- morph: strata/libsoup-common.morph
+- morph: strata/NetworkManager-common.morph
+- morph: strata/multimedia-gstreamer.morph
+- morph: strata/network-security.morph
+- morph: strata/python-pygobject.morph
+- morph: strata/python3-core.morph
+- morph: strata/wayland-generic.morph
+- morph: strata/x-generic.morph
+chunks:
+- name: dconf
+ morph: strata/gnome/dconf.morph
+ repo: upstream:dconf
+ ref: 7c0beccf286a1dbd396fda7d40b438598a6ce7f4
+ unpetrify-ref: master
+- name: cogl
+ morph: strata/gnome/cogl.morph
+ repo: upstream:gnome/cogl
+ ref: 85e0b084592e6beef2987b02e34a3909f35708e0
+ unpetrify-ref: cogl-1.22
+- name: json-glib
+ repo: upstream:json-glib
+ ref: bfbc0b48e9256473491755766c079f73bee80724
+ unpetrify-ref: master
+ build-system: autotools
+- name: clutter
+ morph: strata/gnome/clutter.morph
+ repo: upstream:gnome/clutter
+ ref: 8e52f8c61ef2192eaf7f2208a922d3530df47d9b
+ unpetrify-ref: master
+ build-depends:
+ - cogl
+ - json-glib
+- name: gsettings-desktop-schemas
+ repo: upstream:gnome/gsettings-desktop-schemas
+ ref: db40812cd79f64c98432efd1b632c5633a27f77e
+ unpetrify-ref: master
+ build-system: autotools
+- name: itstool
+ repo: upstream:itstool
+ ref: 359be5c350fc3d869807f663cee2b028adf1f5d7
+ unpetrify-ref: master
+ build-system: autotools
+- name: yelp-xsl
+ repo: upstream:yelp-xsl
+ ref: 2dcf168dde754d18152b008473269a803d6e650b
+ unpetrify-ref: master
+ build-depends:
+ - itstool
+ build-system: autotools
+- name: yelp-tools
+ repo: upstream:yelp-tools
+ ref: 6df6bf24e385bbc1ac0b800be8a6e878f18a775c
+ unpetrify-ref: master
+ build-depends:
+ - itstool
+ - yelp-xsl
+ build-system: autotools
+- name: iso-codes
+ repo: upstream:iso-codes
+ ref: 18ac112b4b84c8f03743565fde3512a637820761
+ unpetrify-ref: master
+ build-system: autotools
+- name: gnome-desktop
+ repo: upstream:gnome/gnome-desktop
+ ref: 1dbe40fac0e9924552ce2692ec141e86ce3d5633
+ unpetrify-ref: master
+ build-depends:
+ - gsettings-desktop-schemas
+ - iso-codes
+ - yelp-tools
+ build-system: autotools
+- name: libnotify
+ repo: upstream:gnome/libnotify
+ ref: 2f2c5649ef210b1dffeb46cddf062d20e1518ccf
+ unpetrify-ref: master
+ build-system: autotools
+- name: lcms2
+ repo: upstream:lcms2
+ ref: ff42eeaf932b64af997681f0eed6be3b67ebeb18
+ unpetrify-ref: baserock/gnome
+ build-system: autotools
+- name: gconf
+ morph: strata/gnome/gconf.morph
+ repo: upstream:gconf
+ ref: 4ef012c2a62d9abd759adb3aeb9d3b9cee17f721
+ unpetrify-ref: master
+- name: ibus
+ morph: strata/gnome/ibus.morph
+ repo: upstream:ibus
+ ref: 1d678673e18e132ed53df32502b779b0a56314d5
+ unpetrify-ref: master
+ build-depends:
+ - dconf
+ - gconf
+ - iso-codes
+ - libnotify
+- name: libcanberra
+ repo: upstream:libcanberra
+ ref: c0620e432650e81062c1967cc669829dbd29b310
+ unpetrify-ref: master
+ build-system: autotools
+- name: upower
+ morph: strata/gnome/upower.morph
+ repo: upstream:upower
+ ref: 0825c162d3dc909966b10fecabbc2c1da364c1a6
+ unpetrify-ref: master
+- name: gusb
+ repo: upstream:gusb
+ ref: 0c5eb813279c67607e17dfd99087358d34c6c8f5
+ unpetrify-ref: master
+ build-system: autotools
+- name: mozjs17
+ morph: strata/gnome/mozjs17.morph
+ repo: upstream:mozilla/mozjs17
+ ref: c8e33aaaba2787d3c94eba00257051400d106e76
+ unpetrify-ref: baserock/gnome
+- name: polkit
+ morph: strata/gnome/polkit.morph
+ repo: upstream:polkit
+ ref: 5a7e3b76aa45eea43e4bdc403ddd4c6e1a4c6542
+ unpetrify-ref: master
+ build-depends:
+ - mozjs17
+- name: colord
+ repo: upstream:colord
+ ref: e68f251b753297fcd1fc2bb7356588945bd3e69b
+ unpetrify-ref: baserock/gnome
+ build-depends:
+ - gusb
+ - lcms2
+ - polkit
+ build-system: autotools
+- name: geocode-glib
+ repo: upstream:gnome/geocode-glib
+ ref: a3e183e40053b4bd0fd0b25a070f60597270397a
+ unpetrify-ref: master
+ build-depends:
+ - json-glib
+ build-system: autotools
+- name: libmbim
+ repo: upstream:libmbim
+ ref: 6cf74ebfae1dccf807bb34d88f2cd024d4b14da7
+ unpetrify-ref: master
+ build-system: autotools
+- name: libqmi
+ repo: upstream:libqmi
+ ref: 97aaa6855d071f64ec2e28df1b9f816da02a3e07
+ unpetrify-ref: master
+ build-system: autotools
+- name: ModemManager
+ repo: upstream:ModemManager
+ ref: 0ca68657fbcd5bace3d303a0babe2da292784385
+ unpetrify-ref: master
+ build-depends:
+ - libmbim
+ - libqmi
+ - polkit
+ build-system: autotools
+- name: geoclue
+ morph: strata/gnome/geoclue.morph
+ repo: upstream:geoclue
+ ref: 93241301b9c47a5e7a61978cf5154752c85bd183
+ unpetrify-ref: master
+ build-depends:
+ - json-glib
+ - ModemManager
+- name: libgweather
+ repo: upstream:gnome/libgweather
+ ref: 5b8aed611f24d03434eed35e438cea213b894b7c
+ unpetrify-ref: master
+ build-depends:
+ - geocode-glib
+ build-system: autotools
+- name: gnome-settings-daemon
+ morph: strata/gnome/gnome-settings-daemon.morph
+ repo: upstream:gnome-settings-daemon
+ ref: 8225e3dcc9242d4d9b764c8a0ad6d7db728ac114
+ unpetrify-ref: baserock/gnome
+ build-depends:
+ - colord
+ - geoclue
+ - geocode-glib
+ - gnome-desktop
+ - gsettings-desktop-schemas
+ - ibus
+ - libcanberra
+ - libgweather
+ - libnotify
+ - lcms2
+ - upower
+- name: zenity
+ repo: upstream:zenity
+ ref: d7135db2bdfdca812c0165f90e4611af9c7c6a50
+ unpetrify-ref: master
+ build-depends:
+ - yelp-tools
+ build-system: autotools
+- name: mozjs24
+ morph: strata/gnome/mozjs24.morph
+ repo: upstream:mozilla/mozjs24
+ ref: 334066c83de6c96320b63663a35d53159158c9b7
+ unpetrify-ref: baserock/gnome
+- name: gjs
+ repo: upstream:gjs
+ ref: 5d480f519e2b7e95cf1fad2f9f1a8e798fd5fe49
+ unpetrify-ref: master
+ build-depends:
+ - mozjs24
+ build-system: autotools
+- name: telepathy-glib
+ morph: strata/gnome/telepathy-glib.morph
+ repo: upstream:telepathy-glib
+ ref: d27684c488ceee4f2f54f549738adab0e2e8165d
+ unpetrify-ref: master
+- name: startup-notification
+ repo: upstream:startup-notification
+ ref: 07237ff25d6171e1b548118442ddba4259a53ba5
+ unpetrify-ref: master
+ build-system: autotools
+- name: libtasn1
+ repo: upstream:libtasn1
+ ref: 7f3a9c2294cdebd9e63fe007150c181b980865ef
+ unpetrify-ref: baserock/gnome
+ build-system: autotools
+- name: p11-kit
+ morph: strata/gnome/p11-kit.morph
+ repo: upstream:p11-kit
+ ref: 3a005e75a4e1b63db8e19ea0e73479588ab345a6
+ unpetrify-ref: master
+ build-depends:
+ - libtasn1
+- name: gcr
+ repo: upstream:gnome/gcr
+ ref: 1cce27499bcac6072e4ee516eaa1546eac56d687
+ unpetrify-ref: master
+ build-depends:
+ - p11-kit
+ build-system: autotools
+- name: libxkbcommon-x11
+ repo: upstream:xorg-lib-libxkbcommon
+ ref: c43c3c866eb9d52cd8f61e75cbef1c30d07f3a28
+ unpetrify-ref: xkbcommon-0.5.0
+ build-system: autotools
+- name: mutter
+ repo: upstream:mutter
+ ref: 35729e8659cc99f45d3564c33d44a475f20d0060
+ unpetrify-ref: 3.18.0
+ build-depends:
+ - clutter
+ - cogl
+ - gnome-desktop
+ - gnome-settings-daemon
+ - gsettings-desktop-schemas
+ - libxkbcommon-x11
+ - startup-notification
+ - upower
+ - zenity
+ build-system: autotools
+- name: libxklavier
+ repo: upstream:libxklavier
+ ref: 65c132a65e90a42e898f07243ef544109ada53c9
+ unpetrify-ref: master
+ build-depends:
+ - iso-codes
+ build-system: autotools
+- name: m4-common
+ repo: https://github.com/desrt/m4-common.git
+ ref: c0f3c75e01ee82d6e042dd813248dd418c3da467
+ unpetrify-ref: master
+ build-system: autotools
+- name: libgee
+ repo: upstream:gnome/libgee
+ ref: 4301ab58efc217409c588a5527f68990b4e3d220
+ unpetrify-ref: master
+ build-depends:
+ - m4-common
+ build-system: autotools
+- name: caribou
+ morph: strata/gnome/caribou.morph
+ repo: upstream:caribou
+ ref: 489fce995da8fc2817a8fd35b56532acd31a278a
+ unpetrify-ref: master
+ build-depends:
+ - clutter
+ - libgee
+ - libxklavier
+- name: icu
+ morph: strata/gnome/icu.morph
+ repo: upstream:icu
+ ref: ba023548a3bff7277cbea4acade3042ce9d8949e
+ unpetrify-ref: baserock/morph
+- name: libsecret
+ morph: strata/gnome/libsecret.morph
+ repo: upstream:gnome/libsecret
+ ref: 4d76cf7dd8e55d93bb58164a1fff38113ba97af5
+ unpetrify-ref: master
+- name: evolution-data-server
+ morph: strata/gnome/evolution-data-server.morph
+ repo: upstream:evolution-data-server
+ ref: a65ecdfb144bd74d0fc8103765aac128148a8e26
+ unpetrify-ref: master
+ build-depends:
+ - gcr
+ - icu
+ - libgweather
+ - libsecret
+- name: gnome-shell
+ morph: strata/gnome/gnome-shell.morph
+ repo: upstream:gnome/gnome-shell
+ ref: fbb4a9a3a6acfd3d0266e0ba1dd9212cd2f3c21c
+ unpetrify-ref: master
+ build-depends:
+ - caribou
+ - clutter
+ - evolution-data-server
+ - gcr
+ - gjs
+ - libcanberra
+ - mutter
+ - polkit
+ - startup-notification
+ - telepathy-glib
+- name: gnome-session
+ morph: strata/gnome/gnome-session.morph
+ repo: upstream:gnome/gnome-session
+ ref: e5c28ee81c91d659e592de55e0fc42e8e936d128
+ unpetrify-ref: master
+ build-depends:
+ - gnome-desktop
+ - json-glib
+- name: d-feet
+ morph: strata/gnome/d-feet.morph
+ repo: upstream:gnome/d-feet
+ ref: a526f5325f179482f915216f7781232899be5600
+ unpetrify-ref: master
+ build-depends:
+ - yelp-tools
+- name: gnome-keyring
+ morph: strata/gnome/gnome-keyring.morph
+ repo: upstream:gnome-keyring
+ ref: 4307ec560e48ab5b05fecaa12b98978eab4e1b82
+ unpetrify-ref: master
+ build-depends:
+ - gcr
+- name: gvfs
+ morph: strata/gnome/gvfs.morph
+ repo: upstream:gvfs
+ ref: d037b5fd56cae878ed7bb5269a40e4bd046551d7
+ unpetrify-ref: master
+ build-depends:
+ - gcr
diff --git a/strata/gnome/autoconf-archive.morph b/strata/gnome/autoconf-archive.morph
new file mode 100644
index 0000000..de05f0a
--- /dev/null
+++ b/strata/gnome/autoconf-archive.morph
@@ -0,0 +1,5 @@
+name: autoconf-archive
+kind: chunk
+build-system: autotools
+pre-configure-commands:
+- ./bootstrap.sh
diff --git a/strata/gnome/caribou.morph b/strata/gnome/caribou.morph
new file mode 100644
index 0000000..19dd6ca
--- /dev/null
+++ b/strata/gnome/caribou.morph
@@ -0,0 +1,5 @@
+name: caribou
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-gtk2-module
diff --git a/strata/gnome/clutter.morph b/strata/gnome/clutter.morph
new file mode 100644
index 0000000..cb677d8
--- /dev/null
+++ b/strata/gnome/clutter.morph
@@ -0,0 +1,6 @@
+name: clutter
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --enable-wayland-backend --enable-wayland-compositor
+ --enable-egl-backend --enable-evdev-input --enable-x11-backend
diff --git a/strata/gnome/cogl.morph b/strata/gnome/cogl.morph
new file mode 100644
index 0000000..95ab78e
--- /dev/null
+++ b/strata/gnome/cogl.morph
@@ -0,0 +1,6 @@
+name: cogl
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --enable-wayland-egl-platform --enable-wayland-egl-server
+ --enable-kms-egl-platform --enable-xlib-egl-platform --enable-cogl-gst
diff --git a/strata/gnome/d-feet.morph b/strata/gnome/d-feet.morph
new file mode 100644
index 0000000..8d3e201
--- /dev/null
+++ b/strata/gnome/d-feet.morph
@@ -0,0 +1,5 @@
+name: d-feet
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-tests
diff --git a/strata/gnome/dconf.morph b/strata/gnome/dconf.morph
new file mode 100644
index 0000000..b9ea35a
--- /dev/null
+++ b/strata/gnome/dconf.morph
@@ -0,0 +1,5 @@
+name: dconf
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-man
diff --git a/strata/gnome/evolution-data-server.morph b/strata/gnome/evolution-data-server.morph
new file mode 100644
index 0000000..aa44ca0
--- /dev/null
+++ b/strata/gnome/evolution-data-server.morph
@@ -0,0 +1,5 @@
+name: evolution-data-server
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-goa --disable-uoa --with-libdb=no --disable-google --with-nss-includes=/usr/include/nss --with-nspr-includes=/usr/include/nspr
diff --git a/strata/gnome/gconf.morph b/strata/gnome/gconf.morph
new file mode 100644
index 0000000..05fdee0
--- /dev/null
+++ b/strata/gnome/gconf.morph
@@ -0,0 +1,5 @@
+name: gconf
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-orbit --disable-documentation
diff --git a/strata/gnome/geoclue.morph b/strata/gnome/geoclue.morph
new file mode 100644
index 0000000..ce91eff
--- /dev/null
+++ b/strata/gnome/geoclue.morph
@@ -0,0 +1,5 @@
+name: geoclue
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-nmea-source
diff --git a/strata/gnome/gnome-keyring.morph b/strata/gnome/gnome-keyring.morph
new file mode 100644
index 0000000..bdc2ca7
--- /dev/null
+++ b/strata/gnome/gnome-keyring.morph
@@ -0,0 +1,5 @@
+name: gnome-keyring
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-doc
diff --git a/strata/gnome/gnome-session.morph b/strata/gnome/gnome-session.morph
new file mode 100644
index 0000000..d61cb5e
--- /dev/null
+++ b/strata/gnome/gnome-session.morph
@@ -0,0 +1,5 @@
+name: gnome-session
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-man --enable-systemd
diff --git a/strata/gnome/gnome-settings-daemon.morph b/strata/gnome/gnome-settings-daemon.morph
new file mode 100644
index 0000000..bb1123c
--- /dev/null
+++ b/strata/gnome/gnome-settings-daemon.morph
@@ -0,0 +1,5 @@
+name: gnome-settings-daemon
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-cups --disable-man
diff --git a/strata/gnome/gnome-shell.morph b/strata/gnome/gnome-shell.morph
new file mode 100644
index 0000000..d8180fb
--- /dev/null
+++ b/strata/gnome/gnome-shell.morph
@@ -0,0 +1,5 @@
+name: gnome-shell
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-man --enable-compile-warnings=maximum
diff --git a/strata/gnome/gnulib.morph b/strata/gnome/gnulib.morph
new file mode 100644
index 0000000..f1837c9
--- /dev/null
+++ b/strata/gnome/gnulib.morph
@@ -0,0 +1,8 @@
+name: gnulib
+kind: chunk
+build-system: manual
+pre-configure-commands:
+- mkdir -p "$DESTDIR$PREFIX"/share/gnulib
+- cp -r * "$DESTDIR$PREFIX"/share/gnulib
+- mkdir -p "$DESTDIR$PREFIX"/bin
+- ln -s "$DESTDIR$PREFIX"/share/gnulib/gnulib-tool "$DESTDIR$PREFIX"/bin/gnulib-tool
diff --git a/strata/gnome/gvfs.morph b/strata/gnome/gvfs.morph
new file mode 100644
index 0000000..f6bf47f
--- /dev/null
+++ b/strata/gnome/gvfs.morph
@@ -0,0 +1,5 @@
+name: gvfs
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-gphoto2 --disable-documentation
diff --git a/strata/gnome/ibus.morph b/strata/gnome/ibus.morph
new file mode 100644
index 0000000..8d858a3
--- /dev/null
+++ b/strata/gnome/ibus.morph
@@ -0,0 +1,5 @@
+name: ibus
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-gtk2 --disable-gtk3 --disable-xim --disable-tests --enable-wayland
diff --git a/strata/gnome/icu.morph b/strata/gnome/icu.morph
new file mode 100644
index 0000000..37dec07
--- /dev/null
+++ b/strata/gnome/icu.morph
@@ -0,0 +1,8 @@
+name: icu
+kind: chunk
+configure-commands:
+- cd source; ./runConfigureICU Linux --prefix=/usr
+build-commands:
+- cd source; unset TARGET ; make
+install-commands:
+- cd source; unset TARGET ; make DESTDIR="$DESTDIR" install
diff --git a/strata/gnome/libsecret.morph b/strata/gnome/libsecret.morph
new file mode 100644
index 0000000..054b9f1
--- /dev/null
+++ b/strata/gnome/libsecret.morph
@@ -0,0 +1,5 @@
+name: libsecret
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-manpages
diff --git a/strata/gnome/mozjs17.morph b/strata/gnome/mozjs17.morph
new file mode 100644
index 0000000..971ebfd
--- /dev/null
+++ b/strata/gnome/mozjs17.morph
@@ -0,0 +1,17 @@
+name: mozjs17
+kind: chunk
+build-system: manual
+configure-commands:
+- |
+ cd js/src;
+ ./configure --prefix="$PREFIX" \
+ --with-system-nspr \
+ --with-system-ffi \
+ --enable-threadsafe
+build-commands:
+- |
+ cd js/src;
+ make
+install-commands:
+- cd js/src;
+ make DESTDIR="$DESTDIR" install
diff --git a/strata/gnome/mozjs24.morph b/strata/gnome/mozjs24.morph
new file mode 100644
index 0000000..a88914c
--- /dev/null
+++ b/strata/gnome/mozjs24.morph
@@ -0,0 +1,17 @@
+name: mozjs24
+kind: chunk
+build-system: manual
+configure-commands:
+- |
+ cd js/src;
+ ./configure --prefix="$PREFIX" \
+ --with-system-nspr \
+ --with-system-ffi \
+ --enable-threadsafe
+build-commands:
+- |
+ cd js/src;
+ make
+install-commands:
+- cd js/src;
+ make DESTDIR="$DESTDIR" install
diff --git a/strata/gnome/p11-kit.morph b/strata/gnome/p11-kit.morph
new file mode 100644
index 0000000..b5a6772
--- /dev/null
+++ b/strata/gnome/p11-kit.morph
@@ -0,0 +1,5 @@
+name: p11-kit
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --without-trust-paths
diff --git a/strata/gnome/polkit.morph b/strata/gnome/polkit.morph
new file mode 100644
index 0000000..a5d7eb1
--- /dev/null
+++ b/strata/gnome/polkit.morph
@@ -0,0 +1,5 @@
+name: polkit
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-man-pages --disable-gtk-doc --enable-libsystemd-login=yes
diff --git a/strata/gnome/telepathy-glib.morph b/strata/gnome/telepathy-glib.morph
new file mode 100644
index 0000000..e16f329
--- /dev/null
+++ b/strata/gnome/telepathy-glib.morph
@@ -0,0 +1,5 @@
+name: telepathy-glib
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-Werror
diff --git a/strata/gnome/upower.morph b/strata/gnome/upower.morph
new file mode 100644
index 0000000..889a32b
--- /dev/null
+++ b/strata/gnome/upower.morph
@@ -0,0 +1,5 @@
+name: upower
+kind: chunk
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-man-pages
diff --git a/strata/input-common.morph b/strata/input-common.morph
index 4a0326d..733121b 100644
--- a/strata/input-common.morph
+++ b/strata/input-common.morph
@@ -3,6 +3,7 @@ kind: stratum
build-depends:
- morph: strata/foundation.morph
- morph: strata/xorg-util-macros-common.morph
+- morph: strata/x-common.morph
chunks:
- name: mtdev
repo: upstream:mtdev-git
@@ -27,8 +28,10 @@ chunks:
build-depends:
- mtdev
- libevdev
-- name: libxkbcommon
- morph: strata/input-common/libxkbcommon.morph
+- name: libxkbcommon-no-x11
repo: upstream:xorg-lib-libxkbcommon
ref: c43c3c866eb9d52cd8f61e75cbef1c30d07f3a28
+ morph: strata/input-common/libxkbcommon-no-x11.morph
unpetrify-ref: xkbcommon-0.5.0
+ build-depends:
+ - xkeyboard-config
diff --git a/strata/input-common/libxkbcommon-no-x11.morph b/strata/input-common/libxkbcommon-no-x11.morph
new file mode 100644
index 0000000..1c8a1cb
--- /dev/null
+++ b/strata/input-common/libxkbcommon-no-x11.morph
@@ -0,0 +1,12 @@
+name: libxkbcommon-no-x11
+kind: chunk
+
+description: |
+ xkbcommon is a library to handle keyboard descriptions.
+
+ This version is built without X11 support. If built with X11 support,
+ it depends on the xcb-xkb library.
+
+build-system: autotools
+configure-commands:
+- ./autogen.sh --prefix="$PREFIX" --disable-x11
diff --git a/strata/input-common/libxkbcommon.morph b/strata/input-common/libxkbcommon.morph
deleted file mode 100644
index 04048ab..0000000
--- a/strata/input-common/libxkbcommon.morph
+++ /dev/null
@@ -1,5 +0,0 @@
-name: libxkbcommon
-kind: chunk
-build-system: autotools
-configure-commands:
-- ./autogen.sh --prefix="$PREFIX" --disable-x11
diff --git a/systems/gnome-system-x86_64.morph b/systems/gnome-system-x86_64.morph
new file mode 100644
index 0000000..a95ded5
--- /dev/null
+++ b/systems/gnome-system-x86_64.morph
@@ -0,0 +1,63 @@
+name: gnome-system-x86_64
+kind: system
+description: A GNOME system system.
+arch: x86_64
+strata:
+- name: audio-bluetooth
+ morph: strata/audio-bluetooth.morph
+- name: bsp-x86_64-generic
+ morph: strata/bsp-x86_64-generic.morph
+- name: build-essential
+ morph: strata/build-essential.morph
+- name: NetworkManager-common
+ morph: strata/NetworkManager-common.morph
+- name: core
+ morph: strata/core.morph
+- name: foundation
+ morph: strata/foundation.morph
+- name: glib-common
+ morph: strata/glib-common.morph
+- name: gnome
+ morph: strata/gnome.morph
+- name: graphics-common
+ morph: strata/graphics-common.morph
+- name: gtk-deps
+ morph: strata/gtk-deps.morph
+- name: gtk3
+ morph: strata/gtk3.morph
+- name: input-common
+ morph: strata/input-common.morph
+- name: llvm-common
+ morph: strata/llvm-common.morph
+- name: mesa-common
+ morph: strata/mesa-common.morph
+- name: multimedia-common
+ morph: strata/multimedia-common.morph
+- name: multimedia-gstreamer
+ morph: strata/multimedia-gstreamer.morph
+- name: python3-core
+ morph: strata/python3-core.morph
+- name: python-pygobject
+ morph: strata/python-pygobject.morph
+- name: libsoup-common
+ morph: strata/libsoup-common.morph
+- name: tools
+ morph: strata/tools.morph
+- name: libdrm-common
+ morph: strata/libdrm-common.morph
+- name: wayland-generic
+ morph: strata/wayland-generic.morph
+- name: weston-common
+ morph: strata/weston-common.morph
+- name: x-common
+ morph: strata/x-common.morph
+- name: x-drivers
+ morph: strata/x-drivers.morph
+- name: x-generic
+ morph: strata/x-generic.morph
+- name: network-security
+ morph: strata/network-security.morph
+configuration-extensions:
+- extensions/set-hostname
+- extensions/add-config-files
+- extensions/install-essential-files