[MacPorts] #35897: Add a buildbot with +universal for all packages
MacPorts
noreply at macports.org
Thu Aug 11 04:10:25 PDT 2016
#35897: Add a buildbot with +universal for all packages
-------------------------------------+--------------------------------
Reporter: mojca.miklavec.lists@… | Owner: macports-tickets@…
Type: enhancement | Status: new
Priority: Low | Milestone:
Component: contrib | Version:
Resolution: | Keywords:
Port: mp-buildbot buildbot |
-------------------------------------+--------------------------------
Changes (by mojca@…):
* cc: ryandesign@…, cal@…, raimue@… (added)
* port: mpab => mp-buildbot buildbot
Old description:
> It would be sooooooo great if packages like qt4-mac and compilers like
> clang-3.2 would be built with +universal along the normal variants.
>
> I would like to request either:
> * to add a keyword to portfiles to signal to builtbot the desire to
> build a certain package and its dependencies with +universal (useful for
> qt4-mac, developers could add the flag to commonly used ports and those
> that require longest build times)
> * or simply compile all packages with +universal
New description:
It would be sooooooo great if packages like qt4-mac and compilers like
clang would be built with +universal along the normal variants.
I would like to request either:
* to add a keyword to portfiles to signal to builtbot the desire to build
a certain package and its dependencies with +universal (useful for
qt4-mac, developers could add the flag to commonly used ports and those
that require longest build times)
* or simply compile all packages with +universal
--
Comment:
Now that the build scripts have been reimplemented, deployed on a new
hardware and with a new sysadmin), this finally sounds doable to me
without the need for any additional virtual machines for the build slaves.
Ryan's idea was to automatically upload archives of `+universal` ports
only when a package like `wine` asks for `i386` or `universal`. In fact
this is already working, so the ticket about "building `+universal`" could
be closed as `fixed` as far as I'm concerned.
I'm not sure what the situation is with VirtualBox. Has i386 been
"disabled" just because it was annoying to compile all the dependencies
from source? If that's the case, the universal builds could probably be
enabled again.
Some additional builds of `+universal` build tools (`ld`, `clang++`, ...)
might be handy for older OSes (10.5 in particular; but we currently don't
provide that one).
We could in principle build all the ports as `+universal` with a few
additional lines of code (and by consuming approximately three times the
resources we currently do), but maybe we should go with the current
approach for now and see whether there is any need to add additional
candidates for universal builds later on.
As far as `+quartz` is concerned: I started implementing preliminary
support to build with additional variants. I will need some help extending
the script that is currently responsible for installing dependencies
(`portname +quartz` usually needs different dependencies than `portname
+x11`), but once that gets fixed, it would enable manual builds with
arbitrary variants for now (which we shouldn't start misusing).
Once that is in place, we could start implementing some heuristics to
determine when to build a port with additional variants (either some
hardcoded list of ports or all ports that provide a non-default `+quartz`
variant etc.). The nice thing about the current buildbot setup is that we
don't need any additional resources (other than some extra disk space and
CPU clocks on existing infrastructure) to achieve that.
--
Ticket URL: <https://trac.macports.org/ticket/35897#comment:14>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list