#52128: ld64: don't add unsupported subports --------------------------+------------------------ Reporter: mojca@… | Owner: jeremyhu@… Type: enhancement | Status: new Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: ld64 | --------------------------+------------------------ Comment (by mojca@…): Here is the preliminary patch: {{{ #!diff --- Portfile (revision 152090) +++ Portfile (working copy) @@ -42,6 +42,8 @@ sha256 307f73678a3e5c9ed4d1bcf77da7399d84efac32916c5df6cd477c3b5c36f953 +# Not supported on Yosemite or later. +if {${os.major} < 14} { subport ld64-97 { # XCode 3.2.6 version 97.17 @@ -62,14 +64,8 @@ ld64-97-no-Availability.h.patch \ ld64-97-BaseAtomImplicitDecl.patch \ ld64-97-no-ppc-thread_status.patch - - if {${os.major} >= 14} { - pre-fetch { - ui_error "$subport is not supported on Yosemite or later." - error "unsupported platform" - } - } } +} subport ld64-127 { # XCode 4.2 @@ -94,6 +90,8 @@ ld64-ppc-9610466.patch } +# Not supported on Leopard or earlier. It requires the blocks runtime. +if {${os.major} > 9} { subport ld64-136 { # XCode 4.6 version 136 @@ -113,13 +111,6 @@ if {${configure.cxx_stdlib} eq "libstdc++"} { patchfiles-append ld64-136-hash_set.patch } - - if {${os.major} <= 9} { - pre-fetch { - ui_error "$subport is not supported on Leopard or earlier. It requires the blocks runtime." - error "unsupported platform" - } - } } subport ld64-236 { @@ -146,14 +137,8 @@ if {${configure.cxx_stdlib} eq "libstdc++"} { patchfiles-append ld64-236-hash_set.patch } - - if {${os.major} <= 9} { - pre-fetch { - ui_error "$subport is not supported on Leopard or earlier. It requires the blocks runtime." - error "unsupported platform" - } - } } +} subport ld64-latest { # XCode 7.3.1 @@ -193,10 +178,14 @@ build {} use_configure no - variant ld64_97 conflicts ld64_127 ld64_136 ld64_236 ld64_xcode description {Use ld64-97 as the default linker (last version that works on Tiger)} {} + if {${os.major} < 14} { + variant ld64_97 conflicts ld64_127 ld64_136 ld64_236 ld64_xcode description {Use ld64-97 as the default linker (last version that works on Tiger)} {} + } variant ld64_127 conflicts ld64_97 ld64_136 ld64_236 ld64_xcode description {Use ld64-127 as the default linker (last version to support ppc)} {} - variant ld64_136 conflicts ld64_97 ld64_127 ld64_236 ld64_xcode description {Use ld64-136 as the default linker (last version that works on Leopard)} {} - variant ld64_236 conflicts ld64_97 ld64_127 ld64_136 ld64_xcode description {Use ld64-236 as the default linker (last version that builds against OS X's libstdc++)} {} + if {${os.major} > 9} { + variant ld64_136 conflicts ld64_97 ld64_127 ld64_236 ld64_xcode description {Use ld64-136 as the default linker (last version that works on Leopard)} {} + variant ld64_236 conflicts ld64_97 ld64_127 ld64_136 ld64_xcode description {Use ld64-236 as the default linker (last version that builds against OS X's libstdc++)} {} + } variant ld64_xcode conflicts ld64_97 ld64_127 ld64_136 ld64_236 description {Use ld64-xcode as the default linker (version provided by the selected Xcode.app toolchain)} {} if {![variant_isset ld64_97] && ![variant_isset ld64_127] && ![variant_isset ld64_136]} { }}} I intentionally kept the indentation of subports to minimize the diff. -- Ticket URL: <https://trac.macports.org/ticket/52128#comment:1> MacPorts <https://www.macports.org/> Ports system for OS X