# RPMBuild actually generates alot of requirements that we do not actually use and doesn't actually exist. So we have to disable it. Weird .NET issue. # We will provide what we have but not require all the weird stuff. # exclude everything in /opt/osu/ with regex %global __requires_exclude_from ^/opt/osu/.*$ %define debug_package %{nil} %global __os_install_post %{nil} Name: osu Version: 2024.731.0 Release: 3%{?dist} Summary: A free-to-win rhythm game. License: MIT URL: https://osu.ppy.sh/ Source0: https://github.com/ppy/osu/archive/refs/tags/%{version}.tar.gz Source1: osu.desktop Source2: osu.sh Source3: osu.xml BuildRequires: dotnet-sdk-8.0 BuildRequires: libappstream-glib Requires: aspnetcore-runtime-8.0 %description osu! is a free-to-play rhythm game inspired by Osu! Tatakae! Ouendan. This is the new experimental release of osu! called osu!lazer which is rewritten from the ground up using .NET 5.0. %prep %setup -q -n %{name}-%{version} %build DOTNET_CLI_TELEMETRY_OPTOUT="1" dotnet publish osu.Desktop \ --framework net8.0 \ --configuration Release \ --use-current-runtime \ --no-self-contained \ --output output \ /property:Version="%{version}" %install mkdir -p %{buildroot}/opt/osu cp -r output/* %{buildroot}/opt/osu install -Dm644 %{SOURCE1} %{buildroot}/usr/share/applications/osu.desktop install -Dm755 %{SOURCE2} %{buildroot}/usr/bin/osu install -Dm644 %{SOURCE3} %{buildroot}/usr/share/mime/packages/osu.xml install -Dm644 assets/lazer-nuget.png %{buildroot}/usr/share/icons/hicolor/128x128/apps/osu.png install -Dm644 assets/lazer.png %{buildroot}/usr/share/icons/hicolor/1024x1024/apps/osu.png install -Dm644 LICENCE %{buildroot}/usr/share/licenses/osu/LICENCE %files /opt/osu /usr/bin/osu /usr/share/applications/osu.desktop /usr/share/mime/packages/osu.xml /usr/share/icons/hicolor/128x128/apps/osu.png /usr/share/icons/hicolor/1024x1024/apps/osu.png /usr/share/licenses/osu/LICENCE %changelog %autochangelog