[gnome-build-meta/abderrahim/new-syntax] use the new dependencies and junctions syntax from buildstream 1.4



commit 081612eacac8e0cd4c5b8d7f306feb542235b945
Author: Abderrahim Kitouni <akitouni gnome org>
Date:   Thu Sep 26 22:41:42 2019 +0100

    use the new dependencies and junctions syntax from buildstream 1.4

 elements/core-deps/ModemManager.bst                |  11 +-
 elements/core-deps/NetworkManager.bst              |  27 +-
 elements/core-deps/PackageKit.bst                  |  21 +-
 elements/core-deps/accountsservice.bst             |  14 +-
 elements/core-deps/atkmm-1.6.bst                   |  12 +-
 elements/core-deps/atkmm.bst                       |  12 +-
 elements/core-deps/avahi.bst                       |  11 +-
 elements/core-deps/babl.bst                        |  18 +-
 elements/core-deps/berkeleydb.bst                  |   8 +-
 elements/core-deps/blockdev.bst                    |  14 +-
 elements/core-deps/boost.bst                       |   9 +-
 elements/core-deps/cairomm-1.0.bst                 |  11 +-
 elements/core-deps/cairomm.bst                     |  11 +-
 elements/core-deps/colord-gtk.bst                  |  15 +-
 elements/core-deps/colord.bst                      |  20 +-
 elements/core-deps/cryptsetup.bst                  |  14 +-
 elements/core-deps/dmraid.bst                      |   8 +-
 elements/core-deps/dotconf.bst                     |   8 +-
 elements/core-deps/espeak.bst                      |   3 +-
 elements/core-deps/evolution-data-server.bst       |  15 +-
 elements/core-deps/exempi.bst                      |  12 +-
 elements/core-deps/exiv2.bst                       |   8 +-
 elements/core-deps/folks.bst                       |   8 +-
 elements/core-deps/font-util.bst                   |  12 +-
 elements/core-deps/fontenc.bst                     |  12 +-
 elements/core-deps/gegl.bst                        |   8 +-
 elements/core-deps/geocode-glib.bst                |  11 +-
 elements/core-deps/gexiv2.bst                      |  10 +-
 elements/core-deps/glibmm-2.4.bst                  |  12 +-
 elements/core-deps/glibmm.bst                      |  12 +-
 elements/core-deps/gmime3.bst                      |  11 +-
 elements/core-deps/gnome-autoar.bst                |  17 +-
 elements/core-deps/gnome-online-accounts.bst       |  14 +-
 elements/core-deps/gnome-online-miners.bst         |   8 +-
 elements/core-deps/gnome-video-effects.bst         |  15 +-
 elements/core-deps/gom.bst                         |   8 +-
 elements/core-deps/graphviz.bst                    |  11 +-
 elements/core-deps/grilo-plugins.bst               |  11 +-
 elements/core-deps/grilo.bst                       |  11 +-
 elements/core-deps/gsound.bst                      |  14 +-
 elements/core-deps/gspell.bst                      |  17 +-
 elements/core-deps/gssdp.bst                       |  14 +-
 elements/core-deps/gtk-vnc.bst                     |  19 +-
 elements/core-deps/gtkmm-3.bst                     |  12 +-
 elements/core-deps/gtkmm.bst                       |  12 +-
 elements/core-deps/gtksourceview.bst               |  14 +-
 elements/core-deps/gupnp-av.bst                    |  11 +-
 elements/core-deps/gupnp-dlna.bst                  |  17 +-
 elements/core-deps/gupnp.bst                       |  11 +-
 elements/core-deps/intltool.bst                    |  20 +-
 elements/core-deps/iptables.bst                    |   8 +-
 elements/core-deps/json-c.bst                      |   8 +-
 elements/core-deps/libatasmart.bst                 |  11 +-
 elements/core-deps/libbytesize.bst                 |  14 +-
 elements/core-deps/libchamplain.bst                |  14 +-
 elements/core-deps/libcue.bst                      |  16 +-
 elements/core-deps/libdaemon.bst                   |   8 +-
 elements/core-deps/libdazzle.bst                   |   8 +-
 elements/core-deps/libdvdread.bst                  |   8 +-
 elements/core-deps/libevdev.bst                    |  12 +-
 elements/core-deps/libgdata.bst                    |  17 +-
 elements/core-deps/libgepub.bst                    |   8 +-
 elements/core-deps/libgfbgraph.bst                 |  11 +-
 elements/core-deps/libgnomekbd.bst                 |   8 +-
 elements/core-deps/libgovirt.bst                   |   8 +-
 elements/core-deps/libgsf.bst                      |  18 +-
 elements/core-deps/libgtop.bst                     |  15 +-
 elements/core-deps/libgudev.bst                    |  14 +-
 elements/core-deps/libgusb.bst                     |  11 +-
 elements/core-deps/libgweather.bst                 |  11 +-
 elements/core-deps/libgxps.bst                     |  14 +-
 elements/core-deps/libhandy.bst                    |  18 +-
 elements/core-deps/libical.bst                     |  23 +-
 elements/core-deps/libinput.bst                    |   8 +-
 elements/core-deps/libmbim.bst                     |  11 +-
 elements/core-deps/libmediaart.bst                 |  17 +-
 elements/core-deps/libmusicbrainz.bst              |  11 +-
 elements/core-deps/libndp.bst                      |   8 +-
 elements/core-deps/libnl.bst                       |  16 +-
 elements/core-deps/liboauth.bst                    |  11 +-
 elements/core-deps/libosinfo.bst                   |  15 +-
 elements/core-deps/libpeas.bst                     |  18 +-
 elements/core-deps/libqmi.bst                      |  11 +-
 elements/core-deps/librest.bst                     |  17 +-
 elements/core-deps/libsass.bst                     |   8 +-
 elements/core-deps/libsigcplusplus-2.0.bst         |   8 +-
 elements/core-deps/libsigcplusplus.bst             |   8 +-
 elements/core-deps/libusb.bst                      |  11 +-
 elements/core-deps/libvirt-glib.bst                |  18 +-
 elements/core-deps/libvirt.bst                     |  27 +-
 elements/core-deps/libwacom.bst                    |   8 +-
 elements/core-deps/libxklavier.bst                 |  24 +-
 elements/core-deps/libyaml.bst                     |   8 +-
 elements/core-deps/libzapojit.bst                  |  18 +-
 elements/core-deps/lvm2.bst                        |   8 +-
 elements/core-deps/mm-common.bst                   |  16 +-
 .../core-deps/mobile-broadband-provider-info.bst   |  11 +-
 elements/core-deps/mpc.bst                         |   8 +-
 elements/core-deps/mpfr.bst                        |  11 +-
 elements/core-deps/mtdev.bst                       |   8 +-
 elements/core-deps/ndctl.bst                       |  14 +-
 elements/core-deps/neon.bst                        |  11 +-
 elements/core-deps/openldap.bst                    |  12 +-
 elements/core-deps/osinfo-db-tools.bst             |  21 +-
 elements/core-deps/pangomm-1.4.bst                 |  12 +-
 elements/core-deps/pangomm.bst                     |  12 +-
 elements/core-deps/parted.bst                      |  11 +-
 elements/core-deps/phodav.bst                      |  22 +-
 elements/core-deps/polkit.bst                      |  24 +-
 elements/core-deps/poppler.bst                     |  26 +-
 elements/core-deps/portablexdr.bst                 |   8 +-
 elements/core-deps/portaudio.bst                   |   8 +-
 elements/core-deps/ppp.bst                         |   8 +-
 elements/core-deps/pyatspi2.bst                    |  12 +-
 elements/core-deps/rpcsvc-proto.bst                |   8 +-
 elements/core-deps/samba.bst                       |  26 +-
 elements/core-deps/sane-backends.bst               |   8 +-
 elements/core-deps/sassc.bst                       |   8 +-
 elements/core-deps/speech-dispatcher.bst           |  17 +-
 elements/core-deps/spice-gtk.bst                   |  17 +-
 elements/core-deps/spice-protocol.bst              |   8 +-
 elements/core-deps/startup-notification.bst        |  14 +-
 elements/core-deps/totem-pl-parser.bst             |  20 +-
 elements/core-deps/tracker-miners.bst              |  22 +-
 elements/core-deps/tracker.bst                     |  13 +-
 elements/core-deps/udisks2.bst                     |  15 +-
 elements/core-deps/uhttpmock.bst                   |  11 +-
 elements/core-deps/upower.bst                      |  11 +-
 elements/core-deps/volume-key.bst                  |  17 +-
 elements/core-deps/xfont2.bst                      |  13 +-
 elements/core-deps/xmlb.bst                        |  11 +-
 elements/core-deps/xmlto.bst                       |  11 +-
 elements/core/baobab.bst                           |  14 +-
 elements/core/cheese.bst                           |  20 +-
 elements/core/eog.bst                              |  17 +-
 elements/core/epiphany.bst                         |  14 +-
 elements/core/evince.bst                           |  14 +-
 elements/core/file-roller.bst                      |  12 +-
 elements/core/gdm.bst                              |  12 +-
 elements/core/gedit.bst                            |  21 +-
 elements/core/gnome-backgrounds.bst                |   8 +-
 elements/core/gnome-bluetooth.bst                  |  16 +-
 elements/core/gnome-boxes.bst                      |  15 +-
 elements/core/gnome-calculator.bst                 |  13 +-
 elements/core/gnome-calendar.bst                   |   8 +-
 elements/core/gnome-characters.bst                 |  12 +-
 elements/core/gnome-clocks.bst                     |  13 +-
 elements/core/gnome-color-manager.bst              |  14 +-
 elements/core/gnome-contacts.bst                   |  11 +-
 elements/core/gnome-control-center.bst             |  23 +-
 elements/core/gnome-desktop.bst                    |  20 +-
 elements/core/gnome-disk-utility.bst               |  11 +-
 elements/core/gnome-font-viewer.bst                |   8 +-
 elements/core/gnome-getting-started-docs.bst       |   8 +-
 elements/core/gnome-initial-setup.bst              |  16 +-
 elements/core/gnome-keyring.bst                    |  22 +-
 elements/core/gnome-logs.bst                       |  14 +-
 elements/core/gnome-maps.bst                       |   8 +-
 elements/core/gnome-menus.bst                      |   8 +-
 elements/core/gnome-music.bst                      |  17 +-
 elements/core/gnome-photos.bst                     |  20 +-
 elements/core/gnome-screenshot.bst                 |   8 +-
 elements/core/gnome-session.bst                    |  18 +-
 elements/core/gnome-settings-daemon.bst            |  23 +-
 elements/core/gnome-shell-extensions.bst           |   8 +-
 elements/core/gnome-shell.bst                      |  25 +-
 elements/core/gnome-software.bst                   |  13 +-
 elements/core/gnome-system-monitor.bst             |  11 +-
 elements/core/gnome-terminal.bst                   |  14 +-
 elements/core/gnome-themes-extra.bst               |  11 +-
 elements/core/gnome-user-docs.bst                  |   8 +-
 elements/core/gnome-user-share.bst                 |  11 +-
 elements/core/gnome-weather.bst                    |  10 +-
 elements/core/mutter.bst                           |  30 +-
 elements/core/nautilus.bst                         |  10 +-
 elements/core/network-manager-applet.bst           |  14 +-
 elements/core/orca.bst                             |   8 +-
 elements/core/rygel.bst                            |   8 +-
 elements/core/simple-scan.bst                      |  11 +-
 elements/core/sushi.bst                            |  11 +-
 elements/core/totem.bst                            |  18 +-
 elements/flatpak-platform-extensions.bst           |  20 +-
 elements/flatpak-runtimes.bst                      |  44 +-
 elements/platform-manifest.bst                     |   8 +-
 elements/sdk-manifest.bst                          |   8 +-
 elements/sdk-platform.bst                          | 530 +++++++--------------
 elements/sdk.bst                                   | 123 ++---
 elements/sdk/WebKitGTK.bst                         |  54 +--
 elements/sdk/adwaita-icon-theme.bst                |   8 +-
 elements/sdk/appstream-glib.bst                    |  18 +-
 elements/sdk/at-spi2-atk.bst                       |  12 +-
 elements/sdk/at-spi2-core.bst                      |  11 +-
 elements/sdk/atk.bst                               |  11 +-
 elements/sdk/brotli.bst                            |   8 +-
 elements/sdk/cantarell-fonts.bst                   |  11 +-
 elements/sdk/clutter-gst.bst                       |  14 +-
 elements/sdk/clutter-gtk.bst                       |   8 +-
 elements/sdk/clutter.bst                           |  17 +-
 elements/sdk/cogl.bst                              |  35 +-
 elements/sdk/dconf.bst                             |  23 +-
 elements/sdk/enchant-2.bst                         |  11 +-
 elements/sdk/fcitx.bst                             |  20 +-
 elements/sdk/gcab.bst                              |  18 +-
 elements/sdk/gcr.bst                               |  17 +-
 elements/sdk/gdk-pixbuf.bst                        |  29 +-
 elements/sdk/geoclue.bst                           |  13 +-
 elements/sdk/gjs.bst                               |  14 +-
 elements/sdk/glib-networking.bst                   |  17 +-
 elements/sdk/gobject-introspection.bst             |  19 +-
 elements/sdk/graphene.bst                          |   8 +-
 elements/sdk/gsettings-desktop-schemas.bst         |   8 +-
 elements/sdk/gst-libav.bst                         |  22 +-
 elements/sdk/gst-plugins-bad.bst                   |  85 +---
 elements/sdk/gst-plugins-base.bst                  |  60 +--
 elements/sdk/gst-plugins-good.bst                  |  71 +--
 elements/sdk/gtk+-3.bst                            |  47 +-
 elements/sdk/gtk-doc.bst                           |  25 +-
 elements/sdk/gtk.bst                               |  32 +-
 elements/sdk/gvfs.bst                              |  11 +-
 elements/sdk/ibus.bst                              |  15 +-
 elements/sdk/json-glib.bst                         |  14 +-
 elements/sdk/krb5.bst                              |  22 +-
 elements/sdk/libcanberra.bst                       |  14 +-
 elements/sdk/libcroco.bst                          |  11 +-
 elements/sdk/libgee.bst                            |  11 +-
 elements/sdk/libnotify.bst                         |  13 +-
 elements/sdk/librsvg.bst                           |  21 +-
 elements/sdk/libsecret.bst                         |  22 +-
 elements/sdk/libsoup.bst                           |  32 +-
 elements/sdk/libwpe.bst                            |  14 +-
 elements/sdk/mozjs60.bst                           |  23 +-
 elements/sdk/openjpeg.bst                          |   8 +-
 elements/sdk/os-release.bst                        |  41 +-
 elements/sdk/pango.bst                             |  23 +-
 elements/sdk/pipewire.bst                          |  35 +-
 elements/sdk/pycairo.bst                           |  11 +-
 elements/sdk/pygobject.bst                         |   8 +-
 elements/sdk/python-pygments.bst                   |   6 +-
 elements/sdk/python2.bst                           |  27 +-
 elements/sdk/vala-tarball.bst                      |  16 +-
 elements/sdk/vala.bst                              |  23 +-
 elements/sdk/vte.bst                               |  23 +-
 elements/sdk/woff2.bst                             |   8 +-
 elements/sdk/wpebackend-fdo.bst                    |  14 +-
 elements/sdk/yelp-tools.bst                        |   8 +-
 elements/sdk/yelp-xsl.bst                          |  11 +-
 elements/sdk/yelp.bst                              |  14 +-
 elements/sdk/zenity.bst                            |   8 +-
 elements/world/accerciser.bst                      |   3 +-
 elements/world/amtk.bst                            |  11 +-
 elements/world/anthy.bst                           |   8 +-
 elements/world/bijiben.bst                         |   8 +-
 elements/world/dbus-glib.bst                       |  11 +-
 elements/world/dconf-editor.bst                    |   3 +-
 elements/world/devhelp.bst                         |   8 +-
 elements/world/evolution.bst                       |   6 +-
 elements/world/five-or-more.bst                    |   6 +-
 elements/world/four-in-a-row.bst                   |  11 +-
 elements/world/fuse.bst                            |   8 +-
 elements/world/ghex.bst                            |   6 +-
 elements/world/gitg.bst                            |   3 +-
 elements/world/glade.bst                           |  17 +-
 elements/world/gnome-builder.bst                   |   9 +-
 elements/world/gnome-chess.bst                     |   3 +-
 elements/world/gnome-code-assistance.bst           |   8 +-
 elements/world/gnome-devel-docs.bst                |   3 +-
 elements/world/gnome-dictionary.bst                |   6 +-
 elements/world/gnome-documents.bst                 |  21 +-
 elements/world/gnome-games.bst                     |  10 +-
 elements/world/gnome-internet-radio-locator.bst    |  10 +-
 elements/world/gnome-klotski.bst                   |   6 +-
 elements/world/gnome-mahjongg.bst                  |   6 +-
 elements/world/gnome-mines.bst                     |   6 +-
 elements/world/gnome-multi-writer.bst              |   3 +-
 elements/world/gnome-nettool.bst                   |   3 +-
 elements/world/gnome-nibbles.bst                   |   3 +-
 elements/world/gnome-recipes.bst                   |   8 +-
 elements/world/gnome-robots.bst                    |   3 +-
 elements/world/gnome-sound-recorder.bst            |   6 +-
 elements/world/gnome-sudoku.bst                    |   6 +-
 elements/world/gnome-taquin.bst                    |   3 +-
 elements/world/gnome-tetravex.bst                  |   6 +-
 elements/world/gnome-todo.bst                      |   3 +-
 elements/world/gnome-tweaks.bst                    |   3 +-
 elements/world/gtkspell.bst                        |  17 +-
 elements/world/gupnp-igd.bst                       |   8 +-
 elements/world/hitori.bst                          |   3 +-
 elements/world/iagno.bst                           |   3 +-
 elements/world/ibus-anthy.bst                      |  12 +-
 elements/world/ibus-hangul.bst                     |  15 +-
 elements/world/ibus-libpinyin.bst                  |  15 +-
 elements/world/jsonrpc-glib.bst                    |   8 +-
 elements/world/kyotocabinet.bst                    |   8 +-
 elements/world/libbluray.bst                       |  14 +-
 elements/world/libcdio-paranoia.bst                |   8 +-
 elements/world/libcdio.bst                         |   8 +-
 elements/world/libgit2-glib.bst                    |   8 +-
 elements/world/libgit2.bst                         |   8 +-
 elements/world/libgnome-games-support.bst          |   3 +-
 elements/world/libgphoto2.bst                      |   8 +-
 elements/world/libgrss.bst                         |  14 +-
 elements/world/libhangul.bst                       |   8 +-
 elements/world/libimobiledevice.bst                |   8 +-
 elements/world/libmanette.bst                      |   3 +-
 elements/world/libmtp.bst                          |   8 +-
 elements/world/libnfs.bst                          |   8 +-
 elements/world/libpinyin.bst                       |  10 +-
 elements/world/libssh2.bst                         |   8 +-
 elements/world/libusbmuxd.bst                      |   8 +-
 elements/world/lightsoff.bst                       |   6 +-
 elements/world/plist.bst                           |   8 +-
 elements/world/polari.bst                          |   6 +-
 elements/world/qqwing.bst                          |   3 +-
 elements/world/quadrapassel.bst                    |   6 +-
 elements/world/retro-gtk.bst                       |   6 +-
 elements/world/seahorse.bst                        |  18 +-
 elements/world/swell-foop.bst                      |   6 +-
 elements/world/tali.bst                            |   6 +-
 elements/world/telepathy-glib.bst                  |   7 +-
 elements/world/telepathy-logger.bst                |   7 +-
 elements/world/telepathy-mission-control.bst       |   7 +-
 elements/world/template-glib.bst                   |  16 +-
 322 files changed, 1722 insertions(+), 3221 deletions(-)
---
diff --git a/elements/core-deps/ModemManager.bst b/elements/core-deps/ModemManager.bst
index b6a8dee1..fa6cb8ab 100644
--- a/elements/core-deps/ModemManager.bst
+++ b/elements/core-deps/ModemManager.bst
@@ -3,18 +3,15 @@ sources:
 # https://gitlab.freedesktop.org/mobile-broadband/ModemManager/issues/85
 - kind: tar
   url: https://www.freedesktop.org/software/ModemManager/ModemManager-1.10.0.tar.xz
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/libgudev.bst
 - core-deps/libmbim.bst
 - core-deps/libqmi.bst
 - sdk/glib.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --with-udev-base-dir=/usr/lib/udev
diff --git a/elements/core-deps/NetworkManager.bst b/elements/core-deps/NetworkManager.bst
index 382fb5e8..7819db59 100644
--- a/elements/core-deps/NetworkManager.bst
+++ b/elements/core-deps/NetworkManager.bst
@@ -3,33 +3,24 @@ sources:
 - kind: git_tag
   url: git_freedesktop_org:NetworkManager/NetworkManager.git
   track: master
+build-depends:
+- core-deps/intltool.bst
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: core-deps/intltool.bst
-  type: build
 - core-deps/iptables.bst
 - core-deps/libgudev.bst
 - core-deps/libndp.bst
 - core-deps/ppp.bst
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/pygobject.bst
 - sdk/vala.bst
-- filename: components/curl.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gnutls.bst
-  junction: freedesktop-sdk.bst
-- filename: components/nss.bst
-  junction: freedesktop-sdk.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/curl.bst
+- freedesktop-sdk.bst:components/gnutls.bst
+- freedesktop-sdk.bst:components/nss.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     PYTHON=python3
diff --git a/elements/core-deps/PackageKit.bst b/elements/core-deps/PackageKit.bst
index d5354039..be9229ea 100644
--- a/elements/core-deps/PackageKit.bst
+++ b/elements/core-deps/PackageKit.bst
@@ -3,26 +3,19 @@ sources:
 - kind: git_tag
   url: github_com:hughsie/PackageKit.git
   track: master
+build-depends:
+- core-deps/intltool.bst
+- sdk/gobject-introspection.bst
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/NetworkManager.bst
-- filename: core-deps/intltool.bst
-  type: build
 - core-deps/libgudev.bst
 - core-deps/polkit.bst
 - sdk/glib.bst
-- filename: sdk/gobject-introspection.bst
-  type: build
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-vala
diff --git a/elements/core-deps/accountsservice.bst b/elements/core-deps/accountsservice.bst
index 1c24d709..c759bdd7 100644
--- a/elements/core-deps/accountsservice.bst
+++ b/elements/core-deps/accountsservice.bst
@@ -3,16 +3,12 @@ sources:
 - kind: git_tag
   url: git_freedesktop_org:accountsservice/accountsservice.git
   track: master
+build-depends:
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/polkit.bst
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/vala.bst
-  type: build
-- filename: components/dbus.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/dbus.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/atkmm-1.6.bst b/elements/core-deps/atkmm-1.6.bst
index 82768f30..6e7f1b07 100644
--- a/elements/core-deps/atkmm-1.6.bst
+++ b/elements/core-deps/atkmm-1.6.bst
@@ -3,17 +3,13 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/atkmm.git
   track: atkmm-2-28
+build-depends:
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/glibmm-2.4.bst
 - sdk/atk.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-maintainer-mode
diff --git a/elements/core-deps/atkmm.bst b/elements/core-deps/atkmm.bst
index fc0e6963..1ed6568c 100644
--- a/elements/core-deps/atkmm.bst
+++ b/elements/core-deps/atkmm.bst
@@ -3,17 +3,13 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/atkmm.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/glibmm.bst
 - sdk/atk.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-maintainer-mode
diff --git a/elements/core-deps/avahi.bst b/elements/core-deps/avahi.bst
index d7f744bf..6d2152ff 100644
--- a/elements/core-deps/avahi.bst
+++ b/elements/core-deps/avahi.bst
@@ -2,16 +2,13 @@ kind: autotools
 sources:
 - kind: tar
   url: github_com:lathiat/avahi/releases/download/v0.7/avahi-0.7.tar.gz
+build-depends:
+- core-deps/intltool.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: core-deps/intltool.bst
-  type: build
 - core-deps/libdaemon.bst
 - sdk/gtk+-3.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --with-distro=none
diff --git a/elements/core-deps/babl.bst b/elements/core-deps/babl.bst
index e81a7d3a..7d30135c 100644
--- a/elements/core-deps/babl.bst
+++ b/elements/core-deps/babl.bst
@@ -3,16 +3,10 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/babl.git
   track: master
+build-depends:
+- sdk/gobject-introspection.bst
+- freedesktop-sdk.bst:components/git-minimal.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
-- filename: sdk/gobject-introspection.bst
-  type: build
-- filename: components/git-minimal.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/lcms.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/lcms.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/berkeleydb.bst b/elements/core-deps/berkeleydb.bst
index 88ac502d..0aadda05 100644
--- a/elements/core-deps/berkeleydb.bst
+++ b/elements/core-deps/berkeleydb.bst
@@ -2,12 +2,10 @@ kind: autotools
 sources:
 - kind: tar
   url: http://http.debian.net/debian/pool/main/d/db5.3/db5.3_5.3.28.orig.tar.xz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-aux: dist/
   conf-cmd: ./dist/configure
diff --git a/elements/core-deps/blockdev.bst b/elements/core-deps/blockdev.bst
index f5fe107d..cadae367 100644
--- a/elements/core-deps/blockdev.bst
+++ b/elements/core-deps/blockdev.bst
@@ -2,6 +2,8 @@ kind: autotools
 sources:
 - kind: tar
   url: github_com:storaged-project/libblockdev/releases/download/2.21-1/libblockdev-2.21.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/cryptsetup.bst
 - core-deps/dmraid.bst
@@ -11,12 +13,6 @@ depends:
 - core-deps/ndctl.bst
 - core-deps/parted.bst
 - core-deps/volume-key.bst
-- filename: vm/linux-vm-boot/kmod.bst
-  junction: freedesktop-sdk.bst
-- filename: components/systemd.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/systemd.bst
+- freedesktop-sdk.bst:vm/linux-vm-boot/kmod.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/boost.bst b/elements/core-deps/boost.bst
index c19bfddd..f100a7b8 100644
--- a/elements/core-deps/boost.bst
+++ b/elements/core-deps/boost.bst
@@ -3,15 +3,14 @@ sources:
 - kind: tar
   url: https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.bz2
 depends:
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 config:
   configure-commands:
-    - ./bootstrap.sh --includedir=%{install-root}%{includedir} --libdir=%{install-root}%{libdir}
+  - ./bootstrap.sh --includedir=%{install-root}%{includedir} --libdir=%{install-root}%{libdir}
   build-commands:
-    - ./b2 -q -j${JOBS} --build-dir=_build link=shared stage
+  - ./b2 -q -j${JOBS} --build-dir=_build link=shared stage
   install-commands:
-    - ./b2 -q --build-dir=_build link=shared install
+  - ./b2 -q --build-dir=_build link=shared install
 environment:
   JOBS: '%{max-jobs}'
 environment-nocache:
diff --git a/elements/core-deps/cairomm-1.0.bst b/elements/core-deps/cairomm-1.0.bst
index d8fb8c1c..9eb19d64 100644
--- a/elements/core-deps/cairomm-1.0.bst
+++ b/elements/core-deps/cairomm-1.0.bst
@@ -2,14 +2,11 @@ kind: autotools
 sources:
 - kind: tar
   url: cairo_org:releases/cairomm-1.13.1.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/libsigcplusplus-2.0.bst
-- filename: components/cairo.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/cairo.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-aux: build
diff --git a/elements/core-deps/cairomm.bst b/elements/core-deps/cairomm.bst
index f3665922..b1b1c8a9 100644
--- a/elements/core-deps/cairomm.bst
+++ b/elements/core-deps/cairomm.bst
@@ -3,15 +3,12 @@ sources:
 - kind: git_tag
   url: git_freedesktop_org:cairo/cairomm.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/libsigcplusplus.bst
-- filename: components/cairo.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/cairo.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-documentation
diff --git a/elements/core-deps/colord-gtk.bst b/elements/core-deps/colord-gtk.bst
index 1eee45cc..1b3b9719 100644
--- a/elements/core-deps/colord-gtk.bst
+++ b/elements/core-deps/colord-gtk.bst
@@ -3,21 +3,16 @@ sources:
 - kind: git_tag
   url: github_com:hughsie/colord-gtk.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/colord.bst
 - sdk/glib.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/vala.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dman=false
