<pre style='margin:0'>
Herby Gillot (herbygillot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/365acca00d68f0287188e4be7d44f6aadf955633">https://github.com/macports/macports-ports/commit/365acca00d68f0287188e4be7d44f6aadf955633</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 365acca00d6 chafa: fix build on i386 systems
</span>365acca00d6 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 365acca00d68f0287188e4be7d44f6aadf955633
</span>Author: aeiouaeiouaeiouaeiouaeiouaeiou <aeioudev@outlook.com>
AuthorDate: Wed Jul 3 14:11:55 2024 +0300

<span style='display:block; white-space:pre;color:#404040;'>    chafa: fix build on i386 systems
</span>---
 graphics/chafa/Portfile                           |  6 ++-
 graphics/chafa/files/patch-extract-128-epi64.diff | 50 +++++++++++++++++++++++
 2 files changed, 55 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/chafa/Portfile b/graphics/chafa/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index bd75cf87ed1..da9edf6b8ec 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/graphics/chafa/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/chafa/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -6,7 +6,7 @@ PortGroup           compiler_blacklist_versions 1.0
</span> 
 github.setup        hpjansson chafa 1.14.1
 github.tarball_from releases
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> 
 homepage            https://hpjansson.org/chafa
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -30,6 +30,10 @@ checksums           rmd160  63522f6966aae4174625d6b560e26c2d8b24f487 \
</span>                     sha256  24707f59e544cec85d7a1993854672136b05271f86954248c5d8a42e221f6f25 \
                     size    991656
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/hpjansson/chafa/issues/203
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# remove this patch in the next release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-extract-128-epi64.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_build-append \
                     port:gtk-doc    \
                     port:pkgconfig
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/graphics/chafa/files/patch-extract-128-epi64.diff b/graphics/chafa/files/patch-extract-128-epi64.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..f2bf5ec3527
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/graphics/chafa/files/patch-extract-128-epi64.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,50 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- chafa/internal/chafa-avx2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ chafa/internal/chafa-avx2.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -21,9 +21,21 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <emmintrin.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <immintrin.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <smmintrin.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "chafa.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "internal/chafa-private.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* _mm_extract_epi64() (pextrq) is not available in 32-bit mode. Work around
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * it. This needs to be a macro, as the compiler expects an integer constant
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ * for n. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined __x86_64__ && !defined __ILP32__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# define extract_128_epi64(i, n) _mm_extract_epi64 ((i), (n))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# define extract_128_epi64(i, n) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    ((((guint64) _mm_extract_epi32 ((i), (n) * 2 + 1)) << 32) \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     | _mm_extract_epi32 ((i), (n) * 2))
</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;'>+ gint
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ calc_error_avx2 (const ChafaPixel *pixels, const ChafaColorPair *color_pair,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                  const guint32 *sym_mask_u32)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -96,14 +108,14 @@ calc_colors_avx2 (const ChafaPixel *pixels, ChafaColorAccum *accums_out,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     accum_bg_128 = _mm_add_epi16 (_mm256_extracti128_si256 (accum_bg, 0),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   _mm256_extracti128_si256 (accum_bg, 1));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ((guint64 *) accums_out) [0] =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        (guint64) _mm_extract_epi64 (accum_bg_128, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        + (guint64) _mm_extract_epi64 (accum_bg_128, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        extract_128_epi64 (accum_bg_128, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        + extract_128_epi64 (accum_bg_128, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     accum_fg_128 = _mm_add_epi16 (_mm256_extracti128_si256 (accum_fg, 0),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                                   _mm256_extracti128_si256 (accum_fg, 1));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ((guint64 *) accums_out) [1] =
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        (guint64) _mm_extract_epi64 (accum_fg_128, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        + (guint64) _mm_extract_epi64 (accum_fg_128, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        extract_128_epi64 (accum_fg_128, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        + extract_128_epi64 (accum_fg_128, 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* 32768 divided by index. Divide by zero is defined as zero. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -143,5 +155,5 @@ chafa_color_accum_div_scalar_avx2 (ChafaColorAccum *accum, guint16 divisor)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     accum_128 = _mm_loadl_epi64 ((const __m128i *) accum);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     divisor_128 = _mm_set1_epi16 (invdiv16 [divisor]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     accum_128 = _mm_mulhrs_epi16 (accum_128, divisor_128);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    *((guint64 *) accum) = _mm_extract_epi64 (accum_128, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    *((guint64 *) accum) = extract_128_epi64 (accum_128, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span></pre><pre style='margin:0'>

</pre>