File noctalia-qs.spec of Package noctalia-qs

#
# spec file for package noctalia-qs
#
# Copyright (c) 2026 SUSE LLC and contributors
#
# 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 __builder ninja
Name:           noctalia-qs
Version:        0.0.9+2.gfd50060
Release:        0
Summary:        Toolkit for making desktop shells with QtQuick
License:        LGPL-3.0-only
URL:            https://github.com/noctalia-dev/noctalia-qs
Source0:        %{name}-%{version}.tar.zst
Patch0:         0001-CMake-wayland-add-missing-wayland-client-CFLAGS.patch
BuildRequires:  Mesa-libGLESv3-devel
BuildRequires:  c++_compiler
BuildRequires:  cmake
BuildRequires:  desktop-file-utils
BuildRequires:  hicolor-icon-theme
BuildRequires:  ninja
BuildRequires:  pkgconfig
BuildRequires:  qt6-base-private-devel
BuildRequires:  qt6-declarative-private-devel
BuildRequires:  qt6-waylandclient-private-devel
BuildRequires:  cmake(CLI11)
BuildRequires:  cmake(Qt6Core)
BuildRequires:  cmake(Qt6Qml)
BuildRequires:  cmake(Qt6ShaderTools)
BuildRequires:  cmake(Qt6WaylandClient)
BuildRequires:  cmake(cpptrace)
BuildRequires:  cmake(zstd)
BuildRequires:  pkgconfig(egl)
BuildRequires:  pkgconfig(gbm)
BuildRequires:  pkgconfig(libdrm)
BuildRequires:  pkgconfig(libpipewire-0.3)
BuildRequires:  pkgconfig(pam)
BuildRequires:  pkgconfig(polkit-agent-1)
BuildRequires:  pkgconfig(wayland-client)
BuildRequires:  pkgconfig(wayland-protocols)
Recommends:     libtcmalloc4
Recommends:     noctalia-shell
Conflicts:      quickshell
Conflicts:      quickshell-git
BuildSystem: cmake
BuildOption: -DCMAKE_CXX_STANDARD=20
BuildOption: -DCMAKE_SKIP_RPATH=TRUE
BuildOption: -DDISTRIBUTOR="openSUSE (home:mia)"
BuildOption: -DGIT_REVISION="%{version}"
BuildOption: -DCRASH_HANDLER=ON
# Does not fix memory fragmentation. Use tcmalloc instead!
BuildOption: -DUSE_JEMALLOC=OFF

%description
noctalia-qs extends Quickshell with features and patches specific
to the Noctalia shell ecosystem, including:

- ext-background-effect-v1 Wayland protocol support
- Noctalia-specific build defaults and configuration

The executable is named qs and is a drop-in replacement for
quickshell when using Noctalia Shell.

%prep
%autosetup -p1

%check
desktop-file-validate %{buildroot}%{_datadir}/applications/dev.noctalia.noctalia-qs.desktop

%files
%license LICENSE
%doc README.md
%{_bindir}/quickshell
%{_bindir}/qs
%{_datadir}/applications/dev.noctalia.noctalia-qs.desktop
%{_datadir}/icons/hicolor/scalable/apps/dev.noctalia.noctalia-qs.svg

%changelog
openSUSE Build Service is sponsored by