## START: Set by rpmautospec ## (rpmautospec version 0.8.4) ## 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 %define commit 4ea8ea30d5eb6cd6b541bf69ba916eaea18fac6e %define shortcommit %{sub %{commit} 1 7} Name: noctalia Version: 5.0.0~^1.%{shortcommit} Release: %autorelease Summary: Sleek and minimal desktop shell thoughtfully crafted for Wayland # The main source code is MIT. Other licenses: # Apache-2.0: # third_party/material_color_utilities # BSD-3-Clause: # protocols/hyprland-focus-grab-v1.xml # protocols/hyprland-toplevel-mapping-v1.xml # HPND-sell-variant: # protocols/text-input-unstable-v3.xml # protocols/wlr-data-control-unstable-v1.xml # protocols/wlr-foreign-toplevel-management-unstable-v1.xml # protocols/wlr-gamma-control-unstable-v1.xml # protocols/wlr-layer-shell-unstable-v1.xml # LGPL-2.1-or-later: # protocols/org-kde-plasma-virtual-desktop.xml # MIT: # assets/fonts/tabler.ttf # third_party/fzy # third_party/luau # third_party/tomlplusplus # Apache-2.0 AND MIT: # third_party/wuffs # MIT OR Unlicense: # third_party/stb # MIT-0 OR Unlicense: # third_party/dr_wav # Apache-2.0 AND CC0-1.0 AND MIT: # third_party/nlohmann License: Apache-2.0 AND CC0-1.0 AND MIT AND BSD-3-Clause AND HPND-sell-variant AND LGPL-2.1-or-later AND (MIT OR Unlicense) AND (MIT-0 OR Unlicense) URL: https://noctalia.dev Source: https://github.com/noctalia-dev/noctalia/archive/%{commit}/noctalia-%{shortcommit}.tar.gz BuildRequires: meson BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: pkgconfig(sdbus-c++) BuildRequires: pkgconfig(wayland-client) BuildRequires: pkgconfig(wayland-protocols) BuildRequires: pkgconfig(wayland-egl) BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(fontconfig) BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(cairo-ft) BuildRequires: pkgconfig(pango) BuildRequires: pkgconfig(pangocairo) BuildRequires: pkgconfig(pangoft2) BuildRequires: pkgconfig(harfbuzz) BuildRequires: pkgconfig(librsvg-2.0) BuildRequires: pkgconfig(xkbcommon) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gobject-2.0) BuildRequires: pkgconfig(gio-2.0) BuildRequires: pkgconfig(polkit-agent-1) BuildRequires: pkgconfig(polkit-gobject-1) BuildRequires: pkgconfig(libpipewire-0.3) BuildRequires: pkgconfig(libcurl) BuildRequires: pkgconfig(libqalculate) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pam-devel BuildRequires: glibc-devel BuildRequires: pkgconfig(jemalloc) BuildRequires: pkgconfig(egl) BuildRequires: pkgconfig(glesv2) BuildRequires: pkgconfig(libwebp) # Needed by plugin_git_export_test BuildRequires: git-core # For desktop-file-validate command BuildRequires: desktop-file-utils # Upstream doesn't currently offer a mechanism for building against system # copies of these libraries. Provides: bundled(dr_wav) Provides: bundled(fzy) Provides: bundled(luau) Provides: bundled(material_color_utilities) Provides: bundled(json) Provides: bundled(stb_image_resize2) Provides: bundled(stb_image_write) Provides: bundled(tomlplusplus) Provides: bundled(wuffs) %description Noctalia is a native Wayland desktop shell for people who want a polished, configurable Linux desktop without stitching together a separate bar, launcher, notification daemon, lock screen, wallpaper tool, and settings UI. %prep %autosetup -n noctalia-%{commit} # Upstream uses a git describe command to determine part of the --version # output. Since we're not building from a git checkout, we can change the # fallback value to set this instead. sed -e '/fallback/ s/unknown/%{sub %{commit} 1 12}/' -i meson.build # Move bundled licenses to the top level to make inclusion in %%files easier. mv assets/fonts/tabler-icons-license.txt LICENSE.tabler mv third_party/dr_wav/LICENSE LICENSE.dr_wav mv third_party/fzy/LICENSE LICENSE.fzy mv third_party/luau/LICENSE.txt LICENSE.luau mv third_party/luau/lua_LICENSE.txt LICENSE.luau_lua mv third_party/material_color_utilities/LICENSE LICENSE.material_color_utilities mv third_party/nlohmann/LICENSE-APACHE-2.0 LICENSE-Apache-2.0.nlohmann_json mv third_party/nlohmann/LICENSE-CC0-1.0 LICENSE-CC0-1.0.nlohmann_json mv third_party/nlohmann/LICENSE-MIT LICENSE-MIT.nlohmann_json mv third_party/stb/LICENSE LICENSE.stb mv third_party/tomlplusplus/LICENSE LICENSE.tomlplusplus mv third_party/wuffs/LICENSE-APACHE LICENSE-Apache-2.0.wuffs mv third_party/wuffs/LICENSE-MIT LICENSE-MIT.wuffs %conf %meson -Dtests=enabled %build %meson_build %install %meson_install %check %meson_test desktop-file-validate %{buildroot}%{_datadir}/applications/dev.noctalia.Noctalia.desktop %files %license LICENSE LICENSE.* %{_bindir}/noctalia %{_datadir}/applications/dev.noctalia.Noctalia.desktop %{_datadir}/icons/hicolor/scalable/apps/noctalia.svg %{_datadir}/noctalia %changelog ## START: Generated by rpmautospec * Thu Jun 25 2026 John Doe - 5.0.0~^1.4ea8ea3-1 - Uncommitted changes ## END: Generated by rpmautospec