diff --git a/elements/core-deps/colord.bst b/elements/core-deps/colord.bst
index ccb86c8c..18ebb5ca 100644
--- a/elements/core-deps/colord.bst
+++ b/elements/core-deps/colord.bst
@@ -3,24 +3,18 @@ sources:
 - kind: git_tag
   url: github_com:hughsie/colord.git
   track: master
+build-depends:
+- sdk/gobject-introspection.bst
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/libgudev.bst
 - core-deps/libgusb.bst
 - core-deps/polkit.bst
 - sdk/glib.bst
-- filename: sdk/gobject-introspection.bst
-  type: build
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: sdk/vala.bst
-  type: build
-- filename: components/lcms.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/lcms.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dargyllcms_sensor=false
diff --git a/elements/core-deps/cryptsetup.bst b/elements/core-deps/cryptsetup.bst
index 3934e478..9c803553 100644
--- a/elements/core-deps/cryptsetup.bst
+++ b/elements/core-deps/cryptsetup.bst
@@ -3,15 +3,11 @@ sources:
 - kind: tar
   # volume_key doesn't work with 2.x
   url: https://www.kernel.org/pub/linux/utils/cryptsetup/v1.7/cryptsetup-1.7.5.tar.xz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/json-c.bst
 - core-deps/lvm2.bst
-- filename: components/libgcrypt.bst
-  junction: freedesktop-sdk.bst
-- filename: components/util-linux.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/libgcrypt.bst
+- freedesktop-sdk.bst:components/util-linux.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/dmraid.bst b/elements/core-deps/dmraid.bst
index ce55d3e7..942afdd5 100644
--- a/elements/core-deps/dmraid.bst
+++ b/elements/core-deps/dmraid.bst
@@ -3,13 +3,11 @@ sources:
 - kind: tar
   url: tarballs_needing_help:dmraid-1.0.0.rc16-3.tar.bz2
   base-dir: dmraid/1.0.0.rc16-3/dmraid
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/lvm2.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   make: make -j1
   conf-aux: autoconf
diff --git a/elements/core-deps/dotconf.bst b/elements/core-deps/dotconf.bst
index fe0d44b0..7b69cb37 100644
--- a/elements/core-deps/dotconf.bst
+++ b/elements/core-deps/dotconf.bst
@@ -2,9 +2,7 @@ kind: autotools
 sources:
 - kind: tar
   url: github_com:williamh/dotconf/archive/v1.3.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/espeak.bst b/elements/core-deps/espeak.bst
index f54bad70..f7f5bcbf 100644
--- a/elements/core-deps/espeak.bst
+++ b/elements/core-deps/espeak.bst
@@ -4,8 +4,7 @@ sources:
   url: downloads.sourceforge.net:espeak/espeak/espeak-1.48/espeak-1.48.04-source.zip
 depends:
 - core-deps/portaudio.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 config:
   configure-commands:
   - cp -f src/portaudio19.h src/portaudio.h
diff --git a/elements/core-deps/evolution-data-server.bst b/elements/core-deps/evolution-data-server.bst
index 0d71a440..ce4ee194 100644
--- a/elements/core-deps/evolution-data-server.bst
+++ b/elements/core-deps/evolution-data-server.bst
@@ -3,10 +3,12 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/evolution-data-server.git
   track: master
+build-depends:
+- core-deps/intltool.bst
+- freedesktop-sdk.bst:components/gperf.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
 depends:
 - core-deps/gnome-online-accounts.bst
-- filename: core-deps/intltool.bst
-  type: build
 - core-deps/libgdata.bst
 - core-deps/libgweather.bst
 - core-deps/libical.bst
@@ -18,14 +20,7 @@ depends:
 - sdk/libsecret.bst
 - sdk/libsoup.bst
 - sdk/vala.bst
-- filename: components/gperf.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-cmake.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   cmake-local: >-
     -DENABLE_INTROSPECTION=ON
diff --git a/elements/core-deps/exempi.bst b/elements/core-deps/exempi.bst
index dac84468..94097515 100644
--- a/elements/core-deps/exempi.bst
+++ b/elements/core-deps/exempi.bst
@@ -2,13 +2,9 @@ kind: autotools
 sources:
 - kind: tar
   url: https://libopenraw.freedesktop.org/download/exempi-2.4.5.tar.bz2
+build-depends:
+- freedesktop-sdk.bst:components/expat.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/boost.bst
-- filename: components/expat.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/exiv2.bst b/elements/core-deps/exiv2.bst
index 2b27f01c..562c714a 100644
--- a/elements/core-deps/exiv2.bst
+++ b/elements/core-deps/exiv2.bst
@@ -2,9 +2,7 @@ kind: cmake
 sources:
 - kind: tar
   url: github_com:Exiv2/exiv2/archive/v0.26.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
 depends:
-- filename: public-stacks/buildsystem-cmake.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/folks.bst b/elements/core-deps/folks.bst
index 960ca1a7..f5377af6 100644
--- a/elements/core-deps/folks.bst
+++ b/elements/core-deps/folks.bst
@@ -3,16 +3,14 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/folks.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/evolution-data-server.bst
 - sdk/gobject-introspection.bst
 - sdk/libgee.bst
 - sdk/vala.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Deds_backend=true
diff --git a/elements/core-deps/font-util.bst b/elements/core-deps/font-util.bst
index de1705e6..273ad0c9 100644
--- a/elements/core-deps/font-util.bst
+++ b/elements/core-deps/font-util.bst
@@ -2,12 +2,8 @@ kind: autotools
 sources:
 - kind: tar
   url: https://www.x.org/releases/individual/font/font-util-1.3.1.tar.bz2
+build-depends:
+- freedesktop-sdk.bst:components/xorg-proto-xorgproto.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: components/xorg-proto-xorgproto.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/fontenc.bst b/elements/core-deps/fontenc.bst
index 555c9b9f..9c9afab7 100644
--- a/elements/core-deps/fontenc.bst
+++ b/elements/core-deps/fontenc.bst
@@ -2,12 +2,8 @@ kind: autotools
 sources:
 - kind: tar
   url: https://www.x.org/releases/individual/lib/libfontenc-1.1.3.tar.bz2
+build-depends:
+- freedesktop-sdk.bst:components/xorg-proto-xorgproto.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: components/xorg-proto-xorgproto.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/gegl.bst b/elements/core-deps/gegl.bst
index 7874b346..2d9ea295 100644
--- a/elements/core-deps/gegl.bst
+++ b/elements/core-deps/gegl.bst
@@ -2,6 +2,8 @@ kind: autotools
 sources:
 - kind: tar
   url: https://ftp.gimp.org/pub/gegl/0.4/gegl-0.4.16.tar.bz2
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/babl.bst
 - sdk/gdk-pixbuf.bst
@@ -9,11 +11,7 @@ depends:
 - sdk/json-glib.bst
 - sdk/librsvg.bst
 - sdk/pango.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --without-graphviz
diff --git a/elements/core-deps/geocode-glib.bst b/elements/core-deps/geocode-glib.bst
index b1fe486a..a546117e 100644
--- a/elements/core-deps/geocode-glib.bst
+++ b/elements/core-deps/geocode-glib.bst
@@ -3,15 +3,12 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/geocode-glib.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/json-glib.bst
 - sdk/libsoup.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/gexiv2.bst b/elements/core-deps/gexiv2.bst
index 3b5a31e7..058ab613 100644
--- a/elements/core-deps/gexiv2.bst
+++ b/elements/core-deps/gexiv2.bst
@@ -2,13 +2,11 @@ kind: meson
 sources:
 - kind: tar
   url: gnome_downloads:gexiv2/0.12/gexiv2-0.12.0.tar.xz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
-- sdk/glib.bst
 - core-deps/exiv2.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- sdk/glib.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-aux: build-aux
diff --git a/elements/core-deps/glibmm-2.4.bst b/elements/core-deps/glibmm-2.4.bst
index 7525df74..8add547c 100644
--- a/elements/core-deps/glibmm-2.4.bst
+++ b/elements/core-deps/glibmm-2.4.bst
@@ -3,17 +3,13 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/glibmm.git
   track: glibmm-2-60
+build-depends:
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/libsigcplusplus-2.0.bst
 - sdk/glib.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-maintainer-mode
diff --git a/elements/core-deps/glibmm.bst b/elements/core-deps/glibmm.bst
index 249eee56..d6e914b4 100644
--- a/elements/core-deps/glibmm.bst
+++ b/elements/core-deps/glibmm.bst
@@ -3,17 +3,13 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/glibmm.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/libsigcplusplus.bst
 - sdk/glib.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-maintainer-mode
diff --git a/elements/core-deps/gmime3.bst b/elements/core-deps/gmime3.bst
index f59eb800..bdaa813c 100644
--- a/elements/core-deps/gmime3.bst
+++ b/elements/core-deps/gmime3.bst
@@ -3,12 +3,9 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gmime.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/gnome-autoar.bst b/elements/core-deps/gnome-autoar.bst
index 4d6179b0..aa24c485 100644
--- a/elements/core-deps/gnome-autoar.bst
+++ b/elements/core-deps/gnome-autoar.bst
@@ -3,18 +3,13 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-autoar.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: sdk/vala.bst
-  type: build
-- filename: components/libarchive.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/libarchive.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/gnome-online-accounts.bst b/elements/core-deps/gnome-online-accounts.bst
index a47713cd..81a94200 100644
--- a/elements/core-deps/gnome-online-accounts.bst
+++ b/elements/core-deps/gnome-online-accounts.bst
@@ -3,22 +3,18 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-online-accounts.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/librest.bst
 - sdk/WebKitGTK.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/json-glib.bst
 - sdk/libsecret.bst
 - sdk/libsoup.bst
-- filename: sdk/vala.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-telepathy
diff --git a/elements/core-deps/gnome-online-miners.bst b/elements/core-deps/gnome-online-miners.bst
index d1a3b33a..733d5b2e 100644
--- a/elements/core-deps/gnome-online-miners.bst
+++ b/elements/core-deps/gnome-online-miners.bst
@@ -3,6 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-online-miners.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/gnome-online-accounts.bst
 - core-deps/grilo.bst
@@ -11,8 +13,4 @@ depends:
 - core-deps/libzapojit.bst
 - core-deps/tracker.bst
 - sdk/glib.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/gnome-video-effects.bst b/elements/core-deps/gnome-video-effects.bst
index 28296ecb..a973f048 100644
--- a/elements/core-deps/gnome-video-effects.bst
+++ b/elements/core-deps/gnome-video-effects.bst
@@ -3,14 +3,9 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-video-effects.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/gom.bst b/elements/core-deps/gom.bst
index 29c85841..d04659cb 100644
--- a/elements/core-deps/gom.bst
+++ b/elements/core-deps/gom.bst
@@ -3,12 +3,10 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gom.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/gdk-pixbuf.bst
 - sdk/glib.bst
 - sdk/pygobject.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/graphviz.bst b/elements/core-deps/graphviz.bst
index 66822aff..b3d1546b 100644
--- a/elements/core-deps/graphviz.bst
+++ b/elements/core-deps/graphviz.bst
@@ -2,16 +2,13 @@ kind: autotools
 sources:
 - kind: tar
   url: https://graphviz.gitlab.io/pub/graphviz/stable/SOURCES/graphviz.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/gdk-pixbuf.bst
 - sdk/pango.bst
-- filename: components/libtool.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/libtool.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-aux: config
 public:
diff --git a/elements/core-deps/grilo-plugins.bst b/elements/core-deps/grilo-plugins.bst
index cbff8a48..13ce44e8 100644
--- a/elements/core-deps/grilo-plugins.bst
+++ b/elements/core-deps/grilo-plugins.bst
@@ -3,6 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/grilo-plugins.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/gmime3.bst
 - core-deps/gnome-online-accounts.bst
@@ -18,13 +20,8 @@ depends:
 - core-deps/tracker.bst
 - sdk/json-glib.bst
 - sdk/libsoup.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Denable-lua-factory=no
diff --git a/elements/core-deps/grilo.bst b/elements/core-deps/grilo.bst
index 4a9dded2..ae82a625 100644
--- a/elements/core-deps/grilo.bst
+++ b/elements/core-deps/grilo.bst
@@ -3,17 +3,14 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/grilo.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/totem-pl-parser.bst
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/libsoup.bst
 - sdk/vala.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/gsound.bst b/elements/core-deps/gsound.bst
index 9cc88ae9..0f9e8836 100644
--- a/elements/core-deps/gsound.bst
+++ b/elements/core-deps/gsound.bst
@@ -3,19 +3,15 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gsound.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/libcanberra.bst
-- filename: sdk/vala.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-gtk-doc
diff --git a/elements/core-deps/gspell.bst b/elements/core-deps/gspell.bst
index 03e6a994..aa6d9265 100644
--- a/elements/core-deps/gspell.bst
+++ b/elements/core-deps/gspell.bst
@@ -2,17 +2,12 @@ kind: autotools
 sources:
 - kind: tar
   url: gnome_downloads:gspell/1.8/gspell-1.8.1.tar.xz
+build-depends:
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/enchant-2.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: sdk/vala.bst
-  type: build
-- filename: components/iso-codes.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/iso-codes.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/gssdp.bst b/elements/core-deps/gssdp.bst
index 6fa65388..ad3409d7 100644
--- a/elements/core-deps/gssdp.bst
+++ b/elements/core-deps/gssdp.bst
@@ -3,19 +3,15 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gssdp.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/libsoup.bst
-- filename: sdk/vala.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dsniffer=false
diff --git a/elements/core-deps/gtk-vnc.bst b/elements/core-deps/gtk-vnc.bst
index ddc54e2e..2cc7b493 100644
--- a/elements/core-deps/gtk-vnc.bst
+++ b/elements/core-deps/gtk-vnc.bst
@@ -7,24 +7,17 @@ sources:
     subprojects/keycodemapdb:
       checkout: true
       url: gitlab_com:keycodemap/keycodemapdb.git
+build-depends:
+- freedesktop-sdk.bst:components/gnutls.bst
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/gdk-pixbuf.bst
 - sdk/glib.bst
 - sdk/gtk+-3.bst
 - sdk/vala.bst
-- filename: components/cyrus-sasl.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gnutls.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/cyrus-sasl.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --with-gtk=3.0
diff --git a/elements/core-deps/gtkmm-3.bst b/elements/core-deps/gtkmm-3.bst
index ca82195c..22d75125 100644
--- a/elements/core-deps/gtkmm-3.bst
+++ b/elements/core-deps/gtkmm-3.bst
@@ -3,20 +3,16 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gtkmm.git
   track: gtkmm-3-24
+build-depends:
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/atkmm-1.6.bst
 - core-deps/cairomm-1.0.bst
 - core-deps/pangomm-1.4.bst
 - sdk/glib.bst
 - sdk/gtk+-3.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-maintainer-mode
diff --git a/elements/core-deps/gtkmm.bst b/elements/core-deps/gtkmm.bst
index 9923a236..4bc47fca 100644
--- a/elements/core-deps/gtkmm.bst
+++ b/elements/core-deps/gtkmm.bst
@@ -3,20 +3,16 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gtkmm.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/atkmm.bst
 - core-deps/cairomm.bst
 - core-deps/pangomm.bst
 - sdk/glib.bst
 - sdk/gtk.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-maintainer-mode
diff --git a/elements/core-deps/gtksourceview.bst b/elements/core-deps/gtksourceview.bst
index 013be510..bbfb5779 100644
--- a/elements/core-deps/gtksourceview.bst
+++ b/elements/core-deps/gtksourceview.bst
@@ -3,17 +3,13 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gtksourceview.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: sdk/vala.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dinstall_tests=true
diff --git a/elements/core-deps/gupnp-av.bst b/elements/core-deps/gupnp-av.bst
index 36cfdde2..e159cca2 100644
--- a/elements/core-deps/gupnp-av.bst
+++ b/elements/core-deps/gupnp-av.bst
@@ -3,14 +3,11 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gupnp-av.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/gupnp.bst
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/gupnp-dlna.bst b/elements/core-deps/gupnp-dlna.bst
index fe6f6283..77b79d7f 100644
--- a/elements/core-deps/gupnp-dlna.bst
+++ b/elements/core-deps/gupnp-dlna.bst
@@ -3,18 +3,13 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gupnp-dlna.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
 - sdk/gst-plugins-base.bst
 - sdk/gst-plugins-good.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: sdk/vala.bst
-  type: build
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/gupnp.bst b/elements/core-deps/gupnp.bst
index 5330ba12..642bc63e 100644
--- a/elements/core-deps/gupnp.bst
+++ b/elements/core-deps/gupnp.bst
@@ -3,19 +3,16 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gupnp.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/NetworkManager.bst
 - core-deps/gssdp.bst
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/libsoup.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dcontext_manager=network-manager
diff --git a/elements/core-deps/intltool.bst b/elements/core-deps/intltool.bst
index d32a16d1..d063c0c0 100644
--- a/elements/core-deps/intltool.bst
+++ b/elements/core-deps/intltool.bst
@@ -4,17 +4,11 @@ sources:
   url: https://launchpad.net/intltool/trunk/0.51.0/+download/intltool-0.51.0.tar.gz
 - kind: patch
   path: files/intltool/intltool-perl-5.22-compatibility.patch
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
+runtime-depends:
+- freedesktop-sdk.bst:components/gettext.bst
 depends:
-- filename: components/gettext.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-- filename: components/perl.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:components/perl.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/iptables.bst b/elements/core-deps/iptables.bst
index bdc3c3f0..917212bb 100644
--- a/elements/core-deps/iptables.bst
+++ b/elements/core-deps/iptables.bst
@@ -2,12 +2,10 @@ kind: autotools
 sources:
 - kind: tar
   url: tarballs_needing_help:iptables_1.6.2.orig.tar.bz2
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-nftables
diff --git a/elements/core-deps/json-c.bst b/elements/core-deps/json-c.bst
index 4c1d6bbc..f33da6c0 100644
--- a/elements/core-deps/json-c.bst
+++ b/elements/core-deps/json-c.bst
@@ -2,9 +2,7 @@ kind: autotools
 sources:
 - kind: tar
   url: https://s3.amazonaws.com/json-c_releases/releases/json-c-0.13.1.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/libatasmart.bst b/elements/core-deps/libatasmart.bst
index 7da3bdff..aa6bdd36 100644
--- a/elements/core-deps/libatasmart.bst
+++ b/elements/core-deps/libatasmart.bst
@@ -2,13 +2,10 @@ kind: autotools
 sources:
 - kind: tar
   url: http://0pointer.de/public/libatasmart-0.19.tar.xz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: components/systemd.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/systemd.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-aux: build-aux
diff --git a/elements/core-deps/libbytesize.bst b/elements/core-deps/libbytesize.bst
index 35a88698..40a5e48b 100644
--- a/elements/core-deps/libbytesize.bst
+++ b/elements/core-deps/libbytesize.bst
@@ -2,14 +2,10 @@ kind: autotools
 sources:
 - kind: tar
   url: github_com:storaged-project/libbytesize/releases/download/1.2/libbytesize-1.2.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/mpfr.bst
-- filename: components/python3.bst
-  junction: freedesktop-sdk.bst
-- filename: components/pcre.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/pcre.bst
+- freedesktop-sdk.bst:components/python3.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/libchamplain.bst b/elements/core-deps/libchamplain.bst
index ed4b51bd..1253a786 100644
--- a/elements/core-deps/libchamplain.bst
+++ b/elements/core-deps/libchamplain.bst
@@ -3,18 +3,14 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libchamplain.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/clutter-gtk.bst
 - sdk/clutter.bst
 - sdk/glib.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/libsoup.bst
-- filename: sdk/vala.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/libcue.bst b/elements/core-deps/libcue.bst
index 8a44061d..cf5bdb0b 100644
--- a/elements/core-deps/libcue.bst
+++ b/elements/core-deps/libcue.bst
@@ -2,18 +2,12 @@ kind: cmake
 sources:
 - kind: tar
   url: https://github.com/lipnitsk/libcue/archive/v2.2.1.tar.gz
+build-depends:
+- freedesktop-sdk.bst:components/bison.bst
+- freedesktop-sdk.bst:components/flex.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
 depends:
-- filename: components/bison.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/flex.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-cmake.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   cmake-local: >-
     -DBUILD_SHARED_LIBS=ON
diff --git a/elements/core-deps/libdaemon.bst b/elements/core-deps/libdaemon.bst
index a6dd114b..1b6a4060 100644
--- a/elements/core-deps/libdaemon.bst
+++ b/elements/core-deps/libdaemon.bst
@@ -2,9 +2,7 @@ kind: autotools
 sources:
 - kind: tar
   url: http://0pointer.de/lennart/projects/libdaemon/libdaemon-0.14.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/libdazzle.bst b/elements/core-deps/libdazzle.bst
index f74a6e06..ecab7ed2 100644
--- a/elements/core-deps/libdazzle.bst
+++ b/elements/core-deps/libdazzle.bst
@@ -3,13 +3,11 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libdazzle.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/gtk+-3.bst
 - sdk/vala.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/libdvdread.bst b/elements/core-deps/libdvdread.bst
index 51289834..da9fe245 100644
--- a/elements/core-deps/libdvdread.bst
+++ b/elements/core-deps/libdvdread.bst
@@ -2,9 +2,7 @@ kind: autotools
 sources:
 - kind: tar
   url: http://download.videolan.org/pub/videolan/libdvdread/6.0.0/libdvdread-6.0.0.tar.bz2
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/libevdev.bst b/elements/core-deps/libevdev.bst
index 2970ad8c..787dbcc5 100644
--- a/elements/core-deps/libevdev.bst
+++ b/elements/core-deps/libevdev.bst
@@ -2,14 +2,10 @@ kind: autotools
 sources:
 - kind: tar
   url: https://www.freedesktop.org/software/libevdev/libevdev-1.6.0.tar.xz
+build-depends:
+- freedesktop-sdk.bst:components/python3.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: components/python3.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-aux: build-aux
diff --git a/elements/core-deps/libgdata.bst b/elements/core-deps/libgdata.bst
index 8e374ea9..0a160411 100644
--- a/elements/core-deps/libgdata.bst
+++ b/elements/core-deps/libgdata.bst
@@ -2,22 +2,17 @@ kind: meson
 sources:
 - kind: tar
   url: gnome_downloads:libgdata/0.17/libgdata-0.17.10.tar.xz
+build-depends:
+- sdk/gobject-introspection.bst
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/gnome-online-accounts.bst
 - core-deps/liboauth.bst
 - core-deps/uhttpmock.bst
 - sdk/gcr.bst
 - sdk/glib.bst
-- filename: sdk/gobject-introspection.bst
-  type: build
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/json-glib.bst
 - sdk/libsoup.bst
-- filename: sdk/vala.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/libgepub.bst b/elements/core-deps/libgepub.bst
index 3cef475b..16c405ef 100644
--- a/elements/core-deps/libgepub.bst
+++ b/elements/core-deps/libgepub.bst
@@ -3,12 +3,10 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libgepub.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/WebKitGTK.bst
 - sdk/glib.bst
 - sdk/libsoup.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/libgfbgraph.bst b/elements/core-deps/libgfbgraph.bst
index 4add5385..c58dd6b8 100644
--- a/elements/core-deps/libgfbgraph.bst
+++ b/elements/core-deps/libgfbgraph.bst
@@ -3,16 +3,13 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libgfbgraph.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/gnome-online-accounts.bst
 - core-deps/librest.bst
 - sdk/glib.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/json-glib.bst
 - sdk/libsoup.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/libgnomekbd.bst b/elements/core-deps/libgnomekbd.bst
index a0b4fa06..a0082675 100644
--- a/elements/core-deps/libgnomekbd.bst
+++ b/elements/core-deps/libgnomekbd.bst
@@ -3,11 +3,9 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libgnomekbd.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/libxklavier.bst
 - sdk/gtk+-3.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/libgovirt.bst b/elements/core-deps/libgovirt.bst
index a95cd688..3af08749 100644
--- a/elements/core-deps/libgovirt.bst
+++ b/elements/core-deps/libgovirt.bst
@@ -3,11 +3,9 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libgovirt.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/librest.bst
 - sdk/gobject-introspection.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/libgsf.bst b/elements/core-deps/libgsf.bst
index 25e3ed6a..6711c337 100644
--- a/elements/core-deps/libgsf.bst
+++ b/elements/core-deps/libgsf.bst
@@ -3,21 +3,15 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libgsf.git
   track: master
+build-depends:
+- sdk/gobject-introspection.bst
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/gdk-pixbuf.bst
 - sdk/glib.bst
-- filename: sdk/gobject-introspection.bst
-  type: build
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --without-bonobo
diff --git a/elements/core-deps/libgtop.bst b/elements/core-deps/libgtop.bst
index 182a7935..87b966f2 100644
--- a/elements/core-deps/libgtop.bst
+++ b/elements/core-deps/libgtop.bst
@@ -3,18 +3,13 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libgtop.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:components/texinfo.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: components/texinfo.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 environment:
   CC: gcc -std=c99
 config:
diff --git a/elements/core-deps/libgudev.bst b/elements/core-deps/libgudev.bst
index d3b682ce..59b67a7f 100644
--- a/elements/core-deps/libgudev.bst
+++ b/elements/core-deps/libgudev.bst
@@ -3,18 +3,14 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libgudev.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: components/systemd.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/systemd.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-umockdev
diff --git a/elements/core-deps/libgusb.bst b/elements/core-deps/libgusb.bst
index 6bdecba0..1c7741b6 100644
--- a/elements/core-deps/libgusb.bst
+++ b/elements/core-deps/libgusb.bst
@@ -3,15 +3,12 @@ sources:
 - kind: git_tag
   url: github_com:hughsie/libgusb.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/libusb.bst
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/vala.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/libgweather.bst b/elements/core-deps/libgweather.bst
index a27bcd7e..959b4fc3 100644
--- a/elements/core-deps/libgweather.bst
+++ b/elements/core-deps/libgweather.bst
@@ -3,15 +3,12 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libgweather.git
   track: master
+build-depends:
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/geocode-glib.bst
 - sdk/glib.bst
 - sdk/gtk+-3.bst
 - sdk/libsoup.bst
-- filename: sdk/vala.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/libgxps.bst b/elements/core-deps/libgxps.bst
index 3484405b..0ecf98f2 100644
--- a/elements/core-deps/libgxps.bst
+++ b/elements/core-deps/libgxps.bst
@@ -3,16 +3,12 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libgxps.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/gtk+-3.bst
-- filename: components/libarchive.bst
-  junction: freedesktop-sdk.bst
-- filename: components/lcms.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/lcms.bst
+- freedesktop-sdk.bst:components/libarchive.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/libhandy.bst b/elements/core-deps/libhandy.bst
index eae09573..7cc10fec 100644
--- a/elements/core-deps/libhandy.bst
+++ b/elements/core-deps/libhandy.bst
@@ -2,22 +2,16 @@ kind: meson
 sources:
 - kind: tar
   url: https://source.puri.sm/Librem5/libhandy/-/archive/v0.0.10/libhandy-v0.0.10.tar.bz2
+build-depends:
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:components/docbook-xsl.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/gtk+-3.bst
-- filename: sdk/vala.bst
-  type: build
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: components/docbook-xsl.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dgtk_doc=true
diff --git a/elements/core-deps/libical.bst b/elements/core-deps/libical.bst
index b4ca95ab..ff1b4a5c 100644
--- a/elements/core-deps/libical.bst
+++ b/elements/core-deps/libical.bst
@@ -2,24 +2,17 @@ kind: cmake
 sources:
 - kind: tar
   url: github_com:libical/libical/releases/download/v3.0.5/libical-3.0.5.tar.gz
+build-depends:
+- sdk/gobject-introspection.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:components/perl.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
 depends:
 - sdk/glib.bst
-- filename: sdk/gobject-introspection.bst
-  type: build
-- filename: sdk/vala.bst
-  type: build
-- filename: components/libxml2.bst
-  junction: freedesktop-sdk.bst
-- filename: components/perl.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-cmake.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/libxml2.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
-  cmake-local:
+  cmake-local: >-
     -DENABLE_GTK_DOC=OFF
     -DGOBJECT_INTROSPECTION=ON
     -DICAL_GLIB=ON
diff --git a/elements/core-deps/libinput.bst b/elements/core-deps/libinput.bst
index 2088cd2a..0959a9ed 100644
--- a/elements/core-deps/libinput.bst
+++ b/elements/core-deps/libinput.bst
@@ -3,16 +3,14 @@ sources:
 - kind: git_tag
   url: git_freedesktop_org:libinput/libinput.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/libevdev.bst
 - core-deps/libwacom.bst
 - core-deps/mtdev.bst
 - sdk/gtk+-3.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Ddocumentation=false
