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

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/3db241d4f40b0343a012d320b2933a7ade5353c3">https://github.com/macports/macports-ports/commit/3db241d4f40b0343a012d320b2933a7ade5353c3</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 3db241d  mysql8: fix build on older systems
</span>3db241d is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 3db241d4f40b0343a012d320b2933a7ade5353c3
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Mon Sep 23 00:07:32 2019 -0700

<span style='display:block; white-space:pre;color:#404040;'>    mysql8: fix build on older systems
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    add workaround for missing SC_PHYS_PAGES on older systems
</span><span style='display:block; white-space:pre;color:#404040;'>    allow a newer libtool to be used
</span><span style='display:block; white-space:pre;color:#404040;'>    relax the compiler blacklist to allow more c++14 compilers
</span><span style='display:block; white-space:pre;color:#404040;'>    especially as clang-8.0+ are not building this at present
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    closes: https://trac.macports.org/ticket/59074
</span>---
 databases/mysql8/Portfile                          | 16 +++++++++--
 .../patch-mysql8-workaround-no-SC_PHYS_PAGES.diff  | 33 ++++++++++++++++++++++
 2 files changed, 46 insertions(+), 3 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/mysql8/Portfile b/databases/mysql8/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 4e8cbff..a4863a3 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/databases/mysql8/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/mysql8/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -64,8 +64,13 @@ if {$subport eq $name} {
</span> 
     use_parallel_build  yes
 
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    # Requires c++14
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    compiler.blacklist-append *gcc* {clang < 900} macports-clang-3.* {macports-clang-[4-6].0}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # Requires c++14 (gcc 6.1 or newer, clang-3.4 or newer support c++14)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    compiler.blacklist-append {*gcc-[3-5].*} {clang < 900} macports-clang-3.*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # clang 8.0+ are too strict to build this port
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # version:1:1: error: C++ requires a type specifier for all declarations
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # MYSQL_VERSION_MAJOR=8
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    compiler.blacklist-append {macports-clang-[8-9].0}
</span> 
     # Use default CMake build_types
     if {[variant_isset debug]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -125,7 +130,8 @@ if {$subport eq $name} {
</span>     patch.pre_args  -p1
     patchfiles      patch-cmake-install_layout.cmake.diff \
                     patch-router-cmake-set_rpath.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    patch-sql-local-boost.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-sql-local-boost.diff \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    patch-mysql8-workaround-no-SC_PHYS_PAGES.diff
</span> 
     post-extract {
         file mkdir ${cmake.build_dir}/macports
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -145,6 +151,10 @@ if {$subport eq $name} {
</span>         reinplace "s|@PREFIX@|${prefix}|g" \
             ${cmake.build_dir}/macports/macports-default.cnf \
             ${cmake.build_dir}/macports/my.cnf
<span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        # don't force /usr/bin/libtool -- allow cctools' version to be used
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        reinplace "s|/usr/bin/libtool|libtool|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+            ${worksrcpath}/cmake/libutils.cmake
</span>     }
 
     post-destroot {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/databases/mysql8/files/patch-mysql8-workaround-no-SC_PHYS_PAGES.diff b/databases/mysql8/files/patch-mysql8-workaround-no-SC_PHYS_PAGES.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..3e0cca0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/databases/mysql8/files/patch-mysql8-workaround-no-SC_PHYS_PAGES.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,33 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- mysql-8.0.17/storage/innobase/handler/ha_innodb.cc.orig        2019-09-22 17:18:33.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ mysql-8.0.17/storage/innobase/handler/ha_innodb.cc     2019-09-22 17:18:49.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -57,6 +57,10 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <strfunc.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <time.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined __APPLE__ && (MAC_OS_X_VERSION_MIN_REQUIRED < 101100)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <sys/sysctl.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;'>+ #include <sql_table.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "mysql/components/services/system_variable_source.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -294,10 +298,19 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef get_sys_mem
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define get_sys_mem get_mem_GlobalMemoryStatus
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined __APPLE__ && (MAC_OS_X_VERSION_MIN_REQUIRED < 101100)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++static double get_mem_sysconf() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     uint64_t mem_size;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     size_t len = sizeof(mem_size);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     sysctlbyname("hw.memsize", &mem_size, &len, NULL, 0);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++     return (((double)mem_size) / GB);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static double get_mem_sysconf() {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   return (((double)sysconf(_SC_PHYS_PAGES)) *
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+           ((double)sysconf(_SC_PAGESIZE) / GB));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #undef get_sys_mem
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define get_sys_mem get_mem_sysconf
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif /* defined(_WIN32) || defined(_WIN64) */
</span></pre><pre style='margin:0'>

</pre>