diff options
author | Gleb Popov <arrowd@FreeBSD.org> | 2021-11-20 16:47:48 +0000 |
---|---|---|
committer | Gleb Popov <arrowd@FreeBSD.org> | 2021-11-20 16:49:30 +0000 |
commit | 8691df3a5142ab9381d6f1c9af2377dd4696e084 (patch) | |
tree | b9deaabf1d03f520ee075468ae3529ba91f4db66 | |
parent | e96d989c1370e9e7ecbbdf802fa484a4ee08641d (diff) | |
download | ports-8691df3a5142ab9381d6f1c9af2377dd4696e084.tar.gz ports-8691df3a5142ab9381d6f1c9af2377dd4696e084.zip |
multimedia/pipewire: Add a patch to fix ambguous function name issue.
PR: 259621
-rw-r--r-- | multimedia/pipewire/Makefile | 1 | ||||
-rw-r--r-- | multimedia/pipewire/files/patch-src_pipewire_pipewire_init | 67 |
2 files changed, 68 insertions, 0 deletions
diff --git a/multimedia/pipewire/Makefile b/multimedia/pipewire/Makefile index bcfd2e6556bf..e0b9dd101729 100644 --- a/multimedia/pipewire/Makefile +++ b/multimedia/pipewire/Makefile @@ -1,5 +1,6 @@ PORTNAME= pipewire DISTVERSION= 0.3.40 +PORTREVISION= 1 CATEGORIES= multimedia MASTER_SITES= https://gitlab.freedesktop.org/pipewire/media-session/-/archive/${MEDIA_SESSION_VERSION}/:media_session DISTFILES= media-session-${MEDIA_SESSION_VERSION}${EXTRACT_SUFX}:media_session diff --git a/multimedia/pipewire/files/patch-src_pipewire_pipewire_init b/multimedia/pipewire/files/patch-src_pipewire_pipewire_init new file mode 100644 index 000000000000..3f94963d19c0 --- /dev/null +++ b/multimedia/pipewire/files/patch-src_pipewire_pipewire_init @@ -0,0 +1,67 @@ +PipeWire exports a function named "pw_init". FreeBSD also has the libutil.so +library, which exports a function with the same name. To workaround the +conflict, rename the PipeWire init function into "pipewire_init". + +Upstream issue: https://gitlab.freedesktop.org/pipewire/pipewire/-/issues/1819 + +--- src/pipewire/pipewire.c.orig 2021-11-11 12:21:29 UTC ++++ src/pipewire/pipewire.c +@@ -583,7 +583,7 @@ out: + * + */ + SPA_EXPORT +-void pw_init(int *argc, char **argv[]) ++void pipewire_init(int *argc, char **argv[]) + { + const char *str; + struct spa_dict_item items[6]; +@@ -672,8 +672,9 @@ done: + pthread_mutex_unlock(&init_lock); + } + ++ + SPA_EXPORT +-void pw_deinit(void) ++void pipewire_deinit(void) + { + struct support *support = &global_support; + struct registry *registry = &support->registry; +@@ -696,6 +697,21 @@ void pw_deinit(void) + pthread_mutex_unlock(&init_lock); + + } ++ ++#if !defined(__FreeBSD__) ++#undef pw_init ++SPA_EXPORT ++void pw_init(int *argc, char **argv[]) ++{ ++ pipewire_init(argc, argv); ++} ++#undef pw_deinit ++SPA_EXPORT ++void pw_deinit(void) ++{ ++ pipewire_deinit(); ++} ++#endif + + /** Check if a debug category is enabled + * +--- src/pipewire/pipewire.h.orig 2021-11-11 12:21:29 UTC ++++ src/pipewire/pipewire.h +@@ -69,9 +69,12 @@ extern "C" { + * \{ + */ + void +-pw_init(int *argc, char **argv[]); ++pipewire_init(int *argc, char **argv[]); ++void pipewire_deinit(void); + +-void pw_deinit(void); ++/* BSD has pw_init already */ ++#define pw_init pipewire_init ++#define pw_deinit pipewire_deinit + + bool + pw_debug_is_category_enabled(const char *name); |