# Contributor: Ɓukasz Jendrysik # Contributor: Leonardo Arena # Maintainer: Natanael Copa setvar pkgname = 'vlc' setvar pkgver = '2.2.6' setvar _pkgver = ${pkgver/_/-} setvar _ver = ${_pkgver%[a-z]} setvar pkgrel = '0' setvar pkgdesc = ""A multi-platform MPEG, VCD/DVD, and DivX player"" setvar triggers = ""vlc-libs.trigger=/usr/lib/vlc/plugins"" setvar pkgusers = ""vlc"" setvar pkggroups = ""vlc"" setvar url = ""http://www.videolan.org/vlc/"" setvar arch = ""all"" setvar license = ""GPL2+"" setvar subpackages = ""$pkgname-dev $pkgname-doc $pkgname-qt $pkgname-xorg $pkgname-daemon::noarch $pkgname-libs $pkgname-plugins $pkgname-plugins-access:plugins_access $pkgname-plugins-access_output:plugins_access_output $pkgname-plugins-audio_filter:plugins_audio_filter $pkgname-plugins-audio_mixer:plugins_audio_mixer $pkgname-plugins-audio_output:plugins_audio_output $pkgname-plugins-codec:plugins_codec $pkgname-plugins-control:plugins_control $pkgname-plugins-demux:plugins_demux $pkgname-plugins-gui:plugins_gui $pkgname-plugins-lua:plugins_lua $pkgname-plugins-meta_engine:plugins_meta_engine $pkgname-plugins-misc:plugins_misc $pkgname-plugins-mux:plugins_mux $pkgname-plugins-notify:plugins_notify $pkgname-plugins-packetizer:plugins_packetizer $pkgname-plugins-services_discovery:plugins_services_discovery $pkgname-plugins-stream_filter:plugins_stream_filter $pkgname-plugins-stream_out:plugins_stream_out $pkgname-plugins-text_renderer:plugins_text_renderer $pkgname-plugins-video_chroma:plugins_video_chroma $pkgname-plugins-video_filter:plugins_video_filter $pkgname-plugins-video_output:plugins_video_output $pkgname-plugins-visualization:plugins_visualization"" setvar depends = ""ttf-dejavu $pkgname-plugins"" setvar makedepends = "" a52dec-dev alsa-lib-dev automake autoconf avahi-dev libtool dbus-dev faad2-dev ffmpeg-dev flac-dev freetype-dev fribidi-dev gtk+-dev libbluray-dev>=0.2.1 libbluray-dev<20100000 libavc1394-dev libcddb-dev libdc1394-dev>=2.1.0 libdvbpsi-dev libdvdnav-dev libdvdread-dev libgcrypt-dev libice-dev libmad-dev libmatroska-dev libmpeg2-dev libnotify-dev libogg-dev libraw1394-dev>=2.0.1 libshout-dev libsm-dev libtheora-dev libva-dev libvdpau-dev libvorbis-dev libx11-dev libxext-dev libxinerama-dev libxml2-dev libxpm-dev libxv-dev live-media-dev>=2012.01.26 lua5.2-dev ncurses-dev mesa-dev pkgconfig qt5-qtbase-dev sdl2-dev speex-dev sysfsutils-dev taglib-dev eudev-dev v4l-utils-dev x264-dev xcb-util-renderutil-dev xcb-util-keysyms-dev xdg-utils samba-dev "" setvar source = ""http://download.videolan.org/pub/videolan/$pkgname/${_ver}/$pkgname-$_pkgver.tar.xz vlc-2.2.4-gcc6_fixes-1.patch vlc-2.2.4-ffmpeg3-1.patch fix-waitpid-usage.patch omxil-rpi-codecs.patch vlc-libs.trigger"" setvar builddir = ""$srcdir"/$pkgname-$_ver" proc prepare { cd $builddir default_prepare sed -i -e "/^libxscreensaver_plugin_la_SOURCES/s/^/#/" \ modules/misc/Modules.am' || return 1 NOCONFIGURE=1' ./bootstrap || return 1 } proc build { local _arch_opts= export CXXFLAGS="$CXXFLAGS -std=gnu++11" cd $builddir sed -e 's:/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf:/usr/share/fonts/TTF/DejaVuSerif-Bold.ttf:' \ -i modules/text_renderer/freetype.c # -fpermissive is needed due to zlib 1.2.6 changing # void* to gzFile on gz*() functions export CFLAGS="$CFLAGS -D_GNU_SOURCE" export CXXFLAGS="$CXXFLAGS -fpermissive" case (CARCH) { arm* { setvar _arch_opts = ""--enable-omxil --enable-omxil-vout --enable-rpi-omxil"" } }' LUA=lua5.2'' \ LUAC=luac5.2' \ ./configure \ --build=$CBUILD \ --host=$CHOST \ --prefix=/usr \ --disable-mmx \ --disable-sse \ --disable-nls \ --disable-optimizations \ --disable-rpath \ --enable-a52 \ --enable-avcodec \ --enable-avformat \ --enable-bluray \ --enable-dbus \ --enable-dc1394 \ --enable-dvbpsi \ --enable-dvdread \ --enable-dvdnav \ --enable-faad \ --enable-flac \ --enable-httpd \ --enable-libcddb \ --enable-libva \ --enable-live555 \ --enable-merge-ffmpeg \ --enable-ncurses \ --enable-realrtsp \ --enable-sdl \ --enable-shout \ --enable-skins2 \ --enable-speex \ --enable-sout \ --enable-taglib \ --enable-theora \ --enable-v4l2 \ --enable-vdpau \ --enable-vlm \ --enable-vorbis \ --enable-wma-fixed \ --enable-x264 \ --enable-xvideo \ $_arch_opts \ || return 1 make || return 1 } proc package { cd $builddir make DESTDIR="$pkgdir" install || return 1 # delete cache as it's autocreated by trigger rm -rf "$pkgdir"/usr/lib/vlc/plugins/plugins.dat # delete unneeded mozilla and kde support files rm -rf "$pkgdir"/usr/lib/mozilla rm -rf "$pkgdir"/usr/share/kde4 } proc plugins { setvar pkgdesc = ""$pkgname all plugins meta package"" setvar depends = ""$pkgname-plugins-access $pkgname-plugins-access_output $pkgname-plugins-audio_filter $pkgname-plugins-audio_mixer $pkgname-plugins-audio_output $pkgname-plugins-codec $pkgname-plugins-control $pkgname-plugins-demux $pkgname-plugins-gui $pkgname-plugins-lua $pkgname-plugins-meta_engine $pkgname-plugins-misc $pkgname-plugins-mux $pkgname-plugins-notify $pkgname-plugins-packetizer $pkgname-plugins-services_discovery $pkgname-plugins-stream_filter $pkgname-plugins-stream_out $pkgname-plugins-text_renderer $pkgname-plugins-video_chroma $pkgname-plugins-video_filter $pkgname-plugins-video_output $pkgname-plugins-visualization"" mkdir -p $subpkgdir } proc _mv { local dir=${1%/*} mkdir -p "$subpkgdir"/$dir mv $1 "$subpkgdir"/$dir/ } proc qt { setvar pkgdesc = ""Qt frontend for VLC"" setvar depends = ""vlc-xorg=$pkgver-r$pkgrel"" cd $pkgdir # scan for elf files that directly or indirectly depends on # libQt* libraries cd $pkgdir for i in $(find . -type f ) { if ldd $i 2>/dev/null | grep -q "libQt" { _mv $i || return 1 } } mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/qvlc \ "$subpkgdir"/usr/bin/ } proc xorg { setvar pkgdesc = ""Video LAN X.org support"" setvar depends = ""xdg-utils vlc=$pkgver-r$pkgrel"" # scan for elf files that directly or indirectly depends on # libX* libraries cd $pkgdir for i in $(find . -type f ) { if ldd $i 2>/dev/null | grep -E -q "libX|x11|libxcb|libGL" { echo $i | grep libavcodec_plugin.so || _mv $i || return 1 } } mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/svlc \ "$subpkgdir"/usr/bin mkdir -p "$subpkgdir"/usr/share/vlc mv "$pkgdir"/usr/share/applications \ "$pkgdir"/usr/share/icons \ "$subpkgdir"/usr/share/ mv "$pkgdir"/usr/share/vlc/skins2 \ "$subpkgdir"/usr/share/vlc } proc daemon { setvar pkgdesc = ""Support for running VLC as a daemon"" setvar install = ""vlc-daemon.pre-install"" setvar depends = ""vlc=$pkgver-r$pkgrel"" mkdir -p $subpkgdir cd $pkgdir install -D -m755 ../../vlc.initd $subpkgdir/etc/init.d/vlc install -D -m664 ../../vlc.confd $subpkgdir/etc/conf.d/vlc install -d -o vlc -g vlc "$subpkgdir"/var/log/vlc } proc libs { setvar depends = '' mkdir -p "$subpkgdir"/usr/lib/vlc mv "$pkgdir"/usr/lib/vlc/vlc-cache-gen \ "$subpkgdir"/usr/lib/vlc/ default_libs } proc _mv_plugins { local plugin=$1 setvar pkgdesc = ""$pkgname $plugin plugin"" setvar depends = '' mkdir -p "$subpkgdir"/usr/lib/vlc/plugins mv "$pkgdir"/usr/lib/vlc/plugins/"$plugin" \ "$subpkgdir"/usr/lib/vlc/plugins } proc plugins_access { _mv_plugins access; } proc plugins_access_output { _mv_plugins access_output; } proc plugins_audio_filter { _mv_plugins audio_filter; } proc plugins_audio_mixer { _mv_plugins audio_mixer; } proc plugins_audio_output { _mv_plugins audio_output; } proc plugins_codec { _mv_plugins codec; } proc plugins_control { _mv_plugins control; } proc plugins_demux { _mv_plugins demux; } proc plugins_gui { _mv_plugins gui; } proc plugins_lua { _mv_plugins lua; } proc plugins_meta_engine { _mv_plugins meta_engine; } proc plugins_misc { _mv_plugins misc; } proc plugins_mux { _mv_plugins mux; } proc plugins_notify { _mv_plugins notify; } proc plugins_packetizer { _mv_plugins packetizer; } proc plugins_services_discovery { _mv_plugins services_discovery; } proc plugins_stream_filter { _mv_plugins stream_filter; } proc plugins_stream_out { _mv_plugins stream_out; } proc plugins_text_renderer { _mv_plugins text_renderer; } proc plugins_video_chroma { _mv_plugins video_chroma; } proc plugins_video_filter { _mv_plugins video_filter; } proc plugins_video_output { _mv_plugins video_output; } proc plugins_visualization { _mv_plugins visualization; } setvar sha512sums = ""9aff5922eb8b3c6a24e6153c367b0170dbc67602ae3e9304f52d2da00c9081d66cc98abd722b7c95b6c7d2e6cc7c86f21f9cba42c7d4bf29ca97d0f2d3553f8d vlc-2.2.6.tar.xz 0dffb15a320899060d2239d4bbefd7e88bedcd017348227092ed943b1104e971a5da934f0c1569773230186d4727be83f530cc0d253559a04d1f2cdef80e6043 vlc-2.2.4-gcc6_fixes-1.patch 3ac37f5d552b3f4a536ead974756ea39142bb1aebbb5fa4fd41917e3dabb5af333dea5ae028bdae8589ff3016f2d1d87ea328e63d8b795ac90c3eb11945ea87b vlc-2.2.4-ffmpeg3-1.patch 680cfa3eed5501ba6f06c51eae508204f4c77d2bdd07eead1a3da3939b433abfe84025d133e7a1c7a869e4ffac374bd5eba2bd3dd242ec4645e1d1c6122d0ffb fix-waitpid-usage.patch e13e398b7bfd977f6e099bcb6cf8dc5cd5bad6dea3eff715881826246dc4329468846084aff2576de2b7fd28d3f06e7c327a6e4511a28d22e5cd198a81146c89 omxil-rpi-codecs.patch b67b6e21e9d4027aef1006e6057f9ba8e65ce3895b08f7b911b1675cff9bc423f64ee2c187c584860e9e5d4635a30408a7781add9694d9bba753eac37f357406 vlc-libs.trigger""