Split the deps file like we do when pulling mkosi archlinux packages

This commit is contained in:
Aleix Pol i Gonzalez
2026-05-26 12:16:02 +02:00
parent 605f611f67
commit 30265e40f8
9 changed files with 227 additions and 131 deletions

View File

@@ -0,0 +1,18 @@
# SPDX-FileCopyrightText: 2025 Aleix Pol Gonzalez <aleix.pol@codethink.co.uk>
# SPDX-License-Identifier: BSD-2-Clause
kind: autotools
build-depends:
- freedesktop-sdk.bst:public-stacks/buildsystem-autotools.bst
- freedesktop-sdk.bst:components/gettext.bst
depends:
- freedesktop-sdk.bst:public-stacks/runtime-minimal.bst
- freedesktop-sdk.bst:components/pcsc-lite.bst
- freedesktop-sdk.bst:components/libusb.bst
sources:
- kind: tar
url: https://downloads.sourceforge.net/acsccid/acsccid-1.1.13.tar.bz2
ref: 8b19aba103ec03c448b9d1b562c8322f8d2ff37cf21d4cb8b0cf522c5f385c9f

View File

@@ -0,0 +1,29 @@
# SPDX-FileCopyrightText: 2026 Aleix Pol Gonzalez <aleixpol@kde.org>
# SPDX-License-Identifier: BSD-2-Clause
kind: manual
build-depends:
- freedesktop-sdk.bst:components/findutils.bst
depends:
- freedesktop-sdk.bst:public-stacks/runtime-minimal.bst
variables:
strip-binaries: ''
license-files-extra: LICENSE fonts/LICENSE
config:
install-commands:
- |
install -dm755 "%{install-root}%{datadir}/fonts/noto"
find fonts -path '*/hinted/ttf/*.tt[fc]' \
! -name 'Noto*-Condensed*.ttf' \
! -name 'Noto*-Semi*.ttf' \
! -name 'Noto*-Extra*.ttf' \
-exec install -Dm644 -t "%{install-root}%{datadir}/fonts/noto" {} +
sources:
- kind: tar
url: https://github.com/notofonts/notofonts.github.io/archive/refs/tags/noto-monthly-release-2026.05.01.tar.gz
ref: 6caa6ea6231842639119d4a9fefd80caed8cd58a49f73d4531b060412005c58d

View File

@@ -11,6 +11,7 @@ build-depends:
depends:
- freedesktop-sdk.bst:public-stacks/runtime-minimal.bst
- freedesktop-sdk.bst:components/flatpak.bst
- freedesktop-sdk.bst:components/fwupd.bst
- components/appstreamqt.bst
variables:

View File

@@ -0,0 +1,9 @@
# SPDX-FileCopyrightText: 2025 Aleix Pol Gonzalez <aleix.pol@codethink.co.uk>
# SPDX-License-Identifier: BSD-2-Clause
kind: stack
depends: []
# gammaray # GUI debugging for Qt apps
# orca # screen reader

52
elements/os/deps-cli.bst Normal file
View File

