diff --git a/.gitea/workflows/build-xdg-desktop-portal-hyprland.yml b/.gitea/workflows/build-xdg-desktop-portal-hyprland.yml new file mode 100644 index 0000000..0f59e1c --- /dev/null +++ b/.gitea/workflows/build-xdg-desktop-portal-hyprland.yml @@ -0,0 +1,32 @@ +name: Build xdg-desktop-portal-hyprland +on: + push: + branches: + - main + paths: + - .gitea/workflows/build-xdg-desktop-portal-hyprland.yml + - "xdg-desktop-portal-hyprland.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: ./xdg-desktop-portal-hyprland.spec + repository-user: eriq12 + repository-user-token: ${{ secrets.RPM_PACKAGE_TOKEN }} diff --git a/xdg-desktop-portal-hyprland.spec b/xdg-desktop-portal-hyprland.spec new file mode 100644 index 0000000..68ad774 --- /dev/null +++ b/xdg-desktop-portal-hyprland.spec @@ -0,0 +1,83 @@ +%global sdbus_version 2.1.0 + +Name: xdg-desktop-portal-hyprland +Epoch: 1 +Version: 1.3.11 +Release: %autorelease +Summary: xdg-desktop-portal backend for hyprland + +License: BSD-3-Clause +URL: https://github.com/hyprwm/xdg-desktop-portal-hyprland +Source: %{url}/archive/v%{version}/%{name}-%{version}.tar.gz +Source: https://github.com/Kistler-Group/sdbus-cpp/archive/v%{sdbus_version}/sdbus-%{sdbus_version}.tar.gz + +BuildRequires: cmake +BuildRequires: gcc-c++ +BuildRequires: systemd-rpm-macros + +BuildRequires: pkgconfig(gbm) +BuildRequires: pkgconfig(hyprland-protocols) +BuildRequires: pkgconfig(hyprlang) +BuildRequires: pkgconfig(hyprutils) +BuildRequires: pkgconfig(hyprwayland-scanner) +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libpipewire-0.3) +BuildRequires: pkgconfig(libsystemd) +BuildRequires: pkgconfig(Qt6Widgets) +BuildRequires: pkgconfig(systemd) +BuildRequires: pkgconfig(wayland-client) +BuildRequires: pkgconfig(wayland-protocols) +BuildRequires: pkgconfig(wayland-scanner) + +Requires: dbus +# required for Screenshot portal implementation +Requires: grim +Recommends: hyprpicker +Requires: xdg-desktop-portal +# required for hyprland-share-picker +Requires: slurp +Requires: qt6-qtwayland + +Enhances: hyprland +Supplements: hyprland +Supplements: hyprland-git + +Provides: bundled(sdbus-cpp) = %{sdbus_version} + +%description +%{summary}. + + +%prep +%autosetup -p1 +tar -xf %{SOURCE1} -C subprojects/sdbus-cpp --strip=1 + + +%build +%cmake -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_BUILD_TYPE=Release +%cmake_build + + +%install +%cmake_install + + +%post +%systemd_user_post %{name}.service + +%preun +%systemd_user_preun %{name}.service + + +%files +%license LICENSE +%doc README.md +%{_bindir}/hyprland-share-picker +%{_datadir}/dbus-1/services/org.freedesktop.impl.portal.desktop.hyprland.service +%{_datadir}/xdg-desktop-portal/portals/hyprland.portal +%{_libexecdir}/%{name} +%{_userunitdir}/%{name}.service + + +%changelog +%autochangelog