summaryrefslogtreecommitdiff
path: root/media-video/pipewire/files
diff options
context:
space:
mode:
Diffstat (limited to 'media-video/pipewire/files')
-rw-r--r--media-video/pipewire/files/pipewire-0.3.50-fix-spa-header.patch39
-rw-r--r--media-video/pipewire/files/pipewire-0.3.50-treewide-retain-sections-to.patch70
-rw-r--r--media-video/pipewire/files/pipewire-0.3.52-pulse-path.patch78
3 files changed, 78 insertions, 109 deletions
diff --git a/media-video/pipewire/files/pipewire-0.3.50-fix-spa-header.patch b/media-video/pipewire/files/pipewire-0.3.50-fix-spa-header.patch
deleted file mode 100644
index 5b9ad3cf2d7c..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.50-fix-spa-header.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/d3ea3142e1a4de206e616bc18f63a529e6b4986a.patch
-https://bugs.gentoo.org/838427
-
-From: psykose <alice@ayaya.dev>
-Date: Wed, 13 Apr 2022 21:57:49 +0000
-Subject: [PATCH] spa: fix c90 header include
-
-placing declarations after code is invalid under ISO c90
-
-Fixes !1211
---- a/spa/include/spa/utils/string.h
-+++ b/spa/include/spa/utils/string.h
-@@ -276,10 +276,11 @@ static inline int spa_scnprintf(char *buffer, size_t size, const char *format, .
- static inline float spa_strtof(const char *str, char **endptr)
- {
- static locale_t locale = NULL;
-+ locale_t prev;
- float v;
- if (SPA_UNLIKELY(locale == NULL))
- locale = newlocale(LC_ALL_MASK, "C", NULL);
-- locale_t prev = uselocale(locale);
-+ prev = uselocale(locale);
- v = strtof(str, endptr);
- uselocale(prev);
- return v;
-@@ -319,10 +320,11 @@ static inline bool spa_atof(const char *str, float *val)
- static inline double spa_strtod(const char *str, char **endptr)
- {
- static locale_t locale = NULL;
-+ locale_t prev;
- double v;
- if (SPA_UNLIKELY(locale == NULL))
- locale = newlocale(LC_ALL_MASK, "C", NULL);
-- locale_t prev = uselocale(locale);
-+ prev = uselocale(locale);
- v = strtod(str, endptr);
- uselocale(prev);
- return v;
-GitLab
diff --git a/media-video/pipewire/files/pipewire-0.3.50-treewide-retain-sections-to.patch b/media-video/pipewire/files/pipewire-0.3.50-treewide-retain-sections-to.patch
deleted file mode 100644
index 1e1a8198ef26..000000000000
--- a/media-video/pipewire/files/pipewire-0.3.50-treewide-retain-sections-to.patch
+++ /dev/null
@@ -1,70 +0,0 @@
-https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/e28a052105f8ef35b3f469d3b85e1fcb25106f26
-
-From e28a052105f8ef35b3f469d3b85e1fcb25106f26 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Barnab=C3=A1s=20P=C5=91cze?= <pobrn@protonmail.com>
-Date: Wed, 13 Apr 2022 18:13:12 +0200
-Subject: [PATCH] treewide: retain sections to prevent linker garbage
- collection
-
-The linker may remove sections that are actually used when
-"--gc-sections" and "-z start-stop-gc" is set. Add the `retain`
-attribute to prevent that.
-
-Furthermore, fix the alignment for `pwtest_suite_decl` objects.
-
-See: #2292
-See: https://lld.llvm.org/ELF/start-stop-gc.html
-See: https://github.com/systemd/systemd/issues/21847
-See: https://github.com/systemd/systemd/pull/21855
----
- src/modules/module-protocol-pulse/module.h | 1 +
- test/pwtest-implementation.h | 2 +-
- test/pwtest.h | 6 ++++--
- 3 files changed, 6 insertions(+), 3 deletions(-)
-
-diff --git a/src/modules/module-protocol-pulse/module.h b/src/modules/module-protocol-pulse/module.h
-index c1153640e..f75d8786c 100644
---- a/src/modules/module-protocol-pulse/module.h
-+++ b/src/modules/module-protocol-pulse/module.h
-@@ -47,6 +47,7 @@ struct module_info {
-
- #define DEFINE_MODULE_INFO(name) \
- __attribute__((used)) \
-+ __attribute__((retain)) \
- __attribute__((section("pw_mod_pulse_modules"))) \
- __attribute__((aligned(__alignof__(struct module_info)))) \
- const struct module_info name
-diff --git a/test/pwtest-implementation.h b/test/pwtest-implementation.h
-index 7bfad01cf..1525d2056 100644
---- a/test/pwtest-implementation.h
-+++ b/test/pwtest-implementation.h
-@@ -131,7 +131,7 @@ void _pwtest_add(struct pwtest_context *ctx,
- struct pwtest_suite_decl {
- const char *name;
- enum pwtest_result (*setup)(struct pwtest_context *, struct pwtest_suite *);
--} __attribute__((aligned(16)));
-+};
-
-
- #endif /* PWTEST_IMPLEMENTATION_H */
-diff --git a/test/pwtest.h b/test/pwtest.h
-index 9c0737523..6d3070b79 100644
---- a/test/pwtest.h
-+++ b/test/pwtest.h
-@@ -494,9 +494,11 @@ enum pwtest_arg {
- */
- #define PWTEST_SUITE(cname) \
- static enum pwtest_result (cname##__setup)(struct pwtest_context *ctx, struct pwtest_suite *suite); \
-- static const struct pwtest_suite_decl _test_suite \
- __attribute__((used)) \
-- __attribute((section("pwtest_suite_section"))) = { \
-+ __attribute__((retain)) \
-+ __attribute__((section("pwtest_suite_section"))) \
-+ __attribute__((aligned(__alignof__(struct pwtest_suite_decl)))) \
-+ static const struct pwtest_suite_decl _test_suite = { \
- .name = #cname, \
- .setup = cname##__setup, \
- }; \
---
-GitLab
-
diff --git a/media-video/pipewire/files/pipewire-0.3.52-pulse-path.patch b/media-video/pipewire/files/pipewire-0.3.52-pulse-path.patch
new file mode 100644
index 000000000000..09d8ffff699f
--- /dev/null
+++ b/media-video/pipewire/files/pipewire-0.3.52-pulse-path.patch
@@ -0,0 +1,78 @@
+https://gitlab.freedesktop.org/pipewire/pipewire/-/commit/4821c7ca2fe5e25ba018e9f5d4967f08d6bb816f
+
+From: Wim Taymans <wtaymans@redhat.com>
+Date: Thu, 9 Jun 2022 17:06:07 +0200
+Subject: [PATCH] pulse-server: don't append "/pulse" to PULSE_RUNTIME_PATH
+
+Fixes #2431
+--- a/src/modules/module-protocol-pulse/server.c
++++ b/src/modules/module-protocol-pulse/server.c
+@@ -460,7 +460,7 @@ static int parse_unix_address(const char *address, struct sockaddr_storage *addr
+ if (address[0] != '/') {
+ char runtime_dir[PATH_MAX];
+
+- if ((res = get_runtime_dir(runtime_dir, sizeof(runtime_dir), "pulse")) < 0)
++ if ((res = get_runtime_dir(runtime_dir, sizeof(runtime_dir))) < 0)
+ return res;
+
+ res = snprintf(addr.sun_path, sizeof(addr.sun_path),
+--- a/src/modules/module-protocol-pulse/utils.c
++++ b/src/modules/module-protocol-pulse/utils.c
+@@ -50,27 +50,30 @@
+ #include "log.h"
+ #include "utils.h"
+
+-int get_runtime_dir(char *buf, size_t buflen, const char *dir)
++int get_runtime_dir(char *buf, size_t buflen)
+ {
+- const char *runtime_dir;
++ const char *runtime_dir, *dir = NULL;
+ struct stat stat_buf;
+ int res, size;
+
+ runtime_dir = getenv("PULSE_RUNTIME_PATH");
+- if (runtime_dir == NULL)
++ if (runtime_dir == NULL) {
+ runtime_dir = getenv("XDG_RUNTIME_DIR");
+-
++ dir = "pulse";
++ }
+ if (runtime_dir == NULL) {
+ pw_log_error("could not find a suitable runtime directory in"
+ "$PULSE_RUNTIME_PATH and $XDG_RUNTIME_DIR");
+ return -ENOENT;
+ }
+
+- size = snprintf(buf, buflen, "%s/%s", runtime_dir, dir);
++ size = snprintf(buf, buflen, "%s%s%s", runtime_dir,
++ dir ? "/" : "", dir ? dir : "");
+ if (size < 0)
+ return -errno;
+ if ((size_t) size >= buflen) {
+- pw_log_error("path %s/%s too long", runtime_dir, dir);
++ pw_log_error("path %s%s%s too long", runtime_dir,
++ dir ? "/" : "", dir ? dir : "");
+ return -ENAMETOOLONG;
+ }
+
+@@ -182,7 +185,7 @@ int create_pid_file(void) {
+ FILE *f;
+ int res;
+
+- if ((res = get_runtime_dir(pid_file, sizeof(pid_file), "pulse")) < 0)
++ if ((res = get_runtime_dir(pid_file, sizeof(pid_file))) < 0)
+ return res;
+
+ if (strlen(pid_file) > PATH_MAX - sizeof("/pid")) {
+--- a/src/modules/module-protocol-pulse/utils.h
++++ b/src/modules/module-protocol-pulse/utils.h
+@@ -31,7 +31,7 @@
+ struct client;
+ struct pw_context;
+
+-int get_runtime_dir(char *buf, size_t buflen, const char *dir);
++int get_runtime_dir(char *buf, size_t buflen);
+ int check_flatpak(struct client *client, pid_t pid);
+ pid_t get_client_pid(struct client *client, int client_fd);
+ const char *get_server_name(struct pw_context *context);
+GitLab