Import vlc-nightly from AUR and fix mistakes
* Add qt5-svg to dependencies; otherwise I will not be able to build Qt GUI at all * Prevent using SVGs which doesn't exist * Fix indentation (standard for Arch packages is 2 spaces) * Make use of prepare() function
This commit is contained in:
parent
ee5d131ccf
commit
c139aa951b
|
@ -0,0 +1,33 @@
|
|||
--- a/modules/gui/qt/vlc.qrc 2017-10-18 21:40:51.489682799 +0200
|
||||
+++ b/modules/gui/qt/vlc.qrc 2017-10-18 21:39:05.602097150 +0200
|
||||
@@ -106,19 +106,19 @@
|
||||
<file alias="sample_skins.png">pixmaps/sample_skins.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="/prefsmenu/advanced">
|
||||
- <file alias="audio.svg">pixmaps/prefs/advprefs_audio.svg</file>
|
||||
- <file alias="codec.svg">pixmaps/prefs/advprefs_codec.svg</file>
|
||||
- <file alias="extended.svg">pixmaps/prefs/advprefs_extended.svg</file>
|
||||
- <file alias="intf.svg">pixmaps/prefs/advprefs_intf.svg</file>
|
||||
- <file alias="playlist.svg">pixmaps/prefs/advprefs_playlist.svg</file>
|
||||
- <file alias="sout.svg">pixmaps/prefs/advprefs_sout.svg</file>
|
||||
- <file alias="video.svg">pixmaps/prefs/advprefs_video.svg</file>
|
||||
+ <file alias="audio.svg">pixmaps/prefs/advprefs_audio.png</file>
|
||||
+ <file alias="codec.svg">pixmaps/prefs/advprefs_codec.png</file>
|
||||
+ <file alias="extended.svg">pixmaps/prefs/advprefs_extended.png</file>
|
||||
+ <file alias="intf.svg">pixmaps/prefs/advprefs_intf.png</file>
|
||||
+ <file alias="playlist.svg">pixmaps/prefs/advprefs_playlist.png</file>
|
||||
+ <file alias="sout.svg">pixmaps/prefs/advprefs_sout.png</file>
|
||||
+ <file alias="video.svg">pixmaps/prefs/advprefs_video.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="/win7">
|
||||
- <file alias="pause.svg">pixmaps/win7/win7thumbnail_pause.svg</file>
|
||||
- <file alias="prev.svg">pixmaps/win7/win7thumbnail_prev.svg</file>
|
||||
- <file alias="play.svg">pixmaps/win7/win7thumbnail_play.svg</file>
|
||||
- <file alias="next.svg">pixmaps/win7/win7thumbnail_next.svg</file>
|
||||
+ <file alias="pause.svg">pixmaps/win7/win7thumbnail_pause.png</file>
|
||||
+ <file alias="prev.svg">pixmaps/win7/win7thumbnail_prev.png</file>
|
||||
+ <file alias="play.svg">pixmaps/win7/win7thumbnail_play.png</file>
|
||||
+ <file alias="next.svg">pixmaps/win7/win7thumbnail_next.png</file>
|
||||
</qresource>
|
||||
<qresource prefix="/sidebar">
|
||||
<file alias="disc.svg">pixmaps/playlist/sidebar-icons/disc.svg</file>
|
|
@ -0,0 +1,140 @@
|
|||
# $Id$
|
||||
# Maintainer: 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=3.0.0v20171018
|
||||
_pkgver=3.0.0
|
||||
_snapshot_=20171018
|
||||
_snapver_=0238
|
||||
_nightly_=${_snapshot_}-${_snapver_}
|
||||
pkgrel=1
|
||||
pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player - nightly snapshot"
|
||||
arch=("i686" "x86_64")
|
||||
url="http://www.videolan.org/vlc/"
|
||||
license=("LGPL2.1" "GPL2")
|
||||
_undetected_depends=()
|
||||
depends=('libmatroska' 'a52dec' 'sidplay2-libs' 'libfdk-aac' 'faad2' 'ffmpeg' 'libdca' 'daala-git' 'libdvbpsi'
|
||||
'libdvdnav' 'libmad' 'libmpcdec' 'libmpeg2'
|
||||
'libproxy' 'libshout' 'libtar' 'libtiger' 'libupnp'
|
||||
'libxinerama' 'libxpm' 'lua' 'sdl_image' 'mesa' 'sndio' 'wayland' 'wayland-protocols'
|
||||
'taglib' 'xcb-util-keysyms' 'zvbi' 'libsecret' 'libarchive' 'qt5-base' 'qt5-svg' 'libglvnd'
|
||||
'hicolor-icon-theme' 'qt5-x11extras' "${_detected_depends[@]}")
|
||||
makedepends=('aalib' 'flac' 'git'
|
||||
'libavc1394' 'libbluray' 'libcaca' 'libdc1394' 'libdvdcss'
|
||||
'libgme' 'libgoom2' 'libmtp' 'libnotify' 'librsvg'
|
||||
'libssh2' 'lirc' 'live-media' 'opus'
|
||||
'portaudio' 'projectm' 'twolame' 'vcdimager' 'smbclient')
|
||||
optdepends=('aalib: for ASCII art plugin'
|
||||
'avahi: for service discovery using bonjour protocol'
|
||||
'flac: for Free Lossless Audio Codec plugin'
|
||||
'kdelibs: KDE Solid hardware integration'
|
||||
'libavc1394: for devices using the 1394ta AV/C'
|
||||
'libbluray: for Blu-Ray support'
|
||||
'libcaca: for colored ASCII art video output'
|
||||
'libcdio: for audio CD playback support'
|
||||
'libdc1394: for IEEE 1394 plugin'
|
||||
'libdvdcss: for decoding encrypted DVDs'
|
||||
'libgme: for libgme plugin'
|
||||
'libgoom2: for libgoom plugin'
|
||||
'libmtp: for MTP devices support'
|
||||
'libnotify: for notification plugin'
|
||||
'librsvg: for SVG plugin'
|
||||
'libssh2: for sftp support'
|
||||
'libva-intel-driver: back-end for intel cards'
|
||||
'libva-vdpau-driver: vdpau back-end for nvidia'
|
||||
'lirc: for lirc plugin'
|
||||
'lua-socket: for http interface'
|
||||
'ncurses: for ncurses interface support'
|
||||
'opus: for opus support'
|
||||
'portaudio: for portaudio support'
|
||||
'projectm: for ProjectM visualisation plugin'
|
||||
'smbclient: for SMB access plugin'
|
||||
'ttf-dejavu: for subtitle font'
|
||||
'ttf-freefont: for subtitle font'
|
||||
'twolame: for TwoLAME mpeg2 encoder plugin'
|
||||
'vcdimager: navigate VCD with libvcdinfo')
|
||||
conflicts=("${_appname_}-plugin" "${_appname_}")
|
||||
provides=("${_appname_}")
|
||||
replaces=("${_appname_}-plugin")
|
||||
options=("!emptydirs")
|
||||
source=("http://nightlies.videolan.org/build/source/vlc-${_pkgver}-${_nightly_}-git.tar.xz"
|
||||
'update-vlc-plugin-cache.hook'
|
||||
'https://git.archlinux.org/svntogit/packages.git/plain/trunk/lua53_compat.patch?h=packages/vlc'
|
||||
'0001-Prevent-including-missing-SVGs.patch'
|
||||
'find-deps.py')
|
||||
|
||||
pkgver() {
|
||||
printf 3.0.0v$_snapshot_
|
||||
}
|
||||
|
||||
prepare() {
|
||||
cd "${_appname_}-3.0.0-git"
|
||||
|
||||
./bootstrap
|
||||
|
||||
patch -Np1 -i "${srcdir}/vlc"
|
||||
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
|
||||
patch -p1 -i "$srcdir/0001-Prevent-including-missing-SVGs.patch"
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "${_appname_}-3.0.0-git"
|
||||
|
||||
export CFLAGS+=" -I/usr/include/samba-4.0"
|
||||
export CPPFLAGS+=" -I/usr/include/samba-4.0"
|
||||
export CXXFLAGS+=" -std=gnu++11"
|
||||
export LUAC=/usr/bin/luac
|
||||
export LUA_LIBS="`pkg-config --libs lua`"
|
||||
export RCC=/usr/bin/rcc-qt5
|
||||
export PKG_CONFIG_PATH="/usr/lib/ffmpeg2.8/pkgconfig"
|
||||
|
||||
./configure \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--disable-rpath \
|
||||
--enable-faad \
|
||||
--enable-nls \
|
||||
--enable-lirc \
|
||||
--enable-ncurses \
|
||||
--enable-realrtsp \
|
||||
--enable-aa \
|
||||
--enable-upnp \
|
||||
--enable-opus \
|
||||
--enable-sftp \
|
||||
--enable-fdkaac \
|
||||
--enable-archive \
|
||||
--enable-bluray \
|
||||
--enable-daala
|
||||
|
||||
./compile
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "${_appname_}-3.0.0-git"
|
||||
|
||||
make -i DESTDIR="${pkgdir}" install
|
||||
|
||||
for res in 16 32 48 128; do
|
||||
install -D -m644 "${srcdir}/${_appname_}-3.0.0-git/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=('82abfbd64cd6606afaf1c938f5b7cb8e29484d258719ee674d1a769bfce94431'
|
||||
'c6f60c50375ae688755557dbfc5bd4a90a8998f8cf4d356c10d872a1a0b44f3a'
|
||||
'd1cb88a1037120ea83ef75b2a13039a16825516b776d71597d0e2eae5df2d8fa'
|
||||
'599ce4bf0db5fc74f54bc03136b662606c22b8435b81440b02fc73f52d09bd7f'
|
||||
'90b0e34d5772d2307ba07a1c2aa715db7488389003cfe6d3570b2a9c63061db7')
|
|
@ -0,0 +1,48 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
"""
|
||||
Usage: find-deps.py <binary> [<binary> ...]
|
||||
|
||||
Finds (pacman/ALPM) dependencies for a binary or set of binaries based
|
||||
on dynamically linked libraries.
|
||||
|
||||
"""
|
||||
|
||||
import sys
|
||||
import os
|
||||
import subprocess
|
||||
import re
|
||||
|
||||
def subprocess_get_lines(args, fail_okay=False):
|
||||
try:
|
||||
output = subprocess.check_output(args)
|
||||
except subprocess.CalledProcessError as e:
|
||||
if fail_okay:
|
||||
output = e.output
|
||||
else:
|
||||
raise
|
||||
return output.decode().splitlines()
|
||||
|
||||
# Get the filenames of the libs we need
|
||||
#del os.environ['LD_PRELOAD'] # otherwise fakeroot will interfere
|
||||
ldd_output = subprocess_get_lines(['ldd'] + sys.argv[1:])
|
||||
regex = re.compile(r' => (.*) \(0x[0-9a-f]+\)$')
|
||||
libs = set(match.group(1) for match in map(regex.search, ldd_output) if match)
|
||||
|
||||
# Figure out which packages own them
|
||||
deps = set(subprocess_get_lines(
|
||||
['pacman', '--query', '--owns', '--quiet'] + list(libs),
|
||||
fail_okay=True
|
||||
))
|
||||
|
||||
# Remove redundant dependencies
|
||||
needed = set(deps)
|
||||
for pkg in deps:
|
||||
if pkg not in needed:
|
||||
continue # this subtree has already been pruned
|
||||
redundant = subprocess_get_lines(
|
||||
['pactree', '--unique', pkg]
|
||||
)[1:] # first line is pkg itself
|
||||
needed.difference_update(redundant)
|
||||
|
||||
print(' '.join(sorted(needed)))
|
|
@ -0,0 +1,11 @@
|
|||
[Trigger]
|
||||
Type = File
|
||||
Operation = Install
|
||||
Operation = Upgrade
|
||||
Operation = Remove
|
||||
Target = usr/lib/vlc/plugins/*
|
||||
|
||||
[Action]
|
||||
Description = Updating the vlc plugin cache...
|
||||
When = PostTransaction
|
||||
Exec = /usr/lib/vlc/vlc-cache-gen /usr/lib/vlc/plugins
|
Loading…
Reference in New Issue