diff --git a/elements/core-deps/libmbim.bst b/elements/core-deps/libmbim.bst
index e5b1f774..7b34e494 100644
--- a/elements/core-deps/libmbim.bst
+++ b/elements/core-deps/libmbim.bst
@@ -3,16 +3,13 @@ sources:
 - kind: git_tag
   url: git_freedesktop_org:mobile-broadband/libmbim.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/libgudev.bst
 - sdk/glib.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-more-warnings=no
diff --git a/elements/core-deps/libmediaart.bst b/elements/core-deps/libmediaart.bst
index f393f21f..f60d8057 100644
--- a/elements/core-deps/libmediaart.bst
+++ b/elements/core-deps/libmediaart.bst
@@ -3,20 +3,15 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libmediaart.git
   track: master
+build-depends:
+- sdk/gobject-introspection.bst
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/gdk-pixbuf.bst
 - sdk/glib.bst
-- filename: sdk/gobject-introspection.bst
-  type: build
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: sdk/vala.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-qt
diff --git a/elements/core-deps/libmusicbrainz.bst b/elements/core-deps/libmusicbrainz.bst
index 5ab4b116..2630da84 100644
--- a/elements/core-deps/libmusicbrainz.bst
+++ b/elements/core-deps/libmusicbrainz.bst
@@ -5,15 +5,12 @@ sources:
 # this patch has been merged upstream and can be removed when this is updated
 - kind: patch
   path: files/libmusicbrainz/cmake-ninja.patch
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
 depends:
 - core-deps/neon.bst
-- filename: components/libxml2.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-cmake.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/libxml2.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   cmake-local: >-
     -DLIB_SUFFIX="/%{gcc_triplet}"
diff --git a/elements/core-deps/libndp.bst b/elements/core-deps/libndp.bst
index 5a8d1892..0f23810a 100644
--- a/elements/core-deps/libndp.bst
+++ b/elements/core-deps/libndp.bst
@@ -2,11 +2,9 @@ kind: autotools
 sources:
 - kind: tar
   url: http://libndp.org/files/libndp-1.6.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-aux: build-aux
diff --git a/elements/core-deps/libnl.bst b/elements/core-deps/libnl.bst
index 6b06ea2b..83516a49 100644
--- a/elements/core-deps/libnl.bst
+++ b/elements/core-deps/libnl.bst
@@ -2,17 +2,11 @@ kind: autotools
 sources:
 - kind: tar
   url: github_com:thom311/libnl/releases/download/libnl3_4_0/libnl-3.4.0.tar.gz
+build-depends:
+- freedesktop-sdk.bst:components/bison.bst
+- freedesktop-sdk.bst:components/flex.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: components/bison.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/flex.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-aux: build-aux
diff --git a/elements/core-deps/liboauth.bst b/elements/core-deps/liboauth.bst
index 50e53891..8541c701 100644
--- a/elements/core-deps/liboauth.bst
+++ b/elements/core-deps/liboauth.bst
@@ -2,14 +2,11 @@ kind: autotools
 sources:
 - kind: tar
   url: downloads.sourceforge.net:liboauth/liboauth-1.0.3.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: components/nss.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/nss.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-nss
diff --git a/elements/core-deps/libosinfo.bst b/elements/core-deps/libosinfo.bst
index fdcd8082..7b3c91a9 100644
--- a/elements/core-deps/libosinfo.bst
+++ b/elements/core-deps/libosinfo.bst
@@ -6,22 +6,17 @@ sources:
   path: files/libosinfo/pci.ids
 - kind: local
   path: files/libosinfo/usb.ids
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/osinfo-db-tools.bst
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/libsoup.bst
 - sdk/vala.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-werror=no
diff --git a/elements/core-deps/libpeas.bst b/elements/core-deps/libpeas.bst
index 2dece655..f4258f4a 100644
--- a/elements/core-deps/libpeas.bst
+++ b/elements/core-deps/libpeas.bst
@@ -3,23 +3,17 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libpeas.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/pygobject.bst
-- filename: sdk/vala.bst
-  type: build
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     -Dpython3=true
diff --git a/elements/core-deps/libqmi.bst b/elements/core-deps/libqmi.bst
index d8ec1d87..5304a113 100644
--- a/elements/core-deps/libqmi.bst
+++ b/elements/core-deps/libqmi.bst
@@ -3,16 +3,13 @@ sources:
 - kind: git_tag
   url: git_freedesktop_org:mobile-broadband/libqmi.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/libgudev.bst
 - sdk/glib.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-more-warnings=no
diff --git a/elements/core-deps/librest.bst b/elements/core-deps/librest.bst
index 6687581e..252bfb13 100644
--- a/elements/core-deps/librest.bst
+++ b/elements/core-deps/librest.bst
@@ -3,17 +3,12 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/librest.git
   track: librest-0-7
+build-depends:
+- sdk/gobject-introspection.bst
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
-- filename: sdk/gobject-introspection.bst
-  type: build
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/libsoup.bst
-- filename: components/ca-certificates.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/ca-certificates.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/libsass.bst b/elements/core-deps/libsass.bst
index a45ce9ef..c06633d9 100644
--- a/elements/core-deps/libsass.bst
+++ b/elements/core-deps/libsass.bst
@@ -1,11 +1,9 @@
 kind: autotools
 
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 sources:
 - kind: tar
   url: https://github.com/sass/libsass/archive/3.5.0.tar.gz
diff --git a/elements/core-deps/libsigcplusplus-2.0.bst b/elements/core-deps/libsigcplusplus-2.0.bst
index b31302b7..8f06007c 100644
--- a/elements/core-deps/libsigcplusplus-2.0.bst
+++ b/elements/core-deps/libsigcplusplus-2.0.bst
@@ -3,13 +3,11 @@ sources:
 - kind: git_tag
   url: github_com:libsigcplusplus/libsigcplusplus.git
   track: libsigc++-2-10
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/mm-common.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-documentation
diff --git a/elements/core-deps/libsigcplusplus.bst b/elements/core-deps/libsigcplusplus.bst
index a12f190d..60eab0cf 100644
--- a/elements/core-deps/libsigcplusplus.bst
+++ b/elements/core-deps/libsigcplusplus.bst
@@ -3,13 +3,11 @@ sources:
 - kind: git_tag
   url: github_com:libsigcplusplus/libsigcplusplus.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/mm-common.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-documentation
diff --git a/elements/core-deps/libusb.bst b/elements/core-deps/libusb.bst
index 78c3fbc9..981a5a73 100644
--- a/elements/core-deps/libusb.bst
+++ b/elements/core-deps/libusb.bst
@@ -2,11 +2,8 @@ kind: autotools
 sources:
 - kind: tar
   url: github_com:libusb/libusb/releases/download/v1.0.21/libusb-1.0.21.tar.bz2
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: components/systemd.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/systemd.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/libvirt-glib.bst b/elements/core-deps/libvirt-glib.bst
index 244c9fa3..bf49adb2 100644
--- a/elements/core-deps/libvirt-glib.bst
+++ b/elements/core-deps/libvirt-glib.bst
@@ -3,23 +3,17 @@ sources:
 - kind: git_tag
   url: github_com:libvirt/libvirt-glib.git
   track: master
+build-depends:
+- core-deps/intltool.bst
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: core-deps/intltool.bst
-  type: build
 - core-deps/libvirt.bst
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/vala.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-werror=no
diff --git a/elements/core-deps/libvirt.bst b/elements/core-deps/libvirt.bst
index 5fe515e9..d5039815 100644
--- a/elements/core-deps/libvirt.bst
+++ b/elements/core-deps/libvirt.bst
@@ -2,27 +2,18 @@ kind: autotools
 sources:
 - kind: tar
   url: https://libvirt.org/sources/libvirt-4.9.0.tar.xz
+build-depends:
+- freedesktop-sdk.bst:components/libxslt.bst
+- freedesktop-sdk.bst:components/python3.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/libnl.bst
-- core-deps/portablexdr.bst
 - core-deps/lvm2.bst
-- filename: components/gnutls.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libtirpc.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libxslt.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/libxml2.bst
-  junction: freedesktop-sdk.bst
-- filename: components/python3.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- core-deps/portablexdr.bst
+- freedesktop-sdk.bst:components/gnutls.bst
+- freedesktop-sdk.bst:components/libtirpc.bst
+- freedesktop-sdk.bst:components/libxml2.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-aux: build-aux
 config:
diff --git a/elements/core-deps/libwacom.bst b/elements/core-deps/libwacom.bst
index 161dbc90..3d5a9097 100644
--- a/elements/core-deps/libwacom.bst
+++ b/elements/core-deps/libwacom.bst
@@ -2,11 +2,9 @@ kind: autotools
 sources:
 - kind: tar
   url: sourceforge_net:linuxwacom/files/libwacom/libwacom-0.23.tar.bz2
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/libgudev.bst
 - sdk/glib.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/libxklavier.bst b/elements/core-deps/libxklavier.bst
index 3dfd449f..1b4082a0 100644
--- a/elements/core-deps/libxklavier.bst
+++ b/elements/core-deps/libxklavier.bst
@@ -2,23 +2,15 @@ kind: autotools
 sources:
 - kind: tar
   url: people_freedesktop_org:~svu/libxklavier-5.4.tar.bz2
+build-depends:
+- freedesktop-sdk.bst:components/iso-codes.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/gobject-introspection.bst
-- filename: components/libxml2.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-app-xkbcomp.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-x11.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xi.bst
-  junction: freedesktop-sdk.bst
-- filename: components/iso-codes.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/libxml2.bst
+- freedesktop-sdk.bst:components/xorg-app-xkbcomp.bst
+- freedesktop-sdk.bst:components/xorg-lib-x11.bst
+- freedesktop-sdk.bst:components/xorg-lib-xi.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-aux: build-aux
diff --git a/elements/core-deps/libyaml.bst b/elements/core-deps/libyaml.bst
index 31a0982a..76c0e71d 100644
--- a/elements/core-deps/libyaml.bst
+++ b/elements/core-deps/libyaml.bst
@@ -2,9 +2,7 @@ kind: autotools
 sources:
 - kind: tar
   url: github_com:yaml/libyaml/archive/0.1.7.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/libzapojit.bst b/elements/core-deps/libzapojit.bst
index 6ac7f623..54fe7401 100644
--- a/elements/core-deps/libzapojit.bst
+++ b/elements/core-deps/libzapojit.bst
@@ -3,21 +3,15 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libzapojit.git
   track: master
+build-depends:
+- core-deps/intltool.bst
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/gnome-online-accounts.bst
-- filename: core-deps/intltool.bst
-  type: build
 - core-deps/librest.bst
 - sdk/glib.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/json-glib.bst
 - sdk/libsoup.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/lvm2.bst b/elements/core-deps/lvm2.bst
index fa91bace..57a40d7f 100644
--- a/elements/core-deps/lvm2.bst
+++ b/elements/core-deps/lvm2.bst
@@ -2,12 +2,10 @@ kind: autotools
 sources:
 - kind: tar
   url: https://www.sourceware.org/pub/lvm2/LVM2.2.02.177.tgz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-dmeventd
diff --git a/elements/core-deps/mm-common.bst b/elements/core-deps/mm-common.bst
index 61f88706..894ae3d1 100644
--- a/elements/core-deps/mm-common.bst
+++ b/elements/core-deps/mm-common.bst
@@ -23,18 +23,12 @@ sources:
 - kind: local
   path: files/mm-common/libstdc++.tag
   directory: doctags/
+build-depends:
+- freedesktop-sdk.bst:components/gzip.bst
+- freedesktop-sdk.bst:components/tar.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: components/tar.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/gzip.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-network
diff --git a/elements/core-deps/mobile-broadband-provider-info.bst 
b/elements/core-deps/mobile-broadband-provider-info.bst
index cb579295..c9f02dfe 100644
--- a/elements/core-deps/mobile-broadband-provider-info.bst
+++ b/elements/core-deps/mobile-broadband-provider-info.bst
@@ -3,11 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/mobile-broadband-provider-info.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: components/libxslt.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/libxslt.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/mpc.bst b/elements/core-deps/mpc.bst
index aef74353..d899b1ab 100644
--- a/elements/core-deps/mpc.bst
+++ b/elements/core-deps/mpc.bst
@@ -2,10 +2,8 @@ kind: autotools
 sources:
 - kind: tar
   url: ftp_gnu_org:mpc/mpc-1.1.0.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/mpfr.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/mpfr.bst b/elements/core-deps/mpfr.bst
index 6c97596a..d47b3628 100644
--- a/elements/core-deps/mpfr.bst
+++ b/elements/core-deps/mpfr.bst
@@ -2,11 +2,8 @@ kind: autotools
 sources:
 - kind: tar
   url: ftp_gnu_org:mpfr/mpfr-4.0.1.tar.xz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: components/gmp.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/gmp.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/mtdev.bst b/elements/core-deps/mtdev.bst
index 23641ddf..ba952bf8 100644
--- a/elements/core-deps/mtdev.bst
+++ b/elements/core-deps/mtdev.bst
@@ -2,11 +2,9 @@ kind: autotools
 sources:
 - kind: tar
   url: http://bitmath.org/code/mtdev/mtdev-1.1.5.tar.bz2
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-aux: config-aux
diff --git a/elements/core-deps/ndctl.bst b/elements/core-deps/ndctl.bst
index 69ce9e7b..e1b4dc9a 100644
--- a/elements/core-deps/ndctl.bst
+++ b/elements/core-deps/ndctl.bst
@@ -2,17 +2,13 @@ kind: autotools
 sources:
 - kind: tar
   url: github_com:pmem/ndctl/archive/v64.1.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/json-c.bst
-- filename: vm/linux-vm-boot/kmod.bst
-  junction: freedesktop-sdk.bst
-- filename: components/systemd.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/systemd.bst
+- freedesktop-sdk.bst:vm/linux-vm-boot/kmod.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --without-keyutils
diff --git a/elements/core-deps/neon.bst b/elements/core-deps/neon.bst
index 41eda0aa..a97767fb 100644
--- a/elements/core-deps/neon.bst
+++ b/elements/core-deps/neon.bst
@@ -2,14 +2,11 @@ kind: autotools
 sources:
 - kind: tar
   url: http://http.debian.net/debian/pool/main/n/neon27/neon27_0.30.2.orig.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: components/expat.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/expat.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-shared
diff --git a/elements/core-deps/openldap.bst b/elements/core-deps/openldap.bst
index 037ffa7c..01e42b3d 100644
--- a/elements/core-deps/openldap.bst
+++ b/elements/core-deps/openldap.bst
@@ -2,16 +2,12 @@ kind: autotools
 sources:
 - kind: tar
   url: http://openldap.org/software/download/OpenLDAP/openldap-release/openldap-2.4.45.tgz
+build-depends:
+- freedesktop-sdk.bst:components/groff.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/berkeleydb.bst
-- filename: components/groff.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-aux: build
 config:
diff --git a/elements/core-deps/osinfo-db-tools.bst b/elements/core-deps/osinfo-db-tools.bst
index 0f612a08..00d7ea80 100644
--- a/elements/core-deps/osinfo-db-tools.bst
+++ b/elements/core-deps/osinfo-db-tools.bst
@@ -2,21 +2,14 @@ kind: autotools
 sources:
 - kind: tar
   url: https://releases.pagure.org/libosinfo/osinfo-db-tools-1.6.0.tar.gz
+build-depends:
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
 - sdk/json-glib.bst
 - sdk/libsoup.bst
-- filename: components/libarchive.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libxml2.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libxslt.bst
-  junction: freedesktop-sdk.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/libarchive.bst
+- freedesktop-sdk.bst:components/libxml2.bst
+- freedesktop-sdk.bst:components/libxslt.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/pangomm-1.4.bst b/elements/core-deps/pangomm-1.4.bst
index 6c1bff7b..4405b3ba 100644
--- a/elements/core-deps/pangomm-1.4.bst
+++ b/elements/core-deps/pangomm-1.4.bst
@@ -3,19 +3,15 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/pangomm.git
   track: pangomm-2-42
+build-depends:
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/cairomm-1.0.bst
 - core-deps/glibmm-2.4.bst
 - sdk/atk.bst
 - sdk/pango.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-maintainer-mode
diff --git a/elements/core-deps/pangomm.bst b/elements/core-deps/pangomm.bst
index ace8efbc..0ae2375a 100644
--- a/elements/core-deps/pangomm.bst
+++ b/elements/core-deps/pangomm.bst
@@ -3,19 +3,15 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/pangomm.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/cairomm.bst
 - core-deps/glibmm.bst
 - sdk/atk.bst
 - sdk/pango.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-maintainer-mode
diff --git a/elements/core-deps/parted.bst b/elements/core-deps/parted.bst
index 034a84e9..1dc1a8f2 100644
--- a/elements/core-deps/parted.bst
+++ b/elements/core-deps/parted.bst
@@ -4,14 +4,11 @@ sources:
   url: ftp_gnu_org:parted/parted-3.2.tar.xz
 - kind: patch
   path: files/parted/include-sysmacros.patch
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/lvm2.bst
-- filename: components/util-linux.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/util-linux.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-aux: build-aux
diff --git a/elements/core-deps/phodav.bst b/elements/core-deps/phodav.bst
index b245e197..0123108a 100644
--- a/elements/core-deps/phodav.bst
+++ b/elements/core-deps/phodav.bst
@@ -3,23 +3,15 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/phodav.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:components/git.bst
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/avahi.bst
 - core-deps/libgudev.bst
 - sdk/glib.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/libsoup.bst
-- filename: components/systemd.bst
-  junction: freedesktop-sdk.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/git.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/systemd.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/polkit.bst b/elements/core-deps/polkit.bst
index 2b217e7c..73133d75 100644
--- a/elements/core-deps/polkit.bst
+++ b/elements/core-deps/polkit.bst
@@ -6,25 +6,17 @@ sources:
 - kind: local
   path: files/polkit/sysusers.conf
   directory: data
+build-depends:
+- core-deps/intltool.bst
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: core-deps/intltool.bst
-  type: build
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/mozjs60.bst
-- filename: components/linux-pam.bst
-  junction: freedesktop-sdk.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/systemd.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/linux-pam.bst
+- freedesktop-sdk.bst:components/systemd.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-libsystemd-login=yes
diff --git a/elements/core-deps/poppler.bst b/elements/core-deps/poppler.bst
index 3d49e350..9bb7aa8b 100644
--- a/elements/core-deps/poppler.bst
+++ b/elements/core-deps/poppler.bst
@@ -2,23 +2,15 @@ kind: cmake
 sources:
 - kind: tar
   url: https://poppler.freedesktop.org/poppler-0.72.0.tar.xz
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
 depends:
 - sdk/gobject-introspection.bst
 - sdk/openjpeg.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: components/cairo.bst
-  junction: freedesktop-sdk.bst
-- filename: components/fontconfig.bst
-  junction: freedesktop-sdk.bst
-- filename: components/freetype.bst
-  junction: freedesktop-sdk.bst
-- filename: components/jpeg.bst
-  junction: freedesktop-sdk.bst
-- filename: components/nss.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-cmake.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/cairo.bst
+- freedesktop-sdk.bst:components/fontconfig.bst
+- freedesktop-sdk.bst:components/freetype.bst
+- freedesktop-sdk.bst:components/jpeg.bst
+- freedesktop-sdk.bst:components/nss.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/portablexdr.bst b/elements/core-deps/portablexdr.bst
index 51d692be..57091f86 100644
--- a/elements/core-deps/portablexdr.bst
+++ b/elements/core-deps/portablexdr.bst
@@ -2,9 +2,7 @@ kind: autotools
 sources:
 - kind: tar
   url: tarballs_needing_help:portablexdr-4.9.1.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/portaudio.bst b/elements/core-deps/portaudio.bst
index fb127516..412fd7bc 100644
--- a/elements/core-deps/portaudio.bst
+++ b/elements/core-deps/portaudio.bst
@@ -3,9 +3,7 @@ kind: cmake
 sources:
 - kind: tar
   url: http://www.portaudio.com/archives/pa_stable_v190600_20161030.tgz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
 depends:
-- filename: public-stacks/buildsystem-cmake.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/ppp.bst b/elements/core-deps/ppp.bst
index b3d8d7ce..75c3a55f 100644
--- a/elements/core-deps/ppp.bst
+++ b/elements/core-deps/ppp.bst
@@ -4,12 +4,10 @@ sources:
   url: gnome_download:teams/releng/tarballs-needing-help/ppp/ppp-2.4.7.tar.gz
 - kind: patch
   path: files/ppp/use-openssl.patch
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   # not a real autotools project
   autogen: ''
diff --git a/elements/core-deps/pyatspi2.bst b/elements/core-deps/pyatspi2.bst
index 065fe3f5..e5218a6c 100644
--- a/elements/core-deps/pyatspi2.bst
+++ b/elements/core-deps/pyatspi2.bst
@@ -3,17 +3,13 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/pyatspi2.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:components/python3.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/at-spi2-core.bst
 - sdk/pygobject.bst
-- filename: components/python3.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --with-python=python3
diff --git a/elements/core-deps/rpcsvc-proto.bst b/elements/core-deps/rpcsvc-proto.bst
index 230be48e..8216fd85 100644
--- a/elements/core-deps/rpcsvc-proto.bst
+++ b/elements/core-deps/rpcsvc-proto.bst
@@ -2,9 +2,7 @@ kind: autotools
 sources:
 - kind: tar
   url: github_com:thkukuk/rpcsvc-proto/archive/v1.3.1.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/samba.bst b/elements/core-deps/samba.bst
index 77d291f3..b81cf236 100644
--- a/elements/core-deps/samba.bst
+++ b/elements/core-deps/samba.bst
@@ -4,27 +4,17 @@ sources:
   url: gnome_download:teams/releng/tarballs-needing-help/samba/samba-4.10.2.tar.gz
 - kind: patch
   path: files/samba/fix-root-build.patch
+build-depends:
+- freedesktop-sdk.bst:components/docbook-xsl.bst
+- freedesktop-sdk.bst:components/perl.bst
+- freedesktop-sdk.bst:components/pkg-config.bst
+- freedesktop-sdk.bst:components/python3.bst
 depends:
 - core-deps/openldap.bst
 - core-deps/rpcsvc-proto.bst
-- filename: components/libarchive.bst
-  junction: freedesktop-sdk.bst
-- filename: components/linux-pam.bst
-  junction: freedesktop-sdk.bst
-- filename: components/perl.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/pkg-config.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/docbook-xsl.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/python3.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/libarchive.bst
+- freedesktop-sdk.bst:components/linux-pam.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 config:
   configure-commands:
   - ./configure --enable-fhs --prefix=%{prefix} --exec-prefix=%{exec_prefix} --bindir=%{bindir}
diff --git a/elements/core-deps/sane-backends.bst b/elements/core-deps/sane-backends.bst
index c4ed7f07..14f5b373 100644
--- a/elements/core-deps/sane-backends.bst
+++ b/elements/core-deps/sane-backends.bst
@@ -2,10 +2,8 @@ kind: autotools
 sources:
 - kind: tar
   url: 
https://gitlab.com/sane-project/backends/uploads/a3ba9fff29253a94e84074917bff581a/sane-backends-1.0.27.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/libusb.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/sassc.bst b/elements/core-deps/sassc.bst
index 9fc12054..65f43feb 100644
--- a/elements/core-deps/sassc.bst
+++ b/elements/core-deps/sassc.bst
@@ -1,11 +1,9 @@
 kind: autotools
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/libsass.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 sources:
 - kind: tar
   url: https://github.com/sass/sassc/releases/download/3.4.8/sassc-3.4.8.tar.gz
diff --git a/elements/core-deps/speech-dispatcher.bst b/elements/core-deps/speech-dispatcher.bst
index 8ee180d8..7b380c8a 100644
--- a/elements/core-deps/speech-dispatcher.bst
+++ b/elements/core-deps/speech-dispatcher.bst
@@ -2,20 +2,15 @@ kind: autotools
 sources:
 - kind: tar
   url: github_com:brailcom/speechd/releases/download/0.9.0/speech-dispatcher-0.9.0.tar.gz
+build-depends:
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- sdk/glib.bst
 - core-deps/dotconf.bst
 - core-deps/espeak.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/sndfile.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- sdk/glib.bst
+- freedesktop-sdk.bst:components/sndfile.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --with-espeak
diff --git a/elements/core-deps/spice-gtk.bst b/elements/core-deps/spice-gtk.bst
index 1ddc4c8b..e96fad28 100644
--- a/elements/core-deps/spice-gtk.bst
+++ b/elements/core-deps/spice-gtk.bst
@@ -2,25 +2,20 @@ kind: autotools
 sources:
 - kind: tar
   url: spice:gtk/spice-gtk-0.36.tar.bz2
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/phodav.bst
 - core-deps/spice-protocol.bst
 - sdk/glib.bst
 - sdk/gst-plugins-base.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/json-glib.bst
 - sdk/vala.bst
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libdrm.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:components/libdrm.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-smartcard
diff --git a/elements/core-deps/spice-protocol.bst b/elements/core-deps/spice-protocol.bst
index 605002ef..d69c5c6b 100644
--- a/elements/core-deps/spice-protocol.bst
+++ b/elements/core-deps/spice-protocol.bst
@@ -2,9 +2,7 @@ kind: autotools
 sources:
 - kind: tar
   url: spice:releases/spice-protocol-0.12.15.tar.bz2
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/startup-notification.bst b/elements/core-deps/startup-notification.bst
index 1bb915f0..1f3c396c 100644
--- a/elements/core-deps/startup-notification.bst
+++ b/elements/core-deps/startup-notification.bst
@@ -2,13 +2,9 @@ kind: autotools
 sources:
 - kind: tar
   url: gnome_downloads:startup-notification/0.12/startup-notification-0.12.tar.xz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: components/xcb-util.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-x11.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/xcb-util.bst
+- freedesktop-sdk.bst:components/xorg-lib-x11.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/totem-pl-parser.bst b/elements/core-deps/totem-pl-parser.bst
index 0b60a855..2cdf8c74 100644
--- a/elements/core-deps/totem-pl-parser.bst
+++ b/elements/core-deps/totem-pl-parser.bst
@@ -3,19 +3,13 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/totem-pl-parser.git
   track: master
+build-depends:
+- sdk/gobject-introspection.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/gmime3.bst
 - sdk/glib.bst
-- filename: sdk/gobject-introspection.bst
-  type: build
-- filename: components/libarchive.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libgcrypt.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libxml2.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/libarchive.bst
+- freedesktop-sdk.bst:components/libgcrypt.bst
+- freedesktop-sdk.bst:components/libxml2.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/tracker-miners.bst b/elements/core-deps/tracker-miners.bst
index 083fbfc1..177e5885 100644
--- a/elements/core-deps/tracker-miners.bst
+++ b/elements/core-deps/tracker-miners.bst
@@ -2,12 +2,13 @@ kind: meson
 sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/tracker-miners.git
-  track: 'tracker-miners-2.3'
+  track: tracker-miners-2.3
+build-depends:
+- core-deps/intltool.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/NetworkManager.bst
 - core-deps/gexiv2.bst
-- filename: core-deps/intltool.bst
-  type: build
 - core-deps/libcue.bst
 - core-deps/libgsf.bst
 - core-deps/libgxps.bst
@@ -21,17 +22,10 @@ depends:
 - sdk/gst-plugins-base.bst
 - sdk/libsecret.bst
 - sdk/openjpeg.bst
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libflac.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libseccomp.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:components/libflac.bst
+- freedesktop-sdk.bst:components/libseccomp.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dxmp=disabled
diff --git a/elements/core-deps/tracker.bst b/elements/core-deps/tracker.bst
index a54699b1..36e4e14f 100644
--- a/elements/core-deps/tracker.bst
+++ b/elements/core-deps/tracker.bst
@@ -2,22 +2,19 @@ kind: meson
 sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/tracker.git
-  track: 'tracker-2.3'
+  track: tracker-2.3
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/NetworkManager.bst
 - core-deps/upower.bst
 - sdk/dconf.bst
 - sdk/glib.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/json-glib.bst
 - sdk/libsoup.bst
 - sdk/vala.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Ddocs=false