@@ -0,0 +1,52 @@
# SPDX-FileCopyrightText: 2025 Aleix Pol Gonzalez <aleix.pol@codethink.co.uk>
# SPDX-License-Identifier: BSD-2-Clause
kind: stack
depends:
- freedesktop-sdk.bst:components/iproute2.bst # iproute2: Basic networking tools
- freedesktop-sdk.bst:components/usbutils.bst # usbutils: lsusb and other useful troubleshooting tools
- freedesktop-sdk.bst:components/bash-completion.bst # bash-completion: Completions for Bash
- freedesktop-sdk.bst:components/iputils.bst
- freedesktop-sdk.bst:components/openssh.bst
- freedesktop-sdk.bst:components/openssh-systemd.bst
- freedesktop-sdk.bst:components/vim.bst
- freedesktop-sdk.bst:components/bc.bst # bc: used during kernel builds
- freedesktop-sdk.bst:components/ccache.bst
- freedesktop-sdk.bst:components/cmake.bst
- freedesktop-sdk.bst:components/crun.bst # crun: default for podman
- freedesktop-sdk.bst:components/desktop-file-utils.bst # desktop-file-utils: desktop-file-validate and related useful tools
- freedesktop-sdk.bst:components/flatpak-builder.bst
- freedesktop-sdk.bst:components/git.bst # git: It's git
- freedesktop-sdk.bst:components/git-lfs.bst # git-lfs: Git extension needed for versioning large files
- gnome-build-meta.bst:core-deps/intltool.bst # intltool: make dependency for purpose, plasma-desktop, and kio-gdrive
- freedesktop-sdk.bst:components/jq.bst # jq: JSON processor
- freedesktop-sdk.bst:components/less.bst
- freedesktop-sdk.bst:components/llvm.bst # clang, lld, llvm
- freedesktop-sdk.bst:components/man-db.bst # man-db: Classic `man`
- freedesktop-sdk.bst:components/man-pages.bst # man-pages: Manual pages for things
- freedesktop-sdk.bst:components/meson.bst # meson: often used for glib software as alternative to cmake
- freedesktop-sdk.bst:components/nano.bst
- freedesktop-sdk.bst:components/ninja.bst
- freedesktop-sdk.bst:components/perf.bst
- freedesktop-sdk.bst:components/plocate.bst # plocate: Fast file locating
- freedesktop-sdk.bst:components/podman.bst
- freedesktop-sdk.bst:components/python3-pyyaml.bst # python-yaml: For kde-builder
- freedesktop-sdk.bst:components/ruby.bst # ruby: For the torrent script in the repo
- freedesktop-sdk.bst:components/strace.bst # strace: instrument running executables
- freedesktop-sdk.bst:components/vulkan-icd-loader.bst
- freedesktop-sdk.bst:components/wget2.bst # wget
- freedesktop-sdk.bst:components/xz.bst
- freedesktop-sdk.bst:components/zip.bst # zip: the zip CLI archiving tool
- gnome-build-meta.bst:boards/common/alsa-utils.bst # alsa-utils: alsamixer and other useful audio debugging tools
- gnome-build-meta.bst:boards/common/iw.bst # iw: Kernel-level wireless configuration
- gnome-build-meta.bst:core-deps/espeak-ng.bst # espeak-ng: CLI-invoked speech; accessible automation feedback
- gnome-build-meta.bst:gnomeos-deps/distrobox.bst
- components/noto-fonts.bst # noto-fonts: Google Noto TTF fonts
- gnome-build-meta.bst:gnomeos-deps/noto-cjk.bst # noto-fonts-cjk: Noto CJK scripts
- freedesktop-sdk.bst:components/noto-emoji.bst # noto-fonts-emoji: Color emoji font
- gnome-build-meta.bst:gnomeos-deps/nvme-cli.bst # nvme-cli: NVMe SSD support tooling
- gnome-build-meta.bst:gnomeos-deps/toolbox.bst
- gnome-build-meta.bst:gnomeos-deps/wl-clipboard.bst
- gnome-build-meta.bst:gnomeos-deps/words.bst # words: Dictionaries in /usr/share/dict
- gnome-build-meta.bst:sdk-deps/sassc.bst # sassc: make dependency for breeze-gtk and kde-gtk-config

75
elements/os/deps-core.bst Normal file
View File

