%global rustflags_debuginfo 1
%undefine _include_frame_pointers

Name:           scx-scheds
Version:        1.0.10
Release:        1%{?dist}
Summary:        Sched_ext Schedulers and Tools

License:        GPL-2.0-only
URL:            https://github.com/sched-ext/scx
Source:         %{url}/archive/v%{version}/%{name}-%{version}.tar.gz

BuildRequires:  cargo
BuildRequires:  clang
BuildRequires:  elfutils-libelf-devel
BuildRequires:  gcc
BuildRequires:  git
BuildRequires:  jq
BuildRequires:  lld
BuildRequires:  llvm
BuildRequires:  make
BuildRequires:  meson
BuildRequires:  python
BuildRequires:  rust
BuildRequires:  systemd
BuildRequires:  systemd-rpm-macros
BuildRequires:  zlib-devel

%description
sched_ext is a Linux kernel feature which enables implementing kernel thread
schedulers in BPF and dynamically loading them.

%prep
%autosetup -n scx-%{version} -p1

%build
%meson \
    --buildtype=release \
    -Dsystemd=enabled \
    -Dopenrc=disabled \
    -Dlibalpm=disabled
%meson_build

%install
%meson_install

rm -rf %{buildroot}%{_datadir}/dbus-1
rm -rf %{buildroot}%{_includedir}/scx
rm -rf %{buildroot}%{_unitdir}/scx_loader.service

%post
%systemd_post scx.service

%preun
%systemd_preun scx.service

%postun
%systemd_postun_with_restart scx.service

%files
%config(noreplace) %{_sysconfdir}/default/scx
%{_bindir}/scx*
%{_unitdir}/scx.service

%changelog
%autochangelog