diff options
author | Booloki | 2023-12-30 16:41:51 +0100 |
---|---|---|
committer | Booloki | 2023-12-30 16:41:51 +0100 |
commit | 97a70e0d08f4eb7db1c38bd41e9ef84457f48f30 (patch) | |
tree | dc3dfddd4a6ee4ff302f4dc90ad98f83b504caa6 | |
parent | da9cd27e5ad04c16075f05e3ec58b482a54bc48c (diff) | |
download | aur-97a70e0d08f4eb7db1c38bd41e9ef84457f48f30.tar.gz |
Rebase on Arch vlc package
-rw-r--r-- | PKGBUILD | 445 | ||||
-rw-r--r-- | libplacebo-5.patch | 108 |
2 files changed, 268 insertions, 285 deletions
@@ -12,93 +12,182 @@ pkgrel=1 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' - 'libmatroska' 'taglib' 'libmpcdec' 'ffmpeg4.4' 'faad2' 'libmad' - 'libmpeg2' 'xcb-util-keysyms' 'libtar' 'libxinerama' 'libsecret' - 'libupnp' 'libarchive' 'freetype2' 'fribidi' 'harfbuzz' - 'fontconfig' 'libxml2' 'gnutls' 'libplacebo' 'aribb24') -makedepends=('live-media' 'libbluray' 'flac' 'libdc1394' 'libavc1394' 'libcaca' - 'librsvg' 'libgme' 'xosd' 'twolame' 'aalib' 'avahi' 'systemd-libs' - 'libmtp' 'libmicrodns' 'libdvdcss' 'smbclient' - 'vcdimager' 'libssh2' 'mesa' 'protobuf' 'libnfs' 'mpg123' - 'libdvdread' 'libdvdnav' 'libogg' 'libshout' 'libmodplug' 'libvpx' - 'libvorbis' 'speex' 'opus' 'libtheora' 'libpng' 'libjpeg-turbo' - 'libx265.so' 'libx264.so' 'zvbi' 'libass' 'libkate' 'libtiger' - 'sdl_image' 'libpulse' 'alsa-lib' 'jack' 'libsamplerate' 'libsoxr' - 'lirc' 'libgoom2' 'projectm' 'aom' 'srt' 'dav1d' - 'aribb25' 'pcsclite') -# 'chromaprint: Chromaprint audio fingerprinter' -optdepends=('avahi: service discovery using bonjour protocol' - 'aom: AOM AV1 codec' - 'dav1d: dav1d AV1 decoder' - 'libdvdcss: decoding encrypted DVDs' - 'libavc1394: devices using the 1394ta AV/C' - 'libdc1394: IEEE 1394 access plugin' - 'libva-vdpau-driver: vdpau backend nvidia' - 'libva-intel-driver: video backend intel' - 'libbluray: Blu-Ray video input' - 'flac: Free Lossless Audio Codec plugin' - 'twolame: TwoLAME mpeg2 encoder plugin' - 'libgme: Game Music Emu plugin' - 'vcdimager: navigate VCD with libvcdinfo' - 'libmtp: MTP devices discovery' - 'systemd-libs: udev services discovery' - 'smbclient: SMB access plugin' - 'libcdio: audio CD playback' - 'ttf-freefont: subtitle font ' - 'ttf-dejavu: subtitle font' - 'libssh2: sftp access' - 'libnfs: NFS access' - 'mpg123: mpg123 codec' - 'protobuf: chromecast streaming' - 'libmicrodns: mDNS services discovery (chromecast etc)' - 'lua-socket: http interface' - 'live-media: RTSP input' - 'libdvdread: DVD input module' - 'libdvdnav: DVD with navigation input module' - 'libogg: Ogg and OggSpots codec' - 'libshout: shoutcast/icecast output plugin' - 'libmodplug: MOD output plugin' - 'libvpx: VP8 and VP9 codec' - 'libvorbis: Vorbis decoder/encoder' - 'speex: Speex codec' - 'opus: opus codec' - 'libtheora: theora codec' - 'libpng: PNG support' - 'libjpeg-turbo: JPEG support' - 'librsvg: SVG plugin' - 'libx264: H264 encoding' - 'x265: HEVC/H.265 encoder' - 'zvbi: VBI/Teletext decoding' - 'libass: Subtitle support' - 'libkate: Kate codec' - 'libtiger: Tiger rendering for Kate streams' - 'sdl_image: SDL image support' - 'srt: SRT input/output plugin' - 'aalib: ASCII art video output' - 'libcaca: colored ASCII art video output' - 'libpulse: PulseAudio audio output' - 'alsa-lib: ALSA audio output' - 'jack: jack audio server' - 'libsamplerate: audio Resampler' - 'libsoxr: SoX audio Resampler' - 'chromaprint: Chromaprint audio fingerprinter' - 'lirc: lirc control' - 'libgoom2: Goom visualization' - 'projectm: ProjectM visualisation' - 'ncurses: ncurses interface' - 'libnotify: notification plugin' - 'aribb25: aribcam support' - 'pcsclite: aribcam support') +license=( + 'GPL-2.0-or-later' + 'LGPL-2.1-or-later' +) +depends=( + 'a52dec' + 'abseil-cpp' + 'aribb24' + 'bash' + 'cairo' + 'dbus' + 'faad2' + 'ffmpeg4.4' # NOTE: switch to ffmpeg4.4, as ffmpeg >= 5 requires extensive changes disabling VAAPI (only supported with vlc >= 4) + 'fontconfig' + 'freetype2' + 'fribidi' + 'gcc-libs' + 'gdk-pixbuf2' + 'glib2' + 'glibc' + 'gnutls' + 'harfbuzz' + 'hicolor-icon-theme' + 'libarchive' + 'libdca' + 'libdvbpsi' + 'libglvnd' + 'libidn' + 'libmad' + 'libmatroska' + 'libmpcdec' + 'libmpeg2' + 'libproxy' + 'libsecret' + 'libtar' + 'libupnp' 'libixml.so' 'libupnp.so' + 'libva' + 'libx11' + 'libxcb' + 'libxinerama' + 'libxml2' + 'libxpm' + 'lua' + 'taglib' + 'xcb-util-keysyms' + 'zlib' +) +makedepends=( + 'aalib' + 'alsa-lib' + 'aom' + 'aribb25' + 'avahi' + 'dav1d' + 'flac' + 'jack' + 'libass' + 'libavc1394' + 'libbluray' + 'libcaca' + 'libdc1394' + 'libdvdcss' + 'libdvdnav' + 'libdvdread' + 'libgme' + 'libgoom2' + 'libjpeg-turbo' + 'libkate' + 'libmicrodns' + 'libmodplug' + 'libmtp' + 'libnfs' + 'libogg' + 'libpng' + 'libpulse' + 'librsvg' + 'libsamplerate' + 'libshout' + 'libsoxr' + 'libssh2' + 'libtheora' + 'libtiger' + 'libvorbis' + 'libvpx' + 'lirc' + 'live-media' + 'mesa' + 'mpg123' + 'opus' + 'pcsclite' + 'projectm' + 'protobuf' + 'sdl_image' + 'smbclient' + 'speex' + 'srt' + 'systemd-libs' + 'twolame' + 'vcdimager' + 'x264' 'libx264.so' + 'x265' 'libx265.so' + 'xosd' + 'zvbi' +) +optdepends=( + 'aalib: ASCII art video output' + 'alsa-lib: ALSA audio output' + 'aom: AOM AV1 codec' + 'aribb25: aribcam support' + 'avahi: service discovery using bonjour protocol' + 'dav1d: dav1d AV1 decoder' + 'flac: Free Lossless Audio Codec plugin' + 'gnu-free-fonts: subtitle font' + 'jack: jack audio server' + 'libass: Subtitle support' + 'libavc1394: devices using the 1394ta AV/C' + 'libbluray: Blu-Ray video input' + 'libcaca: colored ASCII art video output' + 'libcdio: audio CD playback' + 'libdc1394: IEEE 1394 access plugin' + 'libdvdcss: decoding encrypted DVDs' + 'libdvdnav: DVD with navigation input module' + 'libdvdread: DVD input module' + 'libgme: Game Music Emu plugin' + 'libgoom2: Goom visualization' + 'libjpeg-turbo: JPEG support' + 'libkate: Kate codec' + 'libmicrodns: mDNS services discovery (chromecast etc)' + 'libmodplug: MOD output plugin' + 'libmtp: MTP devices discovery' + 'libnfs: NFS access' + 'libnotify: notification plugin' + 'libogg: Ogg and OggSpots codec' + 'libpng: PNG support' + 'libpulse: PulseAudio audio output' + 'libraw1394: IEEE 1394 access plugin' + 'librsvg: SVG plugin' + 'libsamplerate: audio Resampler' + 'libshout: shoutcast/icecast output plugin' + 'libsoxr: SoX audio Resampler' + 'libssh2: sftp access' + 'libtheora: theora codec' + 'libtiger: Tiger rendering for Kate streams' + 'libva-intel-driver: video backend intel' + 'libva-vdpau-driver: vdpau backend nvidia' + 'libvorbis: Vorbis decoder/encoder' + 'libvpx: VP8 and VP9 codec' + 'lirc: lirc control' + 'live-media: streaming over RTSP' + 'lua-socket: http interface' + 'mpg123: mpg123 codec' + 'ncurses: ncurses interface' + 'opus: opus codec' + 'pcsclite: aribcam support' + 'projectm: ProjectM visualisation' + 'protobuf: chromecast streaming' + 'sdl12-compat: SDL image support' + 'sdl_image: SDL image support' + 'smbclient: SMB access plugin' + 'speex: Speex codec' + 'speexdsp: Speex codec' + 'srt: SRT input/output plugin' + 'systemd-libs: udev services discovery' + 'ttf-dejavu: subtitle font' + 'twolame: TwoLAME mpeg2 encoder plugin' + 'vcdimager: navigate VCD with libvcdinfo' + 'x264: H264 encoding' + 'x265: HEVC/H.265 encoder' + 'zvbi: VBI/Teletext/webcam/v4l2 capture/decoding' +) conflicts=('vlc' 'vlc-plugin' 'vlc-git') replaces=('vlc' 'vlc-plugin' 'vlc-git') options=('!emptydirs') source=(http://download.videolan.org/${_pkgbase}/${pkgver}/${_pkgbase}-${pkgver}.tar.xz - libplacebo-5.patch update-vlc-plugin-cache.hook) sha512sums=('02e58fb52dd75bf483ac4b298aecf86463b13d4782173d164adba6e4552d9262ff5e2ee1cbe1bce2c8a809801b79f328c6a8c475d34ae62aefaea02ae5ade406' - 'a06b04a8b059dbbef77d27435bd5bec3c26f937390bd112b0843385587e866e617c3dd0e66f99eed5fa4a91bc5f0fd9b5623f65b2f2435a54456dde2aa96209b' 'b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3') prepare() { @@ -124,105 +213,107 @@ build() { export CFLAGS+=" -I/usr/include/samba-4.0 -ffat-lto-objects" export CPPFLAGS+=" -I/usr/include/samba-4.0" export CXXFLAGS+=" -std=c++17" + export PKG_CONFIG_PATH="/usr/lib/ffmpeg4.4/pkgconfig" export LUAC=/usr/bin/luac export LUA_LIBS="$(pkg-config --libs lua)" export PKG_CONFIG_PATH="/usr/lib/ffmpeg4.4/pkgconfig/:$PKG_CONFIG_PATH" - ./configure --prefix=/usr \ - --sysconfdir=/etc \ - --disable-rpath \ - --enable-nls \ - --enable-archive \ - --enable-live555 \ - --enable-dc1394 \ - --enable-dv1394 \ - --enable-dvdread \ - --enable-dvdnav \ - --enable-bluray \ - --disable-opencv \ - --enable-smbclient \ - --enable-sftp \ - --enable-nfs \ - --enable-realrtsp \ - --enable-dvbpsi \ - --enable-gme \ - --enable-ogg \ - --enable-shout \ - --enable-matroska \ - --enable-mod \ - --enable-mpc \ - --enable-mad \ - --enable-mpg123 \ - --enable-gst-decode \ - --enable-avcodec \ - --enable-libva \ - --enable-avformat \ - --enable-postproc \ - --enable-faad \ - --enable-vpx \ - --enable-twolame \ - --disable-fdkaac \ - --enable-a52 \ - --enable-dca \ - --enable-flac \ - --enable-libmpeg2 \ - --enable-vorbis \ - --enable-speex \ - --enable-opus \ - --enable-oggspots \ - --disable-schroedinger \ - --enable-png \ - --enable-jpeg \ - --enable-x264 \ - --enable-x265 \ - --enable-zvbi \ - --enable-libass \ - --enable-kate \ - --enable-tiger \ - --enable-vdpau \ - --disable-wayland \ - --enable-sdl-image \ - --enable-freetype \ - --enable-fribidi \ - --enable-harfbuzz \ - --enable-fontconfig \ - --enable-svg \ - --enable-svgdec \ - --enable-aa \ - --enable-caca \ - --enable-pulse \ - --enable-alsa \ - --enable-jack \ - --enable-samplerate \ - --enable-soxr \ - --disable-chromaprint \ - --enable-chromecast \ - --disable-qt \ - --disable-skins2 \ - --enable-libtar \ - --enable-ncurses \ - --enable-lirc \ - --enable-goom \ - --enable-projectm \ - --enable-avahi \ - --enable-mtp \ - --enable-upnp \ - --enable-microdns \ - --enable-libxml2 \ - --disable-libgcrypt \ - --enable-gnutls \ - --enable-taglib \ - --enable-secret \ - --disable-kwallet \ - --disable-update-check \ - --disable-notify \ - --enable-libplacebo \ - --enable-vlc \ - --enable-aribsub \ - --enable-aribcam \ - --enable-aom \ - --enable-srt \ - --enable-dav1d + ./configure \ + --prefix=/usr \ + --sysconfdir=/etc \ + --disable-rpath \ + --enable-nls \ + --enable-archive \ + --enable-live555 \ + --enable-dc1394 \ + --enable-dv1394 \ + --enable-dvdread \ + --enable-dvdnav \ + --enable-bluray \ + --disable-opencv \ + --enable-smbclient \ + --enable-sftp \ + --enable-nfs \ + --enable-realrtsp \ + --enable-dvbpsi \ + --enable-gme \ + --enable-ogg \ + --enable-shout \ + --enable-matroska \ + --enable-mod \ + --enable-mpc \ + --enable-mad \ + --enable-mpg123 \ + --enable-gst-decode \ + --enable-avcodec \ + --enable-libva \ + --enable-avformat \ + --enable-postproc \ + --enable-faad \ + --enable-vpx \ + --enable-twolame \ + --disable-fdkaac \ + --enable-a52 \ + --enable-dca \ + --enable-flac \ + --enable-libmpeg2 \ + --enable-vorbis \ + --enable-speex \ + --enable-opus \ + --enable-oggspots \ + --disable-schroedinger \ + --enable-png \ + --enable-jpeg \ + --enable-x264 \ + --enable-x265 \ + --enable-zvbi \ + --enable-libass \ + --enable-kate \ + --enable-tiger \ + --enable-vdpau \ + --disable-wayland \ + --enable-sdl-image \ + --enable-freetype \ + --enable-fribidi \ + --enable-harfbuzz \ + --enable-fontconfig \ + --enable-svg \ + --enable-svgdec \ + --enable-aa \ + --enable-caca \ + --enable-pulse \ + --enable-alsa \ + --enable-jack \ + --enable-samplerate \ + --enable-soxr \ + --disable-chromaprint \ + --enable-chromecast \ + --disable-qt \ + --disable-skins2 \ + --enable-libtar \ + --enable-ncurses \ + --enable-lirc \ + --enable-goom \ + --enable-projectm \ + --enable-avahi \ + --enable-mtp \ + --enable-upnp \ + --enable-microdns \ + --enable-libxml2 \ + --disable-libgcrypt \ + --enable-gnutls \ + --enable-taglib \ + --enable-secret \ + --disable-kwallet \ + --disable-update-check \ + --disable-notify \ + --disable-libplacebo \ + --enable-vlc \ + --enable-aribsub \ + --enable-aribcam \ + --enable-aom \ + --enable-srt \ + --enable-dav1d # prevent excessive overlinking due to libtool sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool @@ -234,7 +325,7 @@ package() { make DESTDIR="${pkgdir}" install - for res in 16 32 48 128; do + for res in 16 32 48 128 256; do install -Dm 644 "${srcdir}/vlc-${pkgver}/share/icons/${res}x${res}/vlc.png" \ "${pkgdir}/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png" done diff --git a/libplacebo-5.patch b/libplacebo-5.patch deleted file mode 100644 index 006e900bedfa..000000000000 --- a/libplacebo-5.patch +++ /dev/null @@ -1,108 +0,0 @@ -patch vaguely ported from: https://code.videolan.org/videolan/vlc/-/merge_requests/2233 - -diff --git a/modules/video_output/opengl/converter.h b/modules/video_output/opengl/converter.h -index 7000e1f..49fa667 100644 ---- a/modules/video_output/opengl/converter.h -+++ b/modules/video_output/opengl/converter.h -@@ -26,6 +26,9 @@ - #include <vlc_picture_pool.h> - #include <vlc_opengl.h> - -+#include <libplacebo/log.h> -+#include <libplacebo/shaders.h> -+ - /* if USE_OPENGL_ES2 is defined, OpenGL ES version 2 will be used, otherwise - * normal OpenGL will be used */ - #ifdef __APPLE__ -@@ -253,10 +256,6 @@ static inline bool HasExtension(const char *apis, const char *api) - return false; - } - --struct pl_context; --struct pl_shader; --struct pl_shader_res; -- - /* - * Structure that is filled by "glhw converter" module probe function - * The implementation should initialize every members of the struct that are -@@ -273,7 +272,7 @@ struct opengl_tex_converter_t - vlc_gl_t *gl; - - /* libplacebo context, created by the caller (optional) */ -- struct pl_context *pl_ctx; -+ pl_log pl_log; - - /* Function pointers to OpenGL functions, set by the caller */ - const opengl_vtable_t *vt; -@@ -337,7 +336,7 @@ struct opengl_tex_converter_t - bool yuv_color; - GLfloat yuv_coefficients[16]; - -- struct pl_shader *pl_sh; -+ pl_shader pl_sh; - const struct pl_shader_res *pl_sh_res; - - /* Private context */ -diff --git a/modules/video_output/opengl/fragment_shaders.c b/modules/video_output/opengl/fragment_shaders.c -index ecf7226..29f4148 100644 ---- a/modules/video_output/opengl/fragment_shaders.c -+++ b/modules/video_output/opengl/fragment_shaders.c -@@ -611,7 +611,7 @@ opengl_fragment_shader_init_impl(opengl_tex_converter_t *tc, GLenum tex_target, - - #ifdef HAVE_LIBPLACEBO - if (tc->pl_sh) { -- struct pl_shader *sh = tc->pl_sh; -+ pl_shader sh = tc->pl_sh; - struct pl_color_map_params color_params = pl_color_map_default_params; - color_params.intent = var_InheritInteger(tc->gl, "rendering-intent"); - color_params.tone_mapping_algo = var_InheritInteger(tc->gl, "tone-mapping"); -@@ -634,7 +634,7 @@ opengl_fragment_shader_init_impl(opengl_tex_converter_t *tc, GLenum tex_target, - pl_color_space_from_video_format(&tc->fmt), - dst_space, NULL, false); - -- struct pl_shader_obj *dither_state = NULL; -+ pl_shader_obj dither_state = NULL; - int method = var_InheritInteger(tc->gl, "dither-algo"); - if (method >= 0) { - -diff --git a/modules/video_output/opengl/vout_helper.c b/modules/video_output/opengl/vout_helper.c -index 13d65e0..1ee99af 100644 ---- a/modules/video_output/opengl/vout_helper.c -+++ b/modules/video_output/opengl/vout_helper.c -@@ -570,8 +570,7 @@ opengl_deinit_program(vout_display_opengl_t *vgl, struct prgm *prgm) - - #ifdef HAVE_LIBPLACEBO - FREENULL(tc->uloc.pl_vars); -- if (tc->pl_ctx) -- pl_context_destroy(&tc->pl_ctx); -+ pl_log_destroy(&tc->pl_log); - #endif - - vlc_object_release(tc); -@@ -622,21 +621,21 @@ opengl_init_program(vout_display_opengl_t *vgl, struct prgm *prgm, - // create the main libplacebo context - if (!subpics) - { -- tc->pl_ctx = pl_context_create(PL_API_VER, &(struct pl_context_params) { -+ tc->pl_log = pl_log_create(PL_API_VER, &(struct pl_log_params) { - .log_cb = log_cb, - .log_priv = tc, - .log_level = PL_LOG_INFO, - }); -- if (tc->pl_ctx) { -+ if (tc->pl_log) { - # if PL_API_VER >= 20 -- tc->pl_sh = pl_shader_alloc(tc->pl_ctx, &(struct pl_shader_params) { -+ tc->pl_sh = pl_shader_alloc(tc->pl_log, &(struct pl_shader_params) { - .glsl.version = tc->glsl_version, - .glsl.gles = tc->is_gles, - }); - # elif PL_API_VER >= 6 -- tc->pl_sh = pl_shader_alloc(tc->pl_ctx, NULL, 0); -+ tc->pl_sh = pl_shader_alloc(tc->pl_log, NULL, 0); - # else -- tc->pl_sh = pl_shader_alloc(tc->pl_ctx, NULL, 0, 0); -+ tc->pl_sh = pl_shader_alloc(tc->pl_log, NULL, 0, 0); - # endif - } - } |