<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/786ee3ddd5568c8edd164645ed8d704789e82b86">https://github.com/macports/macports-ports/commit/786ee3ddd5568c8edd164645ed8d704789e82b86</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 786ee3ddd55 fortran-stdlib: new port
</span>786ee3ddd55 is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 786ee3ddd5568c8edd164645ed8d704789e82b86
</span>Author: barracuda156 <vital.had@gmail.com>
AuthorDate: Wed Feb 22 21:03:54 2023 +0800
<span style='display:block; white-space:pre;color:#404040;'> fortran-stdlib: new port
</span>---
lang/fortran-stdlib/Portfile | 70 ++++++++++++
...r-equality-between-Fortran-and-C-logicals.patch | 119 +++++++++++++++++++++
2 files changed, 189 insertions(+)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/fortran-stdlib/Portfile b/lang/fortran-stdlib/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..291e5194c3e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/fortran-stdlib/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,70 @@
</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 compiler_blacklist_versions 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup compilers 1.0
</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;'>+name fortran-stdlib
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+github.setup fortran-lang stdlib fba31e0db6375e9207438d2815b8552dc87c6f0b
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 2023.02.22
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories-append lang fortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+license MIT
</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;'>+description Fortran Standard Library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description {*}${description}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 328d76940bf758be5ba725f163d80808d97e4f7f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 9e6cccccf57d44d6c095a42b0595c538da03874d96655fb7363fd304cc87611f \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 373896
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cmake.generator Ninja
</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_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ port:py${py_ver_nodot}-fypp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 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;'>+platform darwin {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {${os.major} < 13} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ depends_build-append port:git
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ git.cmd ${prefix}/bin/git
</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;'>+post-extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ move ${worksrcpath}/test/string/test_string_assignment.f90 ${worksrcpath}/test/string/test_string_assignment.fypp
</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;'>+patch.pre_args -p1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles 0001-Check-for-equality-between-Fortran-and-C-logicals.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compilers.setup require_fortran
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {*gcc-[34].*} {macports-gcc-[58]}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DPython_EXECUTABLE=${prefix}/bin/python${py_ver} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DFYPP=${prefix}/bin/fypp-${py_ver} \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCMAKE_BUILD_TYPE=NoConfig \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCMAKE_MAXIMUM_RANK:String=7 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_SHARED_LIBS=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_TESTING=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platform darwin powerpc {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # See: https://github.com/fortran-lang/stdlib/issues/694
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DWITH_XDP=OFF
</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;'>+variant tests description "Enable testing" {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.pre_args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DCMAKE_BUILD_WITH_INSTALL_RPATH:BOOL=OFF
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ configure.args-replace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_TESTING=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ -DBUILD_TESTING=ON
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test.run yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ test.cmd ctest
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/fortran-stdlib/files/0001-Check-for-equality-between-Fortran-and-C-logicals.patch b/lang/fortran-stdlib/files/0001-Check-for-equality-between-Fortran-and-C-logicals.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..35cb389b0c0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/fortran-stdlib/files/0001-Check-for-equality-between-Fortran-and-C-logicals.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,119 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From 11c9bb7c0a6743204a332b91947564c7c77843dc Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Jeremie Vandenplas <jeremie.vandenplas@gmail.com>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sun, 19 Feb 2023 13:29:34 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Check for equality between Fortran and C logicals
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/CMakeLists.txt b/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 26f49a4..471ce6e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -59,6 +59,7 @@ endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ list(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ APPEND fyppFlags
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "-DWITH_CBOOL=$<BOOL:${WITH_CBOOL}>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "-DWITH_QP=$<BOOL:${WITH_QP}>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "-DWITH_XDP=$<BOOL:${WITH_XDP}>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "-DPROJECT_VERSION_MAJOR=${PROJECT_VERSION_MAJOR}"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/config/CMakeLists.txt b/config/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f9a5569..9938152 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/config/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/config/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -16,6 +16,13 @@ set(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH}" PARENT_SCOPE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Check for available features
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Note: users can overwrite the automatic check by setting the value at configure time
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ include(CheckFortranSourceRuns)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++if (NOT DEFINED WITH_CBOOL)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ check_fortran_source_runs(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ "use, intrinsic :: iso_c_binding, only: c_bool; integer, parameter :: lk = kind(.true.); if (c_bool == lk) stop 1; end"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ WITH_CBOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ )
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ set(WITH_CBOOL ${WITH_CBOOL} PARENT_SCOPE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (NOT DEFINED WITH_QP)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ check_fortran_source_runs(
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ "if (selected_real_kind(33) == -1) stop 1; end"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/config/template.cmake b/config/template.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index d01dafc..9a0b15e 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/config/template.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/config/template.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,5 +1,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ @PACKAGE_INIT@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set("@PROJECT_NAME@_WITH_CBOOL" @WITH_CBOOL@)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set("@PROJECT_NAME@_WITH_QP" @WITH_QP@)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set("@PROJECT_NAME@_WITH_XDP" @WITH_XDP@)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/src/common.fypp b/src/common.fypp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index f94b6ec..364a8ae 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/src/common.fypp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/src/common.fypp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3,6 +3,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #! Project version number
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #:set PROJECT_VERSION = "{}.{}.{}".format(PROJECT_VERSION_MAJOR, PROJECT_VERSION_MINOR, PROJECT_VERSION_PATCH)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#! Support for C_BOOL logical
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#:if not defined("WITH_CBOOL")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#:set WITH_CBOOL = False
</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;'>+ #! Support for quadruple precision floating point numbers
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #:if not defined("WITH_QP")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #:set WITH_QP = False
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -53,7 +58,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #:set INT_KINDS_TYPES = list(zip(INT_KINDS, INT_TYPES))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #! Logical kinds to be considered during templating
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#:set LOG_KINDS = ["lk", "c_bool"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#:set LOG_KINDS = ["lk"]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#:if WITH_CBOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#:set LOG_KINDS = LOG_KINDS + ["c_bool"]
</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;'>+ #! Logical types to be considered during templating
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #:set LOG_TYPES = ["logical({})".format(k) for k in LOG_KINDS]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/test/ascii/test_ascii.f90 b/test/ascii/test_ascii.f90
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2725613..5a88786 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/test/ascii/test_ascii.f90
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/test/ascii/test_ascii.f90
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6,7 +6,7 @@ module test_ascii
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ is_digit, is_octal_digit, is_hex_digit, is_white, is_blank, &
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ is_control, is_punctuation, is_graphical, is_printable, is_ascii, &
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ to_lower, to_upper, to_title, to_sentence, reverse, LF, TAB, NUL, DEL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+- use stdlib_kinds, only : int8, int16, int32, int64, lk, c_bool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ use stdlib_kinds, only : int8, int16, int32, int64, lk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ implicit none
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ private
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/test/string/CMakeLists.txt b/test/string/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 59ee5cf..f8e3c23 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/test/string/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/test/string/CMakeLists.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -1,3 +1,12 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#### Pre-process: .fpp -> .f90 via Fypp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++# Create a list of the files to be preprocessed
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++set(fppFiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ test_string_assignment.fypp
</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;'>++fypp_f90("${fyppFlags}" "${fppFiles}" outFiles)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ADDTEST(string_assignment)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ADDTEST(string_operator)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ADDTEST(string_intrinsic)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/test/string/test_string_assignment.f90 b/test/string/test_string_assignment.fypp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- a/test/string/test_string_assignment.f90
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ b/test/string/test_string_assignment.fypp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -79,9 +79,11 @@ contains
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ call check(error, string_type(.false.) == trim(flc))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (allocated(error)) return
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#:if WITH_CBOOL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ write(flc, '(g0)') .false._c_bool
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ call check(error, string_type(.false._c_bool) == trim(flc))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if (allocated(error)) return
</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;'>+ write(flc, '(g0)') .true._lk
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ call check(error, string_type(.true._lk) == trim(flc))
</span></pre><pre style='margin:0'>
</pre>