ExcludeArch: %{ix86}
# Generated by rust2rpm 26
%bcond_with check


%global debug_package %{nil}
%global _enable_debug_packages 0


%global crate cosmic-osd


%global commit 27fc5e5ba4bbed119a1fc85f840db0ade13dde85
%global shortcommit 27fc5e5
%global commitdatestring 2024-07-15 08:05:22 -0600
%global commitdate 20240715

Name:           cosmic-osd
Version:        1.0.0~alpha.2
Release:        %autorelease
Summary:        OSDs for the COSMIC Desktop Environment

License:        (0BSD OR MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR Zlib) AND MPL-2.0 AND BSD-3-Clause AND MIT AND ISC AND Unicode-3.0 AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Unlicense OR MIT) AND (MIT OR Apache-2.0) AND Zlib AND (Apache-2.0 OR BSL-1.0) AND BSL-1.0 AND GPL-3.0-or-later AND (MIT OR Zlib OR Apache-2.0) AND (MIT OR Apache-2.0 OR CC0-1.0) AND Apache-2.0 AND CC0-1.0 AND (Zlib OR Apache-2.0 OR MIT) AND BSD-2-Clause AND (Apache-2.0 OR MIT)

URL:            https://github.com/pop-os/cosmic-osd

Source0:        https://github.com/pop-os/cosmic-osd/archive/%{commit}/cosmic-osd-%{shortcommit}.tar.gz
# To create the below sources:
# * git clone https://github.com/pop-os/cosmic-osd at the specified commit
# * cargo vendor > vendor-config-%%{shortcommit}.toml
# * tar -pczf vendor-%%{shortcommit}.tar.gz vendor
Source1:        vendor-%{shortcommit}.tar.gz
# * mv vendor-config-%%{shortcommit}.toml ..
Source2:        vendor-config-%{shortcommit}.toml

BuildRequires:  cargo-rpm-macros >= 26
BuildRequires:  rustc
BuildRequires:  lld
BuildRequires:  cargo
BuildRequires:  wayland-devel
BuildRequires:  libxkbcommon-devel
BuildRequires:  systemd-devel
BuildRequires:  pulseaudio-libs-devel
BuildRequires:  make

%global _description %{expand:
%{summary}.}

%description %{_description}

%prep
%autosetup -n %{crate}-%{commit} -p1 -a1
%cargo_prep -N
# Check if .cargo/config.toml exists
if [ -f .cargo/config.toml ]; then
  # If it exists, append the contents of %%{SOURCE2} to .cargo/config.toml
  cat %{SOURCE2} >> .cargo/config.toml
  echo "Appended %{SOURCE2} to .cargo/config.toml"
else
  # If it does not exist, append the contents of %%{SOURCE2} to .cargo/config
  cat %{SOURCE2} >> .cargo/config
  echo "Appended %{SOURCE2} to .cargo/config"
fi

%build
# Set vergen environment variables
export VERGEN_GIT_COMMIT_DATE="date --utc '%{commitdatestring}'"
export VERGEN_GIT_SHA="%{commit}"
make all polkit-agent-helper-1=/usr/lib/polkit-1/polkit-agent-helper-1
%{cargo_license_summary}
%{cargo_license} > LICENSE.dependencies
%{cargo_vendor_manifest}
sed 's/\(.*\) (.*#\(.*\))/\1+git\2/' -i cargo-vendor.txt

%install
# Set vergen environment variables
export VERGEN_GIT_COMMIT_DATE="date --utc '%{commitdatestring}'"
export VERGEN_GIT_SHA="%{commit}"
make install DESTDIR=%{buildroot} prefix=%{_prefix}

%if %{with check}
%check
# Set vergen environment variables
export VERGEN_GIT_COMMIT_DATE="date --utc '%{commitdatestring}'"
export VERGEN_GIT_SHA="%{commit}"
%cargo_test
%endif

%files
%license LICENSE
%license LICENSE.dependencies
%license cargo-vendor.txt
%{_bindir}/cosmic-osd

%changelog
%autochangelog