# 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 crate cosmic-session %global commit 0a3b9f5376a089b0aeb6432a663b0adc17c48746 %global shortcommit %{sub %{commit} 1 7} %global commitdatestring 2024-12-17 16:31:56 -0500 %global commitdate 20241217 %global cosmic_minver 1.0.0~alpha.4 Name: cosmic-session Version: 1.0.0~alpha.4^git%{commitdate}.%{shortcommit} Release: %autorelease Summary: Session manager for the COSMIC desktop environment 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 BSD-3-Clause) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 OR MIT OR Zlib) AND BSD-3-Clause AND GPL-3.0-only AND MIT AND (MIT OR Unlicense) AND MPL-2.0 AND Zlib URL: https://github.com/pop-os/cosmic-session Source0: https://github.com/pop-os/cosmic-session/archive/%{commit}/cosmic-session-%{shortcommit}.tar.gz # To create the below sources: # * git clone https://github.com/pop-os/cosmic-session 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 # COSMIC's dconf profile Source3: cosmic-dconf-profile.txt # Fixes cursor themes in COSMIC # See: https://github.com/pop-os/cosmic-session/pull/87 Patch0: https://patch-diff.githubusercontent.com/raw/pop-os/cosmic-session/pull/87.patch BuildRequires: cargo-rpm-macros >= 26 BuildRequires: rustc BuildRequires: lld BuildRequires: cargo BuildRequires: just BuildRequires: desktop-file-utils BuildRequires: systemd-rpm-macros Requires: cosmic-app-library >= %{cosmic_minver} Requires: cosmic-applets >= %{cosmic_minver} Requires: cosmic-bg >= %{cosmic_minver} Requires: cosmic-comp >= %{cosmic_minver} Requires: cosmic-files >= %{cosmic_minver} Requires: cosmic-greeter >= %{cosmic_minver} Requires: cosmic-icons >= %{cosmic_minver} Requires: cosmic-idle >= %{cosmic_minver} Requires: cosmic-launcher >= %{cosmic_minver} Requires: cosmic-notifications >= %{cosmic_minver} Requires: cosmic-osd >= %{cosmic_minver} Requires: cosmic-panel >= %{cosmic_minver} Requires: cosmic-randr >= %{cosmic_minver} Requires: cosmic-screenshot >= %{cosmic_minver} Requires: cosmic-settings >= %{cosmic_minver} Requires: cosmic-settings-daemon >= %{cosmic_minver} Requires: cosmic-workspaces >= %{cosmic_minver} Requires: xdg-desktop-portal-cosmic >= %{cosmic_minver} Requires: mozilla-fira-mono-fonts Requires: mozilla-fira-sans-fonts Requires: xorg-x11-server-Xwayland Recommends: cosmic-wallpapers >= %{cosmic_minver} # Include the distribution extra desktop configuration # while not a hard requirement, this ensures users have a fedora-like experience. Recommends: system-cosmic-config %global _description %{expand: The session manager for the COSMIC desktop environment.} %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}" %cargo_build %{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 install -Dm0644 %{SOURCE3} %{buildroot}/%{_datadir}/dconf/profile/cosmic %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.md %license LICENSE.dependencies %license cargo-vendor.txt %{_bindir}/cosmic-session %{_bindir}/start-cosmic %{_userunitdir}/cosmic-session.target %{_datadir}/wayland-sessions/cosmic.desktop %{_datadir}/applications/cosmic-mimeapps.list %{_datadir}/dconf/profile/cosmic %changelog %autochangelog