From: Alexander H. <ale...@gm...> - 2012-05-17 17:02:57
|
On 5/16/12 6:09 PM, Alexander Hansen wrote: > On 5/16/12 5:48 PM, Alexander Hansen wrote: >> Moving the discussion to -devel since we're now getting very technical >> >> On 5/15/12 5:22 PM, Alexander Hansen wrote: >>> On 5/15/12 7:06 AM, Jack Howarth wrote: >>> >>>>> What it's about is that Fink needs to be told where your Xcode >>>>> application actually is: >>>>> >>>>> sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer >>>>> >>>>> (this also tells xcodebuild where it is) >>>>> >>>>> We stopped hardcoding the path to Xcode because Apple provides >>>>> mechanisms to look it up, and because it is relocatable as of version 4.3.2. >>>> >>>> Shouldn't fink (or at least the invocation of the xcode dependency) abort with >>>> a clear error message if 'xcode-select -print-path' is unset on 10.7 or later? >>>> I thought that feature was already added to the current fink. >>>> >>> >>> Nope. If 'xcode-select -print-path' is unset or wrong then the 'xcode' >>> virtual package is not "installed". At least for now the command-line >>> tools like make, clang, ... all work regardless of that setting. >>> >>>>> >>>>> >>>>> Also, I'll cc the maintainer, since on 10.7 it seems like we don't need >>>>> a versioned dependency on xcode, and maybe the package could be built >>>>> with just the command-line tools? >>>> >>>> This is present to insure a cctools which is sufficiently new to avoid >>>> testsuite regresions. >> >> We still have the "cctools" virtual package. >> >> Perhaps the xcode virtual package check could be >>>> modified to just look at the command-line tools. I am assuming that just >>>> having the command line tools installed is insufficient for 'xcodebuild -version' >>>> to report its version, right? I wonder if we could look at the receipt for >>>> the command line tools installation in order to get the xcode version? >>>> >>> >>> The 'xcode' virtual package grabs the version from Xcode.app's >>> Info.plist, and therefore it has always returned the version of >>> Xcode.app. Of course, until Xcode 4.3.x this also mapped directly into >>> information about the command-line tools. >>> >>> >> >> We _do_ need something to indicate whether Xcode.app is installed, since >> xcodebuild won't function without being pointed to a Developer directory. >> >> Since historically we used "xcode" to indicate the aggregate version of >> all of the command-line tools put out with an Xcode release, I propose >> using "xcode" for the version of the command-line tools, and "xcode.app" >> for the version of Xcode.app. >> >> "xcode" and "xcode.app" have the same version/revision for Xcodes >> earlier than 4.3. For 4.3 and later, we can grab the version >> information from the pkgutil database: >> >> $ pkgutil --pkg-info com.apple.pkg.DeveloperToolsCLI >> package-id: com.apple.pkg.DeveloperToolsCLI >> version: 4.3.0.0.1.1249367152 >> volume: / >> location: / >> install-time: 1332610682 >> groups: com.apple.FindSystemFiles.pkg-group >> com.apple.DevToolsBoth.pkg-group >> com.apple.DevToolsNonRelocatableShared.pkg-group >> >> This translates, in my implementation, into: >> >> (10.6/Xcode 3.2.6) >> >> Package: xcode >> Status: install ok installed >> Version: 3.2.6-1 >> homepage: http://www.finkproject.org/faq/usage-general.php#virtpackage >> description: [virtual package representing the developer tools] >> >> Package: xcode.app >> Status: install ok installed >> Version: 3.2.6-1 >> homepage: http://www.finkproject.org/faq/usage-general.php#virtpackage >> description: [virtual package representing Xcode] >> >> >> (10.7/Xcode 4.3.2/"Late March 2012" CLI Tools) >> >> Package: xcode >> Status: install ok installed >> Version: 4.3.0.0.1-1249367152 >> homepage: http://www.finkproject.org/faq/usage-general.php#virtpackage >> description: [virtual package representing the developer tools] >> >> Package: xcode.app >> Status: install ok installed >> Version: 4.3.2-1 >> homepage: http://www.finkproject.org/faq/usage-general.php#virtpackage >> description: [virtual package representing Xcode] >> > > Almost forgot to mention that my implementation is actually coded. :-) > > https://github.com/akhansen/fink/tree/xcode_app > I went ahead and pushed the xcode_app branch upstream: https://github.com/fink/fink/tree/xcode_app I won't merge it into master just yet. -- Alexander Hansen, Ph.D. Fink User Liaison http://finkakh.wordpress.com/2012/02/21/got-job/ |