File contour-terminal.spec of Package contour-terminal

#
# spec file for package contour-terminal
#
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via https://bugs.opensuse.org/
#


%define force_gcc_version 13
Name:           contour-terminal
Version:        0.4.3.6442
Release:        0
Summary:        Modern C++ Terminal Emulator
License:        Apache-2.0
URL:            https://github.com/contour-terminal/contour
Source0:        contour-%{version}.tar.zst
BuildRequires:  cmake(Catch2) >= 3.3.0
BuildRequires:  appstream-glib
BuildRequires:  ccache
BuildRequires:  cmake
%if 0%{?suse_version} < 1600
BuildRequires:  gcc%{?force_gcc_version}
BuildRequires:  gcc%{?force_gcc_version}-c++
%else
BuildRequires:  gcc-c++
%endif
BuildRequires:  desktop-file-utils
BuildRequires:  fmt-devel
BuildRequires:  fontconfig-devel
BuildRequires:  freetype-devel
BuildRequires:  harfbuzz-devel
BuildRequires:  hicolor-icon-theme
BuildRequires:  libunicode-devel
BuildRequires:  libxcb-devel
BuildRequires:  libxkbcommon-devel
BuildRequires:  range-v3-devel
BuildRequires:  libssh2-devel
#BuildRequires:  utempter-devel
BuildRequires:  yaml-cpp-devel
BuildRequires:  cmake(boxed-cpp)
BuildRequires:  cmake(Microsoft.GSL)
BuildRequires:  pkgconfig(tic)
BuildRequires:  cmake(Qt6Core)
BuildRequires:  cmake(Qt6Core5Compat)
BuildRequires:  cmake(Qt6Gui)
BuildRequires:  cmake(Qt6Multimedia)
BuildRequires:  cmake(Qt6Network)
BuildRequires:  cmake(Qt6OpenGL)
BuildRequires:  cmake(Qt6OpenGLWidgets)
BuildRequires:  cmake(Qt6Qml)
BuildRequires:  cmake(reflection-cpp)
BuildRequires:  cmake(Qt6Quick)
BuildRequires:  cmake(Qt6QuickControls2)
BuildRequires:  cmake(Qt6Widgets)
Requires:       qt6-qt5compat-imports
Requires:       qt6-multimedia-imports
Recommends:     kf5-filesystem
Recommends:     kservice
Recommends:     libsixel-utils
Conflicts:      QGnomePlatform-qt6
ExclusiveArch:  x86_64

%description
Contour is a modern and actually fast, modal, virtual terminal emulator,
for everyday use. It is aiming for power users with a modern feature mindset.

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

%build
%if 0%{?suse_version} < 1600
export CC="gcc-%{?force_gcc_version}"
export CXX="g++-%{?force_gcc_version}"
%endif
%cmake
%cmake_build

%install
%cmake_install

rm %{buildroot}%{_datadir}/contour/{LICENSE.txt,README.md}

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

%files
%license LICENSE.txt
%doc README.md
%{_bindir}/contour
%{_datadir}/applications/*.desktop
%dir %{_datadir}/kservices5
%dir %{_datadir}/kservices5/ServiceMenus
%{_datadir}/kservices5/ServiceMenus/*.desktop
%dir %{_datadir}/contour
%dir %{_datadir}/contour/shell-integration
%{_datadir}/contour/shell-integration/shell-integration.bash
%{_datadir}/contour/shell-integration/shell-integration.fish
%{_datadir}/contour/shell-integration/shell-integration.tcsh
%{_datadir}/contour/shell-integration/shell-integration.zsh
%exclude %{_datadir}/terminfo/c/contour
%{_datadir}/icons/hicolor/*/apps/*.png
%{_datadir}/metainfo/org.contourterminal.Contour.metainfo.xml

%changelog
openSUSE Build Service is sponsored by