From c9931d70dc81bd38d6ad33bfd7dcda87fad4e3c9 Mon Sep 17 00:00:00 2001 From: Raboneko <119771935+raboneko@users.noreply.github.com> Date: Mon, 8 Jun 2026 14:48:37 -0500 Subject: [PATCH] add: noctalia-git (#12902) (#12988) --- anda/desktops/noctalia-git/anda.hcl | 8 ++ anda/desktops/noctalia-git/noctalia-git.spec | 89 ++++++++++++++++++++ anda/desktops/noctalia-git/update.rhai | 6 ++ 3 files changed, 103 insertions(+) create mode 100644 anda/desktops/noctalia-git/anda.hcl create mode 100644 anda/desktops/noctalia-git/noctalia-git.spec create mode 100644 anda/desktops/noctalia-git/update.rhai diff --git a/anda/desktops/noctalia-git/anda.hcl b/anda/desktops/noctalia-git/anda.hcl new file mode 100644 index 0000000000..bb739e75cb --- /dev/null +++ b/anda/desktops/noctalia-git/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "noctalia-git.spec" + } + labels { + nightly = 1 + } +} diff --git a/anda/desktops/noctalia-git/noctalia-git.spec b/anda/desktops/noctalia-git/noctalia-git.spec new file mode 100644 index 0000000000..ad31217c1c --- /dev/null +++ b/anda/desktops/noctalia-git/noctalia-git.spec @@ -0,0 +1,89 @@ +%global debug_package %{nil} + +%global ver 5.0.0 + +%global commit af17dadff2a721a0ba0276eb35303e22a972ab2f +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global commitdate 20260608 + +Name: noctalia-git +Version: %{ver}^%{commitdate}git.%{shortcommit} +Release: 1%{?dist} +Summary: A lightweight Wayland shell and bar built directly on Wayland + OpenGL ES, with no Qt or GTK dependency + +License: MIT +URL: https://github.com/noctalia-dev/noctalia +Source0: https://github.com/noctalia-dev/noctalia/archive/%{commit}/noctalia-%{commit}.tar.gz + +BuildRequires: meson +BuildRequires: gcc-c++ +BuildRequires: git +BuildRequires: pipewire-devel +BuildRequires: sdbus-cpp-devel +BuildRequires: pkgconfig(cairo) +BuildRequires: pkgconfig(egl) +BuildRequires: pkgconfig(freetype2) +BuildRequires: pkgconfig(fontconfig) +BuildRequires: pkgconfig(glesv2) +BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(jemalloc) +BuildRequires: pkgconfig(libcurl) +BuildRequires: pkgconfig(libqalculate) +BuildRequires: pkgconfig(librsvg-2.0) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(libxml-2.0) +BuildRequires: pkgconfig(pam) +BuildRequires: pkgconfig(pango) +BuildRequires: pkgconfig(polkit-gobject-1) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-protocols) +BuildRequires: pkgconfig(xkbcommon) + +Provides: desktop-notification-daemon +Provides: PolicyKit-authentication-agent + +Requires: hicolor-icon-theme +Requires: dejavu-sans-fonts +Requires: libwebp + +Recommends: ddcutil +Recommends: gpu-screen-recorder +Recommends: power-profiles-daemon + +Packager: Cypress Reed + +%description +A lightweight Wayland shell and bar built directly on Wayland + OpenGL ES, with no Qt or GTK dependency. + +%prep +%autosetup -n noctalia-%{commit} +# Manually insert commit hash +sed -i "s/'unknown'/'%{shortcommit}'/g" meson.build + +%conf +%meson + +%build +%meson_build + +%install +%meson_install +install -d %{buildroot}%{_licensedir}/%{name}/third_party +find third_party -type f \( -name "LICENSE*" -o -name "COPYING*" -o -name "NOTICE*" \) | while read -r file; do + # Create the destination subdirectory + dest_dir="%{buildroot}%{_licensedir}/%{name}/$(dirname "$file")" + install -d "$dest_dir" + # Copy the file to its specific subfolder + install -p -m 0644 "$file" "$dest_dir/" +done + +%files +%doc README.md +%license LICENSE +%{_licensedir}/%{name}/third_party/ +%{_bindir}/noctalia +%{_datadir}/noctalia/ + +%changelog +* Fri Jun 05 2026 Cypress Reed +- Port to terra from Fedora COPR lionheartp/Hyprland diff --git a/anda/desktops/noctalia-git/update.rhai b/anda/desktops/noctalia-git/update.rhai new file mode 100644 index 0000000000..a46eeffdfa --- /dev/null +++ b/anda/desktops/noctalia-git/update.rhai @@ -0,0 +1,6 @@ +rpm.global("commit", get("https://api.github.com/repos/noctalia-dev/noctalia/commits/main").json().sha); +if rpm.changed() { + rpm.global("ver", gh("noctalia-dev/noctalia")); + rpm.global("commit_date", date()); + rpm.release(); +}