summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO6
-rw-r--r--PKGBUILD12
-rw-r--r--caca-fix-to-newer-version.patch130
3 files changed, 142 insertions, 6 deletions
diff --git a/.SRCINFO b/.SRCINFO
index f1e345ecc7d0..0c0bd9e8ae5d 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
diff --git a/PKGBUILD b/PKGBUILD
index a31d768b8176..2d9ae3ba9d86 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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);
+