# SPDX-License-Identifier: GPLv3+ # # 12to11 - Wayland to X11 protocol translator # Active fork by fish4terrisa-MSDSM (original SourceForge project is unmaintained). # # On Fedora: libXpresent-devel is in the main repositories. # On EL9/EL10: libXpresent-devel is NOT in the main repos. Enable the # xlibre COPR first: # dnf copr enable @xlibre/xlibre-xserver # or build/install libXpresent from source (https://gitlab.freedesktop.org/xorg/lib/libxpresent). # On EL9: libXi-devel >= 1.8 is also not in the main repos (EL9 ships # 1.7.10, which lacks the XI 2.4 gesture event types). A newer libXi # is built in this COPR project; enable it for local builds. # # Since v1.0.0 the build uses a plain Makefile; the legacy imake/xmkmf # build system is no longer needed. Name: 12to11 Version: 1.0.0 Release: 3%{?dist} Summary: Wayland to X11 protocol translator License: GPL-3.0-only URL: https://github.com/fish4terrisa-MSDSM/12to11 Source0: %{url}/archive/refs/tags/v%{version}/%{name}-%{version}.tar.gz # EL9 ships wayland 1.21, which lacks WL_SUBCOMPOSITOR_ERROR_BAD_PARENT # (added in wayland 1.22). Patch0 must be declared unconditionally: # COPR's SRPM import parses this spec on Fedora (where %%{?rhel} is # undefined), so a conditional Patch tag would never be collected. # The patch is only applied on EL9 (see %%prep). Patch0: 12to11-1.0.0-wayland-1.21-compat.patch # Build dependencies BuildRequires: make BuildRequires: gcc BuildRequires: pkgconf-pkg-config BuildRequires: gawk BuildRequires: wayland-devel BuildRequires: libX11-devel BuildRequires: libXext-devel BuildRequires: libXrandr-devel BuildRequires: libXrender-devel BuildRequires: libXfixes-devel # libXi >= 1.8 for the XIGesturePinchEvent/XIGestureSwipeEvent types. # On EL9 a newer libXi is provided by this COPR project itself. BuildRequires: libXi-devel >= 1.8 BuildRequires: libxcb-devel BuildRequires: pixman-devel BuildRequires: libdrm-devel BuildRequires: libXcursor-devel BuildRequires: libxshmfence-devel BuildRequires: libxkbfile-devel # libXpresent-devel: in Fedora main; in the xlibre COPR on EL9/EL10. BuildRequires: libXpresent-devel # EGL + GLESv2 development files (libglvnd-devel provides the headers # and .so symlinks; mesa-libEGL-devel provides Mesa-specific EGL headers). BuildRequires: mesa-libEGL-devel BuildRequires: libglvnd-devel Requires: libglvnd-egl%{?_isa} Requires: libglvnd-gles%{?_isa} %description 12to11 is a Wayland compositor that runs as a regular X11 client, displaying Wayland applications as normal X windows. It implements a broad set of Wayland protocols including wl_data_device_manager (clipboard), zwp_linux_dmabuf_v1, xdg_wm_base, zwp_text_input_manager_v3, and more. When built with EGL support (the upstream default), it uses OpenGL ES 2.0 for rendering, enabling YUV video format support and hardware-accelerated compositing. This is particularly useful for running Wayland-only applications (such as Waydroid) under X11 without a nested compositor like Weston. Clipboard sharing between Wayland clients and the X11 session is handled natively, without requiring external bridge scripts. This package tracks the actively maintained fork by fish4terrisa-MSDSM; the original SourceForge project has been unmaintained since 2022. %prep %autosetup -N %if 0%{?rhel} == 9 %patch0 -p1 %endif %build # Export the RPM build flags: the Makefile uses CFLAGS ?= / LDFLAGS += # so exported values are picked up (and -pthread is still appended). export CFLAGS="%{optflags}" export LDFLAGS="%{?build_ldflags}" # ANALYZE=0 disables GCC's -fanalyzer (on by default upstream); it only # produces diagnostics and slows the build down considerably. %make_build ANALYZE=0 %install %{make_install} DESTDIR=%{buildroot} PREFIX=%{_prefix} BINDIR=%{_bindir} MANDIR=%{_mandir} %files %license COPYING %doc README.md %{_bindir}/12to11 %{_mandir}/man1/12to11.1* %changelog * Tue Sep 15 2026 Anders da Silva Rytter Hansen - 1.0.0-3 - Add patch defining WL_SUBCOMPOSITOR_ERROR_BAD_PARENT for wayland < 1.22; applied only on EL9 (which ships wayland 1.21). * Tue Sep 15 2026 Anders da Silva Rytter Hansen - 1.0.0-2 - Require libXi-devel >= 1.8 for the XI 2.4 gesture event types; on EL9 the newer libXi is supplied by this COPR project (EL9 ships 1.7.10). * Tue Sep 15 2026 Anders da Silva Rytter Hansen - 1.0.0-1 - Update to v1.0.0, the first stable release of the fork. - Switch from imake/xmkmf to the new upstream Makefile build system. - Add libXrender-devel, libXfixes-devel and pkgconf-pkg-config BuildRequires. * Thu Sep 03 2026 Anders da Silva Rytter Hansen - 0-0.1.20260824gitb6745cc - Initial RPM package for 12to11 (fish4terrisa-MSDSM fork). - Built with EGL/GLESv2 rendering support. - Snapshot from commit b6745cc (2026-08-24).