<pre style='margin:0'>
NicosPavlov pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/ad0dc9f7bd818c9b296e9228e4bd17f5c0db7c54">https://github.com/macports/macports-ports/commit/ad0dc9f7bd818c9b296e9228e4bd17f5c0db7c54</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 ad0dc9f OpenBLAS: Use compilers portgroup (#3235)
</span>ad0dc9f is described below
<span style='display:block; white-space:pre;color:#808000;'>commit ad0dc9f7bd818c9b296e9228e4bd17f5c0db7c54
</span>Author: NicosPavlov <pavillon.nicolas@gmail.com>
AuthorDate: Fri Dec 21 00:54:55 2018 +0900
<span style='display:block; white-space:pre;color:#404040;'> OpenBLAS: Use compilers portgroup (#3235)
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> * Use compilers portgroup to generate compiler variants for fortran, update revision and git hash for rebuild
</span>---
math/OpenBLAS/Portfile | 134 ++++++-------------------------------------------
1 file changed, 15 insertions(+), 119 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/math/OpenBLAS/Portfile b/math/OpenBLAS/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index b0dfefd..820df75 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/math/OpenBLAS/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/math/OpenBLAS/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -3,6 +3,7 @@
</span> PortSystem 1.0
PortGroup github 1.0
PortGroup muniversal 1.0
<span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup compilers 1.0
</span>
name OpenBLAS
categories math science
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -19,11 +20,11 @@ archive_sites
</span> subport OpenBLAS-devel {}
if {[string first "-devel" $subport] > 0} {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- github.setup xianyi OpenBLAS b6363f45398812b3d725b54174efab793915df4c
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- version 20181125
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- checksums rmd160 dfd38438cedfd93791e6e72746769a84bc21dd2c\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 cfc0e939c7d94c33282ae88f5bbfba987209d481611211c3a147bb16cdd98e6e\
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 11846759
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ github.setup xianyi OpenBLAS e23366e860c9afc53608287040ee550623fefe49
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ version 20181217
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ checksums rmd160 4c436e38f4ae41b7d329a8282df748ac9dce3a02 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 90409f7337de14070469f1ce6893ac3c0dbb8bff6024210d64a0cb8e3a970baf \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 11853338
</span>
name ${github.project}-devel
conflicts OpenBLAS
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -39,7 +40,7 @@ if {[string first "-devel" $subport] > 0} {
</span> checksums rmd160 89adde42fd970f437f2133642b97c020fc5dfcf2 \
sha256 b24618cdeab4671862fea011cc81b1443cfd5364530e597f33887b4fe3a3a6e8 \
size 11849496
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ revision 1
</span> conflicts OpenBLAS-devel
patchfiles patch-libnoarch.release.diff \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -47,101 +48,8 @@ if {[string first "-devel" $subport] > 0} {
</span>
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# declare +clang variant
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-variant clang description "Use Clang as C/C++ compiler (required for AVX)" {}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# default to +clang if the processor has avx instructions
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {![catch {sysctl hw.optional.avx1_0} has_avx] && $has_avx == 1 &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ![variant_isset clang]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default_variants +clang
</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;'>-# it is OK to use -clang, so don't check for that condition here
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# declare +gcc* variants
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set GCC_VERSIONS_NO_DOT {45 46 47 48 49 5 6 7 8}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach this_gcc_version_no_dot ${GCC_VERSIONS_NO_DOT} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set ndx [lsearch -exact ${this_gcc_version_no_dot} ${this_gcc_version_no_dot}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set this_conflicts [lreplace ${this_gcc_version_no_dot} ${ndx} ${ndx}]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[variant_isset clang]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set this_description "Use gcc${this_gcc_version_no_dot} as Fortran compiler"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set this_description "Use gcc${this_gcc_version_no_dot} for the compiler suite"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- variant gcc${this_gcc_version_no_dot} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- conflicts {*}${this_conflicts} \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- description ${this_description} {}
</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;'>-# set default +gcc* variant: default to +gcc8 if not other +gcc*
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# variant is selected. this variant is used for Fortran, no matter
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# whether +clang is selected or not. if +clang is not selected or
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# -clang is selected, then use the selected +gcc* variant for the
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# compiler suite.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set GCC_VER_NO_DOT 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach this_gcc_version_no_dot ${GCC_VERSIONS_NO_DOT} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[variant_isset gcc${this_gcc_version_no_dot}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set GCC_VER_NO_DOT ${this_gcc_version_no_dot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break
</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;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${GCC_VER_NO_DOT} == 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- default_variants +gcc8
</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;'>-# make sure -gcc8 was not selected alone
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-set GCC_VER_NO_DOT 0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-foreach this_gcc_version_no_dot ${GCC_VERSIONS_NO_DOT} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[variant_isset gcc${this_gcc_version_no_dot}]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set GCC_VER_NO_DOT ${this_gcc_version_no_dot}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- break
</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;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${GCC_VER_NO_DOT} == 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "\n\nYou must select a Fortran compiler variant; you cannot select -gcc8 alone.\n"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "Invalid variant selection."
</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;'>-set GCC_VER_DOT [join [split ${GCC_VER_NO_DOT} ""] "."]
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-# set compilers to use
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {[variant_isset clang]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # use selected +gcc* for Fortran only
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_build-append port:gcc${GCC_VER_NO_DOT}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # add correct libgcc as a runtime dependency
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- depends_lib-append path:lib/libgcc/libgcc_s.1.dylib:libgcc
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ${GCC_VER_NO_DOT} <= 7 } { depends_lib-append port:libgcc7 }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ${GCC_VER_NO_DOT} <= 6 } { depends_lib-append port:libgcc6 }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.fc ${prefix}/bin/gfortran-mp-${GCC_VER_DOT}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[vercmp $xcodeversion 5.0] >= 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.compiler clang
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Xcode's clang < 5.0 does not support avx
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #Use a compiler depending on system
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${configure.cxx_stdlib} eq "libc++"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.compiler macports-clang-3.7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.compiler macports-clang-3.4
</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;'>-} else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # use selected +gcc* for the whole compiler suite
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- configure.compiler macports-gcc-${GCC_VER_DOT}
</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:#e0ffe0;'>+compilers.choose fc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compilers.setup default_fortran
</span>
variant lapack description "Add Lapack/CLapack support to the library" { }
default_variants-append +lapack
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -163,18 +71,13 @@ pre-build {
</span> } else {
puts $makeINC "BINARY = 32"
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {![variant_isset clang]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "COMMON_OPT = -O3"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #Ensure to use the AVX-capable assembler
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "COMMON_OPT = -O3"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts $makeINC "COMMON_OPT = -O3"
</span> puts $makeINC "COMMON_PROF = -pg"
if {![variant_isset lapack]} {
puts $makeINC "NO_LAPACK = 1"
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {![variant_isset clang]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![avx_compiler_isset]} {
</span> puts $makeINC "NO_AVX = 1"
}
close $makeINC
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -192,22 +95,15 @@ pre-build {
</span> } else {
puts $makeINC "BINARY = 32"
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {![variant_isset clang]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "COMMON_OPT = -O3"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- #Ensure to use the AVX-capable assembler
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- puts $makeINC "COMMON_OPT = -O3"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ puts $makeINC "COMMON_OPT = -O3"
</span> puts $makeINC "COMMON_PROF = -pg"
if {![variant_isset lapack]} {
puts $makeINC "NO_LAPACK = 1"
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- if {![variant_isset clang]} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ![catch {sysctl hw.optional.avx1_0} has_avx] && $has_avx == 1 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg "Warning: the chosen compiler cannot handle advanced optimisation instructions."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_msg " AVX instructions are disabled."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![avx_compiler_isset]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg "Warning: the chosen compiler cannot handle advanced optimisation instructions."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ui_msg " AVX instructions are disabled."
</span> puts $makeINC "NO_AVX = 1"
}
close $makeINC
</pre><pre style='margin:0'>
</pre>