Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
B
brew
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Package registry
Container Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to JiHu GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
KMSCAKKSCFKA AKFACAMADCAS
brew
Commits
0b1d759c
Commit
0b1d759c
authored
12 years ago
by
Jack Nagel
Browse files
Options
Downloads
Patches
Plain Diff
MacOS module cleanups
Signed-off-by:
Jack Nagel
<
jacknagel@gmail.com
>
parent
fd7cf8f2
No related branches found
Branches containing commit
No related tags found
Tags containing commit
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
Library/Homebrew/macos.rb
+16
-14
16 additions, 14 deletions
Library/Homebrew/macos.rb
with
16 additions
and
14 deletions
Library/Homebrew/macos.rb
+
16
−
14
View file @
0b1d759c
...
...
@@ -3,6 +3,8 @@ module MacOS extend self
MDITEM_BUNDLE_ID_KEY
=
"kMDItemCFBundleIdentifier"
XCODE_4_BUNDLE_ID
=
"com.apple.dt.Xcode"
XCODE_3_BUNDLE_ID
=
"com.apple.Xcode"
XCODE_4_BUNDLE_PATH
=
Pathname
.
new
(
"/Applications/Xcode.app"
)
XCODE_3_BUNDLE_PATH
=
Pathname
.
new
(
"/Developer/Applications/Xcode.app"
)
CLT_STANDALONE_PKG_ID
=
"com.apple.pkg.DeveloperToolsCLILeo"
CLT_FROM_XCODE_PKG_ID
=
"com.apple.pkg.DeveloperToolsCLI"
APPLE_X11_BUNDLE_ID
=
"org.x.X11"
...
...
@@ -84,7 +86,7 @@ module MacOS extend self
else
# Xcrun was provided first with Xcode 4.3 and allows us to proxy
# tool usage thus avoiding various bugs.
p
=
`/usr/bin/xcrun -find
#{
tool
}
2>/dev/null`
.
chomp
unless
MacOS
.
xctools_fucked?
p
=
`/usr/bin/xcrun -find
#{
tool
}
2>/dev/null`
.
chomp
unless
xctools_fucked?
if
!
p
.
nil?
and
!
p
.
empty?
and
File
.
executable?
p
path
=
Pathname
.
new
p
else
...
...
@@ -92,12 +94,12 @@ module MacOS extend self
# with Xcode 4.3+. The tools in Xcode 4.3+ are split over two locations,
# usually xcrun would figure that out for us, but it won't work if
# xcode-select is not configured properly.
p
=
"
#{
MacOS
.
dev_tools_path
}
/
#{
tool
}
"
p
=
"
#{
dev_tools_path
}
/
#{
tool
}
"
if
File
.
executable?
p
path
=
Pathname
.
new
p
else
# Otherwise lets look in the second location.
p
=
"
#{
MacOS
.
xctoolchain_path
}
/usr/bin/
#{
tool
}
"
p
=
"
#{
xctoolchain_path
}
/usr/bin/
#{
tool
}
"
if
File
.
executable?
p
path
=
Pathname
.
new
p
else
...
...
@@ -132,16 +134,16 @@ module MacOS extend self
def
xctoolchain_path
# As of Xcode 4.3, some tools are located in the "xctoolchain" directory
@xctoolchain_path
||=
begin
path
=
Pathname
.
new
(
"
#{
MacOS
.
xcode_prefix
}
/Toolchains/XcodeDefault.xctoolchain"
)
path
=
Pathname
.
new
(
"
#{
xcode_prefix
}
/Toolchains/XcodeDefault.xctoolchain"
)
# If only the CLT are installed, all tools will be under dev_tools_path,
# this path won't exist, and xctoolchain_path will be nil.
path
if
path
.
exist?
end
end
def
sdk_path
(
v
=
MacOS
.
version
)
def
sdk_path
v
=
version
@sdk_path
||=
begin
path
=
if
!
MacOS
.
xctools_fucked?
and
File
.
executable?
"
#{
xcode_folder
}
/usr/bin/make"
path
=
if
not
xctools_fucked?
and
File
.
executable?
"
#{
xcode_folder
}
/usr/bin/make"
`
#{
locate
(
'xcodebuild'
)
}
-version -sdk macosx
#{
v
}
Path 2>/dev/null`
.
strip
elsif
File
.
directory?
'/Developer/SDKs/MacOS#{v}.sdk'
# the old default (or wild wild west style)
...
...
@@ -180,15 +182,15 @@ module MacOS extend self
def
xcode_prefix
@xcode_prefix
||=
begin
path
=
Pathname
.
new
xcode_folder
if
$?
.
success?
and
path
.
absolute?
and
File
.
executable?
"
#{
path
}
/usr/bin/make
"
if
path
.
absolute?
and
(
path
/
'
usr/bin/make
'
).
executable?
path
elsif
File
.
executable?
'/Developer/usr/bin/make'
# we do this to support cowboys who insist on installing
# only a subset of Xcode
Pathname
.
new
'/Developer'
elsif
File
.
executable?
'/Applications/Xcode.app/
Contents/Developer/usr/bin/make'
elsif
(
XCODE_4_BUNDLE_PATH
/
'
Contents/Developer/usr/bin/make'
).
executable?
# fallback for broken Xcode 4.3 installs
Pathname
.
new
'/Applications/Xcode.app/
Contents/Developer'
XCODE_4_BUNDLE_PATH
/
'
Contents/Developer'
else
# Ask Spotlight where Xcode is. If the user didn't install the
# helper tools and installed Xcode in a non-conventional place, this
...
...
@@ -197,7 +199,7 @@ module MacOS extend self
unless
path
.
nil?
path
+=
"Contents/Developer"
path
if
File
.
executable?
"
#{
path
}
/usr/bin/make
"
path
if
(
path
/
'
usr/bin/make
'
).
executable?
end
end
end
...
...
@@ -205,8 +207,8 @@ module MacOS extend self
def
xcode_installed?
# Telling us whether the Xcode.app is installed or not.
@xcode_installed
||=
File
.
directory?
(
'/Applications/Xcode.app'
)
||
File
.
directory?
(
'/Developer/Applications/Xcode.app'
)
||
@xcode_installed
||=
XCODE_4_BUNDLE_PATH
.
exist?
||
XCODE_3_BUNDLE_PATH
.
exist?
||
app_with_bundle_id
(
XCODE_4_BUNDLE_ID
)
||
app_with_bundle_id
(
XCODE_3_BUNDLE_ID
)
||
false
...
...
@@ -221,7 +223,7 @@ module MacOS extend self
# this shortcut makes xcode_version work for people who don't realise you
# need to install the CLI tools
xcode43build
=
"
/Applications/Xcode.app
/Contents/Developer/usr/bin/xcodebuild"
xcode43build
=
"
#{
XCODE_4_BUNDLE_PATH
}
/Contents/Developer/usr/bin/xcodebuild"
if
File
.
file?
xcode43build
`
#{
xcode43build
}
-version 2>/dev/null`
=~
/Xcode (\d(\.\d)*)/
return
$1
if
$1
...
...
@@ -406,7 +408,7 @@ module MacOS extend self
}
def
compilers_standard?
xcode
=
MacOS
.
xcode_version
xcode
=
xcode_version
# Assume compilers are okay if Xcode version not in hash
return
true
unless
StandardCompilers
.
keys
.
include?
xcode
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment