From 84f3d260144d20e64f18a2b4ec548f5064a8c428 Mon Sep 17 00:00:00 2001 From: carlos Date: Wed, 28 Oct 2026 17:34:45 -0400 Subject: [PATCH] [release] carry the Hyprland 0.57 port on the imgborders vendored HEAD Arch moved hyprland to 0.57 too: the no-pin fallback in the PKGBUILD builds the bundle's default-branch HEAD, which still read m_renderData, so the [ryoku] testing publish failed the same way Fedora's did. Move master to the ported source (the Fedora fetch hook keeps checking out the untouched upstream commit plus its patch), keeping the 0.56.2 pin path byte-identical. Verified: git bundle verify on the new master; makepkg in an archlinux container resolves no pin for 0.57.0 and links libimgborders.so; on this host (0.56.2) prepare still resolves the 68ec678 pin and builds. Note: Fixed: the [ryoku] repository build failed against Hyprland 0.57 because the image-border plugin's fallback source predated the renderer change; the vendored HEAD now carries the port. --- release/CHANGELOG.md | 16 ++++++++-------- release/packages/imgborders/PKGBUILD | 18 ++++++++---------- release/packages/imgborders/imgborders.bundle | Bin 64970 -> 67611 bytes 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/release/CHANGELOG.md b/release/CHANGELOG.md index 8af622b3c..0508fe045 100644 --- a/release/CHANGELOG.md +++ b/release/CHANGELOG.md @@ -152,14 +152,14 @@ the other plugin packages. ### Fixed -- **Fedora builds the image-border plugin against Hyprland 0.57.** Fedora moved - `hyprland-devel` to 0.57, whose renderer passes an explicit - `CRenderContext` and dropped the `m_renderData` field the plugin read, so the - RPM build failed and held the whole Fedora publish. The vendored bundle now - carries upstream's current commit plus a Ryoku port of the plugin to the - 0.57 API (applied by the Fedora fetch hook only; the Arch lane keeps its - 0.56 source pin and is unchanged), proven to link `libimgborders.so` in - Fedora 44 and 45 containers (`fedora/packages/rpm/fetch/`, +- **Fedora and Arch build the image-border plugin against Hyprland 0.57.** + Fedora moved `hyprland-devel` and Arch moved `hyprland` to 0.57, whose + renderer passes an explicit `CRenderContext` and dropped the `m_renderData` + field the plugin read. The Fedora fetch hook and Arch's no-pin vendored HEAD + now carry the same Ryoku 0.57 port, so both RPM builds and the `[ryoku]` + rebuild link `libimgborders.so`; the exact Arch 0.56.2 source pin remains + unchanged. The port links in Fedora 44 and 45 containers, an Arch 0.57 + container, and the pinned 0.56.2 host build (`fedora/packages/rpm/fetch/`, `release/packages/imgborders/`). - **Hyprland screen sharing survives DMA-BUF renegotiation.** `[ryoku]` now carries the post-1.4.1 portal fixes that preserve the capture callback and diff --git a/release/packages/imgborders/PKGBUILD b/release/packages/imgborders/PKGBUILD index 847f2c72f..4d1a07ba9 100644 --- a/release/packages/imgborders/PKGBUILD +++ b/release/packages/imgborders/PKGBUILD @@ -13,12 +13,10 @@ # host's Hyprland version and checks out the matching commit from the vendored # hyprpm.toml (the same map hyprpm uses), so a [ryoku] rebuild always builds # against whatever Hyprland it ships, with no manual commit bumps. When that map -# has no pin for the shipped Hyprland yet, prepare() falls back to the -# default-branch HEAD (as hyprpm does) rather than failing, so a Hyprland release -# outpacing the pin table can't abort the whole [ryoku] publish. Upstream -# currently flags image rendering as limited on Hyprland 0.55 (tiled-texture -# support was removed); the plugin builds and loads, and the auto-resolve picks -# up the fix as soon as upstream ships it for the running Hyprland. +# has no pin for the shipped Hyprland yet, prepare() falls back to the vendored +# default-branch HEAD (as hyprpm does) rather than failing. That HEAD carries +# Ryoku's Hyprland 0.57 render-context port; pinned versions still check out +# their exact source commits. # # Built from a vendored git bundle committed beside this recipe # (imgborders.bundle = `git bundle create ... --all` of the upstream repo), so a @@ -37,7 +35,7 @@ depends=('hyprland') makedepends=('hyprland' 'cmake' 'pkgconf' 'git' 'libdrm' 'pixman' 'pango' 'cairo') source=("$pkgname.bundle") noextract=("$pkgname.bundle") -sha256sums=('8d40c70536a44364c9e9aec9cd69321b5e6880df1b76c7f11b7839ecc645d6c4') +sha256sums=('259f33251afa2b93edf635e96339d5080c89e120a4c6f23c5bade69978e91e70') # the plugin ABI this build locks to, Hyprland's own client-hash formula: # commit + major.minor of aquamarine, hyprutils, hyprgraphics, hyprcursor and @@ -62,9 +60,9 @@ prepare() { echo "PKGBUILD: $pkgname -> $commit (Hyprland $hv)" git checkout -q "$commit" else - # no pin for this Hyprland yet: build the fetched default-branch HEAD, as - # hyprpm does when no pin matches (upstream keeps HEAD on the latest - # Hyprland). failing here would abort the whole [ryoku] publish under set -e. + # no pin for this Hyprland yet: build the vendored default-branch HEAD. + # That HEAD carries Ryoku's Hyprland 0.57 render-context port; failing here + # would abort the whole [ryoku] publish under set -e. echo "PKGBUILD: no hyprpm.toml pin for Hyprland $hv; building $pkgname HEAD" >&2 fi } diff --git a/release/packages/imgborders/imgborders.bundle b/release/packages/imgborders/imgborders.bundle index ebf33ac5528a2b2fab654850704bb4b9d4a92bbd..732a97dbe8ddfe6c8bc35b6e2406f2693b10d887 100644 GIT binary patch delta 5732 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 delta 3092 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