1DESCRIPTION = "This repository contains the source code for the ARM side \ 2libraries used on Raspberry Pi. These typically are installed in /opt/vc/lib \ 3and includes source for the ARM side code to interface to: EGL, mmal, GLESv2,\ 4vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG." 5LICENSE = "BSD-3-Clause" 6LIC_FILES_CHKSUM = "file://LICENCE;md5=0448d6488ef8cc380632b1569ee6d196" 7 8PROVIDES += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "virtual/libgles2 virtual/egl", d)}" 9 10RPROVIDES_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "libgles2 egl libegl libegl1 libglesv2-2", d)}" 11COMPATIBLE_MACHINE = "^rpi$" 12 13SRCBRANCH = "master" 14SRCFORK = "raspberrypi" 15SRCREV = "17d2fdc1abd370e09ba7074753294c7976dd6b0d" 16 17# Use the date of the above commit as the package version. Update this when 18# SRCREV is changed. 19PV = "20190724" 20 21SRC_URI = "\ 22 git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \ 23 file://0001-Allow-applications-to-set-next-resource-handle.patch \ 24 file://0002-wayland-Add-support-for-the-Wayland-winsys.patch \ 25 file://0003-wayland-Add-Wayland-example.patch \ 26 file://0004-wayland-egl-Add-bcm_host-to-dependencies.patch \ 27 file://0005-interface-remove-faulty-assert-to-make-weston-happy-.patch \ 28 file://0006-zero-out-wl-buffers-in-egl_surface_free.patch \ 29 file://0007-initialize-front-back-wayland-buffers.patch \ 30 file://0008-Remove-RPC_FLUSH.patch \ 31 file://0009-fix-cmake-dependency-race.patch \ 32 file://0010-Fix-for-framerate-with-nested-composition.patch \ 33 file://0011-build-shared-library-for-vchostif.patch \ 34 file://0012-implement-buffer-wrapping-interface-for-dispmanx.patch \ 35 file://0013-Implement-triple-buffering-for-wayland.patch \ 36 file://0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch \ 37 file://0015-EGL-glplatform.h-define-EGL_CAST.patch \ 38 file://0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch \ 39 file://0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch \ 40 file://0018-Add-EGL_IMG_context_priority-related-defines.patch \ 41 file://0019-libfdt-Undefine-__wordsize-if-already-defined.patch \ 42" 43S = "${WORKDIR}/git" 44 45inherit cmake pkgconfig 46 47ASNEEDED = "" 48 49EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed' \ 50 -DVMCS_INSTALL_PREFIX=${exec_prefix} \ 51" 52 53EXTRA_OECMAKE_append_aarch64 = " -DARM64=ON " 54 55 56PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}" 57 58PACKAGECONFIG[wayland] = "-DBUILD_WAYLAND=TRUE -DWAYLAND_SCANNER_EXECUTABLE:FILEPATH=${STAGING_BINDIR_NATIVE}/wayland-scanner,,wayland-native wayland" 59 60CFLAGS_append = " -fPIC" 61 62do_install_append () { 63 for f in `find ${D}${includedir}/interface/vcos/ -name "*.h"`; do 64 sed -i 's/include "vcos_platform.h"/include "pthreads\/vcos_platform.h"/g' ${f} 65 sed -i 's/include "vcos_futex_mutex.h"/include "pthreads\/vcos_futex_mutex.h"/g' ${f} 66 sed -i 's/include "vcos_platform_types.h"/include "pthreads\/vcos_platform_types.h"/g' ${f} 67 done 68 rm -rf ${D}${prefix}${sysconfdir} 69 if [ "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}" = "1" ]; then 70 rm -rf ${D}${libdir}/libEGL* 71 rm -rf ${D}${libdir}/libGLES* 72 rm -rf ${D}${libdir}/libwayland-* 73 rm -rf ${D}${libdir}/pkgconfig/egl.pc ${D}${libdir}/pkgconfig/glesv2.pc \ 74 ${D}${libdir}/pkgconfig/wayland-egl.pc 75 rm -rf ${D}${includedir}/EGL ${D}${includedir}/GLES* ${D}${includedir}/KHR 76 fi 77} 78 79# Shared libs from userland package build aren't versioned, so we need 80# to force the .so files into the runtime package (and keep them 81# out of -dev package). 82FILES_SOLIBSDEV = "" 83INSANE_SKIP_${PN} += "dev-so" 84 85FILES_${PN} += " \ 86 ${libdir}/*.so \ 87 ${libdir}/plugins" 88FILES_${PN}-dev += "${includedir} \ 89 ${prefix}/src" 90FILES_${PN}-doc += "${datadir}/install" 91FILES_${PN}-dbg += "${libdir}/plugins/.debug" 92 93RDEPENDS_${PN} += "bash" 94RDEPENDS_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "libegl-mesa", "", d)}" 95