aboutsummaryrefslogtreecommitdiffstats
path: root/multimedia
diff options
context:
space:
mode:
authorriggs <riggs@FreeBSD.org>2016-06-01 14:17:51 +0800
committerriggs <riggs@FreeBSD.org>2016-06-01 14:17:51 +0800
commit10a168b51ad73a9a0fcd2bf05e692712486ecbbb (patch)
treea60fd76faf476f6f838eaa5ed10a7ab0bf9d4f34 /multimedia
parentdbd0ceafc85e8b11a3624d3a405f57e8bf046eb7 (diff)
downloadfreebsd-ports-gnome-10a168b51ad73a9a0fcd2bf05e692712486ecbbb.tar.gz
freebsd-ports-gnome-10a168b51ad73a9a0fcd2bf05e692712486ecbbb.tar.zst
freebsd-ports-gnome-10a168b51ad73a9a0fcd2bf05e692712486ecbbb.zip
Fix build with libc++ 3.8.0
VLC brings its own header for atomic operations which defines a whole bunch of atomic macros, conflicting with the ones in the C++ standard <atomic> header. This changeset works around those. PR: 209722 Submitted by: dim
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/vlc/files/patch-include_vlc__atomic.h17
-rw-r--r--multimedia/vlc/files/patch-include_vlc__playlist.h19
-rw-r--r--multimedia/vlc/files/patch-include_vlc__sout.h22
-rw-r--r--multimedia/vlc/files/patch-modules_gui_qt4_dialogs_messages.hpp11
4 files changed, 69 insertions, 0 deletions
diff --git a/multimedia/vlc/files/patch-include_vlc__atomic.h b/multimedia/vlc/files/patch-include_vlc__atomic.h
new file mode 100644
index 000000000000..064bf0f4c58f
--- /dev/null
+++ b/multimedia/vlc/files/patch-include_vlc__atomic.h
@@ -0,0 +1,17 @@
+--- include/vlc_atomic.h.orig 2014-08-14 07:20:03 UTC
++++ include/vlc_atomic.h
+@@ -32,6 +32,14 @@
+ /*** Native C11 atomics ***/
+ # include <stdatomic.h>
+
++# elif defined (__cplusplus) && defined(_LIBCPP_VERSION) && _LIBCPP_VERSION >= 3800
++
++# include <atomic>
++
++using std::atomic_uint_least32_t;
++using std::atomic_uintptr_t;
++using std::atomic_int;
++
+ # else
+
+ # define ATOMIC_FLAG_INIT false
diff --git a/multimedia/vlc/files/patch-include_vlc__playlist.h b/multimedia/vlc/files/patch-include_vlc__playlist.h
new file mode 100644
index 000000000000..c846d1a7ade5
--- /dev/null
+++ b/multimedia/vlc/files/patch-include_vlc__playlist.h
@@ -0,0 +1,19 @@
+--- include/vlc_playlist.h.orig 2014-11-16 18:57:58 UTC
++++ include/vlc_playlist.h
+@@ -24,13 +24,13 @@
+ #ifndef VLC_PLAYLIST_H_
+ #define VLC_PLAYLIST_H_
+
++#include <vlc_input.h>
++#include <vlc_events.h>
++
+ # ifdef __cplusplus
+ extern "C" {
+ # endif
+
+-#include <vlc_input.h>
+-#include <vlc_events.h>
+-
+ TYPEDEF_ARRAY(playlist_item_t*, playlist_item_array_t)
+
+ struct intf_thread_t;
diff --git a/multimedia/vlc/files/patch-include_vlc__sout.h b/multimedia/vlc/files/patch-include_vlc__sout.h
new file mode 100644
index 000000000000..fb99aad4f588
--- /dev/null
+++ b/multimedia/vlc/files/patch-include_vlc__sout.h
@@ -0,0 +1,22 @@
+--- include/vlc_sout.h.orig 2014-11-16 18:57:58 UTC
++++ include/vlc_sout.h
+@@ -28,6 +28,9 @@
+ #ifndef VLC_SOUT_H_
+ #define VLC_SOUT_H_
+
++#include <sys/types.h>
++#include <vlc_es.h>
++
+ /**
+ * \file
+ * This file defines structures and functions for stream output in vlc
+@@ -37,9 +40,6 @@
+ extern "C" {
+ #endif
+
+-#include <sys/types.h>
+-#include <vlc_es.h>
+-
+ /** Stream output instance (FIXME: should be private to src/ to avoid
+ * invalid unsynchronized access) */
+ struct sout_instance_t
diff --git a/multimedia/vlc/files/patch-modules_gui_qt4_dialogs_messages.hpp b/multimedia/vlc/files/patch-modules_gui_qt4_dialogs_messages.hpp
new file mode 100644
index 000000000000..bb70dc1bf936
--- /dev/null
+++ b/multimedia/vlc/files/patch-modules_gui_qt4_dialogs_messages.hpp
@@ -0,0 +1,11 @@
+--- modules/gui/qt4/dialogs/messages.hpp.orig 2014-08-14 07:20:04 UTC
++++ modules/gui/qt4/dialogs/messages.hpp
+@@ -55,7 +55,7 @@ private:
+ void sinkMessage( const MsgEvent * );
+ bool matchFilter( const QString& );
+
+- atomic_uint verbosity;
++ atomic_int verbosity;
+ static void MsgCallback( void *, int, const vlc_log_t *, const char *,
+ va_list );
+