diff options
-rw-r--r-- | .SRCINFO | 6 | ||||
-rw-r--r-- | PKGBUILD | 12 | ||||
-rw-r--r-- | caca-fix-to-newer-version.patch | 130 |
3 files changed, 142 insertions, 6 deletions
@@ -1,7 +1,7 @@ pkgbase = vlc-nox pkgdesc = Multi-platform MPEG, VCD/DVD, and DivX player (without X support) pkgver = 3.0.16 - pkgrel = 1 + pkgrel = 2 url = https://www.videolan.org/vlc/ arch = x86_64 license = LGPL2.1 @@ -69,7 +69,7 @@ pkgbase = vlc-nox depends = libxpm depends = libdca depends = libproxy - depends = lua + depends = lua52 depends = libidn depends = libmatroska depends = taglib @@ -164,10 +164,12 @@ pkgbase = vlc-nox options = !emptydirs source = http://download.videolan.org/vlc/3.0.16/vlc-3.0.16.tar.xz source = update-vlc-plugin-cache.hook + source = caca-fix-to-newer-version.patch source = vlc-3.0.11.1-srt_1.4.2.patch source = vlc-live-media-2021.patch sha512sums = 35cdf191071224d0cf1b5a83c00773ff87b9e5bfcf0f5523f7edd53f75b23eda6b27bb49ffa97d69a1d176b8fe4786d959aeeb00d4380beab71c9f7e6b7c7298 sha512sums = b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3 + sha512sums = ef479a246dc98f882a05ca56a1c2872cc67ced154c625790070b887858ddc250d55b1295db82c9122e5ecd3c2c9c712ec9718e28d0a9d21ff6a230eb6c5010ce sha512sums = 7d776bdcb566ab6eb0b4aeefa5e7ba09505588ae19b6292e4df9aeeda52af66e67e77f968ee219b0987530c6f25ce2551d8216c1eeb53addea82a8e514d7e5ab sha512sums = ad17d6f4f2cc83841c1c89623c339ec3ee94f6084ea980e2c8cbc3903854c85e5396e31bfd8dc90745b41794670903d854c4d282d8adec263087a9d47b226ccc @@ -8,12 +8,12 @@ _pkgbase=vlc pkgname=vlc-nox pkgver=3.0.16 -pkgrel=1 +pkgrel=2 pkgdesc='Multi-platform MPEG, VCD/DVD, and DivX player (without X support)' url='https://www.videolan.org/vlc/' arch=('x86_64') license=('LGPL2.1' 'GPL2') -depends=('a52dec' 'libdvbpsi' 'libxpm' 'libdca' 'libproxy' 'lua' 'libidn' +depends=('a52dec' 'libdvbpsi' 'libxpm' 'libdca' 'libproxy' 'lua52' 'libidn' 'libmatroska' 'taglib' 'libmpcdec' 'ffmpeg' 'faad2' 'libmad' 'libmpeg2' 'xcb-util-keysyms' 'libtar' 'libxinerama' 'libsecret' 'libupnp' 'libarchive' 'freetype2' 'fribidi' 'harfbuzz' @@ -96,10 +96,12 @@ replaces=('vlc' 'vlc-plugin' 'vlc-git') options=('!emptydirs') source=(http://download.videolan.org/${_pkgbase}/${pkgver}/${_pkgbase}-${pkgver}.tar.xz update-vlc-plugin-cache.hook + caca-fix-to-newer-version.patch vlc-3.0.11.1-srt_1.4.2.patch vlc-live-media-2021.patch) sha512sums=('35cdf191071224d0cf1b5a83c00773ff87b9e5bfcf0f5523f7edd53f75b23eda6b27bb49ffa97d69a1d176b8fe4786d959aeeb00d4380beab71c9f7e6b7c7298' 'b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3' + 'ef479a246dc98f882a05ca56a1c2872cc67ced154c625790070b887858ddc250d55b1295db82c9122e5ecd3c2c9c712ec9718e28d0a9d21ff6a230eb6c5010ce' '7d776bdcb566ab6eb0b4aeefa5e7ba09505588ae19b6292e4df9aeeda52af66e67e77f968ee219b0987530c6f25ce2551d8216c1eeb53addea82a8e514d7e5ab' 'ad17d6f4f2cc83841c1c89623c339ec3ee94f6084ea980e2c8cbc3903854c85e5396e31bfd8dc90745b41794670903d854c4d282d8adec263087a9d47b226ccc') @@ -108,6 +110,7 @@ prepare() { sed -e 's:truetype/ttf-dejavu:TTF:g' -i modules/visualization/projectm.cpp sed -e 's|-Werror-implicit-function-declaration||g' -i configure patch -Np1 < "${srcdir}/vlc-3.0.11.1-srt_1.4.2.patch" + patch -Np1 < "${srcdir}/caca-fix-to-newer-version.patch" patch -Np1 < "${srcdir}/vlc-live-media-2021.patch" sed 's|whoami|echo builduser|g' -i configure sed 's|hostname -f|echo arch|g' -i configure @@ -120,8 +123,9 @@ build() { export CFLAGS+=" -I/usr/include/samba-4.0" export CPPFLAGS+=" -I/usr/include/samba-4.0" export CXXFLAGS+=" -std=c++11" - export LUAC=/usr/bin/luac - export LUA_LIBS="$(pkg-config --libs lua)" + # upstream does not support lua 5.3/5.4 yet: https://trac.videolan.org/vlc/ticket/25036 + export LUAC=/usr/bin/luac5.2 + export LUA_LIBS="$(pkg-config --libs lua5.2)" ./configure --prefix=/usr \ --sysconfdir=/etc \ diff --git a/caca-fix-to-newer-version.patch b/caca-fix-to-newer-version.patch new file mode 100644 index 000000000000..8a56f767a1b0 --- /dev/null +++ b/caca-fix-to-newer-version.patch @@ -0,0 +1,130 @@ +From 900318072a7ebce28745aa3863e1364b7258baff Mon Sep 17 00:00:00 2001 +From: Alexandre Janniaux <ajanni@videolabs.io> +Date: Wed, 10 Nov 2021 15:37:52 +0100 +Subject: [PATCH] caca: fix to newer version + +Migrate to the new API instead of libcucul API, which has been merged +into libcaca since 0.99.beta15: + + commit f61816ceb7445f8bf818936151554ac060764b39 + Author: Sam Hocevar <sam@hocevar.net> + Date: Sat Sep 27 13:12:46 2008 +0000 + + Starting refactoring to get rid of libcucul. The initial reason for the + split is rendered moot by the plugin system: when enabled, binaries do + not link directly with libX11 or libGL. I hope this is a step towards + more consisteny and clarity. + +It was then completely wiped out by the following commit, which is part +of v0.99.beta20: + + commit 5f0ec215f8c9915ed028324a8ecac8212f68e18d + Author: Sam Hocevar <sam@hocevar.net> + Date: Thu May 3 10:33:30 2018 +0200 + + Remove legacy code from 10 years ago. + +(cherry picked from commit d35391caa03c046149e7fe2497f51bf59ed8551d) +--- + modules/video_output/caca.c | 30 +++++++++++++++--------------- + 1 file changed, 15 insertions(+), 15 deletions(-) + +diff --git a/modules/video_output/caca.c b/modules/video_output/caca.c +index 33a0409820..a2e922a864 100644 +--- a/modules/video_output/caca.c ++++ b/modules/video_output/caca.c +@@ -74,9 +74,9 @@ static void Place(vout_display_t *, vout_display_place_t *); + + /* */ + struct vout_display_sys_t { +- cucul_canvas_t *cv; ++ caca_canvas_t *cv; + caca_display_t *dp; +- cucul_dither_t *dither; ++ caca_dither_t *dither; + + picture_pool_t *pool; + vout_display_event_thread_t *et; +@@ -153,9 +153,9 @@ static int Open(vlc_object_t *object) + if (!sys) + goto error; + +- sys->cv = cucul_create_canvas(0, 0); ++ sys->cv = caca_create_canvas(0, 0); + if (!sys->cv) { +- msg_Err(vd, "cannot initialize libcucul"); ++ msg_Err(vd, "cannot initialize libcaca"); + goto error; + } + +@@ -209,11 +209,11 @@ error: + if (sys->pool) + picture_pool_Release(sys->pool); + if (sys->dither) +- cucul_free_dither(sys->dither); ++ caca_free_dither(sys->dither); + if (sys->dp) + caca_free_display(sys->dp); + if (sys->cv) +- cucul_free_canvas(sys->cv); ++ caca_free_canvas(sys->cv); + + free(sys); + } +@@ -235,9 +235,9 @@ static void Close(vlc_object_t *object) + if (sys->pool) + picture_pool_Release(sys->pool); + if (sys->dither) +- cucul_free_dither(sys->dither); ++ caca_free_dither(sys->dither); + caca_free_display(sys->dp); +- cucul_free_canvas(sys->cv); ++ caca_free_canvas(sys->cv); + + #if defined(_WIN32) + FreeConsole(); +@@ -266,7 +266,7 @@ static void Prepare(vout_display_t *vd, picture_t *picture, subpicture_t *subpic + + if (!sys->dither) { + /* Create the libcaca dither object */ +- sys->dither = cucul_create_dither(32, ++ sys->dither = caca_create_dither(32, + vd->source.i_visible_width, + vd->source.i_visible_height, + picture->p[0].i_pitch, +@@ -284,12 +284,12 @@ static void Prepare(vout_display_t *vd, picture_t *picture, subpicture_t *subpic + vout_display_place_t place; + Place(vd, &place); + +- cucul_set_color_ansi(sys->cv, CUCUL_COLOR_DEFAULT, CUCUL_COLOR_BLACK); +- cucul_clear_canvas(sys->cv); ++ caca_set_color_ansi(sys->cv, CACA_DEFAULT, CACA_BLACK); ++ caca_clear_canvas(sys->cv); + + const int crop_offset = vd->source.i_y_offset * picture->p->i_pitch + + vd->source.i_x_offset * picture->p->i_pixel_pitch; +- cucul_dither_bitmap(sys->cv, place.x, place.y, ++ caca_dither_bitmap(sys->cv, place.x, place.y, + place.width, place.height, + sys->dither, + &picture->p->p_pixels[crop_offset]); +@@ -328,7 +328,7 @@ static int Control(vout_display_t *vd, int query, va_list args) + + case VOUT_DISPLAY_CHANGE_SOURCE_CROP: + if (sys->dither) +- cucul_free_dither(sys->dither); ++ caca_free_dither(sys->dither); + sys->dither = NULL; + return VLC_SUCCESS; + +@@ -366,8 +366,8 @@ static void Place(vout_display_t *vd, vout_display_place_t *place) + + vout_display_PlacePicture(place, &vd->source, vd->cfg, false); + +- const int canvas_width = cucul_get_canvas_width(sys->cv); +- const int canvas_height = cucul_get_canvas_height(sys->cv); ++ const int canvas_width = caca_get_canvas_width(sys->cv); ++ const int canvas_height = caca_get_canvas_height(sys->cv); + const int display_width = caca_get_display_width(sys->dp); + const int display_height = caca_get_display_height(sys->dp); + |