summarylogtreecommitdiffstats
path: root/PKGBUILD
diff options
context:
space:
mode:
Diffstat (limited to 'PKGBUILD')
-rw-r--r--PKGBUILD482
1 files changed, 294 insertions, 188 deletions
diff --git a/PKGBUILD b/PKGBUILD
index ae9add6dfe69..0cc048ad36b2 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,217 +7,323 @@
_pkgbase=vlc
pkgname=vlc-nox
-pkgver=3.0.13
-pkgrel=1
+pkgver=3.0.20
+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'
- 'libmatroska' 'taglib' 'libmpcdec' 'ffmpeg' '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' 'libupnp' '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' 'chromaprint' 'aom' 'srt' 'dav1d'
- 'aribb24' 'aribb25' 'pcsclite')
-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'
- 'aribb24: aribsub support'
- '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'
+ 'fluidsynth'
+ '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'
+ 'fluidsynth: FluidSynth based MIDI playback 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
- update-vlc-plugin-cache.hook
- vlc-3.0.11.1-srt_1.4.2.patch
- vlc-live-media-2021.patch)
-sha512sums=('0badca9d71b682b1dd6f05acab48d77baffe22e6a00be6db2a790644bab74738f9807e889fd0348af72628694b5210896638ac2cd99d0efc0e1c2cef7ab28bff'
+source=(
+ http://download.videolan.org/${_pkgbase}/${pkgver}/${_pkgbase}-${pkgver}.tar.xz
+ update-vlc-plugin-cache.hook
+ taglib-2.patch
+)
+sha512sums=('02e58fb52dd75bf483ac4b298aecf86463b13d4782173d164adba6e4552d9262ff5e2ee1cbe1bce2c8a809801b79f328c6a8c475d34ae62aefaea02ae5ade406'
'b247510ffeadfd439a5dadd170c91900b6cdb05b5ca00d38b1a17c720ffe5a9f75a32e0cb1af5ebefdf1c23c5acc53513ed983a736e8fa30dd8fad237ef49dd3'
- 'ac1d33d434aca2a0ad6e70800073deeaefc02b8fd72656b682ca833ee0cffe10dfa19a9355388700cab46ffbf9421c007d00ed04c7fa562698ff81e70db5f283'
- 'ad17d6f4f2cc83841c1c89623c339ec3ee94f6084ea980e2c8cbc3903854c85e5396e31bfd8dc90745b41794670903d854c4d282d8adec263087a9d47b226ccc')
+ 'ea0d1e1dfed16dac8f9027eb55d987dee59630568b9744ceb42bfa134ea9295252d83574f3d793a76a5be3b02661c1731ed366003b6b55b2d7f02fde70586ff3')
prepare() {
cd "${srcdir}/${_pkgbase}-${pkgver}"
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}/vlc-live-media-2021.patch"
sed 's|whoami|echo builduser|g' -i configure
sed 's|hostname -f|echo arch|g' -i configure
+ local src
+ for src in "${source[@]}"; do
+ src="${src%%::*}"
+ src="${src##*/}"
+ [[ $src = *.patch ]] || continue
+ echo "Applying patch $src..."
+ patch -Np1 < "../$src"
+ done
autoreconf -vf
}
build() {
cd "${srcdir}/${_pkgbase}-${pkgver}"
- export CFLAGS+=" -I/usr/include/samba-4.0"
+ export CFLAGS+=" -I/usr/include/samba-4.0 -ffat-lto-objects"
export CPPFLAGS+=" -I/usr/include/samba-4.0"
- export CXXFLAGS+=" -std=c++11"
+ 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-fluidsynth \
+ --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
- ./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 \
- --enable-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
+ # prevent excessive overlinking due to libtool
+ sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
make
}
@@ -226,7 +332,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