## START: Set by rpmautospec ## (rpmautospec version 0.8.4) ## RPMAUTOSPEC: autorelease, autochangelog %define autorelease(e:s:pb:n) %{?-p:0.}%{lua: release_number = 1; base_release_number = tonumber(rpm.expand("%{?-b*}%{!?-b:1}")); print(release_number + base_release_number - 1); }%{?-e:.%{-e*}}%{?-s:.%{-s*}}%{!?-n:%{?dist}} ## END: Set by rpmautospec # Generated by go2rpm 1.19.0 %bcond check 1 # https://github.com/c-premus/retrosaver %global goipath github.com/c-premus/retrosaver Version: 0.3.0 %gometa -L -f Name: retrosaver Release: %autorelease Summary: Retro XScreenSaver display modules for GNOME on Wayland # Generated by go-vendor-tools License: BSD-2-Clause AND BSD-3-Clause AND MIT URL: %{gourl} Source0: %{gosource} # Generated by go-vendor-tools; `go_vendor_archive create retrosaver.spec`, # run by .copr/Makefile when the SRPM is built. Source1: %{archivename}-vendor.tar.bz2 Source2: go-vendor-tools.toml BuildRequires: go-vendor-tools BuildRequires: systemd-rpm-macros # Fedora's split of upstream's Debian Depends. atlantis is in -gl-extras, # flame and ifs in -extras. These pull in xscreensaver-base and with it the # daemon upstream's .deb Conflicts with; it stays inert here because its # autostart entry is OnlyShowIn=X-NODEFAULT. Requires: xscreensaver-extras Requires: xscreensaver-gl-extras Requires: unclutter-xfixes %description Brings back late-1990s XScreenSaver display modules (fractals, the atlantis fish tank, flying toasters, spinning pipes) on GNOME desktops running Wayland, where the traditional screensaver daemon no longer functions. Reuses the display modules Fedora already packages and supplies only the idle trigger GNOME dropped. Run `retrosaver setup` once per user after installing. %prep %goprep -p1 tar -xf %{S:1} %generate_buildrequires %go_vendor_license_buildrequires -c %{S:2} %build %global gomodulesmode GO111MODULE=on export GO_LDFLAGS="-X main.version=%{version}" %gobuild -o %{gobuilddir}/bin/retrosaver %{goipath}/cmd/retrosaver %install %go_vendor_license_install -c %{S:2} install -m 0755 -vd %{buildroot}%{_bindir} install -m 0755 -vp %{gobuilddir}/bin/retrosaver %{buildroot}%{_bindir}/ install -m 0644 -vDp systemd/retrosaver.service %{buildroot}%{_userunitdir}/retrosaver.service install -m 0644 -vDp docs/retrosaver.1 %{buildroot}%{_mandir}/man1/retrosaver.1 install -m 0644 -vDp config/retrosaver.conf.example \ %{buildroot}%{_datadir}/retrosaver/retrosaver.conf.example %check %go_vendor_license_check -c %{S:2} %if %{with check} %gocheck2 %endif # Preset-driven, and Fedora's user presets end in `disable *`, so install never # enables the unit: that and taking over idle-delay stay `retrosaver setup`'s # job, per user. %post %systemd_user_post retrosaver.service # Runs `disable --now` in every running user manager while the binary still # exists, so ExecStopPost=retrosaver stop can hand idle-delay back to GNOME. # Without it, removal deletes the binary under a running daemon and the # session is left with idle-delay 0: no auto-lock at all. %preun %systemd_user_preun retrosaver.service # Restarts only a daemon that is already running, so an upgrade never leaves # the old binary in place. %postun %systemd_user_postun_with_restart retrosaver.service %files -f %{go_vendor_license_filelist} %doc README.md CHANGELOG.md %{_bindir}/retrosaver %{_userunitdir}/retrosaver.service %{_mandir}/man1/retrosaver.1* %{_datadir}/retrosaver/ %changelog ## START: Generated by rpmautospec * Thu Oct 01 2026 Christof Damian - 0.3.0-1 - Bump retrosaver to 0.3.0 * Wed Sep 30 2026 Christof Damian - 0.2.4-1 - Bump retrosaver to 0.2.4 * Thu Sep 24 2026 Renovate Bot - 0.2.3-8 - Update https://code.forgejo.org/actions/checkout action to v7 * Thu Sep 24 2026 Christof Damian - 0.2.3-7 - Restore dynamic BuildRequires step in CI * Thu Sep 24 2026 Christof Damian - 0.2.3-6 - Track upstream tags with git-tags, no GitHub token needed * Thu Sep 24 2026 Christof Damian - 0.2.3-5 - Fix SRPM build on COPR: install go-vendor-tools+all * Thu Sep 24 2026 Christof Damian - 0.2.3-4 - Add Forgejo CI building and linting the package * Thu Sep 24 2026 Christof Damian - 0.2.3-3 - Follow Fedora Go and scriptlet guidelines - Set the version via GO_LDFLAGS; the Go guidelines forbid $LDFLAGS. - Run tests with %%gocheck2 instead of %%gotest. - Add %%systemd_user_post and %%systemd_user_preun. The preun is a fix, not just compliance: it stops the daemon in running sessions while the binary still exists, so its ExecStopPost can hand idle-delay back to GNOME. Without it, removal left sessions with no auto-lock. - Add retrosaver.rpmlintrc for three false positives, each explained. - Document how Source1 is generated, as fedora-review asks. * Thu Sep 24 2026 Christof Damian - 0.2.3-2 - Add README, MIT license and Renovate version bumps * Thu Sep 24 2026 Christof Damian - 0.2.3-1 - Add retrosaver 0.2.3 spec for COPR ## END: Generated by rpmautospec