Arch-Like - nietypowy blog, nietypowe forum.

Projekty/Wsparcie => POLAUR => Wątek zaczęty przez: pavbaranov w Maj 31, 2015, 22:45:08

Tytuł: VLC-Qt5
Wiadomość wysłana przez: pavbaranov w Maj 31, 2015, 22:45:08
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 (https://bbs.archlinux.org/viewtopic.php?pid=1533199#p1533199)
Tytuł: Odp: VLC-Qt5
Wiadomość wysłana przez: pavbaranov w Czerwiec 09, 2015, 13:45:14
Ze względu na pojawienie się w repozytoriach jednej z bibliotek, w oparciu o którą VLC jest budowane w nowszej wersji, warto jest przebudować vlc-qt5 (obecna wersja nosi "archowy" numer 2.2.1-6).