<pre style='margin:0'>
Chris Jones (cjones051073) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/e78156acf4a51d65721bc3213f7770ab5657e2f4">https://github.com/macports/macports-ports/commit/e78156acf4a51d65721bc3213f7770ab5657e2f4</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit e78156acf4a51d65721bc3213f7770ab5657e2f4
</span>Author: Chris Jones <jonesc@macports.org>
AuthorDate: Sat May 2 18:03:15 2020 +0100
<span style='display:block; white-space:pre;color:#404040;'> gcc10: Update to 10.1 RC, make default runtime provider
</span>---
lang/gcc10/Portfile | 102 +++++++++++++++++++++++++++++++++-------------------
1 file changed, 65 insertions(+), 37 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/gcc10/Portfile b/lang/gcc10/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index c7f60d8..dbe9e0d 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/gcc10/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/gcc10/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -1,37 +1,51 @@
</span> # -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:filetype=tcl:et:sw=4:ts=4:sts=4
<span style='display:block; white-space:pre;background:#ffe0e0;'>-PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup select 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup compiler_blacklist_versions 1.0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup active_variants 1.1
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-PortGroup conflicts_build 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem 1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup select 1.0
</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 active_variants 1.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortGroup conflicts_build 1.0
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>-epoch 3
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+epoch 4
</span> name gcc10
<span style='display:block; white-space:pre;background:#ffe0e0;'>-version 10-20200426
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version 10.1.0-RC-20200430
</span> revision 0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-subport libgcc-devel { revision 0 }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+subport libgcc10 { revision 0 }
</span> platforms darwin
categories lang
maintainers nomaintainer
# an exception in the license allows dependents to not be GPL
license {GPL-3+ Permissive}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-description The GNU compiler collection, prerelease BETA
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description The GNU compiler collection
</span> long_description The GNU compiler collection, including front ends for \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- C, C++, Objective-C, Objective-C++ and Fortran. \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- This is a prerelease BETA version!
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ C, C++, Objective-C, Objective-C++ and Fortran.
</span>
homepage https://gcc.gnu.org/
<span style='display:block; white-space:pre;background:#ffe0e0;'>-master_sites ftp://ftp.funet.fi/pub/mirrors/sources.redhat.com/pub/gcc/snapshots/${version}/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ftp://gcc.gnu.org/pub/gcc/snapshots/${version}/ \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- http://mirror.koddos.net/gcc/snapshots/${version}/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# Primary releases
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites https://ftpmirror.gnu.org/gcc/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ https://mirror.its.dal.ca/gnu/gcc/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ https://mirrors.kernel.org/gnu/gcc/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ https://www.mirrorservice.org/sites/ftp.gnu.org/gnu/gcc/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ https://ftp-stud.hs-esslingen.de/pub/Mirrors/ftp.gnu.org/gcc/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ https://mirror.yongbok.net/gnu/gcc/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ http://mirror.koddos.net/gcc/releases/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ftp://ftp.gwdg.de/pub/linux/gcc/releases/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ftp://gcc.ftp.nluug.nl/mirror/languages/gcc/releases/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ftp://gcc.gnu.org/pub/gcc/releases/gcc-${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ gnu:gcc/gcc-${version}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# snapshots and RC candidates
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+master_sites-append https://mirror.koddos.net/gcc/snapshots/${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ https://bigsearcher.com/mirrors/gcc/snapshots/${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ftp://ftp.funet.fi/pub/mirrors/sources.redhat.com/pub/gcc/snapshots/${version}/ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ ftp://gcc.gnu.org/pub/gcc/snapshots/${version}/
</span>
distname gcc-${version}
use_xz yes
<span style='display:block; white-space:pre;background:#ffe0e0;'>-checksums rmd160 965ae9760221ba8c2e151c9ece109a7facbb9a40 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- sha256 30bc86cedeb3067397f6968b5e2f894690422d7eb225ada12423ef987b400864 \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- size 71245664
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+checksums rmd160 46ed31df944c2fb6b9285c307f73f944cccd825b \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ sha256 486dd2593597dedadcd0fcce8d6ec71ade39d249d3dbe4be05fa5c2d4e1578e3 \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ size 74595432
</span>
depends_lib port:cctools \
port:gmp \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -42,7 +56,7 @@ depends_lib port:cctools \
</span> port:mpfr \
port:zlib
depends_run port:gcc_select \
<span style='display:block; white-space:pre;background:#ffe0e0;'>- port:libgcc-devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ path:lib/libgcc/libgcc_s.1.dylib:libgcc
</span>
depends_skip_archcheck-append gcc_select ld64 cctools
license_noconflict gmp mpfr ppl libmpc zlib
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -115,8 +129,6 @@ pre-configure {
</span> configure.args-append --with-sysroot="${configure.sdkroot}"
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>- # TODO: Remove when base automatically creates configure.dir (2.2.1?).
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- file mkdir ${configure.dir}
</span> }
# Added for gcc9+
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -135,9 +147,9 @@ compiler.blacklist-append {clang < 300}
</span> compiler.blacklist-append {clang < 800} *gcc-4.2 macports-clang-3.4 macports-clang-3.7
compiler.fallback-append macports-clang-7.0 macports-clang-8.0
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# at present, clang-9.0 can't build gcc10
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# at present, clang-9.0+ can't build gcc
</span> # https://trac.macports.org/ticket/59253
<span style='display:block; white-space:pre;background:#ffe0e0;'>-compiler.blacklist-append macports-clang-9.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+compiler.blacklist-append {macports-clang-[9-10].0}
</span>
# "-stdlib" would be passed on to the bootstrap compiler if present
configure.cxx_stdlib
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -150,7 +162,7 @@ destroot.target install install-info-host
</span>
# Is this gcc release supported here.
if { ${os.major} < 11 } {
<span style='display:block; white-space:pre;background:#ffe0e0;'>- known_fail yes
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ known_fail yes
</span> pre-fetch {
ui_error "${name} ${version} is not supported on Darwin ${os.major}"
return -code error "incompatible OS X version"
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -160,19 +172,36 @@ if { ${os.major} < 11 } {
</span> # gcc cannot build if libunwind-headers is active
conflicts_build-append libunwind-headers
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# dylibs to install
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# List of dylibs to be installed
</span> # Note that we really don't want to include libgcc_ext.10.[45].dylib here, but install_name_tool
# doesn't know how to change the id of stubs, and it's easier than recreating them for each
# gcc port.
<span style='display:block; white-space:pre;background:#ffe0e0;'>-set dylibs {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.5.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.5.dylib libubsan.1.dylib libatomic.1.dylib}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-if {${subport} eq "libgcc-devel"} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- # Set conflict against port providing primary runtime
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if { ${os.major} < 10 } {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- conflicts libgcc libgcc7
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- } else {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- conflicts libgcc libgcc9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set dylibs {libgcc_ext.10.4.dylib libgcc_ext.10.5.dylib libgcc_s.1.dylib libgfortran.5.dylib libquadmath.0.dylib libstdc++.6.dylib libobjc-gnu.4.dylib libgomp.1.dylib libitm.1.dylib libssp.0.dylib libasan.6.dylib libubsan.1.dylib libatomic.1.dylib}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${subport} eq "libgcc10"} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Always provides primary runtime so always in conflict
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ conflicts libgcc-devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Activate hack for new libgcc
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # https://trac.macports.org/wiki/PortfileRecipes#deactivatehack
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ pre-activate {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {![catch {set installed [lindex [registry_active libgcc9] 0]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Extract the epoch of the installed libgcc9
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set _epoch [lindex $installed 5]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # If < 3 need to deactivate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[vercmp $_epoch 3] < 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ registry_deactivate_composite libgcc9 "" [list ports_nodepcheck 1]
</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;'>+ if {![catch {set installed [lindex [registry_active libgcc-devel] 0]}]} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Extract the epoch of the installed libgcc-devel
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set _epoch [lindex $installed 5]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # If < 4 need to deactivate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ if {[vercmp $_epoch 4] < 0} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ registry_deactivate_composite libgcc-devel "" [list ports_nodepcheck 1]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
# http://trac.macports.org/ticket/35770
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -216,6 +245,7 @@ if {${subport} eq "libgcc-devel"} {
</span>
post-destroot {
<span style='display:block; white-space:pre;background:#e0ffe0;'>+ # Temporary working dir for dylibs
</span> file mkdir ${destroot}${prefix}/lib/libgcc.merged
# loop over libs to install
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -269,7 +299,6 @@ if {${subport} eq "libgcc-devel"} {
</span> foreach file [glob ${destroot}${prefix}/share/{info,man/man7}/*] {
set extension [file extension ${file}]
set newfile [regsub "${extension}$" ${file} "-mp-${major}${extension}"]
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> file rename ${file} ${newfile}
}
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -282,7 +311,6 @@ if {${subport} eq "libgcc-devel"} {
</span> delete ${destroot}${prefix}/lib/${name}/${dylib}
ln -s ${prefix}/lib/libgcc/${dylib} ${destroot}${prefix}/lib/${name}/${dylib}
}
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> if {[variant_isset universal]} {
foreach archdir [glob ${destroot}${prefix}/lib/${name}/*/] {
if {[file exists ${archdir}/${dylib}]} {
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -328,5 +356,5 @@ configure.universal_ldflags
</span> configure.universal_args
livecheck.type regex
<span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.url ftp://gcc.gnu.org/pub/gcc/snapshots/
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-livecheck.regex LATEST-${major} -> (${major}-\[0-9\]+)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.url https://ftp.gnu.org/gnu/gcc/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+livecheck.regex gcc-(${major}\\.\[0-9.\]+)/
</span></pre><pre style='margin:0'>
</pre>