PKGBUILDs/vlc/nightly/PKGBUILD
Martchus 4444ac66ae Update vlc-nightly
Tested with negative result. Taking also the WIP changes to the UI into account
it is likely best to stop maintainance of that package and use the latest release.
2019-05-28 12:46:38 +02:00

286 lines
11 KiB
Bash

# $Id$
# Maintainer: Solomon Choina <shlomochoina@gmail.com>
# Contributor: Sebastian Weiland <sebastianweiland97@gmail.com>
# Contributor: Martchus <martchus@gmx.net>
# Original package: Xavion <Xavion (dot) 0 (at) Gmail (dot) com>
_appname_=vlc
pkgname=${_appname_}-nightly
pkgver=4.0.0v20190526
_pkgver=4.0.0
_snapshot_=20190526
_snapver_=0230
_suffix_=dev
_nightly_=${_snapshot_}-${_snapver_}
pkgrel=1
pkgdesc='Multi-platform MPEG, VCD/DVD, and DivX player - nightly snapshot'
url='https://nightlies.videolan.org/'
arch=('x86_64')
license=('LGPL2.1' 'GPL2')
depends=('a52dec' 'libdvbpsi' 'libxpm' 'libdca' 'libproxy' 'lua' 'libidn'
'libmatroska' 'taglib' 'libmpcdec' 'ffmpeg' 'faad2' 'libupnp' 'libmad'
'libmpeg2' 'xcb-util-keysyms' 'libtar' 'libxinerama' 'libsecret'
'libarchive' 'qt5-base' 'qt5-x11extras' 'qt5-svg' 'freetype2'
'fribidi' 'harfbuzz' 'fontconfig' 'libxml2' 'gnutls'
'wayland-protocols' 'aribb24'
'qt5-quickcontrols2' 'libgcrypt' 'libplacebo-git')
# note: removing libplacebo (using libplacebo-git instead)
makedepends=('gst-plugins-base-libs' 'live-media' 'libnotify' 'libbluray'
'flac' 'libdc1394' 'libavc1394' 'libcaca' 'gtk3'
'librsvg' 'libgme' 'xosd' 'twolame' 'aalib' 'avahi' 'libsystemd'
'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' 'chromaprint'
'fluidsynth' 'portaudio' 'sidplay2-libs' 'sndio' 'vulkan-headers')
optdepends=('avahi: service discovery using bonjour protocol'
'gst-plugins-base-libs: for libgst plugins'
'libdvdcss: decoding encrypted DVDs'
'libavc1394: devices using the 1394ta AV/C'
'libdc1394: IEEE 1394 access plugin'
'kwallet: kwallet keystore'
'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'
'libsystemd: 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'
'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'
'gtk3: notification plugin'
'fluidsynth: FluidSynth plugin for MIDI playback'
'portaudio: portaudio support'
'vcdimager: navigate VCD with libvcdinfo'
'schroedinger: schroedinger codec support'
'sidplay2-libs: for C64 sid demuxer'
'sndio: for OpenBSD sndio audio output')
# note: removing 'daala-git: for Daala video support' because it is currently broken
# removing 'libfdk-aac: FDK AAC codec' because it is currently broken
conflicts=("${_appname_}-plugin" "${_appname_}")
provides=("${_appname_}")
replaces=("${_appname_}-plugin")
options=('!emptydirs')
source=("http://nightlies.videolan.org/build/source/vlc-${_pkgver}-${_nightly_}-${_suffix_}.tar.xz"
'update-vlc-plugin-cache.hook'
'0001-lua-Fix-build-using-lua-5.3.patch'
'1-3-placebo-update-for-new-tone-mapping-desaturation-algo.patch'
'2-3-placebo-update-for-new-peak-detection-algo.patch'
'3-3-opengl-update-libplacebo-call-for-changed-API.patch'
'find-deps.py')
pkgver() {
printf ${_pkgver}v$_snapshot_
}
prepare() {
cd "${_appname_}-${_pkgver}-${_suffix_}"
./bootstrap
patch -Np1 -i "${srcdir}/0001-lua-Fix-build-using-lua-5.3.patch"
patch -Np1 -i "${srcdir}/3-3-opengl-update-libplacebo-call-for-changed-API.patch"
patch -Np1 -i "${srcdir}/1-3-placebo-update-for-new-tone-mapping-desaturation-algo.patch"
patch -Np1 -i "${srcdir}/2-3-placebo-update-for-new-peak-detection-algo.patch"
sed -i -e 's:truetype/ttf-dejavu:TTF:g' modules/visualization/projectm.cpp
sed -i -e 's:truetype/freefont:TTF:g' modules/text_renderer/freetype/freetype.c
sed 's|whoami|echo builduser|g' -i configure
sed 's|hostname -f|echo arch|g' -i configure
# fix for libplacebo 12 API
#sed 's|pl_shader_alloc(tc->pl_ctx, NULL, 0, 0);|pl_shader_alloc(tc->pl_ctx, NULL);|' -i modules/video_output/opengl/vout_helper.c
}
build() {
cd "${_appname_}-${_pkgver}-${_suffix_}"
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`"
export RCC=/usr/bin/rcc-qt5
./configure --prefix=/usr \
--sysconfdir=/etc \
--disable-rpath \
--with-kde-solid=/usr/share/solid/actions/ \
--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 \
--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 \
--enable-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 \
--enable-qt \
--enable-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 \
--enable-kwallet \
--disable-update-check \
--enable-notify \
--enable-libplacebo \
--enable-vlc \
--enable-aribsub \
\
--libexecdir=/usr/lib \
--disable-daala \
--disable-decklink \
--disable-skins2 \
--enable-libgcrypt
# note: removing --enable-daala for now because it is currently broken
# removing --enable-fdkaac because it prevents distributing the binary and I don't need it
# adding --disable-decklink because it is broken
# adding --disable-skins2 because skins are currently broken thanks to changes in upstream concerning how playlist and player works
# adding --enable-libgcrypt because it is now not only used for the automatic update anymore
make V=1
}
package() {
cd "${_appname_}-${_pkgver}-${_suffix_}"
make -i DESTDIR="${pkgdir}" install
for res in 16 32 48 128; do
install -D -m644 "${srcdir}/${_appname_}-${_pkgver}-${_suffix_}/share/icons/${res}x${res}/${_appname_}.png" \
"${pkgdir}/usr/share/icons/hicolor/${res}x${res}/apps/${_appname_}.png"
done
install -Dm644 "$srcdir"/update-vlc-plugin-cache.hook "$pkgdir"/usr/share/libalpm/hooks/update-vlc-plugin-cache.hook
# Update dependencies automatically based on dynamic libraries
# _detected_depends=($(find "$pkgdir"/usr -name "*.so" | xargs python "$srcdir"/find-deps.py))
# msg 'Auto-detected dependencies:'
# echo "${_detected_depends[@]}" | fold -s -w 79 | sed 's/^/ /'
# depends=("${_detected_depends[@]}" "${_undetected_depends[@]}")
}
sha256sums=('72ae766afe30fe7ea5f1f036cf20cf6045688c25a986cf3dd3c11a06374cfc6f'
'c6f60c50375ae688755557dbfc5bd4a90a8998f8cf4d356c10d872a1a0b44f3a'
'3e6bddbaed443e40036c494a0754aedd2f94fe41bfa3754855e16f7452a03cdf'
'52d2818dde06fe5fd873b4a89f31884650c480528f7b61c0cbc05576fdbb3e53'
'af46e70a85a82f2428b1c6ab09d27ee8c18a4b8adc1a4d71bde66e89be877f04'
'cd7d11aa6aff73745170451ef769ccd62cdb8f3eaf803de7c7ab6bd388ab1d7b'
'90b0e34d5772d2307ba07a1c2aa715db7488389003cfe6d3570b2a9c63061db7')