[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