@@ -0,0 +1,75 @@
# SPDX-FileCopyrightText: 2025 Aleix Pol Gonzalez <aleix.pol@codethink.co.uk>
# SPDX-License-Identifier: BSD-2-Clause
kind: stack
depends:
- freedesktop-sdk.bst:public-stacks/runtime-minimal.bst # base: Base Arch packages; mandatory
- freedesktop-sdk.bst:components/util-linux-full.bst # base: Base Arch packages; mandatory
- freedesktop-sdk.bst:components/linux.bst # linux: It's the kernel!
- freedesktop-sdk.bst:components/linux-firmware.bst
- freedesktop-sdk.bst:components/ca-certificates.bst
- freedesktop-sdk.bst:components/wireless-regdb-bin.bst # wireless-regdb: Gets us the wireless-regdom file that we can modify as needed
- freedesktop-sdk.bst:components/systemd.bst
- freedesktop-sdk.bst:components/dbus.bst
- freedesktop-sdk.bst:components/dracut.bst
- freedesktop-sdk.bst:components/shadow.bst
- freedesktop-sdk.bst:components/tzdata.bst
- freedesktop-sdk.bst:components/udisks.bst
- freedesktop-sdk.bst:vm/mesa-default.bst # mesa: HW enablement for graphics
- freedesktop-sdk.bst:vm/base-filesystem.bst
- freedesktop-sdk.bst:vm/config/journald.bst
- freedesktop-sdk.bst:vm/config/useradd-default.bst
- freedesktop-sdk.bst:vm/config/systemd-homed-firstboot.bst
- freedesktop-sdk.bst:components/hosts.bst
- freedesktop-sdk.bst:components/bash-config.bst
- freedesktop-sdk.bst:components/flatpak.bst # flatpak: Flatpak apps
- freedesktop-sdk.bst:components/plymouth.bst
- freedesktop-sdk.bst:components/sudo.bst
- freedesktop-sdk.bst:components/cups-daemon.bst # cups: Basic printing infrastructure
- freedesktop-sdk.bst:components/cups.bst # cups: Basic printing infrastructure
- freedesktop-sdk.bst:components/alsa-lib.bst
- freedesktop-sdk.bst:components/dosfstools.bst # dosfstools: Manipulating DOS filesystems; used by kpmcore
- freedesktop-sdk.bst:components/btrfs-progs.bst # btrfs-progs: Btrfs tools; so system tools can interact with our disks
- freedesktop-sdk.bst:components/systemd-ukify.bst
- freedesktop-sdk.bst:components/wpa-supplicant.bst
- freedesktop-sdk.bst:components/ccid.bst # ccid: Generic USB CCID/ICCD card readers
- freedesktop-sdk.bst:components/e2fsprogs.bst # e2fsprogs: Manipulating EXT filesystems; used by kpmcore
- freedesktop-sdk.bst:components/erofs-utils.bst # erofs-utils: Erofs tools; so system tools can interact with our OS image
- freedesktop-sdk.bst:components/exfat-progs.bst # exfatprogs: Manipulating exFAT filesystems; used by kpmcore
- freedesktop-sdk.bst:components/f2fs-tools.bst # f2fs-tools: Manipulating f2fs filesystems; used by kpmcore
- freedesktop-sdk.bst:components/foomatic-db.bst # foomatic-db: data about many printers for foomatic-db-engine PPD generator
- freedesktop-sdk.bst:components/fuse3.bst # fuse3: Modern AppImage apps
- freedesktop-sdk.bst:components/iio-sensor-proxy.bst # iio-sensor-proxy: Auto-rotation
- freedesktop-sdk.bst:components/kmod.bst
- freedesktop-sdk.bst:components/lvm2.bst # lvm2: Logical Volume Manager 2 support
- freedesktop-sdk.bst:components/ovmf-maybe.bst # edk2-ovmf: UEFI support for virtual machines
- freedesktop-sdk.bst:components/sbsigntools-maybe.bst # sbsigntools: To sign and verify EFI binaries; needs low-level access to work
- freedesktop-sdk.bst:components/shim-maybe.bst # shim: Sits between firmware and systemd-boot, providing a trusted boot path and support for Secure Boot
- freedesktop-sdk.bst:components/sof-firmware.bst # sof-firmware: Various audio chipsets
- freedesktop-sdk.bst:components/steam-devices.bst # steam-devices: udev rules for devices usable with Steam and SteamVR
- freedesktop-sdk.bst:components/tpm2-tss.bst # tpm2-tss: TPM support
- freedesktop-sdk.bst:components/xdg-user-dirs.bst
- freedesktop-sdk.bst:components/xfsprogs.bst # xfsprogs: Manipulating XFS filesystems; used by kpmcore
- freedesktop-sdk.bst:extensions/vainfo/libva-utils.bst # libva-utils: CLI tools for interacting with and debugging GPU acceleration
- gnome-build-meta.bst:core-deps/sane-backends.bst # sane: scanner udev rules - everything else in the package is deleted later
# - gnome-build-meta.bst:core-deps/system-config-printer.bst # system-config-printer: Local printer auto-discovery
- gnome-build-meta.bst:gnomeos-deps/android-udev-rules.bst # android-udev: udev rules for accessing Android devices
# - gnome-build-meta.bst:gnomeos-deps/fprintd.bst # fprintd: Fingerprint authentication
- gnome-build-meta.bst:gnomeos-deps/mokutil.bst # mokutil: To manage the Machine Owner Key list for Shim; needs low-level access to work
- gnome-build-meta.bst:gnomeos-deps/spice-vdagent.bst # spice-vdagent: QEMU's SPICE counterpart to enable desktop integration
- gnome-build-meta.bst:gnomeos-deps/swtpm.bst # swtpm: TPM emulator used by Incus VMs
- gnome-build-meta.bst:gnomeos-deps/virtiofsd.bst # virtiofsd: Enables access to host folders from virt-manager and incus VMs
- gnome-build-meta.bst:gnomeos-deps/zram-generator.bst # zram-generator: use compressed zram for swap
- components/powertop.bst # powertop: Energy monitoring; also used in our energy tuning scripts
- components/ydotool.bst # ydotool: Basic TUI and GUI app automation; needs low-level access to work
- components/kmscon.bst # kmscon: modern userspace getty and virtual terminal replacement
- components/acsccid.bst # ACS CCID smart card readers
(?):
- arch == 'x86_64':
depends:
(>):
- freedesktop-sdk.bst:extensions/platform-vaapi-intel/intel-media-driver.bst # intel-media-driver: Hardware accelerated video on newer Intel GPUs
- freedesktop-sdk.bst:extensions/platform-vaapi-nvidia/nvidia-vaapi-driver.bst # libva-nvidia-driver: Hardware accelerated video on NVIDIA GPUs
- gnome-build-meta.bst:gnomeos-deps/intel-ucode.bst

