# Disable build-id checks for SkiaSharp prebuilt libraries %global _build_id_links none %define debug_package %{nil} # Exclude unwanted automatic requirements (like missing lttng-ust in newer Fedora versions) %global __requires_exclude ^liblttng-ust\\.so\\.0.*$ Name: phonetolinuxdesktop Version: 1.0.8 Release: 1%{?dist} Summary: Desktop client for PhoneToLinux integration License: GPL-3.0-only URL: https://github.com/ihusky02/phonetolinuxdesktop Source0: %{url}/archive/refs/tags/v%{version}.tar.gz BuildRequires: dotnet-sdk-10.0 # System runtime & GUI dependencies required by Avalonia UI / SkiaSharp on Linux Requires: dotnet-runtime-10.0 Requires: fontconfig Requires: libX11 Requires: mesa-libGL Requires: libICE Requires: libSM %description An Avalonia UI and .NET 10 desktop application for integrating and synchronizing calls, messages, and phone notifications directly with your Linux desktop. %prep %autosetup -p1 %build # Dynamically match the .NET RID based on the RPM build architecture case "%{_arch}" in x86_64) dotnet_rid="linux-x64" ;; aarch64) dotnet_rid="linux-arm64" ;; armv7hl) dotnet_rid="linux-arm" ;; *) dotnet_rid="linux-%{_arch}" ;; esac # Restore packages with architecture mapping and publish application dotnet restore -r $dotnet_rid dotnet publish -c Release -r $dotnet_rid --self-contained true --no-restore -o out/ %install # Create target system directory structure mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}%{_datadir}/%{name} mkdir -p %{buildroot}%{_datadir}/applications mkdir -p %{buildroot}%{_datadir}/icons/hicolor/512x512/apps mkdir -p %{buildroot}%{_datadir}/metainfo # Copy published binaries to the application directory cp -r out/* %{buildroot}%{_datadir}/%{name}/ # Dynamically determine the matching .NET RID for the target architecture case "%{_arch}" in x86_64) keep_rid="linux-x64" ;; aarch64) keep_rid="linux-arm64" ;; armv7hl) keep_rid="linux-arm" ;; *) keep_rid="linux-%{_arch}" ;; esac # Remove unused multi-platform runtimes to prevent bogus RPM automatic requirements if [ -d "%{buildroot}%{_datadir}/%{name}/runtimes" ]; then for d in %{buildroot}%{_datadir}/%{name}/runtimes/*; do if [ -d "$d" ]; then dirname=$(basename "$d") if [ "$dirname" != "$keep_rid" ]; then rm -rf "$d" fi fi done fi rm -rf %{buildroot}%{_datadir}/%{name}/runtimes/osx rm -rf %{buildroot}%{_datadir}/%{name}/runtimes/win-* # Create a relative executable symlink in /usr/bin (fixing the absolute symlink warning) ln -s ../share/%{name}/phonetolinux %{buildroot}%{_bindir}/phonetolinuxdesktop # Copy system desktop entry, PNG icon, and AppStream metainfo cp phonetolinuxdesktop.desktop %{buildroot}%{_datadir}/applications/ cp Assets/icon.png %{buildroot}%{_datadir}/icons/hicolor/512x512/apps/phonetolinuxdesktop.png cp io.github.stanislawtlolka.phonetolinuxdesktop.metainfo.xml %{buildroot}%{_datadir}/metainfo/ %files %{_bindir}/phonetolinuxdesktop %{_datadir}/%{name}/ %{_datadir}/applications/phonetolinuxdesktop.desktop %{_datadir}/icons/hicolor/512x512/apps/phonetolinuxdesktop.png %{_datadir}/metainfo/io.github.stanislawtlolka.phonetolinuxdesktop.metainfo.xml %changelog * Wed Oct 07 2026 Stanisław Tłołka - 1.0.8-1 - Fixed RPM transaction error by filtering out multi-platform native runtimes during packaging. - Fully transitioned to .NET 10 runtime and SDK. * Fri Oct 02 2026 Stanisław Tłołka - 1.0.7-1 - Added dynamic contact search and keyboard autocomplete in the contacts view. - Integrated Fedora AppStream metainfo for software center support. * Wed Sep 30 2026 Stanisław Tłołka - 1.0.6-1 - Fixed real-time chat message delivery with robust phone number normalization and background polling. - Added automatic scrolling to the latest message in the chat window. * Mon Sep 28 2026 Stanisław Tłołka - 1.0.5-1 - Integrated full emoji database (emoji.json) and dynamic Twemoji CDN caching with text fallback. * Sat Sep 26 2026 Stanisław Tłołka - 1.0.4-1 - Improved application stability and performance. - Added modern vector icons for chat window, address book, and settings navigation. * Fri Sep 25 2026 Stanisław Tłołka - 1.0.3-1 - Clean rebuild setup with online NuGet restore, filtered lttng-ust dependency, and added graphics/font system requirements.