From ef30cb79a7a60f2e5a1e4e15ce27acf476af4f92 Mon Sep 17 00:00:00 2001 From: Gerasim Troeglazov <3dEyes@gmail.com> Date: Thu, 17 Nov 2022 14:03:50 +1000 Subject: [PATCH] wayland: add recipe --- dev-libs/wayland/wayland-1.21.0~git.recipe | 110 +++++++++++++++++++++ 1 file changed, 110 insertions(+) create mode 100644 dev-libs/wayland/wayland-1.21.0~git.recipe diff --git a/dev-libs/wayland/wayland-1.21.0~git.recipe b/dev-libs/wayland/wayland-1.21.0~git.recipe new file mode 100644 index 000000000..a04cbb831 --- /dev/null +++ b/dev-libs/wayland/wayland-1.21.0~git.recipe @@ -0,0 +1,110 @@ +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="1" +srcGitRev="0cf06ac5dcb38b2f38778f002df306cd42b62b23" +SOURCE_URI="https://github.com/X547/wayland/archive/$srcGitRev.tar.gz" +CHECKSUM_SHA256="7b16c96604e039e09bacdf72c793531d59e7a7fda97673b9f8a07c46db2ec95f" +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 +}