<pre style='margin:0'>
Haren S (harens) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/9e7e631ef6e8bf956337b69e7b3fbf3aef33ed4e">https://github.com/macports/macports-ports/commit/9e7e631ef6e8bf956337b69e7b3fbf3aef33ed4e</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 9e7e631ef6e8bf956337b69e7b3fbf3aef33ed4e
</span>Author: Sergey Fedorov <vital.had@gmail.com>
AuthorDate: Mon Aug 8 00:07:59 2022 +0545

<span style='display:block; white-space:pre;color:#404040;'>    hugs98: fix the build
</span>---
 lang/hugs98/Portfile                               | 45 +++++++++++++++++-----
 lang/hugs98/files/patch-GLUT.diff                  | 39 +++++++++++++++++++
 lang/hugs98/files/patch-O0.diff                    | 16 ++++++++
 lang/hugs98/files/patch-O1.diff                    | 16 ++++++++
 ...se-include-HsBase.h.diff => patch-environ.diff} | 18 +++++++++
 lang/hugs98/files/patch-gcc-inline.diff            | 20 ++++++++++
 6 files changed, 145 insertions(+), 9 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/hugs98/Portfile b/lang/hugs98/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4784bf12a12..d9572b1c206 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/hugs98/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/hugs98/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -2,10 +2,9 @@ PortSystem 1.0
</span> 
 name                hugs98
 version             plus-Sep2006
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision            2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            3
</span> categories          lang
 maintainers         nomaintainer
<span style='display:block; white-space:pre;background:#ffe0e0;'>-platforms           darwin
</span> license             BSD
 description         The HUGS Haskell Interpreter
 long_description    \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -17,25 +16,53 @@ long_description    \
