<pre style='margin:0'>
Herby Gillot (herbygillot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/9ce5fa98c5bcd43e17c71603847ff2804fa55d0a">https://github.com/macports/macports-ports/commit/9ce5fa98c5bcd43e17c71603847ff2804fa55d0a</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 9ce5fa98c5b lfortran: new port in lang
</span>9ce5fa98c5b is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 9ce5fa98c5bcd43e17c71603847ff2804fa55d0a
</span>Author: Sergey Fedorov <vital.had@gmail.com>
AuthorDate: Wed Jan 25 08:27:21 2023 +0800

<span style='display:block; white-space:pre;color:#404040;'>    lfortran: new port in lang
</span>---
 lang/lfortran/Portfile             | 60 ++++++++++++++++++++++++++++++++++++++
 lang/lfortran/files/patch-ppc.diff | 13 +++++++++
 2 files changed, 73 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/lfortran/Portfile b/lang/lfortran/Portfile
</span>new file mode 100755
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..b29cef17da1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/lfortran/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,60 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem              1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               cmake 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup               github 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup            lfortran lfortran 0.18.0 v
</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             {@barracuda156 gmail.com:vital.had} openmaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license                 BSD
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description             Modern open-source interactive Fortran compiler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description        LFortran is a modern open-source interactive Fortran compiler built on top of LLVM. \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        It can execute user’s code interactively to allow exploratory work \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        (much like Python, MATLAB or Julia) as well as compile to binaries \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        with the goal to run user’s code on modern architectures such as multi-core CPUs and GPUs.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage                https://lfortran.org
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums               rmd160  bcf04e7e3d7c52cef49a9c46c266e36d64b4ca24 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        sha256  a56ceec77309637120b1f11fb67eb25eecabc57fd5f4f1f2b91eb0769fc40ec7 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        size    1713153
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Build system is a bit handicapped.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+fetch.type              git
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.out_of_source     no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set port_libfmt         libfmt9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.module_path-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        ${prefix}/lib/${port_libfmt}/cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_build-append    port:bash \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:bison \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:re2c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append      path:lib/pkgconfig/RapidJSON.pc:rapidjson \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:zlib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:${port_libfmt}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set py_ver              3.11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set py_ver_nodot        [string map {. {}} ${py_ver}]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append      port:python${py_ver_nodot}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.python        ${prefix}/bin/python${py_ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles              patch-ppc.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|python src|${configure.python} src|g" ${worksrcpath}/build0.sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|/usr/bin/env python|${configure.python}|" ${worksrcpath}/run_tests.py
</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;'>+compiler.cxx_standard   2017
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append   -DLFORTRAN_BUILD_ALL=YES \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DLFORTRAN_STATIC_BIN=NO \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_FMT=YES \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_JSON=YES \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_LLVM=NO \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_RUNTIME_LIBRARY=YES \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DWITH_ZLIB=YES
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.build_type        Release
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/lfortran/files/patch-ppc.diff b/lang/lfortran/files/patch-ppc.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..e21435de68d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/lfortran/files/patch-ppc.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,13 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/lfortran/parser/parser_stype.h.orig        2022-10-19 05:48:01.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/lfortran/parser/parser_stype.h     2023-01-25 07:41:41.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -94,7 +94,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // Ensure the YYSTYPE size is equal to Vec<AST::ast_t*>, which is a required member, so
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // YYSTYPE has to be at least as big, but it should not be bigger, otherwise it
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ // would reduce performance.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++// On PPC it reduces to 16 == 12, possibly due to a different size of bool.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef __POWERPC__
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static_assert(sizeof(YYSTYPE) == sizeof(Vec<AST::ast_t*>));
</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;'>+ } // namespace LFortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span></pre><pre style='margin:0'>

</pre>