aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTimo Teräs <timo.teras@iki.fi>2013-10-06 22:04:03 +0300
committerTimo Teräs <timo.teras@iki.fi>2013-10-06 22:05:34 +0300
commit2ccffc3df0fe8ec17356941d1aca1c0a9c3ba3b0 (patch)
treeb498a3c0286f1f6dd10a1257707be39f65771841
parent8d05ecc84f58e4f5e9b34062fcda4ad35ed58a24 (diff)
downloadaports-2ccffc3df0fe8ec17356941d1aca1c0a9c3ba3b0.tar.bz2
aports-2ccffc3df0fe8ec17356941d1aca1c0a9c3ba3b0.tar.xz
main/vlc: fix networking and screen saver disabling
uclibc defines AI_IDN, but does not support it, so don't try using it. and now that our uclibc has posix_spawn don't patch the calls out, we really need to spawn out the processes.
-rw-r--r--main/vlc/APKBUILD16
-rw-r--r--main/vlc/uclibc-fix-idn.patch13
-rw-r--r--main/vlc/uclibc-inhibit-spawn.patch133
3 files changed, 21 insertions, 141 deletions
diff --git a/main/vlc/APKBUILD b/main/vlc/APKBUILD
index 19eeaec6b4..3ac15a9bde 100644
--- a/main/vlc/APKBUILD
+++ b/main/vlc/APKBUILD
@@ -71,8 +71,8 @@ makedepends="
"
source="http://download.videolan.org/pub/videolan/$pkgname/${_ver}/$pkgname-$_pkgver.tar.xz
vlc.trigger
- uclibc-inhibit-spawn.patch
- uclibc-define-fminf.patch"
+ uclibc-define-fminf.patch
+ uclibc-fix-idn.patch"
_builddir="$srcdir"/$pkgname-$_ver
prepare() {
@@ -224,13 +224,13 @@ daemon() {
md5sums="8c77bda671821f5b9ede96b6816e2ade vlc-2.1.0.tar.xz
350b30698eb784def7d19446eb1d6c81 vlc.trigger
-aa338f067d054887c3834a70686fb3f2 uclibc-inhibit-spawn.patch
-34bacc70c150bdbe19476d84a76f2849 uclibc-define-fminf.patch"
+34bacc70c150bdbe19476d84a76f2849 uclibc-define-fminf.patch
+a57ecdeb28b93c2ac0ade2adff2da2b4 uclibc-fix-idn.patch"
sha256sums="d2177daa31786acf1e961b2f63429797a8c62c090e5359bcc7929a1ba5fe41f7 vlc-2.1.0.tar.xz
0639c022dc844fad95eb0246b1d24557641939bbda91af0c700374378d8f054a vlc.trigger
-c56d36afe86733715bdf48d9236dd6f807744a0f80ae01391f24d51ab02abfde uclibc-inhibit-spawn.patch
-b16801cca70c0f13830a27146025cc55b947897744d9da1ab713c5f5ce0460a0 uclibc-define-fminf.patch"
+b16801cca70c0f13830a27146025cc55b947897744d9da1ab713c5f5ce0460a0 uclibc-define-fminf.patch
+8e15a1c29fed29eeafef4dd37c73cc0da578b40d9d94713ac12a69c101040901 uclibc-fix-idn.patch"
sha512sums="abf397e1382289d579fec3dc540885c45ba055f158f7c248c5de27a7c50dac5a4c317145c4a786ed3819a9199fc304fa8f43ccde8c33c2938d40c805e7e9b124 vlc-2.1.0.tar.xz
a081dd93248b63724ffb65cde0a00db0e1f3b9a1d47074800d898e39dc71c074b3dd3fa18e5fbc45fa90376e7df6d7ef8689c4253c1d9405868a3f8bbd76adcc vlc.trigger
-7f285dd070d4998f0af3dd4a4965a7a181fed5e1e52271a5b30d1b72c3d3cd4a9771a7ef6ff9f094ada95b31c3400a34bdf8f29905d30c1ac3b765621d81e6d4 uclibc-inhibit-spawn.patch
-0d9310afef1afbf15a19bcc8aa1835416830666d79a5461b45df900afde5b115ec7c18d4bc15d36efe45b912ebb51ceb91cc20ebd0be0ecc4ff3fd0e06dd4a55 uclibc-define-fminf.patch"
+0d9310afef1afbf15a19bcc8aa1835416830666d79a5461b45df900afde5b115ec7c18d4bc15d36efe45b912ebb51ceb91cc20ebd0be0ecc4ff3fd0e06dd4a55 uclibc-define-fminf.patch
+24d7ae347a81e05aa2273c180ed76dfb0c8140ef1e4f877a88326fdf37acec0ac8bf1bde98845e40cd57c93fe6e5c186623a6f6f66ed6fe94386826260d88738 uclibc-fix-idn.patch"
diff --git a/main/vlc/uclibc-fix-idn.patch b/main/vlc/uclibc-fix-idn.patch
new file mode 100644
index 0000000000..a93a26b85e
--- /dev/null
+++ b/main/vlc/uclibc-fix-idn.patch
@@ -0,0 +1,13 @@
+diff -ru vlc-2.1.0.orig/include/vlc_network.h vlc-2.1.0/include/vlc_network.h
+--- vlc-2.1.0.orig/include/vlc_network.h 2013-06-24 21:00:38.000000000 +0300
++++ vlc-2.1.0/include/vlc_network.h 2013-10-06 21:59:53.275530885 +0300
+@@ -222,6 +222,9 @@
+ #ifndef AI_NUMERICSERV
+ # define AI_NUMERICSERV 0
+ #endif
++#if defined(__UCLIBC__)
++#undef AI_IDN
++#endif
+ #ifndef AI_IDN
+ # define AI_IDN 0 /* GNU/libc extension */
+ #endif
diff --git a/main/vlc/uclibc-inhibit-spawn.patch b/main/vlc/uclibc-inhibit-spawn.patch
deleted file mode 100644
index 5a8033addc..0000000000
--- a/main/vlc/uclibc-inhibit-spawn.patch
+++ /dev/null
@@ -1,133 +0,0 @@
-diff -rupN a/modules/misc/inhibit/xdg.c b/modules/misc/inhibit/xdg.c
---- a/modules/misc/inhibit/xdg.c 2013-06-24 20:00:38.000000000 +0200
-+++ b/modules/misc/inhibit/xdg.c 2013-09-26 14:45:13.069727587 +0200
-@@ -28,7 +28,11 @@
- #include <assert.h>
- #include <errno.h>
- #include <signal.h>
--#include <spawn.h>
-+#if !defined(_POSIX_SPAWN)
-+# define _POSIX_SPAWN -1
-+#else
-+# include <spawn.h>
-+#endif
- #include <sys/wait.h>
-
- static int Open (vlc_object_t *);
-@@ -46,7 +50,9 @@ vlc_module_end ()
- struct vlc_inhibit_sys
- {
- vlc_timer_t timer;
-+#if (_POSIX_SPAWN >= 0)
- posix_spawnattr_t attr;
-+#endif
- };
-
- extern char **environ;
-@@ -60,8 +66,12 @@ static void Timer (void *data)
- };
- pid_t pid;
-
-+#if (_POSIX_SPAWN >= 0)
- int err = posix_spawnp (&pid, "xdg-screensaver", NULL, &sys->attr,
- argv, environ);
-+#else
-+ int err;
-+#endif
- if (err == 0)
- {
- int status;
-@@ -91,6 +101,7 @@ static int Open (vlc_object_t *obj)
- if (p_sys == NULL)
- return VLC_ENOMEM;
-
-+#if (_POSIX_SPAWN >= 0)
- posix_spawnattr_init (&p_sys->attr);
- /* Reset signal handlers to default and clear mask in the child process */
- {
-@@ -103,11 +114,14 @@ static int Open (vlc_object_t *obj)
- posix_spawnattr_setflags (&p_sys->attr, POSIX_SPAWN_SETSIGDEF
- | POSIX_SPAWN_SETSIGMASK);
- }
-+#endif
-
- ih->p_sys = p_sys;
- if (vlc_timer_create (&p_sys->timer, Timer, ih))
- {
-+#if (_POSIX_SPAWN >= 0)
- posix_spawnattr_destroy (&p_sys->attr);
-+#endif
- free (p_sys);
- return VLC_ENOMEM;
- }
-@@ -122,6 +136,8 @@ static void Close (vlc_object_t *obj)
- vlc_inhibit_sys_t *p_sys = ih->p_sys;
-
- vlc_timer_destroy (p_sys->timer);
-+#if (_POSIX_SPAWN >= 0)
- posix_spawnattr_destroy (&p_sys->attr);
-+#endif
- free (p_sys);
- }
-diff -rupN a/src/posix/netconf.c b/src/posix/netconf.c
---- a/src/posix/netconf.c 2013-06-24 20:00:39.000000000 +0200
-+++ b/src/posix/netconf.c 2013-09-26 13:56:46.149770648 +0200
-@@ -29,7 +29,11 @@
- #include <sys/types.h>
- #include <sys/wait.h>
- #include <fcntl.h>
-+#if !defined(_POSIX_SPAWN)
-+# define _POSIX_SPAWN -1
-+#else
- #include <spawn.h>
-+#endif
- #include <unistd.h>
-
- extern char **environ;
-@@ -47,36 +51,45 @@ char *vlc_getProxyUrl(const char *url)
- {
- /* libproxy helper */
- pid_t pid;
-+#if (_POSIX_SPAWN >= 0)
- posix_spawn_file_actions_t actions;
- posix_spawnattr_t attr;
-+#endif
- char *argv[3] = { (char *)"proxy", (char *)url, NULL };
- int fd[2];
-
- if (vlc_pipe(fd))
- return NULL;
-
-+#if (_POSIX_SPAWN >= 0)
- posix_spawn_file_actions_init(&actions);
- posix_spawn_file_actions_addopen(&actions, STDIN_FILENO, "/dev/null",
- O_RDONLY, 0644);
- posix_spawn_file_actions_adddup2(&actions, fd[1], STDOUT_FILENO);
-
- posix_spawnattr_init(&attr);
-+#endif
- {
- sigset_t set;
-
- sigemptyset(&set);
-+#if (_POSIX_SPAWN >= 0)
- posix_spawnattr_setsigmask(&attr, &set);
-+#endif
- sigaddset (&set, SIGPIPE);
-+#if (_POSIX_SPAWN >= 0)
- posix_spawnattr_setsigdefault(&attr, &set);
- posix_spawnattr_setflags(&attr, POSIX_SPAWN_SETSIGDEF
- | POSIX_SPAWN_SETSIGMASK);
-+#endif
- }
--
-+#if (_POSIX_SPAWN >= 0)
- if (posix_spawnp(&pid, "proxy", &actions, &attr, argv, environ))
- pid = -1;
-
- posix_spawnattr_destroy(&attr);
- posix_spawn_file_actions_destroy(&actions);
-+#endif
- close(fd[1]);
-
- if (pid != -1)