diff options
Diffstat (limited to 'main')
-rw-r--r-- | main/vlc/APKBUILD | 102 | ||||
-rw-r--r-- | main/vlc/uclibc-libcompat.patch | 90 | ||||
-rw-r--r-- | main/vlc/uclibc-no-xscreensaver.patch | 18 | ||||
-rw-r--r-- | main/vlc/uclibc3.patch | 44 | ||||
-rw-r--r-- | main/vlc/vlc.confd | 10 | ||||
-rwxr-xr-x | main/vlc/vlc.initd | 24 | ||||
-rw-r--r-- | main/vlc/vlc.trigger | 2 |
7 files changed, 138 insertions, 152 deletions
diff --git a/main/vlc/APKBUILD b/main/vlc/APKBUILD index 9b85378ed0..578b085dda 100644 --- a/main/vlc/APKBUILD +++ b/main/vlc/APKBUILD @@ -1,8 +1,9 @@ # Contributor: Leonardo Arena <rnalrd@alpinelinux.org> # Maintainer: Natanael Copa <ncopa@alpinelinux.org> pkgname=vlc -pkgver=1.1.13 -pkgrel=4 +pkgver=2.0.0 +_pkgver=${pkgver/_/-} +pkgrel=2 pkgdesc="A multi-platform MPEG, VCD/DVD, and DivX player" pkgusers="vlc" pkggroups="vlc" @@ -10,11 +11,11 @@ url="http://www.videolan.org/vlc/" arch="all" license="GPL-2" triggers="$pkgname.trigger=/usr/lib/vlc/plugins" -subpackages="$pkgname-dev $pkgname-doc $pkgname-xorg $pkgname-daemon" -#depends="fluidsynth zvbi lirc-utils libdca -# libproxy libdvdnav>=4.1.3 libcddb smbclient -# libmatroska libmpcdec -# qt libmodplug ttf-dejavu" +subpackages="$pkgname-dev $pkgname-doc $pkgname-qt $pkgname-xorg + $pkgname-daemon" +#depends="fluidsynth zvbi lirc-utils libdca +# libproxy libcddb smbclient +# libmpcdec libmodplug" depends="ttf-dejavu" makedepends=" a52dec-dev @@ -27,30 +28,38 @@ makedepends=" faad2-dev ffmpeg-dev flac-dev + freetype-dev fribidi-dev gtk+-dev - libdc1394-dev + libbluray-dev>=0.2.1 libbluray-dev<20100000 + libdc1394-dev>=2.1.0 libdvbpsi-dev + libdvdnav-dev + libdvdread-dev libgcrypt-dev libice-dev libiconv-dev libmad-dev + libmatroska-dev libmpeg2-dev libnotify-dev libogg-dev - libraw1394-dev + libraw1394-dev>=2.0.1 libshout-dev libsm-dev libtheora-dev libvorbis-dev libx11-dev libxext-dev + libxinerama-dev + libxpm-dev libxv-dev - live-media-dev + live-media-dev>=2012.01.26 lua-dev ncurses-dev mesa-dev pkgconfig + qt-dev sdl-dev speex-dev sysfsutils-dev @@ -60,15 +69,16 @@ makedepends=" xcb-util-renderutil-dev xcb-util-keysyms-dev " -source="http://download.videolan.org/pub/videolan/$pkgname/$pkgver/$pkgname-$pkgver.tar.bz2 - uclibc3.patch - uclibc-libcompat.patch +source="http://download.videolan.org/pub/videolan/$pkgname/$_pkgver/$pkgname-$_pkgver.tar.xz uclibc-inhibit-spawn.patch + uclibc-no-xscreensaver.patch + uclibc3.patch vlc.trigger - vlc-1.1.7-disable-cache-gen.patch " +# uclibc-libcompat.patch +# vlc-1.1.7-disable-cache-gen.patch -_builddir="$srcdir"/$pkgname-$pkgver +_builddir="$srcdir"/$pkgname-$_pkgver prepare() { cd "$_builddir" for i in $source; do @@ -79,7 +89,7 @@ prepare() { ;; esac; done - sed -i -e "/^SOURCES_xscreensaver/s/^/#/" modules/misc/Modules.am + sed -i -e "/^libxscreensaver_plugin_la_SOURCES/s/^/#/" modules/misc/Modules.am ./bootstrap } @@ -88,35 +98,42 @@ build () cd "$_builddir" sed -i -e 's:/usr/share/fonts/truetype/freefont/FreeSerifBold.ttf:/usr/share/fonts/TTF/DejaVuSerif-Bold.ttf:' modules/misc/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" ./configure --prefix=/usr \ --disable-mmx \ --disable-nls \ --disable-optimizations \ - --disable-qt4 --disable-skins2 \ --disable-rpath \ --enable-a52 \ --enable-avcodec \ --enable-avformat \ + --enable-bluray \ --enable-dbus \ --enable-dbus-control \ --enable-dc1394 \ --enable-dvbpsi \ + --enable-dvdread \ + --enable-dvdnav \ --enable-faad \ --enable-flac \ --enable-httpd \ --enable-live555 \ + --enable-matroska \ --enable-merge-ffmpeg \ --enable-ncurses \ + --enable-qt4 \ --enable-realrtsp \ --enable-sdl \ --enable-shout \ + --enable-skins2 \ --enable-speex \ --enable-sout \ --enable-taglib \ --enable-theora \ - --enable-v4l \ --enable-v4l2 \ --enable-vlm \ --enable-vorbis \ @@ -124,10 +141,6 @@ build () --enable-xvideo \ || return 1 -# --enable-dvdread \ -# --enable-dvdnav \ -# --enable-qt4 \ -# --enable-skins2 \ # --enable-dvb \ # --enable-snapshot \ # --enable-hal \ @@ -144,7 +157,11 @@ package() { # 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 } @@ -154,28 +171,54 @@ _mv() { mv "$1" "$subpkgdir"/$dir/ } +qt() { + pkgdesc="Qt frontend for VLC" + depends="vlc-xorg>=2.0.0-r1" + 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>=2.0.0_rc1-r4" + # 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 -q libX; then + if ldd $i 2>/dev/null | grep -E -q "libX|x11|libxcb"; then echo $i | grep libavcodec_plugin.so || _mv "$i" || return 1 fi done - mkdir -p "$subpkgdir"/usr/share/ + 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" + depends="vlc>=2.0.0_rc1-r0" mkdir -p "$subpkgdir" cd "$pkgdir" @@ -184,9 +227,8 @@ daemon() { install -d -o vlc -g vlc "$subpkgdir"/var/log/vlc } -md5sums="9678fb7a04808b6e0de63746d35e4bb1 vlc-1.1.13.tar.bz2 -ba24152286d98f8a367c7fd0cb8949f4 uclibc3.patch -402d28075ff672d4f273cf8b9b1b3137 uclibc-libcompat.patch +md5sums="8806bff2ea9c76791123d444a92f708c vlc-2.0.0.tar.xz 28349b8239fdd6987fbe0ca2c758517f uclibc-inhibit-spawn.patch -ddbd40bd72fedc1449be45588aea5d66 vlc.trigger -e1ef2dec8e25f7ea6ba40e646c63e061 vlc-1.1.7-disable-cache-gen.patch" +b84c5a9121440b6a1dcf28792d783eb8 uclibc-no-xscreensaver.patch +94f11ec8394775018222781a0c875444 uclibc3.patch +350b30698eb784def7d19446eb1d6c81 vlc.trigger" diff --git a/main/vlc/uclibc-libcompat.patch b/main/vlc/uclibc-libcompat.patch deleted file mode 100644 index 056b1411d3..0000000000 --- a/main/vlc/uclibc-libcompat.patch +++ /dev/null @@ -1,90 +0,0 @@ -From b5f5c2cc68f60feea3b8f397f13f13e514d852d4 Mon Sep 17 00:00:00 2001 -From: Natanael Copa <ncopa@alpinelinux.org> -Date: Fri, 28 Oct 2011 09:50:08 +0000 -Subject: [PATCH] build: libcompat fix in case there are no functions to - replace - -If the libc provides all the funcs in libcompat the libcompat.a will -never be created due to LIBOBJS is empty (normally it contains whatever -AC_REPLACE_FUNCS detects). This happens on uclibc. - -Since Makefile.am have a hardcoded LDADD to ../compat/libcompat.la things -goes bad when there is no libcompat.a at all. We solve this by checking -if LIBOBJS is set by AC_REPLACE_FUNCS and add libcompat via LTLIBCOMPAT. - -For alternative fixes see http://www.gnu.org/software/hello/manual/automake/LIBOBJS.html ---- - bin/Makefile.am | 2 +- - configure.ac | 8 ++++++++ - modules/common.am | 2 +- - src/Makefile.am | 4 ++-- - 4 files changed, 12 insertions(+), 4 deletions(-) - -diff --git a/bin/Makefile.am b/bin/Makefile.am -index 19dfb57..9214016 100644 ---- a/bin/Makefile.am -+++ b/bin/Makefile.am -@@ -60,5 +60,5 @@ vlc_win32_rc.$(OBJEXT): vlc_win32_rc.rc - vlc_cache_gen_SOURCES = cachegen.c - vlc_cache_gen_LDADD = \ - $(GNUGETOPT_LIBS) \ -- ../compat/libcompat.la \ -+ $(LTLIBCOMPAT) \ - ../src/libvlc.la ../src/libvlccore.la -diff --git a/configure.ac b/configure.ac -index f216fa4..3997a85 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -557,6 +557,14 @@ need_libc=false - dnl Check for usual libc functions - AC_CHECK_FUNCS([ctime_r daemon fcntl fdopendir fstatvfs fork getenv getpwuid_r gettimeofday isatty lstat memalign openat posix_fadvise posix_madvise posix_memalign setenv setlocale stricmp strnicmp tdestroy uselocale]) - AC_REPLACE_FUNCS([asprintf atof atoll getcwd getdelim getpid gmtime_r lldiv localtime_r nrand48 rewind strcasecmp strcasestr strdup strlcpy strncasecmp strndup strnlen strsep strtof strtok_r strtoll swab vasprintf]) -+ -+dnl Check that we actually need libcompat -+LTLIBCOMPAT="" -+if test "x${LIBOBJS}" != "x"; then -+ LTLIBCOMPAT="\$(top_builddir)/compat/libcompat.la" -+fi -+AC_SUBST(LTLIBCOMPAT) -+ - AC_CHECK_FUNCS(fdatasync,, - [AC_DEFINE(fdatasync, fsync, [Alias fdatasync() to fsync() if missing.]) - ]) -diff --git a/modules/common.am b/modules/common.am -index ac88493..a117cc4 100644 ---- a/modules/common.am -+++ b/modules/common.am -@@ -25,7 +25,7 @@ AM_LDFLAGS = -rpath '$(libvlcdir)' \ - -no-undefined \ - `$(VLC_CONFIG) --ldflags plugin $@` - AM_LIBADD = `$(VLC_CONFIG) -libs plugin $@` \ -- $(LTLIBVLCCORE) $(top_builddir)/compat/libcompat.la -+ $(LTLIBVLCCORE) $(LTLIBCOMPAT) - - include $(srcdir)/Modules.am - -diff --git a/src/Makefile.am b/src/Makefile.am -index a8ab729..01c5158 100644 ---- a/src/Makefile.am -+++ b/src/Makefile.am -@@ -204,7 +204,7 @@ libvlccore_la_LDFLAGS = `$(VLC_CONFIG) --ldflags libvlccore` $(AM_LDFLAGS) \ - -export-symbols $(srcdir)/libvlccore.sym \ - -version-info 4:3:0 - libvlccore_la_LIBADD = `$(VLC_CONFIG) -libs libvlccore` $(AM_LIBADD) \ -- $(LTLIBINTL) ../compat/libcompat.la -+ $(LTLIBINTL) $(LTLIBCOMPAT) - libvlccore_la_DEPENDENCIES = libvlccore.sym - if HAVE_WIN32 - libvlccore_la_DEPENDENCIES += libvlc_win32_rc.$(OBJEXT) -@@ -217,7 +217,7 @@ libvlc_win32_rc.$(OBJEXT): libvlc_win32_rc.rc - libvlc_la_SOURCES = $(SOURCES_libvlc_control) - nodist_libvlc_la_SOURCES = revision.c - libvlc_la_LIBADD = `$(VLC_CONFIG) -libs libvlc` \ -- libvlccore.la ../compat/libcompat.la -+ libvlccore.la $(LTLIBCOMPAT) - libvlc_la_CFLAGS = `$(VLC_CONFIG) --cflags libvlc` - libvlc_la_LDFLAGS = $(AM_LDFLAGS) `$(VLC_CONFIG) --ldflags libvlc` \ - -version-info 7:1:2 \ --- -1.7.7.1 - diff --git a/main/vlc/uclibc-no-xscreensaver.patch b/main/vlc/uclibc-no-xscreensaver.patch new file mode 100644 index 0000000000..b4e1acef6e --- /dev/null +++ b/main/vlc/uclibc-no-xscreensaver.patch @@ -0,0 +1,18 @@ +--- vlc-2.0.0-rc1.orig/modules/misc/Modules.am ++++ vlc-2.0.0-rc1/modules/misc/Modules.am +@@ -26,14 +26,9 @@ + libxdg_screensaver_plugin_la_CFLAGS = $(AM_CFLAGS) + libxdg_screensaver_plugin_la_LIBADD = $(AM_LIBADD) + libxdg_screensaver_plugin_la_DEPENDENCIES = +-libxscreensaver_plugin_la_SOURCES = inhibit/xscreensaver.c +-libxscreensaver_plugin_la_CFLAGS = $(AM_CFLAGS) +-libxscreensaver_plugin_la_LIBADD = $(AM_LIBADD) +-libxscreensaver_plugin_la_DEPENDENCIES = + if HAVE_XCB + libvlc_LTLIBRARIES += \ +- libxdg_screensaver_plugin.la \ +- libxscreensaver_plugin.la ++ libxdg_screensaver_plugin.la + endif + + libmce_plugin_la_SOURCES = inhibit/mce.c diff --git a/main/vlc/uclibc3.patch b/main/vlc/uclibc3.patch index bacad290a4..e57d6dd5f0 100644 --- a/main/vlc/uclibc3.patch +++ b/main/vlc/uclibc3.patch @@ -1,23 +1,6 @@ -diff --git a/src/control/vlm.c b/src/control/vlm.c -index 05417e5..46fa957 100644 ---- a/src/control/vlm.c -+++ b/src/control/vlm.c -@@ -25,6 +25,10 @@ - # include <config.h> - #endif - -+#ifdef HAVE_CONFIG_H -+# include "config.h" -+#endif -+ - #include <vlc/libvlc.h> - #include <vlc/libvlc_vlm.h> - #include <vlc_es.h> -diff --git a/src/misc/linux_specific.c b/src/misc/linux_specific.c -index 1644ce6..1440e1c 100644 ---- a/src/misc/linux_specific.c -+++ b/src/misc/linux_specific.c -@@ -83,14 +83,14 @@ static struct +--- vlc-2.0.0-rc1.orig/src/posix/linux_specific.c ++++ vlc-2.0.0-rc1/src/posix/linux_specific.c +@@ -83,14 +83,14 @@ unsigned refs; } once = { VLC_STATIC_MUTEX, 0 }; @@ -27,10 +10,29 @@ index 1644ce6..1440e1c 100644 # include <stdlib.h> #endif - void system_Init (libvlc_int_t *libvlc, int *argc, const char *argv[]) + void system_Init (void) { -#ifdef __GLIBC__ +#if defined(__GLIBC__) && !defined(__UCLIBC__) const char *glcv = gnu_get_libc_version (); /* gettext in glibc 2.5-2.7 is not thread-safe. LibVLC keeps crashing, +--- vlc-2.0.0-rc1.orig/src/posix/thread.c ++++ vlc-2.0.0-rc1/src/posix/thread.c +@@ -1165,6 +1165,16 @@ + return vlc_atomic_swap (&timer->overruns, 0); + } + ++#if defined(HAVE_SCHED_GETAFFINITY) && !defined(CPU_COUNT) ++static unsigned CPU_COUNT(cpu_set_t *cpu) ++{ ++ unsigned i, count = 0; ++ for (i = 0; i < CPU_SETSIZE; i++) ++ if (CPU_ISSET(i, cpu)) ++ count++; ++ return count; ++} ++#endif + + /** + * Count CPUs. diff --git a/main/vlc/vlc.confd b/main/vlc/vlc.confd index c42344b606..9a58842bd6 100644 --- a/main/vlc/vlc.confd +++ b/main/vlc/vlc.confd @@ -1,11 +1,15 @@ # Sample vlc params suitable for running as a daemon -## --daemon detach from prompt ## --file-logging enable file logging ## --logfile logfile name/path ## -vvv verbose logging ## -I dummy disable X11 interface ## --sout PARAMS encoding parameters -## Do NOT quote 'PARAMS' otherwise shell expansions will broke vlc -VLC_OPTS="-vvv -I dummy alsa://hw:0,0 --daemon --file-logging --logfile /var/log/vlc/vlc.log --sout #transcode{acodec=mp3,ab=48,channels=1,samplerate=22050}:std{access=http,mux=ogg,dst=:8080}" + +## Do NOT quote 'PARAMS' otherwise shell expansions will broke vlc +## +## The --daemon option will automatically be added so no need to add it +## here. + +VLC_OPTS="--quiet -I dummy alsa://hw:0,0 --file-logging --logfile /var/log/vlc/vlc.log --sout #transcode{acodec=mp3,ab=48,channels=1,samplerate=22050}:std{access=http,mux=ogg,dst=:8080}" diff --git a/main/vlc/vlc.initd b/main/vlc/vlc.initd index 11567dcd86..8fe3b48660 100755 --- a/main/vlc/vlc.initd +++ b/main/vlc/vlc.initd @@ -1,22 +1,32 @@ #!/sbin/runscript +description="VideoLAN daemon" +pidfile="/var/run/vlc/${RC_SVCNAME}.pid" +command="/usr/bin/vlc" + depend() { need net + after firewall +} + +start_pre() { + checkpath --directory --owner vlc:vlc --mode 775 ${pidfile%/*} } start() { - ebegin "Starting VLC" + ebegin "Starting ${RC_SVCNAME}" start-stop-daemon --start \ --user vlc \ - --exec /usr/bin/vlc -- ${VLC_OPTS} + --pidfile ${pidfile} \ + --exec ${command} \ + -- \ + --daemon --pidfile ${pidfile} ${VLC_OPTS} eend $? } -stop () { - ebegin "Stopping VLC" +stop() { + ebegin "Stopping ${RC_SVCNAME}" start-stop-daemon --stop \ - --signal KILL \ - --exec /usr/bin/vlc + --pidfile ${pidfile} eend $? } - diff --git a/main/vlc/vlc.trigger b/main/vlc/vlc.trigger index def39b951a..d7322fcb16 100644 --- a/main/vlc/vlc.trigger +++ b/main/vlc/vlc.trigger @@ -1,4 +1,4 @@ #!/bin/sh -exec /usr/lib/vlc/vlc-cache-gen +exec /usr/lib/vlc/vlc-cache-gen "$@" |