[MacPorts] #50448: Change filenames of binary packages built against libc++ on < 10.9
MacPorts
noreply at macports.org
Wed Nov 2 11:04:54 CET 2016
#50448: Change filenames of binary packages built against libc++ on < 10.9
--------------------------+--------------------------------
Reporter: mojca | Owner: macports-tickets@…
Type: enhancement | Status: new
Priority: Normal | Milestone:
Component: base | Version: 2.3.4
Resolution: | Keywords:
Port: |
--------------------------+--------------------------------
Comment (by mojca):
I have absolutely no experience about hfs, so I cannot comment on that.
Please also note that I opened this ticket before we had the MacPorts
meeting. At the meeting we proposed the following solution:
* Don't bother about the situation with `noarch`, about whether the port
requires C++ runtime at all and whether the port can be built against
`libstdc++` at all (C++11 ports cannot and some already switch to `libc++`
even under default settings): getting it right is way too complex to
handle in any easy way. (My personal addition: Debian splits all of their
packages into `arch` part and the generic part and then ships files of the
generic part just once. We could probably even do that for most of the
ports and ship generic parts for all OSes, all architectures and both
configurations (`libc++` vs. `libstdc++`), but then we always have a
zillion exceptions where one port version doesn't build on the older OS
and another version doesn't build on a newer OS, so this would inevitably
cause all kinds of problems anyway.)
* My personal suggestion was to switch to `.tar.xz` and ship `.tar.xz` for
`libc++` (on < 10.9) and keep distributing `.tar.bz2` for existing default
setups (and later gradually switch everything else to `.tar.xz` as well).
Then we would have no name clashes at all. But most other devs didn't like
this idea at all, saying that we should not mix the extension/compression
format with the rest.
* We proposed to put new binaries under a new prefix. That is, put
binaries to:
{{{
http://packages.macports.org/10.5/ppc
http://packages.macports.org/10.5/i386
http://packages.macports.org/10.6/i386/
http://packages.macports.org/10.6/x86_64/
http://packages.macports.org/10.7/x86_64/
http://packages.macports.org/10.8/x86_64/
}}}
or perhaps `darwin9` to `darwin12` (rather than OS version numbers),
architecture is also not required.
The (most likely) reason why this hasn't been implemented yet is because
we currently have absolutely no overview/summary of successful and failed
jobs on the buildbot. At the moment you can look at
`http://packages.macports.org/<packagename>` and check quickly whether a
particular port is missing on a particular OS version without having to
implement the new (but sorely missing) functionality.
We argued that the lack of functionality on our website shouldn't be the
reason for keeping the "poor man's method" around and denying support to
users of old OSes.
Surely there are other problems. This still doesn't provide any means to
support installations with non-default prefixes, it doesn't tell anything
about other user settings etc.
PS: and of course 10.5 PPC comes with its own set of problems, starting
with the fact that clang doesn't work properly there, so there are now
"movements" to allow building C++11 software by setting `gcc6` (or
earlier) as the default compiler, complicating things even further.
--
Ticket URL: <https://trac.macports.org/ticket/50448#comment:5>
MacPorts <https://www.macports.org/>
Ports system for macOS
More information about the macports-tickets
mailing list