kwayland

Qt-style Client and Server library wrapper for the Wayland libraries

runtime dependencies qt5wayland
make dependencies extra-cmake-modules
doxygen
qt5tools
libqt5waylandclient5-dev
libwayland-dev
libkf5wayland-dev
wayland-protocols
plasma-wayland-protocols
apt install -y libqt5waylandclient5-dev libwayland-dev libkf5wayland-dev wayland-protocols plasma-wayland-protocols
mkdir /data/buildroot/package/kwayland
cat > /data/buildroot/package/kwayland/Config.in<< 'EOF'
config BR2_PACKAGE_KWAYLAND
        bool "kwayland"
        depends on BR2_PACKAGE_PLASMA_WAYLAND_PROTOCOLS
        depends on BR2_PACKAGE_QT5WAYLAND
        depends on BR2_PACKAGE_QT5TOOLS
        depends on BR2_PACKAGE_LXQT_BUILD_TOOLS
        depends on 
        help
          Qt-style Client and Server library wrapper for the Wayland libraries
EOF

cat > /data/buildroot/package/kwayland/kwayland.mk<< 'EOF'
#############################################################
#
# kwayland
#https://github.com/KDE/kwayland/archive/refs/tags/v5.94.0.tar.gz
#############################################################
KWAYLAND_VERSION = 5.94.0
KWAYLAND_SOURCE  = v$(KWAYLAND_VERSION).tar.gz
KWAYLAND_SITE    = https://github.com/KDE/kwayland/archive/refs/tags

KWAYLAND_DEPENDENCIES = qt5wayland qt5tools plasma-wayland-protocols lxqt-build-tools
KWAYLAND_INSTALL_TARGET = YES
KWAYLAND_SUPPORTS_IN_SOURCE_BUILD = NO 
    
KWAYLAND_CONF_OPTS = -DCMAKE_TOOLCHAIN_FILE=$(HOST_DIR)/share/buildroot/toolchainfile.cmake \
    -DPlasmaWaylandProtocols_DIR=$(TARGET_DIR)/usr/lib/cmake/PlasmaWaylandProtocols \
    -DCMAKE_INSTALL_PREFIX=/usr \
    -DBUILD_TESTING=OFF \
    -DBUILD_QCH=OFF
    
define KWAYLAND_CONFIGURE_CMDS
  if [[ ! -L "$(HOST_DIR)/usr/lib/libpcre.so.3" ]]; then ln -s $(HOST_DIR)/usr/lib/libpcre.so $(HOST_DIR)/usr/lib/libpcre.so.3; fi
  if [[ ! -d $(@D)/buildroot-build ]]; then mkdir $(@D)/buildroot-build; fi
  cd $(@D)/buildroot-build && \
  LDFLAGS="$(LDFLAGS) -pthread -Wl,--as-needed -Wl,--allow-shlib-undefined" cmake "$(@D)/" $(KWAYLAND_CONF_OPTS)
endef

$(eval $(cmake-package))
EOF

sed -i '/menu "Custom packages"/a source "package/kwayland/Config.in"' /data/buildroot/package/Config.in