diff --git a/srcpkgs/webrtc-audio-processing/patches/001.patch b/srcpkgs/webrtc-audio-processing/patches/001.patch deleted file mode 100644 index 3c0ebeafad7..00000000000 --- a/srcpkgs/webrtc-audio-processing/patches/001.patch +++ /dev/null @@ -1,119 +0,0 @@ -From bf25c45e540d7e961704c245e7be439b580c93c2 Mon Sep 17 00:00:00 2001 -From: Nicolas Dufresne -Date: Thu, 30 Jun 2016 15:08:17 -0400 -Subject: Add missing windows specific headers - -https://bugs.freedesktop.org/show_bug.cgi?id=96754 - -diff --git a/webrtc/base/win32.h b/webrtc/base/win32.h -new file mode 100644 -index 0000000..6969c10 ---- /dev/null -+++ b/webrtc/base/win32.h -@@ -0,0 +1,103 @@ -+/* -+ * Copyright 2004 The WebRTC Project Authors. All rights reserved. -+ * -+ * Use of this source code is governed by a BSD-style license -+ * that can be found in the LICENSE file in the root of the source -+ * tree. An additional intellectual property rights grant can be found -+ * in the file PATENTS. All contributing project authors may -+ * be found in the AUTHORS file in the root of the source tree. -+ */ -+#ifndef WEBRTC_BASE_WIN32_H_ -+#define WEBRTC_BASE_WIN32_H_ -+#if defined(WEBRTC_WIN) -+#ifndef WIN32_LEAN_AND_MEAN -+#define WIN32_LEAN_AND_MEAN -+#endif -+// Make sure we don't get min/max macros -+#ifndef NOMINMAX -+#define NOMINMAX -+#endif -+#include -+#include -+#ifndef SECURITY_MANDATORY_LABEL_AUTHORITY -+// Add defines that we use if we are compiling against older sdks -+#define SECURITY_MANDATORY_MEDIUM_RID (0x00002000L) -+#define TokenIntegrityLevel static_cast(0x19) -+typedef struct _TOKEN_MANDATORY_LABEL { -+ SID_AND_ATTRIBUTES Label; -+} TOKEN_MANDATORY_LABEL, *PTOKEN_MANDATORY_LABEL; -+#endif // SECURITY_MANDATORY_LABEL_AUTHORITY -+#undef SetPort -+#include -+#include "webrtc/base/stringutils.h" -+#include "webrtc/base/basictypes.h" -+namespace rtc { -+const char* win32_inet_ntop(int af, const void *src, char* dst, socklen_t size); -+int win32_inet_pton(int af, const char* src, void *dst); -+inline std::wstring ToUtf16(const char* utf8, size_t len) { -+ int len16 = ::MultiByteToWideChar(CP_UTF8, 0, utf8, static_cast(len), -+ NULL, 0); -+ wchar_t* ws = STACK_ARRAY(wchar_t, len16); -+ ::MultiByteToWideChar(CP_UTF8, 0, utf8, static_cast(len), ws, len16); -+ return std::wstring(ws, len16); -+} -+inline std::wstring ToUtf16(const std::string& str) { -+ return ToUtf16(str.data(), str.length()); -+} -+inline std::string ToUtf8(const wchar_t* wide, size_t len) { -+ int len8 = ::WideCharToMultiByte(CP_UTF8, 0, wide, static_cast(len), -+ NULL, 0, NULL, NULL); -+ char* ns = STACK_ARRAY(char, len8); -+ ::WideCharToMultiByte(CP_UTF8, 0, wide, static_cast(len), ns, len8, -+ NULL, NULL); -+ return std::string(ns, len8); -+} -+inline std::string ToUtf8(const wchar_t* wide) { -+ return ToUtf8(wide, wcslen(wide)); -+} -+inline std::string ToUtf8(const std::wstring& wstr) { -+ return ToUtf8(wstr.data(), wstr.length()); -+} -+// Convert FILETIME to time_t -+void FileTimeToUnixTime(const FILETIME& ft, time_t* ut); -+// Convert time_t to FILETIME -+void UnixTimeToFileTime(const time_t& ut, FILETIME * ft); -+// Convert a Utf8 path representation to a non-length-limited Unicode pathname. -+bool Utf8ToWindowsFilename(const std::string& utf8, std::wstring* filename); -+// Convert a FILETIME to a UInt64 -+inline uint64_t ToUInt64(const FILETIME& ft) { -+ ULARGE_INTEGER r = {{ft.dwLowDateTime, ft.dwHighDateTime}}; -+ return r.QuadPart; -+} -+enum WindowsMajorVersions { -+ kWindows2000 = 5, -+ kWindowsVista = 6, -+}; -+bool GetOsVersion(int* major, int* minor, int* build); -+inline bool IsWindowsVistaOrLater() { -+ int major; -+ return (GetOsVersion(&major, NULL, NULL) && major >= kWindowsVista); -+} -+inline bool IsWindowsXpOrLater() { -+ int major, minor; -+ return (GetOsVersion(&major, &minor, NULL) && -+ (major >= kWindowsVista || -+ (major == kWindows2000 && minor >= 1))); -+} -+inline bool IsWindows8OrLater() { -+ int major, minor; -+ return (GetOsVersion(&major, &minor, NULL) && -+ (major > kWindowsVista || -+ (major == kWindowsVista && minor >= 2))); -+} -+// Determine the current integrity level of the process. -+bool GetCurrentProcessIntegrityLevel(int* level); -+inline bool IsCurrentProcessLowIntegrity() { -+ int level; -+ return (GetCurrentProcessIntegrityLevel(&level) && -+ level < SECURITY_MANDATORY_MEDIUM_RID); -+} -+bool AdjustCurrentProcessPrivilege(const TCHAR* privilege, bool to_enable); -+} // namespace rtc -+#endif // WEBRTC_WIN -+#endif // WEBRTC_BASE_WIN32_H_ --- -cgit v0.10.2 - diff --git a/srcpkgs/webrtc-audio-processing/patches/002.patch b/srcpkgs/webrtc-audio-processing/patches/002.patch deleted file mode 100644 index aa0ecb23e87..00000000000 --- a/srcpkgs/webrtc-audio-processing/patches/002.patch +++ /dev/null @@ -1,56 +0,0 @@ -From 560f300a3d84bbd2b48173aaee5166584d917c44 Mon Sep 17 00:00:00 2001 -From: Nicolas Dufresne -Date: Thu, 30 Jun 2016 16:19:49 -0400 -Subject: build: Add cerbero gnustl support for Android - - -diff --git a/configure.ac b/configure.ac -index 6f9553b..f34be72 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -26,6 +26,21 @@ AS_CASE(["x${with_ns_mode}"], - [NS_FIXED=0]) - AM_CONDITIONAL(NS_FIXED, [test "x${NS_FIXED}" = "x1"]) - -+AC_ARG_WITH( -+ gnustl, -+ AC_HELP_STRING( -+ [--with-gnustl], -+ [use gnustl @<:@default=no@:>@]), -+ [AS_CASE( -+ [$withval], [no], [], [yes], [], -+ [AC_MSG_ERROR([bad value "$withval" for --with-gnustl])])], -+ [with_gnustl=no]) -+if test "x$with_gnustl" != "xno"; then -+ PKG_CHECK_MODULES(GNUSTL, gnustl) -+fi -+AC_SUBST(GNUSTL_LIBS) -+AC_SUBST(GNUSTL_CFLAGS) -+ - - # Borrowed from gst-plugins-bad - AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_IOS="yes", HAVE_IOS="no", [-]) -@@ -104,7 +119,7 @@ AS_IF([test "x$enable_neon" != "xno"], - AM_CONDITIONAL([HAVE_NEON], [test "x$HAVE_NEON" = "x1"]) - - COMMON_CFLAGS="-DWEBRTC_AUDIO_PROCESSING_ONLY_BUILD ${PLATFORM_CFLAGS} ${OS_CFLAGS} ${ARCH_CFLAGS} -DNDEBUG -I\$(top_srcdir)" --COMMON_CXXFLAGS="-std=c++11 -DWEBRTC_AUDIO_PROCESSING_ONLY_BUILD ${PLATFORM_CFLAGS} ${OS_CFLAGS} ${ARCH_CFLAGS} -DNDEBUG -I\$(top_srcdir)" -+COMMON_CXXFLAGS="-std=c++11 -DWEBRTC_AUDIO_PROCESSING_ONLY_BUILD ${PLATFORM_CFLAGS} ${OS_CFLAGS} ${ARCH_CFLAGS} ${GNUSTL_CFLAGS} -DNDEBUG -I\$(top_srcdir)" - AC_SUBST([COMMON_CFLAGS]) - AC_SUBST([COMMON_CXXFLAGS]) - -diff --git a/webrtc/modules/audio_processing/Makefile.am b/webrtc/modules/audio_processing/Makefile.am -index 30ca898..eb9bfc0 100644 ---- a/webrtc/modules/audio_processing/Makefile.am -+++ b/webrtc/modules/audio_processing/Makefile.am -@@ -173,6 +173,7 @@ libwebrtc_audio_processing_la_LIBADD = $(top_builddir)/webrtc/libwebrtc.la \ - $(top_builddir)/webrtc/common_audio/libcommon_audio.la \ - $(top_builddir)/webrtc/modules/audio_coding/libaudio_coding.la \ - $(LIBWEBRTC_PRIVATEARCH) \ -+ $(GNUSTL_LIBS) \ - -lpthread - libwebrtc_audio_processing_la_LDFLAGS = $(AM_LDFLAGS) \ - -Wl,--no-undefined \ --- -cgit v0.10.2 - diff --git a/srcpkgs/webrtc-audio-processing/patches/003.patch b/srcpkgs/webrtc-audio-processing/patches/003.patch deleted file mode 100644 index ba24370da2a..00000000000 --- a/srcpkgs/webrtc-audio-processing/patches/003.patch +++ /dev/null @@ -1,27 +0,0 @@ -From 44cf7726cac66c88afa0a752aff461e0c2918ebd Mon Sep 17 00:00:00 2001 -From: Nicolas Dufresne -Date: Thu, 30 Jun 2016 16:49:16 -0400 -Subject: build: Don't blindly link to pthread - -This otherwise breaks the build on Android and Windows. The flag is -required on some Linux builds, and is readded in a subsequent commit. - -https://bugs.freedesktop.org/show_bug.cgi?id=96754 - -diff --git a/webrtc/modules/audio_processing/Makefile.am b/webrtc/modules/audio_processing/Makefile.am -index eb9bfc0..8e45e3d 100644 ---- a/webrtc/modules/audio_processing/Makefile.am -+++ b/webrtc/modules/audio_processing/Makefile.am -@@ -173,8 +173,7 @@ libwebrtc_audio_processing_la_LIBADD = $(top_builddir)/webrtc/libwebrtc.la \ - $(top_builddir)/webrtc/common_audio/libcommon_audio.la \ - $(top_builddir)/webrtc/modules/audio_coding/libaudio_coding.la \ - $(LIBWEBRTC_PRIVATEARCH) \ -- $(GNUSTL_LIBS) \ -- -lpthread -+ $(GNUSTL_LIBS) - libwebrtc_audio_processing_la_LDFLAGS = $(AM_LDFLAGS) \ - -Wl,--no-undefined \ - -version-info $(LIBWEBRTC_AUDIO_PROCESSING_VERSION_INFO) --- -cgit v0.10.2 - diff --git a/srcpkgs/webrtc-audio-processing/patches/004.patch b/srcpkgs/webrtc-audio-processing/patches/004.patch deleted file mode 100644 index 13c1cf253db..00000000000 --- a/srcpkgs/webrtc-audio-processing/patches/004.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 12ac8441f75bab2a256278926fe32450a311af1b Mon Sep 17 00:00:00 2001 -From: Nicolas Dufresne -Date: Mon, 4 Jul 2016 15:07:48 -0400 -Subject: build: Add required define for Windows - -This will also add it to the .pc file as WEBRTC_WIN leaks into the -public interface and undefined __STRICT_ANSI__ so M_PI is available. - -https://bugs.freedesktop.org/show_bug.cgi?id=96754 - -diff --git a/configure.ac b/configure.ac -index f34be72..ccaa758 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -65,8 +65,11 @@ AS_CASE(["${host}"], - [OS_FLAGS="-DWEBRTC_MAC -DWEBRTC_IOS"], - [OS_FLAGS="-DWEBRTC_MAC"]) - PLATFORM_CFLAGS="-DWEBRTC_POSIX" -+ ], -+ [*-mingw32*], -+ [ -+ PLATFORM_CFLAGS="-DWEBRTC_WIN -U__STRICT_ANSI__" - ] -- # FIXME: Add Windows support - ) - AC_SUBST(PLATFORM_CFLAGS) - --- -cgit v0.10.2 - diff --git a/srcpkgs/webrtc-audio-processing/patches/005.patch b/srcpkgs/webrtc-audio-processing/patches/005.patch deleted file mode 100644 index 3fac04a556e..00000000000 --- a/srcpkgs/webrtc-audio-processing/patches/005.patch +++ /dev/null @@ -1,76 +0,0 @@ -From bf6b9de143edfe45ec6f40845510bdb655f866aa Mon Sep 17 00:00:00 2001 -From: Nicolas Dufresne -Date: Mon, 4 Jul 2016 16:02:29 -0400 -Subject: build: Properly select the right system wrappers - -This is needed for windows build to be usable. - -https://bugs.freedesktop.org/show_bug.cgi?id=96754 - -diff --git a/configure.ac b/configure.ac -index ccaa758..92706e7 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -53,11 +53,13 @@ AS_CASE(["${host}"], - [ - OS_CFLAGS="-DWEBRTC_ANDROID -DWEBRTC_LINUX" - PLATFORM_CFLAGS="-DWEBRTC_POSIX" -+ HAVE_POSIX=1 - ], - [*-*linux*], - [ - OS_CFLAGS="-DWEBRTC_LINUX" - PLATFORM_CFLAGS="-DWEBRTC_POSIX" -+ HAVE_POSIX=1 - ], - [*-*darwin*], - [ -@@ -65,13 +67,17 @@ AS_CASE(["${host}"], - [OS_FLAGS="-DWEBRTC_MAC -DWEBRTC_IOS"], - [OS_FLAGS="-DWEBRTC_MAC"]) - PLATFORM_CFLAGS="-DWEBRTC_POSIX" -+ HAVE_POSIX=1 - ], - [*-mingw32*], - [ - PLATFORM_CFLAGS="-DWEBRTC_WIN -U__STRICT_ANSI__" -+ HAVE_WIN=1 - ] - ) - AC_SUBST(PLATFORM_CFLAGS) -+AM_CONDITIONAL(HAVE_POSIX, [test "x${HAVE_POSIX}" = "x1"]) -+AM_CONDITIONAL(HAVE_WIN, [test "x${HAVE_WIN}" = "x1"]) - - AS_CASE(["${host_cpu}"], - [i?86|x86_64], -diff --git a/webrtc/system_wrappers/Makefile.am b/webrtc/system_wrappers/Makefile.am -index 6c9f4ee..8215013 100644 ---- a/webrtc/system_wrappers/Makefile.am -+++ b/webrtc/system_wrappers/Makefile.am -@@ -42,13 +42,21 @@ libsystem_wrappers_la_SOURCES = include/aligned_malloc.h \ - source/trace_impl.h \ - source/trace_posix.h \ - source/trace_win.h --# This assumes that we want the POSIX implementation -- should eventually be --# converted to a conditional to include Windows support -+if HAVE_POSIX - libsystem_wrappers_la_SOURCES += source/critical_section_posix.cc \ - source/event_timer_posix.cc \ - source/rw_lock_posix.cc \ - source/thread_posix.cc \ - source/trace_posix.cc -+endif -+if HAVE_WIN -+libsystem_wrappers_la_SOURCES += source/critical_section_win.cc \ -+ source/event_timer_win.cc \ -+ source/rw_lock_win.cc \ -+ source/rw_lock_generic.cc \ -+ source/thread_win.cc \ -+ source/trace_win.cc -+endif - libsystem_wrappers_la_CXXFLAGS = $(AM_CXXFLAGS) $(COMMON_CXXFLAGS) - - EXTRA_DIST = BUILD.gn \ --- -cgit v0.10.2 - diff --git a/srcpkgs/webrtc-audio-processing/patches/006.patch b/srcpkgs/webrtc-audio-processing/patches/006.patch deleted file mode 100644 index 6edabbdac27..00000000000 --- a/srcpkgs/webrtc-audio-processing/patches/006.patch +++ /dev/null @@ -1,23 +0,0 @@ -From db2f422578140ba6aaf7a2a1d54caacf832fbee2 Mon Sep 17 00:00:00 2001 -From: Nicolas Dufresne -Date: Mon, 4 Jul 2016 17:54:45 -0400 -Subject: build: Define MSVC _WIN32 so we can build on mingw - -https://bugs.freedesktop.org/show_bug.cgi?id=96754 - -diff --git a/configure.ac b/configure.ac -index 92706e7..5ec8517 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -71,7 +71,7 @@ AS_CASE(["${host}"], - ], - [*-mingw32*], - [ -- PLATFORM_CFLAGS="-DWEBRTC_WIN -U__STRICT_ANSI__" -+ PLATFORM_CFLAGS="-DWEBRTC_WIN -D_WIN32 -U__STRICT_ANSI__" - HAVE_WIN=1 - ] - ) --- -cgit v0.10.2 - diff --git a/srcpkgs/webrtc-audio-processing/patches/007.patch b/srcpkgs/webrtc-audio-processing/patches/007.patch deleted file mode 100644 index 4eae5c38147..00000000000 --- a/srcpkgs/webrtc-audio-processing/patches/007.patch +++ /dev/null @@ -1,601 +0,0 @@ -From 6ad2f51e9e94daf6b5925590c4cc08459a2e0833 Mon Sep 17 00:00:00 2001 -From: Nicolas Dufresne -Date: Mon, 4 Jul 2016 22:12:20 -0400 -Subject: Add missing windows conditions variable - -Those are used by generic RW lock implementation. - -https://bugs.freedesktop.org/show_bug.cgi?id=96754 - -diff --git a/webrtc/system_wrappers/Makefile.am b/webrtc/system_wrappers/Makefile.am -index 8215013..09973a7 100644 ---- a/webrtc/system_wrappers/Makefile.am -+++ b/webrtc/system_wrappers/Makefile.am -@@ -2,6 +2,7 @@ noinst_LTLIBRARIES = libsystem_wrappers.la - - noinst_HEADERS = include/aligned_array.h \ - include/asm_defines.h \ -+ include/condition_variable_wrapper.h \ - include/compile_assert_c.h \ - include/event_wrapper.h \ - include/scoped_vector.h \ -@@ -42,27 +43,49 @@ libsystem_wrappers_la_SOURCES = include/aligned_malloc.h \ - source/trace_impl.h \ - source/trace_posix.h \ - source/trace_win.h -+ -+EXTRA_DIST = BUILD.gn -+ - if HAVE_POSIX - libsystem_wrappers_la_SOURCES += source/critical_section_posix.cc \ - source/event_timer_posix.cc \ - source/rw_lock_posix.cc \ - source/thread_posix.cc \ - source/trace_posix.cc -+else -+EXTRA_DIST += source/critical_section_posix.cc \ -+ source/event_timer_posix.cc \ -+ source/rw_lock_posix.cc \ -+ source/thread_posix.cc \ -+ source/trace_posix.cc - endif -+ - if HAVE_WIN --libsystem_wrappers_la_SOURCES += source/critical_section_win.cc \ -+libsystem_wrappers_la_SOURCES += include/fix_interlocked_exchange_pointer_win.h \ -+ source/critical_section_win.cc \ -+ source/condition_variable.cc \ -+ source/condition_variable_event_win.cc \ -+ source/condition_variable_event_win.h \ -+ source/condition_variable_native_win.cc \ -+ source/condition_variable_native_win.h \ - source/event_timer_win.cc \ - source/rw_lock_win.cc \ - source/rw_lock_generic.cc \ - source/thread_win.cc \ - source/trace_win.cc -+else -+EXTRA_DIST += include/fix_interlocked_exchange_pointer_win.h \ -+ source/critical_section_win.cc \ -+ source/condition_variable.cc \ -+ source/condition_variable_event_win.cc \ -+ source/condition_variable_event_win.h \ -+ source/condition_variable_native_win.cc \ -+ source/condition_variable_native_win.h \ -+ source/event_timer_win.cc \ -+ source/rw_lock_generic.cc \ -+ source/rw_lock_win.cc \ -+ source/thread_win.cc \ -+ source/trace_win.cc - endif --libsystem_wrappers_la_CXXFLAGS = $(AM_CXXFLAGS) $(COMMON_CXXFLAGS) - --EXTRA_DIST = BUILD.gn \ -- source/critical_section_win.cc \ -- source/event_timer_win.cc \ -- source/rw_lock_generic.cc \ -- source/rw_lock_win.cc \ -- source/thread_win.cc \ -- source/trace_win.cc -+libsystem_wrappers_la_CXXFLAGS = $(AM_CXXFLAGS) $(COMMON_CXXFLAGS) -diff --git a/webrtc/system_wrappers/include/condition_variable_wrapper.h b/webrtc/system_wrappers/include/condition_variable_wrapper.h -new file mode 100644 -index 0000000..37ca30f ---- /dev/null -+++ b/webrtc/system_wrappers/include/condition_variable_wrapper.h -@@ -0,0 +1,42 @@ -+/* -+ * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. -+ * -+ * Use of this source code is governed by a BSD-style license -+ * that can be found in the LICENSE file in the root of the source -+ * tree. An additional intellectual property rights grant can be found -+ * in the file PATENTS. All contributing project authors may -+ * be found in the AUTHORS file in the root of the source tree. -+ */ -+ -+#ifndef WEBRTC_SYSTEM_WRAPPERS_INCLUDE_CONDITION_VARIABLE_WRAPPER_H_ -+#define WEBRTC_SYSTEM_WRAPPERS_INCLUDE_CONDITION_VARIABLE_WRAPPER_H_ -+ -+namespace webrtc { -+ -+class CriticalSectionWrapper; -+ -+class ConditionVariableWrapper { -+ public: -+ // Factory method, constructor disabled. -+ static ConditionVariableWrapper* CreateConditionVariable(); -+ -+ virtual ~ConditionVariableWrapper() {} -+ -+ // Calling thread will atomically release crit_sect and wait until next -+ // some other thread calls Wake() or WakeAll(). -+ virtual void SleepCS(CriticalSectionWrapper& crit_sect) = 0; -+ -+ // Same as above but with a timeout. -+ virtual bool SleepCS(CriticalSectionWrapper& crit_sect, -+ unsigned long max_time_in_ms) = 0; -+ -+ // Wakes one thread calling SleepCS(). -+ virtual void Wake() = 0; -+ -+ // Wakes all threads calling SleepCS(). -+ virtual void WakeAll() = 0; -+}; -+ -+} // namespace webrtc -+ -+#endif // WEBRTC_SYSTEM_WRAPPERS_INCLUDE_CONDITION_VARIABLE_WRAPPER_H_ -diff --git a/webrtc/system_wrappers/source/condition_variable.cc b/webrtc/system_wrappers/source/condition_variable.cc -new file mode 100644 -index 0000000..f5ae93a ---- /dev/null -+++ b/webrtc/system_wrappers/source/condition_variable.cc -@@ -0,0 +1,41 @@ -+/* -+ * Copyright (c) 2011 The WebRTC project authors. All Rights Reserved. -+ * -+ * Use of this source code is governed by a BSD-style license -+ * that can be found in the LICENSE file in the root of the source -+ * tree. An additional intellectual property rights grant can be found -+ * in the file PATENTS. All contributing project authors may -+ * be found in the AUTHORS file in the root of the source tree. -+ */ -+ -+#include "webrtc/system_wrappers/include/condition_variable_wrapper.h" -+ -+#if defined(_WIN32) -+#include -+#include "webrtc/system_wrappers/source/condition_variable_event_win.h" -+#include "webrtc/system_wrappers/source/condition_variable_native_win.h" -+#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) -+#include -+#include "webrtc/system_wrappers/source/condition_variable_posix.h" -+#endif -+ -+namespace webrtc { -+ -+ConditionVariableWrapper* ConditionVariableWrapper::CreateConditionVariable() { -+#if defined(_WIN32) -+ // Try to create native condition variable implementation. -+ ConditionVariableWrapper* ret_val = ConditionVariableNativeWin::Create(); -+ if (!ret_val) { -+ // Native condition variable implementation does not exist. Create generic -+ // condition variable based on events. -+ ret_val = new ConditionVariableEventWin(); -+ } -+ return ret_val; -+#elif defined(WEBRTC_LINUX) || defined(WEBRTC_MAC) -+ return ConditionVariablePosix::Create(); -+#else -+ return NULL; -+#endif -+} -+ -+} // namespace webrtc -diff --git a/webrtc/system_wrappers/source/condition_variable_event_win.cc b/webrtc/system_wrappers/source/condition_variable_event_win.cc -new file mode 100644 -index 0000000..41b019d ---- /dev/null -+++ b/webrtc/system_wrappers/source/condition_variable_event_win.cc -@@ -0,0 +1,195 @@ -+/* -+Source: -+http://www1.cse.wustl.edu/~schmidt/ACE-copying.html -+ -+License: -+Copyright and Licensing Information for ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), -+and CoSMIC(TM) -+ -+ACE(TM), TAO(TM), CIAO(TM), DAnCE>(TM), and CoSMIC(TM) (henceforth referred to -+as "DOC software") are copyrighted by Douglas C. Schmidt and his research -+group at Washington University, University of California, Irvine, and -+Vanderbilt University, Copyright (c) 1993-2009, all rights reserved. Since DOC -+software is open-source, freely available software, you are free to use, -+modify, copy, and distribute--perpetually and irrevocably--the DOC software -+source code and object code produced from the source, as well as copy and -+distribute modified versions of this software. You must, however, include this -+copyright statement along with any code built using DOC software that you -+release. No copyright statement needs to be provided if you just ship binary -+executables of your software products. -+You can use DOC software in commercial and/or binary software releases and are -+under no obligation to redistribute any of your source code that is built -+using DOC software. Note, however, that you may not misappropriate the DOC -+software code, such as copyrighting it yourself or claiming authorship of the -+DOC software code, in a way that will prevent DOC software from being -+distributed freely using an open-source development model. You needn't inform -+anyone that you're using DOC software in your software, though we encourage -+you to let us know so we can promote your project in the DOC software success -+stories. -+ -+The ACE, TAO, CIAO, DAnCE, and CoSMIC web sites are maintained by the DOC -+Group at the Institute for Software Integrated Systems (ISIS) and the Center -+for Distributed Object Computing of Washington University, St. Louis for the -+development of open-source software as part of the open-source software -+community. Submissions are provided by the submitter ``as is'' with no -+warranties whatsoever, including any warranty of merchantability, -+noninfringement of third party intellectual property, or fitness for any -+particular purpose. In no event shall the submitter be liable for any direct, -+indirect, special, exemplary, punitive, or consequential damages, including -+without limitation, lost profits, even if advised of the possibility of such -+damages. Likewise, DOC software is provided as is with no warranties of any -+kind, including the warranties of design, merchantability, and fitness for a -+particular purpose, noninfringement, or arising from a course of dealing, -+usage or trade practice. Washington University, UC Irvine, Vanderbilt -+University, their employees, and students shall have no liability with respect -+to the infringement of copyrights, trade secrets or any patents by DOC -+software or any part thereof. Moreover, in no event will Washington -+University, UC Irvine, or Vanderbilt University, their employees, or students -+be liable for any lost revenue or profits or other special, indirect and -+consequential damages. -+ -+DOC software is provided with no support and without any obligation on the -+part of Washington University, UC Irvine, Vanderbilt University, their -+employees, or students to assist in its use, correction, modification, or -+enhancement. A number of companies around the world provide commercial support -+for DOC software, however. DOC software is Y2K-compliant, as long as the -+underlying OS platform is Y2K-compliant. Likewise, DOC software is compliant -+with the new US daylight savings rule passed by Congress as "The Energy Policy -+Act of 2005," which established new daylight savings times (DST) rules for the -+United States that expand DST as of March 2007. Since DOC software obtains -+time/date and calendaring information from operating systems users will not be -+affected by the new DST rules as long as they upgrade their operating systems -+accordingly. -+ -+The names ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), CoSMIC(TM), Washington -+University, UC Irvine, and Vanderbilt University, may not be used to endorse -+or promote products or services derived from this source without express -+written permission from Washington University, UC Irvine, or Vanderbilt -+University. This license grants no permission to call products or services -+derived from this source ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), or CoSMIC(TM), -+nor does it grant permission for the name Washington University, UC Irvine, or -+Vanderbilt University to appear in their names. -+*/ -+ -+/* -+ * This source code contain modifications to the original source code -+ * which can be found here: -+ * http://www.cs.wustl.edu/~schmidt/win32-cv-1.html (section 3.2). -+ * Modifications: -+ * 1) Dynamic detection of native support for condition variables. -+ * 2) Use of WebRTC defined types and classes. Renaming of some functions. -+ * 3) Introduction of a second event for wake all functionality. This prevents -+ * a thread from spinning on the same condition variable, preventing other -+ * threads from waking up. -+ */ -+ -+#include "webrtc/system_wrappers/source/condition_variable_event_win.h" -+#include "webrtc/system_wrappers/source/critical_section_win.h" -+ -+namespace webrtc { -+ -+ConditionVariableEventWin::ConditionVariableEventWin() : eventID_(WAKEALL_0) { -+ memset(&num_waiters_[0], 0, sizeof(num_waiters_)); -+ -+ InitializeCriticalSection(&num_waiters_crit_sect_); -+ -+ events_[WAKEALL_0] = CreateEvent(NULL, // no security attributes -+ TRUE, // manual-reset, sticky event -+ FALSE, // initial state non-signaled -+ NULL); // no name for event -+ -+ events_[WAKEALL_1] = CreateEvent(NULL, // no security attributes -+ TRUE, // manual-reset, sticky event -+ FALSE, // initial state non-signaled -+ NULL); // no name for event -+ -+ events_[WAKE] = CreateEvent(NULL, // no security attributes -+ FALSE, // auto-reset, sticky event -+ FALSE, // initial state non-signaled -+ NULL); // no name for event -+} -+ -+ConditionVariableEventWin::~ConditionVariableEventWin() { -+ CloseHandle(events_[WAKE]); -+ CloseHandle(events_[WAKEALL_1]); -+ CloseHandle(events_[WAKEALL_0]); -+ -+ DeleteCriticalSection(&num_waiters_crit_sect_); -+} -+ -+void ConditionVariableEventWin::SleepCS(CriticalSectionWrapper& crit_sect) { -+ SleepCS(crit_sect, INFINITE); -+} -+ -+bool ConditionVariableEventWin::SleepCS(CriticalSectionWrapper& crit_sect, -+ unsigned long max_time_in_ms) { -+ EnterCriticalSection(&num_waiters_crit_sect_); -+ -+ // Get the eventID for the event that will be triggered by next -+ // WakeAll() call and start waiting for it. -+ const EventWakeUpType eventID = -+ (WAKEALL_0 == eventID_) ? WAKEALL_1 : WAKEALL_0; -+ -+ ++(num_waiters_[eventID]); -+ LeaveCriticalSection(&num_waiters_crit_sect_); -+ -+ CriticalSectionWindows* cs = -+ static_cast(&crit_sect); -+ LeaveCriticalSection(&cs->crit); -+ HANDLE events[2]; -+ events[0] = events_[WAKE]; -+ events[1] = events_[eventID]; -+ const DWORD result = WaitForMultipleObjects(2, // Wait on 2 events. -+ events, -+ FALSE, // Wait for either. -+ max_time_in_ms); -+ -+ const bool ret_val = (result != WAIT_TIMEOUT); -+ -+ EnterCriticalSection(&num_waiters_crit_sect_); -+ --(num_waiters_[eventID]); -+ -+ // Last waiter should only be true for WakeAll(). WakeAll() correspond -+ // to position 1 in events[] -> (result == WAIT_OBJECT_0 + 1) -+ const bool last_waiter = (result == WAIT_OBJECT_0 + 1) && -+ (num_waiters_[eventID] == 0); -+ LeaveCriticalSection(&num_waiters_crit_sect_); -+ -+ if (last_waiter) { -+ // Reset/unset the WakeAll() event since all threads have been -+ // released. -+ ResetEvent(events_[eventID]); -+ } -+ -+ EnterCriticalSection(&cs->crit); -+ return ret_val; -+} -+ -+void ConditionVariableEventWin::Wake() { -+ EnterCriticalSection(&num_waiters_crit_sect_); -+ const bool have_waiters = (num_waiters_[WAKEALL_0] > 0) || -+ (num_waiters_[WAKEALL_1] > 0); -+ LeaveCriticalSection(&num_waiters_crit_sect_); -+ -+ if (have_waiters) { -+ SetEvent(events_[WAKE]); -+ } -+} -+ -+void ConditionVariableEventWin::WakeAll() { -+ EnterCriticalSection(&num_waiters_crit_sect_); -+ -+ // Update current WakeAll() event -+ eventID_ = (WAKEALL_0 == eventID_) ? WAKEALL_1 : WAKEALL_0; -+ -+ // Trigger current event -+ const EventWakeUpType eventID = eventID_; -+ const bool have_waiters = num_waiters_[eventID] > 0; -+ LeaveCriticalSection(&num_waiters_crit_sect_); -+ -+ if (have_waiters) { -+ SetEvent(events_[eventID]); -+ } -+} -+ -+} // namespace webrtc -diff --git a/webrtc/system_wrappers/source/condition_variable_event_win.h b/webrtc/system_wrappers/source/condition_variable_event_win.h -new file mode 100644 -index 0000000..cdcef7d ---- /dev/null -+++ b/webrtc/system_wrappers/source/condition_variable_event_win.h -@@ -0,0 +1,46 @@ -+/* -+ * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. -+ * -+ * Use of this source code is governed by a BSD-style license -+ * that can be found in the LICENSE file in the root of the source -+ * tree. An additional intellectual property rights grant can be found -+ * in the file PATENTS. All contributing project authors may -+ * be found in the AUTHORS file in the root of the source tree. -+ */ -+ -+#ifndef WEBRTC_SYSTEM_WRAPPERS_SOURCE_CONDITION_VARIABLE_EVENT_WIN_H_ -+#define WEBRTC_SYSTEM_WRAPPERS_SOURCE_CONDITION_VARIABLE_EVENT_WIN_H_ -+ -+#include -+ -+#include "webrtc/system_wrappers/include/condition_variable_wrapper.h" -+ -+namespace webrtc { -+ -+class ConditionVariableEventWin : public ConditionVariableWrapper { -+ public: -+ ConditionVariableEventWin(); -+ virtual ~ConditionVariableEventWin(); -+ -+ void SleepCS(CriticalSectionWrapper& crit_sect); -+ bool SleepCS(CriticalSectionWrapper& crit_sect, unsigned long max_time_inMS); -+ void Wake(); -+ void WakeAll(); -+ -+ private: -+ enum EventWakeUpType { -+ WAKEALL_0 = 0, -+ WAKEALL_1 = 1, -+ WAKE = 2, -+ EVENT_COUNT = 3 -+ }; -+ -+ unsigned int num_waiters_[2]; -+ EventWakeUpType eventID_; -+ CRITICAL_SECTION num_waiters_crit_sect_; -+ HANDLE events_[EVENT_COUNT]; -+}; -+ -+} // namespace webrtc -+ -+#endif // WEBRTC_SYSTEM_WRAPPERS_SOURCE_CONDITION_VARIABLE_EVENT_WIN_H_ -diff --git a/webrtc/system_wrappers/source/condition_variable_native_win.cc b/webrtc/system_wrappers/source/condition_variable_native_win.cc -new file mode 100644 -index 0000000..45225f2 ---- /dev/null -+++ b/webrtc/system_wrappers/source/condition_variable_native_win.cc -@@ -0,0 +1,104 @@ -+/* -+ * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. -+ * -+ * Use of this source code is governed by a BSD-style license -+ * that can be found in the LICENSE file in the root of the source -+ * tree. An additional intellectual property rights grant can be found -+ * in the file PATENTS. All contributing project authors may -+ * be found in the AUTHORS file in the root of the source tree. -+ */ -+ -+#include "webrtc/system_wrappers/include/trace.h" -+#include "webrtc/system_wrappers/source/condition_variable_native_win.h" -+#include "webrtc/system_wrappers/source/critical_section_win.h" -+ -+namespace webrtc { -+ -+static HMODULE library = NULL; -+static bool win_support_condition_variables_primitive = false; -+ -+PInitializeConditionVariable PInitializeConditionVariable_; -+PSleepConditionVariableCS PSleepConditionVariableCS_; -+PWakeConditionVariable PWakeConditionVariable_; -+PWakeAllConditionVariable PWakeAllConditionVariable_; -+ -+typedef void (WINAPI *PInitializeConditionVariable)(PCONDITION_VARIABLE); -+typedef BOOL (WINAPI *PSleepConditionVariableCS)(PCONDITION_VARIABLE, -+ PCRITICAL_SECTION, DWORD); -+typedef void (WINAPI *PWakeConditionVariable)(PCONDITION_VARIABLE); -+typedef void (WINAPI *PWakeAllConditionVariable)(PCONDITION_VARIABLE); -+ -+ConditionVariableNativeWin::ConditionVariableNativeWin() { -+} -+ -+ConditionVariableNativeWin::~ConditionVariableNativeWin() { -+} -+ -+ConditionVariableWrapper* ConditionVariableNativeWin::Create() { -+ ConditionVariableNativeWin* ret_val = new ConditionVariableNativeWin(); -+ if (!ret_val->Init()) { -+ delete ret_val; -+ return NULL; -+ } -+ return ret_val; -+} -+ -+bool ConditionVariableNativeWin::Init() { -+ if (!library) { -+ // Native implementation is supported on Vista+. -+ library = LoadLibrary(TEXT("Kernel32.dll")); -+ // TODO(henrike): this code results in an attempt to load the above dll -+ // every time the previous attempt failed. Only try to load once. -+ if (library) { -+ // TODO(henrike): not thread safe as reading and writing to library is not -+ // serialized. Fix. -+ WEBRTC_TRACE(kTraceStateInfo, kTraceUtility, -1, "Loaded Kernel.dll"); -+ -+ PInitializeConditionVariable_ = -+ (PInitializeConditionVariable) GetProcAddress( -+ library, "InitializeConditionVariable"); -+ PSleepConditionVariableCS_ = (PSleepConditionVariableCS) GetProcAddress( -+ library, "SleepConditionVariableCS"); -+ PWakeConditionVariable_ = (PWakeConditionVariable) GetProcAddress( -+ library, "WakeConditionVariable"); -+ PWakeAllConditionVariable_ = (PWakeAllConditionVariable) GetProcAddress( -+ library, "WakeAllConditionVariable"); -+ -+ if (PInitializeConditionVariable_ && PSleepConditionVariableCS_ -+ && PWakeConditionVariable_ && PWakeAllConditionVariable_) { -+ WEBRTC_TRACE( -+ kTraceStateInfo, kTraceUtility, -1, -+ "Loaded native condition variables"); -+ win_support_condition_variables_primitive = true; -+ } -+ } -+ } -+ if (!win_support_condition_variables_primitive) { -+ return false; -+ } -+ PInitializeConditionVariable_(&condition_variable_); -+ return true; -+} -+ -+void ConditionVariableNativeWin::SleepCS(CriticalSectionWrapper& crit_sect) { -+ SleepCS(crit_sect, INFINITE); -+} -+ -+bool ConditionVariableNativeWin::SleepCS(CriticalSectionWrapper& crit_sect, -+ unsigned long max_time_in_ms) { -+ CriticalSectionWindows* cs = -+ static_cast(&crit_sect); -+ BOOL ret_val = PSleepConditionVariableCS_(&condition_variable_, -+ &(cs->crit), max_time_in_ms); -+ return ret_val != 0; -+} -+ -+void ConditionVariableNativeWin::Wake() { -+ PWakeConditionVariable_(&condition_variable_); -+} -+ -+void ConditionVariableNativeWin::WakeAll() { -+ PWakeAllConditionVariable_(&condition_variable_); -+} -+ -+} // namespace webrtc -diff --git a/webrtc/system_wrappers/source/condition_variable_native_win.h b/webrtc/system_wrappers/source/condition_variable_native_win.h -new file mode 100644 -index 0000000..c22787f ---- /dev/null -+++ b/webrtc/system_wrappers/source/condition_variable_native_win.h -@@ -0,0 +1,54 @@ -+/* -+ * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. -+ * -+ * Use of this source code is governed by a BSD-style license -+ * that can be found in the LICENSE file in the root of the source -+ * tree. An additional intellectual property rights grant can be found -+ * in the file PATENTS. All contributing project authors may -+ * be found in the AUTHORS file in the root of the source tree. -+ */ -+ -+#ifndef WEBRTC_SYSTEM_WRAPPERS_SOURCE_CONDITION_VARIABLE_NATIVE_WIN_H_ -+#define WEBRTC_SYSTEM_WRAPPERS_SOURCE_CONDITION_VARIABLE_NATIVE_WIN_H_ -+ -+#include -+ -+#include "webrtc/system_wrappers/include/condition_variable_wrapper.h" -+ -+namespace webrtc { -+ -+#if !defined CONDITION_VARIABLE_INIT -+typedef struct RTL_CONDITION_VARIABLE_ { -+ void* Ptr; -+} RTL_CONDITION_VARIABLE, *PRTL_CONDITION_VARIABLE; -+ -+typedef RTL_CONDITION_VARIABLE CONDITION_VARIABLE, *PCONDITION_VARIABLE; -+#endif -+ -+typedef void (WINAPI* PInitializeConditionVariable)(PCONDITION_VARIABLE); -+typedef BOOL (WINAPI* PSleepConditionVariableCS)(PCONDITION_VARIABLE, -+ PCRITICAL_SECTION, DWORD); -+typedef void (WINAPI* PWakeConditionVariable)(PCONDITION_VARIABLE); -+typedef void (WINAPI* PWakeAllConditionVariable)(PCONDITION_VARIABLE); -+ -+class ConditionVariableNativeWin : public ConditionVariableWrapper { -+ public: -+ static ConditionVariableWrapper* Create(); -+ virtual ~ConditionVariableNativeWin(); -+ -+ void SleepCS(CriticalSectionWrapper& crit_sect); -+ bool SleepCS(CriticalSectionWrapper& crit_sect, unsigned long max_time_inMS); -+ void Wake(); -+ void WakeAll(); -+ -+ private: -+ ConditionVariableNativeWin(); -+ -+ bool Init(); -+ -+ CONDITION_VARIABLE condition_variable_; -+}; -+ -+} // namespace webrtc -+ -+#endif // WEBRTC_SYSTEM_WRAPPERS_SOURCE_CONDITION_VARIABLE_NATIVE_WIN_H_ --- -cgit v0.10.2 - diff --git a/srcpkgs/webrtc-audio-processing/patches/008.patch b/srcpkgs/webrtc-audio-processing/patches/008.patch deleted file mode 100644 index cf145fcb9fc..00000000000 --- a/srcpkgs/webrtc-audio-processing/patches/008.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 75ef0de24167daa84c11774f4bc9d1b4a9eaacfa Mon Sep 17 00:00:00 2001 -From: Nicolas Dufresne -Date: Tue, 5 Jul 2016 18:07:45 -0400 -Subject: build: Protect against unsupported CPU types - - -diff --git a/configure.ac b/configure.ac -index 5ec8517..1fcbd53 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -73,7 +73,8 @@ AS_CASE(["${host}"], - [ - PLATFORM_CFLAGS="-DWEBRTC_WIN -D_WIN32 -U__STRICT_ANSI__" - HAVE_WIN=1 -- ] -+ ], -+ [AC_MSG_ERROR([Unsupported host $host])] - ) - AC_SUBST(PLATFORM_CFLAGS) - AM_CONDITIONAL(HAVE_POSIX, [test "x${HAVE_POSIX}" = "x1"]) -@@ -94,8 +95,9 @@ AS_CASE(["${host_cpu}"], - [ - HAVE_ARM=1 - ARCH_CFLAGS="-DWEBRTC_ARCH_ARM" -- ] -+ ], - # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines -+ [AC_MSG_ERROR([Unsupported CPU type $host_cpu])] - ) - AM_CONDITIONAL(HAVE_X86, [test "x${HAVE_X86}" = "x1"]) - AM_CONDITIONAL(HAVE_ARM, [test "x${HAVE_ARM}" = "x1"]) --- -cgit v0.10.2 - diff --git a/srcpkgs/webrtc-audio-processing/patches/009.patch b/srcpkgs/webrtc-audio-processing/patches/009.patch deleted file mode 100644 index b1d07a15a8d..00000000000 --- a/srcpkgs/webrtc-audio-processing/patches/009.patch +++ /dev/null @@ -1,24 +0,0 @@ -From 1378babdf0f56938408d8137595023efe1bd7c2d Mon Sep 17 00:00:00 2001 -From: Nicolas Dufresne -Date: Tue, 5 Jul 2016 18:44:19 -0400 -Subject: osx: Fix type OS_FLAGS instead of OS_CFLAGS - - -diff --git a/configure.ac b/configure.ac -index 1fcbd53..41d521c 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -64,8 +64,8 @@ AS_CASE(["${host}"], - [*-*darwin*], - [ - AS_IF([test "$HAVE_IOS" = "yes"], -- [OS_FLAGS="-DWEBRTC_MAC -DWEBRTC_IOS"], -- [OS_FLAGS="-DWEBRTC_MAC"]) -+ [OS_CFLAGS="-DWEBRTC_MAC -DWEBRTC_IOS"], -+ [OS_CFLAGS="-DWEBRTC_MAC"]) - PLATFORM_CFLAGS="-DWEBRTC_POSIX" - HAVE_POSIX=1 - ], --- -cgit v0.10.2 - diff --git a/srcpkgs/webrtc-audio-processing/patches/010.patch b/srcpkgs/webrtc-audio-processing/patches/010.patch deleted file mode 100644 index 625e1ed43d3..00000000000 --- a/srcpkgs/webrtc-audio-processing/patches/010.patch +++ /dev/null @@ -1,71 +0,0 @@ -From c9cffb9e3d632b61465afbca5d10c36512888035 Mon Sep 17 00:00:00 2001 -From: Nicolas Dufresne -Date: Wed, 6 Jul 2016 11:32:55 -0400 -Subject: build: Sync defines and libs with build.gn - - -diff --git a/configure.ac b/configure.ac -index 41d521c..bdefd72 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -51,26 +51,29 @@ AC_CHECK_HEADER(MobileCoreServices/MobileCoreServices.h, HAVE_IOS="yes", HAVE_IO - AS_CASE(["${host}"], - [*android*], - [ -- OS_CFLAGS="-DWEBRTC_ANDROID -DWEBRTC_LINUX" -+ OS_CFLAGS="-DWEBRTC_ANDROID -DWEBRTC_LINUX -DWEBRTC_THREAD_RR -DWEBRTC_CLOCK_TYPE_REALTIME" -+ OS_LDFLAGS="-llog" - PLATFORM_CFLAGS="-DWEBRTC_POSIX" - HAVE_POSIX=1 - ], - [*-*linux*], - [ -- OS_CFLAGS="-DWEBRTC_LINUX" -+ OS_CFLAGS="-DWEBRTC_LINUX -DWEBRTC_THREAD_RR" - PLATFORM_CFLAGS="-DWEBRTC_POSIX" -+ OS_LDFLAGS="-lrt" - HAVE_POSIX=1 - ], - [*-*darwin*], - [ -+ OS_CFLAGS="-DWEBRTC_MAC -DWEBRTC_THREAD_RR -DWEBRTC_CLOCK_TYPE_REALTIME" - AS_IF([test "$HAVE_IOS" = "yes"], -- [OS_CFLAGS="-DWEBRTC_MAC -DWEBRTC_IOS"], -- [OS_CFLAGS="-DWEBRTC_MAC"]) -+ [OS_CFLAGS+=" -DWEBRTC_IOS"]) - PLATFORM_CFLAGS="-DWEBRTC_POSIX" - HAVE_POSIX=1 - ], - [*-mingw32*], - [ -+ OS_LDFLAGS="-lwinmm" - PLATFORM_CFLAGS="-DWEBRTC_WIN -D_WIN32 -U__STRICT_ANSI__" - HAVE_WIN=1 - ], -@@ -131,8 +134,10 @@ AM_CONDITIONAL([HAVE_NEON], [test "x$HAVE_NEON" = "x1"]) - - COMMON_CFLAGS="-DWEBRTC_AUDIO_PROCESSING_ONLY_BUILD ${PLATFORM_CFLAGS} ${OS_CFLAGS} ${ARCH_CFLAGS} -DNDEBUG -I\$(top_srcdir)" - COMMON_CXXFLAGS="-std=c++11 -DWEBRTC_AUDIO_PROCESSING_ONLY_BUILD ${PLATFORM_CFLAGS} ${OS_CFLAGS} ${ARCH_CFLAGS} ${GNUSTL_CFLAGS} -DNDEBUG -I\$(top_srcdir)" -+COMMON_LDFLAGS="${OS_LDFLAGS}" - AC_SUBST([COMMON_CFLAGS]) - AC_SUBST([COMMON_CXXFLAGS]) -+AC_SUBST([COMMON_LDFLAGS]) - - AC_CONFIG_FILES([ - webrtc-audio-processing.pc -diff --git a/webrtc/modules/audio_processing/Makefile.am b/webrtc/modules/audio_processing/Makefile.am -index 8e45e3d..de259f0 100644 ---- a/webrtc/modules/audio_processing/Makefile.am -+++ b/webrtc/modules/audio_processing/Makefile.am -@@ -174,7 +174,7 @@ libwebrtc_audio_processing_la_LIBADD = $(top_builddir)/webrtc/libwebrtc.la \ - $(top_builddir)/webrtc/modules/audio_coding/libaudio_coding.la \ - $(LIBWEBRTC_PRIVATEARCH) \ - $(GNUSTL_LIBS) --libwebrtc_audio_processing_la_LDFLAGS = $(AM_LDFLAGS) \ -+libwebrtc_audio_processing_la_LDFLAGS = $(AM_LDFLAGS) $(COMMON_LDFLAGS) \ - -Wl,--no-undefined \ - -version-info $(LIBWEBRTC_AUDIO_PROCESSING_VERSION_INFO) - --- -cgit v0.10.2 - diff --git a/srcpkgs/webrtc-audio-processing/patches/011.patch b/srcpkgs/webrtc-audio-processing/patches/011.patch deleted file mode 100644 index c2f110ca690..00000000000 --- a/srcpkgs/webrtc-audio-processing/patches/011.patch +++ /dev/null @@ -1,22 +0,0 @@ -From b8be6d1095df620bf0e2b5855818fa4340244254 Mon Sep 17 00:00:00 2001 -From: Nicolas Dufresne -Date: Wed, 6 Jul 2016 13:44:15 -0400 -Subject: build: Use -no-undefined to support both clang and gcc - - -diff --git a/webrtc/modules/audio_processing/Makefile.am b/webrtc/modules/audio_processing/Makefile.am -index de259f0..5a98913 100644 ---- a/webrtc/modules/audio_processing/Makefile.am -+++ b/webrtc/modules/audio_processing/Makefile.am -@@ -175,7 +175,7 @@ libwebrtc_audio_processing_la_LIBADD = $(top_builddir)/webrtc/libwebrtc.la \ - $(LIBWEBRTC_PRIVATEARCH) \ - $(GNUSTL_LIBS) - libwebrtc_audio_processing_la_LDFLAGS = $(AM_LDFLAGS) $(COMMON_LDFLAGS) \ -- -Wl,--no-undefined \ -+ -no-undefined \ - -version-info $(LIBWEBRTC_AUDIO_PROCESSING_VERSION_INFO) - - # FIXME: The MIPS optimisations need to be hooked up once we have the --- -cgit v0.10.2 - diff --git a/srcpkgs/webrtc-audio-processing/patches/012.patch b/srcpkgs/webrtc-audio-processing/patches/012.patch deleted file mode 100644 index 773037b39ac..00000000000 --- a/srcpkgs/webrtc-audio-processing/patches/012.patch +++ /dev/null @@ -1,22 +0,0 @@ -From 7a37a8bca386faf206fef32cd8cdf0f8ea3313d5 Mon Sep 17 00:00:00 2001 -From: Nicolas Dufresne -Date: Wed, 6 Jul 2016 13:57:00 -0400 -Subject: build: Re-add pthread linking on linux - - -diff --git a/configure.ac b/configure.ac -index bdefd72..a0c194a 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -60,7 +60,7 @@ AS_CASE(["${host}"], - [ - OS_CFLAGS="-DWEBRTC_LINUX -DWEBRTC_THREAD_RR" - PLATFORM_CFLAGS="-DWEBRTC_POSIX" -- OS_LDFLAGS="-lrt" -+ OS_LDFLAGS="-lrt -lpthread" - HAVE_POSIX=1 - ], - [*-*darwin*], --- -cgit v0.10.2 - diff --git a/srcpkgs/webrtc-audio-processing/patches/013.patch b/srcpkgs/webrtc-audio-processing/patches/013.patch deleted file mode 100644 index f99d8a009a7..00000000000 --- a/srcpkgs/webrtc-audio-processing/patches/013.patch +++ /dev/null @@ -1,25 +0,0 @@ -From 7d15b10fb0829d456486da6a49a84492dd3eca4f Mon Sep 17 00:00:00 2001 -From: Nicolas Dufresne -Date: Wed, 6 Jul 2016 15:18:15 -0400 -Subject: build: Add ARM 64bit support - - -diff --git a/configure.ac b/configure.ac -index a0c194a..b4b9ddf 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -99,6 +99,11 @@ AS_CASE(["${host_cpu}"], - HAVE_ARM=1 - ARCH_CFLAGS="-DWEBRTC_ARCH_ARM" - ], -+ [aarch64*], -+ [ -+ HAVE_NEON=1 -+ ARCH_CFLAGS="-DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64" -+ ], - # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines - [AC_MSG_ERROR([Unsupported CPU type $host_cpu])] - ) --- -cgit v0.10.2 - diff --git a/srcpkgs/webrtc-audio-processing/patches/014.patch b/srcpkgs/webrtc-audio-processing/patches/014.patch deleted file mode 100644 index 689a50fd1aa..00000000000 --- a/srcpkgs/webrtc-audio-processing/patches/014.patch +++ /dev/null @@ -1,91 +0,0 @@ -From ff77a85c28564d939d554ba264480d1876cbc316 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 6 Aug 2016 11:02:43 +0200 -Subject: build: fix architecture detection - -The current architecture detection, based on the "host_cpu" part of the -tuple does not work properly for a number of reason: - - - The code assumes that if host_cpu starts with "arm" then ARM - instructions are available, which is incorrect. Indeed, Cortex-M - platforms can run Linux, they are ARM platforms (so host_cpu = arm), - but they don't support ARM instructions: they support only the - Thumb-2 instruction set. - - - The armv7 case is also not very useful, as it is not standard at all - to pass armv7 as host_cpu even if the host system is actually ARMv7 - based. - - - For the same reason, the armv8 case is not very useful: ARMv8 is - AArch64, and there is already a separate case to handle this - architecture. - -So, this commit moves away from a host_cpu based logic, and instead -tests using AC_CHECK_DECLS() the built-in definitions of the compiler: - - - If we have __ARM_ARCH_ISA_ARM defined, then it's an ARM processor - that supports the ARM instruction set (this allows to exclude Thumb-2 - only processors). - - - If we have __ARM_ARCH_7A__, then we have an ARMv7-A processor, and - we can enable the corresponding optimizations - - - Same for __aarch64__, __i386__ and __x86_64__. - -In addition, we remove the AC_MSG_ERROR() that makes the build fail for -all architectures but the ones that are explicitly supported. Indeed, -webrtc-audio-processing builds just fine for other architectures (tested -on MIPS), it's just that none of the architecture-specific optimizations -will be used. - -Signed-off-by: Thomas Petazzoni - -diff --git a/configure.ac b/configure.ac -index b4b9ddf..acbb3e2 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -83,30 +83,17 @@ AC_SUBST(PLATFORM_CFLAGS) - AM_CONDITIONAL(HAVE_POSIX, [test "x${HAVE_POSIX}" = "x1"]) - AM_CONDITIONAL(HAVE_WIN, [test "x${HAVE_WIN}" = "x1"]) - --AS_CASE(["${host_cpu}"], -- [i?86|x86_64], -- [ -- HAVE_X86=1 -- ], -- [armv7*|armv8*], -- [ -- HAVE_ARM=1 -- HAVE_ARMV7=1 -- ARCH_CFLAGS="-DWEBRTC_ARCH_ARM -DWEBRTC_ARCH_ARM_V7" -- ], -- [arm*], -- [ -- HAVE_ARM=1 -- ARCH_CFLAGS="-DWEBRTC_ARCH_ARM" -- ], -- [aarch64*], -- [ -- HAVE_NEON=1 -- ARCH_CFLAGS="-DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64" -- ], -- # FIXME: Add MIPS support, see webrtc/BUILD.gn for defines -- [AC_MSG_ERROR([Unsupported CPU type $host_cpu])] --) -+# Testing __ARM_ARCH_ISA_ARM since the code contains ARM instructions, -+# which don't work on Thumb-2 only platforms (ARMv7-M). -+AC_CHECK_DECLS([__ARM_ARCH_ISA_ARM], -+ [HAVE_ARM=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_ARCH_ARM"]) -+AC_CHECK_DECLS([__ARM_ARCH_7A__], -+ [HAVE_ARMV7=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_ARCH_ARM_V7"]) -+AC_CHECK_DECLS([__aarch64__], -+ [HAVE_NEON=1; ARCH_CFLAGS="${ARCH_CFLAGS} -DWEBRTC_HAS_NEON -DWEBRTC_ARCH_ARM64"]) -+AC_CHECK_DECLS([__i386__], [HAVE_X86=1]) -+AC_CHECK_DECLS([__x86_64__], [HAVE_X86=1]) -+ - AM_CONDITIONAL(HAVE_X86, [test "x${HAVE_X86}" = "x1"]) - AM_CONDITIONAL(HAVE_ARM, [test "x${HAVE_ARM}" = "x1"]) - AM_CONDITIONAL(HAVE_ARMV7, [test "x${HAVE_ARMV7}" = "x1"]) --- -cgit v0.10.2 - diff --git a/srcpkgs/webrtc-audio-processing/patches/015.patch b/srcpkgs/webrtc-audio-processing/patches/015.patch deleted file mode 100644 index 1c6cd894b96..00000000000 --- a/srcpkgs/webrtc-audio-processing/patches/015.patch +++ /dev/null @@ -1,23 +0,0 @@ -From 0d937fbc7152f34f32cd4cd016ed623434b90796 Mon Sep 17 00:00:00 2001 -From: Thomas Petazzoni -Date: Sat, 6 Aug 2016 11:03:27 +0200 -Subject: doc: file invalid reference to pulseaudio mailing list - -Signed-off-by: Thomas Petazzoni - -diff --git a/README.md b/README.md -index 03de756..9133f17 100644 ---- a/README.md -+++ b/README.md -@@ -18,7 +18,7 @@ Feedback - ======== - - Patches, suggestions welcome. You can send them to the PulseAudio mailing --list[2] or to me at the address below. -+list[3] or to me at the address below. - - -- Arun Raghavan - --- -cgit v0.10.2 - diff --git a/srcpkgs/webrtc-audio-processing/template b/srcpkgs/webrtc-audio-processing/template index 5e40e355bba..eb3da3babb7 100644 --- a/srcpkgs/webrtc-audio-processing/template +++ b/srcpkgs/webrtc-audio-processing/template @@ -1,16 +1,16 @@ # Template file for 'webrtc-audio-processing' pkgname=webrtc-audio-processing -version=0.3 -revision=3 +version=0.3.1 +revision=1 build_style=gnu-configure patch_args="-p1" short_desc="AudioProcessing library based on Google's implementation of WebRTC" hostmakedepends="automake libtool" maintainer="Juan RP " -license="BSD" +license="BSD-3-Clause" homepage="http://freedesktop.org/software/pulseaudio/webrtc-audio-processing" distfiles="${homepage}/${pkgname}-${version}.tar.xz" -checksum=756e291d4f557d88cd50c4fe3b8454ec238362d22cedb3e6173240d90f0a80fa +checksum=a0fdd938fd85272d67e81572c5a4d9e200a0c104753cb3c209ded175ce3c5dbf case "$XBPS_TARGET_MACHINE" in # Disable neon for the arm* architectures