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 _______________________________________________ macports-dev mailing list macports-dev@lists.macosforge.org http://lists.macosforge.org/mailman/listinfo.cgi/macports-dev