Files
haikuports/dev-libs/wayland/wayland-1.21.0~git.recipe
KENZ d2f7c3f8e6 wayland: bump to git latest commit (#11377)
- par request from X512.
2024-11-28 16:13:46 +01:00

111 lines
3.5 KiB
Bash

SUMMARY="Core Wayland protocols and libraries"
DESCRIPTION="Wayland is a project to define a protocol for a compositor to talk to its clients as \
well as a library implementation of the protocol. The compositor can be a standalone display \
server running on Linux kernel modesetting and evdev input devices, an X application, or a wayland \
client itself. The clients can be traditional applications, X servers (rootless or fullscreen) or \
other display servers.
The wayland protocol is essentially only about input handling and buffer management. The \
compositor receives input events and forwards them to the relevant client. The clients creates \
buffers and renders into them and notifies the compositor when it needs to redraw. The protocol \
also handles drag and drop, selections, window management and other interactions that must go \
through the compositor. However, the protocol does not handle rendering, which is one of the \
features that makes wayland so simple. All clients are expected to handle rendering themselves, \
typically through cairo or OpenGL.
The weston compositor is a reference implementation of a wayland compositor and the weston \
repository also includes a few example clients."
HOMEPAGE="https://gitlab.freedesktop.org/wayland/wayland"
COPYRIGHT="2008-2012 Kristian Høgsberg
2010-2012 Intel Corporation
2011 Benjamin Franzke
2012 Collabora, Ltd."
LICENSE="MIT"
REVISION="3"
srcGitRev="149e9d7e1bab3b66a93f92c19c8056db547dd066"
SOURCE_URI="https://github.com/X547/wayland/archive/$srcGitRev.tar.gz"
CHECKSUM_SHA256="c7cbbcdcedb2e89086351f6d03a79a561ad486c1471d598a3959643fe7f94348"
SOURCE_DIR="wayland-$srcGitRev"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
libVersion="0.21.90"
libVersionCompat="$libVersion compat >= ${libVersion%%.*}"
libEGLVersion="1.21.90"
libEGLVersionCompat="$libEGLVersion compat >= ${libEGLVersion%%.*}"
PROVIDES="
wayland$secondaryArchSuffix = $portVersion
cmd:wayland_scanner
lib:libwayland_client$secondaryArchSuffix = $libVersionCompat
lib:libwayland_cursor$secondaryArchSuffix = $libVersionCompat
lib:libwayland_egl$secondaryArchSuffix = $libEGLVersionCompat
lib:libwayland_server$secondaryArchSuffix = $libVersionCompat
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libexpat$secondaryArchSuffix
lib:libffi$secondaryArchSuffix
lib:libxml2$secondaryArchSuffix
"
PROVIDES_devel="
wayland${secondaryArchSuffix}_devel = $portVersion
devel:libwayland_client$secondaryArchSuffix = $libVersionCompat
devel:libwayland_cursor$secondaryArchSuffix = $libVersionCompat
devel:libwayland_egl$secondaryArchSuffix = $libEGLVersionCompat
devel:libwayland_server$secondaryArchSuffix = $libVersionCompat
"
REQUIRES_devel="
wayland$secondaryArchSuffix == $portVersion base
devel:libffi$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libexpat$secondaryArchSuffix
devel:libffi$secondaryArchSuffix
devel:libxml2$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:meson
cmd:ninja
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
meson build --buildtype=release \
--prefix=$prefix \
--datadir=$dataDir \
--includedir=$includeDir \
--libdir=$libDir \
-Ddocumentation=false
ninja -C build
}
TEST_REQUIRES="
cmd:awk
cmd:diff
"
INSTALL()
{
ninja -C build install
prepareInstalledDevelLibs \
libwayland-client libwayland-cursor libwayland-egl libwayland-server
fixPkgconfig
packageEntries devel \
$developDir
}
TEST()
{
ninja -C build test
}