<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>