mirror of
https://github.com/yann64/haikuports.git
synced 2026-04-08 21:00:05 +02:00
111 lines
3.5 KiB
Bash
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
|
|
}
|