From f5079d780922a2dd8408cd8f3cab98186e05fa88 Mon Sep 17 00:00:00 2001 From: "A. Wilcox" Date: Sat, 21 Jul 2018 21:44:10 -0500 Subject: user/vlc: see commit message - Use Lua 5.3 instead of 5.2. (One Lua to Rule Them All) - Enable some more libs that we already ship. - Disable Wayland. - Fix video_chroma on big endian. - Add -lang since we ship gettext-tiny and that means we get translations now! - Re-order makedepends to be slightly easier to scan through. - Take ownership. - Fix license. - Modernise style. - Alphabetise patch list. - Remove odd whitespace. --- user/vlc/APKBUILD | 143 ++++++++------------------ user/vlc/endian-fix.patch | 14 +++ user/vlc/lua.patch | 255 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 312 insertions(+), 100 deletions(-) create mode 100644 user/vlc/endian-fix.patch create mode 100644 user/vlc/lua.patch diff --git a/user/vlc/APKBUILD b/user/vlc/APKBUILD index a11b883f7..5f936cac8 100644 --- a/user/vlc/APKBUILD +++ b/user/vlc/APKBUILD @@ -1,26 +1,20 @@ # Contributor: Ɓukasz Jendrysik # Contributor: Leonardo Arena -# Maintainer: Natanael Copa +# Maintainer: A. Wilcox pkgname=vlc pkgver=3.0.3 -_pkgver=${pkgver/_/-} -_ver=${_pkgver%[a-z]} -pkgrel=1 -pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player" +pkgrel=2 +pkgdesc="Multi-platform MPEG, VCD/DVD, and DivX player" triggers="vlc-libs.trigger=/usr/lib/vlc/plugins" pkgusers="vlc" pkggroups="vlc" url="https://www.videolan.org/vlc/" arch="all" -license="GPL-2.0-or-later" +license="GPL-2.0+" options="!checkroot textrel" -subpackages="$pkgname-dev - $pkgname-doc - $pkgname-qt - $pkgname-xorg - $pkgname-daemon::noarch - $pkgname-libs - $pkgname-plugins +subpackages="$pkgname-dev $pkgname-doc $pkgname-qt $pkgname-xorg + $pkgname-daemon::noarch $pkgname-libs $pkgname-plugins + $pkgname-lang $pkgname-plugins-access:plugins_access $pkgname-plugins-access_output:plugins_access_output @@ -46,91 +40,40 @@ subpackages="$pkgname-dev $pkgname-plugins-video_output:plugins_video_output $pkgname-plugins-visualization:plugins_visualization" depends="ttf-dejavu $pkgname-plugins" -makedepends=" - a52dec-dev - alsa-lib-dev - automake - autoconf - bison - libtool - dbus-dev - faad2-dev - ffmpeg-dev - flac-dev - flex - fluidsynth-dev - freetype-dev - fribidi-dev - gtk+3.0-dev - libbluray-dev>=0.2.1 libbluray-dev<20100000 - libavc1394-dev - libcddb-dev - libdc1394-dev>=2.1.0 - libdca-dev - libdvbpsi-dev - libdvdnav-dev - libdvdread-dev - libgcrypt-dev - libice-dev - libjpeg-turbo-dev - libmad-dev - libmatroska-dev - libmpeg2-dev - libnotify-dev - libogg-dev - libraw1394-dev>=2.0.1 - librsvg-dev - libshout-dev - libsm-dev - libtheora-dev - libva-dev - libvdpau-dev - libvorbis-dev - libvpx-dev - libx11-dev - libxext-dev - libxinerama-dev - libxml2-dev - libxpm-dev - libxv-dev - live-media-dev>=2012.01.26 - lua5.2-dev - mesa-dev - ncurses-dev - opus-dev - pkgconfig - pulseaudio-dev - qt5-qtbase-dev - qt5-qtsvg-dev - qt5-qtx11extras-dev - sdl2-dev - speex-dev - speexdsp-dev - sysfsutils-dev - taglib-dev - eudev-dev - v4l-utils-dev - wayland-protocols - x264-dev - x265-dev - xcb-util-renderutil-dev - xcb-util-keysyms-dev +# Generic dependencies, then X11, then multimedia libraries +makedepends="autoconf automake bison eudev-dev flex libarchive-dev + libgcrypt-dev libtool libxml2-dev lua5.3-dev ncurses-dev sysfsutils-dev + + dbus-dev freetype-dev fribidi-dev gtk+3.0-dev libice-dev libnotify-dev + libjpeg-turbo-dev libsm-dev libx11-dev libxext-dev libxinerama-dev + libxpm-dev libxv-dev mesa-dev qt5-qtbase-dev qt5-qtsvg-dev sdl2-dev + qt5-qtx11extras-dev xcb-util-keysyms-dev xcb-util-renderutil-dev xdg-utils + + a52dec-dev alsa-lib-dev faad2-dev ffmpeg-dev flac-dev fluidsynth-dev + libaacs-dev libavc1394-dev libbluray-dev>=0.2.1 libbluray-dev<20100000 + libcddb-dev libdc1394-dev>=2.1.0 libdca-dev libdvbpsi-dev libdvdnav-dev + libdvdread-dev libmad-dev libmatroska-dev libmpeg2-dev libogg-dev + libraw1394-dev>=2.0.1 librsvg-dev libshout-dev libtheora-dev libva-dev + libvdpau-dev libvorbis-dev libvpx-dev live-media-dev>=2012.01.26 + opus-dev pulseaudio-dev speex-dev speexdsp-dev taglib-dev v4l-utils-dev + x264-dev x265-dev gstreamer-dev gst-plugins-base-dev " -source="http://get.videolan.org/vlc/$_ver/vlc-$_ver.tar.xz - omxil-rpi-codecs.patch +source="https://get.videolan.org/vlc/$pkgver/vlc-$pkgver.tar.xz check-headless.patch disable-sub-autodetect-fuzzy-1-test.patch + endian-fix.patch fribidi-update.patch + lua.patch + omxil-rpi-codecs.patch tar-compat.patch test-s390x.patch - vlc-libs.trigger" - -builddir="$srcdir"/$pkgname-$_ver + vlc-libs.trigger + " prepare() { default_prepare - NOCONFIGURE=1 ./bootstrap + NOCONFIGURE=1 ./bootstrap } build() { @@ -142,32 +85,35 @@ build() { arm*) _arch_opts="--enable-omxil --enable-omxil-vout --enable-rpi-omxil" ;; aarch64) _arch_opts="--enable-neon" ;; ppc64*) _arch_opts="--enable-altivec" ;; + x86* | pmmx) _arch_opts="--disable-mmx --disable-sse" ;; esac - LUA=lua5.2 \ - LUAC=luac5.2 \ BUILDCC="${CC:-gcc} -std=c99" \ ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ - --disable-mmx \ - --disable-sse \ --enable-nls \ --enable-optimizations \ --enable-optimize-memory \ --disable-rpath \ + --disable-wayland \ + --enable-dbus \ + --enable-notify \ + --enable-ncurses \ + --enable-pulse \ + --enable-qt \ + --enable-udev \ --enable-a52 \ --enable-avcodec \ --enable-avformat \ --enable-bluray \ --enable-cdda \ - --enable-dbus \ --enable-dc1394 \ --enable-dca \ --enable-dvbpsi \ - --enable-dvdread \ --enable-dvdnav \ + --enable-dvdread \ --enable-faad \ --enable-flac \ --enable-fluidsynth \ @@ -178,13 +124,9 @@ build() { --enable-live555 \ --enable-mad \ --enable-merge-ffmpeg \ - --enable-notify \ - --enable-ncurses \ --enable-ogg \ --enable-opus \ --enable-png \ - --enable-pulse \ - --enable-qt \ --enable-realrtsp \ --enable-shout \ --enable-skins2 \ @@ -192,7 +134,6 @@ build() { --enable-sout \ --enable-taglib \ --enable-theora \ - --enable-udev \ --enable-v4l2 \ --enable-vdpau \ --enable-vlm \ @@ -353,10 +294,12 @@ plugins_video_output() { _mv_plugins video_output; } plugins_visualization() { _mv_plugins visualization; } sha512sums="1569cefa6623b2631a832679bc9a63ebeba222901e5221d254e896a68d2ee467054da8de9eda566924e80a11bb29a673a9f0c4243793845547d8027b58a238ab vlc-3.0.3.tar.xz -e13e398b7bfd977f6e099bcb6cf8dc5cd5bad6dea3eff715881826246dc4329468846084aff2576de2b7fd28d3f06e7c327a6e4511a28d22e5cd198a81146c89 omxil-rpi-codecs.patch 22d80df599b8b65a5439cefbb7140af8e9530f326d54945da3769af65f37518b99ec2cc8647aafd2763324a0698280915afe043cc87e5720c4694881ed35bffa check-headless.patch e214b407235cb3afb8bec93f20c9b42957b57e6fd3960679d3d4235e77762e03e64d03c01f00ef63d589e7c85aaad02ce6abbeeccd66b1867bc92451a5b5e9b0 disable-sub-autodetect-fuzzy-1-test.patch +e063c727d952465bbea33f669db49190427521dc8e2291e9a5cbb0f5e8e879bd3ba76855e44bd4630948e30c4329d27bd928f95de20fe1050d5e839778a4d012 endian-fix.patch 3338531d385f76d9eedf10498d1b0b78565c531eedb3018d4500e377815f9ccbfcc16ec398cb8559bcc624f65b61d376125c4a5e6880cbad90ec9880dd4b9ce5 fribidi-update.patch +35f83e38a6a0dd1e3c37e3dc6d63b1406d2f9454ed246854c1408d6f35ad74b743c5b0dbc19442bab65aad4268707ffa85bfda9e72b2d711c1d3412d955bf150 lua.patch +e13e398b7bfd977f6e099bcb6cf8dc5cd5bad6dea3eff715881826246dc4329468846084aff2576de2b7fd28d3f06e7c327a6e4511a28d22e5cd198a81146c89 omxil-rpi-codecs.patch a117ca4d7fd66a5f959fdeaddfdce2f8442fe9f2c13995bb7f4792a7745c00813813aa962f76e957e3b0735344a5dc000e0644ce09f23458802a2932231655c3 tar-compat.patch c0107655249687655846a9547ca1a5670b9207443180600e7a149c69ffb96d7226787c19b018d4033db9b284c1a5faa8d7d42188ed40c3b8bb051256febf11c5 test-s390x.patch b67b6e21e9d4027aef1006e6057f9ba8e65ce3895b08f7b911b1675cff9bc423f64ee2c187c584860e9e5d4635a30408a7781add9694d9bba753eac37f357406 vlc-libs.trigger" diff --git a/user/vlc/endian-fix.patch b/user/vlc/endian-fix.patch new file mode 100644 index 000000000..872cd0c6a --- /dev/null +++ b/user/vlc/endian-fix.patch @@ -0,0 +1,14 @@ +--- vlc-3.0.3/modules/video_chroma/copy.c.old 2018-04-18 16:19:34.000000000 +0000 ++++ vlc-3.0.3/modules/video_chroma/copy.c 2018-07-22 02:13:19.870000000 +0000 +@@ -1119,7 +1119,11 @@ + vlc_assert_unreachable(); + } + ++#ifndef WORDS_BIGENDIAN + uint32_t color_16_UV = (colors_16_P[2] << 16) | colors_16_P[1]; ++#else ++ uint32_t color_16_UV = (colors_16_P[1] << 16) | colors_16_P[2]; ++#endif + + PICCHECK(uint16_t, uint32_t, colors_16_P, color_16_UV, 2); + } diff --git a/user/vlc/lua.patch b/user/vlc/lua.patch new file mode 100644 index 000000000..7bdfbae65 --- /dev/null +++ b/user/vlc/lua.patch @@ -0,0 +1,255 @@ +From ab1202af18e34427750d8c8d72240145869f2a68 Mon Sep 17 00:00:00 2001 +From: Tim Orling +Date: Sun, 2 Aug 2015 20:04:25 -0700 +Subject: [PATCH] * luaL_checkint and luaL_optint deprecated in lua 5.3 * + Replacements are luaL_checkinteger and luaL_optinteger + +Signed-off-by: Tim Orling +--- + modules/lua/libs/net.c | 22 +++++++++++----------- + modules/lua/libs/osd.c | 12 ++++++------ + modules/lua/libs/playlist.c | 10 +++++----- + modules/lua/libs/stream.c | 2 +- + modules/lua/libs/volume.c | 6 +++--- + 9 files changed, 31 insertions(+), 31 deletions(-) + +diff --git a/modules/lua/libs/net.c b/modules/lua/libs/net.c +index 3d760bf451a..85a7432138e 100644 +--- a/modules/lua/libs/net.c ++++ b/modules/lua/libs/net.c +@@ -208,7 +208,7 @@ static int vlclua_net_listen_tcp( lua_State *L ) + { + vlc_object_t *p_this = vlclua_get_this( L ); + const char *psz_host = luaL_checkstring( L, 1 ); +- int i_port = luaL_checkint( L, 2 ); ++ int i_port = luaL_checkinteger( L, 2 ); + int *pi_fd = net_ListenTCP( p_this, psz_host, i_port ); + if( pi_fd == NULL ) + return luaL_error( L, "Cannot listen on %s:%d", psz_host, i_port ); +diff --git a/modules/lua/libs/osd.c b/modules/lua/libs/osd.c +index 2d3ee1f94a2..796c15d39c1 100644 +--- a/modules/lua/libs/osd.c ++++ b/modules/lua/libs/osd.c +@@ -198,7 +198,7 @@ static int vlclua_spu_channel_register( lua_State *L ) + + static int vlclua_spu_channel_clear( lua_State *L ) + { +- int i_chan = luaL_checkint( L, 1 ); ++ int i_chan = luaL_checkinteger( L, 1 ); + input_thread_t *p_input = vlclua_get_input_internal( L ); + if( !p_input ) + return luaL_error( L, "Unable to find input." ); +diff --git a/modules/lua/libs/playlist.c b/modules/lua/libs/playlist.c +index 115926262e8..b671b7f3984 100644 +--- a/modules/lua/libs/playlist.c ++++ b/modules/lua/libs/playlist.c +@@ -69,7 +69,7 @@ static int vlclua_playlist_next( lua_State * L ) + + static int vlclua_playlist_skip( lua_State * L ) + { +- int i_skip = luaL_checkint( L, 1 ); ++ int i_skip = luaL_checkinteger( L, 1 ); + playlist_t *p_playlist = vlclua_get_playlist_internal( L ); + playlist_Skip( p_playlist, i_skip ); + return 0; +@@ -127,7 +127,7 @@ static int vlclua_playlist_random( lua_State * L ) + + static int vlclua_playlist_gotoitem( lua_State * L ) + { +- int i_id = luaL_checkint( L, 1 ); ++ int i_id = luaL_checkinteger( L, 1 ); + playlist_t *p_playlist = vlclua_get_playlist_internal( L ); + PL_LOCK; + playlist_Control( p_playlist, PLAYLIST_VIEWPLAY, true, NULL, +@@ -138,7 +138,7 @@ static int vlclua_playlist_gotoitem( lua_State * L ) + + static int vlclua_playlist_delete( lua_State * L ) + { +- int i_id = luaL_checkint( L, 1 ); ++ int i_id = luaL_checkinteger( L, 1 ); + playlist_t *p_playlist = vlclua_get_playlist_internal( L ); + PL_LOCK; + playlist_item_t *p_item = playlist_ItemGetById( p_playlist, i_id ); +@@ -154,8 +154,8 @@ static int vlclua_playlist_delete( lua_State * L ) + + static int vlclua_playlist_move( lua_State * L ) + { +- int i_item = luaL_checkint( L, 1 ); +- int i_target = luaL_checkint( L, 2 ); ++ int i_item = luaL_checkinteger( L, 1 ); ++ int i_target = luaL_checkinteger( L, 2 ); + playlist_t *p_playlist = vlclua_get_playlist_internal( L ); + PL_LOCK; + playlist_item_t *p_item = playlist_ItemGetById( p_playlist, i_item ); +diff --git a/modules/lua/libs/stream.c b/modules/lua/libs/stream.c +index f93fe0b03a4..20b34d9c1b9 100644 +--- a/modules/lua/libs/stream.c ++++ b/modules/lua/libs/stream.c +@@ -101,7 +101,7 @@ static int vlclua_stream_read( lua_State *L ) + { + int i_read; + stream_t **pp_stream = (stream_t **)luaL_checkudata( L, 1, "stream" ); +- int n = luaL_checkint( L, 2 ); ++ int n = luaL_checkinteger( L, 2 ); + uint8_t *p_read = malloc( n ); + if( !p_read ) return vlclua_error( L ); + +diff --git a/modules/lua/libs/volume.c b/modules/lua/libs/volume.c +index b361647545c..d37568bae41 100644 +--- a/modules/lua/libs/volume.c ++++ b/modules/lua/libs/volume.c +@@ -48,7 +48,7 @@ + static int vlclua_volume_set( lua_State *L ) + { + playlist_t *p_this = vlclua_get_playlist_internal( L ); +- int i_volume = luaL_checkint( L, 1 ); ++ int i_volume = luaL_checkinteger( L, 1 ); + if( i_volume < 0 ) + i_volume = 0; + int i_ret = playlist_VolumeSet( p_this, i_volume/(float)AOUT_VOLUME_DEFAULT ); +--- vlc-3.0.3/modules/lua/demux.c.old 2017-12-21 09:51:16.000000000 +0000 ++++ vlc-3.0.3/modules/lua/demux.c 2018-07-21 23:42:36.490000000 +0000 +@@ -52,7 +52,7 @@ + static int vlclua_demux_peek( lua_State *L ) + { + stream_t *s = (stream_t *)vlclua_get_this(L); +- int n = luaL_checkint( L, 1 ); ++ int n = luaL_checkinteger( L, 1 ); + const uint8_t *p_peek; + + ssize_t val = vlc_stream_Peek(s->p_source, &p_peek, n); +@@ -66,7 +66,7 @@ + static int vlclua_demux_read( lua_State *L ) + { + stream_t *s = (stream_t *)vlclua_get_this(L); +- int n = luaL_checkint( L, 1 ); ++ int n = luaL_checkinteger( L, 1 ); + char *buf = malloc(n); + + if (buf != NULL) +--- vlc-3.0.3/modules/lua/libs/dialog.c.old 2017-11-24 15:29:18.000000000 +0000 ++++ vlc-3.0.3/modules/lua/libs/dialog.c 2018-07-21 23:43:12.100000000 +0000 +@@ -382,7 +382,7 @@ + /* Read entry in the Lua registry */ + lua_pushlightuserdata( L, (void*) &key_update ); + lua_gettable( L, LUA_REGISTRYINDEX ); +- return luaL_checkint( L, -1 ); ++ return luaL_checkinteger( L, -1 ); + } + + /** Manually update a dialog +@@ -573,22 +573,22 @@ + + /* Set common arguments: col, row, hspan, vspan, width, height */ + if( lua_isnumber( L, arg ) ) +- p_widget->i_column = luaL_checkint( L, arg ); ++ p_widget->i_column = luaL_checkinteger( L, arg ); + else goto end_of_args; + if( lua_isnumber( L, ++arg ) ) +- p_widget->i_row = luaL_checkint( L, arg ); ++ p_widget->i_row = luaL_checkinteger( L, arg ); + else goto end_of_args; + if( lua_isnumber( L, ++arg ) ) +- p_widget->i_horiz_span = luaL_checkint( L, arg ); ++ p_widget->i_horiz_span = luaL_checkinteger( L, arg ); + else goto end_of_args; + if( lua_isnumber( L, ++arg ) ) +- p_widget->i_vert_span = luaL_checkint( L, arg ); ++ p_widget->i_vert_span = luaL_checkinteger( L, arg ); + else goto end_of_args; + if( lua_isnumber( L, ++arg ) ) +- p_widget->i_width = luaL_checkint( L, arg ); ++ p_widget->i_width = luaL_checkinteger( L, arg ); + else goto end_of_args; + if( lua_isnumber( L, ++arg ) ) +- p_widget->i_height = luaL_checkint( L, arg ); ++ p_widget->i_height = luaL_checkinteger( L, arg ); + else goto end_of_args; + + end_of_args: +--- vlc-3.0.3/modules/lua/libs/net.c.old 2018-07-21 23:33:19.070000000 +0000 ++++ vlc-3.0.3/modules/lua/libs/net.c 2018-07-21 23:43:52.200000000 +0000 +@@ -251,7 +251,7 @@ + { + vlc_object_t *p_this = vlclua_get_this( L ); + const char *psz_host = luaL_checkstring( L, 1 ); +- int i_port = luaL_checkint( L, 2 ); ++ int i_port = luaL_checkinteger( L, 2 ); + int i_fd = net_ConnectTCP( p_this, psz_host, i_port ); + lua_pushinteger( L, vlclua_fd_map_safe( L, i_fd ) ); + return 1; +@@ -259,14 +259,14 @@ + + static int vlclua_net_close( lua_State *L ) + { +- int i_fd = luaL_checkint( L, 1 ); ++ int i_fd = luaL_checkinteger( L, 1 ); + vlclua_fd_unmap_safe( L, i_fd ); + return 0; + } + + static int vlclua_net_send( lua_State *L ) + { +- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) ); ++ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) ); + size_t i_len; + const char *psz_buffer = luaL_checklstring( L, 2, &i_len ); + +@@ -278,7 +278,7 @@ + + static int vlclua_net_recv( lua_State *L ) + { +- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) ); ++ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) ); + size_t i_len = (size_t)luaL_optinteger( L, 2, 1 ); + char psz_buffer[i_len]; + +@@ -312,7 +312,7 @@ + lua_pushnil( L ); + for( int i = 0; lua_next( L, 1 ); i++ ) + { +- luafds[i] = luaL_checkint( L, -2 ); ++ luafds[i] = luaL_checkinteger( L, -2 ); + p_fds[i].fd = vlclua_fd_get( L, luafds[i] ); + p_fds[i].events = luaL_checkinteger( L, -1 ); + p_fds[i].events &= POLLIN | POLLOUT | POLLPRI; +@@ -360,7 +360,7 @@ + #ifndef _WIN32 + static int vlclua_fd_write( lua_State *L ) + { +- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) ); ++ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) ); + size_t i_len; + const char *psz_buffer = luaL_checklstring( L, 2, &i_len ); + +@@ -371,7 +371,7 @@ + + static int vlclua_fd_read( lua_State *L ) + { +- int fd = vlclua_fd_get( L, luaL_checkint( L, 1 ) ); ++ int fd = vlclua_fd_get( L, luaL_checkinteger( L, 1 ) ); + size_t i_len = (size_t)luaL_optinteger( L, 2, 1 ); + char psz_buffer[i_len]; + +--- vlc-3.0.3/modules/lua/libs/osd.c.old 2018-07-21 23:33:19.070000000 +0000 ++++ vlc-3.0.3/modules/lua/libs/osd.c 2018-07-21 23:44:09.710000000 +0000 +@@ -154,7 +154,7 @@ + + static int vlclua_osd_slider( lua_State *L ) + { +- int i_position = luaL_checkint( L, 1 ); ++ int i_position = luaL_checkinteger( L, 1 ); + const char *psz_type = luaL_checkstring( L, 2 ); + int i_type = vlc_osd_slider_type_from_string( psz_type ); + int i_chan = (int)luaL_optinteger( L, 3, VOUT_SPU_CHANNEL_OSD ); +--- vlc-3.0.3/modules/lua/libs/io.c.old 2018-04-18 16:19:34.000000000 +0000 ++++ vlc-3.0.3/modules/lua/libs/io.c 2018-07-22 00:12:13.260000000 +0000 +@@ -139,7 +139,7 @@ + const char* psz_mode = luaL_optstring( L, 2, NULL ); + if ( psz_mode != NULL ) + { +- long i_offset = luaL_optlong( L, 3, 0 ); ++ long i_offset = (long)luaL_optinteger( L, 3, 0 ); + int i_mode; + if ( !strcmp( psz_mode, "set" ) ) + i_mode = SEEK_SET; -- cgit v1.2.3-70-g09d2