[MacPorts] #50448: Change filenames of binary packages built against libc++ on < 10.9
MacPorts
noreply at macports.org
Tue Jan 26 10:20:13 PST 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
Keywords: | Port:
-------------------------+--------------------------------
This ticket is meant for discussion about the implementation of unique
filenames for packages built against `libc++` on OS X versions prior to
10.9, so that we could eventually set up a buildslave and distribute
binaries for that configuration as described in [[LibcxxOnOlderSystems]].
There are three (four) categories of packages:
* `noarch`
* C++ programs and libraries (that link against libc++ or libstdc++)
* packages that require C++11 and thus link against libc++ even where
default is libstdc++ (like `clang-3.X`, `root6`, ... )
* packages that don't require stdlib
My suggestion:
* no changes are needed for `noarch` (but when setting up a new
buildslave we should make sure to only upload packages from one of them)
* packages that link against stdlib
* I would suggest to make no changes on >= 10.9
* we should add something like `libc++` to the name (or potentially
something shorter)
* while we could add `stdlibc++` to the name of default configuration,
I don't see any reason to do so as it would only require extra work
(unless we start differentiating between package with/without the need for
stdlib)
* package that don't link against stdlib
* we could do a similar analysis as for `noarch` and differentiate
between packages that link against stdlib and those that don't with a
special flag; but we need to remember that there might be further
differences between the packages built on the old buildslaves and those
built on the new one, for example due to `delete_la_files` setting; my
suggestion would be not to worry about differentiating packages that link
against stdlib and those that don't, but that's certainly debatable
* If it's easy enough to implement, we could do it for reasons of
"purism". The question is then: should packages contain a similar keyword
as `noarch`? Who would add those flags? If we do something about that, OS
X versions >= 10.9 should be affected as well and we should change the
names (and either rebuild or rename the packages) there as well.
* packages that link against `libc++`
* if we want a quck & dirty solution: don't bother about those special
cases (the package would only have `libc++` in the name if it was built on
the new buildslave and we would still ship two version)
* if we want to optimize space and only upload the package once, we
would have to do some major cleanup on the existing buildbots (due to
`delete_la_files` etc) and most likely ship the files from the new
buildbot
Basically we have two ways:
* do it right (quite a bit of effort)
* do it in a quick and dirty way (but make it work faster)
While discussing this it might be worth thinking about potential
(simultaneous) switch to `*.tar.xz` for archives which could save quite
some space both for end users as well as on the buildbots / servers with
packages.
--
Ticket URL: <https://trac.macports.org/ticket/50448>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list