Blob Blame History Raw
%global forgeurl https://github.com/TheTumultuousUnicornOfDarkness/CPU-X
%global tag v%{version}
%global appid io.github.thetumultuousunicornofdarkness.%{name}

Name:           cpu-x
Version:        5.0.4
%forgemeta
Release:        %autorelease
Summary:        Free software that gathers information on CPU, motherboard and more

ExclusiveArch:  i686 x86_64

License:        GPL-3.0-or-later
URL:            https://thetumultuousunicornofdarkness.github.io/CPU-X/
Source0:        %{forgesource}

BuildRequires:  cmake >= 3.12
BuildRequires:  desktop-file-utils
BuildRequires:  gcc-c++
BuildRequires:  gettext-devel
BuildRequires:  libappstream-glib
BuildRequires:  nasm

BuildRequires:  pkgconfig(glfw3) >= 3.3
BuildRequires:  pkgconfig(gtkmm-3.0) >= 3.12.0
BuildRequires:  pkgconfig(json-c)
BuildRequires:  pkgconfig(libcpuid) >= 0.6.4  %dnl # Upstream recommends 0.6.5
BuildRequires:  pkgconfig(libcurl)
BuildRequires:  pkgconfig(libpci)
%if 0%{?fedora} >= 39
BuildRequires:  pkgconfig(libproc2)
%else
BuildRequires:  pkgconfig(libprocps)
%endif
BuildRequires:  pkgconfig(libstatgrab)
BuildRequires:  pkgconfig(ncursesw)
BuildRequires:  pkgconfig(OpenCL)
BuildRequires:  pkgconfig(vulkan)

Requires:       %{name}-data = %{version}-%{release}
Requires:       hicolor-icon-theme

Recommends:     polkit

# https://github.com/X0rg/CPU-X/issues/105
Provides:       bundled(bandwidth) = 1.5.1
Provides:       bundled(dmidecode) = 3.6


%global _description %{expand:
CPU-X is a Free software that gathers information on CPU, motherboard and
more. CPU-X is a system profiling and monitoring application (similar to CPU-Z
for Windows), but CPU-X is a Free and Open Source software designed for
GNU/Linux and FreeBSD. This software is written in C++ and built with CMake
tool. It can be used in graphical mode by using GTK or in text-based mode by
using NCurses. A dump mode is present from command line.}

%description %_description


%package        data
Summary:        Data files for %{name}
BuildArch:      noarch

Requires:       %{name} = %{version}-%{release}

%description    data %_description

Data files for %{name}.


%prep
%forgeautosetup -p1


%build
%cmake
%cmake_build


%install
%cmake_install
rm -r %{buildroot}%{_datadir}/icons/hicolor/384x384

# invalid-lc-messages-dir
rm -r %{buildroot}%{_datadir}/locale/zh_Hant/

%find_lang %{name}


%check
appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.xml
desktop-file-validate %{buildroot}%{_datadir}/applications/*.desktop


%files -f %{name}.lang
%license COPYING
%doc README.md
%{_bindir}/%{name}
%{_datadir}/applications/*.desktop
%{_datadir}/bash-completion/completions/%{name}
%{_datadir}/fish/vendor_completions.d/%{name}.fish
%{_datadir}/glib-2.0/schemas/%{appid}.gschema.xml
%{_datadir}/icons/hicolor/*/*/*.png
%{_datadir}/polkit-1/actions/%{appid}-daemon.policy
%{_datadir}/zsh/site-functions/_%{name}
%{_libexecdir}/%{name}-daemon
%{_metainfodir}/*.appdata.xml
%dir %{_datadir}/bash-completion
%dir %{_datadir}/bash-completion/completions
%dir %{_datadir}/fish
%dir %{_datadir}/fish/vendor_completions.d
%dir %{_datadir}/polkit-1
%dir %{_datadir}/polkit-1/actions
%dir %{_datadir}/zsh
%dir %{_datadir}/zsh/site-functions

%files data
%{_datadir}/%{name}/


%changelog
%autochangelog