16
elements/os/deps-kde.bst Normal file
View File

@@ -0,0 +1,16 @@
# SPDX-FileCopyrightText: 2025 Aleix Pol Gonzalez <aleix.pol@codethink.co.uk>
# SPDX-License-Identifier: BSD-2-Clause
kind: stack
depends:
- components/plasma-login-manager.bst
- components/plasma-discover.bst
- components/kdeplasma-addons.bst
- components/kpmcore.bst # needed by calamares
- components/polkit-kde-agent.bst
- org.kde.plasma.desktop.bst # kde-linux
# KDE Linux needs GCC and such installed so that it can build calamares
- components/yamlcpp.bst
- os/os-release.bst

View File

@@ -0,0 +1,22 @@
# SPDX-FileCopyrightText: 2025 Aleix Pol Gonzalez <aleix.pol@codethink.co.uk>
# SPDX-License-Identifier: BSD-2-Clause
kind: stack
depends:
- freedesktop-sdk.bst:components/pipewire-daemon.bst # pipewire
- freedesktop-sdk.bst:components/wireplumber.bst
- freedesktop-sdk.bst:components/xwayland.bst # xorg-xwayland
- freedesktop-sdk.bst:components/geoclue.bst # geoclue: backend for QtPositioning, used for Night Light automatic location mode
- freedesktop-sdk.bst:components/libva.bst # libva: Hardware accelerated video in general
- freedesktop-sdk.bst:components/fwupd.bst # fwupd: for Discover backend
- freedesktop-sdk.bst:components/rsync.bst # rsync: kup, for one of the backends
- gnome-build-meta.bst:core-deps/dnsmasq.bst # dnsmasq: Hotspot creation and networking in VMs
# - gnome-build-meta.bst:core-deps/qemu.bst # qemu-desktop: virtual machines with GTK, SDL, SPICE, USB redirection, and virgl
# - gnome-build-meta.bst:gnomeos-deps/NetworkManager-openconnect.bst # networkmanager-vpn-plugin-openconnect
# - gnome-build-meta.bst:gnomeos-deps/NetworkManager-openvpn.bst # networkmanager-vpn-plugin-openvpn
# - gnome-build-meta.bst:gnomeos-deps/NetworkManager-vpnc.bst # networkmanager-vpn-plugin-vpnc
- gnome-build-meta.bst:gnomeos-deps/nss-mdns.bst # nss-mdns: Needed for Avahi mDNS for local domain resolving etc.
- components/samba.bst # samba: For sharing local folders via Samba
# - gnome-build-meta.bst:gnomeos-deps/switcheroo-control.bst # switcheroo-control: kio, for launching apps on non-default GPU
# - gnome-build-meta.bst:core/xdg-desktop-portal-gtk.bst # xdg-desktop-portal-gtk: GTK/Flatpak icon settings syncing

