%global debug_package %{nil} %global forgeurl https://github.com/abenz1267/elephant %global go_toolchain go1.27.1 Name: elephant Version: 2.22.1 %forgemeta Release: 3%{?dist} Summary: Data provider service for Walker launcher License: GPL-3.0-or-later URL: %{forgeurl} Source0: %{forgesource} BuildRequires: golang >= 1.21 BuildRequires: gcc BuildRequires: make BuildRequires: git-core BuildRequires: protobuf-compiler BuildRequires: systemd-rpm-macros BuildRequires: wayland-devel BuildRequires: wayland-protocols-devel Requires: systemd %description Data provider service for Walker launcher with plugins for applications, clipboard history, and Bluetooth devices. %prep %autosetup -n %{name}-%{version} %build # Fedora 44's Go is older than upstream's go.mod requirement. Use one # pinned toolchain for the executable and every plugin (requires network). export GOTOOLCHAIN=%{go_toolchain} export GOFLAGS=-mod=readonly export CGO_ENABLED=1 # Build main binary cd cmd/elephant go build -buildvcs=false -trimpath -mod=readonly -o elephant cd ../.. # Build all provider plugins mkdir -p _build/providers for provider_dir in internal/providers/*/; do if [ -f "${provider_dir}/makefile" ]; then provider_name=$(basename "$provider_dir") echo "Building provider: $provider_name" (cd "$provider_dir" && make build) cp "${provider_dir}/${provider_name}.so" "_build/providers/" fi done %install # Install main binary install -Dm755 cmd/elephant/elephant %{buildroot}%{_bindir}/elephant # Install provider plugins mkdir -p %{buildroot}%{_sysconfdir}/xdg/elephant/providers install -Dm755 _build/providers/*.so %{buildroot}%{_sysconfdir}/xdg/elephant/providers/ %files %license LICENSE %doc README.md %{_bindir}/elephant %dir %{_sysconfdir}/xdg/elephant %dir %{_sysconfdir}/xdg/elephant/providers %{_sysconfdir}/xdg/elephant/providers/*.so %changelog * Tue Oct 27 2026 Washkinazy - 2.22.1-3 - Pin Go 1.27.1 for builds on Fedora 43 and 44 - Declare the C compiler and make required by provider plugins * Sun Oct 25 2026 Washkinazy - 2.22.0-2 - Require read-only Go module resolution * Fri Jul 17 2026 Automated Update - 2.22.0-1 - Update to 2.22.0 * Fri Apr 10 2026 Automated Update - 2.21.0-1 - Update to 2.21.0 * Sat Mar 28 2026 Automated Update - 2.20.3-1 - Update to 2.20.3 * Tue Mar 10 2026 Automated Update - 2.20.2-1 - Update to 2.20.2 * Sun Mar 08 2026 Automated Update - 2.20.0-1 - Update to 2.20.0 * Fri Feb 13 2026 Automated Update - 2.19.3-1 - Update to 2.19.3 * Fri Feb 06 2026 Automated Update - 2.19.2-1 - Update to 2.19.2 * Fri Jan 23 2026 Automated Update - 2.19.1-1 - Update to 2.19.1 * Thu Jan 22 2026 Automated Update - 2.19.0-1 - Update to 2.19.0 * Thu Jan 15 2026 Automated Update - 2.18.2-1 - Update to 2.18.2 * Sat Jan 10 2026 Automated Update - 2.18.1-1 - Update to 2.18.1 * Fri Jan 09 2026 Automated Update - 2.18.0-1 - Update to 2.18.0 * Mon Dec 15 2025 Automated Update - 2.17.2-1 - Update to 2.17.2 * Tue Dec 09 2025 Automated Update - 2.17.1-1 - Update to 2.17.1 * Sun Dec 07 2025 Automated Update - 2.17.0-1 - Update to 2.17.0 * Sat Nov 22 2025 Automated Update - 2.16.1-1 - Update to 2.16.1 * Wed Nov 19 2025 Automated Update - 2.16.0-1 - Update to 2.16.0 * Tue Nov 11 2025 Automated Update - 2.15.0-1 - Update to 2.15.0 * Sun Nov 09 2025 Automated Update - 2.14.4-1 - Update to 2.14.4 * Fri Nov 07 2025 Automated Update - 2.14.3-1 - Update to 2.14.3 * Sat Nov 01 2025 Automated Update - 2.10.4-1 - Update to 2.10.4 * Fri Oct 31 2025 Automated Update - 2.9.3-1 - Update to 2.9.3 * Wed Jan 08 2025 Manual Update - 2.10.4-1 - Temporary downgrade to 2.10.4 for Fedora 42 compatibility (Go 1.24.9) - Version 2.14.3+ requires Go 1.25.0+ * Sun Oct 27 2024 Your Name - 2.7.7-1 - Initial package for version 2.7.7