%global debug_package %{nil} Name: rakuos-welcome Version: 1.0.0 Release: 1%{?dist} Summary: RakuOS Welcome App License: GPL-3.0-or-later URL: https://rakuos.org Source0: https://gitlab.com/rakuos/apps/%{name}/-/archive/main/%{name}-main.tar.gz BuildRequires: rust BuildRequires: cargo BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: pkgconf BuildRequires: gtk4-devel BuildRequires: libadwaita-devel BuildRequires: qt6-qtbase-devel BuildRequires: qt6-qtdeclarative-devel BuildRequires: wayland-devel BuildRequires: libxkbcommon-devel BuildRequires: mesa-libGL-devel BuildRequires: fontconfig-devel BuildRequires: dbus-devel BuildRequires: gettext-devel BuildRequires: systemd-devel BuildRequires: libinput-devel BuildRequires: xkeyboard-config %description RakuOS Welcome is a first-login welcome application for RakuOS Linux. It provides a guided setup experience across GNOME, KDE Plasma, and COSMIC desktop environments. # ── Subpackages ─────────────────────────────────────────────────────────────── %package gtk Summary: RakuOS Welcome App — GTK4/GNOME frontend Requires: rakuos-welcome = %{version}-%{release} Requires: gtk4 Requires: libadwaita Requires: xkeyboard-config Requires: polkit %description gtk GTK4/libadwaita frontend for the RakuOS Welcome app. Provides language, keyboard layout, timezone, and app-selection setup pages. Install on GNOME-based RakuOS images. %package qt Summary: RakuOS Welcome App — Qt6/KDE frontend Requires: rakuos-welcome = %{version}-%{release} Requires: qt6-qtbase Requires: qt6-qtdeclarative Requires: xkeyboard-config Requires: polkit %description qt Qt6/QML frontend for the RakuOS Welcome app. Provides language, keyboard layout, timezone, and app-selection setup pages. Install on KDE Plasma-based RakuOS images. %package cosmic Summary: RakuOS Welcome App — COSMIC frontend Requires: rakuos-welcome = %{version}-%{release} Requires: xkeyboard-config Requires: polkit Provides: cosmic-initial-setup = 9999 Obsoletes: cosmic-initial-setup < 9999 Conflicts: cosmic-initial-setup %description cosmic libcosmic/iced frontend for the RakuOS Welcome app. All resources (i18n strings, theme previews, city/timezone data) are embedded directly in the binary at compile time. Install on COSMIC-based RakuOS images. Provides cosmic-initial-setup to prevent the upstream package from being pulled in by cosmic-session. # ── Build ───────────────────────────────────────────────────────────────────── %prep %autosetup -n %{name}-main %build cargo build --locked --release --bin rakuos-welcome-gtk QMAKE=qmake6 cargo build --locked --release --bin rakuos-welcome-qt cargo build --locked --release --bin rakuos-welcome-cosmic # ── Install ─────────────────────────────────────────────────────────────────── %install # ── Common resources ────────────────────────────────────────────────────────── install -Dm755 data/rakuos-welcome \ %{buildroot}%{_bindir}/rakuos-welcome install -Dm644 data/org.rakuos.Welcome.desktop \ %{buildroot}%{_datadir}/applications/org.rakuos.Welcome.desktop install -Dm644 data/rakuos-welcome-autostart.desktop \ %{buildroot}/etc/xdg/autostart/rakuos-welcome.desktop install -Dm644 data/apps.json \ %{buildroot}%{_datadir}/rakuos-welcome/apps.json install -d %{buildroot}%{_datadir}/rakuos-welcome/icons find data/icons -maxdepth 1 \( -name '*.png' -o -name '*.svg' \) \ -exec install -Dm644 {} %{buildroot}%{_datadir}/rakuos-welcome/icons/ \; 2>/dev/null || true # ── GTK frontend ────────────────────────────────────────────────────────────── install -Dm755 target/release/rakuos-welcome-gtk \ %{buildroot}%{_libexecdir}/rakuos/rakuos-welcome-gtk # ── Qt frontend ─────────────────────────────────────────────────────────────── install -Dm755 target/release/rakuos-welcome-qt \ %{buildroot}%{_libexecdir}/rakuos/rakuos-welcome-qt install -Dm644 crates/welcome-qt/qml/main.qml \ %{buildroot}%{_datadir}/rakuos-welcome-qt/main.qml # ── COSMIC frontend ─────────────────────────────────────────────────────────── install -Dm755 target/release/rakuos-welcome-cosmic \ %{buildroot}%{_libexecdir}/rakuos/rakuos-welcome-cosmic install -d %{buildroot}%{_datadir}/cosmic-layouts cp -a data/cosmic/cosmic-layouts/. %{buildroot}%{_datadir}/cosmic-layouts/ install -d %{buildroot}%{_datadir}/cosmic-themes cp -a data/cosmic/cosmic-themes/. %{buildroot}%{_datadir}/cosmic-themes/ # ── File lists ──────────────────────────────────────────────────────────────── %files %{_bindir}/rakuos-welcome %{_datadir}/applications/org.rakuos.Welcome.desktop /etc/xdg/autostart/rakuos-welcome.desktop %{_datadir}/rakuos-welcome/apps.json %{_datadir}/rakuos-welcome/icons/ %files gtk %{_libexecdir}/rakuos/rakuos-welcome-gtk %files qt %{_libexecdir}/rakuos/rakuos-welcome-qt %{_datadir}/rakuos-welcome-qt/main.qml %files cosmic %{_libexecdir}/rakuos/rakuos-welcome-cosmic %{_datadir}/cosmic-layouts/ %{_datadir}/cosmic-themes/ %changelog * %(date "+%%a %%b %%d %%Y") RakuOS Project - 1.0.0-1 - Initial Rust rewrite with GTK4, Qt6, and COSMIC frontends - Split into subpackages per DE: rakuos-welcome-gtk, -qt, -cosmic - All COSMIC resources compiled into binary (rust-embed / include_bytes!) - Language, keyboard layout, and timezone setup pages in GTK and Qt frontends - System-wide locale/keyboard/timezone apply via localectl and timedatectl