diff options
Diffstat (limited to 'community/vlc/APKBUILD')
-rw-r--r-- | community/vlc/APKBUILD | 337 |
1 files changed, 337 insertions, 0 deletions
diff --git a/community/vlc/APKBUILD b/community/vlc/APKBUILD new file mode 100644 index 0000000000..83c90a3182 --- /dev/null +++ b/community/vlc/APKBUILD @@ -0,0 +1,337 @@ +# Contributor: Ćukasz Jendrysik <scadu@yandex.com> +# Contributor: Leonardo Arena <rnalrd@alpinelinux.org> +# Maintainer: Natanael Copa <ncopa@alpinelinux.org> +pkgname=vlc +pkgver=2.2.4 +_pkgver=${pkgver/_/-} +_ver=${_pkgver%[a-z]} +pkgrel=4 +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::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" +depends="ttf-dejavu $pkgname-plugins" +makedepends=" + a52dec-dev + alsa-lib-dev + automake + autoconf + avahi-dev + libtool + dbus-dev + faad2-dev + ffmpeg2.8-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 + " +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" + sed -i -e "/^libxscreensaver_plugin_la_SOURCES/s/^/#/" \ + modules/misc/Modules.am || return 1 + ./bootstrap || return 1 +} + +build() { + local _arch_opts= + export CXXFLAGS="$CXXFLAGS -std=gnu++98" + 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 + # 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 +} + +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" + 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="55666c9898f658c7fcca12725bf7dd1b vlc-2.2.4.tar.xz +b28925fdf3d1b0bd13e3af89668995a4 fix-waitpid-usage.patch +b90177830fe33b93849915752eb957ce omxil-rpi-codecs.patch +dd899a9926ad84db9446d92890a5aa3e vlc-libs.trigger" +sha256sums="1632e91d2a0087e0ef4c3fb4c95c3c2890f7715a9d1d43ffd46329f428cf53be vlc-2.2.4.tar.xz +4f017a932d4177ba838ebd7bb0e36d8606103e62519805adff81e5edbda41026 fix-waitpid-usage.patch +27e8f960ca091216b491980a6ffd4e35b28f2091677231ba1d317fc81b6ee039 omxil-rpi-codecs.patch +1c93af2feb217a06f6adc3cd51def8f00eea431f9d26ace7b90c377f7e85fc7a vlc-libs.trigger" +sha512sums="2fc1fe957ba7903f2e0c9640884ed850cb10a60132d80658dee8da0b5abaf4a6ccdf95fa2b8c0a4a827be5e7e40341318bce44662a5248e04442f4779010f85c vlc-2.2.4.tar.xz +680cfa3eed5501ba6f06c51eae508204f4c77d2bdd07eead1a3da3939b433abfe84025d133e7a1c7a869e4ffac374bd5eba2bd3dd242ec4645e1d1c6122d0ffb fix-waitpid-usage.patch +e13e398b7bfd977f6e099bcb6cf8dc5cd5bad6dea3eff715881826246dc4329468846084aff2576de2b7fd28d3f06e7c327a6e4511a28d22e5cd198a81146c89 omxil-rpi-codecs.patch +b67b6e21e9d4027aef1006e6057f9ba8e65ce3895b08f7b911b1675cff9bc423f64ee2c187c584860e9e5d4635a30408a7781add9694d9bba753eac37f357406 vlc-libs.trigger" |