<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/9750cbcfc3309c0b96572eeb1bf334214b7b06d3">https://github.com/macports/macports-ports/commit/9750cbcfc3309c0b96572eeb1bf334214b7b06d3</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 9750cbcfc33 nhc98: update to 1.22, fix a broken build
</span>9750cbcfc33 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 9750cbcfc3309c0b96572eeb1bf334214b7b06d3
</span>Author: barracuda156 <vital.had@gmail.com>
AuthorDate: Tue May 31 07:59:06 2022 +0800
<span style='display:block; white-space:pre;color:#404040;'> nhc98: update to 1.22, fix a broken build
</span>---
lang/nhc98/Portfile | 73 +++++++++++++++++-------------
lang/nhc98/files/patch-Makefile.nhc98.diff | 10 ----
lang/nhc98/files/patch-modern-gcc.diff | 62 +++++++++++++++++++++++++
lang/nhc98/files/patch-ppc.diff | 27 +++++++++++
4 files changed, 131 insertions(+), 41 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/nhc98/Portfile b/lang/nhc98/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index f664c043707..be73761138b 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/nhc98/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/nhc98/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,52 +1,63 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:et:sw=4:ts=4:sts=4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-name nhc98
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-version 1.20
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-revision 3
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-categories lang
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-maintainers nomaintainer
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms darwin
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-license {LGPL BSD}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-description The nhc98 Haskell Compiler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name nhc98
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 1.22
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories lang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+supported_archs ppc i386
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license {LGPL BSD}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description The nhc98 Haskell Compiler
</span> long_description \
nhc98 is a small, easy to install, standards-compliant \
compiler for Haskell 98, the lazy functional \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- programming language. It is very portable, and aims to \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- produce small executables that run in small amounts of \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- memory. It produces medium-fast code, and compilation \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- is itself quite fast. It also comes with extensive tool \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- support for automatic compilation, foreign language \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- interfacing, heap and time profiling, tracing, and \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- debugging. Some of its advanced kinds of heap \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ programming language. It is very portable, and aims \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ to produce small executables that run in small amounts \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ of memory. It produces medium-fast code, and compilation \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ is itself quite fast. It also comes with extensive tool \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ support for automatic compilation, foreign language \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ interfacing, heap and time profiling, tracing \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ and debugging. Some of its advanced kinds of heap \
</span> profiles are not found in any other Haskell compiler.
homepage http://www.haskell.org/${name}
master_sites \
http://www.cs.york.ac.uk/fp/${name} \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- ftp://ftp.cs.york.ac.uk/pub/haskell/${name}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ftp://ftp.cs.york.ac.uk/pub/haskell/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ https://www.haskell.org/nhc98/
</span>
distfiles ${name}src-${version}${extract.suffix}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- md5 55c102408da8085aa56984af4151eb9c \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha1 5bcfa0e8cc192afc5a54aab0bd4c1812dafa7b45 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- rmd160 011e723a956f2fb9029357d00ddb705c350309af
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 99a90d00f77f66938c817c813f11c3d0ea5bf244 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 14c5c16c336d0bb15e6e3d1baad8a2bca93c0538a129fb18df1d47d1f4eb6f3a \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 29854160
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib port:readline \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:ncurses
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build port:pkgconfig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:gmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build.cmd ${prefix}/bin/gmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Supported compilers are gcc, ghc and hbc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist *clang*
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib port:readline port:ncurses
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Donʼt build in parallel, seriously
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_parallel_build no
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --buildwith=gcc \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- +docs \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --docdir=${prefix}/share/doc/${name} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --mandir=${prefix}/share/man/man1 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- --heap=8M
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles patch-ppc.diff patch-modern-gcc.diff
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles patch-Makefile.nhc98.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args --buildwith=gcc \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ +docs \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --docdir=${prefix}/share/doc/${name} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --mandir=${prefix}/share/man/man1 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ --heap=8M
</span>
post-patch {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- reinplace "s|-\$(CC)|-\${BUILDCOMP}|g" ${worksrcpath}/Makefile
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ reinplace "s|-\$(CC)|-\gcc|g" ${worksrcpath}/Makefile
</span> }
post-destroot {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/nhc98/files/patch-Makefile.nhc98.diff b/lang/nhc98/files/patch-Makefile.nhc98.diff
</span>deleted file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index fdd74eef3ea..00000000000
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/nhc98/files/patch-Makefile.nhc98.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,10 +0,0 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>---- src/hsc2hs/Makefile.nhc98.orig 2008-03-17 09:50:40.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+++ src/hsc2hs/Makefile.nhc98 2008-03-17 09:51:43.000000000 -0700
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-@@ -9,6 +9,7 @@
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ../libraries/process/System/Cmd.$C \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ../libraries/directory/System/Directory.$C \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ../libraries/base/Control/Monad.$C \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-+ ../libraries/base/Control/Exception.$C \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ../libraries/base/Foreign/C/String.$C \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ../libraries/base/Foreign/Marshal/Alloc.$C \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ../libraries/base/Foreign/Marshal/Array.$C \
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/nhc98/files/patch-modern-gcc.diff b/lang/nhc98/files/patch-modern-gcc.diff
</span>new file mode 100755
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8d6dde1f50e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/nhc98/files/patch-modern-gcc.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,62 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# From: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=53964
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Makefile.inc.orig 2010-07-09 20:40:18.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Makefile.inc 2022-04-13 07:12:27.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,6 +1,9 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ### Configurable variables:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# We want C89 semantics plus C++-style comments and things like the
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# 'setjmp_buf' and 'u_short' types. More importantly, build with '-O1'
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# only to avoid modern optimizations that break the code.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-OPT = -O3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++OPT = -O1 -std=gnu89
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ARCH = -m32
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ARCH =
</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;'>+--- script/nhc98heap.c.orig 2007-03-13 06:03:52.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ script/nhc98heap.c 2022-04-13 07:09:55.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,5 +1,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdio.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <ctype.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ main(int argc, char **argv)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int prefix = 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;'>+--- src/runtime/Kernel/collector.c.orig 2007-03-13 06:03:52.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/runtime/Kernel/collector.c 2022-04-13 07:11:12.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -2,6 +2,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdio.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <string.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <unistd.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "node.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /*#include "newmacros.h" -- already included in node.h */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /*#include "runtime.h" -- already included in node.h */
</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;'>+--- script/echo.c.orig 2008-09-04 21:01:02.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ script/echo.c 2022-04-13 09:40:40.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,5 +1,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdio.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <string.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int main (int argc, char** argv) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ int i=0;
</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;'>+# From: https://github.com/NetBSD/pkgsrc/blob/trunk/lang/nhc98/patches/patch-ab
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/prelude/BinArray/cLowUnboxedArray.c.orig 2007-03-13 06:03:49.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/prelude/BinArray/cLowUnboxedArray.c 2022-04-16 17:06:33.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,5 +1,5 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#include "cLowUnboxedArray.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdlib.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include "cLowUnboxedArray.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ void finaliseUBA (UBA uba) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ free(uba->block);
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/nhc98/files/patch-ppc.diff b/lang/nhc98/files/patch-ppc.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..133df7a988f
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/nhc98/files/patch-ppc.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,27 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Set correct target for PPC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- script/harch.inst.orig 2008-08-11 15:49:48.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ script/harch.inst 2022-05-31 04:05:11.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -53,6 +53,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun3*) PROCESSOR=sun3;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sun4*) PROCESSOR=sun4;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sparc*) PROCESSOR=sparc;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ powerpc*) PROCESSOR=powerpc;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Keep OS release number only if it might be relevant.
</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;'>+--- configure.orig 2010-07-09 20:41:23.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure 2022-05-31 07:30:08.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -65,8 +65,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ MACHINE=`script/harch`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ case $MACHINE in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- powerpc-Darwin[56]) CCC=${CC-cc} ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- *) CCC=${CC-gcc} ; ;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ powerpc-Darwin*) CCC=gcc;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ *) CCC=gcc;;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ esac
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ STRIP=${STRIP}
</span></pre><pre style='margin:0'>
</pre>