aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Homebrew
diff options
context:
space:
mode:
authorJack Nagel2012-09-04 23:04:01 -0500
committerJack Nagel2012-09-10 16:16:54 -0500
commit59d5a246e7d7d86ee3535bc72a2fcef320ae6e90 (patch)
tree9a965ff322d59d3ecb739185c626e7091be9fe92 /Library/Homebrew
parent95b90837444fb1ceb834b414a265dce3f8216fb1 (diff)
downloadbrew-59d5a246e7d7d86ee3535bc72a2fcef320ae6e90.tar.bz2
Clean up MacOS version method usage
The MacOS.version? family of methods (other than "leopard?") are poorly defined and lead to confusing code. Replace them in formulae with more explicit comparisons. "MacOS.version" is a special version object that can be compared to numerics, symbols, and strings using the standard Ruby comparison methods. The old methods were moved to compat when the version comparison code was merged, and they must remain there "forever", but they should not be used in new code. Signed-off-by: Jack Nagel <jacknagel@gmail.com>
Diffstat (limited to 'Library/Homebrew')
-rw-r--r--Library/Homebrew/compat/compatibility.rb1
-rw-r--r--Library/Homebrew/macos.rb4
-rw-r--r--Library/Homebrew/superenv.rb6
3 files changed, 7 insertions, 4 deletions
diff --git a/Library/Homebrew/compat/compatibility.rb b/Library/Homebrew/compat/compatibility.rb
index aff8e0be9..b6e01b290 100644
--- a/Library/Homebrew/compat/compatibility.rb
+++ b/Library/Homebrew/compat/compatibility.rb
@@ -165,6 +165,7 @@ class FailsWithLLVM
end
end
+# TODO eventually some of these should print deprecation warnings
module MacOS extend self
def xcode_folder
Xcode.folder
diff --git a/Library/Homebrew/macos.rb b/Library/Homebrew/macos.rb
index a58f980b0..e186760b3 100644
--- a/Library/Homebrew/macos.rb
+++ b/Library/Homebrew/macos.rb
@@ -1,5 +1,7 @@
module MacOS extend self
+ # This can be compared to numerics, strings, or symbols
+ # using the standard Ruby Comparable methods.
def version
require 'version'
MacOSVersion.new(MACOS_VERSION.to_s)
@@ -221,7 +223,7 @@ module MacOS extend self
def bottles_supported?
# We support bottles on all versions of OS X except 32-bit Snow Leopard.
- (Hardware.is_64_bit? or not MacOS.snow_leopard?) \
+ (Hardware.is_64_bit? or not MacOS.version >= :snow_leopard) \
and HOMEBREW_PREFIX.to_s == '/usr/local' \
and HOMEBREW_CELLAR.to_s == '/usr/local/Cellar' \
end
diff --git a/Library/Homebrew/superenv.rb b/Library/Homebrew/superenv.rb
index 96606d108..bdc271c3e 100644
--- a/Library/Homebrew/superenv.rb
+++ b/Library/Homebrew/superenv.rb
@@ -119,7 +119,7 @@ class << ENV
# we put our paths before X because we dupe some of the X libraries
paths << "#{MacSystem.x11_prefix}/lib/pkgconfig" << "#{MacSystem.x11_prefix}/share/pkgconfig" if x11?
# Mountain Lion no longer ships some .pcs; ensure we pick up our versions
- paths << "#{HOMEBREW_REPOSITORY}/Library/Homebrew/pkgconfig" if MacOS.mountain_lion?
+ paths << "#{HOMEBREW_REPOSITORY}/Library/Homebrew/pkgconfig" if MacOS.version >= :mountain_lion
paths.to_path_s
end
@@ -173,9 +173,9 @@ class << ENV
s = ""
s << 'b' if ARGV.build_bottle?
# Fix issue with sed barfing on unicode characters on Mountain Lion
- s << 's' if MacOS.mountain_lion?
+ s << 's' if MacOS.version >= :mountain_lion
# Fix issue with 10.8 apr-1-config having broken paths
- s << 'a' if MacOS.cat == :mountainlion
+ s << 'a' if MacOS.version == :mountain_lion
s
end