Skip to content

Commit

Permalink
wayland, new recipes
Browse files Browse the repository at this point in the history
  • Loading branch information
Begasus committed Aug 20, 2022
1 parent 154e779 commit dc30d1a
Show file tree
Hide file tree
Showing 5 changed files with 367 additions and 0 deletions.
56 changes: 56 additions & 0 deletions 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
}
60 changes: 60 additions & 0 deletions 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
}
110 changes: 110 additions & 0 deletions 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
}
90 changes: 90 additions & 0 deletions 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
}
51 changes: 51 additions & 0 deletions 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
}

0 comments on commit dc30d1a

Please sign in to comment.