From b0b43bb5558b714e5ceb6429ca9f6d0c3c72689c Mon Sep 17 00:00:00 2001 From: Sergei Reznikov Date: Thu, 24 Aug 2017 18:15:47 +0300 Subject: [PATCH] VLC: bump version --- media-video/vlc/additional-files/vlc.rdef.in | 47 + .../{vlc-2.2.1.patch => vlc-2.2.6.patchset} | 861 ++++++++++++------ .../{vlc-2.2.1.recipe => vlc-2.2.6.recipe} | 104 ++- 3 files changed, 693 insertions(+), 319 deletions(-) create mode 100644 media-video/vlc/additional-files/vlc.rdef.in rename media-video/vlc/patches/{vlc-2.2.1.patch => vlc-2.2.6.patchset} (60%) rename media-video/vlc/{vlc-2.2.1.recipe => vlc-2.2.6.recipe} (68%) diff --git a/media-video/vlc/additional-files/vlc.rdef.in b/media-video/vlc/additional-files/vlc.rdef.in new file mode 100644 index 000000000..45dda4f3b --- /dev/null +++ b/media-video/vlc/additional-files/vlc.rdef.in @@ -0,0 +1,47 @@ + +resource app_flags B_SINGLE_LAUNCH | B_ARGV_ONLY; + +resource app_version { + major = @MAJOR@, + middle = @MIDDLE@, + minor = @MINOR@, + + variety = B_APPV_FINAL, + internal = 0, + + short_info = "VideoLAN Client", + long_info = "A multi-platform multimedia player." +}; + +resource app_signature "application/x-vnd.qt5-vlc"; + +resource file_types message { + "types" = "application/x-asf", + "types" = "audio", + "types" = "video" +}; + +resource vector_icon { + $"6E6369660A0500020006023B69C90000000000003B23A04AC3EF4AE6A9007C45" + $"03FFD3893303F2A541020006033D79BF0000000000003D324D49E2A74A24F500" + $"FFE8CF7FD18021FFF49119020006023AB37E0000000000003D324D4B3D534961" + $"EB00A94604FFDC7D0B020016033B480D0000000000003AC58F49C2784A87EA00" + $"FF7FCCFFE4020006033BDD210000000000003B67CD49C2A749821E00FFE8CF7F" + $"B96205FFD47505020006033AA07A0000000000003A50B649C2784A547F00FFE8" + $"CF7FC36E0AFFEA87130200060338E8A800000000000038905449C28F47E0EE00" + $"FFE8CF7FC57210FFF491190401780C0605E202426045574E6048604A60465746" + $"0605F2032E484C42B54E42B54EC06FB49E3D22BFB322BD632238B54EBCA8B49B" + $"38B54E0A063A3C224C224E425E584858460A073F523F42C738C1713A3C224C42" + $"5BC60BC5400A055846C738C1713F423F52C60BC5400A04425E425B584658480A" + $"04224E224C425B425E02062EC3102EC3102EC4993D52345246524CC3104CC499" + $"4CC310C3A2BFF9C3A2BFF949C18B3D4744473647B978BFFE31C18BB978BFFE02" + $"063D4736474447C3A2BFF94AC128C3A2BFF9C2C4BD00C2C4BD0047BE1B3D3E43" + $"3E373EBA5939BA85BE1BBA5939B978BFFEB978BFFE30C1280206C2C4BD0047BE" + $"1BC2C4BD00C1E3B9F8C1E3B9F845BB0D3D3542353835BB36B9FB35BB0DBB36B9" + $"FBBA5939BA593933BE1B3D3E373E433E0206C1E3B9F845BB0DC1E3B9F8C13CB7" + $"B4C13CB7B443B8613D2E412E392EBBE2B7A337B861BBE2B7A3BB36B9FBBB36B9" + $"FB35BB0D3D35383542350206C13CB7B443B861C13CB7B442B55342B553C06FB4" + $"A03D22BFB322BD632238B553BCA8B49E38B553BBE2B7A3BBE2B7A337B8613D2E" + $"392E412E0A0A090100000A000201021001178400040A010105000A020106000A" + $"030103000A040104000A060107000A070109000A0502080A000A08010B00" +}; diff --git a/media-video/vlc/patches/vlc-2.2.1.patch b/media-video/vlc/patches/vlc-2.2.6.patchset similarity index 60% rename from media-video/vlc/patches/vlc-2.2.1.patch rename to media-video/vlc/patches/vlc-2.2.6.patchset index d112de661..fcc667c7b 100644 --- a/media-video/vlc/patches/vlc-2.2.1.patch +++ b/media-video/vlc/patches/vlc-2.2.6.patchset @@ -1,62 +1,63 @@ -diff --git a/configure.ac b/configure.ac -index 121e8c9..ccd10ac 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -295,11 +295,18 @@ case "${host_os}" in - LDFLAGS="${LDFLAGS} -Zomf -Zbin-files -Zargs-wild -Zhigh-mem" - AC_LIBOBJ([freeaddrinfo]) - ;; -+ *haiku*) -+ SYS=haiku -+ VLC_ADD_LIBS([libvlccore libvlc vlc],[-lnetwork -lbe]) -+ VLC_ADD_PLUGIN([haiku_aout]) -+ VLC_ADD_LIBS([haiku_aout],[-lmedia]) -+ ;; - *) - SYS="${host_os}" - ;; - esac - AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin") -+AM_CONDITIONAL(HAVE_HAIKU, test "${SYS}" = "haiku") - AM_CONDITIONAL(HAVE_LINUX, test "${SYS}" = "linux") - AM_CONDITIONAL(HAVE_OS2, test "${SYS}" = "os2") - AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32") -@@ -532,10 +539,13 @@ VLC_LIBRARY_SUFFIX - dnl Check for system libs needed - need_libc=false +From c03ab8b4caa1d5314c0a51e4aed3b9cbadafc45b Mon Sep 17 00:00:00 2001 +From: Sergei Reznikov +Date: Wed, 23 Aug 2017 16:56:18 +0300 +Subject: initial Haiku support + + +diff --git a/Makefile.am b/Makefile.am +index febdc63..992fff9 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -981,15 +981,16 @@ dist_noinst_SCRIPTS += test/run_vlc.sh + ############################################################################### + # Installing plugins cache + ############################################################################### +-install-exec-hook: +- if test "$(build)" = "$(host)"; then \ +- PATH="$(DESTDIR)$(bindir):$$PATH" \ +- LD_LIBRARY_PATH="$(DESTDIR)$(libdir):$$LD_LIBRARY_PATH" \ +- "$(DESTDIR)$(vlclibdir)/vlc-cache-gen$(EXEEXT)" \ +- "$(DESTDIR)$(vlclibdir)/plugins" ; \ +- else \ +- echo "Cross-compilation: cache generation skipped!" ; \ +- fi ++#Haiku bug #13159 ++#install-exec-hook: ++# if test "$(build)" = "$(host)"; then \ ++# PATH="$(DESTDIR)$(bindir):$$PATH" \ ++# LD_LIBRARY_PATH="$(DESTDIR)$(libdir):$$LD_LIBRARY_PATH" \ ++# "$(DESTDIR)$(vlclibdir)/vlc-cache-gen$(EXEEXT)" \ ++# "$(DESTDIR)$(vlclibdir)/plugins" ; \ ++# else \ ++# echo "Cross-compilation: cache generation skipped!" ; \ ++# fi -+# this fails to detect that we have if_nameindex and if_nametoindex on Haiku -+# and then it fails to detect that we don't have tdestroy... -+ - dnl Check for usual libc functions - AC_CHECK_DECLS([nanosleep],,,[#include ]) - AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r isatty lstat memalign mmap open_memstream openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp strptime uselocale]) --AC_REPLACE_FUNCS([atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r lldiv localtime_r nrand48 poll posix_memalign rewind setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strsep strtof strtok_r strtoll swab tdestroy strverscmp]) -+AC_REPLACE_FUNCS([atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r lldiv localtime_r nrand48 poll posix_memalign rewind setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strsep strtof strtok_r strtoll swab strverscmp]) - AC_CHECK_FUNCS(fdatasync,, - [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.]) - ]) -@@ -603,8 +613,10 @@ AC_SEARCH_LIBS(connect, [socket], [ - AS_IF([test "${SYS}" = "mingw32"], [ - SOCKET_LIBS="-lws2_32" - ]) -+ AS_IF([test "${SYS}" = "haiku"], [ -+ SOCKET_LIBS="-lnetwork" -+ ]) - ]) + uninstall-hook: + rm -f -- "$(DESTDIR)$(vlclibdir)/plugins/plugins.dat" +diff --git a/bin/Makefile.am b/bin/Makefile.am +index 869ac56..669f612 100644 +--- a/bin/Makefile.am ++++ b/bin/Makefile.am +@@ -79,11 +79,11 @@ noinst_DATA += ../modules/plugins.dat + MOSTLYCLEANFILES = $(noinst_DATA) + + .PHONY: ../modules/plugins.dat - - AC_SEARCH_LIBS([inet_pton], [nsl], [ - AS_IF([test "$ac_cv_search_inet_pton" != "none required"], [ - SOCKET_LIBS="$ac_cv_search_inet_pton $SOCKET_LIBS" -@@ -3186,7 +3198,7 @@ then - if test "${SYS}" != "darwin"; then - VLC_ADD_PLUGIN([vout_sdl]) - fi -- if test "${SYS}" != "mingw32" -a "${SYS}" != "os2"; then -+ if test "${SYS}" != "mingw32" -a "${SYS}" != "os2" -a "${SYS}" != "haiku"; then - VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11]) - fi - VLC_ADD_CFLAGS([vout_sdl],[${SDL_CFLAGS}]) +-../modules/plugins.dat: vlc-cache-gen$(EXEEXT) +- $(AM_V_at)rm -f ../modules/plugins.dat +- $(AM_V_GEN)if test "$(build)" = "$(host)"; then \ +- ./vlc-cache-gen$(EXEEXT) ../modules ; \ +- else \ +- echo "Cross-compilation: cache generation skipped!" ; \ +- fi ++# Haiku bug #13159 ++#../modules/plugins.dat: vlc-cache-gen$(EXEEXT) ++# $(AM_V_at)rm -f ../modules/plugins.dat ++# $(AM_V_GEN)if test "$(build)" = "$(host)"; then \ ++# ./vlc-cache-gen$(EXEEXT) ../modules ; \ ++# else \ ++# echo "Cross-compilation: cache generation skipped!" ; \ ++# fi diff --git a/bin/override.c b/bin/override.c index fb4608c..9c7c085 100644 --- a/bin/override.c @@ -78,6 +79,102 @@ index fb4608c..9c7c085 100644 int setenv (const char *name, const char *value, int overwrite) { if (override) +diff --git a/configure.ac b/configure.ac +index 235edf5..1b9c44b 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -298,11 +298,19 @@ case "${host_os}" in + LDFLAGS="${LDFLAGS} -Zomf -Zbin-files -Zargs-wild -Zhigh-mem" + AC_LIBOBJ([freeaddrinfo]) + ;; ++ *haiku*) ++ SYS=haiku ++ VLC_ADD_LIBS([libvlccore libvlc vlc],[-lnetwork -lbe]) ++ VLC_ADD_PLUGIN([haiku_aout]) ++ VLC_ADD_LIBS([haiku_aout],[-lmedia]) ++ VLC_ADD_CXXFLAGS([qt4],[-std=c++11]) ++ ;; + *) + SYS="${host_os}" + ;; + esac + AM_CONDITIONAL(HAVE_DARWIN, test "${SYS}" = "darwin") ++AM_CONDITIONAL(HAVE_HAIKU, test "${SYS}" = "haiku") + AM_CONDITIONAL(HAVE_LINUX, test "${SYS}" = "linux") + AM_CONDITIONAL(HAVE_OS2, test "${SYS}" = "os2") + AM_CONDITIONAL(HAVE_WIN32, test "${SYS}" = "mingw32") +@@ -535,10 +543,13 @@ VLC_LIBRARY_SUFFIX + dnl Check for system libs needed + need_libc=false + ++# this fails to detect that we have if_nameindex and if_nametoindex on Haiku ++# and then it fails to detect that we don't have tdestroy... ++ + dnl Check for usual libc functions + AC_CHECK_DECLS([nanosleep],,,[#include ]) + AC_CHECK_FUNCS([daemon fcntl fstatvfs fork getenv getpwuid_r isatty lstat memalign mmap open_memstream openat pread posix_fadvise posix_madvise setlocale stricmp strnicmp strptime uselocale]) +-AC_REPLACE_FUNCS([atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r lldiv localtime_r nrand48 poll posix_memalign rewind setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strsep strtof strtok_r strtoll swab tdestroy strverscmp]) ++AC_REPLACE_FUNCS([atof atoll dirfd fdopendir flockfile fsync getdelim getpid gmtime_r lldiv localtime_r nrand48 poll posix_memalign rewind setenv strcasecmp strcasestr strdup strlcpy strndup strnlen strsep strtof strtok_r strtoll swab strverscmp]) + AC_CHECK_FUNCS(fdatasync,, + [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.]) + ]) +@@ -606,8 +617,10 @@ AC_SEARCH_LIBS(connect, [socket], [ + AS_IF([test "${SYS}" = "mingw32"], [ + SOCKET_LIBS="-lws2_32" + ]) ++ AS_IF([test "${SYS}" = "haiku"], [ ++ SOCKET_LIBS="-lnetwork" ++ ]) + ]) +- + AC_SEARCH_LIBS([inet_pton], [nsl], [ + AS_IF([test "$ac_cv_search_inet_pton" != "none required"], [ + SOCKET_LIBS="$ac_cv_search_inet_pton $SOCKET_LIBS" +@@ -867,7 +880,7 @@ dnl + dnl Compiler warnings + dnl + +-RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var error-implicit-function-declaration]) ++RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var]) + RDC_PROG_CC_FLAGS([-pipe]) + AC_LANG_PUSH([C++]) + RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var]) +@@ -2549,7 +2562,7 @@ then + VLC_SAVE_FLAGS + CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}" + CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}" +- AC_CHECK_HEADERS(postproc/postprocess.h) ++ AC_CHECK_HEADERS(libpostproc/postprocess.h) + VLC_ADD_PLUGIN([postproc]) + VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS]) + VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS]) +@@ -3109,7 +3122,7 @@ dnl X C Bindings modules + dnl + AC_ARG_ENABLE(xcb, + [ --enable-xcb X11 support with XCB (default enabled)],, [ +- AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" -a "${SYS}" != "symbian"], [ ++ AS_IF([test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" -a "${SYS}" != "haiku" -a "${SYS}" != "symbian"], [ + enable_xcb="yes" + ], [ + enable_xcb="no" +@@ -3207,7 +3220,7 @@ then + if test "${SYS}" != "darwin"; then + VLC_ADD_PLUGIN([vout_sdl]) + fi +- if test "${SYS}" != "mingw32" -a "${SYS}" != "os2"; then ++ if test "${SYS}" != "mingw32" -a "${SYS}" != "os2" -a "${SYS}" != "haiku"; then + VLC_ADD_LIBS([vout_sdl],[${X_LIBS} ${X_PRE_LIBS} -lX11]) + fi + VLC_ADD_CFLAGS([vout_sdl],[${SDL_CFLAGS}]) +@@ -4166,7 +4179,7 @@ AC_ARG_WITH(kde-solid, + AS_HELP_STRING([--with-kde-solid=PATH], + [KDE Solid actions directory (auto)]),, [ + +-if test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" ; then ++if test "${SYS}" != "mingw32" -a "${SYS}" != "darwin" -a "${SYS}" != "haiku" ; then + with_kde_solid="yes" + fi + ]) diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h index 997f600..47b566e 100644 --- a/include/vlc_fixups.h @@ -114,10 +211,10 @@ index 997f600..47b566e 100644 /* search.h */ #ifndef HAVE_SEARCH_H diff --git a/include/vlc_threads.h b/include/vlc_threads.h -index d3f021b..15c4662 100644 +index ff43d6f..deb3bc7 100644 --- a/include/vlc_threads.h +++ b/include/vlc_threads.h -@@ -163,7 +163,13 @@ typedef struct +@@ -166,7 +166,13 @@ typedef struct #define VLC_STATIC_COND { PTHREAD_COND_INITIALIZER, 0 } typedef semaphore_t vlc_sem_t; typedef pthread_rwlock_t vlc_rwlock_t; @@ -131,7 +228,7 @@ index d3f021b..15c4662 100644 typedef pthread_key_t vlc_threadvar_t; typedef struct vlc_timer *vlc_timer_t; -@@ -189,7 +195,13 @@ typedef pthread_cond_t vlc_cond_t; +@@ -192,7 +198,13 @@ typedef pthread_cond_t vlc_cond_t; #define VLC_STATIC_COND PTHREAD_COND_INITIALIZER typedef sem_t vlc_sem_t; typedef pthread_rwlock_t vlc_rwlock_t; @@ -145,118 +242,28 @@ index d3f021b..15c4662 100644 typedef pthread_key_t vlc_threadvar_t; typedef struct vlc_timer *vlc_timer_t; -diff --git a/src/Makefile.am b/src/Makefile.am -index a7d06cc..22348ae 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -232,6 +232,9 @@ else - if HAVE_OS2 - libvlccore_la_SOURCES += $(SOURCES_libvlc_os2) - else -+if HAVE_HAIKU -+libvlccore_la_SOURCES += $(SOURCES_libvlc_haiku) -+else - libvlccore_la_SOURCES += $(SOURCES_libvlc_other) +diff --git a/modules/audio_output/Makefile.am b/modules/audio_output/Makefile.am +index 1e6a233..ba072a4 100644 +--- a/modules/audio_output/Makefile.am ++++ b/modules/audio_output/Makefile.am +@@ -91,6 +91,12 @@ if HAVE_SNDIO + aout_LTLIBRARIES += libsndio_plugin.la endif - endif -@@ -239,6 +242,7 @@ endif - endif - endif - endif -+endif - if BUILD_HTTPD - libvlccore_la_SOURCES += $(SOURCES_libvlc_httpd) - endif -@@ -320,6 +328,18 @@ SOURCES_libvlc_os2 = \ - os2/rand.c \ - $(NULL) -+SOURCES_libvlc_haiku = \ -+ posix/dirs.c \ -+ posix/error.c \ -+ posix/filesystem.c \ -+ posix/netconf.c \ -+ posix/plugin.c \ -+ posix/rand.c \ -+ posix/thread.c \ -+ posix/timer.c \ -+ haiku/specific.cpp \ -+ $(NULL) ++libhaiku_aout_plugin_la_SOURCES = audio_output/haiku.cpp ++libhaiku_aout_plugin_la_LIBADD = -lmedia ++#if HAVE_HAIKU ++#aout_LTLIBRARIES += libhaiku_aout_plugin.la ++#endif + - SOURCES_libvlc_other = \ - posix/dirs.c \ - posix/error.c \ -diff --git a/src/modules/bank.c b/src/modules/bank.c -index 6655f00..bcbf99e 100644 ---- a/src/modules/bank.c -+++ b/src/modules/bank.c -@@ -67,6 +67,7 @@ static void module_StoreBank (module_t *module) - modules.head = module; - } - -+/* Haiku bug #8288 - #if defined(__ELF__) || !HAVE_DYNAMIC_PLUGINS - # ifdef __GNUC__ - __attribute__((weak)) -@@ -86,9 +87,9 @@ static void module_InitStaticModules(void) - module_StoreBank (module); - } - } --#else -+#else */ - static void module_InitStaticModules(void) { } --#endif -+//#endif - - /** - * Init bank -diff --git a/src/network/io.c b/src/network/io.c -index ea1b1b9..acdd9b1 100644 ---- a/src/network/io.c -+++ b/src/network/io.c -@@ -216,7 +216,9 @@ int *net_Listen (vlc_object_t *p_this, const char *psz_host, - switch (ptr->ai_socktype) - { - case SOCK_STREAM: -+#ifdef SOCK_RDM - case SOCK_RDM: -+#endif - case SOCK_SEQPACKET: - #ifdef SOCK_DCCP - case SOCK_DCCP: -diff --git a/src/posix/netconf.c b/src/posix/netconf.c -index 4dd751b..54accaa 100644 ---- a/src/posix/netconf.c -+++ b/src/posix/netconf.c -@@ -29,7 +29,9 @@ - #include - #include - #include --#include -+#ifndef __HAIKU__ -+# include -+#endif - #include - - extern char **environ; -@@ -45,6 +47,9 @@ extern char **environ; - */ - char *vlc_getProxyUrl(const char *url) - { -+#ifdef __HAIKU__ -+ return NULL; -+#else - /* libproxy helper */ - pid_t pid; - posix_spawn_file_actions_t actions; -@@ -115,4 +120,5 @@ char *vlc_getProxyUrl(const char *url) - if (var != NULL) - var = strdup(var); - return var; -+#endif - } ---- vlc-2.0.3-orig/modules/audio_output/haiku.cpp 1970-01-01 00:00:00.000000000 +0000 -+++ vlc-2.0.5/modules/audio_output/haiku.cpp 2012-08-06 23:15:46.251396096 +0000 + libwaveout_plugin_la_SOURCES = audio_output/waveout.c \ + audio_output/windows_audio_common.h + libwaveout_plugin_la_LIBADD = -lwinmm +diff --git a/modules/audio_output/haiku.cpp b/modules/audio_output/haiku.cpp +new file mode 100644 +index 0000000..7a8c2ec +--- /dev/null ++++ b/modules/audio_output/haiku.cpp @@ -0,0 +1,196 @@ +/***************************************************************************** + * Haiku.cpp - Haiku Media Kit audio output @@ -454,9 +461,111 @@ index 4dd751b..54accaa 100644 +static void Flush (audio_output_t *aout, bool wait) +{ +} +diff --git a/modules/gui/qt4/Makefile.am b/modules/gui/qt4/Makefile.am +index 1a564cf..4d12501 100644 +--- a/modules/gui/qt4/Makefile.am ++++ b/modules/gui/qt4/Makefile.am +@@ -22,7 +22,7 @@ else + if HAVE_WIN32 + libqt4_plugin_la_LIBADD += -lole32 -lcomctl32 -luuid + else +-libqt4_plugin_la_LIBADD += $(X_LIBS) $(X_PRE_LIB) -lX11 ++libqt4_plugin_la_LIBADD += $(X_LIBS) $(X_PRE_LIB) + endif + endif + if HAVE_DARWIN +diff --git a/modules/video_output/Modules.am b/modules/video_output/Modules.am +index 51bd09c..fcf60c7 100644 +--- a/modules/video_output/Modules.am ++++ b/modules/video_output/Modules.am +@@ -226,7 +226,7 @@ libcaca_plugin_la_CFLAGS = $(AM_CFLAGS) $(CACA_CFLAGS) + libcaca_plugin_la_LIBADD = $(CACA_LIBS) + if !HAVE_WIN32 + if !HAVE_DARWIN +-libcaca_plugin_la_LIBADD += $(X_LIBS) $(X_PRE_LIBS) -lX11 ++libcaca_plugin_la_LIBADD += $(X_LIBS) $(X_PRE_LIBS) + endif + endif + libcaca_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)' +diff --git a/modules/video_output/caca.c b/modules/video_output/caca.c +index 75c83e6..8922732 100644 +--- a/modules/video_output/caca.c ++++ b/modules/video_output/caca.c +@@ -34,7 +34,7 @@ + #include + #include + #include +-#if !defined(_WIN32) && !defined(__APPLE__) ++#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__HAIKU__) + # ifdef X_DISPLAY_MISSING + # error Xlib required due to XInitThreads + # endif +diff --git a/modules/video_output/sdl.c b/modules/video_output/sdl.c +index e56c976..76b7ef4 100644 +--- a/modules/video_output/sdl.c ++++ b/modules/video_output/sdl.c +@@ -40,7 +40,7 @@ + + #include + +-#if !defined(_WIN32) && !defined(__OS2__) ++#if !defined(_WIN32) && !defined(__OS2__) && !defined(__HAIKU__) + # ifdef X_DISPLAY_MISSING + # error Xlib required due to XInitThreads + # endif +@@ -116,7 +116,7 @@ static int Open(vlc_object_t *object) + vout_display_t *vd = (vout_display_t *)object; + vout_display_sys_t *sys; + +-#if !defined(_WIN32) && !defined(__OS2__) ++#if !defined(_WIN32) && !defined(__OS2__) && !defined(__HAIKU__) + if (!vlc_xlib_init (object)) + return VLC_EGENERIC; + #endif +diff --git a/src/Makefile.am b/src/Makefile.am +index c45c5dc..1f6397f 100644 +--- a/src/Makefile.am ++++ b/src/Makefile.am +@@ -231,6 +231,9 @@ else + if HAVE_OS2 + libvlccore_la_SOURCES += $(SOURCES_libvlc_os2) + else ++if HAVE_HAIKU ++libvlccore_la_SOURCES += $(SOURCES_libvlc_haiku) ++else + libvlccore_la_SOURCES += $(SOURCES_libvlc_other) + endif + endif +@@ -238,6 +241,7 @@ endif + endif + endif + endif ++endif + if BUILD_HTTPD + libvlccore_la_SOURCES += $(SOURCES_libvlc_httpd) + endif +@@ -319,6 +323,18 @@ SOURCES_libvlc_os2 = \ + os2/rand.c \ + $(NULL) + ++SOURCES_libvlc_haiku = \ ++ posix/dirs.c \ ++ posix/error.c \ ++ posix/filesystem.c \ ++ posix/netconf.c \ ++ posix/plugin.c \ ++ posix/rand.c \ ++ posix/thread.c \ ++ posix/timer.c \ ++ haiku/specific.cpp \ ++ $(NULL) ++ + SOURCES_libvlc_other = \ + posix/dirs.c \ + posix/error.c \ diff --git a/src/haiku/specific.cpp b/src/haiku/specific.cpp new file mode 100644 -index 0000000..3768ba5 +index 0000000..ddf7070 --- /dev/null +++ b/src/haiku/specific.cpp @@ -0,0 +1,57 @@ @@ -517,116 +626,316 @@ index 0000000..3768ba5 +{ +} +} -diff --git a/modules/video_output/caca.c b/modules/video_output/caca.c -index 75c83e6..8922732 100644 ---- a/modules/video_output/caca.c -+++ b/modules/video_output/caca.c -@@ -34,7 +34,7 @@ - #include - #include - #include --#if !defined(_WIN32) && !defined(__APPLE__) -+#if !defined(_WIN32) && !defined(__APPLE__) && !defined(__HAIKU__) - # ifdef X_DISPLAY_MISSING - # error Xlib required due to XInitThreads - # endif -diff --git a/modules/video_output/sdl.c b/modules/video_output/sdl.c -index e56c976..76b7ef4 100644 ---- a/modules/video_output/sdl.c -+++ b/modules/video_output/sdl.c -@@ -40,7 +40,7 @@ +diff --git a/src/modules/bank.c b/src/modules/bank.c +index b439440..d4245cd 100644 +--- a/src/modules/bank.c ++++ b/src/modules/bank.c +@@ -67,6 +67,7 @@ static void module_StoreBank (module_t *module) + modules.head = module; + } - #include ++/* Haiku bug #8288 + #if defined(__ELF__) || !HAVE_DYNAMIC_PLUGINS + # ifdef __GNUC__ + __attribute__((weak)) +@@ -86,9 +87,9 @@ static void module_InitStaticModules(void) + module_StoreBank (module); + } + } +-#else ++#else */ + static void module_InitStaticModules(void) { } +-#endif ++//#endif --#if !defined(_WIN32) && !defined(__OS2__) -+#if !defined(_WIN32) && !defined(__OS2__) && !defined(__HAIKU__) - # ifdef X_DISPLAY_MISSING - # error Xlib required due to XInitThreads - # endif -@@ -116,7 +116,7 @@ static int Open(vlc_object_t *object) - vout_display_t *vd = (vout_display_t *)object; - vout_display_sys_t *sys; - --#if !defined(_WIN32) && !defined(__OS2__) -+#if !defined(_WIN32) && !defined(__OS2__) && !defined(__HAIKU__) - if (!vlc_xlib_init (object)) - return VLC_EGENERIC; - #endif -diff --git a/modules/audio_output/Makefile.am b/modules/audio_output/Makefile.am -index 1e6a233..ba072a4 100644 ---- a/modules/audio_output/Makefile.am -+++ b/modules/audio_output/Makefile.am -@@ -91,6 +91,12 @@ if HAVE_SNDIO - aout_LTLIBRARIES += libsndio_plugin.la - endif - -+libhaiku_aout_plugin_la_SOURCES = audio_output/haiku.cpp -+libhaiku_aout_plugin_la_LIBADD = -lmedia -+#if HAVE_HAIKU -+#aout_LTLIBRARIES += libhaiku_aout_plugin.la + /** + * Init bank +diff --git a/src/network/io.c b/src/network/io.c +index ea1b1b9..acdd9b1 100644 +--- a/src/network/io.c ++++ b/src/network/io.c +@@ -216,7 +216,9 @@ int *net_Listen (vlc_object_t *p_this, const char *psz_host, + switch (ptr->ai_socktype) + { + case SOCK_STREAM: ++#ifdef SOCK_RDM + case SOCK_RDM: +#endif -+ - libwaveout_plugin_la_SOURCES = audio_output/waveout.c \ - audio_output/windows_audio_common.h - libwaveout_plugin_la_LIBADD = -lwinmm + case SOCK_SEQPACKET: + #ifdef SOCK_DCCP + case SOCK_DCCP: +diff --git a/src/posix/netconf.c b/src/posix/netconf.c +index 4dd751b..54accaa 100644 +--- a/src/posix/netconf.c ++++ b/src/posix/netconf.c +@@ -29,7 +29,9 @@ + #include + #include + #include +-#include ++#ifndef __HAIKU__ ++# include ++#endif + #include + + extern char **environ; +@@ -45,6 +47,9 @@ extern char **environ; + */ + char *vlc_getProxyUrl(const char *url) + { ++#ifdef __HAIKU__ ++ return NULL; ++#else + /* libproxy helper */ + pid_t pid; + posix_spawn_file_actions_t actions; +@@ -115,4 +120,5 @@ char *vlc_getProxyUrl(const char *url) + if (var != NULL) + var = strdup(var); + return var; ++#endif + } +-- +2.13.1 + + +From 0e1e8eb3c1d05804281a03306c17b83bee8a3155 Mon Sep 17 00:00:00 2001 +From: Sergei Reznikov +Date: Wed, 23 Aug 2017 16:58:12 +0300 +Subject: fix build with ffmpeg 3.x and lua 5.2 + + diff --git a/configure.ac b/configure.ac -index 121e8c9..6fe659e 100644 +index 1b9c44b..647205b 100644 --- a/configure.ac +++ b/configure.ac -@@ -864,7 +864,7 @@ dnl - dnl Compiler warnings - dnl +@@ -1535,7 +1535,7 @@ then + AC_MSG_ERROR([Could not find lua. Lua is needed for some interfaces (rc, telnet, http) as well as many other custom scripts. Use --disable-lua to ignore this error.]) + fi + AC_ARG_VAR([LUAC], [LUA byte compiler]) +- AC_PATH_PROGS(LUAC,[${LUAC} luac], [false]) ++ AC_PATH_PROGS(LUAC,[${LUAC} luac5.2], [false]) + AS_IF([test "${LUAC}" = "false"], [ + AC_MSG_ERROR([Could not find the LUA byte compiler.]) + ]) +@@ -2330,7 +2330,7 @@ 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([libavutil < 55],, [ ++ PKG_CHECK_EXISTS([libavutil > 55],, [ + AC_MSG_ERROR([libavutil versions 55 and later are not supported.]) + ]) + VLC_SAVE_FLAGS +@@ -2389,7 +2389,7 @@ have_avcodec_vaapi="no" + AS_IF([test "${have_vaapi}" = "yes" -a "${have_avcodec}" = "yes"], [ + case "${avfork}" in + ffmpeg) +- PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [ ++ PKG_CHECK_EXISTS([libavcodec >= 60.10.100], [ + AC_MSG_ERROR([VA API requires FFmpeg libavcodec < 57.10 or libav.]) + ]) + ;; +@@ -2423,7 +2423,7 @@ AS_IF([test "${enable_dxva2}" != "no"], [ + AS_IF([test "x${have_avcodec}" = "xyes"], [ + case "${avfork}" in + ffmpeg) +- PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [ ++ PKG_CHECK_EXISTS([libavcodec >= 60.10.100], [ + AC_MSG_ERROR([DXVA2 requires FFmpeg libavcodec < 57.10 or libav.]) + ]) + ;; +@@ -3187,7 +3187,7 @@ AS_IF([test "${have_vdpau}" = "yes" -a "${have_avcodec}" = "yes"], [ + case "${avfork}" in + libav) av_vdpau_ver="55.26.0" ;; + ffmpeg) av_vdpau_ver="55.42.100" +- PKG_CHECK_EXISTS([libavcodec >= 57.10.100], [ ++ PKG_CHECK_EXISTS([libavcodec >= 60.10.100], [ + AC_MSG_ERROR([VDPAU requires FFmpeg libavcodec < 57.10 or libav.]) + ]) + ;; +@@ -3746,7 +3746,7 @@ AS_IF([test "${enable_qt}" != "no"], [ + PKG_CHECK_MODULES([QT], [Qt5Core >= 5.1.0 Qt5Widgets Qt5Gui], [ + PKG_CHECK_MODULES([QTX11], [Qt5X11Extras], [ + VLC_ADD_LIBS([qt4],[${QTX11_LIBS}]) +- VLC_ADD_CXXFLAGS([qt4],[${QTX11_CFLAGS} -DQT5_HAS_X11]) ++ VLC_ADD_CXXFLAGS([qt4],[${QTX11_CFLAGS} -DQT5_HAS_X11 -std=c++11]) + PKG_CHECK_MODULES([XI], [xi], [ + VLC_ADD_LIBS([qt4], [${XI_LIBS}]) + VLC_ADD_CXXFLAGS([qt4], [${XI_CFLAGS} -DHAVE_XI]) +diff --git a/modules/codec/avcodec/audio.c b/modules/codec/avcodec/audio.c +index c6a0a6c..cb17991 100644 +--- a/modules/codec/avcodec/audio.c ++++ b/modules/codec/avcodec/audio.c +@@ -36,12 +36,11 @@ + #include + #include --RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var error-implicit-function-declaration]) -+RDC_PROG_CC_WFLAGS([all extra sign-compare undef pointer-arith bad-function-cast write-strings missing-prototypes volatile-register-var]) - RDC_PROG_CC_FLAGS([-pipe]) - AC_LANG_PUSH([C++]) - RDC_PROG_CXX_WFLAGS([all extra sign-compare undef pointer-arith volatile-register-var]) -@@ -2532,7 +2532,7 @@ then - VLC_SAVE_FLAGS - CPPFLAGS="${CPPFLAGS} ${POSTPROC_CFLAGS}" - CFLAGS="${CFLAGS} ${POSTPROC_CFLAGS}" -- AC_CHECK_HEADERS(postproc/postprocess.h) -+ AC_CHECK_HEADERS(libpostproc/postprocess.h) - VLC_ADD_PLUGIN([postproc]) - VLC_ADD_LIBS([postproc],[$POSTPROC_LIBS $AVUTIL_LIBS]) - VLC_ADD_CFLAGS([postproc],[$POSTPROC_CFLAGS $AVUTIL_CFLAGS]) -diff --git a/modules/gui/qt4/Makefile.am b/modules/gui/qt4/Makefile.am -index 1a564cf..4d12501 100644 ---- a/modules/gui/qt4/Makefile.am -+++ b/modules/gui/qt4/Makefile.am -@@ -22,7 +22,7 @@ else - if HAVE_WIN32 - libqt4_plugin_la_LIBADD += -lole32 -lcomctl32 -luuid - else --libqt4_plugin_la_LIBADD += $(X_LIBS) $(X_PRE_LIB) -lX11 -+libqt4_plugin_la_LIBADD += $(X_LIBS) $(X_PRE_LIB) - endif - endif - if HAVE_DARWIN -diff --git a/modules/video_output/Makefile.in b/modules/video_output/Makefile.in -index ba02f97..e9b7b36 100644 ---- a/modules/video_output/Makefile.in -+++ b/modules/video_output/Makefile.in -@@ -123,7 +123,7 @@ host_triplet = @host@ - @HAVE_KVA_TRUE@am__append_19 = libkva_plugin.la - @HAVE_ANDROID_TRUE@am__append_20 = libandroid_native_window_plugin.la - @HAVE_ANDROID_TRUE@@HAVE_EGL_TRUE@am__append_21 = libegl_android_plugin.la --@HAVE_DARWIN_FALSE@@HAVE_WIN32_FALSE@am__append_22 = $(X_LIBS) $(X_PRE_LIBS) -lX11 -+@HAVE_DARWIN_FALSE@@HAVE_WIN32_FALSE@am__append_22 = $(X_LIBS) $(X_PRE_LIBS) -lX112 - subdir = modules/video_output - ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 - am__aclocal_m4_deps = $(top_srcdir)/m4/dolt.m4 \ -diff --git a/modules/video_output/Modules.am b/modules/video_output/Modules.am -index df8fbf6..012d93b 100644 ---- a/modules/video_output/Modules.am -+++ b/modules/video_output/Modules.am -@@ -228,7 +228,7 @@ libcaca_plugin_la_CFLAGS = $(AM_CFLAGS) $(CACA_CFLAGS) - libcaca_plugin_la_LIBADD = $(CACA_LIBS) - if !HAVE_WIN32 - if !HAVE_DARWIN --libcaca_plugin_la_LIBADD += $(X_LIBS) $(X_PRE_LIBS) -lX11 -+libcaca_plugin_la_LIBADD += $(X_LIBS) $(X_PRE_LIBS) - endif - endif - libcaca_plugin_la_LDFLAGS = $(AM_LDFLAGS) -rpath '$(voutdir)' ++#include "avcodec.h" ++ + #include + #include + +-#include +- +-#include "avcodec.h" + + /***************************************************************************** + * decoder_sys_t : decoder descriptor +diff --git a/modules/codec/avcodec/avcommon_compat.h b/modules/codec/avcodec/avcommon_compat.h +index 91b3f5b..3c66a1e 100644 +--- a/modules/codec/avcodec/avcommon_compat.h ++++ b/modules/codec/avcodec/avcommon_compat.h +@@ -506,6 +506,15 @@ enum { + + #endif /* HAVE_LIBAVUTIL_AVUTIL_H */ + ++#if LIBAVUTIL_VERSION_MAJOR >= 55 ++# define FF_API_AUDIOCONVERT 1 ++#endif ++ ++/* libavutil/pixfmt.h */ ++#ifndef PixelFormat ++# define PixelFormat AVPixelFormat ++#endif ++ + #ifdef HAVE_LIBAVFORMAT_AVFORMAT_H + # include + +diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c +index ca7674f..9020576 100644 +--- a/modules/codec/avcodec/encoder.c ++++ b/modules/codec/avcodec/encoder.c +@@ -41,7 +41,6 @@ + #include + + #include +-#include + + #include "avcodec.h" + #include "avcommon.h" +@@ -311,7 +310,7 @@ int OpenEncoder( vlc_object_t *p_this ) + else if( !GetFfmpegCodec( p_enc->fmt_out.i_codec, &i_cat, &i_codec_id, + &psz_namecodec ) ) + { +- if( FindFfmpegChroma( p_enc->fmt_out.i_codec ) == PIX_FMT_NONE ) ++ if( FindFfmpegChroma( p_enc->fmt_out.i_codec ) == AV_PIX_FMT_NONE ) + return VLC_EGENERIC; /* handed chroma output */ + + i_cat = VIDEO_ES; +@@ -1017,7 +1016,7 @@ errmsg: + } + } + +- p_sys->frame = avcodec_alloc_frame(); ++ p_sys->frame = av_frame_alloc(); + if( !p_sys->frame ) + { + goto error; +@@ -1088,7 +1087,8 @@ static block_t *EncodeVideo( encoder_t *p_enc, picture_t *p_pict ) + AVFrame *frame = NULL; + if( likely(p_pict) ) { + frame = p_sys->frame; +- avcodec_get_frame_defaults( frame ); ++ av_frame_unref( frame ); ++ + for( i_plane = 0; i_plane < p_pict->i_planes; i_plane++ ) + { + p_sys->frame->data[i_plane] = p_pict->p[i_plane].p_pixels; +@@ -1329,7 +1329,7 @@ static block_t *handle_delay_buffer( encoder_t *p_enc, encoder_sys_t *p_sys, int + //How much we need to copy from new packet + const int leftover = leftover_samples * p_sys->p_context->channels * p_sys->i_sample_bytes; + +- avcodec_get_frame_defaults( p_sys->frame ); ++ av_frame_unref( p_sys->frame ); + p_sys->frame->format = p_sys->p_context->sample_fmt; + p_sys->frame->nb_samples = leftover_samples + p_sys->i_samples_delay; + +@@ -1451,7 +1451,8 @@ static block_t *EncodeAudio( encoder_t *p_enc, block_t *p_aout_buf ) + while( ( p_aout_buf->i_nb_samples >= p_sys->i_frame_size ) || + ( p_sys->b_variable && p_aout_buf->i_nb_samples ) ) + { +- avcodec_get_frame_defaults( p_sys->frame ); ++ av_frame_unref( p_sys->frame ); ++ + if( p_sys->b_variable ) + p_sys->frame->nb_samples = p_aout_buf->i_nb_samples; + else +diff --git a/modules/codec/avcodec/vaapi.c b/modules/codec/avcodec/vaapi.c +index 1d8f7fa..d9643d0 100644 +--- a/modules/codec/avcodec/vaapi.c ++++ b/modules/codec/avcodec/vaapi.c +@@ -595,7 +595,7 @@ static int Create( vlc_va_t *p_va, AVCodecContext *ctx, + return err; + + /* Only VLD supported */ +- p_va->pix_fmt = PIX_FMT_VAAPI_VLD; ++ p_va->pix_fmt = AV_PIX_FMT_VAAPI_VLD; + p_va->setup = Setup; + p_va->get = Get; + p_va->release = Release; +diff --git a/modules/codec/avcodec/video.c b/modules/codec/avcodec/video.c +index a19e7f6..4d14aae 100644 +--- a/modules/codec/avcodec/video.c ++++ b/modules/codec/avcodec/video.c +@@ -234,7 +234,7 @@ int InitVideoDec( decoder_t *p_dec, AVCodecContext *p_context, + p_sys->p_codec = p_codec; + p_sys->i_codec_id = i_codec_id; + p_sys->psz_namecodec = psz_namecodec; +- p_sys->p_ff_pic = avcodec_alloc_frame(); ++ p_sys->p_ff_pic = av_frame_alloc(); + p_sys->b_delayed_open = true; + p_sys->p_va = NULL; + vlc_sem_init( &p_sys->sem_mt, 0 ); +@@ -446,7 +446,7 @@ int InitVideoDec( decoder_t *p_dec, AVCodecContext *p_context, + if( ffmpeg_OpenCodec( p_dec ) < 0 ) + { + msg_Err( p_dec, "cannot open codec (%s)", p_sys->psz_namecodec ); +- avcodec_free_frame( &p_sys->p_ff_pic ); ++ av_frame_free( &p_sys->p_ff_pic ); + vlc_sem_destroy( &p_sys->sem_mt ); + free( p_sys ); + return VLC_EGENERIC; +@@ -847,7 +847,7 @@ void EndVideoDec( decoder_t *p_dec ) + wait_mt( p_sys ); + + if( p_sys->p_ff_pic ) +- avcodec_free_frame( &p_sys->p_ff_pic ); ++ av_frame_free( &p_sys->p_ff_pic ); + + if( p_sys->p_va ) + vlc_va_Delete( p_sys->p_va ); +-- +2.13.1 + + +From 9e91e2291edf7ad8810eb64301bbbd4ca57e3b8c Mon Sep 17 00:00:00 2001 +From: Sergei Reznikov +Date: Wed, 23 Aug 2017 18:44:51 +0300 +Subject: backport static assert fix from vlc 3.0 + + +diff --git a/include/vlc_fixups.h b/include/vlc_fixups.h +index 47b566e..9ee135f 100644 +--- a/include/vlc_fixups.h ++++ b/include/vlc_fixups.h +@@ -239,11 +239,14 @@ static inline locale_t newlocale(int mask, const char * locale, locale_t base) + } + #endif + +-#if !defined (HAVE_STATIC_ASSERT) +-# define _Static_assert(x, s) ((void) sizeof (struct { unsigned:-!(x); })) ++#if !defined (HAVE_STATIC_ASSERT) && !defined(__cpp_static_assert) ++# define STATIC_ASSERT_CONCAT_(a, b) a##b ++# define STATIC_ASSERT_CONCAT(a, b) STATIC_ASSERT_CONCAT_(a, b) ++# define _Static_assert(x, s) extern char STATIC_ASSERT_CONCAT(static_assert_, __LINE__)[sizeof(struct { unsigned:-!(x); })] + # define static_assert _Static_assert + #endif + ++ + /* Alignment of critical static data structures */ + #ifdef ATTRIBUTE_ALIGNED_MAX + # define ATTR_ALIGN(align) __attribute__ ((__aligned__ ((ATTRIBUTE_ALIGNED_MAX < align) ? ATTRIBUTE_ALIGNED_MAX : align))) +-- +2.13.1 + diff --git a/media-video/vlc/vlc-2.2.1.recipe b/media-video/vlc/vlc-2.2.6.recipe similarity index 68% rename from media-video/vlc/vlc-2.2.1.recipe rename to media-video/vlc/vlc-2.2.6.recipe index c2db3fb14..4f60e5169 100644 --- a/media-video/vlc/vlc-2.2.1.recipe +++ b/media-video/vlc/vlc-2.2.6.recipe @@ -3,13 +3,13 @@ DESCRIPTION="VLC is a free and open source cross-platform multimedia player \ and framework that plays most multimedia files as well as DVDs, Audio CDs, \ VCDs, and various streaming protocols." HOMEPAGE="https://www.videolan.org/vlc/" -COPYRIGHT="1998-2015 VideoLAN" +COPYRIGHT="1998-2017 VideoLAN" LICENSE="GNU GPL v2" -REVISION="5" +REVISION="1" SOURCE_URI="https://download.videolan.org/pub/videolan/vlc/$portVersion/vlc-$portVersion.tar.xz" -CHECKSUM_SHA256="543d9d7e378ec0fa1ee2e7f7f5acf8c456c7d0ecc32037171523197ef3cf1fcb" -PATCHES="vlc-$portVersion.patch" -ADDITIONAL_FILES="vlc.rdef" +CHECKSUM_SHA256="c403d3accd9a400eb2181c958f3e7bc5524fe5738425f4253d42883b425a42a8" +PATCHES="vlc-$portVersion.patchset" +ADDITIONAL_FILES="vlc.rdef.in" ARCHITECTURES="!x86_gcc2 x86 x86_64" SECONDARY_ARCHITECTURES="x86" @@ -26,60 +26,57 @@ PROVIDES=" lib:libvlccore$secondaryArchSuffix " REQUIRES=" - haiku${secondaryArchSuffix} - libqt4${secondaryArchSuffix} >= 4.8 + haiku$secondaryArchSuffix lib:liba52$secondaryArchSuffix lib:libass$secondaryArchSuffix lib:libavcodec$secondaryArchSuffix lib:libavformat$secondaryArchSuffix lib:libavutil$secondaryArchSuffix lib:libbluray$secondaryArchSuffix - lib:libbz2$secondaryArchSuffix lib:libcaca$secondaryArchSuffix - lib:libcrypto$secondaryArchSuffix lib:libdca$secondaryArchSuffix -# lib:libdevice$secondaryArchSuffix lib:libdvbpsi$secondaryArchSuffix lib:libdvdnav$secondaryArchSuffix lib:libdvdread$secondaryArchSuffix lib:libebml$secondaryArchSuffix - lib:libenca$secondaryArchSuffix lib:libfaad$secondaryArchSuffix - lib:libflac$secondaryArchSuffix -# lib:libfluidsynth$secondaryArchSuffix + lib:libFLAC$secondaryArchSuffix + lib:libfluidsynth$secondaryArchSuffix lib:libfontconfig$secondaryArchSuffix lib:libfreetype$secondaryArchSuffix lib:libfribidi$secondaryArchSuffix lib:libgcrypt$secondaryArchSuffix - lib:libgl$secondaryArchSuffix + lib:libGL$secondaryArchSuffix # lib:libgnutls$secondaryArchSuffix lib:libgpg_error$secondaryArchSuffix - lib:libharfbuzz$secondaryArchSuffix lib:libiconv$secondaryArchSuffix + lib:libidn$secondaryArchSuffix lib:libintl$secondaryArchSuffix lib:libixml$secondaryArchSuffix lib:libjpeg$secondaryArchSuffix + lib:liblua$secondaryArchSuffix lib:libmad$secondaryArchSuffix lib:libmatroska$secondaryArchSuffix lib:libmodplug$secondaryArchSuffix lib:libmpcdec$secondaryArchSuffix lib:libmpeg2$secondaryArchSuffix -# lib:libmtp$secondaryArchSuffix lib:libncursesw$secondaryArchSuffix lib:libogg$secondaryArchSuffix lib:libopus$secondaryArchSuffix lib:libpng16$secondaryArchSuffix lib:libpostproc$secondaryArchSuffix + lib:libQt5Core$secondaryArchSuffix + lib:libQt5Gui$secondaryArchSuffix + lib:libQt5Widgets$secondaryArchSuffix lib:libsamplerate$secondaryArchSuffix -# lib:libschroedinger$secondaryArchSuffix - lib:libsdl_1.2$secondaryArchSuffix - lib:libsdl_image_1.2$secondaryArchSuffix -# lib:libsmbclient$secondaryArchSuffix +# lib:libshout$secondaryArchSuffix +# lib:libschroedinger_1.0$secondaryArchSuffix + lib:libSDL_image_1.2$secondaryArchSuffix + lib:libSDL_1.2$secondaryArchSuffix + lib:libsmbclient$secondaryArchSuffix lib:libspeex$secondaryArchSuffix -# lib:libspeexdsp$secondaryArchSuffix lib:libssh2$secondaryArchSuffix - lib:libssl$secondaryArchSuffix - lib:libswscale$secondaryArchSuffix >= 3 + lib:libswscale$secondaryArchSuffix lib:libtag$secondaryArchSuffix lib:libtheoradec$secondaryArchSuffix lib:libtheoraenc$secondaryArchSuffix @@ -95,9 +92,17 @@ REQUIRES=" lib:libz$secondaryArchSuffix " +PROVIDES_devel=" + vlc$secondaryArchSuffix = $portVersion + devel:libvlc$secondaryArchSuffix = 5.5.0 compat >= 5 + devel:libvlccore$secondaryArchSuffix = 8.8.0 compat >= 8 + " +REQUIRES_devel=" + haiku${secondaryArchSuffix}_devel + " + BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel - libqt4${secondaryArchSuffix}_devel >= 4.8 devel:liba52$secondaryArchSuffix devel:libass$secondaryArchSuffix devel:libbluray$secondaryArchSuffix @@ -112,36 +117,43 @@ BUILD_REQUIRES=" devel:libenca$secondaryArchSuffix devel:libfaad$secondaryArchSuffix devel:libflac$secondaryArchSuffix -# devel:libfluidsynth$secondaryArchSuffix + devel:libfluidsynth$secondaryArchSuffix devel:libfontconfig$secondaryArchSuffix devel:libfreetype$secondaryArchSuffix devel:libfribidi$secondaryArchSuffix devel:libgcrypt$secondaryArchSuffix devel:libgl$secondaryArchSuffix -# devel:libgnutls$secondaryArchSuffix +# devel:libgnutls$secondaryArchSuffix # crashes vlc on start devel:libgpg_error$secondaryArchSuffix devel:libharfbuzz$secondaryArchSuffix devel:libiconv$secondaryArchSuffix + devel:libidn$secondaryArchSuffix devel:libjpeg$secondaryArchSuffix + devel:live555$secondaryArchSuffix + devel:liblua52$secondaryArchSuffix devel:libmad$secondaryArchSuffix devel:libmatroska$secondaryArchSuffix devel:libmodplug$secondaryArchSuffix devel:libmpcdec$secondaryArchSuffix devel:libmpeg2$secondaryArchSuffix -# devel:libmtp$secondaryArchSuffix + devel:libmtp$secondaryArchSuffix devel:libogg$secondaryArchSuffix devel:libopus$secondaryArchSuffix devel:libpng$secondaryArchSuffix devel:libpthread_stubs$secondaryArchSuffix + devel:libQt5Core$secondaryArchSuffix + devel:libQt5Gui$secondaryArchSuffix + devel:libQt5Widgets$secondaryArchSuffix devel:libsamplerate$secondaryArchSuffix -# devel:libschroedinger$secondaryArchSuffix +# devel:libshout$secondaryArchSuffix # crashes vlc on quit. Haiku #8600 +# devel:libschroedinger_1.0$secondaryArchSuffix # fix libschroedinger.pc devel:libsdl_1.2$secondaryArchSuffix devel:libsdl_image_1.2$secondaryArchSuffix -# devel:libsmbclient$secondaryArchSuffix + devel:libsmbclient$secondaryArchSuffix devel:libspeex$secondaryArchSuffix devel:libssh2$secondaryArchSuffix devel:libssl$secondaryArchSuffix - devel:libswscale$secondaryArchSuffix >= 3 + devel:libswscale$secondaryArchSuffix devel:libtag$secondaryArchSuffix devel:libtheora$secondaryArchSuffix devel:libtwolame$secondaryArchSuffix @@ -157,8 +169,8 @@ BUILD_REQUIRES=" BUILD_PREREQUIRES=" cmd:aclocal cmd:autoreconf - cmd:g++${secondaryArchSuffix} cmd:gettext$secondaryArchSuffix + cmd:g++$secondaryArchSuffix cmd:libtoolize$secondaryArchSuffix cmd:make cmd:pkg_config$secondaryArchSuffix @@ -167,14 +179,15 @@ BUILD_PREREQUIRES=" BUILD() { - bootstrap - runConfigure ./configure --disable-rpath --disable-lua --disable-xcb \ - --with-default-font=/system/data/fonts/ttfonts/DejaVuSans.ttf \ - --with-default-font-family=Sans \ - --with-default-monospace-font-family=Monospace --disable-update-check \ - --disable-dependency-tracking --enable-run-as-root - #--bindir=$appsDir/VLC --libdir=$appsDir/VLC/lib - + autoreconf + runConfigure ./configure --disable-rpath \ + --with-default-font=\ + `finddir B_SYSTEM_FONTS_DIRECTORY`/ttfonts/NotoMono-Regular.ttf \ + --with-default-font-family=Sans \ + --with-default-monospace-font-family=Monospace --disable-update-check \ + --disable-dependency-tracking --enable-run-as-root \ + --disable-update-check --enable-fast-install --disable-dependency-tracking +# --bindir=$appsDir/VLC --libdir=$appsDir/VLC/plugins make $jobArgs } @@ -196,15 +209,20 @@ INSTALL() -e "s|@MAJOR@|$MAJOR|" \ -e "s|@MIDDLE@|$MIDDLE|" \ -e "s|@MINOR@|$MINOR|" \ - $portDir/additional-files/vlc.rdef > vlc.rdef + $portDir/additional-files/vlc.rdef.in > vlc.rdef addResourcesToBinaries vlc.rdef $binDir/vlc addAppDeskbarSymlink $binDir/vlc "VLC media player" -# prepareInstalledDevelLibs libvlc libvlccore + fixPkgconfig + mkdir -p $prefix/develop/lib${secondaryArchSuffix/_//} + # TODO: fix libvlc.pc location + # mv -f $prefix/lib/pkgconfig $prefix/develop/lib${secondaryArchSuffix/_//}/ -# packageEntries devel \ -# $developDir + prepareInstalledDevelLibs \ + libvlc libvlccore + packageEntries devel \ + $developDir } TEST()