<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/c4b557be119df78c6f05313340d009e253e89e39">https://github.com/macports/macports-ports/commit/c4b557be119df78c6f05313340d009e253e89e39</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new c4b557be119 dav1d: support clang's c11 atomic bultins
</span>c4b557be119 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit c4b557be119df78c6f05313340d009e253e89e39
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Thu Feb 4 02:01:06 2021 +1100
<span style='display:block; white-space:pre;color:#404040;'> dav1d: support clang's c11 atomic bultins
</span>---
multimedia/dav1d/Portfile | 2 ++
multimedia/dav1d/files/atomic.patch | 57 +++++++++++++++++++++++++++++++++++++
2 files changed, 59 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/dav1d/Portfile b/multimedia/dav1d/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 7e16df57abb..c5bac5389d0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/multimedia/dav1d/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/dav1d/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -31,6 +31,8 @@ if { ${build_arch} in "i386 x86_64" || [variant_isset universal] } {
</span> depends_build-append port:nasm
}
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles atomic.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> configure.args-append \
-Denable_tests=false
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/dav1d/files/atomic.patch b/multimedia/dav1d/files/atomic.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..a0514836318
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/dav1d/files/atomic.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,57 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- include/compat/gcc/stdatomic.h.orig 2021-01-02 07:36:25.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ include/compat/gcc/stdatomic.h 2021-02-04 01:57:16.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -29,6 +29,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if !defined(__cplusplus)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __clang__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !defined(__has_feature)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define __has_feature(x) 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !defined(__has_extension)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define __has_extension(x) __has_feature(x)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if __has_extension(c_atomic) || __has_extension(cxx_atomic)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define __CLANG_ATOMICS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ typedef int atomic_int;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ typedef unsigned int atomic_uint;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -36,11 +50,19 @@ typedef unsigned int atomic_uint;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define memory_order_acquire __ATOMIC_ACQUIRE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define atomic_init(p_a, v) do { *(p_a) = (v); } while(0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __CLANG_ATOMICS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define atomic_store(p_a, v) __c11_atomic_store(p_a, v, __ATOMIC_SEQ_CST)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define atomic_load(p_a) __c11_atomic_load(p_a, __ATOMIC_SEQ_CST)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define atomic_load_explicit(p_a, mo) __c11_atomic_load(p_a, mo)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define atomic_fetch_add(p_a, inc) __c11_atomic_fetch_add(p_a, inc, __ATOMIC_SEQ_CST)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define atomic_fetch_sub(p_a, dec) __c11_atomic_fetch_sub(p_a, dec, __ATOMIC_SEQ_CST)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define atomic_store(p_a, v) __atomic_store_n(p_a, v, __ATOMIC_SEQ_CST)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define atomic_load(p_a) __atomic_load_n(p_a, __ATOMIC_SEQ_CST)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define atomic_load_explicit(p_a, mo) __atomic_load_n(p_a, mo)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define atomic_fetch_add(p_a, inc) __atomic_fetch_add(p_a, inc, __ATOMIC_SEQ_CST)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define atomic_fetch_sub(p_a, dec) __atomic_fetch_sub(p_a, dec, __ATOMIC_SEQ_CST)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif /* !defined(__cplusplus) */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- meson.build.orig 2021-01-02 07:36:25.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ meson.build 2021-02-04 01:59:22.000000000 +1100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -183,6 +183,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ stdatomic_dependency = declare_dependency(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include_directories : include_directories('include/compat/gcc'),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ elif cc.compiles('''int main() { int v = 0; return __c11_atomic_fetch_add(&v, 1, __ATOMIC_SEQ_CST); }''',
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ name : 'Clang-style atomics', args : test_args)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ stdatomic_dependency = declare_dependency(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ include_directories : include_directories('include/compat/gcc'),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ error('Atomics not supported')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ endif
</span></pre><pre style='margin:0'>
</pre>