2026-09-03 17:08:00 +02:00
|
|
|
# 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).
|
2026-09-15 16:04:44 +02:00
|
|
|
# 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.
|
2026-09-03 17:08:00 +02:00
|
|
|
#
|
2026-09-15 13:28:24 +02:00
|
|
|
# Since v1.0.0 the build uses a plain Makefile; the legacy imake/xmkmf
|
|
|
|
|
# build system is no longer needed.
|
2026-09-03 17:08:00 +02:00
|
|
|
|
|
|
|
|
Name: 12to11
|
2026-09-15 13:28:24 +02:00
|
|
|
Version: 1.0.0
|
2026-09-15 17:48:11 +02:00
|
|
|
Release: 3%{?dist}
|
2026-09-03 17:08:00 +02:00
|
|
|
Summary: Wayland to X11 protocol translator
|
|
|
|
|
|
|
|
|
|
License: GPL-3.0-only
|
|
|
|
|
URL: https://github.com/fish4terrisa-MSDSM/12to11
|
2026-09-15 13:28:24 +02:00
|
|
|
Source0: %{url}/archive/refs/tags/v%{version}/%{name}-%{version}.tar.gz
|
2026-09-03 17:08:00 +02:00
|
|
|
|
2026-09-15 17:48:11 +02:00
|
|
|
# EL9 ships wayland 1.21, which lacks WL_SUBCOMPOSITOR_ERROR_BAD_PARENT
|
2026-09-17 18:06:44 +02:00
|
|
|
# (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).
|
2026-09-15 17:48:11 +02:00
|
|
|
Patch0: 12to11-1.0.0-wayland-1.21-compat.patch
|
|
|
|
|
|
2026-09-03 17:08:00 +02:00
|
|
|
# Build dependencies
|
|
|
|
|
BuildRequires: make
|
|
|
|
|
BuildRequires: gcc
|
2026-09-15 13:28:24 +02:00
|
|
|
BuildRequires: pkgconf-pkg-config
|
2026-09-03 17:08:00 +02:00
|
|
|
BuildRequires: gawk
|
|
|
|
|
BuildRequires: wayland-devel
|
|
|
|
|
BuildRequires: libX11-devel
|
|
|
|
|
BuildRequires: libXext-devel
|
2026-09-03 17:27:57 +02:00
|
|
|
BuildRequires: libXrandr-devel
|
2026-09-15 13:28:24 +02:00
|
|
|
BuildRequires: libXrender-devel
|
|
|
|
|
BuildRequires: libXfixes-devel
|
2026-09-15 16:04:44 +02:00
|
|
|
# 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
|
2026-09-03 17:08:00 +02:00
|
|
|
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.
|
|
|
|
|
|
2026-09-15 13:28:24 +02:00
|
|
|
When built with EGL support (the upstream default), it uses
|
2026-09-03 17:08:00 +02:00
|
|
|
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
|
2026-09-17 18:06:44 +02:00
|
|
|
%autosetup -N
|
|
|
|
|
%if 0%{?rhel} == 9
|
|
|
|
|
%patch0 -p1
|
|
|
|
|
%endif
|
2026-09-03 17:08:00 +02:00
|
|
|
|
|
|
|
|
%build
|
2026-09-15 13:28:24 +02:00
|
|
|
# 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
|
2026-09-03 17:08:00 +02:00
|
|
|
|
|
|
|
|
%install
|
2026-09-15 13:28:24 +02:00
|
|
|
%{make_install} DESTDIR=%{buildroot} PREFIX=%{_prefix} BINDIR=%{_bindir} MANDIR=%{_mandir}
|
2026-09-03 17:08:00 +02:00
|
|
|
|
|
|
|
|
%files
|
|
|
|
|
%license COPYING
|
2026-09-15 13:28:24 +02:00
|
|
|
%doc README.md
|
2026-09-03 17:08:00 +02:00
|
|
|
%{_bindir}/12to11
|
|
|
|
|
%{_mandir}/man1/12to11.1*
|
|
|
|
|
|
|
|
|
|
%changelog
|
2026-09-15 17:48:11 +02:00
|
|
|
* Tue Sep 15 2026 Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com> - 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).
|
|
|
|
|
|
2026-09-15 16:04:44 +02:00
|
|
|
* Tue Sep 15 2026 Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com> - 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).
|
|
|
|
|
|
2026-09-15 13:28:24 +02:00
|
|
|
* Tue Sep 15 2026 Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com> - 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.
|
|
|
|
|
|
2026-09-03 17:08:00 +02:00
|
|
|
* Thu Sep 03 2026 Anders da Silva Rytter Hansen <andersrh@users.noreply.github.com> - 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).
|