Skip to contentSkip to conversation

package/vlc: fix build failures (branch yem/vlc)

PATCH New Yann E. MORIN 3 participants 7 messages Mar 4, 2015 – Apr 6, 2015

lore
Share & tools
lore
#0 lore raw

cover package/vlc: fix build failures (branch yem/vlc)

Hello All!

Since we bumped FreeRDP, vlc no longer builds (see commit log for autobuild references).

Bump vlc, and express the missing dependencies.

Regards,
Yann E. MORIN.

The following changes since commit 9d0c45094118d1c238b389c5d6dc9a1a901bc575:

openswan: re-add -fPIE flag (2015-03-04 23:04:29 +0100)

are available in the git repository at:

git://git.busybox.net/~ymorin/git/buildroot yem/vlc

for you to fetch changes up to 4ecf72039d9f27d864bc0d72b6738e5fa3e5192a:

package/vlc: bump to 2.2.0 (2015-03-04 23:13:07 +0100)

----------------------------------------------------------------
Yann E. MORIN (2):
package/vlc: express the dependency on freerdp package/vlc: bump to 2.2.0

 package/vlc/0001-vlc-static.patch                  |  2 +-
 ...ac-add-check-for-libgcrypt-config-program.patch | 14 ++++-----
 package/vlc/0004-libav.patch                       | 22 --------------
 package/vlc/Config.in                              |  7 +++--
 package/vlc/vlc.hash                               |  4 +--
 package/vlc/vlc.mk                                 | 35 +++++++++++++++++-----
 6 files changed, 42 insertions(+), 42 deletions(-)
 delete mode 100644 package/vlc/0004-libav.patch
Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'
#1 lore raw

PATCH 1/2 package/vlc: express the dependency on freerdp

vlc can use the freerdp library if present.

This is currently a hidden dependency, as we do not express it in our vlc.mk rules. Package ordering makes it so that freerdp is built before vlc; however, manually building vlc (with 'make vlc') would miss the dependency because of that package ordering.

Explcitly add freerdp (if enabled) as a dependency of vlc to ensure build order in every vases.

---
 package/vlc/vlc.mk | 7 +++++++
 1 file changed, 7 insertions(+)
package/vlc/vlc.mk +7 -0
index 56006b5..1499f8b 100644
@@ -117,6 +117,13 @@ else
 VLC_CONF_OPTS += --disable-flac
 endif
 
+ifeq ($(BR2_PACKAGE_FREERDP),y)
+VLC_CONF_OPTS += --enable-libfreerdp
+VLC_DEPENDENCIES += freerdp
+else
+VLC_CONF_OPTS += --disable-libfreerdp
+endif
+
 ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
 VLC_CONF_OPTS += --enable-glx
 VLC_DEPENDENCIES += libgl
Signature · 1 line
1.9.1
#2 lore raw

PATCH 1/2 package/vlc: express the dependency on freerdp

Dear Yann E. MORIN,

Quoted 9 lines · Yann E. MORIN

vlc can use the freerdp library if present.

This is currently a hidden dependency, as we do not express it in our vlc.mk rules. Package ordering makes it so that freerdp is built before vlc; however, manually building vlc (with 'make vlc') would miss the dependency because of that package ordering.

Explcitly add freerdp (if enabled) as a dependency of vlc to ensure build order in every vases.

a vase is for flowers, I guess you wanted to say 'case', right?

Committed with this fixed.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#3 lore raw

PATCH 1/2 package/vlc: express the dependency on freerdp

Quoted 11 lines
Quoted 1 line
Quoted 1 line
Quoted 1 line
Quoted 1 line

"Thomas" == Thomas Petazzoni <[email protected]> writes:

Dear Yann E. MORIN,

Quoted 7 lines · Yann E. MORIN

vlc can use the freerdp library if present.

This is currently a hidden dependency, as we do not express it in our vlc.mk rules. Package ordering makes it so that freerdp is built before vlc; however, manually building vlc (with 'make vlc') would miss the dependency because of that package ordering.

Quoted 6 lines
Quoted 2 lines

Explcitly add freerdp (if enabled) as a dependency of vlc to ensure build order in every vases.

a vase is for flowers, I guess you wanted to say 'case', right?

Committed with this fixed.

But you forgot to fix the 'Explcitly' in the line above.

Signature · 1 line
Bye, Peter Korsgaard
#4 lore raw

PATCH 1/2 package/vlc: express the dependency on freerdp

Dear Peter Korsgaard,

Quoted 8 lines · Peter Korsgaard
Quoted 6 lines
Quoted 2 lines

Explcitly add freerdp (if enabled) as a dependency of vlc to ensure build order in every vases.

a vase is for flowers, I guess you wanted to say 'case', right?

Committed with this fixed.

But you forgot to fix the 'Explcitly' in the line above.