diff --git a/elements/core-deps/udisks2.bst b/elements/core-deps/udisks2.bst
index e48cf62d..342cd4f4 100644
--- a/elements/core-deps/udisks2.bst
+++ b/elements/core-deps/udisks2.bst
@@ -2,20 +2,15 @@ kind: autotools
 sources:
 - kind: tar
   url: github_com:storaged-project/udisks/releases/download/udisks-2.8.2/udisks-2.8.2.tar.bz2
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:components/docbook-xsl.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/blockdev.bst
 - core-deps/libatasmart.bst
 - core-deps/libgudev.bst
 - core-deps/polkit.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: components/docbook-xsl.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-aux: build-aux
diff --git a/elements/core-deps/uhttpmock.bst b/elements/core-deps/uhttpmock.bst
index 2226e4f1..9eb21014 100644
--- a/elements/core-deps/uhttpmock.bst
+++ b/elements/core-deps/uhttpmock.bst
@@ -3,13 +3,10 @@ sources:
 - kind: git_tag
   url: gitlab_com:uhttpmock/uhttpmock.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/libsoup.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/upower.bst b/elements/core-deps/upower.bst
index ec8a7374..4c7a23d9 100644
--- a/elements/core-deps/upower.bst
+++ b/elements/core-deps/upower.bst
@@ -2,14 +2,11 @@ kind: autotools
 sources:
 - kind: tar
   url: 
https://gitlab.freedesktop.org/upower/upower/uploads/93cfe7c8d66ed486001c4f3f55399b7a/upower-0.99.11.tar.xz
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/libgudev.bst
 - core-deps/libusb.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/volume-key.bst b/elements/core-deps/volume-key.bst
index e414e136..06c4091e 100644
--- a/elements/core-deps/volume-key.bst
+++ b/elements/core-deps/volume-key.bst
@@ -2,20 +2,15 @@ kind: autotools
 sources:
 - kind: tar
   url: https://releases.pagure.org/volume_key/volume_key-0.3.12.tar.xz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/cryptsetup.bst
 - sdk/glib.bst
-- filename: components/gpgme.bst
-  junction: freedesktop-sdk.bst
-- filename: components/nss.bst
-  junction: freedesktop-sdk.bst
-- filename: components/python3.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/gpgme.bst
+- freedesktop-sdk.bst:components/nss.bst
+- freedesktop-sdk.bst:components/python3.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-aux: admin
   conf-local: >-
diff --git a/elements/core-deps/xfont2.bst b/elements/core-deps/xfont2.bst
index 20298d8d..cefdc0e8 100644
--- a/elements/core-deps/xfont2.bst
+++ b/elements/core-deps/xfont2.bst
@@ -2,13 +2,10 @@ kind: autotools
 sources:
 - kind: tar
   url: https://www.x.org/releases/individual/lib/libXfont2-2.0.3.tar.bz2
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- core-deps/fontenc.bst
 - core-deps/font-util.bst
-- filename: components/freetype.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- core-deps/fontenc.bst
+- freedesktop-sdk.bst:components/freetype.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core-deps/xmlb.bst b/elements/core-deps/xmlb.bst
index 88755487..0981292d 100644
--- a/elements/core-deps/xmlb.bst
+++ b/elements/core-deps/xmlb.bst
@@ -2,16 +2,13 @@ kind: meson
 sources:
 - kind: tar
   url: https://github.com/hughsie/libxmlb/archive/0.1.7.tar.gz
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dstemmer=false
diff --git a/elements/core-deps/xmlto.bst b/elements/core-deps/xmlto.bst
index aa02c09e..2ced34ef 100644
--- a/elements/core-deps/xmlto.bst
+++ b/elements/core-deps/xmlto.bst
@@ -2,11 +2,8 @@ kind: autotools
 sources:
 - kind: tar
   url: https://releases.pagure.org/xmlto/xmlto-0.0.28.tar.bz2
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: components/util-linux.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/util-linux.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/baobab.bst b/elements/core/baobab.bst
index 75f05a6b..58f61be4 100644
--- a/elements/core/baobab.bst
+++ b/elements/core/baobab.bst
@@ -3,18 +3,14 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/baobab.git
   track: master
+build-depends:
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/adwaita-icon-theme.bst
 - sdk/appstream-glib.bst
 - sdk/glib.bst
 - sdk/gtk+-3.bst
 - sdk/librsvg.bst
-- filename: sdk/vala.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/cheese.bst b/elements/core/cheese.bst
index efaef1d0..303bc0e5 100644
--- a/elements/core/cheese.bst
+++ b/elements/core/cheese.bst
@@ -3,6 +3,11 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/cheese.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- sdk/yelp-tools.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/gnome-video-effects.bst
 - core-deps/libgudev.bst
@@ -16,18 +21,7 @@ depends:
 - sdk/gst-plugins-base.bst
 - sdk/gst-plugins-good.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/libcanberra.bst
 - sdk/librsvg.bst
-- filename: sdk/vala.bst
-  type: build
-- filename: sdk/yelp-tools.bst
-  type: build
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/eog.bst b/elements/core/eog.bst
index 522511e5..7bc624c3 100644
--- a/elements/core/eog.bst
+++ b/elements/core/eog.bst
@@ -3,6 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/eog.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/exempi.bst
 - core-deps/libpeas.bst
@@ -14,14 +16,7 @@ depends:
 - sdk/gsettings-desktop-schemas.bst
 - sdk/gtk+-3.bst
 - sdk/librsvg.bst
-- filename: components/lcms.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libexif.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:components/lcms.bst
+- freedesktop-sdk.bst:components/libexif.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/epiphany.bst b/elements/core/epiphany.bst
index b88b5f9b..1d421cfe 100644
--- a/elements/core/epiphany.bst
+++ b/elements/core/epiphany.bst
@@ -3,6 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/epiphany.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/libdazzle.bst
 - core-deps/libhandy.bst
@@ -18,12 +20,6 @@ depends:
 - sdk/libnotify.bst
 - sdk/libsecret.bst
 - sdk/libsoup.bst
-- filename: components/iso-codes.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/iso-codes.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/evince.bst b/elements/core/evince.bst
index 56ed0324..18265910 100644
--- a/elements/core/evince.bst
+++ b/elements/core/evince.bst
@@ -2,25 +2,21 @@ kind: autotools
 sources:
 - kind: tar
   url: gnome_downloads:evince/3.32/evince-3.32.0.tar.xz
+build-depends:
+- sdk/appstream-glib.bst
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/gspell.bst
 - core-deps/libgxps.bst
 - core-deps/poppler.bst
 - core/nautilus.bst
 - sdk/adwaita-icon-theme.bst
-- filename: sdk/appstream-glib.bst
-  type: build
 - sdk/glib.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/libsecret.bst
 - sdk/yelp-tools.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-introspection
diff --git a/elements/core/file-roller.bst b/elements/core/file-roller.bst
index 05812a05..b1a32668 100644
--- a/elements/core/file-roller.bst
+++ b/elements/core/file-roller.bst
@@ -3,15 +3,11 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/file-roller.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/adwaita-icon-theme.bst
 - sdk/glib.bst
 - sdk/gtk+-3.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gdm.bst b/elements/core/gdm.bst
index 76601dcd..29a133ac 100644
--- a/elements/core/gdm.bst
+++ b/elements/core/gdm.bst
@@ -6,6 +6,8 @@ sources:
 - kind: local
   path: files/gdm
   directory: gdm-config
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/accountsservice.bst
 - core-deps/upower.bst
@@ -14,14 +16,10 @@ depends:
 - sdk/gtk+-3.bst
 - sdk/libcanberra.bst
 - sdk/yelp-tools.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
-  sysusersdir: "%{prefix}/lib/sysusers.d"
-  pamdir: "%{sysconfdir}/pam.d"
+  sysusersdir: '%{prefix}/lib/sysusers.d'
+  pamdir: '%{sysconfdir}/pam.d'
   conf-local: >-
     --enable-wayland-support
     --with-pam-prefix=%{sysconfdir}
diff --git a/elements/core/gedit.bst b/elements/core/gedit.bst
index f0405cf0..2b6e24b9 100644
--- a/elements/core/gedit.bst
+++ b/elements/core/gedit.bst
@@ -5,8 +5,12 @@ sources:
   track: master
   submodules:
     subprojects/libgd:
-      checkout: True
+      checkout: true
       url: gitlab_gnome_org:GNOME/libgd.git
+build-depends:
+- freedesktop-sdk.bst:components/git-minimal.bst
+- freedesktop-sdk.bst:components/perl.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/gspell.bst
 - core-deps/gtksourceview.bst
@@ -14,16 +18,5 @@ depends:
 - sdk/adwaita-icon-theme.bst
 - sdk/gsettings-desktop-schemas.bst
 - sdk/libsoup.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/git-minimal.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/perl.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-backgrounds.bst b/elements/core/gnome-backgrounds.bst
index 85790163..be52cf82 100644
--- a/elements/core/gnome-backgrounds.bst
+++ b/elements/core/gnome-backgrounds.bst
@@ -3,10 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-backgrounds.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-bluetooth.bst b/elements/core/gnome-bluetooth.bst
index 207d43e2..e03ac548 100644
--- a/elements/core/gnome-bluetooth.bst
+++ b/elements/core/gnome-bluetooth.bst
@@ -6,18 +6,14 @@ sources:
   submodules:
     subprojects/libhandy:
       url: purism:Librem5/libhandy.git
-      checkout: True
+      checkout: true
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/libcanberra.bst
 - sdk/libnotify.bst
-- filename: components/systemd.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/systemd.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-boxes.bst b/elements/core/gnome-boxes.bst
index 8f1eafed..6f19990f 100644
--- a/elements/core/gnome-boxes.bst
+++ b/elements/core/gnome-boxes.bst
@@ -5,11 +5,13 @@ sources:
   track: master
   submodules:
     subprojects/gtk-frdp:
-      checkout: True
+      checkout: true
       url: gitlab_gnome_org:GNOME/gtk-frdp.git
     subprojects/libovf-glib:
-      checkout: True
+      checkout: true
       url: gitlab_gnome_org:felipeborges/libovf-glib.git
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/gtk-vnc.bst
 - core-deps/libgovirt.bst
@@ -27,13 +29,8 @@ depends:
 - sdk/libsecret.bst
 - sdk/vala.bst
 - sdk/vte.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Drdp=false
diff --git a/elements/core/gnome-calculator.bst b/elements/core/gnome-calculator.bst
index 7f6e15c9..6b23747e 100644
--- a/elements/core/gnome-calculator.bst
+++ b/elements/core/gnome-calculator.bst
@@ -3,6 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-calculator.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/gtksourceview.bst
 - core-deps/mpc.bst
@@ -10,13 +12,8 @@ depends:
 - sdk/appstream-glib.bst
 - sdk/glib.bst
 - sdk/gtk+-3.bst
-- sdk/libsoup.bst
 - sdk/libgee.bst
+- sdk/libsoup.bst
 - sdk/vala.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-calendar.bst b/elements/core/gnome-calendar.bst
index 9d4155ed..7673a994 100644
--- a/elements/core/gnome-calendar.bst
+++ b/elements/core/gnome-calendar.bst
@@ -3,6 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-calendar.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/evolution-data-server.bst
 - core-deps/gnome-online-accounts.bst
@@ -12,8 +14,4 @@ depends:
 - sdk/glib.bst
 - sdk/gsettings-desktop-schemas.bst
 - sdk/gtk+-3.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-characters.bst b/elements/core/gnome-characters.bst
index 9c98718d..b3460304 100644
--- a/elements/core/gnome-characters.bst
+++ b/elements/core/gnome-characters.bst
@@ -3,16 +3,12 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-characters.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/adwaita-icon-theme.bst
 - sdk/appstream-glib.bst
 - sdk/gjs.bst
 - sdk/gtk+-3.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-clocks.bst b/elements/core/gnome-clocks.bst
index f689bff1..07abeaa3 100644
--- a/elements/core/gnome-clocks.bst
+++ b/elements/core/gnome-clocks.bst
@@ -3,20 +3,17 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-clocks.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/geocode-glib.bst
 - core-deps/gsound.bst
-- core-deps/libhandy.bst
 - core-deps/libgweather.bst
+- core-deps/libhandy.bst
 - core/gnome-desktop.bst
 - sdk/adwaita-icon-theme.bst
 - sdk/geoclue.bst
 - sdk/gtk+-3.bst
 - sdk/vala.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-color-manager.bst b/elements/core/gnome-color-manager.bst
index bad34bc1..84a4459e 100644
--- a/elements/core/gnome-color-manager.bst
+++ b/elements/core/gnome-color-manager.bst
@@ -3,6 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-color-manager.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/colord-gtk.bst
 - core-deps/exiv2.bst
@@ -13,12 +15,6 @@ depends:
 - sdk/gtk+-3.bst
 - sdk/libcanberra.bst
 - sdk/vte.bst
-- filename: components/libexif.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:components/libexif.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-contacts.bst b/elements/core/gnome-contacts.bst
index 1d01185b..4659a2ca 100644
--- a/elements/core/gnome-contacts.bst
+++ b/elements/core/gnome-contacts.bst
@@ -3,6 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-contacts.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/folks.bst
 - core-deps/gnome-online-accounts.bst
@@ -14,10 +16,5 @@ depends:
 - sdk/gtk+-3.bst
 - sdk/libgee.bst
 - sdk/vala.bst
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-control-center.bst b/elements/core/gnome-control-center.bst
index fe97a317..9c262c03 100644
--- a/elements/core/gnome-control-center.bst
+++ b/elements/core/gnome-control-center.bst
@@ -5,11 +5,14 @@ sources:
   track: master
   submodules:
     subprojects/gvc:
-      checkout: True
+      checkout: true
       url: gitlab_gnome_org:GNOME/libgnome-volume-control.git
     subprojets/libhandy:
-      checkout: True
+      checkout: true
       url: purism:Librem5/libhandy.git
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/ModemManager.bst
 - core-deps/NetworkManager.bst
@@ -24,8 +27,8 @@ depends:
 - core-deps/libhandy.bst
 - core-deps/libwacom.bst
 - core-deps/samba.bst
-- core-deps/upower.bst
 - core-deps/udisks2.bst
+- core-deps/upower.bst
 - core/cheese.bst
 - core/gnome-bluetooth.bst
 - core/gnome-color-manager.bst
@@ -38,18 +41,10 @@ depends:
 - sdk/glib.bst
 - sdk/gsettings-desktop-schemas.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/ibus.bst
-- filename: components/pwquality.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:components/pwquality.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Ddocumentation=true
diff --git a/elements/core/gnome-desktop.bst b/elements/core/gnome-desktop.bst
index 5aaf23bc..06e75aa0 100644
--- a/elements/core/gnome-desktop.bst
+++ b/elements/core/gnome-desktop.bst
@@ -3,25 +3,19 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-desktop.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/libgudev.bst
 - sdk/gdk-pixbuf.bst
 - sdk/glib.bst
 - sdk/gsettings-desktop-schemas.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: components/iso-codes.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libseccomp.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/iso-codes.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:components/libseccomp.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dgnome-distributor=gnome-build-meta
diff --git a/elements/core/gnome-disk-utility.bst b/elements/core/gnome-disk-utility.bst
index 5cea2400..1efc0fce 100644
--- a/elements/core/gnome-disk-utility.bst
+++ b/elements/core/gnome-disk-utility.bst
@@ -3,6 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-disk-utility.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/libdvdread.bst
 - core-deps/udisks2.bst
@@ -13,13 +15,8 @@ depends:
 - sdk/gtk+-3.bst
 - sdk/libnotify.bst
 - sdk/libsecret.bst
-- filename: components/pwquality.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/pwquality.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dlibelogind=disabled
diff --git a/elements/core/gnome-font-viewer.bst b/elements/core/gnome-font-viewer.bst
index 2b487ca9..2c745175 100644
--- a/elements/core/gnome-font-viewer.bst
+++ b/elements/core/gnome-font-viewer.bst
@@ -3,13 +3,11 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-font-viewer.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core/gnome-desktop.bst
 - sdk/adwaita-icon-theme.bst
 - sdk/glib.bst
 - sdk/gtk+-3.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-getting-started-docs.bst b/elements/core/gnome-getting-started-docs.bst
index 6c9b7ca3..db750dc3 100644
--- a/elements/core/gnome-getting-started-docs.bst
+++ b/elements/core/gnome-getting-started-docs.bst
@@ -3,10 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-getting-started-docs.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/yelp-tools.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-initial-setup.bst b/elements/core/gnome-initial-setup.bst
index c393c537..bb2b32eb 100644
--- a/elements/core/gnome-initial-setup.bst
+++ b/elements/core/gnome-initial-setup.bst
@@ -6,6 +6,8 @@ sources:
 - kind: local
   path: files/gnome-initial-setup
   directory: gnome-initial-setup-config
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/NetworkManager.bst
 - core-deps/accountsservice.bst
@@ -23,17 +25,11 @@ depends:
 - sdk/glib.bst
 - sdk/gtk+-3.bst
 - sdk/ibus.bst
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-- filename: components/pwquality.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:components/pwquality.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
-  sysusersdir: "%{prefix}/lib/sysusers.d"
+  sysusersdir: '%{prefix}/lib/sysusers.d'
   meson-local: >-
     -Dcheese=disabled
     -Dsoftware-sources=disabled
diff --git a/elements/core/gnome-keyring.bst b/elements/core/gnome-keyring.bst
index 3b58eca2..6a124b5c 100644
--- a/elements/core/gnome-keyring.bst
+++ b/elements/core/gnome-keyring.bst
@@ -3,24 +3,16 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-keyring.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:components/docbook-xsl.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/gcr.bst
 - sdk/glib.bst
 - sdk/gtk+-3.bst
-- filename: components/docbook-xsl.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/libxslt.bst
-  junction: freedesktop-sdk.bst
-- filename: components/openssh.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/linux-pam.bst
-  junction: freedesktop-sdk.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-
+- freedesktop-sdk.bst:components/libxslt.bst
+- freedesktop-sdk.bst:components/linux-pam.bst
+- freedesktop-sdk.bst:components/openssh.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: --with-pam-dir=%{libdir}/security
diff --git a/elements/core/gnome-logs.bst b/elements/core/gnome-logs.bst
index 14c2ab7a..4a38fc05 100644
--- a/elements/core/gnome-logs.bst
+++ b/elements/core/gnome-logs.bst
@@ -3,17 +3,13 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-logs.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/adwaita-icon-theme.bst
 - sdk/appstream-glib.bst
 - sdk/gsettings-desktop-schemas.bst
 - sdk/gtk+-3.bst
-- filename: components/systemd.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:components/systemd.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-maps.bst b/elements/core/gnome-maps.bst
index 575994a2..40924670 100644
--- a/elements/core/gnome-maps.bst
+++ b/elements/core/gnome-maps.bst
@@ -3,6 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-maps.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/folks.bst
 - core-deps/geocode-glib.bst
@@ -20,8 +22,4 @@ depends:
 - sdk/gtk+-3.bst
 - sdk/libgee.bst
 - sdk/librsvg.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-menus.bst b/elements/core/gnome-menus.bst
index 34d0f95d..20bd3b11 100644
--- a/elements/core/gnome-menus.bst
+++ b/elements/core/gnome-menus.bst
@@ -3,11 +3,9 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-menus.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-music.bst b/elements/core/gnome-music.bst
index c01beda8..8f6e27cd 100644
--- a/elements/core/gnome-music.bst
+++ b/elements/core/gnome-music.bst
@@ -5,14 +5,16 @@ sources:
   track: master
   submodules:
     subprojects/libgd:
-      checkout: True
+      checkout: true
       url: gitlab_gnome_org:GNOME/libgd.git
     subprojects/gfm:
-      checkout: True
+      checkout: true
       url: gitlab_gnome_org:mschraal/gfm.git
     subprojects/shared-modules:
-      checkout: False
+      checkout: false
       url: github_com:flathub/shared-modules.git
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/grilo-plugins.bst
 - core-deps/grilo.bst
@@ -25,10 +27,5 @@ depends:
 - sdk/gtk+-3.bst
 - sdk/gvfs.bst
 - sdk/pygobject.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-photos.bst b/elements/core/gnome-photos.bst
index 22c8bff5..412d2600 100644
--- a/elements/core/gnome-photos.bst
+++ b/elements/core/gnome-photos.bst
@@ -5,8 +5,11 @@ sources:
   track: master
   submodules:
     subprojects/libgd:
-      checkout: True
+      checkout: true
       url: gitlab_gnome_org:GNOME/libgd.git
+build-depends:
+- freedesktop-sdk.bst:components/git-minimal.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/babl.bst
 - core-deps/gegl.bst
@@ -26,18 +29,9 @@ depends:
 - sdk/glib.bst
 - sdk/gsettings-desktop-schemas.bst
 - sdk/gtk+-3.bst
-- filename: components/desktop-file-utils.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
-- filename: components/git-minimal.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/desktop-file-utils.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dinstalled_tests=false
diff --git a/elements/core/gnome-screenshot.bst b/elements/core/gnome-screenshot.bst
index cb007e89..ca37949c 100644
--- a/elements/core/gnome-screenshot.bst
+++ b/elements/core/gnome-screenshot.bst
@@ -3,14 +3,12 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-screenshot.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/adwaita-icon-theme.bst
 - sdk/appstream-glib.bst
 - sdk/glib.bst
 - sdk/gtk+-3.bst
 - sdk/libcanberra.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-session.bst b/elements/core/gnome-session.bst
index 05c61f9a..d4cd84ac 100644
--- a/elements/core/gnome-session.bst
+++ b/elements/core/gnome-session.bst
@@ -3,21 +3,15 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-session.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:components/docbook-xsl.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/upower.bst
 - core-deps/xmlto.bst
 - core/gnome-desktop.bst
 - sdk/gtk+-3.bst
 - sdk/json-glib.bst
-- filename: components/xorg-lib-ice.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-sm.bst
-  junction: freedesktop-sdk.bst
-- filename: components/docbook-xsl.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/xorg-lib-ice.bst
+- freedesktop-sdk.bst:components/xorg-lib-sm.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-settings-daemon.bst b/elements/core/gnome-settings-daemon.bst
index c67ca593..810f7b01 100644
--- a/elements/core/gnome-settings-daemon.bst
+++ b/elements/core/gnome-settings-daemon.bst
@@ -5,9 +5,12 @@ sources:
   track: master
   submodules:
     subprojects/gvc:
-      checkout: True
+      checkout: true
       url: gitlab_gnome_org:GNOME/libgnome-volume-control.git
 
+build-depends:
+- freedesktop-sdk.bst:components/perl.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/ModemManager.bst
 - core-deps/NetworkManager.bst
@@ -27,17 +30,7 @@ depends:
 - sdk/ibus.bst
 - sdk/libcanberra.bst
 - sdk/libnotify.bst
-- filename: components/alsa-lib.bst
-  junction: freedesktop-sdk.bst
-- filename: components/cups.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xtst.bst
-  junction: freedesktop-sdk.bst
-- filename: components/perl.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/alsa-lib.bst
+- freedesktop-sdk.bst:components/cups.bst
+- freedesktop-sdk.bst:components/xorg-lib-xtst.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-shell-extensions.bst b/elements/core/gnome-shell-extensions.bst
index f3d9653e..4eed3b9b 100644
--- a/elements/core/gnome-shell-extensions.bst
+++ b/elements/core/gnome-shell-extensions.bst
@@ -3,15 +3,13 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-shell-extensions.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core/gnome-menus.bst
 - core/gnome-shell.bst
 - sdk/librsvg.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dextension_set=classic
diff --git a/elements/core/gnome-shell.bst b/elements/core/gnome-shell.bst
index b748e85e..6c299c06 100644
--- a/elements/core/gnome-shell.bst
+++ b/elements/core/gnome-shell.bst
@@ -5,8 +5,13 @@ sources:
   track: master
   submodules:
     subprojects/gvc:
-      checkout: True
+      checkout: true
       url: gitlab_gnome_org:GNOME/libgnome-volume-control.git
+build-depends:
+- freedesktop-sdk.bst:components/asciidoc.bst
+- freedesktop-sdk.bst:components/docbook-xsl.bst
+- freedesktop-sdk.bst:components/perl.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/NetworkManager.bst
 - core-deps/accountsservice.bst
@@ -31,19 +36,5 @@ depends:
 - sdk/gtk+-3.bst
 - sdk/libcroco.bst
 - sdk/libsoup.bst
-- filename: components/asciidoc.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-- filename: components/docbook-xsl.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/perl.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-software.bst b/elements/core/gnome-software.bst
index d22eee28..edb0b0ab 100644
--- a/elements/core/gnome-software.bst
+++ b/elements/core/gnome-software.bst
@@ -3,10 +3,13 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-software.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/PackageKit.bst
-- core-deps/gspell.bst
 - core-deps/gnome-online-accounts.bst
+- core-deps/gspell.bst
 - core-deps/libgudev.bst
 - core-deps/liboauth.bst
 - core-deps/xmlb.bst
@@ -16,15 +19,9 @@ depends:
 - sdk/glib.bst
 - sdk/gsettings-desktop-schemas.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/libsecret.bst
 - sdk/libsoup.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dfwupd=false
diff --git a/elements/core/gnome-system-monitor.bst b/elements/core/gnome-system-monitor.bst
index 3a3f8ffa..ae2980d6 100644
--- a/elements/core/gnome-system-monitor.bst
+++ b/elements/core/gnome-system-monitor.bst
@@ -3,6 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-system-monitor.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/gtkmm-3.bst
 - core-deps/libgtop.bst
@@ -11,10 +13,5 @@ depends:
 - sdk/glib.bst
 - sdk/gtk+-3.bst
 - sdk/librsvg.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-terminal.bst b/elements/core/gnome-terminal.bst
index d663b630..6538096f 100644
--- a/elements/core/gnome-terminal.bst
+++ b/elements/core/gnome-terminal.bst
@@ -3,9 +3,10 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-terminal.git
   track: master
+build-depends:
+- core-deps/intltool.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: core-deps/intltool.bst
-  type: build
 - core/gnome-shell.bst
 - core/nautilus.bst
 - sdk/adwaita-icon-theme.bst
@@ -17,13 +18,8 @@ depends:
 - sdk/librsvg.bst
 - sdk/vte.bst
 - sdk/yelp-tools.bst
-- filename: components/desktop-file-utils.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/desktop-file-utils.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-migration
diff --git a/elements/core/gnome-themes-extra.bst b/elements/core/gnome-themes-extra.bst
index bfbd8587..9a1804f6 100644
--- a/elements/core/gnome-themes-extra.bst
+++ b/elements/core/gnome-themes-extra.bst
@@ -3,17 +3,14 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-themes-extra.git
   track: master
+build-depends:
+- core-deps/intltool.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: core-deps/intltool.bst
-  type: build
 - sdk/cantarell-fonts.bst
 - sdk/gtk+-3.bst
 - sdk/librsvg.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-gtk2-engine
diff --git a/elements/core/gnome-user-docs.bst b/elements/core/gnome-user-docs.bst
index 6ab6a68e..aae308dc 100644
--- a/elements/core/gnome-user-docs.bst
+++ b/elements/core/gnome-user-docs.bst
@@ -3,10 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-user-docs.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/yelp-tools.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-user-share.bst b/elements/core/gnome-user-share.bst
index ca93e5fc..9347192b 100644
--- a/elements/core/gnome-user-share.bst
+++ b/elements/core/gnome-user-share.bst
@@ -3,15 +3,12 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-user-share.git
   track: master
+build-depends:
+- sdk/yelp-tools.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core/gnome-bluetooth.bst
 - core/nautilus.bst
 - sdk/gtk+-3.bst
 - sdk/libnotify.bst
-- filename: sdk/yelp-tools.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/gnome-weather.bst b/elements/core/gnome-weather.bst
index ed5b73e8..1d458576 100644
--- a/elements/core/gnome-weather.bst
+++ b/elements/core/gnome-weather.bst
@@ -3,8 +3,11 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-weather.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/libgweather.bst
+- core/gnome-desktop.bst
 - sdk/adwaita-icon-theme.bst
 - sdk/appstream-glib.bst
 - sdk/gdk-pixbuf.bst
@@ -13,9 +16,4 @@ depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/gtk+-3.bst
-- core/gnome-desktop.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/mutter.bst b/elements/core/mutter.bst
index 3b872d17..eb69c38d 100644
--- a/elements/core/mutter.bst
+++ b/elements/core/mutter.bst
@@ -3,38 +3,30 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/mutter.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
-- core/gnome-settings-daemon.bst
-- core-deps/startup-notification.bst
 - core-deps/libgudev.bst
 - core-deps/libinput.bst
+- core-deps/startup-notification.bst
 - core-deps/upower.bst
 - core/gnome-desktop.bst
