File quickshell.spec of Package quickshell-git
Name: quickshell-git
Version: 0.2.1
Release: 2
Summary: Flexible QtQuick based desktop shell toolkit
License: LGPL-3.0-only AND GPL-3.0-only
URL: https://git.outfoxxed.me/quickshell/quickshell
Source0: quickshell-%{version}.tar
#
# Quickshell is highly sensitive to qt6 version changes so we build with no
# shared libraries as to prevent users' installtions to break on qt6 update.
#
# Requires: glibc
# Requires: jemalloc
# Requires: pam
# Requires: polkit
# Requires: glib2-tools
# Requires: cmake
# Requires: qt6-base-devel
# Requires: qt6-dbus-devel
# Requires: qt6-declarative-devel
# Requires: qt6-declarative-private-devel
# Requires: qt6-svg-devel
# Requires: qt6-wayland
# Requires: qt6-wayland-private-devel
# Recommends: qt6-multimedia
# Recommends: qt6-qt5compat-imports
BuildRequires: cmake
BuildRequires: cmake(Qt6Core)
BuildRequires: cmake(Qt6CorePrivate)
BuildRequires: cmake(Qt6Qml)
BuildRequires: cmake(Qt6Quick)
BuildRequires: cmake(Qt6QuickPrivate)
BuildRequires: cmake(Qt6QuickControls2)
BuildRequires: cmake(Qt6Widgets)
BuildRequires: cmake(Qt6ShaderTools)
BuildRequires: cmake(Qt6WaylandClient)
BuildRequires: cmake(Qt6WaylandClientPrivate)
BuildRequires: fdupes
BuildRequires: gcc-c++
BuildRequires: ninja
BuildRequires: wayland-devel
BuildRequires: polkit-devel
BuildRequires: Mesa-libGLESv3-devel
BuildRequires: qt6-declarative-devel
BuildRequires: pkgconfig(CLI11)
BuildRequires: pkgconfig(gbm)
BuildRequires: pkgconfig(jemalloc)
BuildRequires: pkgconfig(libdrm)
BuildRequires: pkgconfig(libpipewire-0.3)
BuildRequires: pkgconfig(pam)
BuildRequires: pkgconfig(wayland-client)
BuildRequires: pkgconfig(wayland-protocols)
BuildRequires: spirv-tools
Provides: desktop-notification-daemon
Provides: quickshell
Conflicts: quickshell
%description
Flexible toolkit for making desktop shells with QtQuick, targeting
Wayland and X11.
%prep
%autosetup -n quickshell-%{version}
%build
export CXXFLAGS="%optflags -Wno-error=return-type"
export CFLAGS="%optflags -I/usr/include/wayland"
%define __builder ninja
%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo \
-DCMAKE_SKIP_RPATH=TRUE \
-DBUILD_SHARED_LIBS=OFF \
-DCMAKE_BUILD_WITH_INSTALL_RPATH=FALSE \
-DCMAKE_INSTALL_RPATH="" \
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=FALSE \
-DCRASH_REPORTER=OFF \
-DDISTRIBUTOR="OpenSUSE OBS (home:claudio4/quickshell)" \
-DDISTRIBUTOR_DEBUGINFO_AVAILABLE=YES \
-DGIT_REVISION=%{commit} \
-DINSTALL_QML_PREFIX=%{_lib}/qt6/qml
%cmake_build
%install
%cmake_install
%fdupes %{buildroot}%{_libdir}/qt6/qml
%check
%ctest
%files
%license LICENSE
%license LICENSE-GPL
%doc BUILD.md
%doc CONTRIBUTING.md
%doc README.md
%{_bindir}/qs
%{_bindir}/quickshell
%{_libdir}/qt6/qml/Quickshell
%{_datadir}/applications/org.quickshell.desktop
%dir %{_datadir}/icons/hicolor
%dir %{_datadir}/icons/hicolor/scalable
%dir %{_datadir}/icons/hicolor/scalable/apps
%{_datadir}/icons/hicolor/scalable/apps/org.quickshell.svg
%changelog