Binary downloads

Joshua Root jmr at macports.org
Tue Apr 10 20:58:48 PDT 2012


On 2012-4-11 13:46 , Blair Zajac wrote:
> What about the idea of having a Boolean flag on a variant if it changes
> the ABI of a package that would break a dependent package.  Enabling
> +doc on a package shouldn't effect any dependants, but adding +ucs4 to
> any python* will break any py{2,3}* modules.  Then port could check if
> it's safe to download a binary package.  Variants could be made by
> default "ABI-unsafe" to promote maintainers to mark their variants as
> "ABI-safe" for binary downloads.
> 
> Of course, it gets harder than this, since git-core depends upon
> p5.12-term-readkey, but it doesn't care how Perl was compiled, just
> perl5.12 and p5.12-term-readkey need to be consistent.  Same with
> Python, I don't think git-core cares how python27 was compiled.

Purely interpreted modules also don't (usually?) care, only ones with C
extensions do.

> I don't know if there's a perfect system, but a system that would allow
> binary downloads and save you from breakage that may not happen sounds
> like a good idea, even if it prevents you from making use of a binary
> download.

I guess it could work, but it's a lot of manual effort.

A more pragmatic approach might be to simply offer less of these kinds
of options, e.g. only provide a shared, threaded perl. And if we do
offer them, make them subports, and require dependents (that both care
about the difference and want to offer a choice) to declare variants
choosing which one to depend on.

- Josh


More information about the macports-dev mailing list