From 763d377debf2af780bc89882f98d67fdf15cb6da Mon Sep 17 00:00:00 2001 From: madomado Date: Sat, 22 Feb 2025 11:25:02 +0800 Subject: [PATCH] add: astal-gtk (#3493) Close #3491 Requires #3490 --- anda/lib/astal/astal-gtk/anda.hcl | 8 ++ anda/lib/astal/astal-gtk/astal-gtk.spec | 109 ++++++++++++++++++++++++ anda/lib/astal/astal-gtk/update.rhai | 8 ++ 3 files changed, 125 insertions(+) create mode 100644 anda/lib/astal/astal-gtk/anda.hcl create mode 100644 anda/lib/astal/astal-gtk/astal-gtk.spec create mode 100644 anda/lib/astal/astal-gtk/update.rhai diff --git a/anda/lib/astal/astal-gtk/anda.hcl b/anda/lib/astal/astal-gtk/anda.hcl new file mode 100644 index 0000000000..3bcabbf812 --- /dev/null +++ b/anda/lib/astal/astal-gtk/anda.hcl @@ -0,0 +1,8 @@ +project pkg { + rpm { + spec = "astal-gtk.spec" + } + labels { + updbranch = 1 + } +} diff --git a/anda/lib/astal/astal-gtk/astal-gtk.spec b/anda/lib/astal/astal-gtk/astal-gtk.spec new file mode 100644 index 0000000000..3e18d66746 --- /dev/null +++ b/anda/lib/astal/astal-gtk/astal-gtk.spec @@ -0,0 +1,109 @@ +%global commit 3620d51bc6c23ada1bd4b7c9cf1c458c138e68df +%global shortcommit %{sub %commit 1 7} +%global commit_date 20250222 + +Name: astal +Version: 0^%commit_date.%shortcommit +Release: 1%?dist +Summary: Building blocks for creating custom desktop shells +License: LGPL-2.1-only +URL: https://aylur.github.io/astal +Source0: https://github.com/Aylur/astal/archive/%commit.tar.gz +Packager: madonuko +BuildRequires: meson gobject-introspection vala valadoc cmake +BuildRequires: pkgconfig(astal-io-0.1) + +%description +The Linux Suite and Framework to Craft Desktop Shells and beautiful functional Wayland Widgets with GTK! + + +%package gtk3-libs +Summary: GTK 3 shared libraries for astal +BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconfig(gtk-layer-shell-0) +BuildRequires: pkgconfig(wayland-protocols) + +%description gtk3-libs +%summary. (GTK 3) + +This package contains shared libraries for astal-gtk3. + +%package gtk3-devel +Summary: GTK 3 development libraries for astal +Requires: %{name}-gtk3-libs%{?_isa} = %{version}-%{release} + +%description gtk3-devel +%summary. (GTK 3) + +This package contains development files and documentation for astal-gtk3. + + +%package gtk4-libs +Summary: GTK 4 shared libraries for astal +BuildRequires: pkgconfig(gtk4) +BuildRequires: pkgconfig(gtk4-layer-shell-0) + +%description gtk4-libs +%summary. (GTK 4) + +This package contains shared libraries for astal-gtk4. + +%package gtk4-devel +Summary: GTK 4 development libraries for astal +Requires: %{name}-gtk4-libs%{?_isa} = %{version}-%{release} + +%description gtk4-devel +%summary. (GTK 4) + +This package contains development files and documentation for astal-gtk4. + + +%prep +%autosetup -n astal-%commit + +%build +my_build() { + cd lib/astal/$1 + %meson + %meson_build +} +my_build gtk3 & +my_build gtk4 & +wait + +%install +my_install() { + cd lib/astal/$1 + %meson_install +} +my_install gtk3 & +my_install gtk4 & +wait + + +%files gtk3-libs +%license LICENSE +%_libdir/libastal.so.3 +%_libdir/libastal.so.3.0.0 + +%files gtk3-devel +%_datadir/gir-1.0/Astal-3.0.gir +%_datadir/vala/vapi/astal-3.0.vapi +%_includedir/astal.h +%_libdir/girepository-1.0/Astal-3.0.typelib +%_libdir/libastal.so +%_libdir/pkgconfig/astal-3.0.pc + + +%files gtk4-libs +%license LICENSE +%_libdir/libastal-4.so.4 +%_libdir/libastal-4.so.4.0.0 + +%files gtk4-devel +%_datadir/gir-1.0/Astal-4.0.gir +%_datadir/vala/vapi/astal-4-4.0.vapi +%_includedir/astal-4.h +%_libdir/girepository-1.0/Astal-4.0.typelib +%_libdir/libastal-4.so +%_libdir/pkgconfig/astal-4-4.0.pc diff --git a/anda/lib/astal/astal-gtk/update.rhai b/anda/lib/astal/astal-gtk/update.rhai new file mode 100644 index 0000000000..add3305056 --- /dev/null +++ b/anda/lib/astal/astal-gtk/update.rhai @@ -0,0 +1,8 @@ +import "andax/bump_extras.rhai" as bump; + +let mg = bump::madoguchi_json("astal", labels.branch); +rpm.global("commit_date", `0\^(\d+)\.([[:xdigit:]]+)`.find(mg.ver, 1)); +rpm.global("commit", `0\^(\d+)\.([[:xdigit:]]+)`.find(mg.ver, 2)); +if rpm.changed() { + rpm.release(`^(\d+)\.`.find(mg.rel, 1)); +}