Skip to content

Commit

Permalink
Merge pull request #167 from jwijenbergh/wlr-0.17
Browse files Browse the repository at this point in the history
Support wlroots 0.17
  • Loading branch information
flacjacket authored May 13, 2024
2 parents 8cbea97 + 2477830 commit cff7228
Show file tree
Hide file tree
Showing 36 changed files with 590 additions and 770 deletions.
31 changes: 24 additions & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,25 +14,28 @@ jobs:
libdrm-version: "2.4.114"
seatd-version: "0.6.4"
pixman-version: "0.42.0"
xwayland-version: "22.1.9"
hwdata-version: "0.364"
wayland-version: "1.22.0"
wayland-protocols-version: "1.31"
wayland-protocols-version: "1.32"
strategy:
fail-fast: false
matrix:
wlroots-version: ["0.16.2", master]
wlroots-version: ["0.17.3", master]
steps:
- name: Install dependencies
run: |
sudo apt update
sudo apt-get install -y --no-install-recommends \
libepoxy-dev \
libegl1-mesa-dev \
libgbm-dev \
libgles2-mesa-dev \
libinput-dev \
libpciaccess-dev \
libxcb-composite0-dev \
libxcb-dri3-dev \
libxcb-ewmh-dev \
libxcb-icccm4-dev \
libxcb-image0-dev \
libxcb-present-dev \
Expand All @@ -41,9 +44,12 @@ jobs:
libxcb-xfixes0-dev \
libxcb-xinput-dev \
libxcb1-dev \
libxfont-dev \
libxkbcommon-dev \
ninja-build \
xwayland
libxshmfence-dev \
xfonts-utils \
xserver-xorg-dev \
ninja-build
sudo pip install meson
- name: Set environment variables
run: |
Expand All @@ -55,13 +61,15 @@ jobs:
run: |
wget $WAYLAND_URL
wget $WAYLAND_PROTOCOLS_URL
wget $XWAYLAND_URL
wget $LIBDRM_URL
wget -O seatd.tar.gz $SEATD_URL
wget $PIXMAN_URL
wget -O hwdata.tar.gz $HWDATA_URL
wget -O wlroots.tar.gz $WLROOTS_URL
tar -xJf wayland-${{ env.wayland-version }}.tar.xz
tar -xJf wayland-protocols-${{ env.wayland-protocols-version }}.tar.xz
tar -xzf xserver-xwayland-${{ env.xwayland-version }}.tar.gz
tar -xzf drm-libdrm-${{ env.libdrm-version }}.tar.gz
tar -xzf seatd.tar.gz
tar -xjf pixman-pixman-${{ env.pixman-version }}.tar.bz2
Expand All @@ -70,6 +78,7 @@ jobs:
env:
WAYLAND_URL: https://gitlab.freedesktop.org/wayland/wayland/-/releases/${{ env.wayland-version }}/downloads/wayland-${{ env.wayland-version }}.tar.xz
WAYLAND_PROTOCOLS_URL: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/${{ env.wayland-protocols-version }}/downloads/wayland-protocols-${{ env.wayland-protocols-version }}.tar.xz
XWAYLAND_URL: https://gitlab.freedesktop.org/xorg/xserver/-/archive/xwayland-${{ env.xwayland-version }}/xserver-xwayland-${{ env.xwayland-version }}.tar.gz
LIBDRM_URL: https://gitlab.freedesktop.org/mesa/drm/-/archive/libdrm-${{ env.libdrm-version }}/drm-libdrm-${{ env.libdrm-version }}.tar.gz
SEATD_URL: https://git.sr.ht/~kennylevinsen/seatd/archive/${{ env.seatd-version }}.tar.gz
PIXMAN_URL: https://gitlab.freedesktop.org/pixman/pixman/-/archive/pixman-${{ env.pixman-version }}/pixman-pixman-${{ env.pixman-version }}.tar.bz2
Expand Down Expand Up @@ -116,6 +125,13 @@ jobs:
./configure --prefix=/usr --libdir=/lib --datadir=/usr/share
make
sudo make install
- name: Build xwayland
working-directory: xserver-xwayland-${{ env.xwayland-version }}
run: |
meson build --prefix=/usr
ninja -C build
DESTDIR=~/wayland ninja -C build install
sudo ninja -C build install
- name: Build wlroots
working-directory: wlroots-${{ matrix.wlroots-version }}
continue-on-error: ${{ matrix.wlroots-version == 'master' }}
Expand Down Expand Up @@ -147,7 +163,7 @@ jobs:
- "pypy-3.8"
- "pypy-3.9"
- "pypy-3.10"
wlroots-version: ["0.16.2"]
wlroots-version: ["0.17.3"]
include:
- python-version: "3.12"
wlroots-version: master
Expand All @@ -174,6 +190,7 @@ jobs:
libinput-dev \
libpciaccess-dev \
libxcb-composite0-dev \
libxcb-ewmh-dev \
libxcb-dri3-dev \
libxcb-icccm4-dev \
libxcb-image0-dev \
Expand Down Expand Up @@ -262,7 +279,7 @@ jobs:
needs: build-wayland
env:
python-version: "3.12"
wlroots-version: "0.16.2"
wlroots-version: "0.17.3"
steps:
- name: Download wayland libraries
uses: actions/download-artifact@v3
Expand Down Expand Up @@ -298,7 +315,7 @@ jobs:
needs: build-wayland
env:
python-version: "3.12"
wlroots-version: "0.16.2"
wlroots-version: "0.17.3"
steps:
- name: Download wayland libraries
uses: actions/download-artifact@v3
Expand Down
47 changes: 44 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,29 +13,40 @@ jobs:
libdrm-version: "2.4.114"
seatd-version: "0.6.3"
pixman-version: "0.42.0"
wayland-protocols-version: "1.31"
xwayland-version: "22.1.9"
xcvt-version: "0.1.2"
inputproto-version: "2021.5"
wayland-protocols-version: "1.32"
wayland-version: "1.22.0"
wlroots-version: "0.16.2"
wlroots-version: "0.17.3"
steps:
- name: Install dependencies
run: |
yum -y install \
hwdata \
python3-pip \
libepoxy-devel \
libffi-devel \
libinput-devel \
libpciaccess-devel \
libtirpc-devel \
libudev-devel \
libXdmcp-devel \
libXfont2-devel \
libxkbcommon-x11-devel \
libxkbfile-devel \
libxml2-devel \
libxshmfence-devel \
mesa-libEGL-devel \
mesa-libgbm-devel \
openssl-devel \
xcb-util-devel \
xcb-util-image-devel \
xcb-util-keysyms-devel \
xcb-util-renderutil-devel \
xcb-util-wm-devel \
xorg-x11-server-Xwayland \
xorg-x11-font-utils \
xorg-x11-xtrans-devel \
ninja-build \
wget
- name: Set environment variables
Expand All @@ -48,19 +59,28 @@ jobs:
run: |
wget $WAYLAND_URL
wget $WAYLAND_PROTOCOLS_URL
wget $XCVT_URL
wget $INPUTPROTO_URL
wget $XWAYLAND_URL
wget $LIBDRM_URL
wget -O seatd.tar.gz $SEATD_URL
wget $PIXMAN_URL
wget -O wlroots.tar.gz $WLROOTS_URL
tar -xJf wayland-${{ env.wayland-version }}.tar.xz
tar -xJf wayland-protocols-${{ env.wayland-protocols-version }}.tar.xz
tar -xzf xorgproto-xorgproto-${{ env.inputproto-version }}.tar.gz
tar -xzf libxcvt-libxcvt-${{ env.xcvt-version }}.tar.gz
tar -xzf xserver-xwayland-${{ env.xwayland-version }}.tar.gz
tar -xzf drm-libdrm-${{ env.libdrm-version }}.tar.gz
tar -xjf pixman-pixman-${{ env.pixman-version }}.tar.bz2
tar -xzf seatd.tar.gz
tar -xzf wlroots.tar.gz
env:
WAYLAND_URL: https://gitlab.freedesktop.org/wayland/wayland/-/releases/${{ env.wayland-version }}/downloads/wayland-${{ env.wayland-version }}.tar.xz
WAYLAND_PROTOCOLS_URL: https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/${{ env.wayland-protocols-version }}/downloads/wayland-protocols-${{ env.wayland-protocols-version }}.tar.xz
XWAYLAND_URL: https://gitlab.freedesktop.org/xorg/xserver/-/archive/xwayland-${{ env.xwayland-version }}/xserver-xwayland-${{ env.xwayland-version }}.tar.gz
XCVT_URL: https://gitlab.freedesktop.org/xorg/lib/libxcvt/-/archive/libxcvt-${{ env.xcvt-version }}/libxcvt-libxcvt-${{ env.xcvt-version }}.tar.gz
INPUTPROTO_URL: https://gitlab.freedesktop.org/xorg/proto/xorgproto/-/archive/xorgproto-${{ env.inputproto-version}}/xorgproto-xorgproto-${{ env.inputproto-version}}.tar.gz
LIBDRM_URL: https://gitlab.freedesktop.org/mesa/drm/-/archive/libdrm-${{ env.libdrm-version }}/drm-libdrm-${{ env.libdrm-version }}.tar.gz
SEATD_URL: https://git.sr.ht/~kennylevinsen/seatd/archive/${{ env.seatd-version }}.tar.gz
PIXMAN_URL: https://gitlab.freedesktop.org/pixman/pixman/-/archive/pixman-${{ env.pixman-version }}/pixman-pixman-${{ env.pixman-version }}.tar.bz2
Expand Down Expand Up @@ -103,6 +123,27 @@ jobs:
ninja -C build
DESTDIR=~/wayland ninja -C build install
ninja -C build install
- name: Build inputproto
working-directory: xorgproto-xorgproto-${{ env.inputproto-version }}
run: |
meson build --prefix=/usr
ninja -C build
DESTDIR=~/wayland ninja -C build install
ninja -C build install
- name: Build libxcvt
working-directory: libxcvt-libxcvt-${{ env.xcvt-version }}
run: |
meson build --prefix=/usr
ninja -C build
DESTDIR=~/wayland ninja -C build install
ninja -C build install
- name: Build xwayland
working-directory: xserver-xwayland-${{ env.xwayland-version }}
run: |
meson build --prefix=/usr
ninja -C build
DESTDIR=~/wayland ninja -C build install
ninja -C build install
- name: Build wlroots
working-directory: wlroots-${{ env.wlroots-version }}
run: |
Expand Down
6 changes: 6 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
0.17.0 -- 2024-mm-dd
------
* Support for wlroots 0.17.x
* **Breaking change** Rename all declarations of XdgTopLevel.* to XdgToplevel.*


