<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/11ef9629518c3d47d445094be20443d2a3542cda">https://github.com/macports/macports-ports/commit/11ef9629518c3d47d445094be20443d2a3542cda</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 11ef9629518c3d47d445094be20443d2a3542cda
</span>Author: Sergey Fedorov <vital.had@gmail.com>
AuthorDate: Sun Dec 25 23:55:22 2022 +0700

<span style='display:block; white-space:pre;color:#404040;'>    R-1.0: PortGroup to facilitate installation of R packages
</span>---
 _resources/port1.0/group/R-1.0.tcl | 137 +++++++++++++++++++++++++++++++++++++
 1 file changed, 137 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/_resources/port1.0/group/R-1.0.tcl b/_resources/port1.0/group/R-1.0.tcl
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..8a631683272
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/_resources/port1.0/group/R-1.0.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,137 @@
</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;'>+# This PortGroup provides support for building R packages.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Usage:
</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;'>+PortGroup           active_variants 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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+options             R.domain R.author R.package R.tag_prefix R.tag_suffix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc R.setup {domain author package version {R_tag_prefix ""} {R_tag_suffix ""}} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global          R.domain R.author R.package R.tag_prefix R.tag_suffix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    R.domain        ${domain}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    R.author        ${author}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    R.package       ${package}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    version         ${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    switch ${R.domain} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        github {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            uplevel "PortGroup github 1.0"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            github.setup ${R.author} ${R.package} ${version} ${R_tag_prefix} ${R_tag_suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        cran {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            homepage        https://cran.r-project.org/package=${R.package}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            master_sites    https://cran.r-project.org/src/contrib \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                            https://cran.r-project.org/src/contrib/Archive/${R.package}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            distname        ${R.package}_${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            livecheck.type  regex
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            livecheck.regex [quotemeta ${R.package}]_(\[0-9.\]+).tar.gz
</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;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+option_proc R.package R.set_package
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc R.set_package {opt action args} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global          R.package
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {$action eq "set"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        name        R-${R.package}
</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;'>+default categories          "R science"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# For w/e reason universal is presently disabled for R in Macports.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+default universal_variant   no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.cxx_standard       2011
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Avoid Apple clangs:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append   {clang}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+port::register_callback R.add_dependencies
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+proc R.add_dependencies {} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global              configure.compiler
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    if {[string match macports-clang-* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set clang_v [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            string range ${configure.compiler} [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                string length macports-clang-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ] end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:clang-${clang_v}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:clang-${clang_v}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    } elseif {[string match macports-gcc-* ${configure.compiler}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        set gcc_v [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            string range ${configure.compiler} [
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                string length macports-gcc-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ] end
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:gcc${gcc_v}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:gcc${gcc_v}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_build-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        port:R
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    depends_run-append  port:R
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# R installs few basic packages as recommended, and those are needed for some other packages.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+require_active_variants R recommended
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# General fixes for PPC:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+global build_arch os.platform
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && (${build_arch} in [list ppc ppc64])} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Avoid multiple malloc errors. See: https://github.com/iains/darwin-toolchains-start-here/discussions/20
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    DYLD_LIBRARY_PATH=${prefix}/lib/libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.cmd-prepend \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    DYLD_LIBRARY_PATH=${prefix}/lib/libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.env-append \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    DYLD_LIBRARY_PATH=${prefix}/lib/libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    destroot.cmd-prepend \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    DYLD_LIBRARY_PATH=${prefix}/lib/libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # With supported_archs set to noarch, Macports wants Clang on 10.6, even when build is for PPC.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Fix this nonsense, until Clang is fixed.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    compiler.blacklist-append *clang*
</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;'>+global prefix frameworks_dir
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Please update R version here:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set Rversion        4.2.2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set branch          [join [lrange [split ${Rversion} .] 0 1] .]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set packages        ${frameworks_dir}/R.framework/Versions/${branch}/Resources/library
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set suffix          .tar.gz
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set r.cmd           ${prefix}/bin/R
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Get rid of unrecognized args:
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.pre_args-delete \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    --prefix=${prefix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Oddly, build does not build binaries but merely produces a tarball.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# It does by default try to produce documentation, however, which introduces extra dependencies.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.cmd       ${r.cmd} CMD build .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.post_args --no-manual --no-build-vignettes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# We build in destroot.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+build { }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+global package version
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+pre-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    xinstall -d -m 0755 ${destroot}${packages}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    move ${worksrcpath}/${R.package}_${version}${suffix} ${destroot}${packages}
</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;'>+destroot.cmd        ${r.cmd} CMD INSTALL .
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.post_args --library=${destroot}${packages}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot.target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    delete ${destroot}${packages}/${R.package}_${version}${suffix}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span></pre><pre style='margin:0'>

</pre>