<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>