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