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