fastfetch/fastfetch.spec
2024-12-18 10:25:02 +00:00

141 lines
3.5 KiB
RPMSpec

%define secscan 0
Name: fastfetch
Version: 2.32.1
Release: 1
Summary: Like neofetch, but much faster because written in c
Group: Development/Other
License: MIT
URL: https://github.com/fastfetch-cli/fastfetch
Source0: %{url}/archive/%{version}.tar.gz?/%{name}-%{version}.tar.gz
BuildRequires: cmake
BuildRequires: pkgconfig(libpci)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(xcb)
BuildRequires: pkgconfig(xrandr)
BuildRequires: pkgconfig(dconf)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(sqlite3)
BuildRequires: pkgconfig(ImageMagick)
BuildRequires: pkgconfig(zlib)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libglvnd)
BuildRequires: pkgconfig(libpulse)
BuildRequires: pkgconfig(libnm)
BuildRequires: pkgconfig(osmesa)
# In contrib repo, so lets disable it for now
#BuildRequires: pkgconfig(libxfconf-0)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(ocl-icd)
BuildRequires: pkgconfig(rpm)
#BuildRequires: pkgconfig(ddcutil)
BuildRequires: pkgconfig(vulkan)
#BuildRequires: pkgconfig(chafa)
BuildRequires: pkgconfig(gl)
BuildRequires: pkgconfig(openssl3.3)
BuildRequires: python38-devel
Recommends: %{_lib}drm2
Recommends: pciutils
Recommends: %{_lib}xcb1
Recommends: lib64xrandr2
Recommends: dconf
Recommends: sqlite-tools
Recommends: lib64z1
Recommends: lib64GLX0
Recommends: imagemagick
Recommends: glib2
Recommends: lib64opencl1
Recommends: chafa
Recommends: ddcutil
%if %{secscan}
BuildRequires: clamav
BuildRequires: clamav-db
BuildRequires: trivy
%endif
%description
fastfetch is a neofetch-like tool for fetching system information and
displaying them in a pretty way. It is written in c to achieve much better
performance, in return only Linux and Android are supported. It also uses
mechanisms like multithreading and caching to finish as fast as possible.
%package bash-completion
Summary: Bash completion files for %{name}
Requires: bash-completion
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description bash-completion
%{summary}
%package fish-completion
Summary: Fish completion files for %{name}
# as Fish is currently in contrib repository, let's make only soft dependency on it.
Recommends: fish
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description fish-completion
%{summary}
%package zsh-completion
Summary: zsh completion files for %{name}
# as Fish is currently in contrib repository, let's make only soft dependency on it.
Recommends: zsh
Requires: %{name} = %{version}-%{release}
BuildArch: noarch
%description zsh-completion
%{summary}
%prep
%setup -q
%if %{secscan}
clamscan -ir .
trivy fs --scanners vuln --format cosign-vuln .
%endif
%build
/usr/libexec/python3.8 -m venv .
. bin/activate
%cmake \
%if %{mdvver} <= 201610
-DENABLE_RPM=OFF \
%endif
-DCMAKE_BUILD_TYPE=Release
%make_build
#install -Dm644 completions/fish %{buildroot}/usr/share/fish/completions/fastfetch.fish
%install
%make_install -C build
rm -rf %{buildroot}%{_datadir}/licenses/fastfetch/LICENSE
%files
%doc README.md LICENSE
%{_bindir}/%{name}
%{_bindir}/flashfetch
%{_datadir}/%{name}/
%{_mandir}/man1/fastfetch.1.*
%files bash-completion
%{_datadir}/bash-completion/completions/%{name}
%files fish-completion
%{_datadir}/fish/vendor_completions.d/fastfetch.fish
%files zsh-completion
%{_datadir}/zsh/site-functions/_fastfetch
%check
%if %{secscan}
clamscan -ir %{buildroot}
%endif