Handles building and installation of the xnu mach kernel. Only tested with official apple tarball so far, but should work with apple cvs snapshot as well as opendarwin xnu. ATM it leaves the Mac OS X /System/Library/Frameworks alone, this should be fixed eventually.
Not really an issue on macos with Dev tools installed as most of the headers are there already...definitely an issue on pure darwin...
Steps to Reproduce:
Kitos-Computer:/var/tmp/portage root# emerge info
!!! Relying on the shell to locate gcc, this may break
!!! DISTCC, installing gcc-config and setting your current gcc
!!! profile will fix this
Portage 2.0.51_pre17 (default-macos-10.3, gcc-3.3, libsystem-7.1-r0, 7.4.0 Power Macintosh
System uname: 7.4.0 Power Macintosh powerpc
distcc 2.0.1-zeroconf powerpc-apple-darwin7.0 (protocol 1) (default port 3632) [disabled]
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/
FEATURES="autoaddcvs ccache collision-protect cvs keepwork"
USE="altivec cdr macos"
Created attachment 37176 [details]
xnu.eclass initial submisison
What's the point of implementing this as an eclass? If only xnu uses the eclass, why not put everything in that ebuild?
Code sharing between ebuilds. I take it there will be different versions of xnu available, maybe even some cvs snapshot versions.
Code sharing between packages is a good thing. However, code sharing between ebuilds isn't IMO. I'm afraid it would be a mess. If there would be different packages using xnu eclass that is understandable, but if only xnu ebuilds using that eclass that should be avoided. If you justfy you create an eclass for that purpose, every package having more than two ebuilds could claim so. What I wanted to ask is, how many packages (not ebuilds nor versions) are supposed to use this eclass? Official apple tarball and apple cvs snapshot only?
As of right now, there is:
1. The 'official' Darwin xnu release from opensource.apple.com
2. 'offical' Darwin xnu cvs snapshot also from apple
3. 'stable' Opendarwin release from opendarwin.org
4. Opendarwin xnu cvs snapshot
All 4 of these are available for each release of xnu, so in theory, the os x update released this week would have added 4 new ebuilds. That would be ALOT of redundant code in the ebuilds and IMHO a complete PITA to maintain....
Also, a few other Darwin packages, such as IOKitUser, LibC, and others im forgettng ATM, would be able to use some of these functions in the elcass
Alright. cvs.eclass is broken on macos (the version of cvs coming with Panther doesn't support the syntax used in cvs.eclass. package.provided shouldn't provide dev-util/cvs-1.11.17 but dev-util/cvs-1.10) and you cannot make cvs snapshot ebuild at the moment, but if there will be enough number of packages that could take some benefit from this eclass, it'll be ok. Thanks for the clarification.
Things you probably want to change...
* Don't use = deps. Use ~ deps.
* Fix all that global scope code
* Always use "" when doing -f style tests
* if [ ! BOOTFILE_BASE ] ; then is wrong
* einfo "========================================================================" is a policy violation
* don't use uname, use the profile variables
yeah, I haven't looked at this for awhile. I'll do a rewrite soon, thanks for the input.