+- core/gnome-settings-daemon.bst
 - sdk/gdk-pixbuf.bst
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/gsettings-desktop-schemas.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/json-glib.bst
 - sdk/pango.bst
 - sdk/zenity.bst
-- filename: components/xorg-lib-xcursor.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xtst.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-server.bst
-  junction: freedesktop-sdk.bst
-- filename: components/wayland.bst
-  junction: freedesktop-sdk.bst
-- filename: components/dummy-gbm.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/dummy-gbm.bst
+- freedesktop-sdk.bst:components/wayland.bst
+- freedesktop-sdk.bst:components/xorg-lib-xcursor.bst
+- freedesktop-sdk.bst:components/xorg-lib-xtst.bst
+- freedesktop-sdk.bst:components/xorg-server.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dprofiler=false
diff --git a/elements/core/nautilus.bst b/elements/core/nautilus.bst
index 595b14fa..3f5cb997 100644
--- a/elements/core/nautilus.bst
+++ b/elements/core/nautilus.bst
@@ -5,8 +5,10 @@ sources:
   track: master
   submodules:
     subprojects/libgd:
-      checkout: True
+      checkout: true
       url: gitlab_gnome_org:GNOME/libgd.git
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/gexiv2.bst
 - core-deps/gnome-autoar.bst
@@ -18,11 +20,7 @@ depends:
 - sdk/gsettings-desktop-schemas.bst
 - sdk/gtk+-3.bst
 - sdk/pango.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dselinux=false
diff --git a/elements/core/network-manager-applet.bst b/elements/core/network-manager-applet.bst
index f48771af..ba231741 100644
--- a/elements/core/network-manager-applet.bst
+++ b/elements/core/network-manager-applet.bst
@@ -3,6 +3,9 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/network-manager-applet.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/ModemManager.bst
 - core-deps/NetworkManager.bst
@@ -13,17 +16,10 @@ depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/libnotify.bst
 - sdk/libsecret.bst
-- filename: components/iso-codes.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/iso-codes.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-more-warnings=no
diff --git a/elements/core/orca.bst b/elements/core/orca.bst
index edb6d381..760600f7 100644
--- a/elements/core/orca.bst
+++ b/elements/core/orca.bst
@@ -3,6 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/orca.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/pyatspi2.bst
 - core-deps/speech-dispatcher.bst
@@ -11,8 +13,4 @@ depends:
 - sdk/gtk+-3.bst
 - sdk/pygobject.bst
 - sdk/yelp-tools.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/rygel.bst b/elements/core/rygel.bst
index 9e299b2b..fe9197f0 100644
--- a/elements/core/rygel.bst
+++ b/elements/core/rygel.bst
@@ -3,6 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/rygel.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/gssdp.bst
 - core-deps/gupnp-av.bst
@@ -12,8 +14,4 @@ depends:
 - core-deps/tracker.bst
 - sdk/libgee.bst
 - sdk/vala.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/simple-scan.bst b/elements/core/simple-scan.bst
index 459bb704..24a864bd 100644
--- a/elements/core/simple-scan.bst
+++ b/elements/core/simple-scan.bst
@@ -3,6 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/simple-scan.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/PackageKit.bst
 - core-deps/colord-gtk.bst
@@ -13,10 +15,5 @@ depends:
 - sdk/glib.bst
 - sdk/gtk+-3.bst
 - sdk/vala.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/sushi.bst b/elements/core/sushi.bst
index 67d82d43..bbda0ce5 100644
--- a/elements/core/sushi.bst
+++ b/elements/core/sushi.bst
@@ -3,6 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/sushi.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/gtksourceview.bst
 - core-deps/libmusicbrainz.bst
@@ -15,10 +17,5 @@ depends:
 - sdk/gobject-introspection.bst
 - sdk/gst-plugins-base.bst
 - sdk/gtk+-3.bst
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/core/totem.bst b/elements/core/totem.bst
index dabc34d0..21d85d7b 100644
--- a/elements/core/totem.bst
+++ b/elements/core/totem.bst
@@ -5,11 +5,13 @@ sources:
   track: master
   submodules:
     subprojects/libgd:
-      checkout: True
+      checkout: true
       url: gitlab_gnome_org:GNOME/libgd.git
     flatpak/shared-modules:
-      checkout: False
+      checkout: false
       url: github_com:flathub/shared-modules.git
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/grilo-plugins.bst
 - core-deps/grilo.bst
@@ -28,15 +30,9 @@ depends:
 - sdk/gst-plugins-base.bst
 - sdk/gst-plugins-good.bst
 - sdk/gtk+-3.bst
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Denable-vala=no
diff --git a/elements/flatpak-platform-extensions.bst b/elements/flatpak-platform-extensions.bst
index 7c5bac50..d454291a 100644
--- a/elements/flatpak-platform-extensions.bst
+++ b/elements/flatpak-platform-extensions.bst
@@ -1,24 +1,16 @@
 kind: flatpak_repo
-depends:
-- filename: flatpak-images/platform-vaapi.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: flatpak-images/mesa.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: flatpak-images/platform-openh264-conditional.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: deploy-tools/flatpak.bst
-  junction: freedesktop-sdk.bst
-  type: build
+build-depends:
+- freedesktop-sdk.bst:deploy-tools/flatpak.bst
+- freedesktop-sdk.bst:flatpak-images/mesa.bst
+- freedesktop-sdk.bst:flatpak-images/platform-openh264-conditional.bst
+- freedesktop-sdk.bst:flatpak-images/platform-vaapi.bst
 variables:
   # Obtain the versions of the flatpak extensions
   (@): freedesktop-sdk.bst:include/_private/versions.yml
 
 config:
   environment:
-    - deploy-tools/flatpak.bst
+  - deploy-tools/flatpak.bst
   arch: '%{gcc_arch}'
   branch: '%{freedesktop-sdk-flatpak-branch}'
   repo-mode: bare-user-only
diff --git a/elements/flatpak-runtimes.bst b/elements/flatpak-runtimes.bst
index da6b7016..cdc54605 100644
--- a/elements/flatpak-runtimes.bst
+++ b/elements/flatpak-runtimes.bst
@@ -1,47 +1,35 @@
 kind: flatpak_repo
-depends:
-- filename: deploy-tools/flatpak.bst
-  junction: freedesktop-sdk.bst
-  type: build
+build-depends:
+- freedesktop-sdk.bst:deploy-tools/flatpak.bst
 (?):
 # platform and sdk should not be built on i686
 - arch != 'i686':
-    depends:
+    build-depends:
       (>):
-      - filename: flatpak/platform.bst
-        type: build
-      - filename: flatpak/platform-locale.bst
-        type: build
-      - filename: flatpak/sdk.bst
-        type: build
-      - filename: flatpak/sdk-debug.bst
-        type: build
-      - filename: flatpak/sdk-docs.bst
-        type: build
-      - filename: flatpak/sdk-locale.bst
-        type: build
+      - flatpak/platform.bst
+      - flatpak/platform-locale.bst
+      - flatpak/sdk.bst
+      - flatpak/sdk-debug.bst
+      - flatpak/sdk-docs.bst
+      - flatpak/sdk-locale.bst
 
 # platform compat is only built on 32 bit
 - arch in ('i686', 'arm'):
-    depends:
+    build-depends:
       (>):
-      - filename: flatpak/platform-arch-libs.bst
-        type: build
-      - filename: flatpak/platform-arch-libs-debug.bst
-        type: build
+      - flatpak/platform-arch-libs.bst
+      - flatpak/platform-arch-libs-debug.bst
 
 # sdk compat is not built on x86_64
 - arch != 'x86_64':
-    depends:
+    build-depends:
       (>):
-      - filename: flatpak/sdk-arch-libs.bst
-        type: build
-      - filename: flatpak/sdk-arch-libs-debug.bst
-        type: build
+      - flatpak/sdk-arch-libs.bst
+      - flatpak/sdk-arch-libs-debug.bst
 
 config:
   environment:
-    - deploy-tools/flatpak.bst
+  - deploy-tools/flatpak.bst
   arch: '%{gcc_arch}'
   repo-mode: bare-user-only
   (?):
diff --git a/elements/platform-manifest.bst b/elements/platform-manifest.bst
index 4afeac16..7d43c6cb 100644
--- a/elements/platform-manifest.bst
+++ b/elements/platform-manifest.bst
@@ -1,8 +1,6 @@
 kind: collect_manifest
 
-depends:
-  - filename: sdk-platform.bst
-    type: build
-
+build-depends:
+- sdk-platform.bst
 config:
-  path: "/usr/manifest.json"
+  path: /usr/manifest.json
diff --git a/elements/sdk-manifest.bst b/elements/sdk-manifest.bst
index 436ba15f..30cf3202 100644
--- a/elements/sdk-manifest.bst
+++ b/elements/sdk-manifest.bst
@@ -1,8 +1,6 @@
 kind: collect_manifest
 
-depends:
-  - filename: sdk.bst
-    type: build
-
+build-depends:
+- sdk.bst
 config:
-  path: "/usr/manifest.json"
+  path: /usr/manifest.json
diff --git a/elements/sdk-platform.bst b/elements/sdk-platform.bst
index de699be3..f3d1ccde 100644
--- a/elements/sdk-platform.bst
+++ b/elements/sdk-platform.bst
@@ -29,8 +29,8 @@ depends:
 - sdk/gst-plugins-bad.bst
 - sdk/gst-plugins-base.bst
 - sdk/gst-plugins-good.bst
-- sdk/gtk.bst
 - sdk/gtk+-3.bst
+- sdk/gtk.bst
 - sdk/gvfs.bst
 - sdk/ibus.bst
 - sdk/json-glib.bst
@@ -68,355 +68,179 @@ depends:
 
 # Due to being relatively deep in the stack, glib needs special treatment.
 
-- filename: integration/mtab.bst
-  junction: freedesktop-sdk.bst
-- filename: components/ca-certificates.bst
-  junction: freedesktop-sdk.bst
-- filename: components/cracklib.bst
-  junction: freedesktop-sdk.bst
-- filename: components/curl.bst
-  junction: freedesktop-sdk.bst
-- filename: components/cyrus-sasl.bst
-  junction: freedesktop-sdk.bst
-- filename: components/dummy-gbm.bst
-  junction: freedesktop-sdk.bst
-- filename: components/e2fsprogs.bst
-  junction: freedesktop-sdk.bst
-- filename: components/expat.bst
-  junction: freedesktop-sdk.bst
-- filename: components/flex.bst
-  junction: freedesktop-sdk.bst
-- filename: components/frei0r.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gdbm.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gettext.bst
-  junction: freedesktop-sdk.bst
-- filename: components/giflib.bst
-  junction: freedesktop-sdk.bst
-- filename: components/glib.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gmp.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gnupg.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gnutls.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gzip.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gpgme.bst
-  junction: freedesktop-sdk.bst
-- filename: components/iana-config.bst
-  junction: freedesktop-sdk.bst
-- filename: components/icu.bst
-  junction: freedesktop-sdk.bst
-- filename: components/iso-codes.bst
-  junction: freedesktop-sdk.bst
-- filename: components/jpeg.bst
-  junction: freedesktop-sdk.bst
-- filename: components/ladspa-sdk.bst
-  junction: freedesktop-sdk.bst
-- filename: components/lcms.bst
-  junction: freedesktop-sdk.bst
-- filename: components/less.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libarchive.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libassuan.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libcap.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libexif.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libffi.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libflac.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libgcrypt.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libgpg-error.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libksba.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libidn2.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libogg.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libnice.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libpng.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libsamplerate.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libselinux.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libtasn1.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libtheora.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libtiff.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libtool.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libunistring.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libvorbis.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libvpx.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libwebp.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libxml2.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libxslt.bst
-  junction: freedesktop-sdk.bst
-- filename: components/locales.bst
-  junction: freedesktop-sdk.bst
-- filename: components/lzip.bst
-  junction: freedesktop-sdk.bst
-- filename: components/nano.bst
-  junction: freedesktop-sdk.bst
-- filename: components/nettle.bst
-  junction: freedesktop-sdk.bst
-- filename: components/npth.bst
-  junction: freedesktop-sdk.bst
-- filename: components/nspr.bst
-  junction: freedesktop-sdk.bst
-- filename: components/nss.bst
-  junction: freedesktop-sdk.bst
-- filename: components/nsswitch-config.bst
-  junction: freedesktop-sdk.bst
-- filename: components/opus.bst
-  junction: freedesktop-sdk.bst
-- filename: components/osmesa.bst
-  junction: freedesktop-sdk.bst
-- filename: components/p11-kit.bst
-  junction: freedesktop-sdk.bst
-- filename: components/pcre2.bst
-  junction: freedesktop-sdk.bst
-- filename: components/pcre.bst
-  junction: freedesktop-sdk.bst
-- filename: components/python3.bst
-  junction: freedesktop-sdk.bst
-- filename: components/python3-pip.bst
-  junction: freedesktop-sdk.bst
-- filename: components/python3-setuptools.bst
-  junction: freedesktop-sdk.bst
-- filename: components/python3-six.bst
-  junction: freedesktop-sdk.bst
-- filename: components/python3-usercustomize.bst
-  junction: freedesktop-sdk.bst
-- filename: components/python3-sitecustomize.bst
-  junction: freedesktop-sdk.bst
-- filename: components/tar.bst
-  junction: freedesktop-sdk.bst
-- filename: components/sndfile.bst
-  junction: freedesktop-sdk.bst
-- filename: components/sqlite.bst
-  junction: freedesktop-sdk.bst
-- filename: components/speex.bst
-  junction: freedesktop-sdk.bst
-- filename: components/speexdsp.bst
-  junction: freedesktop-sdk.bst
-- filename: components/tzdata.bst
-  junction: freedesktop-sdk.bst
-- filename: components/unzip.bst
-  junction: freedesktop-sdk.bst
-- filename: components/util-linux.bst
-  junction: freedesktop-sdk.bst
-- filename: components/which.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xz.bst
-  junction: freedesktop-sdk.bst
-- filename: components/zip.bst
-  junction: freedesktop-sdk.bst
-- filename: components/alsa-lib.bst
-  junction: freedesktop-sdk.bst
-- filename: components/alsa-plugins.bst
-  junction: freedesktop-sdk.bst
-- filename: components/aspell.bst
-  junction: freedesktop-sdk.bst
-- filename: components/cairo.bst
-  junction: freedesktop-sdk.bst
-- filename: components/cups.bst
-  junction: freedesktop-sdk.bst
-- filename: components/dbus.bst
-  junction: freedesktop-sdk.bst
-- filename: components/dejavu-fonts.bst
-  junction: freedesktop-sdk.bst
-- filename: components/dictionaries.bst
-  junction: freedesktop-sdk.bst
-- filename: components/emoji-one-font.bst
-  junction: freedesktop-sdk.bst
-- filename: components/ffmpeg.bst
-  junction: freedesktop-sdk.bst
-- filename: components/fftw.bst
-  junction: freedesktop-sdk.bst
-- filename: components/flatpak-xdg-utils.bst
-  junction: freedesktop-sdk.bst
-- filename: components/fontconfig.bst
-  junction: freedesktop-sdk.bst
-- filename: components/freetype.bst
-  junction: freedesktop-sdk.bst
-- filename: components/fribidi.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gnu-free-fonts.bst
-  junction: freedesktop-sdk.bst
-- filename: components/google-crosextra-caladea.bst
-  junction: freedesktop-sdk.bst
-- filename: components/google-crosextra-carlito.bst
-  junction: freedesktop-sdk.bst
-- filename: components/graphite2.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-- filename: components/harfbuzz.bst
-  junction: freedesktop-sdk.bst
-- filename: components/hicolor-icon-theme.bst
-  junction: freedesktop-sdk.bst
-- filename: components/hunspell.bst
-  junction: freedesktop-sdk.bst
-- filename: components/hyphen.bst
-  junction: freedesktop-sdk.bst
-- filename: components/lame.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libclc.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libdatrie.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libdrm.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libepoxy.bst
-  junction: freedesktop-sdk.bst
-- filename: components/liberation-fonts.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libglvnd.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libproxy.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libpsl.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libseccomp.bst
-  junction: freedesktop-sdk.bst
-- filename: components/systemd-libs.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libthai.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libva-vdpau-driver.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libva.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libvdpau.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libxkbcommon.bst
-  junction: freedesktop-sdk.bst
-- filename: components/llvm.bst
-  junction: freedesktop-sdk.bst
-- filename: components/mesa-headers.bst
-  junction: freedesktop-sdk.bst
-- filename: components/mpg123.bst
-  junction: freedesktop-sdk.bst
-- filename: components/mythes.bst
-  junction: freedesktop-sdk.bst
-- filename: components/openal.bst
-  junction: freedesktop-sdk.bst
-- filename: components/opencl.bst
-  junction: freedesktop-sdk.bst
-- filename: components/openssh.bst
-  junction: freedesktop-sdk.bst
-- filename: components/orc.bst
-  junction: freedesktop-sdk.bst
-- filename: components/pciutils.bst
-  junction: freedesktop-sdk.bst
-- filename: components/pixman.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libpulse.bst
-  junction: freedesktop-sdk.bst
-- filename: components/sdl2-image.bst
-  junction: freedesktop-sdk.bst
-- filename: components/sdl2-mixer.bst
-  junction: freedesktop-sdk.bst
-- filename: components/sdl2-net.bst
-  junction: freedesktop-sdk.bst
-- filename: components/sdl2-ttf.bst
-  junction: freedesktop-sdk.bst
-- filename: components/sdl2.bst
-  junction: freedesktop-sdk.bst
-- filename: components/shared-mime-info.bst
-  junction: freedesktop-sdk.bst
-- filename: components/vulkan.bst
-  junction: freedesktop-sdk.bst
-- filename: components/wayland.bst
-  junction: freedesktop-sdk.bst
-- filename: components/webrtc-audio-processing.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xcb-util-cursor.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xcb-util-image.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xcb-util-keysyms.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xcb-util-renderutil.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xcb-util-wm.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xcb-util.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xdg-user-dirs.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-app-xkbcomp.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-data-xkeyboard-config.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-ice.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-pciaccess.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-sm.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-x11.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xau.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xcb.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xcomposite.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xcursor.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xdamage.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xdmcp.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xext.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xfixes.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xft.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xi.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xinerama.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xkbfile.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xpm.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xrandr.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xrender.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xscrnsaver.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xshmfence.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xt.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xtrans.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xtst.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xv.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xxf86vm.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:integration/mtab.bst
+- freedesktop-sdk.bst:components/ca-certificates.bst
+- freedesktop-sdk.bst:components/cracklib.bst
+- freedesktop-sdk.bst:components/curl.bst
+- freedesktop-sdk.bst:components/cyrus-sasl.bst
+- freedesktop-sdk.bst:components/dummy-gbm.bst
+- freedesktop-sdk.bst:components/e2fsprogs.bst
+- freedesktop-sdk.bst:components/expat.bst
+- freedesktop-sdk.bst:components/flex.bst
+- freedesktop-sdk.bst:components/frei0r.bst
+- freedesktop-sdk.bst:components/gdbm.bst
+- freedesktop-sdk.bst:components/gettext.bst
+- freedesktop-sdk.bst:components/giflib.bst
+- freedesktop-sdk.bst:components/glib.bst
+- freedesktop-sdk.bst:components/gmp.bst
+- freedesktop-sdk.bst:components/gnupg.bst
+- freedesktop-sdk.bst:components/gnutls.bst
+- freedesktop-sdk.bst:components/gzip.bst
+- freedesktop-sdk.bst:components/gpgme.bst
+- freedesktop-sdk.bst:components/iana-config.bst
+- freedesktop-sdk.bst:components/icu.bst
+- freedesktop-sdk.bst:components/iso-codes.bst
+- freedesktop-sdk.bst:components/jpeg.bst
+- freedesktop-sdk.bst:components/ladspa-sdk.bst
+- freedesktop-sdk.bst:components/lcms.bst
+- freedesktop-sdk.bst:components/less.bst
+- freedesktop-sdk.bst:components/libarchive.bst
+- freedesktop-sdk.bst:components/libassuan.bst
+- freedesktop-sdk.bst:components/libcap.bst
+- freedesktop-sdk.bst:components/libexif.bst
+- freedesktop-sdk.bst:components/libffi.bst
+- freedesktop-sdk.bst:components/libflac.bst
+- freedesktop-sdk.bst:components/libgcrypt.bst
+- freedesktop-sdk.bst:components/libgpg-error.bst
+- freedesktop-sdk.bst:components/libksba.bst
+- freedesktop-sdk.bst:components/libidn2.bst
+- freedesktop-sdk.bst:components/libogg.bst
+- freedesktop-sdk.bst:components/libnice.bst
+- freedesktop-sdk.bst:components/libpng.bst
+- freedesktop-sdk.bst:components/libsamplerate.bst
+- freedesktop-sdk.bst:components/libselinux.bst
+- freedesktop-sdk.bst:components/libtasn1.bst
+- freedesktop-sdk.bst:components/libtheora.bst
+- freedesktop-sdk.bst:components/libtiff.bst
+- freedesktop-sdk.bst:components/libtool.bst
+- freedesktop-sdk.bst:components/libunistring.bst
+- freedesktop-sdk.bst:components/libvorbis.bst
+- freedesktop-sdk.bst:components/libvpx.bst
+- freedesktop-sdk.bst:components/libwebp.bst
+- freedesktop-sdk.bst:components/libxml2.bst
+- freedesktop-sdk.bst:components/libxslt.bst
+- freedesktop-sdk.bst:components/locales.bst
+- freedesktop-sdk.bst:components/lzip.bst
+- freedesktop-sdk.bst:components/nano.bst
+- freedesktop-sdk.bst:components/nettle.bst
+- freedesktop-sdk.bst:components/npth.bst
+- freedesktop-sdk.bst:components/nspr.bst
+- freedesktop-sdk.bst:components/nss.bst
+- freedesktop-sdk.bst:components/nsswitch-config.bst
+- freedesktop-sdk.bst:components/opus.bst
+- freedesktop-sdk.bst:components/osmesa.bst
+- freedesktop-sdk.bst:components/p11-kit.bst
+- freedesktop-sdk.bst:components/pcre2.bst
+- freedesktop-sdk.bst:components/pcre.bst
+- freedesktop-sdk.bst:components/python3.bst
+- freedesktop-sdk.bst:components/python3-pip.bst
+- freedesktop-sdk.bst:components/python3-setuptools.bst
+- freedesktop-sdk.bst:components/python3-six.bst
+- freedesktop-sdk.bst:components/python3-usercustomize.bst
+- freedesktop-sdk.bst:components/python3-sitecustomize.bst
+- freedesktop-sdk.bst:components/tar.bst
+- freedesktop-sdk.bst:components/sndfile.bst
+- freedesktop-sdk.bst:components/sqlite.bst
+- freedesktop-sdk.bst:components/speex.bst
+- freedesktop-sdk.bst:components/speexdsp.bst
+- freedesktop-sdk.bst:components/tzdata.bst
+- freedesktop-sdk.bst:components/unzip.bst
+- freedesktop-sdk.bst:components/util-linux.bst
+- freedesktop-sdk.bst:components/which.bst
+- freedesktop-sdk.bst:components/xz.bst
+- freedesktop-sdk.bst:components/zip.bst
+- freedesktop-sdk.bst:components/alsa-lib.bst
+- freedesktop-sdk.bst:components/alsa-plugins.bst
+- freedesktop-sdk.bst:components/aspell.bst
+- freedesktop-sdk.bst:components/cairo.bst
+- freedesktop-sdk.bst:components/cups.bst
+- freedesktop-sdk.bst:components/dbus.bst
+- freedesktop-sdk.bst:components/dejavu-fonts.bst
+- freedesktop-sdk.bst:components/dictionaries.bst
+- freedesktop-sdk.bst:components/emoji-one-font.bst
+- freedesktop-sdk.bst:components/ffmpeg.bst
+- freedesktop-sdk.bst:components/fftw.bst
+- freedesktop-sdk.bst:components/flatpak-xdg-utils.bst
+- freedesktop-sdk.bst:components/fontconfig.bst
+- freedesktop-sdk.bst:components/freetype.bst
+- freedesktop-sdk.bst:components/fribidi.bst
+- freedesktop-sdk.bst:components/gnu-free-fonts.bst
+- freedesktop-sdk.bst:components/google-crosextra-caladea.bst
+- freedesktop-sdk.bst:components/google-crosextra-carlito.bst
+- freedesktop-sdk.bst:components/graphite2.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:components/harfbuzz.bst
+- freedesktop-sdk.bst:components/hicolor-icon-theme.bst
+- freedesktop-sdk.bst:components/hunspell.bst
+- freedesktop-sdk.bst:components/hyphen.bst
+- freedesktop-sdk.bst:components/lame.bst
+- freedesktop-sdk.bst:components/libclc.bst
+- freedesktop-sdk.bst:components/libdatrie.bst
+- freedesktop-sdk.bst:components/libdrm.bst
+- freedesktop-sdk.bst:components/libepoxy.bst
+- freedesktop-sdk.bst:components/liberation-fonts.bst
+- freedesktop-sdk.bst:components/libglvnd.bst
+- freedesktop-sdk.bst:components/libproxy.bst
+- freedesktop-sdk.bst:components/libpsl.bst
+- freedesktop-sdk.bst:components/libseccomp.bst
+- freedesktop-sdk.bst:components/systemd-libs.bst
+- freedesktop-sdk.bst:components/libthai.bst
+- freedesktop-sdk.bst:components/libva-vdpau-driver.bst
+- freedesktop-sdk.bst:components/libva.bst
+- freedesktop-sdk.bst:components/libvdpau.bst
+- freedesktop-sdk.bst:components/libxkbcommon.bst
+- freedesktop-sdk.bst:components/llvm.bst
+- freedesktop-sdk.bst:components/mesa-headers.bst
+- freedesktop-sdk.bst:components/mpg123.bst
+- freedesktop-sdk.bst:components/mythes.bst
+- freedesktop-sdk.bst:components/openal.bst
+- freedesktop-sdk.bst:components/opencl.bst
+- freedesktop-sdk.bst:components/openssh.bst
+- freedesktop-sdk.bst:components/orc.bst
+- freedesktop-sdk.bst:components/pciutils.bst
+- freedesktop-sdk.bst:components/pixman.bst
+- freedesktop-sdk.bst:components/libpulse.bst
+- freedesktop-sdk.bst:components/sdl2-image.bst
+- freedesktop-sdk.bst:components/sdl2-mixer.bst
+- freedesktop-sdk.bst:components/sdl2-net.bst
+- freedesktop-sdk.bst:components/sdl2-ttf.bst
+- freedesktop-sdk.bst:components/sdl2.bst
+- freedesktop-sdk.bst:components/shared-mime-info.bst
+- freedesktop-sdk.bst:components/vulkan.bst
+- freedesktop-sdk.bst:components/wayland.bst
+- freedesktop-sdk.bst:components/webrtc-audio-processing.bst
+- freedesktop-sdk.bst:components/xcb-util-cursor.bst
+- freedesktop-sdk.bst:components/xcb-util-image.bst
+- freedesktop-sdk.bst:components/xcb-util-keysyms.bst
+- freedesktop-sdk.bst:components/xcb-util-renderutil.bst
+- freedesktop-sdk.bst:components/xcb-util-wm.bst
+- freedesktop-sdk.bst:components/xcb-util.bst
+- freedesktop-sdk.bst:components/xdg-user-dirs.bst
+- freedesktop-sdk.bst:components/xorg-app-xkbcomp.bst
+- freedesktop-sdk.bst:components/xorg-data-xkeyboard-config.bst
+- freedesktop-sdk.bst:components/xorg-lib-ice.bst
+- freedesktop-sdk.bst:components/xorg-lib-pciaccess.bst
+- freedesktop-sdk.bst:components/xorg-lib-sm.bst
+- freedesktop-sdk.bst:components/xorg-lib-x11.bst
+- freedesktop-sdk.bst:components/xorg-lib-xau.bst
+- freedesktop-sdk.bst:components/xorg-lib-xcb.bst
+- freedesktop-sdk.bst:components/xorg-lib-xcomposite.bst
+- freedesktop-sdk.bst:components/xorg-lib-xcursor.bst
+- freedesktop-sdk.bst:components/xorg-lib-xdamage.bst
+- freedesktop-sdk.bst:components/xorg-lib-xdmcp.bst
+- freedesktop-sdk.bst:components/xorg-lib-xext.bst
+- freedesktop-sdk.bst:components/xorg-lib-xfixes.bst
+- freedesktop-sdk.bst:components/xorg-lib-xft.bst
+- freedesktop-sdk.bst:components/xorg-lib-xi.bst
+- freedesktop-sdk.bst:components/xorg-lib-xinerama.bst
+- freedesktop-sdk.bst:components/xorg-lib-xkbfile.bst
+- freedesktop-sdk.bst:components/xorg-lib-xpm.bst
+- freedesktop-sdk.bst:components/xorg-lib-xrandr.bst
+- freedesktop-sdk.bst:components/xorg-lib-xrender.bst
+- freedesktop-sdk.bst:components/xorg-lib-xscrnsaver.bst
+- freedesktop-sdk.bst:components/xorg-lib-xshmfence.bst
+- freedesktop-sdk.bst:components/xorg-lib-xt.bst
+- freedesktop-sdk.bst:components/xorg-lib-xtrans.bst
+- freedesktop-sdk.bst:components/xorg-lib-xtst.bst
+- freedesktop-sdk.bst:components/xorg-lib-xv.bst
+- freedesktop-sdk.bst:components/xorg-lib-xxf86vm.bst
diff --git a/elements/sdk.bst b/elements/sdk.bst
index 267f2012..4b1543b3 100644
--- a/elements/sdk.bst
+++ b/elements/sdk.bst
@@ -11,85 +11,44 @@ depends:
 # This should be kept in sync with desktop.bst from freedesktop-sdk whenever we
 # update our reference.
 # elements we remove: platform and gtk-doc.
