added my Recipes
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
SUMMARY = "Modern 3D graphics API with associated utility APIs"
|
||||
DESCRIPTION = "Cogl is a small open source library for using 3D graphics \
|
||||
hardware for rendering. The API departs from the flat state machine style of \
|
||||
OpenGL and is designed to make it easy to write orthogonal components that \
|
||||
can render without stepping on each others toes."
|
||||
HOMEPAGE = "https://gitlab.gnome.org/GNOME/cogl"
|
||||
LICENSE = "MIT"
|
||||
|
||||
inherit clutter features_check upstream-version-is-even gobject-introspection
|
||||
# cogl-1.0 needs opengl to build
|
||||
REQUIRED_DISTRO_FEATURES ?= "opengl"
|
||||
|
||||
DEPENDS = "glib-2.0 gdk-pixbuf"
|
||||
PACKAGES =+ "${PN}-examples \
|
||||
libcogl libcogl-gles2 libcogl-pango libcogl-path \
|
||||
"
|
||||
AUTOTOOLS_AUXDIR = "${S}/build"
|
||||
|
||||
# Extra DEPENDS for PACKAGECONFIG
|
||||
EDEPENDS_GL = "virtual/libgl libdrm"
|
||||
EDEPENDS_GLES2 = "virtual/libgles2"
|
||||
EDEPENDS_KMS = "libdrm virtual/egl"
|
||||
EDEPENDS_EGL = "virtual/egl"
|
||||
EDEPENDS_X11 = "virtual/libx11 libxcomposite libxdamage libxfixes libxrandr"
|
||||
EDEPENDS_WAYLAND = "virtual/egl virtual/libgles2 wayland"
|
||||
|
||||
# Extra RDEPENDS for PACKAGECONFIG
|
||||
# This has to be explictly listed, because cogl dlopens the backends
|
||||
ERDEPENDS_GL = "libgl"
|
||||
ERDEPENDS_GLES2 = "libgles2"
|
||||
|
||||
# GLESv1 is rarely tested, so disable it
|
||||
EXTRA_OECONF += "--enable-examples-install \
|
||||
--enable-debug \
|
||||
--disable-gles1 \
|
||||
--disable-cairo \
|
||||
"
|
||||
DEBUG_OPTIMIZATION:append = " -Wno-error=maybe-uninitialized"
|
||||
|
||||
# OpenGL/GLX
|
||||
PACKAGECONFIG[glx] = "--enable-gl --enable-glx,--disable-gl --disable-glx,${EDEPENDS_GL} ${EDEPENDS_X11},${ERDEPENDS_GL}"
|
||||
|
||||
# GLESv2
|
||||
PACKAGECONFIG[gles2] = "--enable-gles2,--disable-gles2,${EDEPENDS_GLES2}, ${ERDEPENDS_GLES2}"
|
||||
|
||||
# EGL backends
|
||||
PACKAGECONFIG[egl-kms] = "--enable-kms-egl-platform,--disable-kms-egl-platform,${EDEPENDS_KMS}"
|
||||
PACKAGECONFIG[egl-null] = "--enable-null-egl-platform,--disable-null-egl-platform"
|
||||
PACKAGECONFIG[egl-x11] = "--enable-xlib-egl-platform,--disable-xlib-egl-platform,${EDEPENDS_X11} ${EDEPENDS_EGL}"
|
||||
PACKAGECONFIG[egl-wayland] = "--enable-wayland-egl-platform,--disable-wayland-egl-platform,${EDEPENDS_WAYLAND}"
|
||||
|
||||
# Wayland (server-side)
|
||||
PACKAGECONFIG[wayland-server] = "--enable-wayland-egl-server,--disable-wayland-egl-server,${EDEPENDS_WAYLAND}"
|
||||
|
||||
# Support rendering text directly with Pango
|
||||
PACKAGECONFIG[cogl-pango] = "--enable-cogl-pango,--disable-cogl-pango,pango"
|
||||
|
||||
# Respect the DISTRO_FEATURES to pull in GLX or Wayland as appropriate by
|
||||
# default.
|
||||
PACKAGECONFIG ??= "cogl-pango gles2 \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'egl-wayland', '', d)} \
|
||||
${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx egl-x11', '', d)} \
|
||||
"
|
||||
|
||||
do_compile:prepend() {
|
||||
export GIR_EXTRA_LIBS_PATH="${B}/cogl/.libs"
|
||||
}
|
||||
|
||||
FILES:${PN} = ""
|
||||
FILES:${PN}-examples = "${bindir}/* ${datadir}/cogl/examples-data/*"
|
||||
FILES:libcogl = "${libdir}/libcogl${SOLIBS} ${libdir}/girepository-1.0/Cogl-*.typelib"
|
||||
FILES:libcogl-gles2 = "${libdir}/libcogl-gles2${SOLIBS}"
|
||||
FILES:libcogl-pango = "${libdir}/libcogl-pango${SOLIBS} ${libdir}/girepository-1.0/CoglPango*.typelib"
|
||||
|
||||
FILES:libcogl-path = "${libdir}/libcogl-path${SOLIBS}"
|
||||
|
||||
# For backwards compatibility after Debian-renaming
|
||||
RPROVIDES:libcogl = "cogl-1.0"
|
||||
RCONFLICTS:libcogl = "cogl-1.0"
|
||||
RREPLACES:libcogl = "cogl-1.0"
|
||||
|
||||
RDEPENDS:${PN}-dev = "libcogl"
|
||||
|
||||
COMPATIBLE_HOST:armv4 = 'null'
|
||||
@@ -0,0 +1,92 @@
|
||||
From bb9765a926588ebfe1eb324fbbe8fc22d419eebe Mon Sep 17 00:00:00 2001
|
||||
From: Max Krummenacher <max.krummenacher@toradex.com>
|
||||
Date: Thu, 25 Jun 2020 11:27:40 +0000
|
||||
Subject: [PATCH] configure.ac: don't require eglmesaext.h
|
||||
|
||||
E.g. the Vivante EGL implementation does not provide eglmesaext.h.
|
||||
|
||||
The commit moves the check for header file existence outside of the
|
||||
check for existence of a egl packageconfig and makes the existence
|
||||
of eglmesaext.h optional.
|
||||
|
||||
fixes commit fb1acfec ("Fix building against libglvnd-provided EGL headers")
|
||||
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
||||
|
||||
Upstream-Status: Submitted [https://gitlab.gnome.org/GNOME/cogl/-/merge_requests/28]
|
||||
Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
|
||||
---
|
||||
configure.ac | 51 ++++++++++++++++++++++++++++++++-------------------
|
||||
1 file changed, 32 insertions(+), 19 deletions(-)
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index b7ba95d..0d1d8de 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -1212,22 +1212,6 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"],
|
||||
PKG_CHECK_EXISTS([egl],
|
||||
[COGL_PKG_REQUIRES="$COGL_PKG_REQUIRES egl"],
|
||||
[
|
||||
- AC_CHECK_HEADERS(
|
||||
- [EGL/egl.h],
|
||||
- [],
|
||||
- [AC_MSG_ERROR([Unable to locate required EGL headers])])
|
||||
- AC_CHECK_HEADERS(
|
||||
- [EGL/eglext.h],
|
||||
- [],
|
||||
- [AC_MSG_ERROR([Unable to locate required EGL headers])],
|
||||
- [#include <EGL/egl.h>])
|
||||
- AC_CHECK_HEADERS(
|
||||
- [EGL/eglmesaext.h],
|
||||
- [],
|
||||
- [AC_MSG_ERROR([Unable to locate required EGL headers])],
|
||||
- [#include <EGL/egl.h>
|
||||
-#include <EGL/eglext.h>])
|
||||
-
|
||||
AC_CHECK_LIB(EGL, [eglInitialize],
|
||||
[COGL_EXTRA_LDFLAGS="$COGL_EXTRA_LDFLAGS -lEGL"],
|
||||
[AC_MSG_ERROR([Unable to locate required EGL library])])
|
||||
@@ -1236,9 +1220,38 @@ AS_IF([test "x$NEED_EGL" = "xyes" && test "x$EGL_CHECKED" != "xyes"],
|
||||
]
|
||||
)
|
||||
|
||||
- COGL_EGL_INCLUDES="#include <EGL/egl.h>
|
||||
-#include <EGL/eglext.h>
|
||||
-#include <EGL/eglmesaext.h>"
|
||||
+dnl Test for the existence of egl headers.
|
||||
+dnl egl*.h includes eglplatform.h which on __unix__ defaults to a X11 platform.
|
||||
+dnl In that case AC_CHECK_HEADERS failes if X11 headers are not available.
|
||||
+dnl Set the usual include guard define and, if the EGL implementation doesn't
|
||||
+dnl use that guard fall back to USE_OZONE and EGL_NO_X11 platforms which don't
|
||||
+dnl require additional headers.
|
||||
+ AC_CHECK_HEADERS(
|
||||
+ [EGL/egl.h],
|
||||
+ [COGL_EGL_INCLUDES="#include <EGL/egl.h>"],
|
||||
+ [AC_MSG_ERROR([Unable to locate required EGL headers])],
|
||||
+ [#define __egl_h_
|
||||
+ #define USE_OZONE
|
||||
+ #define EGL_NO_X11])
|
||||
+ AC_CHECK_HEADERS(
|
||||
+ [EGL/eglext.h],
|
||||
+ [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDES
|
||||
+#include <EGL/eglext.h>"],
|
||||
+ [AC_MSG_ERROR([Unable to locate required EGL headers])],
|
||||
+ [#define __eglext_h_
|
||||
+ #define USE_OZONE
|
||||
+ #define EGL_NO_X11
|
||||
+$COGL_EGL_INCLUDES])
|
||||
+ AC_CHECK_HEADERS(
|
||||
+ [EGL/eglmesaext.h],
|
||||
+ [COGL_EGL_INCLUDES="$COGL_EGL_INCLUDES
|
||||
+#include <EGL/eglmesaext.h>"],
|
||||
+ [],
|
||||
+ [#define __eglmesaext_h_
|
||||
+#define USE_OZONE
|
||||
+#define EGL_NO_X11
|
||||
+$COGL_EGL_INCLUDES])
|
||||
+
|
||||
AC_SUBST([COGL_EGL_INCLUDES])
|
||||
])
|
||||
|
||||
--
|
||||
2.20.1
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
require cogl-1.0.inc
|
||||
|
||||
SRC_URI += "file://0001-configure.ac-don-t-require-eglmesaext.h.patch"
|
||||
SRC_URI[archive.sha256sum] = "a805b2b019184710ff53d0496f9f0ce6dcca420c141a0f4f6fcc02131581d759"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=1b1a508d91d25ca607c83f92f3e31c84"
|
||||
Reference in New Issue
Block a user