# Contributor: Ɓukasz Jendrysik # Contributor: Leonardo Arena # Maintainer: Natanael Copa pkgname=vlc pkgver=2.2.1 _pkgver=${pkgver/_/-} _ver=${_pkgver%[a-z]} pkgrel=0 pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player" triggers="vlc-libs.trigger=/usr/lib/vlc/plugins" pkgusers="vlc" pkggroups="vlc" url="http://www.videolan.org/vlc/" arch="all" license="GPL2+" subpackages="$pkgname-dev $pkgname-doc $pkgname-qt $pkgname-xorg $pkgname-daemon $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" depends="ttf-dejavu $pkgname-plugins" 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 qt-dev sdl-dev speex-dev sysfsutils-dev taglib-dev udev-dev v4l-utils-dev x264-dev xcb-util-renderutil-dev xcb-util-keysyms-dev xdg-utils " source="http://download.videolan.org/pub/videolan/$pkgname/${_ver}/$pkgname-$_pkgver.tar.xz fix-waitpid-usage.patch omxil-rpi-codecs.patch vlc-libs.trigger" _builddir="$srcdir"/$pkgname-$_ver prepare() { cd "$_builddir" for i in $source; do case $i in *.patch) msg "Applying $i" patch -p1 -i "$srcdir"/$i || return 1 ;; esac; done sed -i -e "/^libxscreensaver_plugin_la_SOURCES/s/^/#/" modules/misc/Modules.am ./bootstrap } build() { local _arch_opts= 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" in arm*) _arch_opts="--enable-omxil --enable-omxil-vout --enable-rpi-omxil" ;; esac 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 } package() { cd "$_builddir" make DESTDIR="$pkgdir" install || return 1 # for res in 16 32 48 128; do # install -D -m644 share/vlc${res}x${res}.png \ # "$pkgdir"/usr/share/icons/hicolor/${res}x${res}/apps/vlc.png || return 1 # done # 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 find "$pkgdir" -name '*.la' -delete } plugins() { pkgdesc="$pkgname all plugins meta package" 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" } _mv() { local dir=${1%/*} mkdir -p "$subpkgdir"/$dir mv "$1" "$subpkgdir"/$dir/ } qt() { pkgdesc="Qt frontend for VLC" 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 ); do if ldd $i 2>/dev/null | grep -q "libQt"; then _mv "$i" || return 1 fi done mkdir -p "$subpkgdir"/usr/bin mv "$pkgdir"/usr/bin/qvlc \ "$subpkgdir"/usr/bin/ } xorg() { pkgdesc="Video LAN X.org support" 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 ); do if ldd $i 2>/dev/null | grep -E -q "libX|x11|libxcb|libGL"; then echo $i | grep libavcodec_plugin.so || _mv "$i" || return 1 fi done 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 } daemon() { pkgdesc="Support for running VLC as a daemon" install="vlc-daemon.pre-install" arch="noarch" 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 } libs() { depends= mkdir -p "$subpkgdir"/usr/lib/vlc mv "$pkgdir"/usr/lib/vlc/vlc-cache-gen \ "$subpkgdir"/usr/lib/vlc/ default_libs } _mv_plugins() { local plugin=$1 pkgdesc="$pkgname $plugin plugin" depends= mkdir -p "$subpkgdir"/usr/lib/vlc/plugins mv "$pkgdir"/usr/lib/vlc/plugins/"$plugin" \ "$subpkgdir"/usr/lib/vlc/plugins } plugins_access() { _mv_plugins access; } plugins_access_output() { _mv_plugins access_output; } plugins_audio_filter() { _mv_plugins audio_filter; } plugins_audio_mixer() { _mv_plugins audio_mixer; } plugins_audio_output() { _mv_plugins audio_output; } plugins_codec() { _mv_plugins codec; } plugins_control() { _mv_plugins control; } plugins_demux() { _mv_plugins demux; } plugins_gui() { _mv_plugins gui; } plugins_lua() { _mv_plugins lua; } plugins_meta_engine() { _mv_plugins meta_engine; } plugins_misc() { _mv_plugins misc; } plugins_mux() { _mv_plugins mux; } plugins_notify() { _mv_plugins notify; } plugins_packetizer() { _mv_plugins packetizer; } plugins_services_discovery() { _mv_plugins services_discovery; } plugins_stream_filter() { _mv_plugins stream_filter; } plugins_stream_out() { _mv_plugins stream_out; } plugins_text_renderer() { _mv_plugins text_renderer; } plugins_video_chroma() { _mv_plugins video_chroma; } plugins_video_filter() { _mv_plugins video_filter; } plugins_video_output() { _mv_plugins video_output; } plugins_visualization() { _mv_plugins visualization; } md5sums="42273945758b521c408fabc7fd6d9946 vlc-2.2.1.tar.xz b28925fdf3d1b0bd13e3af89668995a4 fix-waitpid-usage.patch b90177830fe33b93849915752eb957ce omxil-rpi-codecs.patch dd899a9926ad84db9446d92890a5aa3e vlc-libs.trigger" sha256sums="543d9d7e378ec0fa1ee2e7f7f5acf8c456c7d0ecc32037171523197ef3cf1fcb vlc-2.2.1.tar.xz 4f017a932d4177ba838ebd7bb0e36d8606103e62519805adff81e5edbda41026 fix-waitpid-usage.patch 27e8f960ca091216b491980a6ffd4e35b28f2091677231ba1d317fc81b6ee039 omxil-rpi-codecs.patch 1c93af2feb217a06f6adc3cd51def8f00eea431f9d26ace7b90c377f7e85fc7a vlc-libs.trigger" sha512sums="91cd33ac61ebe376c24b3cc0d1dc52d7765fdccbd17e75abbbbf38f52b400e0269dc48f34ed558bff7ec1dd52c4f27098012709a3eb9fe7e8aad1069516de5de vlc-2.2.1.tar.xz 680cfa3eed5501ba6f06c51eae508204f4c77d2bdd07eead1a3da3939b433abfe84025d133e7a1c7a869e4ffac374bd5eba2bd3dd242ec4645e1d1c6122d0ffb fix-waitpid-usage.patch e13e398b7bfd977f6e099bcb6cf8dc5cd5bad6dea3eff715881826246dc4329468846084aff2576de2b7fd28d3f06e7c327a6e4511a28d22e5cd198a81146c89 omxil-rpi-codecs.patch b67b6e21e9d4027aef1006e6057f9ba8e65ce3895b08f7b911b1675cff9bc423f64ee2c187c584860e9e5d4635a30408a7781add9694d9bba753eac37f357406 vlc-libs.trigger"