Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 58415

Summary: BSD , Darwin support - depending on GNU utils
Product: Portage Development Reporter: Pieter Van den Abeele (RETIRED) <pvdabeel>
Component: Core - Ebuild SupportAssignee: osx porters <osx>
Status: VERIFIED FIXED    
Severity: normal CC: dwhurt, g2boojum, method
Priority: High    
Version: unspecified   
Hardware: All   
OS: All   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 58087, 58215    

Description Pieter Van den Abeele (RETIRED) gentoo-dev 2004-07-26 07:54:19 UTC
ebuild.sh includes the following:

if [ "$USERLAND" == "BSD" ]; then
       alias make=gmake
       alias tar=gtar
       alias patch=gpatch
       alias sed=gsed
fi

Darwin (BSD userland) comes without gnu tools. Therefore this code breaks portage.

What I would do it to put BSD compatible ebuilds for the g* utils in the system profile on darwin and modify the ebuild.sh code I patched here to check if it aliases to something that exists. That allows you to install the g* utils using portage, once they're installed portage will use them. Since it's in the system profile, we can safely assume they're always installed.
Comment 1 Mamoru KOMACHI (RETIRED) gentoo-dev 2004-07-26 10:00:56 UTC
Probablly we also need 

if [ "$ARCH" == "macos" ]; then
    alias libtool=glibtool
    alias libtoolize=glibtoolize
fi

(if the intention of adding those aliases is to use GNU utilities)? 
Comment 2 Brian Harring (RETIRED) gentoo-dev 2004-07-26 12:03:08 UTC
heh, yeah, using apples libtool vs the actual gnu libtool probably wouldn't be fun :)

We explicitly wipe all aliases pretty much right off the bat, to ensure commands behave as we expect- allowing user defined aliases to affect how ebuild.sh behaves I'm not much for, since that would be a pita to control.  Much easier to just add the support into ebuild.sh, same as we've done for userland.

if [ "$ARCH" == "macos" ]; then
    alias blar...
fi
I don't have any complaints w/ usata's (and the existing "$USERLAND" == "bsd") approach.

What alias's are needed?
Comment 3 Jason Stubbs (RETIRED) gentoo-dev 2004-07-26 16:25:48 UTC
Would a /etc/make.profile/bashrc similar to /etc/portage/bashrc be able to deal with most of these issues? Any points against a per-profile bashrc?
Comment 4 Pieter Van den Abeele (RETIRED) gentoo-dev 2004-08-01 05:09:01 UTC
I'm definitely in favor of a per profile solution.
Comment 5 Brian Harring (RETIRED) gentoo-dev 2004-08-01 05:36:34 UTC
method/gentoo-bsd peeps- I'd like to add this, although your profile would need to be updated- complaints?

Aside from that, y'all need an alias :)
Comment 6 Brian Harring (RETIRED) gentoo-dev 2004-08-16 11:10:23 UTC
Balls in your court now; profile.bashrc support is now sane, and usable in pre18.
Comment 7 Mamoru KOMACHI (RETIRED) gentoo-dev 2004-08-23 06:32:35 UTC
profile.bashrc seems to work with recent portage. Thanks.
Comment 8 Hasan Khalil (RETIRED) gentoo-dev 2005-02-06 13:33:22 UTC
Closing out bugs that've been resolved for a while now...