Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 59991 - new eclass - xnu.eclass
Summary: new eclass - xnu.eclass
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All All
: High enhancement (vote)
Assignee: osx porters
Depends on:
Blocks: 59994 60025
  Show dependency tree
Reported: 2004-08-10 14:05 UTC by Kito (RETIRED)
Modified: 2006-03-05 11:26 UTC (History)
0 users

See Also:
Package list:
Runtime testing required: ---

xnu.eclass initial submisison (xnu.eclass,5.76 KB, text/plain)
2004-08-10 14:07 UTC, Kito (RETIRED)

Note You need to log in before you can comment on or make changes to this bug.
Description Kito (RETIRED) gentoo-dev 2004-08-10 14:05:15 UTC
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...

Reproducible: Always
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]
Autoconf: sys-devel/autoconf-2.59-r4
ACCEPT_KEYWORDS="macos ~macos"
CFLAGS="-O2 -pipe"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/
CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d"
CXXFLAGS="-O2 -pipe"
FEATURES="autoaddcvs ccache collision-protect cvs keepwork"
USE="altivec cdr macos"
Comment 1 Kito (RETIRED) gentoo-dev 2004-08-10 14:07:26 UTC
Created attachment 37176 [details]
xnu.eclass initial submisison
Comment 2 Mamoru KOMACHI (RETIRED) gentoo-dev 2004-08-11 02:53:04 UTC
What's the point of implementing this as an eclass? If only xnu uses the eclass, why not put everything in that ebuild? 
Comment 3 Pieter Van den Abeele (RETIRED) gentoo-dev 2004-08-11 05:29:45 UTC
Code sharing between ebuilds. I take it there will be different versions of xnu available, maybe even some cvs snapshot versions. 
Comment 4 Mamoru KOMACHI (RETIRED) gentoo-dev 2004-08-11 06:39:05 UTC
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?
Comment 5 Kito (RETIRED) gentoo-dev 2004-08-11 09:07:50 UTC
As of right now, there is:
 1. The 'official' Darwin xnu release from
 2. 'offical' Darwin xnu cvs snapshot also from apple
 3. 'stable' Opendarwin release from
 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....
Comment 6 Kito (RETIRED) gentoo-dev 2004-08-11 09:11:51 UTC
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
Comment 7 Mamoru KOMACHI (RETIRED) gentoo-dev 2004-08-11 10:13:32 UTC
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.
Comment 8 Ciaran McCreesh 2004-10-22 07:30:02 UTC
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
Comment 9 Kito (RETIRED) gentoo-dev 2004-10-22 08:19:39 UTC
yeah, I haven't looked at this for awhile. I'll do a rewrite soon, thanks for the input.
Comment 10 Kito (RETIRED) gentoo-dev 2006-03-05 11:26:40 UTC