1SUMMARY="Core Wayland protocols and libraries" 2DESCRIPTION="Wayland is a project to define a protocol for a compositor to talk to its clients as \ 3well as a library implementation of the protocol. The compositor can be a standalone display \ 4server running on Linux kernel modesetting and evdev input devices, an X application, or a wayland \ 5client itself. The clients can be traditional applications, X servers (rootless or fullscreen) or \ 6other display servers. 7 8The wayland protocol is essentially only about input handling and buffer management. The \ 9compositor receives input events and forwards them to the relevant client. The clients creates \ 10buffers and renders into them and notifies the compositor when it needs to redraw. The protocol \ 11also handles drag and drop, selections, window management and other interactions that must go \ 12through the compositor. However, the protocol does not handle rendering, which is one of the \ 13features that makes wayland so simple. All clients are expected to handle rendering themselves, \ 14typically through cairo or OpenGL. 15 16The weston compositor is a reference implementation of a wayland compositor and the weston \ 17repository also includes a few example clients." 18HOMEPAGE="https://gitlab.freedesktop.org/wayland/wayland" 19COPYRIGHT="2008-2012 Kristian H��gsberg 20 2010-2012 Intel Corporation 21 2011 Benjamin Franzke 22 2012 Collabora, Ltd." 23LICENSE="MIT" 24REVISION="2" 25srcGitRev="0cf06ac5dcb38b2f38778f002df306cd42b62b23" 26SOURCE_URI="https://github.com/X547/wayland/archive/$srcGitRev.tar.gz" 27CHECKSUM_SHA256="7b16c96604e039e09bacdf72c793531d59e7a7fda97673b9f8a07c46db2ec95f" 28SOURCE_DIR="wayland-$srcGitRev" 29 30ARCHITECTURES="all !x86_gcc2" 31SECONDARY_ARCHITECTURES="x86" 32 33libVersion="0.21.90" 34libVersionCompat="$libVersion compat >= ${libVersion%%.*}" 35libEGLVersion="1.21.90" 36libEGLVersionCompat="$libEGLVersion compat >= ${libEGLVersion%%.*}" 37 38PROVIDES=" 39 wayland$secondaryArchSuffix = $portVersion 40 cmd:wayland_scanner 41 lib:libwayland_client$secondaryArchSuffix = $libVersionCompat 42 lib:libwayland_cursor$secondaryArchSuffix = $libVersionCompat 43 lib:libwayland_egl$secondaryArchSuffix = $libEGLVersionCompat 44 lib:libwayland_server$secondaryArchSuffix = $libVersionCompat 45 " 46REQUIRES=" 47 haiku$secondaryArchSuffix 48 lib:libexpat$secondaryArchSuffix 49 lib:libffi$secondaryArchSuffix 50 lib:libxml2$secondaryArchSuffix 51 " 52 53PROVIDES_devel=" 54 wayland${secondaryArchSuffix}_devel = $portVersion 55 devel:libwayland_client$secondaryArchSuffix = $libVersionCompat 56 devel:libwayland_cursor$secondaryArchSuffix = $libVersionCompat 57 devel:libwayland_egl$secondaryArchSuffix = $libEGLVersionCompat 58 devel:libwayland_server$secondaryArchSuffix = $libVersionCompat 59 " 60REQUIRES_devel=" 61 wayland$secondaryArchSuffix == $portVersion base 62 devel:libffi$secondaryArchSuffix 63 " 64 65BUILD_REQUIRES=" 66 haiku${secondaryArchSuffix}_devel 67 devel:libexpat$secondaryArchSuffix 68 devel:libffi$secondaryArchSuffix 69 devel:libxml2$secondaryArchSuffix 70 " 71BUILD_PREREQUIRES=" 72 cmd:cmake 73 cmd:gcc$secondaryArchSuffix 74 cmd:meson 75 cmd:ninja 76 cmd:pkg_config$secondaryArchSuffix 77 " 78 79BUILD() 80{ 81 meson build --buildtype=release \ 82 --prefix=$prefix \ 83 --datadir=$dataDir \ 84 --includedir=$includeDir \ 85 --libdir=$libDir \ 86 -Ddocumentation=false 87 ninja -C build 88} 89 90TEST_REQUIRES=" 91 cmd:awk 92 cmd:diff 93 " 94 95INSTALL() 96{ 97 ninja -C build install 98 99 prepareInstalledDevelLibs \ 100 libwayland-client libwayland-cursor libwayland-egl libwayland-server 101 fixPkgconfig 102 103 packageEntries devel \ 104 $developDir 105} 106 107TEST() 108{ 109 ninja -C build test 110} 111