<pre style='margin:0'>
Marcus Calhoun-Lopez (MarcusCalhoun-Lopez) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/a398483335809e5375af030bf2a1b29a5a92b039">https://github.com/macports/macports-ports/commit/a398483335809e5375af030bf2a1b29a5a92b039</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit a398483335809e5375af030bf2a1b29a5a92b039
</span>Author: Marcus Calhoun-Lopez <mcalhoun@macports.org>
AuthorDate: Wed Dec 27 12:55:49 2017 -0700

<span style='display:block; white-space:pre;color:#404040;'>    botan: respect MacPorts compiler and compiler flags
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    See https://trac.macports.org/wiki/UsingTheRightCompiler
</span>---
 security/botan/Portfile                        | 55 +++++++++-----------
 security/botan/files/patch-compiler_flags.diff | 70 ++++++++++++++++++++++++++
 2 files changed, 94 insertions(+), 31 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/security/botan/Portfile b/security/botan/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index e2fe2bb..c1965fe 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/security/botan/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/security/botan/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,6 +5,7 @@ PortGroup           muniversal 1.0
</span> 
 name                botan
 version             1.10.17
<span style='display:block; white-space:pre;background:#e0ffe0;'>+revision            1
</span> set branch          [join [lrange [split ${version} .] 0 1] .]
 categories          security devel
 platforms           darwin
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,19 +28,32 @@ checksums           rmd160  77336d0c9a10c03e86ad5946f1e357ec70cee9e7 \
</span> depends_build       port:python27
 depends_lib         path:lib/libssl.dylib:openssl port:zlib port:bzip2
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# respect MacPorts configure values
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append   patch-compiler_flags.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+post-patch {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "s|__MACPORTS_CXX_STDLIB__|${configure.cxx_stdlib}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${worksrcpath}/src/build-data/cc/clang.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "s|__MACPORTS_OPT_FLAG__|${configure.optflags}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${worksrcpath}/src/build-data/cc/clang.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    reinplace \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        "s|__MACPORTS_OPT_FLAG__|${configure.optflags}|g" \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+        ${worksrcpath}/src/build-data/cc/gcc.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append   --cc-bin=${configure.cxx}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> configure.cmd       ${prefix}/bin/python2.7 ./configure.py
<span style='display:block; white-space:pre;background:#ffe0e0;'>-configure.args      --docdir=share/doc --with-openssl --with-zlib --with-bzip2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+configure.args-append --docdir=share/doc --with-openssl --with-zlib --with-bzip2
</span> 
 if {[string match *clang* ${configure.compiler}]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-  configure.args-append --cc=clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append --cc=clang
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # default value in src/build-data/cc/clang.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.optflags    -O2
</span> } elseif {[string match *gcc* ${configure.compiler}]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-  configure.args-append --cc=gcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# add the selected -stdlib to clang builds
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# see https://trac.macports.org/ticket/53123
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[string match *clang* ${configure.cxx}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    configure.cxx ${configure.cxx} -stdlib=${configure.cxx_stdlib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append --cc=gcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # default value in src/build-data/cc/gcc.txt
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.optflags    -O3
</span> }
 
 destroot.destdir    DESTDIR=${destroot}${prefix}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -55,28 +69,7 @@ array set merger_configure_args {
</span> }
 
 if {![variant_isset universal]} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>-    if {[info exists build_arch] && ${os.platform} eq "darwin"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        switch ${build_arch} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ppc -
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            i386 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                build.args CXX="${configure.cxx} -m32"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            ppc64 -
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            x86_64 {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                build.args CXX="${configure.cxx} -m64"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        if {[info exists merger_configure_args($build_arch)]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-            configure.args-append $merger_configure_args(${build_arch})
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        build.args CXX="${configure.cxx}"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    # the arch flag is lost in the build phase, so put it back
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    foreach arch ${configure.universal_archs} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-        lappend merger_build_args(${arch}) CXX='${configure.cxx} -arch ${arch}'
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-    }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    configure.args-append $merger_configure_args(${build_arch})
</span> }
 
 # configure.py rejects this argument
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/security/botan/files/patch-compiler_flags.diff b/security/botan/files/patch-compiler_flags.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..4a102d2
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/security/botan/files/patch-compiler_flags.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,70 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/build-data/cc/clang.txt.orig       2017-10-01 23:00:00.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/build-data/cc/clang.txt    2017-12-27 09:09:02.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,8 +15,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ makefile_style unix
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-lib_opt_flags "-O2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-check_opt_flags "-O2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++lib_opt_flags "__MACPORTS_OPT_FLAG__"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++check_opt_flags "__MACPORTS_OPT_FLAG__"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ shared_flags "-fPIC"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ debug_flags -g
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ no_debug_flags "-finline-functions"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -38,7 +38,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </mach_opt>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <mach_abi_linking>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-x86_64  -> "-m64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++x86_64  -> "-arch x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++x86_32  -> "-arch i386"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mips32  -> "-mabi=32"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mipsn32  -> "-mabi=n32"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mips64  -> "-mabi=64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -46,7 +47,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ s390x   -> "-m64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sparc32 -> "-m32 -mno-app-regs"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sparc64 -> "-m64 -mno-app-regs"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-ppc64   -> "-m64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ppc32   -> "-arch ppc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ppc64   -> "-arch ppc64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This should probably be used on most/all targets, but the docs are incomplete
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ openbsd -> "-pthread"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -54,4 +56,5 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ dragonfly -> "-pthread"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ netbsd  -> "-pthread -D_NETBSD_SOURCE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ qnx     -> "-fexceptions -D_QNX_SOURCE"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++darwin  -> "-stdlib=__MACPORTS_CXX_STDLIB__"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ </mach_abi_linking>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/build-data/cc/gcc.txt.orig 2017-10-01 23:00:00.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/build-data/cc/gcc.txt      2017-12-27 09:13:27.000000000 -0700
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -15,8 +15,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ maintainer_warning_flags "-Werror -Wall -Wextra -Wstrict-aliasing -Wstrict-overflow=5 -Wcast-align -Wmissing-declarations -Wpointer-arith -Wcast-qual -Wold-style-cast"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-lib_opt_flags "-O3"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-check_opt_flags "-O2"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++lib_opt_flags "__MACPORTS_OPT_FLAG__"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++check_opt_flags "__MACPORTS_OPT_FLAG__"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ shared_flags "-fPIC"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ debug_flags -g
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ no_debug_flags "-finline-functions"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -94,13 +94,15 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # The 'linking' bit means "use this for both compiling *and* linking"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ <mach_abi_linking>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-x86_64  -> "-m64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++x86_32  -> "-arch i386"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++x86_64  -> "-atch x86_64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ mips64  -> "-mabi=64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ s390    -> "-m31"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ s390x   -> "-m64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sparc32 -> "-m32 -mno-app-regs"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sparc64 -> "-m64 -mno-app-regs"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-ppc64   -> "-m64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ppc32   -> "-arch ppc"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ppc64   -> "-arch ppc64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ppc64le -> "-m64"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # This should probably be used on most/all targets, but the docs are unclear
</span></pre><pre style='margin:0'>

</pre>