<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/604d1852787d794ff25093fc49b3658c36eb847d">https://github.com/macports/macports-ports/commit/604d1852787d794ff25093fc49b3658c36eb847d</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 604d1852787d794ff25093fc49b3658c36eb847d
</span>Author: barracuda156 <vital.had@gmail.com>
AuthorDate: Sat Nov 11 06:12:35 2023 +0800

<span style='display:block; white-space:pre;color:#404040;'>    R-V8: new port
</span>---
 R/R-V8/Portfile                        | 45 ++++++++++++++++++++
 R/R-V8/files/patch-fix-configure.diff  | 75 ++++++++++++++++++++++++++++++++++
 R/R-V8/files/patch-gcc-permissive.diff | 11 +++++
 3 files changed, 131 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/R/R-V8/Portfile b/R/R-V8/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..4961763209c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/R/R-V8/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,45 @@
</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           R 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+R.setup             cran jeroen V8 4.4.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories-append   devel
</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             MIT
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Embedded javascript and webassembly engine for R
</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  a8c9ec516057ae3283ae6531eb8c25841bbdba9d \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    sha256  635bc20fb90206c357b0eba53d8af0789783241d300f0190fce9d6d0614c8f46 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    size    678520
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set v8_ver          8.3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+depends_lib-append  port:R-curl \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:R-jsonlite \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:R-Rcpp \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:v8-${v8_ver}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles          patch-fix-configure.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {[string match *gcc* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-gcc-permissive.diff
</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-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@V8@|v8-${v8_ver}|" ${worksrcpath}/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace "s|@V8_HOME@|${prefix}/libexec/v8-${v8_ver}|g" ${worksrcpath}/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[string match *gcc* ${configure.compiler}] && ${configure.build_arch} in [list i386 ppc]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|@V8_LIBS@|-lv8_base_without_compiler -lv8_compiler -lv8_initializers -lv8_inspector -lv8_libbase -lv8_libplatform -lv8_libsampler -lv8_snapshot -latomic|" ${worksrcpath}/configure
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } else {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|@V8_LIBS@|-lv8_base_without_compiler -lv8_compiler -lv8_initializers -lv8_inspector -lv8_libbase -lv8_libplatform -lv8_libsampler -lv8_snapshot|" ${worksrcpath}/configure
</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;'>+depends_test-append port:R-knitr \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:R-rmarkdown \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    port:R-testthat
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test.run            yes
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/R/R-V8/files/patch-fix-configure.diff b/R/R-V8/files/patch-fix-configure.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..7cf81673fc7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/R/R-V8/files/patch-fix-configure.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,75 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- configure      2023-10-10 03:23:36.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ configure      2023-11-11 02:24:33.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -6,10 +6,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PKG_DEB_NAME="libv8-dev or libnode-dev"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PKG_RPM_NAME="v8-devel"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PKG_CSW_NAME="libv8_dev"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-PKG_BREW_NAME="v8"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++PKG_MP_NAME="@V8@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PKG_TEST_HEADER="<v8.h>"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-PKG_LIBS="-lv8 -lv8_libplatform"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-PKG_CFLAGS="-I/usr/include/v8 -I/usr/include/v8-3.14"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++PKG_LIBS="@V8_LIBS@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++PKG_CFLAGS="-I@V8_HOME@/include"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Allow users to override PKG_LIBS and PKG_CFLAGS
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if [ "$V8_PKG_LIBS" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -19,7 +19,6 @@
</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;'>+ UNAME=`uname`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-UARCH=`uname -m`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Test common production platforms
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if test -f "/etc/redhat-release" && ! grep -Fq Fedora "/etc/redhat-release"; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -32,15 +31,6 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ IS_MACOS=1
</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;'>+-# Default to static V8 on supported production platforms
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if [ -z "$DISABLE_STATIC_LIBV8" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if [ "$IS_MACOS" ] || [ "$IS_UBUNTU" ] || [ "$IS_RHEL" ] || [ "$CI" ] || [ -f "/usr/lib/libv8.so.3.14.5" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-if [ "$UARCH" = "x86_64" ] || [ "$UARCH" = "arm64" ] || [ "$UARCH" = "aarch64" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-DOWNLOAD_STATIC_LIBV8=1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-fi
</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;'>+ # Use CXX17 when available, required as of libv8 version 10.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXX17=`${R_HOME}/bin/R CMD config CXX17` || unset CXX17
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -75,17 +65,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PKG_CFLAGS="-I$INCLUDE_DIR $PKG_CFLAGS"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   PKG_LIBS="-L$LIB_DIR $PKG_LIBS"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ elif [ "$IS_MACOS" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  if [ `command -v brew` ] && [ -z "$DOWNLOAD_STATIC_LIBV8" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    BREWDIR=`brew --prefix`
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    V8HOME="$BREWDIR/opt/$PKG_BREW_NAME"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    PKG_CFLAGS="-I${V8HOME}/include -I${V8HOME}/libexec/include"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    PKG_LIBS="-L${V8HOME}/libexec $PKG_LIBS"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    curl -sfL "https://autobrew.github.io/scripts/$PKG_BREW_NAME" > autobrew
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-    . ./autobrew
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  fi
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-elif [ "$DOWNLOAD_STATIC_LIBV8" ]; then
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  ${R_HOME}/bin/R -s -e 'curl::curl_download("http://jeroen.github.io/V8/get-v8-linux.sh","get-v8-linux.sh")' && . ./get-v8-linux.sh || true
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  echo "Using Macports installation of V8!"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    V8HOME="@V8_HOME@"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    PKG_CFLAGS="-I${V8HOME}/include"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    PKG_LIBS="-L${V8HOME}/lib $PKG_LIBS"
</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;'>+ # For debugging
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -100,11 +83,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   echo "Configuration failed to find the libv8 engine library. Try installing:"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   echo " * deb: $PKG_DEB_NAME (Debian / Ubuntu)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   echo " * rpm: $PKG_RPM_NAME (Fedora, EPEL)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  echo " * brew: $PKG_BREW_NAME (OSX)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  echo " * port: $PKG_MP_NAME (macOS)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   echo " * csw: $PKG_CSW_NAME (Solaris)"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  echo "Alternatively, on Linux (x86_64) or MacOS you can set environment variable:"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  echo "    DOWNLOAD_STATIC_LIBV8=1"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  echo "to automatically download a static version of libv8."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   echo "To use a custom libv8, set INCLUDE_DIR and LIB_DIR manually via:"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   echo "R CMD INSTALL --configure-vars='INCLUDE_DIR=... LIB_DIR=...'"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   echo "---------------------------[ ERROR MESSAGE ]----------------------------"
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/R/R-V8/files/patch-gcc-permissive.diff b/R/R-V8/files/patch-gcc-permissive.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..0d58735fce6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/R/R-V8/files/patch-gcc-permissive.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,11 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/Makevars.in        2022-03-30 22:44:03.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/Makevars.in        2023-11-11 02:14:45.000000000 +0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3,6 +3,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ PKG_LIBS=@libs@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CXX_STD=CXX11
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++PKG_CXXFLAGS += -fpermissive
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ all: clean
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ clean:
</span></pre><pre style='margin:0'>

</pre>