ExcludeArch: %{ix86} # Generated by rust2rpm 26 %bcond_without check %global commit 8e19b3f7915398619799cb6d78183b93007dd3ef %global shortcommit %{sub %{commit} 1 7} %global commitdatestring 2024-09-27 11:08:54 -0600 %global commitdate 20240927 %global cosmic_minver 1.0.0~alpha.2 Name: cosmic-greeter Version: 1.0.0~alpha.2^git%{commitdate}.%{shortcommit} Release: %autorelease # Release: %%autorelease Summary: Login and display 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 BSL-1.0) AND (Apache-2.0 OR CC0-1.0 OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 OR MIT OR Zlib) AND BSD-2-Clause AND BSD-3-Clause AND BSL-1.0 AND CC-PDDC AND CC0-1.0 AND GPL-3.0-only AND ISC AND MIT AND (MIT OR Unlicense) AND MPL-2.0 AND Unicode-3.0 AND Zlib URL: https://github.com/pop-os/cosmic-greeter Source0: https://github.com/pop-os/cosmic-greeter/archive/%{commit}/cosmic-greeter-%{shortcommit}.tar.gz # To create the below sources: # * git clone https://github.com/pop-os/cosmic-greeter 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 Patch: service.patch Patch: include-greetd.patch BuildRequires: cargo-rpm-macros >= 25 BuildRequires: rustc BuildRequires: lld BuildRequires: cargo BuildRequires: wayland-devel BuildRequires: clang-devel BuildRequires: libxkbcommon-devel BuildRequires: pam-devel BuildRequires: just BuildRequires: libudev-devel BuildRequires: libinput-devel BuildRequires: systemd-rpm-macros %{?sysusers_requires_compat} Requires: dbus Requires: greetd Requires: greetd-selinux # fprintd-pam is required to start sessions (unclear why) Requires: fprintd-pam Requires: pam Requires: cosmic-comp >= %{cosmic_minver} Requires: cosmic-icon-theme >= %{cosmic_minver} %global _description %{expand: %{summary}.} %description %{_description} %prep %autosetup -n cosmic-greeter-%{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 --release --all --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}" install -Dm0755 target/release/cosmic-greeter %{buildroot}/%{_bindir}/cosmic-greeter install -Dm0755 target/release/cosmic-greeter-daemon %{buildroot}/%{_bindir}/cosmic-greeter-daemon install -Dm0644 dbus/com.system76.CosmicGreeter.conf %{buildroot}/%{_datadir}/dbus-1/system.d/com.system76.CosmicGreeter.conf install -Dm0644 debian/cosmic-greeter.sysusers %{buildroot}/%{_sysusersdir}/cosmic-greeter.conf install -Dm0644 debian/cosmic-greeter.tmpfiles %{buildroot}/%{_tmpfilesdir}/cosmic-greeter.conf install -Dm0644 cosmic-greeter.toml %{buildroot}/%{_sysconfdir}/greetd/cosmic-greeter.toml install -Dm0644 debian/cosmic-greeter.service %{buildroot}/%{_unitdir}/cosmic-greeter.service install -Dm0644 debian/cosmic-greeter-daemon.service %{buildroot}/%{_unitdir}/cosmic-greeter-daemon.service install -Dm0644 debian/greetd.pam %{buildroot}/%{_sysconfdir}/pam.d/cosmic-greeter # TODO: In greetd patch, make sure gnome-keyring is unlocked %if %{with check} %check # Set vergen environment variables export VERGEN_GIT_COMMIT_DATE="date --utc '%{commitdatestring}'" export VERGEN_GIT_SHA="%{commit}" %cargo_test %endif %pre %sysusers_create_compat debian/cosmic-greeter.sysusers %post %systemd_post cosmic-greeter.service %systemd_post cosmic-greeter-daemon.service %preun %systemd_preun cosmic-greeter.service %systemd_preun cosmic-greeter-daemon.service %postun %systemd_postun cosmic-greeter.service %systemd_postun cosmic-greeter-daemon.service %files %license LICENSE %license LICENSE.dependencies %license cargo-vendor.txt %doc README.md %{_bindir}/cosmic-greeter %{_bindir}/cosmic-greeter-daemon %{_datadir}/dbus-1/system.d/com.system76.CosmicGreeter.conf %{_sysusersdir}/cosmic-greeter.conf %{_tmpfilesdir}/cosmic-greeter.conf %{_sysconfdir}/greetd/cosmic-greeter.toml %{_unitdir}/cosmic-greeter.service %{_unitdir}/cosmic-greeter-daemon.service %{_sysconfdir}/pam.d/cosmic-greeter %changelog %autochangelog