From c50e9c21f0444b064bc257fcc0d3073fee945623 Mon Sep 17 00:00:00 2001 From: Bernd Kuhls Date: Tue, 8 Aug 2023 08:41:06 +0200 Subject: [PATCH] package/onevpl: new package Signed-off-by: Bernd Kuhls Signed-off-by: Thomas Petazzoni --- DEVELOPERS | 1 + package/Config.in | 1 + .../0001-Don-t-force-fstack-protector.patch | 32 ++++++++++++++ package/onevpl/Config.in | 27 ++++++++++++ package/onevpl/onevpl.hash | 3 ++ package/onevpl/onevpl.mk | 43 +++++++++++++++++++ 6 files changed, 107 insertions(+) create mode 100644 package/onevpl/0001-Don-t-force-fstack-protector.patch create mode 100644 package/onevpl/Config.in create mode 100644 package/onevpl/onevpl.hash create mode 100644 package/onevpl/onevpl.mk diff --git a/DEVELOPERS b/DEVELOPERS index 9915143a04..eb703d52c7 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -417,6 +417,7 @@ F: package/mjpg-streamer/ F: package/mpg123/ F: package/ntp/ F: package/nut/ +F: package/onevpl/ F: package/opus/ F: package/pciutils/ F: package/perl-crypt-openssl-guess/ diff --git a/package/Config.in b/package/Config.in index e12ee34e9f..58e653dcd9 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1642,6 +1642,7 @@ menu "Graphics" source "package/libvips/Config.in" source "package/libwpe/Config.in" source "package/menu-cache/Config.in" + source "package/onevpl/Config.in" source "package/opencl-clhpp/Config.in" source "package/opencv3/Config.in" source "package/opencv4/Config.in" diff --git a/package/onevpl/0001-Don-t-force-fstack-protector.patch b/package/onevpl/0001-Don-t-force-fstack-protector.patch new file mode 100644 index 0000000000..14948e28cc --- /dev/null +++ b/package/onevpl/0001-Don-t-force-fstack-protector.patch @@ -0,0 +1,32 @@ +From 682a9eabc71c2e33ebbbba2e75d0ba7caa08c7c8 Mon Sep 17 00:00:00 2001 +From: Bernd Kuhls +Date: Mon, 8 May 2023 20:03:22 +0200 +Subject: [PATCH] Don't force -fstack-protector + +This allows the environment to decide whether SSP should be used or +not, for example to support toolchains that don't have SSP support. + +Upstream: Not applicable + +Signed-off-by: Bernd Kuhls +--- + cmake/CompileOptions.cmake | 3 --- + 1 file changed, 3 deletions(-) + +diff --git a/cmake/CompileOptions.cmake b/cmake/CompileOptions.cmake +index 9923f1c..5b24622 100644 +--- a/cmake/CompileOptions.cmake ++++ b/cmake/CompileOptions.cmake +@@ -54,9 +54,6 @@ else() + add_definitions("-D_FORTIFY_SOURCE=2") + endif() + endif() +- if(NOT MINGW) +- add_compile_options("-fstack-protector-strong") +- endif() + if(NOT MINGW) + add_link_options("-Wl,-z,relro,-z,now,-z,noexecstack") + endif() +-- +2.39.2 + diff --git a/package/onevpl/Config.in b/package/onevpl/Config.in new file mode 100644 index 0000000000..a750e54d52 --- /dev/null +++ b/package/onevpl/Config.in @@ -0,0 +1,27 @@ +config BR2_PACKAGE_ONEVPL_ARCH_SUPPORTS + bool + default y if BR2_ARCH_IS_64 + default y if BR2_arm + +config BR2_PACKAGE_ONEVPL + bool "onevpl" + depends on BR2_PACKAGE_ONEVPL_ARCH_SUPPORTS + depends on BR2_INSTALL_LIBSTDCPP + depends on !BR2_STATIC_LIBS # dlfcn.h + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_7 + depends on BR2_TOOLCHAIN_HAS_THREADS + select BR2_PACKAGE_WAYLAND_PROTOCOLS if BR2_PACKAGE_WAYLAND + # libva support needs a libdrm with intel driver + select BR2_PACKAGE_LIBDRM_INTEL if BR2_PACKAGE_LIBVA + select BR2_PACKAGE_LIBXCB if BR2_PACKAGE_XORG7 + select BR2_PACKAGE_XLIB_LIBX11 if BR2_PACKAGE_XORG7 + help + oneAPI Video Processing Library (oneVPL) dispatcher, + tools, and examples + + https://github.com/oneapi-src/oneVPL + +comment "onevpl needs a toolchain w/ dynamic library, gcc >= 7, C++, threads" + depends on BR2_PACKAGE_ONEVPL_ARCH_SUPPORTS + depends on BR2_STATIC_LIBS || !BR2_TOOLCHAIN_GCC_AT_LEAST_7 || \ + !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/onevpl/onevpl.hash b/package/onevpl/onevpl.hash new file mode 100644 index 0000000000..c9ca1e6c04 --- /dev/null +++ b/package/onevpl/onevpl.hash @@ -0,0 +1,3 @@ +# Locally computed +sha256 4411543519486a2450f6f5af06a077596e7888a551768594e9dfa2a46b23b6f5 onevpl-2023.3.1.tar.gz +sha256 bf1cfac2e2792b6e1e995ce103d70796aecaf2ec7e4c5fe5474f7acec7b4a677 LICENSE diff --git a/package/onevpl/onevpl.mk b/package/onevpl/onevpl.mk new file mode 100644 index 0000000000..2033f755c0 --- /dev/null +++ b/package/onevpl/onevpl.mk @@ -0,0 +1,43 @@ +################################################################################ +# +# onevpl +# +################################################################################ + +ONEVPL_VERSION = 2023.3.1 +ONEVPL_SITE = $(call github,oneapi-src,oneVPL,v$(ONEVPL_VERSION)) +ONEVPL_LICENSE = MIT +ONEVPL_LICENSE_FILES = LICENSE +ONEVPL_INSTALL_STAGING = YES +ONEVPL_DEPENDENCIES = host-pkgconf + +ONEVPL_CONF_OPTS = \ + -DINSTALL_EXAMPLE_CODE=OFF + +ifeq ($(BR2_TOOLCHAIN_HAS_LIBATOMIC),y) +ONEVPL_CONF_OPTS += \ + -DCMAKE_CXX_FLAGS="-latomic" +endif + +ifeq ($(BR2_PACKAGE_LIBVA),y) +ONEVPL_CONF_OPTS += -DENABLE_VA=ON +ONEVPL_DEPENDENCIES += libva +else +ONEVPL_CONF_OPTS += -DENABLE_VA=OFF +endif + +ifeq ($(BR2_PACKAGE_WAYLAND),y) +ONEVPL_CONF_OPTS += -DENABLE_WAYLAND=ON +ONEVPL_DEPENDENCIES += wayland wayland-protocols +else +ONEVPL_CONF_OPTS += -DENABLE_WAYLAND=OFF +endif + +ifeq ($(BR2_PACKAGE_XORG7),y) +ONEVPL_CONF_OPTS += -DENABLE_X11=ON +ONEVPL_DEPENDENCIES += libxcb xlib_libX11 +else +ONEVPL_CONF_OPTS += -DENABLE_X11=OFF +endif + +$(eval $(cmake-package))