<pre style='margin:0'>
Dan Ports (drkp) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/a19fc6fe539f8798f3e772333f64e1ebb19503fd">https://github.com/macports/macports-ports/commit/a19fc6fe539f8798f3e772333f64e1ebb19503fd</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 a19fc6f  emacs: fix build on 10.15.4 and later
</span>a19fc6f is described below

<span style='display:block; white-space:pre;color:#808000;'>commit a19fc6fe539f8798f3e772333f64e1ebb19503fd
</span>Author: Dan Villiom Podlaski Christiansen <danchr@macports.org>
AuthorDate: Fri May 29 09:31:42 2020 +0200

<span style='display:block; white-space:pre;color:#404040;'>    emacs: fix build on 10.15.4 and later
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    This is a straight application of the following change from the Emacs
</span><span style='display:block; white-space:pre;color:#404040;'>    repository:
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=888ffd960c06
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/60447
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/60562
</span>---
 editors/emacs/Portfile                    |  4 +-
 editors/emacs/files/patch-fix-unexec.diff | 85 +++++++++++++++++++++++++++++++
 2 files changed, 87 insertions(+), 2 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/editors/emacs/Portfile b/editors/emacs/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index d42c6b1..e820c6f 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/editors/emacs/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/editors/emacs/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -79,13 +79,13 @@ platform darwin {
</span> 
 if {$subport eq $name || $subport eq "emacs-app"} {
     version         26.3
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    revision        6
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    revision        7
</span> 
     checksums       rmd160  263c0152f538d3371c60accb710f3825b01ae097 \
                     sha256  09c747e048137c99ed35747b012910b704e0974dde4db6696fde7054ce387591 \
                     size    65207899
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles      patch-configure.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles      patch-configure.diff patch-fix-unexec.diff
</span> 
     pre-configure {
         system -W ${worksrcpath} "sh ./autogen.sh"
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/editors/emacs/files/patch-fix-unexec.diff b/editors/emacs/files/patch-fix-unexec.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..09c74a0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/editors/emacs/files/patch-fix-unexec.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,85 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 888ffd960c06d56a409a7ff15b1d930d25c56089 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 16 Feb 2020 09:50:26 +0900
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: Fix unexec failure on macOS 10.15.4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+* src/unexmacosx.c (unexec_regions_merge): Align region start addresses to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+page boundaries and then merge regions.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ src/unexmacosx.c | 47 ++++++++++++++++++++++++-----------------------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 1 file changed, 24 insertions(+), 23 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(limited to 'src/unexmacosx.c')
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git src/unexmacosx.c b/src/unexmacosx.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 8d132417e8..59cbe3c18b 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/unexmacosx.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/unexmacosx.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -503,22 +503,34 @@ unexec_regions_sort_compare (const void *a, const void *b)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static void
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ unexec_regions_merge (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  int i, n;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  unexec_region_info r;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  vm_size_t padsize;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   qsort (unexec_regions, num_unexec_regions, sizeof (unexec_regions[0]),
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    &unexec_regions_sort_compare);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  n = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  r = unexec_regions[0];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  padsize = r.range.address & (pagesize - 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if (padsize)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* Align each region start address to a page boundary.  */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (unexec_region_info *cur = unexec_regions;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++       cur < unexec_regions + num_unexec_regions; cur++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      r.range.address -= padsize;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      r.range.size += padsize;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      r.filesize += padsize;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      vm_size_t padsize = cur->range.address & (pagesize - 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      if (padsize)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    cur->range.address -= padsize;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    cur->range.size += padsize;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    cur->filesize += padsize;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    unexec_region_info *prev = cur == unexec_regions ? NULL : cur - 1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if (prev
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        && prev->range.address + prev->range.size > cur->range.address)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        prev->range.size = cur->range.address - prev->range.address;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if (prev->filesize > prev->range.size)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          prev->filesize = prev->range.size;
</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;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  for (i = 1; i < num_unexec_regions; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  int n = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  unexec_region_info r = unexec_regions[0];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  for (int i = 1; i < num_unexec_regions; i++)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       if (r.range.address + r.range.size == unexec_regions[i].range.address
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     && r.range.size - r.filesize < 2 * pagesize)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -530,17 +542,6 @@ unexec_regions_merge (void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     unexec_regions[n++] = r;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     r = unexec_regions[i];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    padsize = r.range.address & (pagesize - 1);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    if (padsize)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-      {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        if ((unexec_regions[n-1].range.address
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-             + unexec_regions[n-1].range.size) == r.range.address)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-          unexec_regions[n-1].range.size -= padsize;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        r.range.address -= padsize;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        r.range.size += padsize;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        r.filesize += padsize;
</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;'>+     }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   unexec_regions[n++] = r;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-- 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cgit v1.2.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span></pre><pre style='margin:0'>

</pre>