From 9a6d101195f791d81d80eb06b6918a2e0b932e8b Mon Sep 17 00:00:00 2001 From: Khem Raj Date: Sun, 5 Mar 2023 14:31:13 -0800 Subject: vlc: Upgrade to 3.0.18 Drop 64-bit time_t patch, its already fixed in 3.0.18 Add patches to fix buld with clang16 and musl Signed-off-by: Khem Raj --- .../vlc/vlc/0001-include-limits-header.patch | 43 ------- .../vlc/vlc/0001-make-opencv-configurable.patch | 8 +- .../vlc/vlc/0002-use-vorbisidec.patch | 8 +- ...-Use-packageconfig-to-detect-mmal-support.patch | 7 +- ...not-have-same-signature-between-glibc-and.patch | 47 ++++++++ ...hread-Use-SYS_futex-instead-of-__NR_futex.patch | 46 ------- ...isable-incompatible-function-pointer-type.patch | 31 +++++ .../recipes-multimedia/vlc/vlc_3.0.17-1.bb | 132 -------------------- .../recipes-multimedia/vlc/vlc_3.0.18.bb | 133 +++++++++++++++++++++ 9 files changed, 218 insertions(+), 237 deletions(-) delete mode 100644 meta-multimedia/recipes-multimedia/vlc/vlc/0001-include-limits-header.patch create mode 100644 meta-multimedia/recipes-multimedia/vlc/vlc/0005-ioctl-does-not-have-same-signature-between-glibc-and.patch delete mode 100644 meta-multimedia/recipes-multimedia/vlc/vlc/0005-linux-thread-Use-SYS_futex-instead-of-__NR_futex.patch create mode 100644 meta-multimedia/recipes-multimedia/vlc/vlc/0006-configure-Disable-incompatible-function-pointer-type.patch delete mode 100644 meta-multimedia/recipes-multimedia/vlc/vlc_3.0.17-1.bb create mode 100644 meta-multimedia/recipes-multimedia/vlc/vlc_3.0.18.bb (limited to 'meta-multimedia') diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-include-limits-header.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-include-limits-header.patch deleted file mode 100644 index e1383c826c..0000000000 --- a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-include-limits-header.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 1068c7451855c3f9acde9af265b5a790073b1641 Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Tue, 2 Mar 2021 14:28:27 -0800 -Subject: [PATCH] include header - -Fixes -SegmentInformation.cpp:397:49: error: '::max' has not been declared; d -id you mean 'std::max'? - -Upstream-Status: Pending -Signed-off-by: Khem Raj ---- - modules/demux/adaptive/playlist/SegmentInformation.cpp | 1 + - modules/demux/hls/playlist/Parser.cpp | 1 + - 2 files changed, 2 insertions(+) - -diff --git a/modules/demux/adaptive/playlist/SegmentInformation.cpp b/modules/demux/adaptive/playlist/SegmentInformation.cpp -index 344e155..8eeb054 100644 ---- a/modules/demux/adaptive/playlist/SegmentInformation.cpp -+++ b/modules/demux/adaptive/playlist/SegmentInformation.cpp -@@ -34,6 +34,7 @@ - - #include - #include -+#include - - using namespace adaptive::playlist; - -diff --git a/modules/demux/hls/playlist/Parser.cpp b/modules/demux/hls/playlist/Parser.cpp -index 67110e4..7439699 100644 ---- a/modules/demux/hls/playlist/Parser.cpp -+++ b/modules/demux/hls/playlist/Parser.cpp -@@ -42,6 +42,7 @@ - #include - #include - #include -+#include - - using namespace adaptive; - using namespace adaptive::playlist; --- -2.30.1 - diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-make-opencv-configurable.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-make-opencv-configurable.patch index 950c09b8ae..cc65af009b 100644 --- a/meta-multimedia/recipes-multimedia/vlc/vlc/0001-make-opencv-configurable.patch +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0001-make-opencv-configurable.patch @@ -5,11 +5,9 @@ Upstream-Status: Inappropriate [configuration] Signed-off-by: Tim Orling -Index: vlc-2.1.4/configure.ac -=================================================================== ---- vlc-2.1.4.orig/configure.ac -+++ vlc-2.1.4/configure.ac -@@ -1693,7 +1693,16 @@ PKG_ENABLE_MODULES_VLC([BLURAY], [libblu +--- a/configure.ac ++++ b/configure.ac +@@ -1892,7 +1892,16 @@ PKG_ENABLE_MODULES_VLC([BLURAY], [libblu dnl dnl OpenCV wrapper and example filters dnl diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0002-use-vorbisidec.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0002-use-vorbisidec.patch index b174ec127e..8ecddd33c6 100644 --- a/meta-multimedia/recipes-multimedia/vlc/vlc/0002-use-vorbisidec.patch +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0002-use-vorbisidec.patch @@ -4,11 +4,9 @@ Upstream-Status: Pending Signed-off-by: Tim Orling -Index: vlc-2.2.1/modules/codec/Makefile.am -=================================================================== ---- vlc-2.2.1.orig/modules/codec/Makefile.am -+++ vlc-2.2.1/modules/codec/Makefile.am -@@ -234,7 +234,7 @@ codec_LTLIBRARIES += $(LTLIBtheora) +--- a/modules/codec/Makefile.am ++++ b/modules/codec/Makefile.am +@@ -321,7 +321,7 @@ codec_LTLIBRARIES += $(LTLIBdaala) libtremor_plugin_la_SOURCES = codec/vorbis.c libtremor_plugin_la_CPPFLAGS = $(AM_CPPFLAGS) -DMODULE_NAME_IS_tremor libtremor_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(codecdir)' diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0004-Use-packageconfig-to-detect-mmal-support.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0004-Use-packageconfig-to-detect-mmal-support.patch index 424aaa2815..078ac41ca5 100644 --- a/meta-multimedia/recipes-multimedia/vlc/vlc/0004-Use-packageconfig-to-detect-mmal-support.patch +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0004-Use-packageconfig-to-detect-mmal-support.patch @@ -13,11 +13,9 @@ Signed-off-by: Khem Raj configure.ac | 31 +++++++++++-------------------- 1 file changed, 11 insertions(+), 20 deletions(-) -diff --git a/configure.ac b/configure.ac -index d7cf692..f81b99d 100644 --- a/configure.ac +++ b/configure.ac -@@ -3427,27 +3427,18 @@ AC_ARG_ENABLE(mmal, +@@ -3461,27 +3461,18 @@ AC_ARG_ENABLE(mmal, AS_HELP_STRING([--enable-mmal], [Multi-Media Abstraction Layer (MMAL) hardware plugin (default enable)])) if test "${enable_mmal}" != "no"; then @@ -56,6 +54,3 @@ index d7cf692..f81b99d 100644 dnl dnl evas plugin --- -2.26.1 - diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0005-ioctl-does-not-have-same-signature-between-glibc-and.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0005-ioctl-does-not-have-same-signature-between-glibc-and.patch new file mode 100644 index 0000000000..cbf4f2b911 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0005-ioctl-does-not-have-same-signature-between-glibc-and.patch @@ -0,0 +1,47 @@ +From a46cee56d05884b8020ace6f67ef8389ac1845da Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 5 Mar 2023 13:50:40 -0800 +Subject: [PATCH 1/3] ioctl does not have same signature between glibc and musl + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + modules/access/v4l2/lib.c | 4 ++++ + modules/access/v4l2/v4l2.h | 4 ++++ + 2 files changed, 8 insertions(+) + +diff --git a/modules/access/v4l2/lib.c b/modules/access/v4l2/lib.c +index b212e1bc5f..ff7c66bf35 100644 +--- a/modules/access/v4l2/lib.c ++++ b/modules/access/v4l2/lib.c +@@ -43,7 +43,11 @@ int (*v4l2_fd_open) (int, int) = fd_open; + //int (*v4l2_open) (const char *, int, ...) = open; + //int (*v4l2_dup) (const char *, int, ...) = dup; + int (*v4l2_close) (int) = close; ++#ifdef __GLIBC__ + int (*v4l2_ioctl) (int, unsigned long int, ...) = ioctl; ++#else ++int (*v4l2_ioctl) (int, int, ...) = ioctl; ++#endif + ssize_t (*v4l2_read) (int, void *, size_t) = read; + //ssize_t (*v4l2_write) (int, const void *, size_t) = write; + void * (*v4l2_mmap) (void *, size_t, int, int, int, int64_t) = mmap; +diff --git a/modules/access/v4l2/v4l2.h b/modules/access/v4l2/v4l2.h +index ac4562e269..727e83e9b1 100644 +--- a/modules/access/v4l2/v4l2.h ++++ b/modules/access/v4l2/v4l2.h +@@ -23,7 +23,11 @@ + /* libv4l2 functions */ + extern int (*v4l2_fd_open) (int, int); + extern int (*v4l2_close) (int); ++#ifdef __GLIBC__ + extern int (*v4l2_ioctl) (int, unsigned long int, ...); ++#else ++extern int (*v4l2_ioctl) (int, int, ...); ++#endif + extern ssize_t (*v4l2_read) (int, void *, size_t); + extern void * (*v4l2_mmap) (void *, size_t, int, int, int, int64_t); + extern int (*v4l2_munmap) (void *, size_t); +-- +2.39.2 + diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0005-linux-thread-Use-SYS_futex-instead-of-__NR_futex.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0005-linux-thread-Use-SYS_futex-instead-of-__NR_futex.patch deleted file mode 100644 index 405490dcfc..0000000000 --- a/meta-multimedia/recipes-multimedia/vlc/vlc/0005-linux-thread-Use-SYS_futex-instead-of-__NR_futex.patch +++ /dev/null @@ -1,46 +0,0 @@ -From f7957c35654222e5bd1038341612bbb40a88e98b Mon Sep 17 00:00:00 2001 -From: Khem Raj -Date: Mon, 16 Nov 2020 12:08:43 -0800 -Subject: [PATCH] linux/thread: Use SYS_futex instead of __NR_futex - -SYS_futex it expected from system C library. -in glibc (/usr/include/bits/syscall.h defines it in terms of of NR_futex) -some newer 32bit architectures e.g. riscv32 are using 64bit time_t from -get go unlike other 32bit architectures in glibc, therefore it wont have -NR_futex defined but just NR_futex_time64 this aliases it to NR_futex so -that SYS_futex is then defined for rv32 - -Upstream-Status: Submitted [https://github.com/videolan/vlc/pull/117] -Signed-off-by: Khem Raj ---- - src/linux/thread.c | 7 ++++++- - 1 file changed, 6 insertions(+), 1 deletion(-) - -diff --git a/src/linux/thread.c b/src/linux/thread.c -index 20da296..30639a3 100644 ---- a/src/linux/thread.c -+++ b/src/linux/thread.c -@@ -30,6 +30,11 @@ - #include - #include - -+/* 32bit architectures with 64bit time_t do not define __NR_futex syscall */ -+#if !defined(SYS_futex) && defined(SYS_futex_time64) -+#define SYS_futex SYS_futex_time64 -+#endif -+ - #ifndef FUTEX_PRIVATE_FLAG - #define FUTEX_WAKE_PRIVATE FUTEX_WAKE - #define FUTEX_WAIT_PRIVATE FUTEX_WAIT -@@ -50,7 +55,7 @@ unsigned long vlc_thread_id(void) - static int sys_futex(void *addr, int op, unsigned val, - const struct timespec *to, void *addr2, int val3) - { -- return syscall(__NR_futex, addr, op, val, to, addr2, val3); -+ return syscall(SYS_futex, addr, op, val, to, addr2, val3); - } - - static int vlc_futex_wake(void *addr, int nr) --- -2.29.2 - diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc/0006-configure-Disable-incompatible-function-pointer-type.patch b/meta-multimedia/recipes-multimedia/vlc/vlc/0006-configure-Disable-incompatible-function-pointer-type.patch new file mode 100644 index 0000000000..4128db1aea --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc/0006-configure-Disable-incompatible-function-pointer-type.patch @@ -0,0 +1,31 @@ +From 048e4fdd08ac588feb27b03e3ec1824e24f77d62 Mon Sep 17 00:00:00 2001 +From: Khem Raj +Date: Sun, 5 Mar 2023 14:13:25 -0800 +Subject: [PATCH 3/3] configure: Disable incompatible-function-pointer-types + warning + +Upstream-Status: Pending +Signed-off-by: Khem Raj +--- + configure.ac | 5 +++++ + 1 file changed, 5 insertions(+) + +diff --git a/configure.ac b/configure.ac +index 9f1c099e13..8e45a05808 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -98,6 +98,11 @@ AS_IF([test -n "${with_binary_version}"],[ + dnl Prevent clang from accepting unknown flags with a mere warning + AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CFLAGS]) + AX_APPEND_COMPILE_FLAGS([-Werror=unknown-warning-option -Werror=invalid-command-line-argument], [CXXFLAGS]) ++dnl disable clang from erroring on function pointer protype mismatch, vlc seems to rely on that ++dnl especially in modules/video_filter/deinterlace/algo_yadif.c how it interpolates 'filter` variable ++dnl between different functions yadif_filter_line_c_16bit() and yadif_filter_line_c() ++AX_APPEND_COMPILE_FLAGS([-Wno-error=incompatible-function-pointer-types -Wno-error=incompatible-function-pointer-types], [CFLAGS]) ++AX_APPEND_COMPILE_FLAGS([-Wno-error=incompatible-function-pointer-types -Wno-error=incompatible-function-pointer-types], [CXXFLAGS]) + + dnl + dnl Check the operating system +-- +2.39.2 + diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.17-1.bb b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.17-1.bb deleted file mode 100644 index 9b85cb5374..0000000000 --- a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.17-1.bb +++ /dev/null @@ -1,132 +0,0 @@ -DESCRIPTION = "Video player and streamer - davinci edition" -HOMEPAGE = "http://www.videolan.org" -SECTION = "multimedia" - -LICENSE = "GPL-2.0-only" -LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" - -DEPENDS = "coreutils-native fribidi libtool libgcrypt libgcrypt-native bison-native \ - dbus libxml2 gnutls \ - tremor faad2 ffmpeg flac alsa-lib \ - lua-native lua libidn \ - avahi jpeg xz libmodplug mpeg2dec \ - libmtp libopus orc libsamplerate0 libusb1 schroedinger taglib \ - tiff" - -LDFLAGS:append:riscv64 = " -latomic" -LDFLAGS:append:riscv32 = " -latomic" - -SRC_URI = "git://github.com/videolan/vlc.git;protocol=https;branch=3.0.x \ - file://0001-make-opencv-configurable.patch \ - file://0002-use-vorbisidec.patch \ - file://0003-fix-luaL-checkint.patch \ - file://0004-Use-packageconfig-to-detect-mmal-support.patch \ - file://0005-linux-thread-Use-SYS_futex-instead-of-__NR_futex.patch \ -" -SRCREV = "aa76328c572d93f1d99c867a94ecad1dc3259733" -S = "${WORKDIR}/git" - -inherit autotools-brokensep features_check gettext pkgconfig mime-xdg - -REQUIRED_DISTRO_FEATURES = "x11" - -export BUILDCC = "${BUILD_CC}" -EXTRA_OECONF = "\ - --enable-run-as-root \ - --enable-xvideo \ - --disable-screen --disable-caca \ - --enable-vlm \ - --enable-freetype \ - --enable-tremor \ - --enable-v4l2 --disable-aa --disable-faad \ - --enable-dbus \ - --without-contrib \ - --without-kde-solid \ - --enable-realrtsp \ - --disable-libtar \ - --enable-avcodec \ - ac_cv_path_MOC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/moc \ - ac_cv_path_RCC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/rcc \ - ac_cv_path_UIC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/uic \ -" - -PACKAGECONFIG ?= " \ - live555 dc1394 dv1394 notify fontconfig fluidsynth freetype dvdread png \ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ - x264 \ -" - -inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'qmake5_paths', '', d)} - -PACKAGECONFIG[mmal] = "--enable-omxil --enable-omxil-vout --enable-rpi-omxil --enable-mmal,,userland" -PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264" -PACKAGECONFIG[fluidsynth] = ",,fluidsynth" -PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad" -PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52" -PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" -PACKAGECONFIG[live555] = "--enable-live555 LIVE555_PREFIX=${STAGING_DIR_HOST}${prefix},--disable-live555,live555" -PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass" -PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc" -PACKAGECONFIG[libva] = "--enable-libva,--disable-libva,libva" -PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv" -PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex" -PACKAGECONFIG[gstreamer] = "--enable-gst-decode,--disable-gst-decode,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" -PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx, libvpx" -PACKAGECONFIG[qt5] = "--enable-qt,--disable-qt, qtbase-native qtx11extras qtsvg" -PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp" -PACKAGECONFIG[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi" -PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba" -PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp" -PACKAGECONFIG[dvdnav] = "--enable-dvdnav,--disable-dvdnav,libdvdnav libdvdcss" -PACKAGECONFIG[sftp] = "--enable-sftp,--disable-sftp,libssh2" -PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis libogg" -PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libvorbis libogg" -PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394" -PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libavc1394" -PACKAGECONFIG[svg] = "--enable-svg,--disable-svg,librsvg" -PACKAGECONFIG[svgdec] = "--enable-svgdec,--disable-svgdec,librsvg cairo" -PACKAGECONFIG[notify] = "--enable-notify,--disable-notify, libnotify gtk+3" -PACKAGECONFIG[fontconfig] = "--enable-fontconfig,--disable-fontconfig, fontconfig" -PACKAGECONFIG[freetype] = "--enable-freetype,--disable-freetype, freetype" -PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss" -PACKAGECONFIG[vnc] = "--enable-vnc,--disable-vnc, libvncserver" -PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama" -PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" -PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau" -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native" - -do_configure:append() { - # moc needs support: precreate build paths - for qtpath in adapters components/epg components/playlist components/sout dialogs managers styles util/buttons; do - mkdir -p "${B}/modules/gui/qt/$qtpath" - done -} - -# This recipe packages vlc as a library as well, so qt4 dependencies -# can be avoided when only the library is installed. -PACKAGES =+ "libvlc" - -LEAD_SONAME_libvlc = "libvlc.so.5" -FILES:libvlc = "${libdir}/lib*.so.*" - -FILES:${PN} += "\ - ${bindir}/vlc \ - ${libdir}/vlc/vlc/libvlc_vdpau.so \ - ${datadir}/applications \ - ${datadir}/vlc/ \ - ${datadir}/icons \ - ${datadir}/metainfo/vlc.appdata.xml \ -" - -FILES:${PN}-dbg += "\ - ${libdir}/vlc/*/.debug \ - ${libdir}/vlc/plugins/*/.debug \ -" - -FILES:${PN}-staticdev += "\ - ${libdir}/vlc/plugins/*/*.a \ -" - -INSANE_SKIP:${PN} = "dev-so" - -EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "0", "1", d)}" diff --git a/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.18.bb b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.18.bb new file mode 100644 index 0000000000..dd6eceae51 --- /dev/null +++ b/meta-multimedia/recipes-multimedia/vlc/vlc_3.0.18.bb @@ -0,0 +1,133 @@ +DESCRIPTION = "Video player and streamer - davinci edition" +HOMEPAGE = "http://www.videolan.org" +SECTION = "multimedia" + +LICENSE = "GPL-2.0-only" +LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" + +DEPENDS = "coreutils-native fribidi libtool libgcrypt libgcrypt-native bison-native \ + dbus libxml2 gnutls \ + tremor faad2 ffmpeg flac alsa-lib \ + lua-native lua libidn \ + avahi jpeg xz libmodplug mpeg2dec \ + libmtp libopus orc libsamplerate0 libusb1 schroedinger taglib \ + tiff" + +LDFLAGS:append:riscv64 = " -latomic" +LDFLAGS:append:riscv32 = " -latomic" + +SRC_URI = "git://github.com/videolan/vlc.git;protocol=https;branch=3.0.x \ + file://0001-make-opencv-configurable.patch \ + file://0002-use-vorbisidec.patch \ + file://0003-fix-luaL-checkint.patch \ + file://0004-Use-packageconfig-to-detect-mmal-support.patch \ + file://0005-ioctl-does-not-have-same-signature-between-glibc-and.patch \ + file://0006-configure-Disable-incompatible-function-pointer-type.patch \ +" +SRCREV = "e9eceaed4d838dbd84638bfb2e4bdd08294163b1" +S = "${WORKDIR}/git" + +inherit autotools-brokensep features_check gettext pkgconfig mime-xdg + +REQUIRED_DISTRO_FEATURES = "x11" + +export BUILDCC = "${BUILD_CC}" +EXTRA_OECONF = "\ + --enable-run-as-root \ + --enable-xvideo \ + --disable-screen --disable-caca \ + --enable-vlm \ + --enable-freetype \ + --enable-tremor \ + --enable-v4l2 --disable-aa --disable-faad \ + --enable-dbus \ + --without-contrib \ + --without-kde-solid \ + --enable-realrtsp \ + --disable-libtar \ + --enable-avcodec \ + ac_cv_path_MOC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/moc \ + ac_cv_path_RCC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/rcc \ + ac_cv_path_UIC=${STAGING_BINDIR_NATIVE}${QT_DIR_NAME}/uic \ +" + +PACKAGECONFIG ?= " \ + live555 dc1394 dv1394 notify fontconfig fluidsynth freetype dvdread png \ + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ + x264 \ +" + +inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'qmake5_paths', '', d)} + +PACKAGECONFIG[mmal] = "--enable-omxil --enable-omxil-vout --enable-rpi-omxil --enable-mmal,,userland" +PACKAGECONFIG[x264] = "--enable-x264,--disable-x264,x264" +PACKAGECONFIG[fluidsynth] = ",,fluidsynth" +PACKAGECONFIG[mad] = "--enable-mad,--disable-mad,libmad" +PACKAGECONFIG[a52] = "--enable-a52,--disable-a52,liba52" +PACKAGECONFIG[jack] = "--enable-jack,--disable-jack,jack" +PACKAGECONFIG[live555] = "--enable-live555 LIVE555_PREFIX=${STAGING_DIR_HOST}${prefix},--disable-live555,live555" +PACKAGECONFIG[libass] = "--enable-libass,--disable-libass,libass" +PACKAGECONFIG[postproc] = "--enable-postproc,--disable-postproc,libpostproc" +PACKAGECONFIG[libva] = "--enable-libva,--disable-libva,libva" +PACKAGECONFIG[opencv] = "--enable-opencv,--disable-opencv,opencv" +PACKAGECONFIG[speex] = "--enable-speex,--disable-speex,speex" +PACKAGECONFIG[gstreamer] = "--enable-gst-decode,--disable-gst-decode,gstreamer1.0 gstreamer1.0-plugins-base gstreamer1.0-plugins-bad" +PACKAGECONFIG[vpx] = "--enable-vpx,--disable-vpx, libvpx" +PACKAGECONFIG[qt5] = "--enable-qt,--disable-qt, qtbase-native qtx11extras qtsvg" +PACKAGECONFIG[freerdp] = "--enable-freerdp,--disable-freerdp, freerdp" +PACKAGECONFIG[dvbpsi] = "--enable-dvbpsi,--disable-dvbpsi, libdvbpsi" +PACKAGECONFIG[samba] = "--enable-smbclient,--disable-smbclient, samba" +PACKAGECONFIG[upnp] = "--enable-upnp,--disable-upnp,libupnp" +PACKAGECONFIG[dvdnav] = "--enable-dvdnav,--disable-dvdnav,libdvdnav libdvdcss" +PACKAGECONFIG[sftp] = "--enable-sftp,--disable-sftp,libssh2" +PACKAGECONFIG[vorbis] = "--enable-vorbis,--disable-vorbis,libvorbis libogg" +PACKAGECONFIG[ogg] = "--enable-ogg,--disable-ogg,libvorbis libogg" +PACKAGECONFIG[dc1394] = "--enable-dc1394,--disable-dc1394,libdc1394" +PACKAGECONFIG[dv1394] = "--enable-dv1394,--disable-dv1394,libraw1394 libavc1394" +PACKAGECONFIG[svg] = "--enable-svg,--disable-svg,librsvg" +PACKAGECONFIG[svgdec] = "--enable-svgdec,--disable-svgdec,librsvg cairo" +PACKAGECONFIG[notify] = "--enable-notify,--disable-notify, libnotify gtk+3" +PACKAGECONFIG[fontconfig] = "--enable-fontconfig,--disable-fontconfig, fontconfig" +PACKAGECONFIG[freetype] = "--enable-freetype,--disable-freetype, freetype" +PACKAGECONFIG[dvdread] = "--enable-dvdread,--disable-dvdread, libdvdread libdvdcss" +PACKAGECONFIG[vnc] = "--enable-vnc,--disable-vnc, libvncserver" +PACKAGECONFIG[x11] = "--with-x --enable-xcb,--without-x --disable-xcb, xcb-util-keysyms libxpm libxinerama" +PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" +PACKAGECONFIG[vdpau] = "--enable-vdpau,--disable-vdpau,libvdpau" +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native" + +do_configure:append() { + # moc needs support: precreate build paths + for qtpath in adapters components/epg components/playlist components/sout dialogs managers styles util/buttons; do + mkdir -p "${B}/modules/gui/qt/$qtpath" + done +} + +# This recipe packages vlc as a library as well, so qt4 dependencies +# can be avoided when only the library is installed. +PACKAGES =+ "libvlc" + +LEAD_SONAME_libvlc = "libvlc.so.5" +FILES:libvlc = "${libdir}/lib*.so.*" + +FILES:${PN} += "\ + ${bindir}/vlc \ + ${libdir}/vlc/vlc/libvlc_vdpau.so \ + ${datadir}/applications \ + ${datadir}/vlc/ \ + ${datadir}/icons \ + ${datadir}/metainfo/vlc.appdata.xml \ +" + +FILES:${PN}-dbg += "\ + ${libdir}/vlc/*/.debug \ + ${libdir}/vlc/plugins/*/.debug \ +" + +FILES:${PN}-staticdev += "\ + ${libdir}/vlc/plugins/*/*.a \ +" + +INSANE_SKIP:${PN} = "dev-so" + +EXCLUDE_FROM_WORLD = "${@bb.utils.contains("LICENSE_FLAGS_ACCEPTED", "commercial", "0", "1", d)}" -- cgit v1.2.3-54-g00ecf