ExcludeArch: %{ix86} # Generated by rust2rpm 26 %bcond_without check %global commit 6a1b8b9ad0563693136872809dac2a30fb7d633f %global shortcommit %{sub %{commit} 1 7} %global commitdatestring 2024-08-14 22:58:59 +0200 %global commitdate 20240814 Name: pop-launcher Version: 1.2.3^git%{commitdate}.%{shortcommit} Release: %autorelease Summary: Modular IPC-based desktop launcher service License: Apache-2.0 WITH LLVM-exception AND ISC AND (MIT OR Apache-2.0 OR Zlib) AND MIT AND GPL-3.0-only AND Apache-2.0 AND (MIT OR Zlib OR Apache-2.0) AND (MIT OR Apache-2.0) AND (Unlicense OR MIT) AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR MIT) AND MPL-2.0 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 WITH LLVM-exception OR Apache-2.0 OR MIT) AND Zlib AND BSD-3-Clause AND (Zlib OR Apache-2.0 OR MIT) AND 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 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}" 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} 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}/lib/pop-launcher %{_prefix}/lib/pop-launcher/* %changelog %autochangelog