To eliminate the many reports of users trying to build with fink in the absence of the command line tools, a change similar to...
--- Engine.pm.orig 2015-02-01 15:01:03.000000000 -0500
+++ Engine.pm 2015-02-01 15:12:36.000000000 -0500
@@ -178,6 +178,13 @@
return;
}
should be added to fink. After reinstalling OS X 10.10.2 to purge /usr/include, this change results in the desired behavior of...
% fink rebuild cmake
Command Line Tools are not installed!xcode-select: note: install requested for command line developer tools
%
with the dialog that offers to install the Command Line Tools appearing for the user.
This works for the CLI but for the current xcode.app virtual package test doesn't detect if /Application/Xcode.app has been renamed or removed.
I think this check would be a great place to provide guidance to the end-users as to which Xcode to download from developer.apple.com for 10.7 and 10.8. Of course 10.9, will eventually join these OS versions in listing an explicit Xcode release to download from developer.apple.com once 11.11 appears drops 10.9 support from Xcode.
Final copy with fix for Xcode.app check to use...
if (not Fink::VirtPackage->query_package("xcode.app")) {
Confirmed on 10.10 now that when Xcode.app is renamed the changes produce the desired output of...
Xcode.app not found!
Install current Xcode.app from the App Store.
Why is this not exiting the same way that ever other nearby block of code is, with die() or warn()? I'd rather that we try to be consistent.
And what's the point of the Xcode.app check? We don't require Xcode.app, except for specific packages that need SDKs from it or xcodebuild.
And for that last detail, those packages already (should) assert a BuildDepends on xcode.app or the sdk or whatever.
If I understand the code correctly, you are proposing that fink be unusable unless both xcode and xcode.app are present. That's a hopelessly broken approach regardless of implementation. Why do we need xcode in order to run 'fink help' or 'fink list'? We have bindist. We have ability to install locally available .deb.
This test is in a block of code which gets run only when a package could potentially be installed--it's only triggered for appropriate verbs.
Okay. I'ved dropped the Xcode check and changed the exiting code to using die statements.
Reduced patch that emits simple error message...
Command Line Tools are not installed!
For 10.8 or earlier, install from the Components panel in Xcode.
For 10.9 or later, install by executing 'sudo xcode-select --install'.