145 lines
4.9 KiB
Bash
145 lines
4.9 KiB
Bash
# Template file for 'vlc'
|
||
pkgname=vlc
|
||
version=3.0.20
|
||
revision=4
|
||
build_style=gnu-configure
|
||
configure_args="--disable-gme --disable-libtar --enable-jack
|
||
--enable-live555 --disable-fluidsynth --enable-dvdread
|
||
--enable-flac --enable-merge-ffmpeg --disable-libplacebo
|
||
$(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)
|
||
$(vopt_enable chromecast microdns) $(vopt_enable chromecast)
|
||
$(vopt_enable chromecast sout)"
|
||
short_desc="Cross-platform multimedia player"
|
||
maintainer="Helmut Pozimski <helmut@pozimski.eu>"
|
||
license="GPL-2.0-only, LGPL-2.1-only"
|
||
homepage="https://www.videolan.org/vlc/"
|
||
changelog="https://www.videolan.org/developers/vlc-branch/NEWS"
|
||
distfiles="${VIDEOLAN_SITE}/vlc/${version}/vlc-${version}.tar.xz"
|
||
checksum=adc7285b4d2721cddf40eb5270cada2aaa10a334cb546fd55a06353447ba29b5
|
||
|
||
lib32disabled=yes
|
||
|
||
# XXX Add missing deps: gme, telepathy, libtar (for skins2).
|
||
hostmakedepends="automake libtool pkg-config flex gettext libgcrypt-devel
|
||
live555-devel gettext-devel $(vopt_if lua lua52) $(vopt_if chromecast protobuf)"
|
||
makedepends="
|
||
avahi-libs-devel dbus-glib-devel faad2-devel ffmpeg-devel freefont-ttf
|
||
gnutls-devel jack-devel liba52-devel libass-devel libbluray-devel
|
||
libcdio-devel libdca-devel libdvbpsi-devel libdvdnav-devel libmad-devel
|
||
libmatroska-devel libmodplug-devel libmpcdec-devel libmpeg2-devel
|
||
libmtp-devel libproxy-devel libsamplerate-devel libSM-devel libsysfs-devel
|
||
libtheora-devel libupnp-devel libXinerama-devel libXpm-devel libXvMC-devel
|
||
ncurses-devel opus-devel pulseaudio-devel sndio-devel speex-devel taglib-devel
|
||
wayland-protocols x264-devel xcb-util-devel xcb-util-keysyms-devel
|
||
live555-devel libdvdread-devel chromaprint-devel
|
||
$(vopt_if notify libnotify-devel) $(vopt_if opengl MesaLib-devel)
|
||
$(vopt_if qt qt5-x11extras-devel) $(vopt_if qt qt5-svg-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)
|
||
$(vopt_if svg librsvg-devel) $(vopt_if sndio sndio-devel)
|
||
$(vopt_if chromecast protobuf-devel) $(vopt_if chromecast libmicrodns-devel)"
|
||
depends="freefont-ttf hicolor-icon-theme desktop-file-utils"
|
||
# test/run_vlc.sh fail on CI
|
||
make_check=ci-skip
|
||
|
||
# Package build options
|
||
build_options="lua notify opengl qt rpi smb svg v4l2 vaapi vdpau x265 sndio chromecast"
|
||
build_options_default="lua smb v4l2 x265 sndio chromecast qt"
|
||
|
||
subpackages="libvlc vlc-devel"
|
||
|
||
CFLAGS="-fcommon"
|
||
CXXFLAGS="-fcommon"
|
||
|
||
case "$XBPS_TARGET_MACHINE" in
|
||
i686*|x86_64*|ppc64*)
|
||
# Enable x265, opengl and samba by default on x86 and ppc64.
|
||
build_options_default+=" vaapi vdpau opengl"
|
||
;;
|
||
ppc|ppc-musl)
|
||
# Disable altivec on ppc and enable opengl
|
||
configure_args+=" --disable-altivec"
|
||
build_options_default+=" opengl"
|
||
;;
|
||
armv[67]*)
|
||
# XXX only for rpi
|
||
build_options_default+=" rpi"
|
||
subpackages+=" omxplayer"
|
||
;;
|
||
aarch64*)
|
||
# XXX only for rpi
|
||
build_options_default+=" rpi"
|
||
;;
|
||
esac
|
||
|
||
if [ "$CROSS_BUILD" ]; then
|
||
hostmakedepends+=" qt5-host-tools"
|
||
fi
|
||
|
||
if [ "$build_option_rpi" ]; then
|
||
configure_args+=" --enable-omxil --enable-omxil-vout --enable-rpi-omxil"
|
||
fi
|
||
|
||
pre_configure() {
|
||
NOCONFIGURE=1 ./bootstrap
|
||
|
||
vsed -i -e 's;tar cvvzf;tar cvzf;' share/Makefile.am share/Makefile.in
|
||
|
||
}
|
||
|
||
pre_install() {
|
||
if [ "$CROSS_BUILD" ]; then
|
||
# install .lua files instead of precompiled .luac ones
|
||
# scripts precompiled with 64 bit host compiler won’t run on 32 bit target
|
||
# same with respect to endianess
|
||
vsed -i -e "s/\(@list='\$(nobase_vlclib_DATA\)/\1:.luac=.lua/" share/Makefile
|
||
fi
|
||
}
|
||
|
||
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.*"
|
||
vmove "usr/lib/vlc/libvlc*.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"
|
||
}
|
||
}
|
||
|
||
omxplayer_package() {
|
||
reverts="20130324_1 20130324_2 20130715_1 20130807_1 20130913_1 20130924_1 20131021_1
|
||
20131026_1 20131030_1 20131123_1 20131124_1 20140120_1 20140226_1 20140416_1 20140713_1
|
||
20140929_1 20141210_1 20150207_1 20150209_1 20150406_1 20150526_1 20150609_1 20150907_1
|
||
20150907_2 20150907_3 20151218_1 20160723_1 20160723_2 20160723_3 20160723_4 20190102_1
|
||
20190102_2"
|
||
short_desc+="Commandline OMX player for the Raspberry Pi (transitional dummy package)"
|
||
depends="${sourcepkg}>=${version}_${revision}"
|
||
build_style=meta
|
||
}
|