View File

@@ -4,134 +4,8 @@
kind: stack
depends:
- freedesktop-sdk.bst:public-stacks/runtime-minimal.bst
- freedesktop-sdk.bst:components/util-linux-full.bst
- freedesktop-sdk.bst:components/linux.bst
- freedesktop-sdk.bst:components/linux-firmware.bst
- freedesktop-sdk.bst:components/ca-certificates.bst
- freedesktop-sdk.bst:components/wireless-regdb-bin.bst
- freedesktop-sdk.bst:components/systemd.bst
- freedesktop-sdk.bst:components/dbus.bst
- freedesktop-sdk.bst:components/dracut.bst
- freedesktop-sdk.bst:components/shadow.bst
- freedesktop-sdk.bst:components/tzdata.bst
- freedesktop-sdk.bst:components/iproute2.bst
- freedesktop-sdk.bst:components/udisks.bst
- freedesktop-sdk.bst:components/openssh.bst
- freedesktop-sdk.bst:vm/mesa-default.bst
- freedesktop-sdk.bst:vm/base-filesystem.bst
- freedesktop-sdk.bst:vm/config/journald.bst
- freedesktop-sdk.bst:vm/config/useradd-default.bst
- freedesktop-sdk.bst:vm/config/systemd-homed-firstboot.bst
- freedesktop-sdk.bst:components/usbutils.bst
- freedesktop-sdk.bst:components/hosts.bst
- freedesktop-sdk.bst:components/bash-config.bst
- freedesktop-sdk.bst:components/bash-completion.bst
- freedesktop-sdk.bst:components/flatpak.bst
- freedesktop-sdk.bst:components/plymouth.bst
- freedesktop-sdk.bst:components/iputils.bst
- freedesktop-sdk.bst:components/openssh-systemd.bst
- freedesktop-sdk.bst:components/sudo.bst
- freedesktop-sdk.bst:components/cups-daemon.bst
- freedesktop-sdk.bst:components/vim.bst
- freedesktop-sdk.bst:components/alsa-lib.bst
- freedesktop-sdk.bst:components/pipewire-daemon.bst
- freedesktop-sdk.bst:components/dosfstools.bst
- freedesktop-sdk.bst:components/btrfs-progs.bst
- freedesktop-sdk.bst:components/systemd-ukify.bst
- freedesktop-sdk.bst:components/wpa-supplicant.bst
- freedesktop-sdk.bst:components/bc.bst
- freedesktop-sdk.bst:components/ccache.bst
- freedesktop-sdk.bst:components/ccid.bst
- freedesktop-sdk.bst:components/cmake.bst
- freedesktop-sdk.bst:components/crun.bst
- freedesktop-sdk.bst:components/cups.bst
- freedesktop-sdk.bst:components/desktop-file-utils.bst
- freedesktop-sdk.bst:components/e2fsprogs.bst
- freedesktop-sdk.bst:components/erofs-utils.bst
- freedesktop-sdk.bst:components/exfat-progs.bst
- freedesktop-sdk.bst:components/f2fs-tools.bst
- freedesktop-sdk.bst:components/flatpak-builder.bst
- freedesktop-sdk.bst:components/foomatic-db.bst
- freedesktop-sdk.bst:components/fuse3.bst
- freedesktop-sdk.bst:components/fwupd.bst
- freedesktop-sdk.bst:components/geoclue.bst
- freedesktop-sdk.bst:components/git.bst
- freedesktop-sdk.bst:components/git-lfs.bst
- freedesktop-sdk.bst:components/gperf.bst
- freedesktop-sdk.bst:components/hunspell.bst
- freedesktop-sdk.bst:components/iio-sensor-proxy.bst
- gnome-build-meta.bst:core-deps/intltool.bst
- freedesktop-sdk.bst:components/jq.bst
- freedesktop-sdk.bst:components/kmod.bst
- freedesktop-sdk.bst:components/less.bst
- freedesktop-sdk.bst:components/libavif.bst
- freedesktop-sdk.bst:components/libheif.bst
- freedesktop-sdk.bst:components/libjxl.bst
- freedesktop-sdk.bst:components/libva.bst
- freedesktop-sdk.bst:components/llvm.bst
- freedesktop-sdk.bst:components/lvm2.bst
- freedesktop-sdk.bst:components/meson.bst
- freedesktop-sdk.bst:components/nano.bst
- freedesktop-sdk.bst:components/ninja.bst
- freedesktop-sdk.bst:components/ovmf-maybe.bst
- freedesktop-sdk.bst:components/perf.bst
- freedesktop-sdk.bst:components/plocate.bst
- freedesktop-sdk.bst:components/podman.bst
- freedesktop-sdk.bst:components/python3-lxml.bst
- freedesktop-sdk.bst:components/python3-pyyaml.bst
- freedesktop-sdk.bst:components/rsync.bst
- freedesktop-sdk.bst:components/ruby.bst
- freedesktop-sdk.bst:components/sbsigntools-maybe.bst
- freedesktop-sdk.bst:components/shim-maybe.bst
- freedesktop-sdk.bst:components/sof-firmware.bst
- freedesktop-sdk.bst:components/steam-devices.bst
- freedesktop-sdk.bst:components/strace.bst
- freedesktop-sdk.bst:components/tpm2-tss.bst
- freedesktop-sdk.bst:components/vulkan-headers.bst
- freedesktop-sdk.bst:components/vulkan-icd-loader.bst
- freedesktop-sdk.bst:components/wget2.bst
- freedesktop-sdk.bst:components/wireplumber.bst
- freedesktop-sdk.bst:components/xdg-user-dirs.bst
- freedesktop-sdk.bst:components/xfsprogs.bst
- freedesktop-sdk.bst:components/xwayland.bst
- freedesktop-sdk.bst:components/xz.bst
- freedesktop-sdk.bst:components/zip.bst
- freedesktop-sdk.bst:extensions/platform-vaapi-intel/intel-media-driver.bst
- freedesktop-sdk.bst:extensions/vainfo/libva-utils.bst
- gnome-build-meta.bst:boards/common/alsa-utils.bst
- gnome-build-meta.bst:boards/common/iw.bst
- gnome-build-meta.bst:core-deps/dnsmasq.bst
- gnome-build-meta.bst:core-deps/espeak-ng.bst
- gnome-build-meta.bst:core-deps/sane-backends.bst
# - gnome-build-meta.bst:core-deps/system-config-printer.bst
- gnome-build-meta.bst:gnomeos-deps/android-udev-rules.bst
- gnome-build-meta.bst:gnomeos-deps/distrobox.bst
# - gnome-build-meta.bst:gnomeos-deps/fprintd.bst
- gnome-build-meta.bst:gnomeos-deps/intel-ucode.bst
- gnome-build-meta.bst:gnomeos-deps/mokutil.bst
- gnome-build-meta.bst:gnomeos-deps/noto-cjk.bst
- gnome-build-meta.bst:gnomeos-deps/nss-mdns.bst
- gnome-build-meta.bst:gnomeos-deps/nvme-cli.bst
- gnome-build-meta.bst:gnomeos-deps/spice-vdagent.bst
- gnome-build-meta.bst:gnomeos-deps/swtpm.bst
- gnome-build-meta.bst:gnomeos-deps/toolbox.bst
- gnome-build-meta.bst:gnomeos-deps/virtiofsd.bst
- gnome-build-meta.bst:gnomeos-deps/wl-clipboard.bst
- gnome-build-meta.bst:gnomeos-deps/words.bst
- gnome-build-meta.bst:gnomeos-deps/zram-generator.bst
- gnome-build-meta.bst:sdk-deps/sassc.bst
- components/powertop.bst
- components/samba.bst
- components/plasma-login-manager.bst
- components/plasma-discover.bst
- components/kdeplasma-addons.bst
- components/kpmcore.bst # needed by calamares
- components/polkit-kde-agent.bst
- components/ydotool.bst
- components/kmscon.bst
- org.kde.plasma.desktop.bst
# KDE Linux needs GCC and such installed so that it can build calamares
- components/yamlcpp.bst
- os/os-release.bst
- os/deps-core.bst
- os/deps-middleware.bst
- os/deps-kde.bst
- os/deps-apps.bst
- os/deps-cli.bst