[MacPorts] #52128: ld64: don't add unsupported subports

MacPorts noreply at macports.org
Mon Aug 29 03:07:45 PDT 2016


#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


More information about the macports-tickets mailing list