-- filename: components/autoconf-archive.bst
-  junction: freedesktop-sdk.bst
-- filename: components/autoconf.bst
-  junction: freedesktop-sdk.bst
-- filename: components/automake.bst
-  junction: freedesktop-sdk.bst
-- filename: components/bc.bst
-  junction: freedesktop-sdk.bst
-- filename: components/bison.bst
-  junction: freedesktop-sdk.bst
-- filename: components/ccache.bst
-  junction: freedesktop-sdk.bst
-- filename: components/cmake.bst
-  junction: freedesktop-sdk.bst
-- filename: components/cpio.bst
-  junction: freedesktop-sdk.bst
-- filename: components/docbook-xml.bst
-  junction: freedesktop-sdk.bst
-- filename: components/docbook-xsl.bst
-  junction: freedesktop-sdk.bst
-- filename: components/ed.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gdb.bst
-  junction: freedesktop-sdk.bst
-- filename: components/git.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gperf.bst
-  junction: freedesktop-sdk.bst
-- filename: components/groff.bst
-  junction: freedesktop-sdk.bst
-- filename: components/help2man.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libpipeline.bst
-  junction: freedesktop-sdk.bst
-- filename: components/m4.bst
-  junction: freedesktop-sdk.bst
-- filename: components/man-db.bst
-  junction: freedesktop-sdk.bst
-- filename: components/man-pages-posix.bst
-  junction: freedesktop-sdk.bst
-- filename: components/man-pages.bst
-  junction: freedesktop-sdk.bst
-- filename: components/meson.bst
-  junction: freedesktop-sdk.bst
-- filename: components/nasm.bst
-  junction: freedesktop-sdk.bst
-- filename: components/ninja.bst
-  junction: freedesktop-sdk.bst
-- filename: components/perl.bst
-  junction: freedesktop-sdk.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-- filename: components/openssh.bst
-  junction: freedesktop-sdk.bst
-- filename: components/patch.bst
-  junction: freedesktop-sdk.bst
-- filename: components/pkg-config.bst
-  junction: freedesktop-sdk.bst
-- filename: components/ruby.bst
-  junction: freedesktop-sdk.bst
-- filename: components/strace.bst
-  junction: freedesktop-sdk.bst
-- filename: components/texinfo.bst
-  junction: freedesktop-sdk.bst
-- filename: components/valgrind.bst
-  junction: freedesktop-sdk.bst
-- filename: components/desktop-file-utils.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
-- filename: components/jq.bst
-  junction: freedesktop-sdk.bst
-- filename: components/wayland-protocols.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xdg-portal-interfaces.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-proto-xcb.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-proto-xorgproto.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-util-macros.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/autoconf-archive.bst
+- freedesktop-sdk.bst:components/autoconf.bst
+- freedesktop-sdk.bst:components/automake.bst
+- freedesktop-sdk.bst:components/bc.bst
+- freedesktop-sdk.bst:components/bison.bst
+- freedesktop-sdk.bst:components/ccache.bst
+- freedesktop-sdk.bst:components/cmake.bst
+- freedesktop-sdk.bst:components/cpio.bst
+- freedesktop-sdk.bst:components/docbook-xml.bst
+- freedesktop-sdk.bst:components/docbook-xsl.bst
+- freedesktop-sdk.bst:components/ed.bst
+- freedesktop-sdk.bst:components/gdb.bst
+- freedesktop-sdk.bst:components/git.bst
+- freedesktop-sdk.bst:components/gperf.bst
+- freedesktop-sdk.bst:components/groff.bst
+- freedesktop-sdk.bst:components/help2man.bst
+- freedesktop-sdk.bst:components/libpipeline.bst
+- freedesktop-sdk.bst:components/m4.bst
+- freedesktop-sdk.bst:components/man-db.bst
+- freedesktop-sdk.bst:components/man-pages-posix.bst
+- freedesktop-sdk.bst:components/man-pages.bst
+- freedesktop-sdk.bst:components/meson.bst
+- freedesktop-sdk.bst:components/nasm.bst
+- freedesktop-sdk.bst:components/ninja.bst
+- freedesktop-sdk.bst:components/perl.bst
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:components/openssh.bst
+- freedesktop-sdk.bst:components/patch.bst
+- freedesktop-sdk.bst:components/pkg-config.bst
+- freedesktop-sdk.bst:components/ruby.bst
+- freedesktop-sdk.bst:components/strace.bst
+- freedesktop-sdk.bst:components/texinfo.bst
+- freedesktop-sdk.bst:components/valgrind.bst
+- freedesktop-sdk.bst:components/desktop-file-utils.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:components/jq.bst
+- freedesktop-sdk.bst:components/wayland-protocols.bst
+- freedesktop-sdk.bst:components/xdg-portal-interfaces.bst
+- freedesktop-sdk.bst:components/xorg-proto-xcb.bst
+- freedesktop-sdk.bst:components/xorg-proto-xorgproto.bst
+- freedesktop-sdk.bst:components/xorg-util-macros.bst
diff --git a/elements/sdk/WebKitGTK.bst b/elements/sdk/WebKitGTK.bst
index abe312bb..a1795bba 100644
--- a/elements/sdk/WebKitGTK.bst
+++ b/elements/sdk/WebKitGTK.bst
@@ -8,19 +8,22 @@ sources:
   path: files/webkitgtk/toolchain.i686
 - kind: local
   path: files/webkitgtk/toolchain.arm
+build-depends:
+- freedesktop-sdk.bst:components/gperf.bst
+- freedesktop-sdk.bst:components/perl.bst
+- freedesktop-sdk.bst:components/ruby.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
+runtime-depends:
+- sdk/gst-libav.bst
+- sdk/gst-plugins-bad.bst
+- sdk/gst-plugins-good.bst
 depends:
 - sdk/at-spi2-core.bst
 - sdk/brotli.bst
 - sdk/enchant-2.bst
 - sdk/geoclue.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gst-libav.bst
-  type: runtime
-- filename: sdk/gst-plugins-bad.bst
-  type: runtime
 - sdk/gst-plugins-base.bst
-- filename: sdk/gst-plugins-good.bst
-  type: runtime
 - sdk/gtk+-3.bst
 - sdk/libnotify.bst
 - sdk/libsecret.bst
@@ -30,38 +33,19 @@ depends:
 - sdk/pango.bst
 - sdk/woff2.bst
 - sdk/wpebackend-fdo.bst
-- filename: components/hyphen.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libtasn1.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libwebp.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libxslt.bst
-  junction: freedesktop-sdk.bst
-- filename: components/wayland.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xt.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gperf.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/perl.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/ruby.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-cmake.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/hyphen.bst
+- freedesktop-sdk.bst:components/libtasn1.bst
+- freedesktop-sdk.bst:components/libwebp.bst
+- freedesktop-sdk.bst:components/libxslt.bst
+- freedesktop-sdk.bst:components/wayland.bst
+- freedesktop-sdk.bst:components/xorg-lib-xt.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   webkitgtk_toolchain: ''
   (?):
-    - arch == "i686" or arch == "arm":
-        webkitgtk_toolchain: -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=toolchain.%{arch}
-  cmake-local:
+  - arch == "i686" or arch == "arm":
+      webkitgtk_toolchain: -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=toolchain.%{arch}
+  cmake-local: >-
     -DPORT=GTK
     -DENABLE_BUBBLEWRAP_SANDBOX=OFF
     %{webkitgtk_toolchain}
diff --git a/elements/sdk/adwaita-icon-theme.bst b/elements/sdk/adwaita-icon-theme.bst
index 731b3a55..660485f2 100644
--- a/elements/sdk/adwaita-icon-theme.bst
+++ b/elements/sdk/adwaita-icon-theme.bst
@@ -3,11 +3,9 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/adwaita-icon-theme.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/gtk+-3.bst
 - sdk/librsvg.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/appstream-glib.bst b/elements/sdk/appstream-glib.bst
index e5c13df7..b02a549c 100644
--- a/elements/sdk/appstream-glib.bst
+++ b/elements/sdk/appstream-glib.bst
@@ -3,6 +3,9 @@ sources:
 - kind: git_tag
   url: github_com:hughsie/appstream-glib.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:components/gperf.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/gcab.bst
 - sdk/gdk-pixbuf.bst
@@ -11,18 +14,9 @@ depends:
 - sdk/gtk+-3.bst
 - sdk/json-glib.bst
 - sdk/libsoup.bst
-- filename: components/docbook-xsl.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gperf.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/libarchive.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/docbook-xsl.bst
+- freedesktop-sdk.bst:components/libarchive.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dstemmer=false
diff --git a/elements/sdk/at-spi2-atk.bst b/elements/sdk/at-spi2-atk.bst
index 9d5066d5..d064fc1c 100644
--- a/elements/sdk/at-spi2-atk.bst
+++ b/elements/sdk/at-spi2-atk.bst
@@ -3,15 +3,11 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/at-spi2-atk.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:components/libxml2.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/at-spi2-core.bst
 - sdk/atk.bst
 - sdk/glib.bst
-- filename: components/libxml2.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/at-spi2-core.bst b/elements/sdk/at-spi2-core.bst
index 78761474..26029654 100644
--- a/elements/sdk/at-spi2-core.bst
+++ b/elements/sdk/at-spi2-core.bst
@@ -3,13 +3,10 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/at-spi2-core.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: components/dbus.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/dbus.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/atk.bst b/elements/sdk/atk.bst
index c4310316..22b8b0ca 100644
--- a/elements/sdk/atk.bst
+++ b/elements/sdk/atk.bst
@@ -3,13 +3,10 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/atk.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/brotli.bst b/elements/sdk/brotli.bst
index e57f7ef3..f75c2dbd 100644
--- a/elements/sdk/brotli.bst
+++ b/elements/sdk/brotli.bst
@@ -2,9 +2,7 @@ kind: cmake
 sources:
 - kind: tar
   url: github_com:google/brotli/archive/v1.0.5.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
 depends:
-- filename: public-stacks/buildsystem-cmake.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/cantarell-fonts.bst b/elements/sdk/cantarell-fonts.bst
index 46fecd01..0f7c1131 100644
--- a/elements/sdk/cantarell-fonts.bst
+++ b/elements/sdk/cantarell-fonts.bst
@@ -2,11 +2,8 @@ kind: meson
 sources:
 - kind: tar
   url: gnome_downloads:cantarell-fonts/0.111/cantarell-fonts-0.111.tar.xz
+build-depends:
+- sdk/appstream-glib.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
-- filename: sdk/appstream-glib.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/clutter-gst.bst b/elements/sdk/clutter-gst.bst
index e6cf0dd3..60c3e8fc 100644
--- a/elements/sdk/clutter-gst.bst
+++ b/elements/sdk/clutter-gst.bst
@@ -2,18 +2,14 @@ kind: autotools
 sources:
 - kind: tar
   url: gnome_downloads:clutter-gst/3.0/clutter-gst-3.0.27.tar.xz
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/clutter.bst
 - sdk/cogl.bst
 - sdk/gdk-pixbuf.bst
 - sdk/gobject-introspection.bst
 - sdk/gst-plugins-base.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/clutter-gtk.bst b/elements/sdk/clutter-gtk.bst
index 1d72f248..28c90b07 100644
--- a/elements/sdk/clutter-gtk.bst
+++ b/elements/sdk/clutter-gtk.bst
@@ -2,11 +2,9 @@ kind: meson
 sources:
 - kind: tar
   url: gnome_downloads:clutter-gtk/1.8/clutter-gtk-1.8.4.tar.xz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/clutter.bst
 - sdk/gtk+-3.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/clutter.bst b/elements/sdk/clutter.bst
index a47209d9..27515627 100644
--- a/elements/sdk/clutter.bst
+++ b/elements/sdk/clutter.bst
@@ -2,6 +2,9 @@ kind: autotools
 sources:
 - kind: tar
   url: gnome_downloads:clutter/1.26/clutter-1.26.2.tar.xz
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/atk.bst
 - sdk/cogl.bst
@@ -9,18 +12,10 @@ depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/json-glib.bst
-- filename: components/libxkbcommon.bst
-  junction: freedesktop-sdk.bst
-- filename: components/wayland.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/libxkbcommon.bst
+- freedesktop-sdk.bst:components/wayland.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-installed-tests
diff --git a/elements/sdk/cogl.bst b/elements/sdk/cogl.bst
index 84177e5f..765911e1 100644
--- a/elements/sdk/cogl.bst
+++ b/elements/sdk/cogl.bst
@@ -3,34 +3,23 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/cogl.git
   track: cogl-1.22
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/gst-plugins-base.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/pango.bst
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-- filename: components/wayland.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-x11.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xcomposite.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xdamage.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xext.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xfixes.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xrandr.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:components/wayland.bst
+- freedesktop-sdk.bst:components/xorg-lib-x11.bst
+- freedesktop-sdk.bst:components/xorg-lib-xcomposite.bst
+- freedesktop-sdk.bst:components/xorg-lib-xdamage.bst
+- freedesktop-sdk.bst:components/xorg-lib-xext.bst
+- freedesktop-sdk.bst:components/xorg-lib-xfixes.bst
+- freedesktop-sdk.bst:components/xorg-lib-xrandr.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-cogl-gst
diff --git a/elements/sdk/dconf.bst b/elements/sdk/dconf.bst
index ff2e4c09..e7d27b13 100644
--- a/elements/sdk/dconf.bst
+++ b/elements/sdk/dconf.bst
@@ -5,24 +5,15 @@ sources:
   track: master
 - kind: patch
   path: files/dconf/dconf-override.patch
+build-depends:
+- sdk/vala.bst
+- freedesktop-sdk.bst:components/dbus.bst
+- freedesktop-sdk.bst:components/docbook-xsl.bst
+- freedesktop-sdk.bst:components/libxslt.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
-- filename: sdk/vala.bst
-  type: build
-- filename: components/dbus.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/docbook-xsl.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/libxslt.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dbash_completion=false
diff --git a/elements/sdk/enchant-2.bst b/elements/sdk/enchant-2.bst
index c5cc64ae..5f780766 100644
--- a/elements/sdk/enchant-2.bst
+++ b/elements/sdk/enchant-2.bst
@@ -2,15 +2,12 @@ kind: autotools
 sources:
 - kind: tar
   url: github_com:AbiWord/enchant/releases/download/v2.2.3/enchant-2.2.3.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
-- filename: components/hunspell.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/hunspell.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --with-hunspell
diff --git a/elements/sdk/fcitx.bst b/elements/sdk/fcitx.bst
index 9b257a9c..50bb641f 100644
--- a/elements/sdk/fcitx.bst
+++ b/elements/sdk/fcitx.bst
@@ -2,16 +2,12 @@ kind: cmake
 sources:
 - kind: tar
   url: https://gitlab.com/fcitx/fcitx/-/archive/4.2.9.6/fcitx-4.2.9.6.tar.gz
+build-depends:
+- freedesktop-sdk.bst:components/extra-cmake-modules.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
 depends:
 - sdk/gtk+-3.bst
-- filename: components/extra-cmake-modules.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-cmake.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   cmake-local: >-
     -DLIB_INSTALL_DIR=%{libdir}
@@ -34,7 +30,7 @@ public:
     split-rules:
       devel:
         (>):
-        - "%{libdir}/libfcitx-core.so"
-        - "%{libdir}/libfcitx-gclient.so"
-        - "%{libdir}/libfcitx-config.so"
-        - "%{libdir}/libfcitx-utils.so"
+        - '%{libdir}/libfcitx-core.so'
+        - '%{libdir}/libfcitx-gclient.so'
+        - '%{libdir}/libfcitx-config.so'
+        - '%{libdir}/libfcitx-utils.so'
diff --git a/elements/sdk/gcab.bst b/elements/sdk/gcab.bst
index 5d3fe28e..24441c5b 100644
--- a/elements/sdk/gcab.bst
+++ b/elements/sdk/gcab.bst
@@ -3,18 +3,12 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gcab.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:components/git.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: sdk/vala.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/git.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/gcr.bst b/elements/sdk/gcr.bst
index 82e0f2fb..d8559cdd 100644
--- a/elements/sdk/gcr.bst
+++ b/elements/sdk/gcr.bst
@@ -3,17 +3,12 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gcr.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: sdk/vala.bst
-  type: build
-- filename: components/p11-kit.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/p11-kit.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/gdk-pixbuf.bst b/elements/sdk/gdk-pixbuf.bst
index 0f964969..7bc134eb 100644
--- a/elements/sdk/gdk-pixbuf.bst
+++ b/elements/sdk/gdk-pixbuf.bst
@@ -3,27 +3,18 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gdk-pixbuf.git
   track: master
+build-depends:
+- sdk/gobject-introspection.bst
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
-- filename: sdk/gobject-introspection.bst
-  type: build
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: components/shared-mime-info.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-x11.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libtiff.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libpng.bst
-  junction: freedesktop-sdk.bst
-- filename: components/jpeg.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/jpeg.bst
+- freedesktop-sdk.bst:components/libpng.bst
+- freedesktop-sdk.bst:components/libtiff.bst
+- freedesktop-sdk.bst:components/shared-mime-info.bst
+- freedesktop-sdk.bst:components/xorg-lib-x11.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 public:
   bst:
     integration-commands:
diff --git a/elements/sdk/geoclue.bst b/elements/sdk/geoclue.bst
index 3520e251..f14ea00f 100644
--- a/elements/sdk/geoclue.bst
+++ b/elements/sdk/geoclue.bst
@@ -2,20 +2,15 @@ kind: meson
 sources:
 - kind: tar
   url: https://gitlab.freedesktop.org/geoclue/geoclue/-/archive/2.5.1/geoclue-2.5.1.tar.gz
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/json-glib.bst
 - sdk/libnotify.bst
 - sdk/libsoup.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -D3g-source=false
diff --git a/elements/sdk/gjs.bst b/elements/sdk/gjs.bst
index 1479e169..0ce5dbb8 100644
--- a/elements/sdk/gjs.bst
+++ b/elements/sdk/gjs.bst
@@ -3,19 +3,15 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gjs.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/gobject-introspection.bst
 - sdk/gtk+-3.bst
 - sdk/mozjs60.bst
-- filename: components/cairo.bst
-  junction: freedesktop-sdk.bst
-- filename: components/dbus.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/cairo.bst
+- freedesktop-sdk.bst:components/dbus.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-installed-tests
diff --git a/elements/sdk/glib-networking.bst b/elements/sdk/glib-networking.bst
index ecf89026..2655da7b 100644
--- a/elements/sdk/glib-networking.bst
+++ b/elements/sdk/glib-networking.bst
@@ -3,20 +3,15 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/glib-networking.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gsettings-desktop-schemas.bst
-- filename: components/ca-certificates.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gnutls.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libproxy.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/ca-certificates.bst
+- freedesktop-sdk.bst:components/gnutls.bst
+- freedesktop-sdk.bst:components/libproxy.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dinstalled_tests=true
diff --git a/elements/sdk/gobject-introspection.bst b/elements/sdk/gobject-introspection.bst
index 1f6b1c70..8890143a 100644
--- a/elements/sdk/gobject-introspection.bst
+++ b/elements/sdk/gobject-introspection.bst
@@ -3,21 +3,14 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gobject-introspection.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:components/bison.bst
+- freedesktop-sdk.bst:components/flex.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: components/bison.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/flex.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     -Dgtk_doc=true
diff --git a/elements/sdk/graphene.bst b/elements/sdk/graphene.bst
index c008e25b..a7e85d1b 100644
--- a/elements/sdk/graphene.bst
+++ b/elements/sdk/graphene.bst
@@ -3,11 +3,9 @@ sources:
 - kind: git_tag
   url: github_com:ebassi/graphene.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/gsettings-desktop-schemas.bst b/elements/sdk/gsettings-desktop-schemas.bst
index 3304f6cb..7e809027 100644
--- a/elements/sdk/gsettings-desktop-schemas.bst
+++ b/elements/sdk/gsettings-desktop-schemas.bst
@@ -5,11 +5,9 @@ sources:
   track: master
 - kind: patch
   path: files/gsettings-desktop-schemas/0001-Revert-schemas-change-default-monospaced-and-documen.patch
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/gst-libav.bst b/elements/sdk/gst-libav.bst
index 497314f5..e25b8362 100644
--- a/elements/sdk/gst-libav.bst
+++ b/elements/sdk/gst-libav.bst
@@ -1,16 +1,8 @@
 kind: filter
-depends:
-- filename: components/gstreamer-libav.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/orc.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: sdk/gst-plugins-base.bst
-  type: runtime
+build-depends:
+- freedesktop-sdk.bst:components/gstreamer-libav.bst
+runtime-depends:
+- sdk/gst-plugins-base.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:components/orc.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/gst-plugins-bad.bst b/elements/sdk/gst-plugins-bad.bst
index 561c797b..c39d011a 100644
--- a/elements/sdk/gst-plugins-bad.bst
+++ b/elements/sdk/gst-plugins-bad.bst
@@ -1,65 +1,26 @@
 kind: filter
 
 
-depends:
-- filename: components/gstreamer-plugins-bad.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/aom.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/orc.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/frei0r.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: sdk/gst-plugins-base.bst
-  type: runtime
-- filename: components/ladspa-sdk.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/libdrm.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/libfdk-aac.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/libglvnd.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/libnice.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: sdk/librsvg.bst
-  type: runtime
-- filename: components/noopenh264.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/openal.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/vulkan.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/wayland.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/webrtc-audio-processing.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/curl.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/libwebp.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/sndfile.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
+build-depends:
+- freedesktop-sdk.bst:components/gstreamer-plugins-bad.bst
+runtime-depends:
+- sdk/gst-plugins-base.bst
+- sdk/librsvg.bst
+- freedesktop-sdk.bst:components/aom.bst
+- freedesktop-sdk.bst:components/curl.bst
+- freedesktop-sdk.bst:components/frei0r.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:components/ladspa-sdk.bst
+- freedesktop-sdk.bst:components/libdrm.bst
+- freedesktop-sdk.bst:components/libfdk-aac.bst
+- freedesktop-sdk.bst:components/libglvnd.bst
+- freedesktop-sdk.bst:components/libnice.bst
+- freedesktop-sdk.bst:components/libwebp.bst
+- freedesktop-sdk.bst:components/noopenh264.bst
+- freedesktop-sdk.bst:components/openal.bst
+- freedesktop-sdk.bst:components/orc.bst
+- freedesktop-sdk.bst:components/sndfile.bst
+- freedesktop-sdk.bst:components/vulkan.bst
+- freedesktop-sdk.bst:components/wayland.bst
+- freedesktop-sdk.bst:components/webrtc-audio-processing.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/gst-plugins-base.bst b/elements/sdk/gst-plugins-base.bst
index 787d56f6..eea92f6a 100644
--- a/elements/sdk/gst-plugins-base.bst
+++ b/elements/sdk/gst-plugins-base.bst
@@ -1,45 +1,19 @@
 kind: filter
 
-depends:
-- filename: components/gstreamer-plugins-base.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/orc.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: sdk/pango.bst
-  type: runtime
-- filename: components/xorg-lib-xv.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/libogg.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/libtheora.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/libvorbis.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/opus.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/alsa-lib.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/sdl2.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/mesa-headers.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: sdk/gtk+-3.bst
-  type: runtime
-- filename: sdk/gdk-pixbuf.bst
-  type: runtime
+build-depends:
+- freedesktop-sdk.bst:components/gstreamer-plugins-base.bst
+runtime-depends:
+- sdk/gdk-pixbuf.bst
+- sdk/gtk+-3.bst
+- sdk/pango.bst
+- freedesktop-sdk.bst:components/alsa-lib.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:components/libogg.bst
+- freedesktop-sdk.bst:components/libtheora.bst
+- freedesktop-sdk.bst:components/libvorbis.bst
+- freedesktop-sdk.bst:components/mesa-headers.bst
+- freedesktop-sdk.bst:components/opus.bst
+- freedesktop-sdk.bst:components/orc.bst
+- freedesktop-sdk.bst:components/sdl2.bst
+- freedesktop-sdk.bst:components/xorg-lib-xv.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/gst-plugins-good.bst b/elements/sdk/gst-plugins-good.bst
index 6af2f4d2..d7c8ee25 100644
--- a/elements/sdk/gst-plugins-good.bst
+++ b/elements/sdk/gst-plugins-good.bst
@@ -1,52 +1,21 @@
 kind: filter
-depends:
-- filename: components/gstreamer-plugins-good.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/cairo.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/jpeg.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/orc.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/lame.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/libpulse.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: sdk/libsoup.bst
-  type: runtime
-- filename: components/libpng.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/libvpx.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/mpg123.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: sdk/gtk+-3.bst
-  type: runtime
-- filename: sdk/gdk-pixbuf.bst
-  type: runtime
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: sdk/gst-plugins-base.bst
-  type: runtime
-- filename: components/libflac.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/speex.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/wavpack.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
+build-depends:
+- freedesktop-sdk.bst:components/gstreamer-plugins-good.bst
+runtime-depends:
+- sdk/gdk-pixbuf.bst
+- sdk/gst-plugins-base.bst
+- sdk/gtk+-3.bst
+- sdk/libsoup.bst
+- freedesktop-sdk.bst:components/cairo.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:components/jpeg.bst
+- freedesktop-sdk.bst:components/lame.bst
+- freedesktop-sdk.bst:components/libflac.bst
+- freedesktop-sdk.bst:components/libpng.bst
+- freedesktop-sdk.bst:components/libpulse.bst
+- freedesktop-sdk.bst:components/libvpx.bst
+- freedesktop-sdk.bst:components/mpg123.bst
+- freedesktop-sdk.bst:components/orc.bst
+- freedesktop-sdk.bst:components/speex.bst
+- freedesktop-sdk.bst:components/wavpack.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/gtk+-3.bst b/elements/sdk/gtk+-3.bst
index a385b3fe..431edfdc 100644
--- a/elements/sdk/gtk+-3.bst
+++ b/elements/sdk/gtk+-3.bst
@@ -3,44 +3,29 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gtk.git
   track: gtk-3-24
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/at-spi2-atk.bst
 - sdk/atk.bst
 - sdk/gdk-pixbuf.bst
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/pango.bst
-- filename: components/cairo.bst
-  junction: freedesktop-sdk.bst
-- filename: components/hicolor-icon-theme.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libepoxy.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libxkbcommon.bst
-  junction: freedesktop-sdk.bst
-- filename: components/mesa-headers.bst
-  junction: freedesktop-sdk.bst
-- filename: components/wayland.bst
-  junction: freedesktop-sdk.bst
-- filename: components/wayland-protocols.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xcomposite.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xcursor.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xdamage.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xi.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xorg-lib-xinerama.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/cairo.bst
+- freedesktop-sdk.bst:components/hicolor-icon-theme.bst
+- freedesktop-sdk.bst:components/libepoxy.bst
+- freedesktop-sdk.bst:components/libxkbcommon.bst
+- freedesktop-sdk.bst:components/mesa-headers.bst
+- freedesktop-sdk.bst:components/wayland-protocols.bst
+- freedesktop-sdk.bst:components/wayland.bst
+- freedesktop-sdk.bst:components/xorg-lib-xcomposite.bst
+- freedesktop-sdk.bst:components/xorg-lib-xcursor.bst
+- freedesktop-sdk.bst:components/xorg-lib-xdamage.bst
+- freedesktop-sdk.bst:components/xorg-lib-xi.bst
+- freedesktop-sdk.bst:components/xorg-lib-xinerama.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dbroadway_backend=true
diff --git a/elements/sdk/gtk-doc.bst b/elements/sdk/gtk-doc.bst
index 5013a997..9bac0a87 100644
--- a/elements/sdk/gtk-doc.bst
+++ b/elements/sdk/gtk-doc.bst
@@ -3,23 +3,16 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gtk-doc.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
-- filename: sdk/python-pygments.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
-- filename: components/docbook-xml.bst
-  junction: freedesktop-sdk.bst
-- filename: components/docbook-xsl.bst
-  junction: freedesktop-sdk.bst
-- filename: components/pkg-config.bst
-  junction: freedesktop-sdk.bst
-- filename: components/python3.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- sdk/python-pygments.bst
+- freedesktop-sdk.bst:components/docbook-xml.bst
+- freedesktop-sdk.bst:components/docbook-xsl.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:components/pkg-config.bst
+- freedesktop-sdk.bst:components/python3.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dtests=false
diff --git a/elements/sdk/gtk.bst b/elements/sdk/gtk.bst
index bee54453..826a4f11 100644
--- a/elements/sdk/gtk.bst
+++ b/elements/sdk/gtk.bst
@@ -3,6 +3,9 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gtk.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/at-spi2-atk.bst
 - sdk/atk.bst
