# This spec does not build WinBoat from source. Instead it repackages the # official prebuilt Linux rpm produced by the project's own build # (see the README: `bun i` && `bun run build:linux-gs`, which drops # dist/winboat--.rpm). We simply extract that rpm into the # build root and ship it, declaring the runtime dependencies explicitly since # the bundled Electron libraries would otherwise generate bogus requires. Name: winboat Version: 0.9.0 Release: 1%{?dist} Summary: Windows for Penguins - run Windows apps on Linux License: MIT URL: https://github.com/TibixDev/winboat # Source0 is only used to obtain the top-level LICENSE file for %%license. Source0: https://github.com/easton57/winboat/archive/refs/tags/%{version}.tar.gz # Prebuilt rpm produced by `bun run build:linux-gs` (artifactName # ${name}-${version}-${arch}.rpm). Must be supplied alongside this spec. %ifarch aarch64 %global upstream_arch aarch64 %endif %ifarch x86_64 %global upstream_arch x64 %endif Source1: winboat-%{version}-%{upstream_arch}.rpm # Bundled Electron runtime: disable automatic requirement generation (the # bundled .so files would otherwise generate bogus dependencies on system # libraries) and declare the real runtime libraries explicitly. AutoReq: no # Tools to extract the prebuilt rpm. BuildRequires: cpio BuildRequires: rpm-build Requires: alsa-lib Requires: at-spi2-atk Requires: at-spi2-core Requires: atk Requires: cairo Requires: cups-libs Requires: dbus-libs Requires: expat Requires: fontconfig Requires: freetype Requires: glib2 Requires: gtk3 Requires: libX11 Requires: libXcomposite Requires: libXcursor Requires: libXdamage Requires: libXext Requires: libXfixes Requires: libXi Requires: libXrandr Requires: libXrender Requires: libXScrnSaver Requires: libXtst Requires: libuuid Requires: libdrm Requires: libnotify Requires: libxcb Requires: mesa-libgbm Requires: nspr Requires: nss Requires: pango Requires: xdg-utils # WinBoat composites Windows apps as native windows via FreeRDP. Requires: freerdp # Indicate that we ship our own Electron copy. Provides: bundled(electron) = 43 ExclusiveArch: x86_64 aarch64 %description WinBoat is an Electron app that lets you run Windows applications on Linux using a containerized approach. Windows runs as a VM inside a Docker/Podman container and is reached through the WinBoat Guest Server; applications are composited as native OS-level windows using FreeRDP and the RemoteApp protocol. This package repackages the official upstream prebuilt Linux rpm. %prep %setup -q -n %{name}-%{version} %build # Nothing to compile - the prebuilt rpm is extracted during %%install. %install # Extract the prebuilt rpm (produced by `bun run build:linux-gs`) into the # build root, preserving file modes (including chrome-sandbox setuid). cd %{buildroot} rpm2cpio %{SOURCE1} | cpio -idm %files %license LICENSE /opt/WinBoat/ %{_datadir}/applications/winboat.desktop %{_datadir}/icons/hicolor/scalable/apps/winboat.svg %changelog * Wed Aug 26 2026 WinBoat Maintainers - 0.9.0-1 - Repackage upstream WinBoat 0.9.0 prebuilt Linux rpm.