From 2586e7bed20f1695dbb96ab172019c5433ebb628 Mon Sep 17 00:00:00 2001 From: Eriq Taing Date: Wed, 3 Dec 2025 16:47:52 -0500 Subject: [PATCH] Introduce hyprtoolkit package --- .gitea/workflows/build-hyprtoolkit.yml | 32 ++++++++++++ hyprtoolkit.spec | 70 ++++++++++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100644 .gitea/workflows/build-hyprtoolkit.yml create mode 100644 hyprtoolkit.spec diff --git a/.gitea/workflows/build-hyprtoolkit.yml b/.gitea/workflows/build-hyprtoolkit.yml new file mode 100644 index 0000000..2167fca --- /dev/null +++ b/.gitea/workflows/build-hyprtoolkit.yml @@ -0,0 +1,32 @@ +name: Build hyprtoolkit +on: + push: + branches: + - main + paths: + - .gitea/workflows/build-hyprtoolkit.yml + - "hyprtoolkit.spec" + workflow_dispatch: + +jobs: + build_push: + name: Build and push image + runs-on: ubuntu-latest + + steps: + - name: Setup environment + shell: bash + run: | + sudo apt-get update + sudo apt-get install -y podman iptables + + # These stage versions are pinned by https://github.com/renovatebot/renovate + - name: Checkout + uses: actions/checkout@v6 # v5 + + - name: Build RPM and Upload + uses: https://git.hydrosaber.com/hydros/build-rpm@main + with: + spec-file-path: ./hyprtoolkit.spec + repository-user: eriq12 + repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }} diff --git a/hyprtoolkit.spec b/hyprtoolkit.spec new file mode 100644 index 0000000..ed8a82d --- /dev/null +++ b/hyprtoolkit.spec @@ -0,0 +1,70 @@ +Name: hyprtoolkit +Version: 0.4.1 +Release: %autorelease +Summary: A modern C++ Wayland-native GUI toolkit + +License: BSD-3-Clause +URL: https://github.com/hyprwm/hyprtoolkit +Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz + +# https://fedoraproject.org/wiki/Changes/EncourageI686LeafRemoval +ExcludeArch: %{ix86} + +BuildRequires: cmake +BuildRequires: cmake(hyprwayland-scanner) +BuildRequires: gcc-c++ +BuildRequires: mesa-libEGL-devel +BuildRequires: ninja-build +BuildRequires: pkgconfig(aquamarine) +BuildRequires: pkgconfig(egl) +BuildRequires: pkgconfig(gbm) +BuildRequires: pkgconfig(hyprgraphics) +BuildRequires: pkgconfig(hyprlang) +BuildRequires: pkgconfig(hyprutils) +BuildRequires: pkgconfig(hyprutils) +BuildRequires: pkgconfig(iniparser) +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(pango) +BuildRequires: pkgconfig(pixman-1) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-protocols) +BuildRequires: pkgconfig(xkbcommon) +BuildRequires: gtest-devel + +%description +%{summary}. + +%package devel +Summary: Development files for %{name} +Requires: %{name}%{?_isa} = %{version}-%{release} +Requires: pkgconfig(aquamarine) +Requires: pkgconfig(cairo) +Requires: pkgconfig(hyprgraphics) +%description devel +Development files for %{name}. + +%prep +%autosetup -p1 + +%build +%cmake -GNinja \ + -DCMAKE_BUILD_TYPE=Release \ + -DBUILD_TESTING=OFF +%cmake_build + +%install +%cmake_install + +%files +%license LICENSE +%doc README.md +%{_libdir}/lib%{name}.so.%{version} +%{_libdir}/lib%{name}.so.4 + +%files devel +%{_includedir}/%{name}/ +%{_libdir}/lib%{name}.so +%{_libdir}/pkgconfig/%{name}.pc + +%changelog +%autochangelog