Okazuje się, że VLC również daje się skompilować w oparciu o Qt5 (wersja w repozytorium jest na Qt4). Rozpoczynamy od ściągnięcia skryptów budujących paczkę:
yaourt -G vlc
(sorry, to jest najprostszy sposób, jeśli ktoś ma wstręt do yaourta niech sobie radzi) i podmieniamy zawartość
PKGBUILDu na przedstawioną poniżej:
# $Id: PKGBUILD 239466 2015-05-16 16:21:31Z anatolik $
# Maintainer: Giovanni Scafora <giovanni@archlinux.org>
# Contributor: Sarah Hay <sarahhay@mb.sympatico.ca>
# Contributor: Martin Sandsmark <martin.sandsmark@kde.org>
# Maintainer for Qt5 version: pavbaranov (thx cyrix)
pkgname=vlc-qt5
_pkgname=vlc
pkgver=2.2.1
pkgrel=4
pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player"
arch=('i686' 'x86_64')
url="http://www.videolan.org/vlc/"
license=('LGPL2.1' 'GPL2')
depends=('a52dec' 'libdvbpsi' 'libxpm' 'libdca' 'qt5-base' 'libproxy'
'sdl_image' 'libdvdnav' 'libtiger' 'lua' 'libmatroska'
'zvbi' 'taglib' 'libmpcdec' 'ffmpeg' 'faad2' 'libupnp'
'libshout' 'libmad' 'libmpeg2' 'xcb-util-keysyms' 'libtar'
'libxinerama')
makedepends=('live-media' 'libnotify' 'libbluray' 'flac' 'kdelibs4support'
'libdc1394' 'libavc1394' 'lirc' 'libcaca' 'librsvg' 'portaudio' 'libgme' 'xosd' 'projectm'
'twolame' 'aalib' 'libmtp' 'libdvdcss' 'libgoom2' 'vcdimager' 'opus' 'libssh2' 'mesa')
optdepends=('avahi: for service discovery using bonjour protocol'
'libnotify: for notification plugin'
'ncurses: for ncurses interface support'
'libdvdcss: for decoding encrypted DVDs'
'lirc: for lirc plugin'
'libavc1394: for devices using the 1394ta AV/C'
'libdc1394: for IEEE 1394 plugin'
'libva-vdpau-driver: vdpau back-end for nvidia'
'libva-intel-driver: back-end for intel cards'
'libbluray: for Blu-Ray support'
'flac: for Free Lossless Audio Codec plugin'
'portaudio: for portaudio support'
'twolame: for TwoLAME mpeg2 encoder plugin'
'projectm: for ProjectM visualisation plugin'
'libcaca: for colored ASCII art video output'
'libgme: for libgme plugin'
'librsvg: for SVG plugin'
'gnome-vfs: for GNOME Virtual File System support'
'libgoom2: for libgoom plugin'
'vcdimager: navigate VCD with libvcdinfo'
'aalib: for ASCII art plugin'
'libmtp: for MTP devices support'
'smbclient: for SMB access plugin'
'libcdio: for audio CD playback support'
'ttf-freefont: for subtitle font '
'ttf-dejavu: for subtitle font'
'opus: for opus support'
'libssh2: for sftp support'
'lua-socket: for http interface')
conflicts=('vlc-plugin' 'vlc')
replaces=('vlc-plugin' 'vlc')
provides=('vlc')
backup=('usr/share/vlc/lua/http/.hosts'
'usr/share/vlc/lua/http/dialogs/.hosts')
options=('!emptydirs')
install=vlc.install
source=("http://download.videolan.org/${_pkgname}/${pkgver}/${_pkgname}-${pkgver}.tar.xz"
"vlc-gcc5-sse-target-workaround.patch"
"lua53_compat.patch")
md5sums=('42273945758b521c408fabc7fd6d9946'
'cf5b92e290da2f1b0b4d0cd0eda6b32b'
'96d3b346d9149ffb1b430066dfb6249a')
prepare() {
cd "${srcdir}/${_pkgname}-${pkgver}"
sed -i -e 's:truetype/freefont:TTF:g' modules/text_renderer/freetype.c
sed -i -e 's:truetype/ttf-dejavu:TTF:g' modules/visualization/projectm.cpp
# Fix build with GCC 5 on i686
# GCC PR URL: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66047
# Workaround: https://bugzilla.redhat.com/show_bug.cgi?id=1215630#c11
patch -p1 < "${srcdir}/vlc-gcc5-sse-target-workaround.patch"
patch -p1 < "${srcdir}/lua53_compat.patch"
}
build() {
cd "${srcdir}/${_pkgname}-${pkgver}"
CFLAGS+=" -I/usr/include/samba-4.0" CPPFLAGS+=" -I/usr/include/samba-4.0" \
./configure --prefix=/usr \
--sysconfdir=/etc \
--disable-rpath \
--enable-faad \
--enable-nls \
--enable-lirc \
--enable-ncurses \
--enable-realrtsp \
--enable-aa \
--enable-vcdx \
--enable-upnp \
--enable-opus \
--enable-sftp \
LUAC=/usr/bin/luac LUA_LIBS="`pkg-config --libs lua`" \
RCC=/usr/bin/rcc-qt5
make
}
package() {
cd "${srcdir}/${_pkgname}-${pkgver}"
make DESTDIR="${pkgdir}" install
for res in 16 32 48 128; do
install -D -m644 "${srcdir}/vlc-${pkgver}/share/icons/${res}x${res}/vlc.png" \
"${pkgdir}/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png"
done
}
a teraz budujemy paczkę (makepkg).
Skoro ta wersja ma pracować pod Plasmą 5 (ewentualnie LXQT i innych opartych o Qt5), to usunąłem również zależności do Gtk.
Dzięki:
https://bbs.archlinux.org/viewtopic.php?pid=1533199#p1533199