<pre style='margin:0'>
Ryan Schmidt (ryandesign) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/62284b72bac95049e503648de8cf961a35545fdb">https://github.com/macports/macports-ports/commit/62284b72bac95049e503648de8cf961a35545fdb</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 62284b72bac ddd: Fix build failure with latest libXt
</span>62284b72bac is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 62284b72bac95049e503648de8cf961a35545fdb
</span>Author: Ryan Schmidt <ryandesign@macports.org>
AuthorDate: Mon Jul 20 18:05:52 2020 -0500

<span style='display:block; white-space:pre;color:#404040;'>    ddd: Fix build failure with latest libXt
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    and modernize checksums.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Closes: https://trac.macports.org/ticket/60882
</span>---
 devel/ddd/Portfile                            | 10 +++++---
 devel/ddd/files/mark-noreturn-functions.patch | 37 +++++++++++++++++++++++++++
 2 files changed, 43 insertions(+), 4 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/ddd/Portfile b/devel/ddd/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 67684c08b13..bc2e8daa9d0 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/devel/ddd/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/ddd/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -13,9 +13,9 @@ long_description \
</span> homepage        https://www.gnu.org/software/ddd/
 master_sites    gnu
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums       md5 c50396db7bac3862a6d2555b3b22c34e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                sha1 b91d2dfb1145af409138bd34517a898341724e56 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                rmd160 fcc71b2b57f4d7a2c17ac817739674c89e1dd7a0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums       rmd160  fcc71b2b57f4d7a2c17ac817739674c89e1dd7a0 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                sha256  3ad6cd67d7f4b1d6b2d38537261564a0d26aaed077bf25c51efc1474d0e8b65c \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                size    5687115
</span> 
 depends_lib \
        port:ncurses \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -26,6 +26,8 @@ depends_lib \
</span> patchfiles      patch-ambiguous-overload.diff \
                 patch-strclass-friend.diff \
                 patch-unknown-type-name-a_class.diff
<span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                mark-noreturn-functions.patch
</span> 
 configure.args  --infodir=${prefix}/share/info \
                 --mandir=${prefix}/share/man \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -35,7 +37,7 @@ configure.args  --infodir=${prefix}/share/info \
</span> # make will build the executable "ddd" and the X resource file "Ddd" in the same directory,
 # as HFS+ is case-insensitive by default, this will loosely FAIL.
 build.args      EXEEXT=.exe
<span style='display:block; white-space:pre;background:#ffe0e0;'>-destroot.args   ${build.args}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.args   {*}${build.args}
</span> 
 post-destroot {
     move ${destroot}${prefix}/bin/ddd.exe ${destroot}${prefix}/bin/ddd
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/devel/ddd/files/mark-noreturn-functions.patch b/devel/ddd/files/mark-noreturn-functions.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..a59cefd4cdd
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/devel/ddd/files/mark-noreturn-functions.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,37 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Fix ddd after fallout from libXt update
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Stricter type rules mean that you can't pass a non-noreturn function as
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+a parameter to a function expecting a noreturn-function:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+exit.C:815:12: error: no matching function for call to 'XtAppSetErrorHandler'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    (void) XtAppSetErrorHandler(app_context, ddd_xt_error);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+because ddd_xt_error had the wrong attribute (non-noreturn). So add
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+that in, and add it to goto_main_loop() as well.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+They're not really noreturn since they jump around via longjmp() but at
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+that point we've pretty much reached UB anyway.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://svnweb.freebsd.org/ports?view=revision&revision=505788
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ddd/exit.C.orig        2019-07-03 20:06:15 UTC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ddd/exit.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -769,7 +769,7 @@ static void PostXtErrorCB(XtPointer client_data, XtInt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static XtAppContext xt_error_app_context = 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-static void ddd_xt_error(String message = 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static _X_NORETURN void ddd_xt_error(String message = 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     ddd_has_crashed = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ddd/mainloop.C.orig    2019-07-03 20:06:57 UTC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ddd/mainloop.C
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -121,7 +121,7 @@ void ddd_main_loop()
</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;'>+ // Return to DDD main loop, using longjmp()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-void goto_main_loop(int sig)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++_X_NORETURN void goto_main_loop(int sig)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     longjmp(main_loop_env, sig);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span></pre><pre style='margin:0'>

</pre>