Damn :/ And it's a commit log, so I can't fix it once committed. Shame on me.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#5 lore raw

PATCH 2/2 package/vlc: bump to 2.2.0

In reply to Yann E. MORIN

Since we bumped FreeRDP, vlc no longer builds:

    http://autobuild.buildroot.org/results/8d9/8d91e3ffccee753135e9d0faa2b1ae00875606c9/
    http://autobuild.buildroot.org/results/e1f/e1f6526d1a4ac2c95998793efea2188faa708e29/

Fix that by bumping vlc to 2.2.0, as vlc-2.1.6will never support this new version of FreeRDP.

Add dependency on kernel headers >= 3.7, because it needs DTV_STREAM_ID. I stumbled on this whith a toolchain using headers forom 3.5, but only tested with a toolchain with headers from 3.9, so there might be other dependencies I missed on 3.8 or even 3.9. Let's wait for build failures to find out...

There are quite a bunch of new --enable/disable options, so I've tried to catter for all the changes. Most notably, there's no longer a flag to enable.disable GL, it is now always auto-detected. Also, I've added flags for GLES which we were missing so far, so we had to rely on the build order to detect those dependencies (which was OK becasue libgles sorts before vlc). Finally, SVG now has two flags to enable different parts of SVG support, but they both depend on the same library, so enable both.

There are new support for some features, like acceleration on RPI, but that can well wait for further patches when someone is interested ;-) , vdpau HW accelearation on NVidia (we have a package for that, but not able to test, so not added), vpx support (we have a libvpx package, but I had no time to test), x262 and x265 support for which we're currently lacking the packaging, and a few other exotic stuff...

---
 package/vlc/0001-vlc-static.patch                  |  2 +-
 ...ac-add-check-for-libgcrypt-config-program.patch | 14 +++++-----
 package/vlc/0004-libav.patch                       | 22 ----------------
 package/vlc/Config.in                              |  7 +++--
 package/vlc/vlc.hash                               |  4 +--
 package/vlc/vlc.mk                                 | 30 +++++++++++++++-------
 6 files changed, 36 insertions(+), 43 deletions(-)
 delete mode 100644 package/vlc/0004-libav.patch
package/vlc/0001-vlc-static.patch +1 -1
index faf7e80..f9aa079 100644
@@ -13,7 +13,7 @@ diff -uNr vlc-2.1.5.org/bin/Makefile.am vlc-2.1.5/bin/Makefile.am
 diff -uNr vlc-2.1.5.org/Makefile.am vlc-2.1.5/Makefile.am
 --- vlc-2.1.5.org/Makefile.am	2014-02-14 18:40:50.000000000 +0100
 +++ vlc-2.1.5/Makefile.am	2014-08-03 12:29:52.059010766 +0200
-@@ -607,7 +607,7 @@
+@@ -932,7 +932,7 @@
  	cd lib && $(MAKE) $(AM_MAKEFLAGS) libvlc.la
  
  core: libvlc vlc$(EXEEXT)
package/vlc/0002-configure.ac-add-check-for-libgcrypt-config-program.patch +7 -7
index 1ad6712..e9a7315 100644
@@ -8,6 +8,9 @@ useful when cross-compiling), instead of using the one from the host
 system.
 
 Signed-off-by: Samuel Martin <[email protected]>
+[yann.morin.1998 at free.fr: adapt from 2.1.6 to 2.2.0; fix quoting in
+ AC_PATH_PROG]
+Signed-off-by: "Yann E. MORIN" <[email protected]>
 ---
  configure.ac | 9 +++++----
  1 file changed, 5 insertions(+), 4 deletions(-)
@@ -16,11 +19,11 @@ diff --git a/configure.ac b/configure.ac
 index 02fb8aa..5a2267b 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -3943,16 +3943,17 @@ dnl
