main/vlc: rebase uclibc-inhibit-spawn.patch

parent 91e4a0a9
......@@ -69,7 +69,8 @@ makedepends="
xcb-util-keysyms-dev
"
source="http://download.videolan.org/pub/videolan/$pkgname/${_ver}/$pkgname-$_pkgver.tar.xz
"
vlc.trigger
uclibc-inhibit-spawn.patch"
_builddir="$srcdir"/$pkgname-$_ver
prepare() {
......@@ -219,6 +220,12 @@ daemon() {
install -d -o vlc -g vlc "$subpkgdir"/var/log/vlc
}
md5sums="8c77bda671821f5b9ede96b6816e2ade vlc-2.1.0.tar.xz"
sha256sums="d2177daa31786acf1e961b2f63429797a8c62c090e5359bcc7929a1ba5fe41f7 vlc-2.1.0.tar.xz"
sha512sums="abf397e1382289d579fec3dc540885c45ba055f158f7c248c5de27a7c50dac5a4c317145c4a786ed3819a9199fc304fa8f43ccde8c33c2938d40c805e7e9b124 vlc-2.1.0.tar.xz"
md5sums="8c77bda671821f5b9ede96b6816e2ade vlc-2.1.0.tar.xz
350b30698eb784def7d19446eb1d6c81 vlc.trigger
01e503127fceed639185232f4e094725 uclibc-inhibit-spawn.patch"
sha256sums="d2177daa31786acf1e961b2f63429797a8c62c090e5359bcc7929a1ba5fe41f7 vlc-2.1.0.tar.xz
0639c022dc844fad95eb0246b1d24557641939bbda91af0c700374378d8f054a vlc.trigger
65bf43e2b536aba2f176497f7e5b82298567b94dd6d94b6468affbda05c2f045 uclibc-inhibit-spawn.patch"
sha512sums="abf397e1382289d579fec3dc540885c45ba055f158f7c248c5de27a7c50dac5a4c317145c4a786ed3819a9199fc304fa8f43ccde8c33c2938d40c805e7e9b124 vlc-2.1.0.tar.xz
a081dd93248b63724ffb65cde0a00db0e1f3b9a1d47074800d898e39dc71c074b3dd3fa18e5fbc45fa90376e7df6d7ef8689c4253c1d9405868a3f8bbd76adcc vlc.trigger
b53ddec0a6f571534a86df698f7b101d5671bb0700783daef710fa7a0d5370dcf9f82540775c782858f5ec8f052e2fefa1d07a723e7aa71b5ec62cf2177a2376 uclibc-inhibit-spawn.patch"
diff --git a/modules/misc/inhibit/xdg.c b/modules/misc/inhibit/xdg.c
index 3f297c6..e16a21e 100644
--- a/modules/misc/inhibit/xdg.c
+++ b/modules/misc/inhibit/xdg.c
@@ -27,7 +27,11 @@
#include <vlc_inhibit.h>
--- a/modules/misc/inhibit/xdg.c 2013-06-24 20:00:38.000000000 +0200
+++ b/modules/misc/inhibit/xdg.c 2013-09-26 13:43:21.819782562 +0200
@@ -28,7 +28,11 @@
#include <assert.h>
#include <errno.h>
#include <signal.h>
-#include <spawn.h>
+#if !defined(_POSIX_SPAWN)
......@@ -15,62 +13,46 @@ index 3f297c6..e16a21e 100644
#include <sys/wait.h>
static int Open (vlc_object_t *);
@@ -47,7 +51,9 @@ struct vlc_inhibit_sys
vlc_thread_t thread;
vlc_cond_t update, inactive;
vlc_mutex_t lock;
@@ -46,7 +50,9 @@
struct vlc_inhibit_sys
{
vlc_timer_t timer;
+#if (_POSIX_SPAWN >= 0)
posix_spawnattr_t attr;
+#endif
bool suspend, suspended;
};
@@ -67,17 +73,19 @@ static int Open (vlc_object_t *obj)
vlc_mutex_init (&p_sys->lock);
vlc_cond_init (&p_sys->update);
vlc_cond_init (&p_sys->inactive);
- posix_spawnattr_init (&p_sys->attr);
/* Reset signal handlers to default and clear mask in the child process */
{
sigset_t set;
extern char **environ;
@@ -91,6 +97,7 @@
if (p_sys == NULL)
return VLC_ENOMEM;
sigemptyset (&set);
- posix_spawnattr_setsigmask (&p_sys->attr, &set);
sigaddset (&set, SIGPIPE);
+#if (_POSIX_SPAWN >= 0)
+ posix_spawnattr_init (&p_sys->attr);
+ posix_spawnattr_setsigmask (&p_sys->attr, &set);
posix_spawnattr_init (&p_sys->attr);
/* Reset signal handlers to default and clear mask in the child process */
{
@@ -102,12 +109,15 @@
posix_spawnattr_setsigdefault (&p_sys->attr, &set);
posix_spawnattr_setflags (&p_sys->attr, POSIX_SPAWN_SETSIGDEF
| POSIX_SPAWN_SETSIGMASK);
+#endif
}
p_sys->suspend = false;
p_sys->suspended = false;
@@ -106,7 +114,9 @@ static void Close (vlc_object_t *obj)
vlc_cancel (p_sys->thread);
vlc_join (p_sys->thread, NULL);
ih->p_sys = p_sys;
if (vlc_timer_create (&p_sys->timer, Timer, ih))
{
+#if (_POSIX_SPAWN >= 0)
posix_spawnattr_destroy (&p_sys->attr);
posix_spawnattr_destroy (&p_sys->attr);
+#endif
vlc_cond_destroy (&p_sys->inactive);
vlc_cond_destroy (&p_sys->update);
vlc_mutex_destroy (&p_sys->lock);
@@ -153,8 +163,16 @@ static void *Thread (void *data)
pid_t pid;
free (p_sys);
return VLC_ENOMEM;
}
@@ -122,6 +132,8 @@
vlc_inhibit_sys_t *p_sys = ih->p_sys;
vlc_mutex_unlock (&p_sys->lock);
vlc_timer_destroy (p_sys->timer);
+#if (_POSIX_SPAWN >= 0)
if (!posix_spawnp (&pid, "xdg-screensaver", NULL, &p_sys->attr,
argv, environ))
+#else
+ pid = fork();
+ if (pid == 0) {
+ execvp("xdg-screensaver", argv);
+ exit(1);
+ } else if (pid > 0)
posix_spawnattr_destroy (&p_sys->attr);
+#endif
{
int status;
free (p_sys);
}
--- 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
--- 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 };
-#ifdef __GLIBC__
+#if defined(__GLIBC__) && !defined(__UCLIBC__)
# include <gnu/libc-version.h>
# include <stdlib.h>
#endif
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.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment