Files
chromebrew/packages/weston.rb
chromebrew-actions[bot] 699ccd9957 Update Weston, fix filelist generation bug, adjust commit list in PRs — aml → 1.0.0,neatvnc → 0.10,weston → 14.0.2 (#12476)
* Add unbuilt weston to updater-weston-14.0.2

* Add hwdata dep.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Disable backend-vnc

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* updater-weston-14.0.2: Build Run on linux/arm/v7.

* updater-weston-14.0.2: Build Run on linux/amd64.

* updater-weston-14.0.2: Package File Update Run on linux/amd64 container.

* Adjust for neatvnc update.

* lint

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* lint

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Refactor weston to use new aml and neatvnc packages as deps.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* lint

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Fix commit list in Generate PR workflow.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Remove solitary lint from commit list.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* updater-weston-14.0.2: Package File Update Run on linux/amd64 container.

* updater-weston-14.0.2: Package File Update Run on linux/arm/v7 container.

* Catch files in dot subdirs under HOME when generating filelists.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* Bump version further.

Signed-off-by: Satadru Pramanik <satadru@gmail.com>

* updater-weston-14.0.2: Build Run on linux/amd64.

* updater-weston-14.0.2: Build Run on linux/arm/v7.

* updater-weston-14.0.2: Package File Update Run on linux/amd64 container.

---------

Signed-off-by: Satadru Pramanik <satadru@gmail.com>
Co-authored-by: satmandu <satmandu@users.noreply.github.com>
Co-authored-by: Satadru Pramanik <satadru@gmail.com>
Co-authored-by: chromebrew-actions[bot] <chromebrew-actions[bot]@users.noreply.github.com>
2025-09-24 19:03:17 +00:00

122 lines
4.2 KiB
Ruby

require 'buildsystems/meson'
class Weston < Meson
description 'Weston is the reference implementation of a Wayland compositor, and a useful compositor in its own right.'
homepage 'https://wayland.freedesktop.org'
version '14.0.2'
license 'MIT and CC-BY-SA-3.0'
compatibility 'aarch64 armv7l x86_64'
source_url 'https://gitlab.freedesktop.org/wayland/weston.git'
git_hashtag version
binary_compression 'tar.zst'
binary_sha256({
aarch64: '645c1955ebbf4b2c0cf0aa027542010e30151f270b159bf56343ef9ac25f5b1a',
armv7l: '645c1955ebbf4b2c0cf0aa027542010e30151f270b159bf56343ef9ac25f5b1a',
x86_64: '5774bad67970b3b94b802f3b52fc1e4ce211aefdc4f335764c70f1556b4de6e1'
})
depends_on 'aml' # R
depends_on 'cairo' # R
depends_on 'dbus' => :build
depends_on 'eudev' # R
depends_on 'fontconfig' # R
depends_on 'gcc_lib' # R
depends_on 'glib' # R
depends_on 'glibc' # R
depends_on 'graphite' => :build
depends_on 'gstreamer' # R
depends_on 'harfbuzz' # R
depends_on 'hwdata' => :build
depends_on 'libdrm' # R
depends_on 'libevdev' # R
depends_on 'libglvnd' # R
depends_on 'libinput' # R
depends_on 'libjpeg_turbo' # R
depends_on 'libpng' # R
depends_on 'libunwind'
depends_on 'libva' # R
depends_on 'libwacom' => :build
depends_on 'libwebp' # R
depends_on 'libx11' # R
depends_on 'libxcb' # R
depends_on 'libxcursor'
depends_on 'libxcursor' # R
depends_on 'libxkbcommon'
depends_on 'libxkbcommon' # R
depends_on 'libxxf86vm'
depends_on 'linux_pam' # R
depends_on 'mesa' # R
depends_on 'neatvnc' # R
depends_on 'pango' # R
depends_on 'pipewire' # R
depends_on 'pixman' # R
depends_on 'seatd' # R
depends_on 'wayland' # R
depends_on 'wayland_protocols'
depends_on 'xcb_util_cursor' => :build
depends_on 'xdg_base' => :build
meson_options "-Dbackend-default=wayland \
-Dbackend-drm=true \
-Dbackend-rdp=false \
-Dcolor-management-lcms=false \
-Dremoting=true \
-Dshell-ivi=false \
-Dsystemd=false \
-Dxwayland-path=#{CREW_PREFIX}/bin/Xwayland"
def self.patch
# https://gitlab.freedesktop.org/wayland/weston/-/issues/1049
# file = File.read 'subprojects/neatvnc.wrap'
# file.gsub!('revision = v0.7.0', 'revision = v0.9.5')
# File.write('subprojects/neatvnc.wrap', file)
#
# Install Top of Tree neatvnc and aml as deps instead, and make
# weston handle those versions.
FileUtils.rm_rf 'subprojects/neatvnc'
FileUtils.rm_rf 'subprojects/aml.wrap'
FileUtils.rm_rf 'subprojects/neatvnc.wrap'
File.write 'weston_vnc.patch', <<~'VNCPATCHEOF'
--- a/libweston/backend-vnc/meson.build 2025-09-24 09:44:35.000000000 -0400
+++ b/libweston/backend-vnc/meson.build 2025-09-24 10:36:09.653992251 -0400
@@ -3,12 +3,12 @@ if not get_option('backend-vnc')
endif
config_h.set('BUILD_VNC_COMPOSITOR', '1')
-dep_neatvnc = dependency('neatvnc', version: ['>= 0.7.0', '< 0.10.0'], required: false, fallback: ['neatvnc', 'neatvnc_dep'])
+dep_neatvnc = dependency('neatvnc', version: ['>= 0.7.0', '< 0.11.0'], required: false, fallback: ['neatvnc', 'neatvnc_dep'])
if not dep_neatvnc.found()
error('VNC backend requires neatvnc which was not found. Or, you can use \'-Dbackend-vnc=false\'.')
endif
-dep_aml = dependency('aml', version: ['>= 0.3.0', '< 0.4.0'], required: false, fallback: ['aml', 'aml_dep'])
+dep_aml = dependency('aml1', version: ['>= 0.3.0', '< 1.1.0'], required: false, fallback: ['aml', 'aml_dep'])
if not dep_aml.found()
error('VNC backend requires libaml which was not found. Or, you can use \'-Dbackend-vnc=false\'.')
endif
VNCPATCHEOF
system 'patch -Np1 -i weston_vnc.patch'
end
meson_install_extras do
File.write 'weston.ini', <<~WESTON_INI_EOF
[core]
xwayland=true
[terminal]
font=Cousine
WESTON_INI_EOF
FileUtils.install 'weston.ini', "#{CREW_DEST_HOME}/.config/weston.ini", mode: 0o644
end
def self.postinstall
ExitMessage.add <<~EOT1.lightblue
To run weston with xwayland try something like this:
export WAYLAND_DISPLAY=wayland-1
WAYLAND_DISPLAY=wayland-0 weston -Swayland-1 --xwayland
EOT1
end
end