@@ -12,28 +15,15 @@ depends:
 - sdk/graphene.bst
 - sdk/gst-plugins-bad.bst
 - sdk/gst-plugins-base.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/pango.bst
-- filename: components/cups.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-- filename: components/hicolor-icon-theme.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libepoxy.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libxkbcommon.bst
-  junction: freedesktop-sdk.bst
-- filename: components/wayland.bst
-  junction: freedesktop-sdk.bst
-- filename: components/wayland-protocols.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/cups.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:components/hicolor-icon-theme.bst
+- freedesktop-sdk.bst:components/libepoxy.bst
+- freedesktop-sdk.bst:components/libxkbcommon.bst
+- freedesktop-sdk.bst:components/wayland-protocols.bst
+- freedesktop-sdk.bst:components/wayland.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Denable-broadway-backend=true
diff --git a/elements/sdk/gvfs.bst b/elements/sdk/gvfs.bst
index ea8c5ff3..58b58af8 100644
--- a/elements/sdk/gvfs.bst
+++ b/elements/sdk/gvfs.bst
@@ -3,17 +3,14 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gvfs.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gsettings-desktop-schemas.bst
 - sdk/libsoup.bst
-- filename: components/dbus.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/dbus.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dsystemduserunitdir=no
diff --git a/elements/sdk/ibus.bst b/elements/sdk/ibus.bst
index afa84afe..199a6978 100644
--- a/elements/sdk/ibus.bst
+++ b/elements/sdk/ibus.bst
@@ -2,21 +2,16 @@ kind: autotools
 sources:
 - kind: tar
   url: github_com:ibus/ibus/releases/download/1.5.20/ibus-1.5.20.tar.gz
+build-depends:
+- sdk/gobject-introspection.bst
+- freedesktop-sdk.bst:components/iso-codes.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/dconf.bst
 - sdk/glib.bst
-- filename: sdk/gobject-introspection.bst
-  type: build
 - sdk/gtk+-3.bst
 - sdk/libnotify.bst
-- filename: components/iso-codes.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-tests
diff --git a/elements/sdk/json-glib.bst b/elements/sdk/json-glib.bst
index 3f1d67e6..1afa7961 100644
--- a/elements/sdk/json-glib.bst
+++ b/elements/sdk/json-glib.bst
@@ -3,14 +3,10 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/json-glib.git
   track: master
+build-depends:
+- sdk/gobject-introspection.bst
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
-- filename: sdk/gobject-introspection.bst
-  type: build
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/krb5.bst b/elements/sdk/krb5.bst
index c1e1c276..d49a8f8f 100644
--- a/elements/sdk/krb5.bst
+++ b/elements/sdk/krb5.bst
@@ -1,20 +1,12 @@
 kind: autotools
 
+build-depends:
+- freedesktop-sdk.bst:components/bison.bst
+- freedesktop-sdk.bst:components/perl.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/perl.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/bison.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/e2fsprogs.bst
-  junction: freedesktop-sdk.bst
-
+- freedesktop-sdk.bst:components/e2fsprogs.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 public:
   bst:
     split-rules:
@@ -34,7 +26,7 @@ public:
         - '%{libdir}/libverto.so'
   cpe:
     product: kerberos
-    version: '5-1.16.1'
+    version: 5-1.16.1
 
 variables:
   command-subdir: src
diff --git a/elements/sdk/libcanberra.bst b/elements/sdk/libcanberra.bst
index 91f95250..bbf8cd1f 100644
--- a/elements/sdk/libcanberra.bst
+++ b/elements/sdk/libcanberra.bst
@@ -2,16 +2,12 @@ kind: autotools
 sources:
 - kind: tar
   url: http://0pointer.de/lennart/projects/libcanberra/libcanberra-0.30.tar.xz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/gtk+-3.bst
-- filename: components/libpulse.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libtool.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/libpulse.bst
+- freedesktop-sdk.bst:components/libtool.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-aux: build-aux
diff --git a/elements/sdk/libcroco.bst b/elements/sdk/libcroco.bst
index 8b37de33..7f02e7da 100644
--- a/elements/sdk/libcroco.bst
+++ b/elements/sdk/libcroco.bst
@@ -3,12 +3,9 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libcroco.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/libgee.bst b/elements/sdk/libgee.bst
index 51ee1752..6a12833e 100644
--- a/elements/sdk/libgee.bst
+++ b/elements/sdk/libgee.bst
@@ -3,13 +3,10 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libgee.git
   track: master
+build-depends:
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/vala.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/libnotify.bst b/elements/sdk/libnotify.bst
index 212a9e9f..218dccf1 100644
--- a/elements/sdk/libnotify.bst
+++ b/elements/sdk/libnotify.bst
@@ -3,19 +3,14 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libnotify.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Ddocbook_docs=disabled
diff --git a/elements/sdk/librsvg.bst b/elements/sdk/librsvg.bst
index e34111fc..ce2cc524 100644
--- a/elements/sdk/librsvg.bst
+++ b/elements/sdk/librsvg.bst
@@ -4,26 +4,19 @@ sources:
   url: gitlab_gnome_org:GNOME/librsvg.git
   track: master
 - kind: cargo
+build-depends:
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:extensions/rust/rust.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/gdk-pixbuf.bst
 - sdk/glib.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/gobject-introspection.bst
 - sdk/libcroco.bst
 - sdk/pango.bst
-- filename: sdk/vala.bst
-  type: build
-- filename: components/cairo.bst
-  junction: freedesktop-sdk.bst
-- filename: extensions/rust/rust.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/cairo.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-gtk-doc
diff --git a/elements/sdk/libsecret.bst b/elements/sdk/libsecret.bst
index a42af801..c089f361 100644
--- a/elements/sdk/libsecret.bst
+++ b/elements/sdk/libsecret.bst
@@ -3,24 +3,16 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libsecret.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:components/valgrind.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: sdk/vala.bst
-  type: build
-- filename: components/valgrind.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/libgcrypt.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-
+- freedesktop-sdk.bst:components/libgcrypt.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dgtk_doc=false
diff --git a/elements/sdk/libsoup.bst b/elements/sdk/libsoup.bst
index c9936a54..3c16a120 100644
--- a/elements/sdk/libsoup.bst
+++ b/elements/sdk/libsoup.bst
@@ -3,30 +3,20 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libsoup.git
   track: master
+build-depends:
+- sdk/gobject-introspection.bst
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:components/python3.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/brotli.bst
 - sdk/glib.bst
-- filename: sdk/gobject-introspection.bst
-  type: build
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: sdk/vala.bst
-  type: build
-- filename: sdk/krb5.bst
-- filename: components/libpsl.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libxml2.bst
-  junction: freedesktop-sdk.bst
-- filename: components/sqlite.bst
-  junction: freedesktop-sdk.bst
-- filename: components/python3.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- sdk/krb5.bst
+- freedesktop-sdk.bst:components/libpsl.bst
+- freedesktop-sdk.bst:components/libxml2.bst
+- freedesktop-sdk.bst:components/sqlite.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dtls_check=false
diff --git a/elements/sdk/libwpe.bst b/elements/sdk/libwpe.bst
index 27b7b5a5..fabbc8b0 100644
--- a/elements/sdk/libwpe.bst
+++ b/elements/sdk/libwpe.bst
@@ -2,13 +2,9 @@ kind: cmake
 sources:
 - kind: tar
   url: github_com:WebPlatformForEmbedded/libwpe/releases/download/1.3.1/libwpe-1.3.1.tar.xz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
 depends:
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-cmake.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/libxkbcommon.bst
-  junction: freedesktop-sdk.bst
-- filename: components/mesa-headers.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/libxkbcommon.bst
+- freedesktop-sdk.bst:components/mesa-headers.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/mozjs60.bst b/elements/sdk/mozjs60.bst
index 71020a1d..e9d542f7 100644
--- a/elements/sdk/mozjs60.bst
+++ b/elements/sdk/mozjs60.bst
@@ -2,24 +2,19 @@ kind: manual
 sources:
 - kind: tar
   url: gnome_download:teams/releng/tarballs-needing-help/mozjs/mozjs-60.8.0.tar.bz2
+build-depends:
+- sdk/python2.bst
+- freedesktop-sdk.bst:components/autoconf.bst
+- freedesktop-sdk.bst:components/perl.bst
 depends:
-- filename: sdk/python2.bst
-  type: build
-- filename: components/autoconf.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/perl.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   mozjs_target: ''
   (?):
-    - arch == "i686":
-        mozjs_target: "--host=i686-unknown-linux-gnu"
-    - arch == "arm":
-        mozjs_target: "--host=arm-unknown-linux-gnueabi"
+  - arch == "i686":
+      mozjs_target: --host=i686-unknown-linux-gnu
+  - arch == "arm":
+      mozjs_target: --host=arm-unknown-linux-gnueabi
   command-subdir: _build
 config:
   configure-commands:
diff --git a/elements/sdk/openjpeg.bst b/elements/sdk/openjpeg.bst
index 21e2ee3e..9a2c7156 100644
--- a/elements/sdk/openjpeg.bst
+++ b/elements/sdk/openjpeg.bst
@@ -2,12 +2,10 @@ kind: cmake
 sources:
 - kind: tar
   url: github_com:uclouvain/openjpeg/archive/v2.3.1.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
 depends:
-- filename: public-stacks/buildsystem-cmake.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   cmake-local: >-
     -DOPENJPEG_INSTALL_LIB_DIR=%{lib}
diff --git a/elements/sdk/os-release.bst b/elements/sdk/os-release.bst
index a6d61e41..4594c5f8 100644
--- a/elements/sdk/os-release.bst
+++ b/elements/sdk/os-release.bst
@@ -2,32 +2,31 @@ kind: manual
 sources:
 - kind: local
   path: files/os-release
+build-depends:
+- sdk/appstream-glib.bst
 depends:
-- filename: sdk/appstream-glib.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 config:
   build-commands:
-    - |
-      for i in *.in; do
-        sed "s/@@SDK_BRANCH@@/%{branch}/g" "${i}" >"$(basename "${i}" .in)"
-      done
+  - |
+    for i in *.in; do
+      sed "s/@@SDK_BRANCH@@/%{branch}/g" "${i}" >"$(basename "${i}" .in)"
+    done
 
   install-commands:
-    - |
-      mkdir -p "%{install-root}%{indep-libdir}"
-      install os-release "%{install-root}%{indep-libdir}"
-      mkdir -p "%{install-root}%{sysconfdir}"
-      ln -s "$(realpath --relative-to="%{install-root}%{sysconfdir}" 
"%{install-root}%{indep-libdir}/os-release")" %{install-root}%{sysconfdir}/os-release
+  - |
+    mkdir -p "%{install-root}%{indep-libdir}"
+    install os-release "%{install-root}%{indep-libdir}"
+    mkdir -p "%{install-root}%{sysconfdir}"
+    ln -s "$(realpath --relative-to="%{install-root}%{sysconfdir}" 
"%{install-root}%{indep-libdir}/os-release")" %{install-root}%{sysconfdir}/os-release
 
-      mkdir -p "%{install-root}%{sysconfdir}"
-      install issue "%{install-root}%{sysconfdir}"
-      install issue.net "%{install-root}%{sysconfdir}"
+    mkdir -p "%{install-root}%{sysconfdir}"
+    install issue "%{install-root}%{sysconfdir}"
+    install issue.net "%{install-root}%{sysconfdir}"
 
-      mkdir -p "%{install-root}%{datadir}/appdata"
-      install org.gnome.Platform.appdata.xml "%{install-root}%{datadir}/appdata"
-      install org.gnome.Sdk.appdata.xml "%{install-root}%{datadir}/appdata"
+    mkdir -p "%{install-root}%{datadir}/appdata"
+    install org.gnome.Platform.appdata.xml "%{install-root}%{datadir}/appdata"
+    install org.gnome.Sdk.appdata.xml "%{install-root}%{datadir}/appdata"
 
-      appstream-compose --basename=org.gnome.Platform --prefix=%{install-root}%{prefix} --origin=flatpak 
org.gnome.Platform
-      appstream-compose --basename=org.gnome.Sdk --prefix=%{install-root}%{prefix} --origin=flatpak 
org.gnome.Sdk
+    appstream-compose --basename=org.gnome.Platform --prefix=%{install-root}%{prefix} --origin=flatpak 
org.gnome.Platform
+    appstream-compose --basename=org.gnome.Sdk --prefix=%{install-root}%{prefix} --origin=flatpak 
org.gnome.Sdk
diff --git a/elements/sdk/pango.bst b/elements/sdk/pango.bst
index 4c12d832..d431bab8 100644
--- a/elements/sdk/pango.bst
+++ b/elements/sdk/pango.bst
@@ -3,21 +3,14 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/pango.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: components/cairo.bst
-  junction: freedesktop-sdk.bst
-- filename: components/fontconfig.bst
-  junction: freedesktop-sdk.bst
-- filename: components/fribidi.bst
-  junction: freedesktop-sdk.bst
-- filename: components/harfbuzz.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/cairo.bst
+- freedesktop-sdk.bst:components/fontconfig.bst
+- freedesktop-sdk.bst:components/fribidi.bst
+- freedesktop-sdk.bst:components/harfbuzz.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/pipewire.bst b/elements/sdk/pipewire.bst
index 79b288e1..0f29736c 100644
--- a/elements/sdk/pipewire.bst
+++ b/elements/sdk/pipewire.bst
@@ -1,30 +1,15 @@
 kind: filter
 
-depends:
-- filename: components/pipewire.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: sdk/gst-plugins-base.bst
-  type: runtime
-- filename: components/alsa-lib.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/dbus.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/sdl2.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/ffmpeg.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-- filename: components/systemd-libs.bst
-  junction: freedesktop-sdk.bst
-  type: runtime
-
+build-depends:
+- freedesktop-sdk.bst:components/pipewire.bst
+runtime-depends:
+- sdk/gst-plugins-base.bst
+- freedesktop-sdk.bst:components/alsa-lib.bst
+- freedesktop-sdk.bst:components/dbus.bst
+- freedesktop-sdk.bst:components/ffmpeg.bst
+- freedesktop-sdk.bst:components/sdl2.bst
+- freedesktop-sdk.bst:components/systemd-libs.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 public:
   bst:
     split-rules:
diff --git a/elements/sdk/pycairo.bst b/elements/sdk/pycairo.bst
index 0e207c6c..626d8de5 100644
--- a/elements/sdk/pycairo.bst
+++ b/elements/sdk/pycairo.bst
@@ -2,13 +2,10 @@ kind: distutils
 sources:
 - kind: tar
   url: github_com:pygobject/pycairo/releases/download/v1.18.0/pycairo-1.18.0.tar.gz
+build-depends:
+- freedesktop-sdk.bst:components/pkg-config.bst
 depends:
-- filename: components/cairo.bst
-  junction: freedesktop-sdk.bst
-- filename: components/pkg-config.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/cairo.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   python: python3
diff --git a/elements/sdk/pygobject.bst b/elements/sdk/pygobject.bst
index 6c1d4d5b..4a67ca56 100644
--- a/elements/sdk/pygobject.bst
+++ b/elements/sdk/pygobject.bst
@@ -3,12 +3,10 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/pygobject.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:components/pkg-config.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/pycairo.bst
-- filename: components/pkg-config.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/python-pygments.bst b/elements/sdk/python-pygments.bst
index eeda8595..484b025d 100644
--- a/elements/sdk/python-pygments.bst
+++ b/elements/sdk/python-pygments.bst
@@ -3,7 +3,5 @@ sources:
 - kind: tar
   url: 
https://files.pythonhosted.org/packages/64/69/413708eaf3a64a6abb8972644e0f20891a55e621c6759e2c3f3891e05d63/Pygments-2.3.1.tar.gz
 depends:
-- filename: components/python3.bst
-  junction: freedesktop-sdk.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/python3.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/python2.bst b/elements/sdk/python2.bst
index d6b7777a..0a5eb820 100644
--- a/elements/sdk/python2.bst
+++ b/elements/sdk/python2.bst
@@ -2,22 +2,15 @@ kind: autotools
 sources:
 - kind: tar
   url: https://www.python.org/ftp/python/2.7.16/Python-2.7.16.tar.xz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: components/expat.bst
-  junction: freedesktop-sdk.bst
-- filename: components/libffi.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gdbm.bst
-  junction: freedesktop-sdk.bst
-- filename: components/sqlite.bst
-  junction: freedesktop-sdk.bst
-- filename: components/xz.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  type: build
-  junction: freedesktop-sdk.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/expat.bst
+- freedesktop-sdk.bst:components/gdbm.bst
+- freedesktop-sdk.bst:components/libffi.bst
+- freedesktop-sdk.bst:components/sqlite.bst
+- freedesktop-sdk.bst:components/xz.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: |
     --enable-shared \
@@ -29,5 +22,5 @@ variables:
     --enable-unicode=ucs4
 config:
   install-commands:
-    - '%{make-install} DESTSHARED=/usr/lib/python2.7/lib-dynload'
-    - rm %{install-root}%{bindir}/2to3
+  - '%{make-install} DESTSHARED=/usr/lib/python2.7/lib-dynload'
+  - rm %{install-root}%{bindir}/2to3
diff --git a/elements/sdk/vala-tarball.bst b/elements/sdk/vala-tarball.bst
index 2edecc64..55ed77f5 100644
--- a/elements/sdk/vala-tarball.bst
+++ b/elements/sdk/vala-tarball.bst
@@ -2,18 +2,12 @@ kind: autotools
 sources:
 - kind: tar
   url: gnome_downloads:vala/0.36/vala-0.36.18.tar.xz
+build-depends:
+- freedesktop-sdk.bst:components/bison.bst
+- freedesktop-sdk.bst:components/flex.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
-- filename: components/bison.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/flex.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-aux: build-aux
diff --git a/elements/sdk/vala.bst b/elements/sdk/vala.bst
index 9bcb4438..b6f27cb0 100644
--- a/elements/sdk/vala.bst
+++ b/elements/sdk/vala.bst
@@ -3,24 +3,15 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/vala.git
   track: master
+build-depends:
+- sdk/vala-tarball.bst
+- freedesktop-sdk.bst:components/bison.bst
+- freedesktop-sdk.bst:components/flex.bst
+- freedesktop-sdk.bst:components/git-minimal.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
-- filename: sdk/vala-tarball.bst
-  type: build
-- filename: components/bison.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/flex.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/git-minimal.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-unversioned
diff --git a/elements/sdk/vte.bst b/elements/sdk/vte.bst
index d19bf104..19994cb7 100644
--- a/elements/sdk/vte.bst
+++ b/elements/sdk/vte.bst
@@ -3,21 +3,14 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/vte.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: sdk/vala.bst
-  type: build
-- filename: components/fribidi.bst
-  junction: freedesktop-sdk.bst
-- filename: components/gnutls.bst
-  junction: freedesktop-sdk.bst
-- filename: components/pcre2.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/fribidi.bst
+- freedesktop-sdk.bst:components/gnutls.bst
+- freedesktop-sdk.bst:components/pcre2.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/woff2.bst b/elements/sdk/woff2.bst
index 210dbaf1..442322f7 100644
--- a/elements/sdk/woff2.bst
+++ b/elements/sdk/woff2.bst
@@ -2,10 +2,8 @@ kind: cmake
 sources:
 - kind: tar
   url: github_com:google/woff2/archive/v1.0.2.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
 depends:
 - sdk/brotli.bst
-- filename: public-stacks/buildsystem-cmake.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/wpebackend-fdo.bst b/elements/sdk/wpebackend-fdo.bst
index 9f1414c9..4c129f25 100644
--- a/elements/sdk/wpebackend-fdo.bst
+++ b/elements/sdk/wpebackend-fdo.bst
@@ -2,15 +2,11 @@ kind: cmake
 sources:
 - kind: tar
   url: github_com:Igalia/WPEBackend-fdo/releases/download/1.3.1/wpebackend-fdo-1.3.1.tar.xz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
 depends:
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-cmake.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/mesa-headers.bst
-  junction: freedesktop-sdk.bst
-- filename: components/wayland.bst
-  junction: freedesktop-sdk.bst
 - sdk/glib.bst
 - sdk/libwpe.bst
+- freedesktop-sdk.bst:components/mesa-headers.bst
+- freedesktop-sdk.bst:components/wayland.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/yelp-tools.bst b/elements/sdk/yelp-tools.bst
index 72f5443f..4a3f806f 100644
--- a/elements/sdk/yelp-tools.bst
+++ b/elements/sdk/yelp-tools.bst
@@ -3,10 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/yelp-tools.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/yelp-xsl.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/yelp-xsl.bst b/elements/sdk/yelp-xsl.bst
index 13a92ba0..109bc8b0 100644
--- a/elements/sdk/yelp-xsl.bst
+++ b/elements/sdk/yelp-xsl.bst
@@ -3,11 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/yelp-xsl.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/sdk/yelp.bst b/elements/sdk/yelp.bst
index 361b3bdd..eb874393 100644
--- a/elements/sdk/yelp.bst
+++ b/elements/sdk/yelp.bst
@@ -3,22 +3,18 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/yelp.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/WebKitGTK.bst
 - sdk/adwaita-icon-theme.bst
 - sdk/appstream-glib.bst
 - sdk/glib.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/yelp-xsl.bst
-- filename: components/desktop-file-utils.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/desktop-file-utils.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 public:
   bst:
     integration-commands:
diff --git a/elements/sdk/zenity.bst b/elements/sdk/zenity.bst
index 98933819..bd3d554b 100644
--- a/elements/sdk/zenity.bst
+++ b/elements/sdk/zenity.bst
@@ -3,11 +3,9 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/zenity.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/gtk+-3.bst
 - sdk/yelp-tools.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/accerciser.bst b/elements/world/accerciser.bst
index f7db2f2e..97f3c13d 100644
--- a/elements/world/accerciser.bst
+++ b/elements/world/accerciser.bst
@@ -11,5 +11,4 @@ depends:
 - sdk/pycairo.bst
 - sdk/pygobject.bst
 - sdk/yelp-tools.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/amtk.bst b/elements/world/amtk.bst
index 0b0eaa6a..cfa25647 100644
--- a/elements/world/amtk.bst
+++ b/elements/world/amtk.bst
@@ -2,14 +2,11 @@ kind: autotools
 sources:
 - kind: tar
   url: gnome_downloads:amtk/5.0/amtk-5.0.0.tar.xz
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/anthy.bst b/elements/world/anthy.bst
index 0af8131b..a57e74c3 100644
--- a/elements/world/anthy.bst
+++ b/elements/world/anthy.bst
@@ -2,9 +2,7 @@ kind: autotools
 sources:
 - kind: tar
   url: http://http.debian.net/debian/pool/main/a/anthy/anthy_0.3.orig.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/bijiben.bst b/elements/world/bijiben.bst
index c5b8807d..4e15dcf2 100644
--- a/elements/world/bijiben.bst
+++ b/elements/world/bijiben.bst
@@ -5,7 +5,7 @@ sources:
   track: master
   submodules:
     subprojects/libgd:
-      checkout: True
+      checkout: true
       url: gitlab_gnome_org:GNOME/libgd.git
 depends:
 - core-deps/evolution-data-server.bst
@@ -15,7 +15,5 @@ depends:
 - sdk/clutter-gtk.bst
 - sdk/glib.bst
 - sdk/gtk+-3.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/dbus-glib.bst b/elements/world/dbus-glib.bst
index 397d671b..7c0ea79e 100644
--- a/elements/world/dbus-glib.bst
+++ b/elements/world/dbus-glib.bst
@@ -2,12 +2,9 @@ kind: autotools
 sources:
 - kind: tar
   url: https://dbus.freedesktop.org/releases/dbus-glib/dbus-glib-0.110.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
-- filename: components/dbus.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/dbus.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/dconf-editor.bst b/elements/world/dconf-editor.bst
index 938fe6ca..7713866e 100644
--- a/elements/world/dconf-editor.bst
+++ b/elements/world/dconf-editor.bst
@@ -9,5 +9,4 @@ depends:
 - sdk/glib.bst
 - sdk/gtk+-3.bst
 - sdk/vala.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/devhelp.bst b/elements/world/devhelp.bst
index 42e49c84..45a14742 100644
--- a/elements/world/devhelp.bst
+++ b/elements/world/devhelp.bst
@@ -3,6 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/devhelp.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/WebKitGTK.bst
 - sdk/appstream-glib.bst
@@ -10,8 +12,4 @@ depends:
 - sdk/gtk+-3.bst
 - sdk/gtk-doc.bst
 - world/amtk.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/evolution.bst b/elements/world/evolution.bst
index ae3bbcf2..311366f7 100644
--- a/elements/world/evolution.bst
+++ b/elements/world/evolution.bst
@@ -23,10 +23,8 @@ depends:
 - sdk/libsoup.bst
 - sdk/yelp-tools.bst
 - world/gtkspell.bst
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   cmake-local: >-
     -DENABLE_LIBCRYPTUI=OFF
diff --git a/elements/world/five-or-more.bst b/elements/world/five-or-more.bst
index 4308ba81..a248d65a 100644
--- a/elements/world/five-or-more.bst
+++ b/elements/world/five-or-more.bst
@@ -8,7 +8,5 @@ depends:
 - sdk/gtk+-3.bst
 - sdk/librsvg.bst
 - world/libgnome-games-support.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/four-in-a-row.bst b/elements/world/four-in-a-row.bst
index 40b251ae..df76caf6 100644
--- a/elements/world/four-in-a-row.bst
+++ b/elements/world/four-in-a-row.bst
@@ -3,16 +3,13 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/four-in-a-row.git
   track: master
+build-depends:
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/gsound.bst
 - sdk/appstream-glib.bst
 - sdk/gtk+-3.bst
 - sdk/librsvg.bst
-- filename: sdk/vala.bst
-  type: build
 - sdk/yelp-tools.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/fuse.bst b/elements/world/fuse.bst
index 1b78320a..d8722a7f 100644
--- a/elements/world/fuse.bst
+++ b/elements/world/fuse.bst
@@ -4,11 +4,9 @@ sources:
   url: github_com:libfuse/libfuse/releases/download/fuse-2.9.7/fuse-2.9.7.tar.gz
 - kind: patch
   path: files/fuse/fuse-kernel-h-clean-includes.patch
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 environment:
   MOUNT_FUSE_PATH: '%{sbindir}'
diff --git a/elements/world/ghex.bst b/elements/world/ghex.bst
index 12cfac27..961ca26b 100644
--- a/elements/world/ghex.bst
+++ b/elements/world/ghex.bst
@@ -6,7 +6,5 @@ sources:
 depends:
 - sdk/glib.bst
 - sdk/gtk+-3.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gitg.bst b/elements/world/gitg.bst
