# Generated using the scripts at https://pagure.io/fedora-cosmic/cosmic-packaging/blob/main/f/scripts
ExcludeArch: %{ix86}
# Generated by rust2rpm 26
%bcond_without check


%global commit fca3b25552deca3bd64de8bfd1ebb38c45e4fb39
%global shortcommit %{sub %{commit} 1 7}
%global commitdatestring 2024-10-18 19:16:17 +0200
%global commitdate 20241018
%global cosmic_minver 1.2.3

Name:           pop-launcher
Version:        1.2.3^git%{commitdate}.%{shortcommit}
Release:        %autorelease
Summary:        Modular IPC-based desktop launcher service

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

URL:            https://github.com/pop-os/launcher

Source0:        https://github.com/pop-os/launcher/archive/%{commit}/launcher-%{shortcommit}.tar.gz
# To create the below sources:
# * git clone https://github.com/pop-os/launcher 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

# See: https://github.com/pop-os/launcher/pull/242
Patch0: https://patch-diff.githubusercontent.com/raw/pop-os/launcher/pull/242.patch

BuildRequires:  cargo-rpm-macros >= 25
BuildRequires:  rustc
BuildRequires:  lld
BuildRequires:  cargo
BuildRequires:  mesa-libEGL-devel
BuildRequires:  libxkbcommon-devel
BuildRequires:  just

Requires:       qalculate
Requires:       fd-find

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

%description %{_description}

%prep
%autosetup -n launcher-%{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}"
export POP_LAUNCHER_LIB_DIR=/usr/libexec/pop-launcher
just build-release --offline --frozen
%{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}"
just rootdir=%{buildroot} lib-path=libexec install

%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 plugins/COPYING
%license LICENSE.dependencies
%license cargo-vendor.txt
%doc README.md
%{_bindir}/pop-launcher
%dir %{_prefix}/libexec/pop-launcher
%{_prefix}/libexec/pop-launcher/*

%changelog
%autochangelog