0.16.9 -- 2024-05-12
--------------------
* Fixed ``Seat.touch_point_clear_focus``: The method took too many arguments
Expand Down
1 change: 0 additions & 1 deletion check_headers.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
"unstable/pointer-constraints/pointer-constraints-unstable-v1.xml",
]
WLROOTS_PROTOCOLS = [
"protocol/idle.xml",
"protocol/wlr-output-power-management-unstable-v1.xml",
"protocol/wlr-layer-shell-unstable-v1.xml",
]
Expand Down
5 changes: 3 additions & 2 deletions tiny/__main__.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,11 +35,11 @@ def main(argv) -> None:
xdg_shell = XdgShell(display)
with OutputLayout() as output_layout, Cursor(
output_layout
) as cursor, XCursorManager(24) as xcursor_manager, Seat(
) as cursor, XCursorManager(None, 24) as xcursor_manager, Seat(
display, "seat0"
) as seat:
scene = Scene()
scene.attach_output_layout(output_layout)
scene_layout = scene.attach_output_layout(output_layout)
tinywl_server = TinywlServer( # noqa: F841
display=display,
backend=backend,
Expand All @@ -51,6 +51,7 @@ def main(argv) -> None:
cursor_manager=xcursor_manager,
seat=seat,
output_layout=output_layout,
scene_layout=scene_layout,
)

socket = display.add_socket()
Expand Down
Loading

0 comments on commit cff7228

Please sign in to comment.