--- weston-9.0.0.orig/debian/README.Debian +++ weston-9.0.0/debian/README.Debian @@ -0,0 +1,9 @@ +README for weston: +------------------ + +If you want to run weston under KMS (from a console, rather than from within X) +as non-root, you should start it via the weston-launch wrapper. For that to +work, you either need to have logind running and have a local session +registered, or your user needs to be member of the weston-launch group. + + -- Laurent Bigonville , Sun, 11 Aug 2013 17:29:28 +0200 --- weston-9.0.0.orig/debian/README.source +++ weston-9.0.0/debian/README.source @@ -0,0 +1,58 @@ +This package uses quilt to manage all modifications to the upstream +source. Changes are stored in the source package as diffs in +debian/patches and applied during the build. + +To configure quilt to use debian/patches instead of patches, you want +either to export QUILT_PATCHES=debian/patches in your environment +or use this snippet in your ~/.quiltrc: + + for where in ./ ../ ../../ ../../../ ../../../../ ../../../../../; do + if [ -e ${where}debian/rules -a -d ${where}debian/patches ]; then + export QUILT_PATCHES=debian/patches + break + fi + done + +To get the fully patched source after unpacking the source package, cd to +the root level of the source package and run: + + quilt push -a + +The last patch listed in debian/patches/series will become the current +patch. + +To add a new set of changes, first run quilt push -a, and then run: + + quilt new + +where is a descriptive name for the patch, used as the filename in +debian/patches. Then, for every file that will be modified by this patch, +run: + + quilt add + +before editing those files. You must tell quilt with quilt add what files +will be part of the patch before making changes or quilt will not work +properly. After editing the files, run: + + quilt refresh + +to save the results as a patch. + +Alternately, if you already have an external patch and you just want to +add it to the build system, run quilt push -a and then: + + quilt import -P /path/to/patch + quilt push -a + +(add -p 0 to quilt import if needed). as above is the filename to +use in debian/patches. The last quilt push -a will apply the patch to +make sure it works properly. + +To remove an existing patch from the list of patches that will be applied, +run: + + quilt delete + +You may need to run quilt pop -a to unapply patches first before running +this command. --- weston-9.0.0.orig/debian/changelog +++ weston-9.0.0/debian/changelog @@ -0,0 +1,469 @@ +weston (9.0.0-4) unstable; urgency=high + + * debian/rules: make tests non fatal + - Xwayland test needs a proper environment to run. + + -- Héctor Orón Martínez Thu, 04 Mar 2021 22:12:48 +0100 + +weston (9.0.0-3) unstable; urgency=high + + * re-enable pipewire support with new ABI (0.3) + * set XDG_RUNTIME_DIR for testsuite at build daemons + - failing tests are fatal for build. + + -- Héctor Orón Martínez Thu, 04 Mar 2021 20:01:52 +0100 + +weston (9.0.0-2) unstable; urgency=medium + + * debian/libweston-9-dev.install: drop libexec_weston (Closes: #970134) + + -- Héctor Orón Martínez Sun, 20 Sep 2020 10:36:42 +0200 + +weston (9.0.0-1) unstable; urgency=medium + + * Release to unstable. + + -- Héctor Orón Martínez Fri, 11 Sep 2020 12:57:05 +0200 + +weston (9.0.0-1~exp1) experimental; urgency=medium + + * New upstream release + * debian/libweston-9-0.install: disable pipewire plugin, waiting for + pipewire-0.3 transition + * debian/libweston-9-0.symbols: update + * weston: install kiosk shell + + -- Héctor Orón Martínez Fri, 04 Sep 2020 14:19:31 +0200 + +weston (8.0.0-1) unstable; urgency=medium + + * New upstream release + * debian/libweston-8-0.symbols: update + * libexec_weston.so*,weston-direct-display.xml: new files + + -- Héctor Orón Martínez Mon, 10 Feb 2020 12:23:53 +0100 + +weston (7.0.0-1~exp1) experimental; urgency=medium + + * New upstream release + * debian/control: bump wayland dependency version + * debian/control: add new dependencies + * bump libweston-desktop ABI to 7 + * install weston-debug.xml in ABI versioned path + * debian/weston.manpages: add weston-bindings manpage + * debian/libweston-7-0.install: install pipewire plugin + * debian/libweston-7-0.symbols: update + + -- Héctor Orón Martínez Tue, 03 Sep 2019 14:02:59 +0200 + +weston (6.0.1-2) unstable; urgency=medium + + * debian/control: bump standards version + + -- Héctor Orón Martínez Mon, 02 Sep 2019 15:05:36 +0200 + +weston (6.0.1-1) unstable; urgency=medium + + [ Rohan Garg ] + * New upstream release + * Workaround having a libdir and includedir in weston-protocols.pc + + -- Héctor Orón Martínez Fri, 23 Aug 2019 15:05:17 +0200 + +weston (5.0.0-3) unstable; urgency=medium + + * debian/control: add libdbus-1-dev to Build-Depends + - Fixes "won't start despite having an active logind session" + (Closes: #799325) + Thanks Paul Menzel for analysis. + * debian/patches/reproducible-build-899358.patch: new patch + - Make the build reproducible + (Closes: #899358) + + -- Héctor Orón Martínez Thu, 28 Mar 2019 14:11:26 +0100 + +weston (5.0.0-2) unstable; urgency=medium + + [ Emilio Pozuelo Monfort ] + * Update copyright holder years. + + [ Sven Joachim ] + * Add liblcms2-dev to Build-Depends (Closes: #921763). + + -- Héctor Orón Martínez Mon, 11 Feb 2019 10:12:16 +0100 + +weston (5.0.0-1) unstable; urgency=medium + + * Update build dependencies. + * Update the watch file for the new upstream website layout. + * New upstream release. + * Bump libdrm-dev and libgbm-dev build dependencies. + * Rename packages for soname bump. + * Update symbols file. + + -- Emilio Pozuelo Monfort Tue, 18 Sep 2018 12:16:49 +0200 + +weston (4.0.0-1) unstable; urgency=medium + + * New upstream release. + * Rename packages for soname bump. + * Update symbols. + * Update Vcs-* for salsa. + * Make libweston-4-dev priority optional. + * Update copyright. + * Enable systemd notify support. Closes: #886919. + + -- Emilio Pozuelo Monfort Sat, 19 May 2018 13:47:15 +0200 + +weston (3.0.0-1) unstable; urgency=medium + + [ Timo Aaltonen ] + * New upstream release. + * control, libweston*.{install,symbols, rules: Bump soversion. + + [ Emilio Pozuelo Monfort ] + * debian/copyright: add missing copyright holders. + + -- Emilio Pozuelo Monfort Thu, 14 Sep 2017 16:42:50 +0200 + +weston (1.12.0-3) unstable; urgency=medium + + * Remove useless dependency on libegl1-mesa-drivers. + * Disable the freerdp backend for stretch. freerdp2 doesn't build + everywhere and is not in testing, and the backend fails to build + against our snapshot of freerdp 1. + * Drop obsolete --enable-libinput-backend configure switch. + + -- Emilio Pozuelo Monfort Sun, 05 Feb 2017 10:57:54 +0100 + +weston (1.12.0-2) unstable; urgency=medium + + * Enable RDP compositor and screen sharing. Closes: #775855, #850658. + * Fix build with freerdp2. Patch based on one from John Moser in #850658. + + -- Emilio Pozuelo Monfort Mon, 16 Jan 2017 23:46:48 +0100 + +weston (1.12.0-1) unstable; urgency=medium + + * New upstream release. Closes: #841735. + * Ship the shared libraries in libweston-1-0 and libweston-1-dev. + * Bump debhelper compat to 10. + + debhelper now calls dh-autoreconf automatically. + * No need to pass --destdir=debian/tmp to dh_auto_install now that we + have multiple binary packages. + * Update copyright. + + -- Emilio Pozuelo Monfort Wed, 07 Dec 2016 19:17:42 +0100 + +weston (1.11.94-1) experimental; urgency=medium + + * New upstream release. + * debian/weston.install: use wildcards for libweston{,-desktop}.so.*. + + -- Emilio Pozuelo Monfort Wed, 14 Sep 2016 12:49:23 +0200 + +weston (1.11.91-1) experimental; urgency=medium + + * New upstream pre-release. + + -- Héctor Orón Martínez Thu, 18 Aug 2016 16:36:44 +0200 + +weston (1.11.0-1) unstable; urgency=medium + + * New upstream release + + -- Héctor Orón Martínez Thu, 02 Jun 2016 13:31:22 +0200 + +weston (1.10.0-1) unstable; urgency=medium + + * New upstream release + + -- Héctor Orón Martínez Wed, 01 Jun 2016 13:35:05 +0200 + +weston (1.9.92-2) experimental; urgency=medium + + * d/control: tighten build depend libwayland-dev versioning. + + -- Héctor Orón Martínez Tue, 09 Feb 2016 00:00:10 +0100 + +weston (1.9.92-1) experimental; urgency=medium + + * New upstream release + * d/control: build depend on wayland-protocols + * d/watch: update https url + * d/p/0001-Add-suport-for-new-libsystemd.patch: drop + - merged upstream. + + -- Héctor Orón Martínez Sun, 07 Feb 2016 21:22:32 +0100 + +weston (1.9.0-3) unstable; urgency=medium + + * debian/patches/0001-Add-suport-for-new-libsystemd.patch: + + Consistently check for libsystem.pc rather than libsystemd-login.pc + to get session support for weston-launch. + + -- Emilio Pozuelo Monfort Sun, 01 Nov 2015 17:32:38 +0100 + +weston (1.9.0-2) unstable; urgency=medium + + * d/control: tighten versioned build depends + + -- Héctor Orón Martínez Sun, 27 Sep 2015 12:26:29 +0200 + +weston (1.9.0-1) unstable; urgency=medium + + * New upstream release + + -- Héctor Orón Martínez Sun, 27 Sep 2015 00:18:22 +0200 + +weston (1.8.0-3) unstable; urgency=medium + + * Add support for new libsystemd. + (Closes: #779754) + + -- Hector Oron Tue, 01 Sep 2015 13:32:59 +0200 + +weston (1.8.0-2) unstable; urgency=medium + + * d/control: bump wayland versioned build dependency + + -- Hector Oron Sat, 13 Jun 2015 02:49:22 +0200 + +weston (1.8.0-1) unstable; urgency=medium + + * New upstream release. + + -- Hector Oron Sat, 13 Jun 2015 02:10:31 +0200 + +weston (1.7.0-1) unstable; urgency=medium + + [ Timo Aaltonen ] + * New upstream release. + * control: Bump libinput and libwayland-dev build-deps. + * install: Add new files. + + [ Emilio Pozuelo Monfort ] + * Remove Cyril from Uploaders. Thanks for your past work! + * Upload to unstable. + + -- Emilio Pozuelo Monfort Wed, 27 May 2015 01:07:50 +0200 + +weston (1.6.1-1) experimental; urgency=medium + + * New upstream bugfix release: + - compositor fixes + - input fixes + - shell fixes + * d/control: bump standards version, no changes needed. + + -- Hector Oron Sat, 24 Jan 2015 10:20:02 +0100 + +weston (1.6.0-2) unstable; urgency=medium + + * Switch back to use upstream tarball. + + -- Hector Oron Tue, 23 Sep 2014 17:49:21 +0200 + +weston (1.6.0-1) unstable; urgency=medium + + * New upstream release. + * Fix "weston-terminal: exits under load" + - Thanks Rémi Denis-Courmont for report. + (Closes: #760043) + + -- Hector Oron Fri, 19 Sep 2014 16:38:47 +0200 + +weston (1.5.93-2) unstable; urgency=medium + + [ Hector Oron ] + * d/control: + + allow third party graphic stacks + + update EGL wayland driver library + + [ Emilio Pozuelo Monfort ] + * Upload to unstable. + + -- Emilio Pozuelo Monfort Tue, 16 Sep 2014 22:43:37 +0200 + +weston (1.5.93-1) experimental; urgency=medium + + * New upstream development release. + * d/patches/*: drop them. + * d/control: + + bump wayland version requirement for build. + + bump build depend on libinput-dev. + * Upload to experimental. + + -- Hector Oron Fri, 12 Sep 2014 18:28:31 +0200 + +weston (1.5.0-3) unstable; urgency=medium + + * d/p/0001-libinput-Use-floating-point-instead-of-fixed-point-n.patch, + d/p/0001-Require-libinput-0.4.0.patch, + debian/control: + + Build against libinput 0.5.0. + * debian/weston.install, + debian/rules: + + Disable cairo-gl support. It causes trouble in some embedded platforms + so we're disabling its support, at least for now. + + -- Emilio Pozuelo Monfort Fri, 05 Sep 2014 02:14:06 +0200 + +weston (1.5.0-2) unstable; urgency=medium + + * debian/control, + debian/rules: + + Enable libinput backend. + + -- Emilio Pozuelo Monfort Sun, 01 Jun 2014 17:25:06 +0200 + +weston (1.5.0-1) unstable; urgency=medium + + * Add myself to Uploaders. + * New upstream release. + * Switch back to source format 1.0 for now. + * debian/control: + + Drop librsvg2-bin build dependency, no longer needed. + * debian/clean: + + Dropped, no longer needed. + * debian/weston.install: + + Fix path for demo clients. + + Install the fullscreen shell. + * debian/patches/0001-animation-fix-move-scale-animation.patch: + + Patch from Jonny Lamb, taken from wayland-devel@, that fixes + move animations, as triggered e.g. by exposay. + * d/p/0001-exposay-fix-crash-when-navigating-with-the-keyboard.patch: + + New patch, fix a crash in exposay. + + -- Emilio Pozuelo Monfort Sat, 24 May 2014 02:53:44 +0200 + +weston (1.4.0-1) unstable; urgency=medium + + * New upstream release 1.4.0: + - Window buttons for xwayland windows and proper decorations for the + nested compositor (wayland backend) + - Make the gl-renderer a loadable module and make it possible to + switch from pixman to gl renderer at runtime. This lets the + compositor start up faster, since we can load the gl-renderer and + initialize EGL+GLES2 later in the startup + - Support framebuffer formats other than XRGB8888 (gbm-format config + value under [core] section). + - Use logind for privileged access. logind can now do the this that + weston-launch used to do: drm drop/set master and opening input + devices. With this, weston can run on KMS without the + weston-launch setuid helper. + - struct weston_surface split into struct weston_surface and struct + weston_view. This is a weston-internal feature, that makes it + possible to display a surface in multiple places in the compositor. + - Better output unplug handling. We used to crash and in general not + handle output (monitor) unplug at all. We now clean up properly + and move windows back into the visible region when their output is + unplugged. + - Keyboard focus animation and exposay (exposé-like window picker) + - More touch screen support, including touch-to-move and + touch-to-activate for surfaces, touch screen drag-and-drop + - Started work on xdg-shell protocol. The xdg-shell is a more format + attempt at developing a protocol for the interaction between + applications and a desktop environmet. The wl_shell protocol + currently in wayland was always only a place-holder to help + boot-strap toolkit support. Now that GNOME Shell is moving to + Wayland, we have a full-featured desktop to drive the work and we + can start the effort in earnest + - Nested compositor buffer pass-through. We specified a new EGL + extension to allow a nested compositor to pass buffers through to + the underlying compositor. This lets the nested compositor skip + rendering and instead present the contents using a subsurface or + such in the underlying compositor + - Crop and scale protocol. This protocol, which we're initially + staging in weston, lets a client specify that a only sub-rectangle + of it's surface should be presented, and potentially scaled up. + - weston-terminal gained scrollback history, use Ctrl+Shift UP/DOWN + to scroll. Added a context menu for easy access to copy/paste/new + terminal (which have always been available as Ctrl-Shift-C/V/N) + * d/control: update + + bump standards version + + build depend on librsvg2-bin for PNG file generation. + + add build dependency against libxcb-composite0-dev for build + + add build-dependency against libxcb-xkb-dev (Closes: #733229) + + add build-dependency against libpango1.0-dev for the editor + * d/weston.install: update + + drop weston-tablet-shell + + add gl-renderer + + add clients + + -- Hector Oron Thu, 30 Jan 2014 23:06:00 +0100 + +weston (1.3.0-1) unstable; urgency=low + + [ Sven Joachim ] + * Bump libwayland-dev build-depends to (>= 1.2.0). + + [ Laurent Bigonville ] + * debian/rules: + - Install weston-launch with setuid bit set (LP: #1102597) + - Set libexec path to /usr/lib/weston + * debian/weston.lintian-overrides: Add override for the mode of weston-launch + executable + * debian/weston.examples: Install weston.ini as an example file + * debian/weston.postinst: Create weston-launch group on installation + (LP: #1203017) + * debian/control, debian/weston.install: Enable colord support + * debian/README.Debian: Fix directions on how to run weston under KMS + (Closes: #714379) + * debian/control: Add a dependency against adduser + * debian/control: Use canonical URL's for Vcs field + + [ Timo Aaltonen ] + * rules: Explicitly enable cairo-gl so that weston-screensaver gets + built. + + [ Hector Oron ] + * New upstream release (1.3.0) (Closes: #719144). + * Add myself to Uploaders. + * Switch Debian source format to 3.0 quilt + + -- Hector Oron Fri, 11 Oct 2013 13:03:04 +0200 + +weston (1.1.1-1) experimental; urgency=low + + [ Timo Aaltonen ] + * New upstream release (Closes: #675138, #699045). + * Add a watch file. + * control: Add missing build-depends: libmtdev-dev, libxcursor-dev, + libpam0g-dev, libvpx-dev. + * Use source format 1.0. + * control: Bump the build-depends on libxkbcommon-dev to (>= 0.1.0~2). + * rules: Make the test run failure non-fatal, since it doesn't work + properly in headless-mode. + * weston.install: Add new files. + * control: Bump build-depends on mesa derived components to 9.0~. + * control, compat: Switch to debhelper 9. + * control: Bump policy to 3.9.4, no changes. + * control: Added homepage (Closes: #687571). + * Add README.source. + * patches/series: Add a placeholder file. + + [ Sven Joachim ] + * Configure with --disable-libunwind until libunwind starts shipping + pkg-config files (see #711854). + * Add build-dependencies on libsystemd-login-dev and libglu1-mesa-dev. + + [ Mike Gabriel ] + * control: add libgl1-mesa-dri to Recommends: field. (Closes: #714351). + * control: add myself to Uploaders: field. + + -- Mike Gabriel Fri, 28 Jun 2013 14:31:18 +0200 + +weston (0.85.0-1) experimental; urgency=low + + * Initial release (Closes: #630809). + * Build without setuid for weston; it's very young and experimental, so + let's be cautious. + * Document weston's setuid bit (or lack thereof) in README.Debian. + * Tiny/toy clients will be shipped in a later upload. + * Restrict to linux-any since wayland isn't as portable as X. + * Make sure the following packages are at least at 8.0-2 in the + generated dependencies: libegl1-mesa, libegl1-mesa-drivers, and + libgles2-mesa. + + -- Cyril Brulebois Tue, 21 Feb 2012 23:58:19 +0100 --- weston-9.0.0.orig/debian/compat +++ weston-9.0.0/debian/compat @@ -0,0 +1 @@ +10 --- weston-9.0.0.orig/debian/control +++ weston-9.0.0/debian/control @@ -0,0 +1,108 @@ +Source: weston +Section: x11 +Priority: optional +Maintainer: Debian X Strike Force +Uploaders: Mike Gabriel , + Héctor Orón Martínez , + Emilio Pozuelo Monfort +Build-Depends: debhelper (>= 10), + freerdp2-dev, + libcairo2-dev (>= 1.10.0), + libcolord-dev (>= 0.1.27), + libdbus-1-dev, + libdrm-dev (>= 2.4.83), + libegl1-mesa-dev (>= 9.0~), + libgbm-dev (>= 17.2), + libgdk-pixbuf2.0-dev, + libgles2-mesa-dev (>= 9.0~), + libglu1-mesa-dev, + libgstreamer-plugins-base1.0-dev, + libgstreamer1.0-dev, + libinput-dev (>= 0.8.0), + libjpeg-dev, + liblcms2-dev, + libpam0g-dev, + libpango1.0-dev, + libpixman-1-dev (>= 0.25.2), + libpipewire-0.3-dev, + libpng-dev, + libsystemd-dev, + libudev-dev (>= 136), + libva-dev, + libvpx-dev, + libwayland-dev (>= 1.12.0), + libwebp-dev, + libx11-dev, + libx11-xcb-dev, + libxcb-composite0-dev, + libxcb-shape0-dev, + libxcb-xfixes0-dev, + libxcb-xkb-dev, + libxcb1-dev, + libxcursor-dev, + libxkbcommon-dev (>= 0.3.0), + libxml2-dev, + mesa-common-dev, + meson, + pkg-config, + quilt, + wayland-protocols (>= 1.18) +Standards-Version: 4.4.0 +Rules-Requires-Root: no +Homepage: http://wayland.freedesktop.org/ +Vcs-Git: https://salsa.debian.org/xorg-team/wayland/weston.git +Vcs-Browser: https://salsa.debian.org/xorg-team/wayland/weston + +Package: weston +Architecture: linux-any +Depends: adduser, + libegl1-mesa (>= 8.0-2) | libegl1-x11, + libgles2-mesa (>= 8.0-2) | libgles2, + libwayland-egl1-mesa (>= 10.1.0-2) | libwayland-egl1, + ${misc:Depends}, + ${shlibs:Depends} +Breaks: libweston-8-dev +Conflicts: libweston-8-dev +Replaces: libweston-8-dev +Recommends: libgl1-mesa-dri +Description: reference implementation of a wayland compositor + Part of the Wayland project is also the Weston reference implementation + of a Wayland compositor. Weston can run as an X client or under Linux + KMS and ships with a few demo clients. The Weston compositor is a minimal + and fast compositor and is suitable for many embedded and mobile use + cases. + +Package: libweston-9-0 +Section: libs +Architecture: linux-any +Depends: ${misc:Depends}, ${shlibs:Depends} +Replaces: weston (<< 1.12.0-1) +Breaks: weston (<< 1.12.0-1) +Description: reference implementation of a wayland compositor (shared libs) + Part of the Wayland project is also the Weston reference implementation + of a Wayland compositor. Weston can run as an X client or under Linux + KMS and ships with a few demo clients. The Weston compositor is a minimal + and fast compositor and is suitable for many embedded and mobile use + cases. + . + This package includes the libweston shared libraries. + +Package: libweston-9-dev +Section: libdevel +Architecture: linux-any +Depends: libpixman-1-dev, + libwayland-dev, + libweston-9-0 (= ${binary:Version}), + libxkbcommon-dev, + ${misc:Depends}, + ${shlibs:Depends} +Replaces: weston (<< 1.12.0-1) +Breaks: weston (<< 1.12.0-1) +Description: reference implementation of a wayland compositor (shared libs) + Part of the Wayland project is also the Weston reference implementation + of a Wayland compositor. Weston can run as an X client or under Linux + KMS and ships with a few demo clients. The Weston compositor is a minimal + and fast compositor and is suitable for many embedded and mobile use + cases. + . + This package includes the libweston headers. --- weston-9.0.0.orig/debian/copyright +++ weston-9.0.0/debian/copyright @@ -0,0 +1,466 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Source: http://wayland.freedesktop.org/ + +Files: * +Copyright: © 2016 Armin Krezović + © 2010-2012 Benjamin Franzke + © 2016 Benoit Gschwind + © 2013 BMW Car IT GmbH + © 2009 Chris Wilson + © 2011-2018 Collabora, Ltd. + © 2013 David Herrmann + © 2013-2016 DENSO CORPORATION + © 2015-2018 General Electric Company + © 2015-2016 Giulio Camuffo + © 2013 Hardening + © 2009-2013 Intel Corporation + © 2013-2014 Jason Ekstrand + © 2015 Jasper St. Pierre + © 2012 John Kåre Alsaker + © 2012-2013 Jonas Ådahl + © 1988-2004 Keith Packard and Bart Massey. + © 2008-2012 Kristian Høgsberg + © 2012 Martin Minarik + © 2016 NVIDIA Corporation + © 2012 Openismus GmbH + © 2014 Pekka Paalanen + © 2012 Philipp Brüschweiler + © 2013 Philip Withnall + © 2016 Quentin "Sardem FF7" Glidic + © 2012-2013 Raspberry Pi Foundation + © 2010-2015 Red Hat, Inc. + © 2013 Richard Hughes + © 2012 Rob Clark + © 2013 Sam Spilsbury + © 2015-2016 Samsung Electronics Co., Ltd + © 2012 Scott Moreau + © 2011 Tim Wiederhake + © 2008 Tungsten Graphics, Inc + © 2013 Vasily Khoruzhick +License: X11 + Permission to use, copy, modify, distribute, and sell this software and + its documentation for any purpose is hereby granted without fee, provided + that the above copyright notice appear in all copies and that both that + copyright notice and this permission notice appear in supporting + documentation, and that the name of the copyright holders not be used in + advertising or publicity pertaining to distribution of the software + without specific, written prior permission. The copyright holders make + no representations about the suitability of this software for any + purpose. It is provided "as is" without express or implied warranty. + . + THE COPYRIGHT HOLDERS DISCLAIM ALL WARRANTIES WITH REGARD TO THIS + SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND + FITNESS, IN NO EVENT SHALL THE COPYRIGHT HOLDERS BE LIABLE FOR ANY + SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER + RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF + CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN + CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +Files: data/* +Copyright: © 2007-2010 Novell, Inc. +License: CC-BY-SA-3.0 + +Files: data/terminal.png +Copyright: @ 2002-2008 GNOME Project +License: CC-BY-SA-3.0 + +Files: src/hash.* +Copyright: © 2009 Intel Corporation + © 1988-2004 Keith Packard and Bart Massey. +License: MIT + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice (including the next + paragraph) shall be included in all copies or substantial portions of the + Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS + IN THE SOFTWARE. + . + Except as contained in this notice, the names of the authors + or their institutions shall not be used in advertising or + otherwise to promote the sale, use or other dealings in this + Software without prior written authorization from the + authors. + . + Authors: + Eric Anholt + Keith Packard + + +License: CC-BY-SA-3.0 + THE WORK (AS DEFINED BELOW) IS PROVIDED UNDER THE TERMS OF THIS + CREATIVE COMMONS PUBLIC LICENSE ("CCPL" OR "LICENSE"). THE WORK IS + PROTECTED BY COPYRIGHT AND/OR OTHER APPLICABLE LAW. ANY USE OF THE + WORK OTHER THAN AS AUTHORIZED UNDER THIS LICENSE OR COPYRIGHT LAW IS + PROHIBITED. + . + BY EXERCISING ANY RIGHTS TO THE WORK PROVIDED HERE, YOU ACCEPT AND + AGREE TO BE BOUND BY THE TERMS OF THIS LICENSE. TO THE EXTENT THIS + LICENSE MAY BE CONSIDERED TO BE A CONTRACT, THE LICENSOR GRANTS YOU + THE RIGHTS CONTAINED HERE IN CONSIDERATION OF YOUR ACCEPTANCE OF SUCH + TERMS AND CONDITIONS. + . + . + 1. Definitions + . + "Adaptation" means a work based upon the Work, or upon the Work and + other pre-existing works, such as a translation, adaptation, + derivative work, arrangement of music or other alterations of a + literary or artistic work, or phonogram or performance and includes + cinematographic adaptations or any other form in which the Work may be + recast, transformed, or adapted including in any form recognizably + derived from the original, except that a work that constitutes a + Collection will not be considered an Adaptation for the purpose of + this License. For the avoidance of doubt, where the Work is a musical + work, performance or phonogram, the synchronization of the Work in + timed-relation with a moving image ("synching") will be considered an + Adaptation for the purpose of this License. + . + "Collection" means a collection of literary or artistic works, such as + encyclopedias and anthologies, or performances, phonograms or + broadcasts, or other works or subject matter other than works listed + in Section 1(f) below, which, by reason of the selection and + arrangement of their contents, constitute intellectual creations, in + which the Work is included in its entirety in unmodified form along + with one or more other contributions, each constituting separate and + independent works in themselves, which together are assembled into a + collective whole. A work that constitutes a Collection will not be + considered an Adaptation (as defined below) for the purposes of this + License. + . + "Creative Commons Compatible License" means a license that is listed + at http://creativecommons.org/compatiblelicenses that has been + approved by Creative Commons as being essentially equivalent to this + License, including, at a minimum, because that license: (i) contains + terms that have the same purpose, meaning and effect as the License + Elements of this License; and, (ii) explicitly permits the relicensing + of adaptations of works made available under that license under this + License or a Creative Commons jurisdiction license with the same + License Elements as this License. + . + "Distribute" means to make available to the public the original and + copies of the Work or Adaptation, as appropriate, through sale or + other transfer of ownership. + . + "License Elements" means the following high-level license attributes + as selected by Licensor and indicated in the title of this License: + Attribution, ShareAlike. + . + "Licensor" means the individual, individuals, entity or entities that + offer(s) the Work under the terms of this License. + . + "Original Author" means, in the case of a literary or artistic work, + the individual, individuals, entity or entities who created the Work + or if no individual or entity can be identified, the publisher; and in + addition (i) in the case of a performance the actors, singers, + musicians, dancers, and other persons who act, sing, deliver, declaim, + play in, interpret or otherwise perform literary or artistic works or + expressions of folklore; (ii) in the case of a phonogram the producer + being the person or legal entity who first fixes the sounds of a + performance or other sounds; and, (iii) in the case of broadcasts, the + organization that transmits the broadcast. + . + "Work" means the literary and/or artistic work offered under the terms + of this License including without limitation any production in the + literary, scientific and artistic domain, whatever may be the mode or + form of its expression including digital form, such as a book, + pamphlet and other writing; a lecture, address, sermon or other work + of the same nature; a dramatic or dramatico-musical work; a + choreographic work or entertainment in dumb show; a musical + composition with or without words; a cinematographic work to which are + assimilated works expressed by a process analogous to cinematography; + a work of drawing, painting, architecture, sculpture, engraving or + lithography; a photographic work to which are assimilated works + expressed by a process analogous to photography; a work of applied + art; an illustration, map, plan, sketch or three-dimensional work + relative to geography, topography, architecture or science; a + performance; a broadcast; a phonogram; a compilation of data to the + extent it is protected as a copyrightable work; or a work performed by + a variety or circus performer to the extent it is not otherwise + considered a literary or artistic work. + . + "You" means an individual or entity exercising rights under this + License who has not previously violated the terms of this License with + respect to the Work, or who has received express permission from the + Licensor to exercise rights under this License despite a previous + violation. + . + "Publicly Perform" means to perform public recitations of the Work and + to communicate to the public those public recitations, by any means or + process, including by wire or wireless means or public digital + performances; to make available to the public Works in such a way that + members of the public may access these Works from a place and at a + place individually chosen by them; to perform the Work to the public + by any means or process and the communication to the public of the + performances of the Work, including by public digital performance; to + broadcast and rebroadcast the Work by any means including signs, + sounds or images. + . + "Reproduce" means to make copies of the Work by any means including + without limitation by sound or visual recordings and the right of + fixation and reproducing fixations of the Work, including storage of a + protected performance or phonogram in digital form or other electronic + medium. + . + . + 2. Fair Dealing Rights. Nothing in this License is intended to reduce, + limit, or restrict any uses free from copyright or rights arising from + limitations or exceptions that are provided for in connection with the + copyright protection under copyright law or other applicable laws. + . + . + 3. License Grant. Subject to the terms and conditions of this License, + Licensor hereby grants You a worldwide, royalty-free, non-exclusive, + perpetual (for the duration of the applicable copyright) license to + exercise the rights in the Work as stated below: + . + - to Reproduce the Work, to incorporate the Work into one or more + Collections, and to Reproduce the Work as incorporated in the + Collections; + . + - to create and Reproduce Adaptations provided that any such + Adaptation, including any translation in any medium, takes + reasonable steps to clearly label, demarcate or otherwise identify + that changes were made to the original Work. For example, a + translation could be marked "The original work was translated from + English to Spanish," or a modification could indicate "The original + work has been modified."; + . + - to Distribute and Publicly Perform the Work including as + incorporated in Collections; and, + . + - to Distribute and Publicly Perform Adaptations. + . + - For the avoidance of doubt: + - Non-waivable Compulsory License Schemes. In those jurisdictions + in which the right to collect royalties through any statutory or + compulsory licensing scheme cannot be waived, the Licensor + reserves the exclusive right to collect such royalties for any + exercise by You of the rights granted under this License; + - Waivable Compulsory License Schemes. In those jurisdictions in + which the right to collect royalties through any statutory or + compulsory licensing scheme can be waived, the Licensor waives + the exclusive right to collect such royalties for any exercise + by You of the rights granted under this License; and, + - Voluntary License Schemes. The Licensor waives the right to + collect royalties, whether individually or, in the event that + the Licensor is a member of a collecting society that + administers voluntary licensing schemes, via that society, from + any exercise by You of the rights granted under this License. + . + The above rights may be exercised in all media and formats whether now + known or hereafter devised. The above rights include the right to make + such modifications as are technically necessary to exercise the rights + in other media and formats. Subject to Section 8(f), all rights not + expressly granted by Licensor are hereby reserved. + . + . + 4. Restrictions. The license granted in Section 3 above is expressly + made subject to and limited by the following restrictions: + . + - You may Distribute or Publicly Perform the Work only under the + terms of this License. You must include a copy of, or the Uniform + Resource Identifier (URI) for, this License with every copy of the + Work You Distribute or Publicly Perform. You may not offer or + impose any terms on the Work that restrict the terms of this + License or the ability of the recipient of the Work to exercise the + rights granted to that recipient under the terms of the + License. You may not sublicense the Work. You must keep intact all + notices that refer to this License and to the disclaimer of + warranties with every copy of the Work You Distribute or Publicly + Perform. When You Distribute or Publicly Perform the Work, You may + not impose any effective technological measures on the Work that + restrict the ability of a recipient of the Work from You to + exercise the rights granted to that recipient under the terms of + the License. This Section 4(a) applies to the Work as incorporated + in a Collection, but this does not require the Collection apart + from the Work itself to be made subject to the terms of this + License. If You create a Collection, upon notice from any Licensor + You must, to the extent practicable, remove from the Collection any + credit as required by Section 4(c), as requested. If You create an + Adaptation, upon notice from any Licensor You must, to the extent + practicable, remove from the Adaptation any credit as required by + Section 4(c), as requested. + . + - You may Distribute or Publicly Perform an Adaptation only under the + terms of: (i) this License; (ii) a later version of this License + with the same License Elements as this License; (iii) a Creative + Commons jurisdiction license (either this or a later license + version) that contains the same License Elements as this License + (e.g., Attribution-ShareAlike 3.0 US)); (iv) a Creative Commons + Compatible License. If you license the Adaptation under one of the + licenses mentioned in (iv), you must comply with the terms of that + license. If you license the Adaptation under the terms of any of + the licenses mentioned in (i), (ii) or (iii) (the "Applicable + License"), you must comply with the terms of the Applicable License + generally and the following provisions: (I) You must include a copy + of, or the URI for, the Applicable License with every copy of each + Adaptation You Distribute or Publicly Perform; (II) You may not + offer or impose any terms on the Adaptation that restrict the terms + of the Applicable License or the ability of the recipient of the + Adaptation to exercise the rights granted to that recipient under + the terms of the Applicable License; (III) You must keep intact all + notices that refer to the Applicable License and to the disclaimer + of warranties with every copy of the Work as included in the + Adaptation You Distribute or Publicly Perform; (IV) when You + Distribute or Publicly Perform the Adaptation, You may not impose + any effective technological measures on the Adaptation that + restrict the ability of a recipient of the Adaptation from You to + exercise the rights granted to that recipient under the terms of + the Applicable License. This Section 4(b) applies to the Adaptation + as incorporated in a Collection, but this does not require the + Collection apart from the Adaptation itself to be made subject to + the terms of the Applicable License. + . + - If You Distribute, or Publicly Perform the Work or any Adaptations + or Collections, You must, unless a request has been made pursuant + to Section 4(a), keep intact all copyright notices for the Work and + provide, reasonable to the medium or means You are utilizing: (i) + the name of the Original Author (or pseudonym, if applicable) if + supplied, and/or if the Original Author and/or Licensor designate + another party or parties (e.g., a sponsor institute, publishing + entity, journal) for attribution ("Attribution Parties") in + Licensor's copyright notice, terms of service or by other + reasonable means, the name of such party or parties; (ii) the title + of the Work if supplied; (iii) to the extent reasonably + practicable, the URI, if any, that Licensor specifies to be + associated with the Work, unless such URI does not refer to the + copyright notice or licensing information for the Work; and (iv) , + consistent with Ssection 3(b), in the case of an Adaptation, a + credit identifying the use of the Work in the Adaptation (e.g., + "French translation of the Work by Original Author," or "Screenplay + based on original Work by Original Author"). The credit required by + this Section 4(c) may be implemented in any reasonable manner; + provided, however, that in the case of a Adaptation or Collection, + at a minimum such credit will appear, if a credit for all + contributing authors of the Adaptation or Collection appears, then + as part of these credits and in a manner at least as prominent as + the credits for the other contributing authors. For the avoidance + of doubt, You may only use the credit required by this Section for + the purpose of attribution in the manner set out above and, by + exercising Your rights under this License, You may not implicitly + or explicitly assert or imply any connection with, sponsorship or + endorsement by the Original Author, Licensor and/or Attribution + Parties, as appropriate, of You or Your use of the Work, without + the separate, express prior written permission of the Original + Author, Licensor and/or Attribution Parties. + . + - Except as otherwise agreed in writing by the Licensor or as may be + otherwise permitted by applicable law, if You Reproduce, Distribute + or Publicly Perform the Work either by itself or as part of any + Adaptations or Collections, You must not distort, mutilate, modify + or take other derogatory action in relation to the Work which would + be prejudicial to the Original Author's honor or + reputation. Licensor agrees that in those jurisdictions + (e.g. Japan), in which any exercise of the right granted in Section + 3(b) of this License (the right to make Adaptations) would be + deemed to be a distortion, mutilation, modification or other + derogatory action prejudicial to the Original Author's honor and + reputation, the Licensor will waive or not assert, as appropriate, + this Section, to the fullest extent permitted by the applicable + national law, to enable You to reasonably exercise Your right under + Section 3(b) of this License (right to make Adaptations) but not + otherwise. + . + . + 5. Representations, Warranties and Disclaimer + . + UNLESS OTHERWISE MUTUALLY AGREED TO BY THE PARTIES IN WRITING, + LICENSOR OFFERS THE WORK AS-IS AND MAKES NO REPRESENTATIONS OR + WARRANTIES OF ANY KIND CONCERNING THE WORK, EXPRESS, IMPLIED, + STATUTORY OR OTHERWISE, INCLUDING, WITHOUT LIMITATION, WARRANTIES OF + TITLE, MERCHANTIBILITY, FITNESS FOR A PARTICULAR PURPOSE, + NONINFRINGEMENT, OR THE ABSENCE OF LATENT OR OTHER DEFECTS, ACCURACY, + OR THE PRESENCE OF ABSENCE OF ERRORS, WHETHER OR NOT + DISCOVERABLE. SOME JURISDICTIONS DO NOT ALLOW THE EXCLUSION OF IMPLIED + WARRANTIES, SO SUCH EXCLUSION MAY NOT APPLY TO YOU. + . + . + 6. Limitation on Liability. + . + EXCEPT TO THE EXTENT REQUIRED BY APPLICABLE LAW, IN NO EVENT WILL + LICENSOR BE LIABLE TO YOU ON ANY LEGAL THEORY FOR ANY SPECIAL, + INCIDENTAL, CONSEQUENTIAL, PUNITIVE OR EXEMPLARY DAMAGES ARISING OUT + OF THIS LICENSE OR THE USE OF THE WORK, EVEN IF LICENSOR HAS BEEN + ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. + . + . + 7. Termination + . + - This License and the rights granted hereunder will terminate + automatically upon any breach by You of the terms of this + License. Individuals or entities who have received Adaptations or + Collections from You under this License, however, will not have + their licenses terminated provided such individuals or entities + remain in full compliance with those licenses. Sections 1, 2, 5, 6, + 7, and 8 will survive any termination of this License. + . + - Subject to the above terms and conditions, the license granted here + is perpetual (for the duration of the applicable copyright in the + Work). Notwithstanding the above, Licensor reserves the right to + release the Work under different license terms or to stop + distributing the Work at any time; provided, however that any such + election will not serve to withdraw this License (or any other + license that has been, or is required to be, granted under the + terms of this License), and this License will continue in full + force and effect unless terminated as stated above. + . + . + 8. Miscellaneous + . + - Each time You Distribute or Publicly Perform the Work or a + Collection, the Licensor offers to the recipient a license to the + Work on the same terms and conditions as the license granted to You + under this License. + . + - Each time You Distribute or Publicly Perform an Adaptation, + Licensor offers to the recipient a license to the original Work on + the same terms and conditions as the license granted to You under + this License. + . + - If any provision of this License is invalid or unenforceable under + applicable law, it shall not affect the validity or enforceability + of the remainder of the terms of this License, and without further + action by the parties to this agreement, such provision shall be + reformed to the minimum extent necessary to make such provision + valid and enforceable. + . + - No term or provision of this License shall be deemed waived and no + breach consented to unless such waiver or consent shall be in + writing and signed by the party to be charged with such waiver or + consent. + . + - This License constitutes the entire agreement between the parties + with respect to the Work licensed here. There are no + understandings, agreements or representations with respect to the + Work not specified here. Licensor shall not be bound by any + additional provisions that may appear in any communication from + You. This License may not be modified without the mutual written + agreement of the Licensor and You. + . + - The rights granted under, and the subject matter referenced, in + this License were drafted utilizing the terminology of the Berne + Convention for the Protection of Literary and Artistic Works (as + amended on September 28, 1979), the Rome Convention of 1961, the + WIPO Copyright Treaty of 1996, the WIPO Performances and Phonograms + Treaty of 1996 and the Universal Copyright Convention (as revised + on July 24, 1971). These rights and subject matter take effect in + the relevant jurisdiction in which the License terms are sought to + be enforced according to the corresponding provisions of the + implementation of those treaty provisions in the applicable + national law. If the standard suite of rights granted under + applicable copyright law includes additional rights not granted + under this License, such additional rights are deemed to be + included in the License; this License is not intended to restrict + the license of any rights under applicable law. --- weston-9.0.0.orig/debian/libweston-9-0.install +++ weston-9.0.0/debian/libweston-9-0.install @@ -0,0 +1,12 @@ +usr/lib/*/libweston-9.so.* +usr/lib/*/libweston-9/drm-backend.so +usr/lib/*/libweston-9/fbdev-backend.so +usr/lib/*/libweston-9/gl-renderer.so +usr/lib/*/libweston-9/headless-backend.so +usr/lib/*/libweston-9/pipewire-plugin.so +usr/lib/*/libweston-9/rdp-backend.so +usr/lib/*/libweston-9/remoting-plugin.so +usr/lib/*/libweston-9/wayland-backend.so +usr/lib/*/libweston-9/x11-backend.so +usr/lib/*/libweston-9/xwayland.so +usr/lib/*/libweston-desktop-9.so.* --- weston-9.0.0.orig/debian/libweston-9-0.symbols +++ weston-9.0.0/debian/libweston-9-0.symbols @@ -0,0 +1,347 @@ +libweston-9.so.0 libweston-9-0 #MINVER# +* Build-Depends-Package: libweston-9-dev + linux_dmabuf_buffer_get@Base 1.12.0 + linux_dmabuf_buffer_get_user_data@Base 1.12.0 + linux_dmabuf_buffer_send_server_error@Base 1.12.0 + linux_dmabuf_buffer_set_user_data@Base 1.12.0 + linux_dmabuf_setup@Base 1.12.0 + linux_explicit_synchronization_send_server_error@Base 6.0 + linux_explicit_synchronization_setup@Base 6.0 + noop_renderer_init@Base 1.12.0 + notify_axis@Base 1.12.0 + notify_axis_source@Base 1.12.0 + notify_button@Base 1.12.0 + notify_key@Base 1.12.0 + notify_keyboard_focus_in@Base 1.12.0 + notify_keyboard_focus_out@Base 1.12.0 + notify_modifiers@Base 1.12.0 + notify_motion@Base 1.12.0 + notify_motion_absolute@Base 1.12.0 + notify_pointer_focus@Base 1.12.0 + notify_pointer_frame@Base 1.12.0 + notify_touch_calibrator@Base 5.0.0 + notify_touch_calibrator_cancel@Base 5.0.0 + notify_touch_calibrator_frame@Base 5.0.0 + notify_touch_cancel@Base 1.12.0 + notify_touch_frame@Base 1.12.0 + notify_touch_normalized@Base 5.0.0 + pixel_format_get_info@Base 3.0.0 + pixel_format_get_info_by_drm_name@Base 6.0 + pixel_format_get_info_by_opaque_substitute@Base 8.0.0 + pixel_format_get_info_shm@Base 6.0 + pixel_format_get_opaque_substitute@Base 3.0.0 + pixel_format_get_plane_count@Base 3.0.0 + pixel_format_height_for_plane@Base 3.0.0 + pixel_format_is_opaque@Base 3.0.0 + pixel_format_width_for_plane@Base 3.0.0 + pixman_renderer_init@Base 1.12.0 + pixman_renderer_output_create@Base 1.12.0 + pixman_renderer_output_destroy@Base 1.12.0 + pixman_renderer_output_set_buffer@Base 1.12.0 + pixman_renderer_output_set_hw_extra_damage@Base 5.0.0 + weston_binding_destroy@Base 1.12.0 + weston_buffer_from_resource@Base 1.12.0 + weston_buffer_reference@Base 1.12.0 + weston_buffer_release_move@Base 6.0 + weston_buffer_release_reference@Base 6.0 + weston_buffer_send_server_error@Base 6.0 + weston_compositor_add_axis_binding@Base 1.12.0 + weston_compositor_add_button_binding@Base 1.12.0 + weston_compositor_add_debug_binding@Base 1.12.0 + weston_compositor_add_destroy_listener_once@Base 8.0.0 + weston_compositor_add_head@Base 5.0.0 + weston_compositor_add_heads_changed_listener@Base 5.0.0 + weston_compositor_add_key_binding@Base 1.12.0 + weston_compositor_add_log_scope@Base 7.0.0 + weston_compositor_add_modifier_binding@Base 1.12.0 + weston_compositor_add_pending_output@Base 3.0.0 + weston_compositor_add_touch_binding@Base 1.12.0 + weston_compositor_create@Base 1.12.0 + weston_compositor_create_output@Base 5.0.0 + weston_compositor_create_output_with_head@Base 5.0.0 + weston_compositor_damage_all@Base 1.12.0 + weston_compositor_destroy@Base 1.12.0 + weston_compositor_dmabuf_can_scanout@Base 8.0.0 + weston_compositor_enable_content_protection@Base 7.0.0 + weston_compositor_enable_debug_protocol@Base 6.0 + weston_compositor_enable_touch_calibrator@Base 5.0.0 + weston_compositor_exit@Base 1.12.0 + weston_compositor_exit_with_code@Base 1.12.0 + weston_compositor_find_output_by_name@Base 5.0.0 + weston_compositor_flush_heads_changed@Base 5.0.0 + weston_compositor_get_time@Base 1.12.0 + weston_compositor_get_user_data@Base 1.12.0 + weston_compositor_import_dmabuf@Base 1.12.0 + weston_compositor_is_debug_protocol_enabled@Base 6.0 + weston_compositor_iterate_heads@Base 5.0.0 + weston_compositor_load_backend@Base 1.12.0 + weston_compositor_load_xwayland@Base 1.12.0 + weston_compositor_offscreen@Base 1.12.0 + weston_compositor_pick_view@Base 1.12.0 + weston_compositor_print_scene_graph@Base 6.0 + weston_compositor_read_presentation_clock@Base 1.12.0 + weston_compositor_schedule_repaint@Base 1.12.0 + weston_compositor_set_default_pointer_grab@Base 1.12.0 + weston_compositor_set_presentation_clock@Base 1.12.0 + weston_compositor_set_presentation_clock_software@Base 1.12.0 + weston_compositor_set_xkb_rule_names@Base 1.12.0 + weston_compositor_shutdown@Base 1.12.0 + weston_compositor_sleep@Base 1.12.0 + weston_compositor_stack_plane@Base 1.12.0 + weston_compositor_wake@Base 1.12.0 + weston_config_destroy@Base 8.0.0 + weston_config_get_full_path@Base 8.0.0 + weston_config_get_name_from_env@Base 6.0 + weston_config_get_section@Base 1.12.0 + weston_config_next_section@Base 3.0.0 + weston_config_parse@Base 6.0 + weston_config_section_get_bool@Base 1.12.0 + weston_config_section_get_color@Base 1.12.0 + weston_config_section_get_double@Base 1.12.0 + weston_config_section_get_int@Base 1.12.0 + weston_config_section_get_string@Base 1.12.0 + weston_config_section_get_uint@Base 1.12.0 + weston_direct_display_setup@Base 8.0.0 + weston_fade_run@Base 1.12.0 + weston_fade_update@Base 1.12.0 + weston_head_add_destroy_listener@Base 5.0.0 + weston_head_detach@Base 5.0.0 + weston_head_from_resource@Base 5.0.0 + weston_head_get_destroy_listener@Base 5.0.0 + weston_head_get_name@Base 5.0.0 + weston_head_get_output@Base 5.0.0 + weston_head_get_transform@Base 9.0.0 + weston_head_init@Base 5.0.0 + weston_head_is_connected@Base 5.0.0 + weston_head_is_device_changed@Base 5.0.0 + weston_head_is_enabled@Base 5.0.0 + weston_head_is_non_desktop@Base 6.0 + weston_head_release@Base 5.0.0 + weston_head_reset_device_changed@Base 5.0.0 + weston_head_set_connection_status@Base 5.0.0 + weston_head_set_content_protection_status@Base 7.0.0 + weston_head_set_internal@Base 5.0.0 + weston_head_set_monitor_strings@Base 5.0.0 + weston_head_set_non_desktop@Base 6.0 + weston_head_set_physical_size@Base 5.0.0 + weston_head_set_subpixel@Base 5.0.0 + weston_head_set_transform@Base 9.0.0 + weston_install_debug_key_binding@Base 1.12.0 + weston_keyboard_end_grab@Base 1.12.0 + weston_keyboard_has_focus_resource@Base 1.12.0 + weston_keyboard_send_key@Base 1.12.0 + weston_keyboard_send_keymap@Base 5.0.0 + weston_keyboard_send_modifiers@Base 1.12.0 + weston_keyboard_set_focus@Base 1.12.0 + weston_keyboard_set_locks@Base 1.12.0 + weston_keyboard_start_grab@Base 1.12.0 + weston_layer_entry_insert@Base 1.12.0 + weston_layer_entry_remove@Base 1.12.0 + weston_layer_init@Base 1.12.0 + weston_layer_mask_is_infinite@Base 6.0 + weston_layer_set_mask@Base 1.12.0 + weston_layer_set_mask_infinite@Base 1.12.0 + weston_layer_set_position@Base 3.0.0 + weston_layer_unset_position@Base 3.0.0 + weston_linux_sync_file_read_timestamp@Base 7.0.0 + weston_load_module@Base 1.12.0 + weston_log@Base 1.12.0 + weston_log_continue@Base 1.12.0 + weston_log_ctx_add_log_scope@Base 9.0.0 + weston_log_ctx_create@Base 9.0.0 + weston_log_ctx_destroy@Base 9.0.0 + weston_log_flight_recorder_display_buffer@Base 8.0.0 + weston_log_scope_complete@Base 7.0.0 + weston_log_scope_destroy@Base 9.0.0 + weston_log_scope_is_enabled@Base 7.0.0 + weston_log_scope_printf@Base 7.0.0 + weston_log_scope_timestamp@Base 7.0.0 + weston_log_scope_vprintf@Base 7.0.0 + weston_log_scope_write@Base 7.0.0 + weston_log_set_handler@Base 1.12.0 + weston_log_subscribe@Base 7.0.0 + weston_log_subscriber_create_flight_rec@Base 7.0.0 + weston_log_subscriber_create_log@Base 7.0.0 + weston_log_subscriber_destroy@Base 9.0.0 + weston_log_subscriber_display_flight_rec@Base 7.0.0 + weston_log_subscription_complete@Base 7.0.0 + weston_log_subscription_iterate@Base 8.0.0 + weston_log_subscription_printf@Base 7.0.0 + weston_matrix_init@Base 1.12.0 + weston_matrix_invert@Base 1.12.0 + weston_matrix_multiply@Base 1.12.0 + weston_matrix_rotate_xy@Base 1.12.0 + weston_matrix_scale@Base 1.12.0 + weston_matrix_transform@Base 1.12.0 + weston_matrix_transform_region@Base 1.12.0 + weston_matrix_translate@Base 1.12.0 + weston_module_path_from_env@Base 5.0.0 + weston_move_run@Base 3.0.0 + weston_move_scale_run@Base 1.12.0 + weston_output_activate_zoom@Base 1.12.0 + weston_output_add_destroy_listener@Base 5.0.0 + weston_output_allow_protection@Base 7.0.0 + weston_output_attach_head@Base 5.0.0 + weston_output_damage@Base 1.12.0 + weston_output_destroy@Base 5.0.0 + weston_output_disable@Base 3.0.0 + weston_output_disable_planes_decr@Base 8.0.0 + weston_output_disable_planes_incr@Base 8.0.0 + weston_output_enable@Base 3.0.0 + weston_output_finish_frame@Base 1.12.0 + weston_output_get_destroy_listener@Base 5.0.0 + weston_output_get_first_head@Base 5.0.0 + weston_output_init@Base 1.12.0 + weston_output_init_zoom@Base 1.12.0 + weston_output_iterate_heads@Base 5.0.0 + weston_output_mode_set_native@Base 1.12.0 + weston_output_mode_switch_to_native@Base 1.12.0 + weston_output_mode_switch_to_temporary@Base 1.12.0 + weston_output_move@Base 1.12.0 + weston_output_release@Base 4.0.0 + weston_output_schedule_repaint@Base 1.12.0 + weston_output_set_scale@Base 3.0.0 + weston_output_set_transform@Base 3.0.0 + weston_output_transform_coordinate@Base 1.12.0 + weston_output_update_zoom@Base 1.12.0 + weston_plane_init@Base 1.12.0 + weston_plane_release@Base 1.12.0 + weston_plugin_api_get@Base 1.12.0 + weston_plugin_api_register@Base 1.12.0 + weston_pointer_clamp@Base 1.12.0 + weston_pointer_clear_focus@Base 1.12.0 + weston_pointer_end_grab@Base 1.12.0 + weston_pointer_has_focus_resource@Base 1.12.0 + weston_pointer_motion_to_abs@Base 1.12.0 + weston_pointer_move@Base 1.12.0 + weston_pointer_send_axis@Base 1.12.0 + weston_pointer_send_axis_source@Base 1.12.0 + weston_pointer_send_button@Base 1.12.0 + weston_pointer_send_frame@Base 1.12.0 + weston_pointer_send_motion@Base 1.12.0 + weston_pointer_set_focus@Base 1.12.0 + weston_pointer_start_drag@Base 1.12.0 + weston_pointer_start_grab@Base 1.12.0 + weston_primary_flight_recorder_ring_buffer@Base 8.0.0 + weston_recorder_start@Base 1.12.0 + weston_recorder_stop@Base 1.12.0 + weston_screenshooter_shoot@Base 1.12.0 + weston_seat_get_keyboard@Base 1.12.0 + weston_seat_get_pointer@Base 1.12.0 + weston_seat_get_touch@Base 1.12.0 + weston_seat_init@Base 1.12.0 + weston_seat_init_keyboard@Base 1.12.0 + weston_seat_init_pointer@Base 1.12.0 + weston_seat_init_touch@Base 1.12.0 + weston_seat_release@Base 1.12.0 + weston_seat_release_keyboard@Base 1.12.0 + weston_seat_release_pointer@Base 1.12.0 + weston_seat_release_touch@Base 1.12.0 + weston_seat_repick@Base 1.12.0 + weston_seat_send_selection@Base 1.12.0 + weston_seat_set_keyboard_focus@Base 1.12.0 + weston_seat_set_selection@Base 1.12.0 + weston_seat_update_keymap@Base 1.12.0 + weston_slide_run@Base 1.12.0 + weston_spring_done@Base 1.12.0 + weston_spring_init@Base 1.12.0 + weston_spring_update@Base 1.12.0 + weston_stable_fade_run@Base 1.12.0 + weston_surface_copy_content@Base 1.12.0 + weston_surface_create@Base 1.12.0 + weston_surface_damage@Base 1.12.0 + weston_surface_destroy@Base 1.12.0 + weston_surface_get_bounding_box@Base 1.12.0 + weston_surface_get_content_size@Base 1.12.0 + weston_surface_get_main_surface@Base 1.12.0 + weston_surface_get_role@Base 1.12.0 + weston_surface_is_mapped@Base 1.12.0 + weston_surface_schedule_repaint@Base 1.12.0 + weston_surface_set_color@Base 1.12.0 + weston_surface_set_label_func@Base 1.12.0 + weston_surface_set_role@Base 1.12.0 + weston_surface_set_size@Base 1.12.0 + weston_surface_to_buffer_float@Base 1.12.0 + weston_surface_to_buffer_rect@Base 1.12.0 + weston_surface_to_buffer_region@Base 1.12.0 + weston_surface_unmap@Base 1.12.0 + weston_timeline_point@Base 1.12.0 + weston_timeline_refresh_subscription_objects@Base 8.0.0 + weston_touch_create_touch_device@Base 5.0.0 + weston_touch_device_can_calibrate@Base 5.0.0 + weston_touch_device_destroy@Base 5.0.0 + weston_touch_end_grab@Base 1.12.0 + weston_touch_has_focus_resource@Base 1.12.0 + weston_touch_send_down@Base 1.12.0 + weston_touch_send_frame@Base 1.12.0 + weston_touch_send_motion@Base 1.12.0 + weston_touch_send_up@Base 1.12.0 + weston_touch_set_focus@Base 1.12.0 + weston_touch_start_drag@Base 1.12.0 + weston_touch_start_grab@Base 1.12.0 + weston_transformed_coord@Base 1.12.0 + weston_transformed_rect@Base 1.12.0 + weston_transformed_region@Base 1.12.0 + weston_version@Base 1.12.0 + weston_view_activate@Base 1.12.0 + weston_view_animation_destroy@Base 1.12.0 + weston_view_create@Base 1.12.0 + weston_view_damage_below@Base 1.12.0 + weston_view_destroy@Base 1.12.0 + weston_view_from_global@Base 1.12.0 + weston_view_from_global_fixed@Base 1.12.0 + weston_view_from_global_float@Base 1.12.0 + weston_view_geometry_dirty@Base 1.12.0 + weston_view_has_valid_buffer@Base 8.0.0 + weston_view_is_mapped@Base 1.12.0 + weston_view_is_opaque@Base 6.0 + weston_view_matches_output_entirely@Base 8.0.0 + weston_view_move_to_plane@Base 1.12.0 + weston_view_schedule_repaint@Base 1.12.0 + weston_view_set_mask@Base 1.12.0 + weston_view_set_mask_infinite@Base 1.12.0 + weston_view_set_output@Base 5.0.0 + weston_view_set_position@Base 1.12.0 + weston_view_set_transform_parent@Base 1.12.0 + weston_view_to_global_fixed@Base 1.12.0 + weston_view_to_global_float@Base 1.12.0 + weston_view_unmap@Base 1.12.0 + weston_view_update_transform@Base 1.12.0 + weston_vlog@Base 1.12.0 + weston_vlog_continue@Base 1.12.0 + weston_zoom_run@Base 1.12.0 + wl_data_device_manager_init@Base 1.12.0 + wl_data_device_set_keyboard_focus@Base 1.12.0 +libweston-desktop-9.so.0 libweston-9-0 #MINVER# + weston_desktop_client_for_each_surface@Base 9.0.0 + weston_desktop_client_get_client@Base 9.0.0 + weston_desktop_client_ping@Base 9.0.0 + weston_desktop_create@Base 9.0.0 + weston_desktop_destroy@Base 9.0.0 + weston_desktop_surface_add_metadata_listener@Base 9.0.0 + weston_desktop_surface_close@Base 9.0.0 + weston_desktop_surface_create_view@Base 9.0.0 + weston_desktop_surface_get_activated@Base 9.0.0 + weston_desktop_surface_get_app_id@Base 9.0.0 + weston_desktop_surface_get_client@Base 9.0.0 + weston_desktop_surface_get_fullscreen@Base 9.0.0 + weston_desktop_surface_get_geometry@Base 9.0.0 + weston_desktop_surface_get_max_size@Base 9.0.0 + weston_desktop_surface_get_maximized@Base 9.0.0 + weston_desktop_surface_get_min_size@Base 9.0.0 + weston_desktop_surface_get_pid@Base 9.0.0 + weston_desktop_surface_get_resizing@Base 9.0.0 + weston_desktop_surface_get_surface@Base 9.0.0 + weston_desktop_surface_get_title@Base 9.0.0 + weston_desktop_surface_get_user_data@Base 9.0.0 + weston_desktop_surface_propagate_layer@Base 9.0.0 + weston_desktop_surface_set_activated@Base 9.0.0 + weston_desktop_surface_set_fullscreen@Base 9.0.0 + weston_desktop_surface_set_maximized@Base 9.0.0 + weston_desktop_surface_set_resizing@Base 9.0.0 + weston_desktop_surface_set_size@Base 9.0.0 + weston_desktop_surface_set_user_data@Base 9.0.0 + weston_desktop_surface_unlink_view@Base 9.0.0 + weston_seat_break_desktop_grabs@Base 9.0.0 + weston_surface_get_desktop_surface@Base 9.0.0 + weston_surface_is_desktop_surface@Base 9.0.0 --- weston-9.0.0.orig/debian/libweston-9-dev.install +++ weston-9.0.0/debian/libweston-9-dev.install @@ -0,0 +1,8 @@ +usr/include/libweston-9 +usr/lib/*/libweston-9.so +usr/lib/*/libweston-desktop-9.so +usr/lib/*/pkgconfig/libweston-9.pc +usr/lib/*/pkgconfig/libweston-desktop-9.pc +usr/share/libweston-9/protocols/weston-debug.xml +usr/share/libweston-9/protocols/weston-direct-display.xml +usr/share/pkgconfig/libweston-9-protocols.pc --- weston-9.0.0.orig/debian/rules +++ weston-9.0.0/debian/rules @@ -0,0 +1,37 @@ +#!/usr/bin/make -f + +override_dh_auto_configure: + dh_auto_configure -- -Dscreenshare=true \ + -Dsystemd=true -Dsimple-dmabuf-drm=auto + +override_dh_auto_test: + mkdir -p $(CURDIR)/debian/tmp/tmp/xdgruntimedir + XDG_RUNTIME_DIR=$(CURDIR)/debian/tmp/tmp/xdgruntimedir dh_auto_test || true + +override_dh_missing: + dh_missing --fail-missing -X.la + +override_dh_makeshlibs: + dh_makeshlibs -Xlibweston-9/ -- -c4 -ldebian/weston/usr/lib/$(DEB_TARGET_MULTIARCH)/weston/ + +override_dh_shlibdeps: + dh_shlibdeps -O--buildsystem=meson -- -ldebian/weston/usr/lib/$(DEB_TARGET_MULTIARCH)/weston/ + +override_dh_fixperms: + dh_fixperms -Xusr/bin/weston-launch + +# Workaround for https://gitlab.freedesktop.org/wayland/weston/issues/269 +override_dh_install: + sed -e '/libdir=/d' \ + -e '/includedir=/d' \ + -i debian/tmp/usr/share/pkgconfig/libweston-9-protocols.pc + dh_install + +%: + dh $@ --with quilt --buildsystem=meson + +# For maintainer use only, generate a tarball: +gentarball: SOURCE=$(shell dpkg-parsechangelog|awk '/^Source:/ {print $$2}') +gentarball: UV=$(shell dpkg-parsechangelog|awk '/^Version:/ {print $$2}'|sed 's/-.*$$//') +gentarball: + git archive --format=tar upstream-unstable --prefix=$(SOURCE)-$(UV)/ | gzip -9 > ../$(SOURCE)_$(UV).orig.tar.gz --- weston-9.0.0.orig/debian/watch +++ weston-9.0.0/debian/watch @@ -0,0 +1,3 @@ +#git=git://anongit.freedesktop.org/wayland/weston +version=3 +https://wayland.freedesktop.org/releases.html releases/weston-(.*)\.tar\.xz --- weston-9.0.0.orig/debian/weston.install +++ weston-9.0.0/debian/weston.install @@ -0,0 +1,21 @@ +usr/bin/wcap-decode +usr/bin/weston +usr/bin/weston-* +usr/include/weston +usr/lib/*/pkgconfig/weston.pc +usr/lib/*/weston-desktop-shell +usr/lib/*/weston-ivi-shell-user-interface +usr/lib/*/weston-keyboard +usr/lib/*/weston-simple-im +usr/lib/*/weston/cms-colord.so +usr/lib/*/weston/cms-static.so +usr/lib/*/weston/desktop-shell.so +usr/lib/*/weston/fullscreen-shell.so +usr/lib/*/weston/hmi-controller.so +usr/lib/*/weston/ivi-shell.so +usr/lib/*/weston/kiosk-shell.so +usr/lib/*/weston/libexec_weston.so* +usr/lib/*/weston/screen-share.so +usr/lib/*/weston/systemd-notify.so +usr/share/wayland-sessions/weston.desktop +usr/share/weston --- weston-9.0.0.orig/debian/weston.lintian-overrides +++ weston-9.0.0/debian/weston.lintian-overrides @@ -0,0 +1 @@ +weston: setuid-binary usr/bin/weston-launch 4755 root/root --- weston-9.0.0.orig/debian/weston.manpages +++ weston-9.0.0/debian/weston.manpages @@ -0,0 +1,6 @@ +debian/tmp/usr/share/man/man1/weston-debug.1 +debian/tmp/usr/share/man/man1/weston.1 +debian/tmp/usr/share/man/man5/weston.ini.5 +debian/tmp/usr/share/man/man7/weston-bindings.7 +debian/tmp/usr/share/man/man7/weston-drm.7 +debian/tmp/usr/share/man/man7/weston-rdp.7 --- weston-9.0.0.orig/debian/weston.postinst +++ weston-9.0.0/debian/weston.postinst @@ -0,0 +1,42 @@ +#!/bin/sh +# postinst script for weston +# +# see: dh_installdeb(1) + +set -e + +# summary of how this script can be called: +# * `configure' +# * `abort-upgrade' +# * `abort-remove' `in-favour' +# +# * `abort-remove' +# * `abort-deconfigure' `in-favour' +# `removing' +# +# for details, see http://www.debian.org/doc/debian-policy/ or +# the debian-policy package + + +case "$1" in + configure) + if ! getent group weston-launch >/dev/null; then + addgroup --quiet --system weston-launch + fi + ;; + + abort-upgrade|abort-remove|abort-deconfigure) + ;; + + *) + echo "postinst called with unknown argument \`$1'" >&2 + exit 1 + ;; +esac + +# dh_installdeb will replace this with shell code automatically +# generated by other debhelper scripts. + +#DEBHELPER# + +exit 0 --- weston-9.0.0.orig/pipewire/meson.build +++ weston-9.0.0/pipewire/meson.build @@ -5,17 +5,25 @@ error('Attempting to build the pipewire plugin without the required DRM backend. ' + user_hint) endif - depnames = [ - 'libpipewire-0.2', 'libspa-0.1' - ] deps_pipewire = [ dep_libweston_private ] - foreach depname : depnames - dep = dependency(depname, required: false) - if not dep.found() - error('Pipewire plugin requires @0@ which was not found. '.format(depname) + user_hint) - endif - deps_pipewire += dep - endforeach + + dep_libpipewire = dependency('libpipewire-0.3', required: false) + if not dep_libpipewire.found() + dep_libpipewire = dependency('libpipewire-0.2', required: false) + endif + if not dep_libpipewire.found() + error('Pipewire plugin requires libpipewire which was not found. ' + user_hint) + endif + deps_pipewire += dep_libpipewire + + dep_libspa = dependency('libspa-0.2', required: false) + if not dep_libspa.found() + dep_libspa = dependency('libspa-0.1', required: false) + endif + if not dep_libspa.found() + error('Pipewire plugin requires libspa which was not found. ' + user_hint) + endif + deps_pipewire += dep_libspa plugin_pipewire = shared_library( 'pipewire-plugin', --- weston-9.0.0.orig/pipewire/pipewire-plugin.c +++ weston-9.0.0/pipewire/pipewire-plugin.c @@ -34,20 +34,27 @@ #include #include +#include + #include #include #include -#include +#if PW_CHECK_VERSION(0, 2, 90) +#include +#include +#endif #define PROP_RANGE(min, max) 2, (min), (max) +#if !PW_CHECK_VERSION(0, 2, 90) struct type { struct spa_type_media_type media_type; struct spa_type_media_subtype media_subtype; struct spa_type_format_video format_video; struct spa_type_video_format video_format; }; +#endif struct weston_pipewire { struct weston_compositor *compositor; @@ -60,12 +67,19 @@ struct pw_loop *loop; struct wl_event_source *loop_source; +#if PW_CHECK_VERSION(0, 2, 90) + struct pw_context *context; +#endif struct pw_core *core; struct pw_type *t; +#if PW_CHECK_VERSION(0, 2, 90) + struct spa_hook core_listener; +#else struct type type; struct pw_remote *remote; struct spa_hook remote_listener; +#endif }; struct pipewire_output { @@ -100,6 +114,7 @@ struct wl_event_source *fence_sync_event_source; }; +#if !PW_CHECK_VERSION(0, 2, 90) static inline void init_type(struct type *type, struct spa_type_map *map) { spa_type_media_type_map(map, &type->media_type); @@ -107,6 +122,7 @@ spa_type_format_video_map(map, &type->format_video); spa_type_video_format_map(map, &type->video_format); } +#endif static void pipewire_debug_impl(struct weston_pipewire *pipewire, @@ -141,6 +157,7 @@ free(logstr); } +#if !PW_CHECK_VERSION(0, 2, 90) static void pipewire_debug(struct weston_pipewire *pipewire, const char *fmt, ...) { @@ -150,6 +167,7 @@ pipewire_debug_impl(pipewire, NULL, fmt, ap); va_end(ap); } +#endif static void pipewire_output_debug(struct pipewire_output *output, const char *fmt, ...) @@ -185,7 +203,9 @@ const struct weston_drm_virtual_output_api *api = output->pipewire->virtual_output_api; size_t size = output->output->height * stride; +#if !PW_CHECK_VERSION(0, 2, 90) struct pw_type *t = output->pipewire->t; +#endif struct pw_buffer *buffer; struct spa_buffer *spa_buffer; struct spa_meta_header *h; @@ -203,7 +223,12 @@ spa_buffer = buffer->buffer; +#if PW_CHECK_VERSION(0, 2, 90) + if ((h = spa_buffer_find_meta_data(spa_buffer, SPA_META_Header, + sizeof(struct spa_meta_header)))) { +#else if ((h = spa_buffer_find_meta(spa_buffer, t->meta.Header))) { +#endif h->pts = -1; h->flags = 0; h->seq = output->seq++; @@ -375,18 +400,40 @@ static int pipewire_output_connect(struct pipewire_output *output) { +#if !PW_CHECK_VERSION(0, 2, 90) struct weston_pipewire *pipewire = output->pipewire; struct type *type = &pipewire->type; +#endif uint8_t buffer[1024]; struct spa_pod_builder builder = SPA_POD_BUILDER_INIT(buffer, sizeof(buffer)); const struct spa_pod *params[1]; +#if !PW_CHECK_VERSION(0, 2, 90) struct pw_type *t = pipewire->t; +#endif int frame_rate = output->output->current_mode->refresh / 1000; int width = output->output->width; int height = output->output->height; int ret; +#if PW_CHECK_VERSION(0, 2, 90) + params[0] = spa_pod_builder_add_object(&builder, + SPA_TYPE_OBJECT_Format, SPA_PARAM_EnumFormat, + SPA_FORMAT_mediaType, SPA_POD_Id(SPA_MEDIA_TYPE_video), + SPA_FORMAT_mediaSubtype, SPA_POD_Id(SPA_MEDIA_SUBTYPE_raw), + SPA_FORMAT_VIDEO_format, SPA_POD_Id(SPA_VIDEO_FORMAT_BGRx), + SPA_FORMAT_VIDEO_size, SPA_POD_Rectangle(&SPA_RECTANGLE(width, height)), + SPA_FORMAT_VIDEO_framerate, SPA_POD_Fraction(&SPA_FRACTION (0, 1)), + SPA_FORMAT_VIDEO_maxFramerate, + SPA_POD_CHOICE_RANGE_Fraction(&SPA_FRACTION(frame_rate, 1), + &SPA_FRACTION(1, 1), + &SPA_FRACTION(frame_rate, 1))); + + ret = pw_stream_connect(output->stream, PW_DIRECTION_OUTPUT, SPA_ID_INVALID, + (PW_STREAM_FLAG_DRIVER | + PW_STREAM_FLAG_MAP_BUFFERS), + params, 1); +#else params[0] = spa_pod_builder_object(&builder, t->param.idEnumFormat, t->spa_format, "I", type->media_type.video, @@ -406,6 +453,7 @@ (PW_STREAM_FLAG_DRIVER | PW_STREAM_FLAG_MAP_BUFFERS), params, 1); +#endif if (ret != 0) { weston_log("Failed to connect pipewire stream: %s", spa_strerror(ret)); @@ -482,26 +530,42 @@ } static void +#if PW_CHECK_VERSION(0, 2, 90) +pipewire_output_stream_param_changed(void *data, uint32_t id, const struct spa_pod *format) +#else pipewire_output_stream_format_changed(void *data, const struct spa_pod *format) +#endif { struct pipewire_output *output = data; +#if !PW_CHECK_VERSION(0, 2, 90) struct weston_pipewire *pipewire = output->pipewire; +#endif uint8_t buffer[1024]; struct spa_pod_builder builder = SPA_POD_BUILDER_INIT(buffer, sizeof(buffer)); const struct spa_pod *params[2]; +#if !PW_CHECK_VERSION(0, 2, 90) struct pw_type *t = pipewire->t; +#endif int32_t width, height, stride, size; const int bpp = 4; if (!format) { pipewire_output_debug(output, "format = None"); +#if PW_CHECK_VERSION(0, 2, 90) + pw_stream_update_params(output->stream, NULL, 0); +#else pw_stream_finish_format(output->stream, 0, NULL, 0); +#endif return; } +#if PW_CHECK_VERSION(0, 2, 90) + spa_format_video_raw_parse(format, &output->video_format); +#else spa_format_video_raw_parse(format, &output->video_format, &pipewire->type.format_video); +#endif width = output->video_format.size.width; height = output->video_format.size.height; @@ -510,6 +574,21 @@ pipewire_output_debug(output, "format = %dx%d", width, height); +#if PW_CHECK_VERSION(0, 2, 90) + params[0] = spa_pod_builder_add_object(&builder, + SPA_TYPE_OBJECT_ParamBuffers, SPA_PARAM_Buffers, + SPA_PARAM_BUFFERS_size, SPA_POD_Int(size), + SPA_PARAM_BUFFERS_stride, SPA_POD_Int(stride), + SPA_PARAM_BUFFERS_buffers, SPA_POD_CHOICE_RANGE_Int(4, 2, 8), + SPA_PARAM_BUFFERS_align, SPA_POD_Int(16)); + + params[1] = spa_pod_builder_add_object(&builder, + SPA_TYPE_OBJECT_ParamMeta, SPA_PARAM_Meta, + SPA_PARAM_META_type, SPA_POD_Id(SPA_META_Header), + SPA_PARAM_META_size, SPA_POD_Int(sizeof(struct spa_meta_header))); + + pw_stream_update_params(output->stream, params, 2); +#else params[0] = spa_pod_builder_object(&builder, t->param.idBuffers, t->param_buffers.Buffers, ":", t->param_buffers.size, @@ -527,12 +606,17 @@ ":", t->param_meta.size, "i", sizeof(struct spa_meta_header)); pw_stream_finish_format(output->stream, 0, params, 2); +#endif } static const struct pw_stream_events stream_events = { PW_VERSION_STREAM_EVENTS, .state_changed = pipewire_output_stream_state_changed, +#if PW_CHECK_VERSION(0, 2, 90) + .param_changed = pipewire_output_stream_param_changed, +#else .format_changed = pipewire_output_stream_format_changed, +#endif }; static struct weston_output * @@ -560,7 +644,11 @@ if (!head) goto err; +#if PW_CHECK_VERSION(0, 2, 90) + output->stream = pw_stream_new(pipewire->core, name, NULL); +#else output->stream = pw_stream_new(pipewire->remote, name, NULL); +#endif if (!output->stream) { weston_log("Cannot initialize pipewire stream\n"); goto err; @@ -704,6 +792,14 @@ return 0; } +#if PW_CHECK_VERSION(0, 2, 90) +static void +weston_pipewire_error(void *data, uint32_t id, int seq, int res, + const char *error) +{ + weston_log("pipewire remote error: %s\n", error); +} +#else static void weston_pipewire_state_changed(void *data, enum pw_remote_state old, enum pw_remote_state state, const char *error) @@ -725,12 +821,20 @@ break; } } +#endif +#if PW_CHECK_VERSION(0, 2, 90) +static const struct pw_core_events core_events = { + PW_VERSION_CORE_EVENTS, + .error = weston_pipewire_error, +}; +#else static const struct pw_remote_events remote_events = { PW_VERSION_REMOTE_EVENTS, .state_changed = weston_pipewire_state_changed, }; +#endif static int weston_pipewire_init(struct weston_pipewire *pipewire) @@ -745,10 +849,19 @@ pw_loop_enter(pipewire->loop); +#if PW_CHECK_VERSION(0, 2, 90) + pipewire->context = pw_context_new(pipewire->loop, NULL, 0); +#else pipewire->core = pw_core_new(pipewire->loop, NULL); pipewire->t = pw_core_get_type(pipewire->core); init_type(&pipewire->type, pipewire->t->map); +#endif +#if PW_CHECK_VERSION(0, 2, 90) + pw_core_add_listener(pipewire->core, + &pipewire->core_listener, + &core_events, pipewire); +#else pipewire->remote = pw_remote_new(pipewire->core, NULL, 0); pw_remote_add_listener(pipewire->remote, &pipewire->remote_listener, @@ -777,6 +890,7 @@ goto err; } } +#endif loop = wl_display_get_event_loop(pipewire->compositor->wl_display); pipewire->loop_source = @@ -786,12 +900,14 @@ pipewire); return 0; +#if !PW_CHECK_VERSION(0, 2, 90) err: if (pipewire->remote) pw_remote_destroy(pipewire->remote); pw_loop_leave(pipewire->loop); pw_loop_destroy(pipewire->loop); return -1; +#endif } static const struct weston_pipewire_api pipewire_api = {