+@@ -4020,16 +4020,17 @@
  AC_ARG_ENABLE(libgcrypt,
    [  --disable-libgcrypt     gcrypt support (default enabled)])
  AS_IF([test "${enable_libgcrypt}" != "no"], [
-+  AC_PATH_PROG(GCRYPT_CONFIG,libgcrypt-config,libgcrypt-config)
++  AC_PATH_PROG([GCRYPT_CONFIG],[libgcrypt-config],[libgcrypt-config])
    AC_CHECK_DECL([GCRYCTL_SET_THREAD_CBS], [
 -    libgcrypt-config --version >/dev/null || \
 +    ${GCRYPT_CONFIG} --version >/dev/null || \
@@ -32,12 +35,9 @@ index 02fb8aa..5a2267b 100644
 +      GCRYPT_CFLAGS="`${GCRYPT_CONFIG} --cflags`"
 +      GCRYPT_LIBS="`${GCRYPT_CONFIG} --libs`"
      ], [
-       AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
+       AC_MSG_ERROR([libgcrypt not found. Install libgcrypt or pass --disable-libgcrypt.])
 -    ], [`libgcrypt-config --libs`])
 +    ], [`${GCRYPT_CONFIG} --libs`])
    ], [
-     AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or use --disable-libgcrypt. Have a nice day.])
+     AC_MSG_ERROR([libgcrypt version 1.1.94 or higher not found. Install libgcrypt or pass --disable-libgcrypt.])
    ], [#include <gcrypt.h>]
--- 
-1.8.5.4
-
package/vlc/0004-libav.patch deleted +0 -22
deleted file mode 100644
index c4842d7..0000000
@@ -1,22 +0,0 @@
-VLC works fine with ffmpeg 2.4, ported from upstream
-http://git.videolan.org/?p=vlc/vlc-2.2.git;a=blobdiff;f=configure.ac;h=21a9f89585297ebb98481a29719ef35a20f040db;hp=570da72136f4a5f8142fbab696ece53dd7f84b6a;hb=4ed2079b77b8aeb6d7885cc9828a90290018a7a4;hpb=18fbf7fd17a0f4e9cabcc2e34ac54b210ba08b27
-
-Signed-off-by: Bernd Kuhls <[email protected]>
-
-diff --git a/configure.ac b/configure.ac
-index 570da72..21a9f89 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -2285,9 +2285,9 @@ AC_ARG_ENABLE(avcodec,
- [  --enable-avcodec        libavcodec codec (default enabled)])
- AS_IF([test "${enable_avcodec}" != "no"], [
-   PKG_CHECK_MODULES(AVCODEC,[libavcodec >= 53.34.0 libavutil >= 51.22.0], [
--    PKG_CHECK_EXISTS([libavcodec < 56],, [
--      AC_MSG_ERROR([libavcodec versions 56 and later are not supported yet.])
--    ])
-+    dnl PKG_CHECK_EXISTS([libavcodec < 56],, [
-+    dnl   AC_MSG_ERROR([libavcodec versions 56 and later are not supported yet.])
-+    dnl ])
-     VLC_SAVE_FLAGS
-     CPPFLAGS="${CPPFLAGS} ${AVCODEC_CFLAGS}"
-     CFLAGS="${CFLAGS} ${AVCODEC_CFLAGS}"
package/vlc/Config.in +5 -2
index cdb0d16..b6af1b2 100644
@@ -10,6 +10,7 @@ config BR2_PACKAGE_VLC
 	depends on BR2_LARGEFILE
 	depends on BR2_USE_WCHAR
 	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
 	select BR2_PACKAGE_LIBVORBIS if BR2_PACKAGE_OPUS
 	help
 	  VLC is a free and open source cross-platform multimedia player
@@ -18,5 +19,7 @@ config BR2_PACKAGE_VLC
 
 	  http://www.videolan.org/vlc/
 
-comment "vlc needs a uclibc snapshot or (e)glibc toolchain w/ C++, largefile, wchar, threads"
-	depends on !(BR2_UCLIBC_VERSION_SNAPSHOT || BR2_TOOLCHAIN_USES_GLIBC) || !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_USE_WCHAR || !BR2_TOOLCHAIN_HAS_THREADS
+comment "vlc needs a uclibc snapshot or (e)glibc toolchain w/ C++, largefile, wchar, threads, headers >= 3.7"
+	depends on !(BR2_UCLIBC_VERSION_SNAPSHOT || BR2_TOOLCHAIN_USES_GLIBC) \
+		|| !BR2_INSTALL_LIBSTDCPP || !BR2_LARGEFILE || !BR2_USE_WCHAR \
+		|| !BR2_TOOLCHAIN_HAS_THREADS || !BR2_TOOLCHAIN_HEADERS_AT_LEAST_3_7
package/vlc/vlc.hash +2 -2
index 718a0e6..7b84cef 100644
@@ -1,2 +1,2 @@
-# From http://get.videolan.org/vlc/2.1.6/vlc-2.1.6.tar.xz.sha256
-sha256	1b76cf4b96e18cf224d21b91343f7e579790c5d3e499c8a230f53da695687c04	vlc-2.1.6.tar.xz
+# From http://download.videolan.org/pub/videolan/vlc/2.2.0/vlc-2.2.0.tar.xz.sha256
+sha256  5e0a27e248c47da723a696420aca3a4dd15cc3ed8cc81618d3f1dc8661b25517  vlc-2.2.0.tar.xz
package/vlc/vlc.mk +21 -9
index 1499f8b..e77d4fa 100644
@@ -4,7 +4,7 @@
 #
 ################################################################################
 
-VLC_VERSION = 2.1.6
+VLC_VERSION = 2.2.0
 VLC_SITE = http://get.videolan.org/vlc/$(VLC_VERSION)
 VLC_SOURCE = vlc-$(VLC_VERSION).tar.xz
 VLC_LICENSE = GPLv2+ LGPLv2.1+
@@ -28,9 +28,7 @@ VLC_CONF_OPTS += \
 	--disable-shout \
 	--disable-twolame \
 	--disable-dca \
-	--disable-dirac \
 	--disable-schroedinger \
-	--disable-quicksync \
 	--disable-fluidsynth \
 	--disable-zvbi \
 	--disable-kate \
@@ -42,7 +40,17 @@ VLC_CONF_OPTS += \
 	--disable-projectm \
 	--disable-vsxu \
 	--disable-mtp \
-	--disable-opencv
+	--disable-opencv \
+	--disable-mmal-codec \
+	--disable-mmal-vout \
+	--disable-dvdnav \
+	--disable-vpx \
+	--disable-jpeg \
+	--disable-x262 \
+	--disable-x265 \
+	--disable-mfx \
+	--disable-vdpau \
+	--disable-addonmanagermodules \
 
 # Building static and shared doesn't work, so force static off.
 ifeq ($(BR2_STATIC_LIBS),)
@@ -118,17 +126,21 @@ VLC_CONF_OPTS += --disable-flac
 endif
 
 ifeq ($(BR2_PACKAGE_FREERDP),y)
-VLC_CONF_OPTS += --enable-libfreerdp
+VLC_CONF_OPTS += --enable-freerdp
 VLC_DEPENDENCIES += freerdp
 else
 VLC_CONF_OPTS += --disable-libfreerdp
 endif
 
 ifeq ($(BR2_PACKAGE_HAS_LIBGL),y)
-VLC_CONF_OPTS += --enable-glx
 VLC_DEPENDENCIES += libgl
+endif
+
+ifeq ($(BR2_PACKAGE_HAS_LIBGLES),y)
+VLC_CONF_OPTS += --enable-gles1 --enable-gles2
+VLC_DEPENDENCIES += libgles
 else
-VLC_CONF_OPTS += --disable-glx
+VLC_CONF_OPTS += --disable-gles1 --disable-gles2
 endif
 
 ifeq ($(BR2_PACKAGE_OPUS),y)
@@ -183,10 +195,10 @@ VLC_CONF_OPTS += --disable-png
 endif
 
 ifeq ($(BR2_PACKAGE_LIBRSVG),y)
-VLC_CONF_OPTS += --enable-svg
+VLC_CONF_OPTS += --enable-svg --enable-svgdec
 VLC_DEPENDENCIES += librsvg
 else
-VLC_CONF_OPTS += --disable-svg
+VLC_CONF_OPTS += --disable-svg --disable-svgdec
 endif
 
 ifeq ($(BR2_PACKAGE_LIBTHEORA),y)
Signature · 1 line
1.9.1
#6 lore raw

PATCH 2/2 package/vlc: bump to 2.2.0

Dear Yann E. MORIN,

Quoted 29 lines · Yann E. MORIN

Since we bumped FreeRDP, vlc no longer builds:

    http://autobuild.buildroot.org/results/8d9/8d91e3ffccee753135e9d0faa2b1ae00875606c9/
    http://autobuild.buildroot.org/results/e1f/e1f6526d1a4ac2c95998793efea2188faa708e29/

Fix that by bumping vlc to 2.2.0, as vlc-2.1.6will never support this new version of FreeRDP.

Add dependency on kernel headers >= 3.7, because it needs DTV_STREAM_ID. I stumbled on this whith a toolchain using headers forom 3.5, but only tested with a toolchain with headers from 3.9, so there might be other dependencies I missed on 3.8 or even 3.9. Let's wait for build failures to find out...

There are quite a bunch of new --enable/disable options, so I've tried to catter for all the changes. Most notably, there's no longer a flag to enable.disable GL, it is now always auto-detected. Also, I've added flags for GLES which we were missing so far, so we had to rely on the build order to detect those dependencies (which was OK becasue libgles sorts before vlc). Finally, SVG now has two flags to enable different parts of SVG support, but they both depend on the same library, so enable both.

There are new support for some features, like acceleration on RPI, but that can well wait for further patches when someone is interested ;-) , vdpau HW accelearation on NVidia (we have a package for that, but not able to test, so not added), vpx support (we have a libvpx package, but I had no time to test), x262 and x265 support for which we're currently lacking the packaging, and a few other exotic stuff...

Quoted 2 lines

I was a bit annoyed by the dependency on headers >= 3.7, but since nobody else complained/reviewed the patch, I just applied it. If someone is disturbed by this dependency on headers >= 3.7, then that someone will now realize that he/she should review more patches in Buildroot, and will fix the thing if needed :-)

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com