From b38a77938a40a340ab77aafc0fbde12fcded7e4c Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Tue, 20 Nov 2018 23:40:21 -0800 Subject: userland: Merge userland-nogl into userland itself Control the installs via MACHINE_FEATURES and avoid almost duplicate recipe Adjust other recipes to depend on userland now Signed-off-by: Khem Raj --- recipes-graphics/userland/userland-nogl.bb | 87 ---------------------- recipes-graphics/userland/userland_git.bb | 15 +++- .../gstreamer/gstreamer1.0-omx_%.bbappend | 4 +- recipes-multimedia/omxplayer/omxplayer_git.bb | 6 +- 4 files changed, 15 insertions(+), 97 deletions(-) delete mode 100644 recipes-graphics/userland/userland-nogl.bb diff --git a/recipes-graphics/userland/userland-nogl.bb b/recipes-graphics/userland/userland-nogl.bb deleted file mode 100644 index ec5cbdc..0000000 --- a/recipes-graphics/userland/userland-nogl.bb +++ /dev/null @@ -1,87 +0,0 @@ -DESCRIPTION = "This repository contains the source code for the ARM side \ -libraries used on Raspberry Pi. These typically are installed in /opt/vc/lib \ -and includes source for the ARM side code to interface to: EGL, mmal, GLESv2,\ -vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG." -LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENCE;md5=0448d6488ef8cc380632b1569ee6d196" - -COMPATIBLE_MACHINE = "^rpi$" - -SRCBRANCH = "master" -SRCFORK = "raspberrypi" -SRCREV = "409dfcd90bae0a09b1b8c1f718a532728d26cde2" - -# Use the date of the above commit as the package version. Update this when -# SRCREV is changed. -PV = "20180702" - -SRC_URI = "\ - git://github.com/${SRCFORK}/userland.git;protocol=git;branch=${SRCBRANCH} \ - file://0001-Allow-applications-to-set-next-resource-handle.patch \ - file://0002-wayland-Add-support-for-the-Wayland-winsys.patch \ - file://0003-wayland-Add-Wayland-example.patch \ - file://0004-wayland-egl-Add-bcm_host-to-dependencies.patch \ - file://0005-interface-remove-faulty-assert-to-make-weston-happy-.patch \ - file://0006-zero-out-wl-buffers-in-egl_surface_free.patch \ - file://0007-initialize-front-back-wayland-buffers.patch \ - file://0008-Remove-RPC_FLUSH.patch \ - file://0009-fix-cmake-dependency-race.patch \ - file://0010-Fix-for-framerate-with-nested-composition.patch \ - file://0011-build-shared-library-for-vchostif.patch \ - file://0012-implement-buffer-wrapping-interface-for-dispmanx.patch \ - file://0013-Implement-triple-buffering-for-wayland.patch \ - file://0014-GLES2-gl2ext.h-Define-GL_R8_EXT-and-GL_RG8_EXT.patch \ - file://0015-EGL-glplatform.h-define-EGL_CAST.patch \ - file://0016-Allow-multiple-wayland-compositor-state-data-per-pro.patch \ - file://0017-khronos-backport-typedef-for-EGL_EXT_image_dma_buf_i.patch \ - file://0018-Add-EGL_IMG_context_priority-related-defines.patch \ -" -S = "${WORKDIR}/git" - -inherit cmake pkgconfig - -ASNEEDED = "" - -EXTRA_OECMAKE = "-DCMAKE_BUILD_TYPE=Release -DCMAKE_EXE_LINKER_FLAGS='-Wl,--no-as-needed' \ - -DVMCS_INSTALL_PREFIX=${exec_prefix} \ -" - -EXTRA_OECMAKE_append_aarch64 = " -DARM64=ON " - - -PACKAGECONFIG ?= "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)}" - -PACKAGECONFIG[wayland] = "-DBUILD_WAYLAND=TRUE -DWAYLAND_SCANNER_EXECUTABLE:FILEPATH=${STAGING_BINDIR_NATIVE}/wayland-scanner,,wayland-native wayland" - -CFLAGS_append = " -fPIC" - -do_install_append () { - for f in `find ${D}${includedir}/interface/vcos/ -name "*.h"`; do - sed -i 's/include "vcos_platform.h"/include "pthreads\/vcos_platform.h"/g' ${f} - sed -i 's/include "vcos_futex_mutex.h"/include "pthreads\/vcos_futex_mutex.h"/g' ${f} - sed -i 's/include "vcos_platform_types.h"/include "pthreads\/vcos_platform_types.h"/g' ${f} - done - rm -rf ${D}${libdir}/libEGL* - rm -rf ${D}${libdir}/libGLES* - rm -rf ${D}${libdir}/libwayland-* - rm -rf ${D}${libdir}/pkgconfig/egl.pc ${D}${libdir}/pkgconfig/glesv2.pc ${D}${libdir}/pkgconfig/wayland-egl.pc - rm -rf ${D}${includedir}/EGL ${D}${includedir}/GLES* ${D}${includedir}/KHR -} - -# Shared libs from userland package build aren't versioned, so we need -# to force the .so files into the runtime package (and keep them -# out of -dev package). -FILES_SOLIBSDEV = "" -INSANE_SKIP_${PN} += "dev-so" - -FILES_${PN} += " \ - ${libdir}/*.so \ - ${libdir}/plugins" -FILES_${PN}-dev += "${includedir} \ - ${prefix}/src" -FILES_${PN}-doc += "${datadir}/install" -FILES_${PN}-dbg += "${libdir}/plugins/.debug" - -PACKAGE_ARCH = "${MACHINE_ARCH}" - -RDEPENDS_${PN} += "bash libegl" diff --git a/recipes-graphics/userland/userland_git.bb b/recipes-graphics/userland/userland_git.bb index 3903284..ae65446 100644 --- a/recipes-graphics/userland/userland_git.bb +++ b/recipes-graphics/userland/userland_git.bb @@ -5,11 +5,9 @@ vcos, openmaxil, vchiq_arm, bcm_host, WFC, OpenVG." LICENSE = "BSD-3-Clause" LIC_FILES_CHKSUM = "file://LICENCE;md5=0448d6488ef8cc380632b1569ee6d196" -PROVIDES = "virtual/libgles2 \ - virtual/egl" - -RPROVIDES_${PN} += "libgles2 egl libegl" +PROVIDES += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "virtual/libgles2 virtual/egl", d)}" +RPROVIDES_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "", "libgles2 egl libegl", d)}" COMPATIBLE_MACHINE = "^rpi$" SRCBRANCH = "master" @@ -66,6 +64,14 @@ do_install_append () { sed -i 's/include "vcos_futex_mutex.h"/include "pthreads\/vcos_futex_mutex.h"/g' ${f} sed -i 's/include "vcos_platform_types.h"/include "pthreads\/vcos_platform_types.h"/g' ${f} done + if [ "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "1", "0", d)}" = "1" ]; then + rm -rf ${D}${libdir}/libEGL* + rm -rf ${D}${libdir}/libGLES* + rm -rf ${D}${libdir}/libwayland-* + rm -rf ${D}${libdir}/pkgconfig/egl.pc ${D}${libdir}/pkgconfig/glesv2.pc \ + ${D}${libdir}/pkgconfig/wayland-egl.pc + rm -rf ${D}${includedir}/EGL ${D}${includedir}/GLES* ${D}${includedir}/KHR + fi } # Shared libs from userland package build aren't versioned, so we need @@ -85,3 +91,4 @@ FILES_${PN}-dbg += "${libdir}/plugins/.debug" PACKAGE_ARCH = "${MACHINE_ARCH}" RDEPENDS_${PN} += "bash" +RDEPENDS_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", "libegl", "", d)}" diff --git a/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend b/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend index 19cd259..f892c66 100644 --- a/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend +++ b/recipes-multimedia/gstreamer/gstreamer1.0-omx_%.bbappend @@ -1,4 +1,4 @@ -DEPENDS_append_rpi = "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", " userland-nogl", "", d)}" +DEPENDS_append_rpi = " userland" GSTREAMER_1_0_OMX_TARGET_rpi = "rpi" GSTREAMER_1_0_OMX_CORE_NAME_rpi = "${libdir}/libopenmaxil.so" # How to make this RPI specific? @@ -6,4 +6,4 @@ EXTRA_OECONF_append_rpi = " CFLAGS="$CFLAGS -I${STAGING_DIR_TARGET}/usr/include #examples only build with GL but not GLES, so disable it for RPI EXTRA_OECONF_append_rpi = " --disable-examples" -RDEPENDS_${PN}_append_rpi = "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", " userland-nogl", "", d)}" +RDEPENDS_${PN}_append_rpi = " userland" diff --git a/recipes-multimedia/omxplayer/omxplayer_git.bb b/recipes-multimedia/omxplayer/omxplayer_git.bb index 4ec0b24..f557207 100644 --- a/recipes-multimedia/omxplayer/omxplayer_git.bb +++ b/recipes-multimedia/omxplayer/omxplayer_git.bb @@ -7,8 +7,7 @@ SECTION = "console/utils" LICENSE = "GPLv2" LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" -DEPENDS = "libpcre libav virtual/egl boost freetype dbus openssl libssh libomxil coreutils-native curl-native" -DEPENDS += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", " userland-nogl", "", d)}" +DEPENDS = "libpcre libav virtual/egl boost freetype dbus openssl libssh libomxil coreutils-native curl-native userland" PR = "r4" @@ -105,5 +104,4 @@ FILES_${PN} = "${bindir}/omxplayer* \ FILES_${PN}-dev += "${libdir}/omxplayer/*.so" -RDEPENDS_${PN} += "bash procps" -RDEPENDS_${PN} += "${@bb.utils.contains("MACHINE_FEATURES", "vc4graphics", " userland-nogl", "", d)}" +RDEPENDS_${PN} += "bash procps userland" -- cgit v1.2.3-54-g00ecf