void-packages/srcpkgs/vlc/template
2017-01-15 13:04:00 +01:00

115 lines
4.2 KiB
Bash

# Template file for 'vlc'
pkgname=vlc
version=2.2.4
revision=8
build_style=gnu-configure
configure_args="--disable-gme --disable-libtar --enable-jack
--disable-live555 --disable-fluidsynth --enable-dvdread
--enable-flac --enable-merge-ffmpeg --disable-gnomevfs
$(vopt_enable notify) $(vopt_enable qt) $(vopt_enable x265)
$(vopt_enable svg) $(vopt_enable v4l2) $(vopt_enable smb smbclient)
$(vopt_enable lua) $(vopt_enable vaapi libva) $(vopt_enable vdpau)"
short_desc="A cross-platform multimedia player"
maintainer="Juan RP <xtraeme@voidlinux.eu>"
homepage="http://www.videolan.org/vlc/"
license="GPL-2, LGPL-2.1"
distfiles="http://download.videolan.org/pub/videolan/vlc/${version}/vlc-${version}.tar.xz"
checksum=1632e91d2a0087e0ef4c3fb4c95c3c2890f7715a9d1d43ffd46329f428cf53be
lib32disabled=yes
# XXX Add missing deps: gme, telepathy, lua, live555, libtar (for skins2).
hostmakedepends="automake libtool pkg-config libgcrypt-devel $(vopt_if lua lua52)"
makedepends="videoproto eudev-libudev-devel libpng-devel libupnp-devel
ncurses-devel libvorbis-devel x264-devel ffmpeg-devel
xcb-util-devel xcb-util-keysyms-devel libsamplerate-devel
libXxf86vm-devel libXinerama-devel libXpm-devel libXvMC-devel libXv-devel
libmpeg2-devel libflac-devel fribidi-devel freetype-devel libproxy-devel
avahi-libs-devel libmad-devel liba52-devel libdca-devel libass-devel
libdvbpsi-devel libgcrypt-devel dbus-glib-devel libmodplug-devel
gnutls-devel taglib-devel libmatroska-devel libmpcdec-devel
libcdio-devel libdvdnav-devel libsysfs-devel libmtp-devel
sqlite-devel libtheora-devel speex-devel pulseaudio-devel libxml2-devel
opus-devel libbluray-devel faad2-devel jack-devel libSM-devel freefont-ttf
$(vopt_if notify libnotify-devel) $(vopt_if opengl MesaLib-devel)
$(vopt_if qt qt5-x11extras-devel) $(vopt_if svg librsvg-devel)
$(vopt_if v4l2 v4l-utils-devel) $(vopt_if smb samba-devel)
$(vopt_if lua lua52-devel) $(vopt_if vaapi libva-devel)
$(vopt_if vdpau libvdpau-devel) $(vopt_if x265 x265-devel)"
depends="freefont-ttf hicolor-icon-theme desktop-file-utils"
# Package build options
build_options="lua notify opengl qt smb svg v4l2 vaapi vdpau x265"
build_options_default="lua smb v4l2"
case "$XBPS_TARGET_MACHINE" in
i686*|x86_64*)
# Enable x265, opengl and samba by default on x86.
build_options_default+=" vaapi vdpau x265 opengl"
;;
armv[67]l*)
# XXX only for rpi
configure_args+=" --enable-omxil --enable-omxil-vout --enable-rpi-omxil"
makedepends+=" rpi-userland-devel"
CFLAGS+=" -I${XBPS_CROSS_BASE}/opt/vc/include"
CFLAGS+=" -I${XBPS_CROSS_BASE}/opt/vc/include/interface/vcos"
CFLAGS+=" -I${XBPS_CROSS_BASE}/opt/vc/include/interface/vmcs_host/linux"
CFLAGS+=" -I${XBPS_CROSS_BASE}/opt/vc/include/interface/vcos/pthreads"
LDFLAGS+=" -L${XBPS_CROSS_BASE}/opt/vc/lib -lbcm_host -lvcos -lvchiq_arm"
;;
esac
if [ -z "$CROSS_BUILD" ]; then
build_options_default+=" qt"
fi
pre_configure() {
NOCONFIGURE=1 ./bootstrap
# hostname -s is not valid, at least in coreutils!
sed -i "s|hostname -s|hostname|g" configure
sed -i -e "s|/usr/share/fonts/truetype/freefont|/usr/share/fonts/TTF|" \
-e 's,freetype/ftsynth.h,freetype2/ftsynth.h,' \
modules/text_renderer/freetype.c
if [ ${XBPS_GCC_VERSION_MAJOR} -gt 5 ]; then
# Apply the gcc6 patches
patch -p1 < ${FILESDIR}/vlc-2.2.4-gcc6_fixes-1.patch
fi
}
pre_build() {
# -O[34] causes an internal compiler error with musl/gcc-4.9.2:
# internal compiler error: in vect_analyze_data_ref_accesses,
# at tree-vect-data-refs.c:2567
sed -i 's,-O4,-O2,g' -i modules/video_filter/Makefile
}
post_install() {
# Remove unused stuff
rm -f ${DESTDIR}/usr/lib/vlc/plugins/plugins.dat
rm -f ${DESTDIR}/usr/lib/vlc/libcompat.a
install -d ${DESTDIR}/usr/share/pixmaps
cd ${DESTDIR}/usr/share/pixmaps
ln -sf ../icons/hicolor/48x48/apps/vlc.png vlc.png
}
libvlc_package() {
short_desc+=" - runtime libraries"
pkg_install() {
vmove "usr/lib/*.so.*"
for f in ${DESTDIR}/usr/lib/vlc/plugins/*; do
plugindir="$(basename ${f##${DESTDIR}})"
[ "$plugindir" = "gui" ] && continue
vmove usr/lib/vlc/plugins/$plugindir
done
}
}
vlc-devel_package() {
short_desc+=" - development files"
depends+=" lib${sourcepkg}>=${version}_${revision}"
pkg_install() {
vmove usr/include
vmove usr/lib/pkgconfig
vmove "usr/lib/*.so"
}
}