[MacPorts] #56143: wine{, -{devel, crossover}}: new +universal woes

MacPorts noreply at macports.org
Mon Mar 26 01:42:52 UTC 2018


#56143: wine{,-{devel,crossover}}: new +universal woes
---------------------------------------------+----------------------
  Reporter:  Ionic                           |      Owner:  raimue
      Type:  defect                          |     Status:  assigned
  Priority:  Normal                          |  Milestone:
 Component:  ports                           |    Version:
Resolution:                                  |   Keywords:
      Port:  wine wine-devel wine-crossover  |
---------------------------------------------+----------------------
Description changed by Ionic:

Old description:

> Upgrading an already installed `wine-devel` port (but I figure it's the
> same for the other ports as well, since the change was carried out in
> sync), the `+universal` flag is not added by default.
>
> If this upgrade succeeded, people would be left with a 64 bit wine
> variant only, which breaks the old behavior heavily.
>
> Luckily enough, at least on my 10.9 machine, it's not upgrading
> successfully anyway.
>
> [[br]]
> It looks like since `supported_archs` now contains `x86_64` and `i386`,
> non-universal builds will be built with a `-m32` flag, but also the
> `-arch x86_64` flag, which leads to... interesting effects, apparently.
>
> Also, I'm not sure that the dependencies are checked for `+universal` any
> longer with this approach.
>
> Maybe we should just delete `x86_64` from `supported_archs` if the
> `universal` flag is not enabled?
>
> [[br]]
> Aside from the build failure, I think we also have a logical problem
> here. `+universal` normally refers to building software for non-primary
> architectures as well (example: base/primary arch = x86_64, universal
> arches = base/primary_arch(x86_64) i386), but this port now seems to
> reverse this logic, if I get what you intended correctly. The default
> build without `+universal` is supposed to build for `i386` only (even if
> it's a non-primary arch), while `+universal` adds the primary arch
> `x86_64`. Shouldn't we reverse this again to make stuff... consistent?

New description:

 Upgrading an already installed `wine-devel` port (but I figure it's the
 same for the other ports as well, since the change was carried out in
 sync), the `+universal` flag is not added by default.

 ~~If this upgrade succeeded, people would be left with a 64 bit wine
 variant only, which breaks the old behavior heavily.~~
 No, people wouldn't be left with a 64 bit wine variant only, since
 `-universal` seems to mean "i386 wine only", contrary to the normal
 `+universal` handling, see below. Hence the behavior would be backwards-
 compatible, but still weird.

 Luckily enough, at least on my 10.9 machine, it's not upgrading
 successfully anyway.

 [[br]]
 It looks like since `supported_archs` now contains `x86_64` and `i386`,
 non-universal builds will be built with a `-m32` flag, but also the `-arch
 x86_64` flag, which leads to... interesting effects, apparently.

 Also, I'm not sure that the dependencies are checked for `+universal` any
 longer with this approach.

 Maybe we should just delete `x86_64` from `supported_archs` if the
 `universal` flag is not enabled?

 [[br]]
 Aside from the build failure, I think we also have a logical problem here.
 `+universal` normally refers to building software for non-primary
 architectures as well (example: base/primary arch = x86_64, universal
 arches = base/primary_arch(x86_64) i386), but this port now seems to
 reverse this logic, if I get what you intended correctly. The default
 build without `+universal` is supposed to build for `i386` only (even if
 it's a non-primary arch), while `+universal` adds the primary arch
 `x86_64`. Shouldn't we reverse this again to make stuff... consistent?

--

--
Ticket URL: <https://trac.macports.org/ticket/56143#comment:3>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list