diff --git a/dev-libs/wayland-protocols/wayland_protocols-1.26.recipe b/dev-libs/wayland-protocols/wayland_protocols-1.26.recipe new file mode 100644 index 00000000000..98f6c809861 --- /dev/null +++ b/dev-libs/wayland-protocols/wayland_protocols-1.26.recipe @@ -0,0 +1,56 @@ +SUMMARY="Wayland protocol development" +DESCRIPTION="wayland-protocols contains Wayland protocols that add functionality not available \ +in the Wayland core protocol. Such protocols either add completely new functionality, or extend \ +the functionality of some other protocol either in Wayland core, or some other protocol in \ +wayland-protocols. + +A protocol in wayland-protocols consists of a directory containing a set of XML files containing \ +the protocol specification, and a README file containing detailed state and a list of maintainers." +HOMEPAGE="https://gitlab.freedesktop.org/wayland/wayland-protocols" +COPYRIGHT="2008-2013 Kristian Høgsberg + 2010-2013 Intel Corporation + 2013 Rafael Antognolli + 2013 Jasper St. Pierre + 2014 Jonas Ådahl + 2014 Jason Ekstrand + 2014-2015 Collabora, Ltd. + 2015 Red Hat Inc." +LICENSE="MIT" +REVISION="1" +SOURCE_URI="https://wayland.freedesktop.org/releases/wayland-protocols-$portVersion.tar.xz" +CHECKSUM_SHA256="c553384c1c68afd762fa537a2569cc9074fe7600da12d3472761e77a2ba56f13" +SOURCE_DIR="wayland-protocols-$portVersion" + +ARCHITECTURES="any" + +PROVIDES=" + wayland_protocols = $portVersion + " +REQUIRES=" + haiku + " + +BUILD_REQUIRES=" + haiku_devel + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:gcc + cmd:meson + cmd:ninja + cmd:pkg_config + " + +BUILD() +{ + meson build --buildtype=release \ + --prefix=$prefix \ + --datadir=$dataDir \ + -Dtests=false + ninja -C build +} + +INSTALL() +{ + ninja -C build install +} diff --git a/dev-libs/wayland-server/wayland_server-0.1.recipe b/dev-libs/wayland-server/wayland_server-0.1.recipe new file mode 100644 index 00000000000..f4df623aeb5 --- /dev/null +++ b/dev-libs/wayland-server/wayland_server-0.1.recipe @@ -0,0 +1,60 @@ +SUMMARY="In-process Wayland server" +DESCRIPTION="Implementation of Wayland protocols over Haiku API. Unlike regular Wayland server \ +implementations, Haiku in-proc Wayland server do not run as separate server process but load as \ +add-on into each Wayland client instead. It do no compositing by itself, but use existing Haiku \ +capabilities such as native Haiku windows and bitmap drawing API." +HOMEPAGE="https://github.com/X547/wayland-server" +COPYRIGHT="2022 X512" +LICENSE="GNU LGPL v2.1 + MIT" +REVISION="1" +srcGitRev="1dd71987e4302f3ed01389dce9c59817d9452c96" +SOURCE_URI="$HOMEPAGE/archive/$srcGitRev.tar.gz" +CHECKSUM_SHA256="12bc3c2d023f7233a7641e028864f42cc210f9744d7e4a293d37b55174cbe4ac" +SOURCE_DIR="wayland-server-$srcGitRev" + +ARCHITECTURES="?all !x86_gcc2 x86_64" +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + wayland_server$secondaryArchSuffix = $portVersion + lib:wayland_server_inproc$secondaryArchSuffix = $portVersion + " +REQUIRES=" + haiku$secondaryArchSuffix + lib:libwayland_client$secondaryArchSuffix + lib:libwayland_server$secondaryArchSuffix + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + wayland_protocols$secondaryArchSuffix + devel:libwayland_client$secondaryArchSuffix + devel:libwayland_server$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:cmake + cmd:gcc$secondaryArchSuffix + cmd:meson + cmd:ninja + cmd:pkg_config$secondaryArchSuffix + cmd:wayland_scanner + " + +BUILD() +{ + meson build --buildtype=release \ + --prefix=$prefix \ + --libdir=$libDir + ninja -C build +} + +INSTALL() +{ + ninja -C build install +} + +TEST() +{ + ninja -C build test +} 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 00000000000..5bdf5fd6aa1 --- /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="95f831744e09984fb66bf5b8667af3444ab6f75a" +SOURCE_URI="https://github.com/X547/wayland/archive/$srcGitRev.tar.gz" +CHECKSUM_SHA256="f83c34593e0248a833e3ac441a8a3d42d0464d5200d55367812a7aab70f13a0c" +SOURCE_DIR="wayland-$srcGitRev" + +ARCHITECTURES="?all !x86_gcc2 x86_64" +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 +} diff --git a/x11-libs/libxkbcommon/libxkbcommon-1.4.1.recipe b/x11-libs/libxkbcommon/libxkbcommon-1.4.1.recipe new file mode 100644 index 00000000000..c0ad59b9e88 --- /dev/null +++ b/x11-libs/libxkbcommon/libxkbcommon-1.4.1.recipe @@ -0,0 +1,90 @@ +SUMMARY="Short description of ProjectX" +DESCRIPTION="Long ProjectX description. +Spanning several paragraphs, maybe + - containing + - bullet points etc. +You can also have really long lines that do not fit in 80 characters and use \ +a forward-slash to wrap the line." +HOMEPAGE="https://homepage/of/projectx.org" +COPYRIGHT="2014 Developer name + 2016 Another developer's name" +LICENSE="MIT + GNU GPL v2" +REVISION="1" +SOURCE_URI="https://xkbcommon.org/download/libxkbcommon-$portVersion.tar.xz" +CHECKSUM_SHA256="943c07a1e2198026d8102b17270a1f406e4d3d6bbc4ae105b9e1b82d7d136b39" + +ARCHITECTURES="?all !x86_gcc2 x86_64" +SECONDARY_ARCHITECTURES="x86" + +libVersion="0.0.0" +libVersionCompat="$libVersion compat >= ${libVersion%%.*}" + +PROVIDES=" + libxkbcommon$secondaryArchSuffix = $portVersion + cmd:xkbcli + lib:libxkbcommon$secondaryArchSuffix = $libVersionCompat + lib:libxkbregistry$secondaryArchSuffix = $libVersionCompat + " +REQUIRES=" + haiku$secondaryArchSuffix + xkeyboard_config + lib:libxml2$secondaryArchSuffix + lib:libwayland_client$secondaryArchSuffix + lib:libwayland_server$secondaryArchSuffix + " + +PROVIDES_devel=" + libxkbcommon${secondaryArchSuffix}_devel = $portVersion + devel:libxkbcommon$secondaryArchSuffix = $libVersionCompat + devel:libxkbregistry$secondaryArchSuffix = $libVersionCompat + " +REQUIRES_devel=" + libxkbcommon$secondaryArchSuffix == $portVersion base + " + +BUILD_REQUIRES=" + haiku${secondaryArchSuffix}_devel + wayland_protocols$secondaryArchSuffix + devel:libxml2$secondaryArchSuffix + devel:libwayland_client$secondaryArchSuffix + devel:libwayland_server$secondaryArchSuffix + " +BUILD_PREREQUIRES=" + cmd:bison + 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 \ + --libexecdir=$libDir \ + --mandir=$manDir \ + -Denable-x11=false -Denable-docs=false + ninja -C build +} + +INSTALL() +{ + ninja -C build install + + prepareInstalledDevelLibs \ + libxkbcommon libxkbregistry + fixPkgconfig + + packageEntries devel \ + $developDir +} + +TEST() +{ + ninja -C build test +} diff --git a/x11-misc/xkeyboard-config/xkeyboard_config-2.36.recipe b/x11-misc/xkeyboard-config/xkeyboard_config-2.36.recipe new file mode 100644 index 00000000000..27520b4440d --- /dev/null +++ b/x11-misc/xkeyboard-config/xkeyboard_config-2.36.recipe @@ -0,0 +1,51 @@ +SUMMARY="X keyboard configuration database" +DESCRIPTION="This package contains configuration data used by the X Keyboard Extension (XKB), \ +which allows selection of keyboard layouts when using a graphical interface." +HOMEPAGE="https://github.com/freedesktop/xkeyboard-config" +COPYRIGHT="1996 Joseph Moss + 2002-2007 Free Software Foundation, Inc. + 2003-2004 Dmitry Golubev + 2004, Gregory Mokhin + 2006 Erdal Ronahî" +LICENSE="MIT" +REVISION="1" +SOURCE_URI="$HOMEPAGE/archive/refs/tags/xkeyboard-config-$portVersion.tar.gz" +CHECKSUM_SHA256="d047af43c9da3843fdb40139d5f23ac75041bed16c28e24a31447b27a269cf66" +SOURCE_DIR="xkeyboard-config-xkeyboard-config-$portVersion" + +ARCHITECTURES="all" + +PROVIDES=" + xkeyboard_config = $portVersion + " +REQUIRES=" + haiku + " + +BUILD_REQUIRES=" + haiku_devel + " +BUILD_PREREQUIRES=" + cmd:gcc + cmd:meson + cmd:ninja + cmd:perl + " + +BUILD() +{ + meson build --buildtype=release --prefix=$prefix \ + --datadir=$dataDir \ + --mandir=$manDir + ninja -C build +} + +INSTALL() +{ + ninja -C build install +} + +TEST() +{ + ninja -C build test +}