index 93cb2074..4f967e3f 100644
--- a/elements/world/gitg.bst
+++ b/elements/world/gitg.bst
@@ -18,5 +18,4 @@ depends:
 - world/gtksourceview-3.bst
 - world/gtkspell.bst
 - world/libgit2-glib.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/glade.bst b/elements/world/glade.bst
index 3950065a..2e1289f9 100644
--- a/elements/world/glade.bst
+++ b/elements/world/glade.bst
@@ -3,16 +3,13 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/glade.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
+runtime-depends:
+- sdk/adwaita-icon-theme.bst
+- sdk/cantarell-fonts.bst
 depends:
 - sdk/WebKitGTK.bst
-- sdk/pygobject.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: sdk/cantarell-fonts.bst
-  type: runtime
-- filename: sdk/adwaita-icon-theme.bst
-  type: runtime
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
+- sdk/pygobject.bst
diff --git a/elements/world/gnome-builder.bst b/elements/world/gnome-builder.bst
index 5f829107..15b12c11 100644
--- a/elements/world/gnome-builder.bst
+++ b/elements/world/gnome-builder.bst
@@ -22,12 +22,9 @@ depends:
 - world/jsonrpc-glib.bst
 - world/libgit2-glib.bst
 - world/template-glib.bst
-- filename: deploy-tools/flatpak.bst
-  junction: freedesktop-sdk.bst
-- filename: components/llvm.bst
-  junction: freedesktop-sdk.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/llvm.bst
+- freedesktop-sdk.bst:deploy-tools/flatpak.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   meson-local: >-
     -Dwith_sysmon=false
diff --git a/elements/world/gnome-chess.bst b/elements/world/gnome-chess.bst
index 35508a45..452a98db 100644
--- a/elements/world/gnome-chess.bst
+++ b/elements/world/gnome-chess.bst
@@ -9,5 +9,4 @@ depends:
 - sdk/librsvg.bst
 - sdk/vala.bst
 - sdk/yelp-tools.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-code-assistance.bst b/elements/world/gnome-code-assistance.bst
index 4da2f894..b222bb21 100644
--- a/elements/world/gnome-code-assistance.bst
+++ b/elements/world/gnome-code-assistance.bst
@@ -3,10 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-code-assistance.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/vala.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-devel-docs.bst b/elements/world/gnome-devel-docs.bst
index e432cbbc..f41a23af 100644
--- a/elements/world/gnome-devel-docs.bst
+++ b/elements/world/gnome-devel-docs.bst
@@ -5,5 +5,4 @@ sources:
   track: master
 depends:
 - sdk/yelp-tools.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-dictionary.bst b/elements/world/gnome-dictionary.bst
index 5d579b99..7be6aff4 100644
--- a/elements/world/gnome-dictionary.bst
+++ b/elements/world/gnome-dictionary.bst
@@ -6,7 +6,5 @@ sources:
 depends:
 - sdk/glib.bst
 - sdk/gtk+-3.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-documents.bst b/elements/world/gnome-documents.bst
index 524064bd..411e9660 100644
--- a/elements/world/gnome-documents.bst
+++ b/elements/world/gnome-documents.bst
@@ -5,8 +5,12 @@ sources:
   track: master
   submodules:
     subprojects/libgd:
-      checkout: True
+      checkout: true
       url: gitlab_gnome_org:GNOME/libgd.git
+build-depends:
+- freedesktop-sdk.bst:components/docbook-xsl.bst
+- freedesktop-sdk.bst:components/git-minimal.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - core-deps/gnome-online-accounts.bst
 - core-deps/gnome-online-miners.bst
@@ -23,16 +27,5 @@ depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/gtk+-3.bst
-- filename: components/desktop-file-utils.bst
-  junction: freedesktop-sdk.bst
-- filename: components/docbook-xsl.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/git-minimal.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/desktop-file-utils.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-games.bst b/elements/world/gnome-games.bst
index 8b766adf..97510de4 100644
--- a/elements/world/gnome-games.bst
+++ b/elements/world/gnome-games.bst
@@ -4,22 +4,20 @@ sources:
   url: gitlab_gnome_org:GNOME/gnome-games.git
   track: master
 depends:
-- core/gnome-themes-extra.bst
 - core-deps/grilo-plugins.bst
 - core-deps/grilo.bst
 - core-deps/libhandy.bst
 - core-deps/tracker-miners.bst
 - core-deps/tracker.bst
+- core/gnome-themes-extra.bst
 - sdk/adwaita-icon-theme.bst
-- sdk/gvfs.bst
 - sdk/glib.bst
 - sdk/gtk+-3.bst
+- sdk/gvfs.bst
 - sdk/librsvg.bst
 - sdk/libsoup.bst
 - sdk/vala.bst
 - world/libmanette.bst
 - world/retro-gtk.bst
-- filename: components/hicolor-icon-theme.bst
-  junction: freedesktop-sdk.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/hicolor-icon-theme.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-internet-radio-locator.bst b/elements/world/gnome-internet-radio-locator.bst
index bb41f805..d134d488 100644
--- a/elements/world/gnome-internet-radio-locator.bst
+++ b/elements/world/gnome-internet-radio-locator.bst
@@ -3,6 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gnome-internet-radio-locator.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
 depends:
 - core-deps/geocode-glib.bst
 - core-deps/libchamplain.bst
@@ -15,10 +17,6 @@ depends:
 - sdk/gst-plugins-base.bst
 - sdk/gst-plugins-good.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/pango.bst
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-klotski.bst b/elements/world/gnome-klotski.bst
index a27088c7..640b61bb 100644
--- a/elements/world/gnome-klotski.bst
+++ b/elements/world/gnome-klotski.bst
@@ -8,7 +8,5 @@ depends:
 - sdk/gtk+-3.bst
 - sdk/librsvg.bst
 - world/libgnome-games-support.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-mahjongg.bst b/elements/world/gnome-mahjongg.bst
index da0e74f2..d737376c 100644
--- a/elements/world/gnome-mahjongg.bst
+++ b/elements/world/gnome-mahjongg.bst
@@ -8,7 +8,5 @@ depends:
 - sdk/gtk+-3.bst
 - sdk/librsvg.bst
 - sdk/vala.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-mines.bst b/elements/world/gnome-mines.bst
index 721d08d9..0d70e555 100644
--- a/elements/world/gnome-mines.bst
+++ b/elements/world/gnome-mines.bst
@@ -9,7 +9,5 @@ depends:
 - sdk/librsvg.bst
 - sdk/vala.bst
 - world/libgnome-games-support.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-multi-writer.bst b/elements/world/gnome-multi-writer.bst
index 7b124626..05cb0e14 100644
--- a/elements/world/gnome-multi-writer.bst
+++ b/elements/world/gnome-multi-writer.bst
@@ -10,5 +10,4 @@ depends:
 - sdk/gobject-introspection.bst
 - sdk/gtk+-3.bst
 - sdk/libcanberra.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-nettool.bst b/elements/world/gnome-nettool.bst
index f31c4b87..ce7921d4 100644
--- a/elements/world/gnome-nettool.bst
+++ b/elements/world/gnome-nettool.bst
@@ -8,5 +8,4 @@ depends:
 - sdk/glib.bst
 - sdk/gtk+-3.bst
 - sdk/yelp-tools.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-nibbles.bst b/elements/world/gnome-nibbles.bst
index cd8fd585..139c74ea 100644
--- a/elements/world/gnome-nibbles.bst
+++ b/elements/world/gnome-nibbles.bst
@@ -14,5 +14,4 @@ depends:
 - sdk/vala.bst
 - sdk/yelp-tools.bst
 - world/libgnome-games-support.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-recipes.bst b/elements/world/gnome-recipes.bst
index 65eb7b2c..d900ee8f 100644
--- a/elements/world/gnome-recipes.bst
+++ b/elements/world/gnome-recipes.bst
@@ -5,14 +5,12 @@ sources:
   track: master
   submodules:
     subprojects/libgd:
-      checkout: True
+      checkout: true
       url: gitlab_gnome_org:GNOME/libgd.git
 depends:
 - core-deps/gnome-autoar.bst
 - core-deps/gnome-online-accounts.bst
 - core-deps/gspell.bst
 - sdk/gtk+-3.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-robots.bst b/elements/world/gnome-robots.bst
index c4edd0f1..399b64a3 100644
--- a/elements/world/gnome-robots.bst
+++ b/elements/world/gnome-robots.bst
@@ -10,5 +10,4 @@ depends:
 - sdk/librsvg.bst
 - sdk/yelp-tools.bst
 - world/libgnome-games-support.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-sound-recorder.bst b/elements/world/gnome-sound-recorder.bst
index 54949e6c..1b9c65af 100644
--- a/elements/world/gnome-sound-recorder.bst
+++ b/elements/world/gnome-sound-recorder.bst
@@ -10,7 +10,5 @@ depends:
 - sdk/gst-plugins-base.bst
 - sdk/gst-plugins-good.bst
 - sdk/gtk+-3.bst
-- filename: components/gstreamer.bst
-  junction: freedesktop-sdk.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/gstreamer.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-sudoku.bst b/elements/world/gnome-sudoku.bst
index 0e76d559..55152d92 100644
--- a/elements/world/gnome-sudoku.bst
+++ b/elements/world/gnome-sudoku.bst
@@ -10,7 +10,5 @@ depends:
 - sdk/json-glib.bst
 - sdk/libgee.bst
 - world/qqwing.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-taquin.bst b/elements/world/gnome-taquin.bst
index be9ff2a7..2152cbad 100644
--- a/elements/world/gnome-taquin.bst
+++ b/elements/world/gnome-taquin.bst
@@ -10,5 +10,4 @@ depends:
 - sdk/librsvg.bst
 - sdk/vala.bst
 - sdk/yelp-tools.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-tetravex.bst b/elements/world/gnome-tetravex.bst
index 127f6c27..ece54f7f 100644
--- a/elements/world/gnome-tetravex.bst
+++ b/elements/world/gnome-tetravex.bst
@@ -6,7 +6,5 @@ sources:
 depends:
 - sdk/gtk+-3.bst
 - sdk/vala.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-todo.bst b/elements/world/gnome-todo.bst
index 7f375360..00f9b315 100644
--- a/elements/world/gnome-todo.bst
+++ b/elements/world/gnome-todo.bst
@@ -10,5 +10,4 @@ depends:
 - sdk/appstream-glib.bst
 - sdk/glib.bst
 - sdk/gtk.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gnome-tweaks.bst b/elements/world/gnome-tweaks.bst
index 0a01db02..802b7cfd 100644
--- a/elements/world/gnome-tweaks.bst
+++ b/elements/world/gnome-tweaks.bst
@@ -8,5 +8,4 @@ depends:
 - core/nautilus.bst
 - sdk/librsvg.bst
 - sdk/pygobject.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gtkspell.bst b/elements/world/gtkspell.bst
index b791d978..5351385e 100644
--- a/elements/world/gtkspell.bst
+++ b/elements/world/gtkspell.bst
@@ -3,17 +3,12 @@ sources:
 - kind: git_tag
   url: git_code_sf_net:p/gtkspell/gtkspell.git
   track: master
+build-depends:
+- core-deps/intltool.bst
+- sdk/gtk-doc.bst
+- sdk/vala.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: core-deps/intltool.bst
-  type: build
 - sdk/enchant-2.bst
 - sdk/gtk+-3.bst
-- filename: sdk/gtk-doc.bst
-  type: build
-- filename: sdk/vala.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/gupnp-igd.bst b/elements/world/gupnp-igd.bst
index 24973711..336fbbd8 100644
--- a/elements/world/gupnp-igd.bst
+++ b/elements/world/gupnp-igd.bst
@@ -3,14 +3,12 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/gupnp-igd.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/gupnp.bst
 - sdk/glib.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-python
diff --git a/elements/world/hitori.bst b/elements/world/hitori.bst
index 305e135e..cd8c6055 100644
--- a/elements/world/hitori.bst
+++ b/elements/world/hitori.bst
@@ -8,5 +8,4 @@ depends:
 - sdk/glib.bst
 - sdk/gtk+-3.bst
 - sdk/yelp-tools.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/iagno.bst b/elements/world/iagno.bst
index 3c0c6205..bfa1a036 100644
--- a/elements/world/iagno.bst
+++ b/elements/world/iagno.bst
@@ -10,5 +10,4 @@ depends:
 - sdk/librsvg.bst
 - sdk/vala.bst
 - sdk/yelp-tools.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/ibus-anthy.bst b/elements/world/ibus-anthy.bst
index 3093d17d..43179bc0 100644
--- a/elements/world/ibus-anthy.bst
+++ b/elements/world/ibus-anthy.bst
@@ -2,20 +2,16 @@ kind: autotools
 sources:
 - kind: tar
   url: github_com:ibus/ibus-anthy/releases/download/1.5.11/ibus-anthy-1.5.11.tar.gz
+build-depends:
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/ibus.bst
 - sdk/pygobject.bst
 - world/anthy.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-private-png=yes
diff --git a/elements/world/ibus-hangul.bst b/elements/world/ibus-hangul.bst
index 0458ec76..6ce835c9 100644
--- a/elements/world/ibus-hangul.bst
+++ b/elements/world/ibus-hangul.bst
@@ -2,16 +2,11 @@ kind: autotools
 sources:
 - kind: tar
   url: github_com:choehwanjin/ibus-hangul/releases/download/1.5.0/ibus-hangul-1.5.0.tar.gz
+build-depends:
+- core-deps/intltool.bst
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: core-deps/intltool.bst
-  type: build
 - sdk/ibus.bst
 - world/libhangul.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/ibus-libpinyin.bst b/elements/world/ibus-libpinyin.bst
index 53803559..f7cdae9f 100644
--- a/elements/world/ibus-libpinyin.bst
+++ b/elements/world/ibus-libpinyin.bst
@@ -2,19 +2,14 @@ kind: autotools
 sources:
 - kind: tar
   url: github_com:libpinyin/ibus-libpinyin/releases/download/1.11.1/ibus-libpinyin-1.11.1.tar.gz
+build-depends:
+- core-deps/intltool.bst
+- freedesktop-sdk.bst:components/perl-xml-parser.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: core-deps/intltool.bst
-  type: build
 - sdk/ibus.bst
 - world/libpinyin.bst
-- filename: components/perl-xml-parser.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-lua-extension
diff --git a/elements/world/jsonrpc-glib.bst b/elements/world/jsonrpc-glib.bst
index bea15827..83380e1d 100644
--- a/elements/world/jsonrpc-glib.bst
+++ b/elements/world/jsonrpc-glib.bst
@@ -3,13 +3,11 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/jsonrpc-glib.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/json-glib.bst
 - sdk/vala.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/kyotocabinet.bst b/elements/world/kyotocabinet.bst
index 822f6a54..2d15dbf7 100644
--- a/elements/world/kyotocabinet.bst
+++ b/elements/world/kyotocabinet.bst
@@ -4,9 +4,7 @@ sources:
   url: http://fallabs.com/kyotocabinet/pkg/kyotocabinet-1.2.76.tar.gz
 - kind: patch
   path: files/kyotocabinet/cpp-14.patch
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/libbluray.bst b/elements/world/libbluray.bst
index 89f00449..7657dd96 100644
--- a/elements/world/libbluray.bst
+++ b/elements/world/libbluray.bst
@@ -2,16 +2,12 @@ kind: autotools
 sources:
 - kind: tar
   url: http://ftp.videolan.org/pub/videolan/libbluray/1.0.2/libbluray-1.0.2.tar.bz2
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: components/fontconfig.bst
-  junction: freedesktop-sdk.bst
-- filename: components/freetype.bst
-  junction: freedesktop-sdk.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/fontconfig.bst
+- freedesktop-sdk.bst:components/freetype.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-bdjava-jar
diff --git a/elements/world/libcdio-paranoia.bst b/elements/world/libcdio-paranoia.bst
index f73acb05..9e7bec3e 100644
--- a/elements/world/libcdio-paranoia.bst
+++ b/elements/world/libcdio-paranoia.bst
@@ -2,10 +2,8 @@ kind: autotools
 sources:
 - kind: tar
   url: ftp_gnu_org:libcdio/libcdio-paranoia-10.2+0.94+2.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - world/libcdio.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/libcdio.bst b/elements/world/libcdio.bst
index efe27810..2241cc51 100644
--- a/elements/world/libcdio.bst
+++ b/elements/world/libcdio.bst
@@ -2,12 +2,10 @@ kind: autotools
 sources:
 - kind: tar
   url: ftp_gnu_org:libcdio/libcdio-2.0.0.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --without-cdda-player
diff --git a/elements/world/libgit2-glib.bst b/elements/world/libgit2-glib.bst
index d357bca2..615745c7 100644
--- a/elements/world/libgit2-glib.bst
+++ b/elements/world/libgit2-glib.bst
@@ -3,6 +3,8 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libgit2-glib.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
@@ -10,8 +12,4 @@ depends:
 - sdk/vala.bst
 - world/libgit2.bst
 - world/libssh2.bst
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/libgit2.bst b/elements/world/libgit2.bst
index 45d5887b..cf1b4a54 100644
--- a/elements/world/libgit2.bst
+++ b/elements/world/libgit2.bst
@@ -2,13 +2,11 @@ kind: cmake
 sources:
 - kind: tar
   url: github_com:libgit2/libgit2/archive/v0.26.3.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
 depends:
 - world/libssh2.bst
-- filename: public-stacks/buildsystem-cmake.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   cmake-local: >-
     -DLIB_INSTALL_DIR:PATH=%{libdir}
diff --git a/elements/world/libgnome-games-support.bst b/elements/world/libgnome-games-support.bst
index 3e8502c4..9c6defc1 100644
--- a/elements/world/libgnome-games-support.bst
+++ b/elements/world/libgnome-games-support.bst
@@ -8,5 +8,4 @@ depends:
 - sdk/gtk+-3.bst
 - sdk/libgee.bst
 - sdk/vala.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/libgphoto2.bst b/elements/world/libgphoto2.bst
index 2b9638f5..ccb6e135 100644
--- a/elements/world/libgphoto2.bst
+++ b/elements/world/libgphoto2.bst
@@ -2,11 +2,9 @@ kind: autotools
 sources:
 - kind: tar
   url: downloads.sourceforge.net:gphoto/libgphoto/2.5.16/libgphoto2-2.5.16.tar.bz2
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-aux: auto-aux
diff --git a/elements/world/libgrss.bst b/elements/world/libgrss.bst
index 8b21ccff..718c2970 100644
--- a/elements/world/libgrss.bst
+++ b/elements/world/libgrss.bst
@@ -3,15 +3,11 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/libgrss.git
   track: master
+build-depends:
+- sdk/gobject-introspection.bst
+- sdk/gtk-doc.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
-- filename: sdk/gobject-introspection.bst
-  type: build
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/libsoup.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/libhangul.bst b/elements/world/libhangul.bst
index c0913fac..806fe28a 100644
--- a/elements/world/libhangul.bst
+++ b/elements/world/libhangul.bst
@@ -2,9 +2,7 @@ kind: autotools
 sources:
 - kind: tar
   url: http://kldp.net/hangul/release/3442-libhangul-0.1.0.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/libimobiledevice.bst b/elements/world/libimobiledevice.bst
index 22ffdc07..50dcb32d 100644
--- a/elements/world/libimobiledevice.bst
+++ b/elements/world/libimobiledevice.bst
@@ -2,10 +2,8 @@ kind: autotools
 sources:
 - kind: tar
   url: http://www.libimobiledevice.org/downloads/libimobiledevice-1.2.0.tar.bz2
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - world/libusbmuxd.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/libmanette.bst b/elements/world/libmanette.bst
index db5596b7..0e280f0e 100644
--- a/elements/world/libmanette.bst
+++ b/elements/world/libmanette.bst
@@ -9,5 +9,4 @@ depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/vala.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/libmtp.bst b/elements/world/libmtp.bst
index a98215eb..404248cf 100644
--- a/elements/world/libmtp.bst
+++ b/elements/world/libmtp.bst
@@ -2,10 +2,8 @@ kind: autotools
 sources:
 - kind: tar
   url: downloads.sourceforge.net:libmtp/libmtp/1.1.15/libmtp-1.1.15.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - core-deps/libusb.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/libnfs.bst b/elements/world/libnfs.bst
index 2c833dde..0f6de097 100644
--- a/elements/world/libnfs.bst
+++ b/elements/world/libnfs.bst
@@ -2,9 +2,7 @@ kind: autotools
 sources:
 - kind: tar
   url: https://sites.google.com/site/libnfstarballs/li/libnfs-2.0.0.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/libpinyin.bst b/elements/world/libpinyin.bst
index 0b6180b6..154d8153 100644
--- a/elements/world/libpinyin.bst
+++ b/elements/world/libpinyin.bst
@@ -6,15 +6,13 @@ sources:
   url: downloads.sourceforge.net:libpinyin/models/model17.text.tar.gz
   base-dir: ''
   directory: data
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - sdk/glib.bst
 - world/kyotocabinet.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --with-dbm=KyotoCabinet
-  notparallel: True
+  notparallel: true
diff --git a/elements/world/libssh2.bst b/elements/world/libssh2.bst
index 23adcc80..7f5c44b9 100644
--- a/elements/world/libssh2.bst
+++ b/elements/world/libssh2.bst
@@ -2,12 +2,10 @@ kind: cmake
 sources:
 - kind: tar
   url: github_com:libssh2/libssh2/archive/libssh2-1.8.0.tar.gz
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-cmake.bst
 depends:
-- filename: public-stacks/buildsystem-cmake.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   cmake-local: >-
     -DBUILD_SHARED_LIBS=1
diff --git a/elements/world/libusbmuxd.bst b/elements/world/libusbmuxd.bst
index e87e1166..c3852697 100644
--- a/elements/world/libusbmuxd.bst
+++ b/elements/world/libusbmuxd.bst
@@ -2,10 +2,8 @@ kind: autotools
 sources:
 - kind: tar
   url: http://www.libimobiledevice.org/downloads/libusbmuxd-1.0.10.tar.bz2
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
 - world/plist.bst
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/lightsoff.bst b/elements/world/lightsoff.bst
index 48901310..858dd64c 100644
--- a/elements/world/lightsoff.bst
+++ b/elements/world/lightsoff.bst
@@ -10,7 +10,5 @@ depends:
 - sdk/gtk+-3.bst
 - sdk/librsvg.bst
 - sdk/vala.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/plist.bst b/elements/world/plist.bst
index a7b9c94f..e4a645e4 100644
--- a/elements/world/plist.bst
+++ b/elements/world/plist.bst
@@ -2,9 +2,7 @@ kind: autotools
 sources:
 - kind: tar
   url: http://www.libimobiledevice.org/downloads/libplist-2.0.0.tar.bz2
+build-depends:
+- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
 depends:
-- filename: public-stacks/buildsystem-autotools.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/polari.bst b/elements/world/polari.bst
index 99e393b0..a2756944 100644
--- a/elements/world/polari.bst
+++ b/elements/world/polari.bst
@@ -11,7 +11,5 @@ depends:
 - sdk/gobject-introspection.bst
 - sdk/gtk+-3.bst
 - world/telepathy-glib.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/qqwing.bst b/elements/world/qqwing.bst
index 084652f2..c5f3dd9a 100644
--- a/elements/world/qqwing.bst
+++ b/elements/world/qqwing.bst
@@ -3,5 +3,4 @@ sources:
 - kind: tar
   url: qqwing:qqwing-1.3.4.tar.gz
 depends:
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/quadrapassel.bst b/elements/world/quadrapassel.bst
index fe20ad47..9fb5b66c 100644
--- a/elements/world/quadrapassel.bst
+++ b/elements/world/quadrapassel.bst
@@ -12,7 +12,5 @@ depends:
 - sdk/librsvg.bst
 - sdk/vala.bst
 - world/libmanette.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/retro-gtk.bst b/elements/world/retro-gtk.bst
index 5e06f9be..e40e3a9f 100644
--- a/elements/world/retro-gtk.bst
+++ b/elements/world/retro-gtk.bst
@@ -8,7 +8,5 @@ depends:
 - sdk/glib.bst
 - sdk/gtk+-3.bst
 - sdk/vala.bst
-- filename: components/libpulse.bst
-  junction: freedesktop-sdk.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/libpulse.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/seahorse.bst b/elements/world/seahorse.bst
index ae235f3b..637a961f 100644
--- a/elements/world/seahorse.bst
+++ b/elements/world/seahorse.bst
@@ -3,11 +3,14 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/seahorse.git
   track: master
+runtime-depends:
+- sdk/adwaita-icon-theme.bst
+- sdk/cantarell-fonts.bst
 depends:
 - core-deps/avahi.bst
 - core-deps/openldap.bst
-- sdk/glib.bst
 - sdk/gcr.bst
+- sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/gsettings-desktop-schemas.bst
 - sdk/gtk+-3.bst
@@ -15,13 +18,6 @@ depends:
 - sdk/libsecret.bst
 - sdk/libsoup.bst
 - sdk/vala.bst
-- filename: components/pwquality.bst
-  junction: freedesktop-sdk.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
-- filename: sdk/cantarell-fonts.bst
-  type: runtime
-- filename: sdk/adwaita-icon-theme.bst
-  type: runtime
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:components/pwquality.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/swell-foop.bst b/elements/world/swell-foop.bst
index 4e9d29db..b12c69b6 100644
--- a/elements/world/swell-foop.bst
+++ b/elements/world/swell-foop.bst
@@ -9,7 +9,5 @@ depends:
 - sdk/clutter.bst
 - sdk/gtk+-3.bst
 - sdk/vala.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/tali.bst b/elements/world/tali.bst
index 4786ebf4..c2c465f5 100644
--- a/elements/world/tali.bst
+++ b/elements/world/tali.bst
@@ -5,7 +5,5 @@ sources:
   track: master
 depends:
 - sdk/gtk+-3.bst
-- filename: components/itstools.bst
-  junction: freedesktop-sdk.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:components/itstools.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/telepathy-glib.bst b/elements/world/telepathy-glib.bst
index 3255209a..d8060887 100644
--- a/elements/world/telepathy-glib.bst
+++ b/elements/world/telepathy-glib.bst
@@ -3,16 +3,15 @@ sources:
 - kind: git_tag
   url: github_com:TelepathyIM/telepathy-glib.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
 depends:
 - core-deps/avahi.bst
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - sdk/vala.bst
 - world/dbus-glib.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --enable-vala-bindings
diff --git a/elements/world/telepathy-logger.bst b/elements/world/telepathy-logger.bst
index 3a0e7ebd..fc33a90d 100644
--- a/elements/world/telepathy-logger.bst
+++ b/elements/world/telepathy-logger.bst
@@ -3,11 +3,10 @@ sources:
 - kind: git_tag
   url: github_com:TelepathyIM/telepathy-logger.git
   track: master
+build-depends:
+- sdk/gtk-doc.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - world/telepathy-glib.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
diff --git a/elements/world/telepathy-mission-control.bst b/elements/world/telepathy-mission-control.bst
index 93b1cfec..fadcdf5a 100644
--- a/elements/world/telepathy-mission-control.bst
+++ b/elements/world/telepathy-mission-control.bst
@@ -3,14 +3,13 @@ sources:
 - kind: git_tag
   url: github_com:TelepathyIM/telepathy-mission-control.git
   track: telepathy-mission-control-5.16
+build-depends:
+- sdk/gtk-doc.bst
 depends:
 - core-deps/NetworkManager.bst
 - sdk/glib.bst
-- filename: sdk/gtk-doc.bst
-  type: build
 - world/telepathy-glib.bst
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst
 variables:
   conf-local: >-
     --disable-upower
diff --git a/elements/world/template-glib.bst b/elements/world/template-glib.bst
index e5df61cc..d91185f6 100644
--- a/elements/world/template-glib.bst
+++ b/elements/world/template-glib.bst
@@ -3,18 +3,12 @@ sources:
 - kind: git_tag
   url: gitlab_gnome_org:GNOME/template-glib.git
   track: master
+build-depends:
+- freedesktop-sdk.bst:components/bison.bst
+- freedesktop-sdk.bst:components/flex.bst
+- freedesktop-sdk.bst:public-stacks/buildsystem-meson.bst
 depends:
 - sdk/glib.bst
 - sdk/gobject-introspection.bst
 - sdk/vala.bst
-- filename: components/flex.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: components/bison.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: public-stacks/buildsystem-meson.bst
-  junction: freedesktop-sdk.bst
-  type: build
-- filename: bootstrap-import.bst
-  junction: freedesktop-sdk.bst
+- freedesktop-sdk.bst:bootstrap-import.bst



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