aboutsummaryrefslogtreecommitdiffstats
path: root/main
diff options
context:
space:
mode:
Diffstat (limited to 'main')
-rw-r--r--main/vlc/APKBUILD102
-rw-r--r--main/vlc/uclibc-libcompat.patch90
-rw-r--r--main/vlc/uclibc-no-xscreensaver.patch18
-rw-r--r--main/vlc/uclibc3.patch44
-rw-r--r--main/vlc/vlc.confd10
-rwxr-xr-xmain/vlc/vlc.initd24
-rw-r--r--main/vlc/vlc.trigger2
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 "$@"