</span> homepage            http://www.haskell.org/hugs/
 master_sites        http://cvs.haskell.org/Hugs/downloads/2006-09/
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums           md5     e03e0ad79750d037237c47ebe33fa20e \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    sha1    1464a80c715bc5f786ea5a4e4257b2ff0dc7e1e9 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                    rmd160  4a7e744360a29fbf94f5ac86ea559e80f12205a5
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-patchfiles          patch-configure.ac.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums           rmd160  4a7e744360a29fbf94f5ac86ea559e80f12205a5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  aafaca9ca544572ebef70bbe86b5eb0abaa5d7c11c0b766d7db72a46b022bed5 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    5322244
</span> 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-depends_lib         port:libedit port:xorg-libX11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Both FreeBSD and NetBSD add Bison dependency:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/NetBSD/pkgsrc/commit/edf0a1a8e9d42bc00117f4e31e4d85cefb64e0b0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build       port:bison \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:gmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib         port:libedit \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:xorg-libX11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-configure.ac.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-O1.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-gcc-inline.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-GLUT.diff
</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/head/lang/hugs/Makefile?revision=530719&view=co&pathrev=534092
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# This is untested though; on PPC -O0 breaks the build.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${build_arch} eq "i386"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-O1.diff patch-O0.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span> 
 if {${os.platform} eq "darwin" && ${os.major} >= 10} {
     # This fixes the 'Undefined symbols: "_environ"' error
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    patchfiles-append patch-packages-base-include-HsBase.h.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append patch-environ.diff
</span>     # This fixes the 'Undefined symbols: "renameFile_17' and 'readdir_40' errors
     patchfiles-append patch-libraries-tools-make-bootlib.diff
 }
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# This project's build system fails
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Build has been failing with Clang in Macports previously.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Nevertheless, it may be possible: https://github.com/NetBSD/pkgsrc/commit/69085621a4c0c14a468490f8c5760649975e80fa
</span> compiler.blacklist  *clang*
 
 use_autoconf        yes
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+use_parallel_build  no
</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;'>+platform darwin 10 powerpc {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # We ought to convince Rosetta to build for the right arch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append CC="${configure.cc} -arch ppc" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                          --build=powerpc-apple-darwin${os.major} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                          --target=powerpc-apple-darwin${os.major}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> livecheck.type      none
 #livecheck.type      regex
 #livecheck.url       ${master_sites}
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/hugs98/files/patch-GLUT.diff b/lang/hugs98/files/patch-GLUT.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..6f4a906baf1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/hugs98/files/patch-GLUT.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,39 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Undefined symbols: "_hs_GLUT_getProcAddress", referenced from: _hugsprim_hs_GLUT_getProcAddress_0 in ccZecAVF.o
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Fix from: https://mail.haskell.org/pipermail/haskell-cafe/2007-September.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/GLUT/Graphics/UI/GLUT/Extensions.hs.orig      2006-09-21 04:15:16.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/GLUT/Graphics/UI/GLUT/Extensions.hs   2022-08-08 00:43:36.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -42,5 +42,5 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ getProcAddressInternal :: String -> IO (FunPtr a)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ getProcAddressInternal call = withCString call hs_GLUT_getProcAddress
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-foreign import CALLCONV unsafe "hs_GLUT_getProcAddress" hs_GLUT_getProcAddress
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++foreign import CALLCONV unsafe "glutGetProcAddress" hs_GLUT_getProcAddress
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    :: CString -> IO (FunPtr a)
</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;'>+--- packages/GLUT/cbits/HsGLUT.c.orig      2006-09-21 04:15:16.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/GLUT/cbits/HsGLUT.c   2022-08-08 00:46:25.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -43,22 +43,3 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return (void*)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;'>+-/* procName is really a const char*, but currently we can't specify this in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-   Haskell's FFI and consequently get a warning from the C compiler. */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-void*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-hs_GLUT_getProcAddress(char *procName)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if (FREEGLUT || GLUT_API_VERSION >= 5)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if GLUT_GET_PROC_ADDRESS_IS_BROKEN
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  /* There are a few typos/omissions in freeglut 2.20 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if (strcmp(procName, "glutWireCylinder"         ) == 0) return (void*)glutWireCylinder;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if (strcmp(procName, "glutSolidCylinder"        ) == 0) return (void*)glutSolidCylinder;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if (strcmp(procName, "glutWireSierpinskiSponge" ) == 0) return (void*)glutWireSierpinskiSponge;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if (strcmp(procName, "glutSolidSierpinskiSponge") == 0) return (void*)glutSolidSierpinskiSponge;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  return glutGetProcAddress(procName);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  return (void*)0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/hugs98/files/patch-O0.diff b/lang/hugs98/files/patch-O0.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..a3127311fcf
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/hugs98/files/patch-O0.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://svnweb.freebsd.org/ports/head/lang/hugs/Makefile?revision=530719&view=co&pathrev=534092
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.ac.orig      2006-05-03 19:55:36.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.ac   2022-08-07 22:42:48.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -212,7 +212,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ : ${CFLAGS=-g}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-OPTFLAGS="-O2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++OPTFLAGS="-O0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_PROG_CC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_PROG_GCC_TRADITIONAL
</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;color:#808080;'>diff --git a/lang/hugs98/files/patch-O1.diff b/lang/hugs98/files/patch-O1.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..48e2a18c09d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/hugs98/files/patch-O1.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,16 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Both -O2 and -O0 seem to break the build.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure.ac.orig      2006-05-03 19:55:36.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure.ac   2022-08-07 22:42:48.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -212,7 +212,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ : ${CFLAGS=-g}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-OPTFLAGS="-O2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++OPTFLAGS="-O1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_PROG_CC
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ AC_PROG_GCC_TRADITIONAL
</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;color:#808080;'>diff --git a/lang/hugs98/files/patch-packages-base-include-HsBase.h.diff b/lang/hugs98/files/patch-environ.diff
</span>similarity index 57%
rename from lang/hugs98/files/patch-packages-base-include-HsBase.h.diff
rename to lang/hugs98/files/patch-environ.diff
<span style='display:block; white-space:pre;color:#808080;'>index 3867ef092fa..0402ae3e00c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/hugs98/files/patch-packages-base-include-HsBase.h.diff
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/hugs98/files/patch-environ.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -15,3 +15,21 @@
</span>  INLINE char **__hscore_environ() { return environ; }
  
  /* lossless conversions between pointers and integral types */
<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;'>+--- packages/unix/include/HsUnix.h.orig    2006-09-21 04:14:16.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/unix/include/HsUnix.h 2022-08-08 00:34:33.000000000 +0545
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -80,7 +80,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <signal.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-extern char **environ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifdef __APPLE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <crt_externs.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define environ (*_NSGetEnviron())
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ extern char **environ;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifndef INLINE
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # if defined(__GNUC__)
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/hugs98/files/patch-gcc-inline.diff b/lang/hugs98/files/patch-gcc-inline.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..5806113c153
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/hugs98/files/patch-gcc-inline.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# https://github.com/NetBSD/pkgsrc/blob/trunk/lang/hugs/patches/patch-packages_base_include_HsBase.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# NetBSD: patch-packages_base_include_HsBase.h,v 1.3 2015/12/29 23:34:48 dholland Exp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Patch up gcc inline mess.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- packages/base/include/HsBase.h.orig    2006-09-20 22:01:52.000000000 +0000
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ packages/base/include/HsBase.h
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -221,7 +221,11 @@ StgWord64 stg_integerToWord64 (StgInt sa
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # if defined(_MSC_VER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define INLINE extern __inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # elif defined(__GNUC__)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#  define INLINE extern inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  ifdef __GNUC_STDC_INLINE__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#   define INLINE extern inline __attribute__((__gnu_inline__))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#   define INLINE extern inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define INLINE inline
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span>\ No newline at end of file
</pre><pre style='margin:0'>

</pre>