File system76-keyboard-configurator.spec of Package system76-keyboard-configurator

## START: Set by rpmautospec
## (rpmautospec version 0.3.5)
## 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

%bcond_without check

%global tag      v1.3.9
%global forgeurl https://github.com/pop-os/keyboard-configurator
%if 0%{?suse_version}
Version:         1.3.10
%else
Version:         1.3.9
%endif
%if 0%{?fedora_version} > 1
%forgemeta
%endif

Name:          system76-keyboard-configurator
Release:       %autorelease
Summary:       System76 Keyboard Configurator

# * system76-keyboard-configurator: GPL-3.0-or-later
# * Rust crate dependencies:
#   (MIT OR Apache-2.0) AND Unicode-DFS-2016
#   Apache-2.0
#   Apache-2.0 OR BSL-1.0
#   Apache-2.0 OR MIT
#   Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT
#   MIT
#   MIT OR Apache-2.0
#   Unicode-DFS-2016
#   Unlicense OR MIT
# LICENSE.dependencies contains a full license breakdown
License:       GPL-3.0-or-later AND Apache-2.0 AND MIT AND Unicode-DFS-2016 AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (Unlicense OR MIT)
URL:           %{forgeurl}
%if 0%{?suse_version}
Source:        keyboard-configurator-1.3.10.tar.gz
%else
Source:        %{forgesource}
%endif

%if 0%{?fedora_version} > 1
Patch0:        fix-target-dependencies.patch
# Submitted for inclusion upstream.
# https://github.com/pop-os/keyboard-configurator/pull/117
Patch1:        update-palette-0.6.patch
%endif

BuildRequires: desktop-file-utils
%if 0%{?suse_version}
BuildRequires: appstream-glib
BuildRequires: cargo-packaging
BuildRequires: glib2-devel
BuildRequires: cairo-devel
BuildRequires: pango-devel
BuildRequires: atkmm-devel
BuildRequires: gdk-pixbuf-devel
BuildRequires: gtk3-devel
BuildRequires: libhidapi-devel
BuildRequires: libicu-devel
%else
# Fedora
BuildRequires: cargo-rpm-macros >= 24
# BuildRequires: /usr/bin/appstream-util
BuildRequires: libappstream-glib
BuildRequires: glibc-langpack-en
%endif

%description
Application for configuration of System76 keyboard firmware.


%prep
%if 0%{?suse_version}
# Source files are in keyboard-configurator-%{version}
%autosetup -n keyboard-configurator-%{version}
#%%autosetup -p1
#%%setup -q
#%%setup -q -n %{name} -c
#%%patch0 -p1
#%%patch1 -p1
%else
%forgeautosetup -p1
%cargo_prep
%endif


%generate_buildrequires
%if 0%{?fedora_version} > 1
%cargo_generate_buildrequires
%endif


%build
%if 0%{?suse_version}
pwd
ls -al
echo "--- Show files ---"
#find . -type d
echo "--- End show files ---"
cargo build --release --offline --verbose 
%else
%cargo_build
%{cargo_license_summary}
%{cargo_license} > LICENSE.dependencies
%endif


%install
%if 0%{?suse_version}
%__install -D -m 0755 -vp target/release/system76-keyboard-configurator %{buildroot}%{_bindir}/system76-keyboard-configurator
echo "--- Show files ---"
#find target
echo "--- End show files ---"
%else
%cargo_install
%endif
%__install -D -m 0644 -vp linux/com.system76.keyboardconfigurator.desktop                %{buildroot}%{_datadir}/applications/com.system76.keyboardconfigurator.desktop
%__install -D -m 0644 -vp linux/com.system76.keyboardconfigurator.appdata.xml            %{buildroot}%{_datadir}/metainfo/com.system76.keyboardconfigurator.appdata.xml
%__install -D -m 0644 -vp data/icons/scalable/apps/com.system76.keyboardconfigurator.svg %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/com.system76.keyboardconfigurator.svg    
%__install -D -m 0644 -vp debian/com.system76.pkexec.keyboardconfigurator.policy         %{buildroot}%{_datadir}/polkit-1/actions/com.system76.pkexec.keyboardconfigurator.policy 
echo "--- Show files ---"
find %{buildroot}
echo "--- End show files ---"


%if %{with check}
%check
%if 0%{?fedora_version} > 1
%cargo_test
desktop-file-validate                 linux/com.system76.keyboardconfigurator.desktop
appstream-util validate-relax --nonet linux/com.system76.keyboardconfigurator.appdata.xml
%endif
%endif


%files
%license LICENSE
%if 0%{?fedora_version} > 1
%license LICENSE.dependencies
%endif
%doc README.md
%dir %{_datadir}/polkit-1
%dir %{_datadir}/polkit-1/actions
%{_bindir}/%{name}
%{_datadir}/applications/com.system76.keyboardconfigurator.desktop
%{_datadir}/metainfo/com.system76.keyboardconfigurator.appdata.xml
%{_datadir}/icons/hicolor/scalable/apps/com.system76.keyboardconfigurator.svg
%{_datadir}/polkit-1/actions/com.system76.pkexec.keyboardconfigurator.policy


%changelog
* Mon Sep 18 2023 Fabio Valentini <decathorpe@gmail.com> - 1.3.9-4
- Update license tag to SPDX; account for statically linked Rust crates
openSUSE Build Service is sponsored by