diff options
| author | BrewTestBot | 2015-08-03 13:09:07 +0100 |
|---|---|---|
| committer | Mike McQuaid | 2015-08-03 13:22:35 +0100 |
| commit | 13d544e11e92ba8ea3788723432046f8dfe4adf9 (patch) | |
| tree | e6da18436d9ce956e6fbe80e3185c67cf3b58808 /Library/Homebrew/extend | |
| parent | 3b68215be793774fafd9ce124a2065f5968f50e5 (diff) | |
| download | brew-13d544e11e92ba8ea3788723432046f8dfe4adf9.tar.bz2 | |
Core files style updates.
Closes Homebrew/homebrew#42354.
Signed-off-by: Mike McQuaid <mike@mikemcquaid.com>
Diffstat (limited to 'Library/Homebrew/extend')
| -rw-r--r-- | Library/Homebrew/extend/ARGV.rb | 69 | ||||
| -rw-r--r-- | Library/Homebrew/extend/ENV.rb | 8 | ||||
| -rw-r--r-- | Library/Homebrew/extend/ENV/shared.rb | 104 | ||||
| -rw-r--r-- | Library/Homebrew/extend/ENV/std.rb | 142 | ||||
| -rw-r--r-- | Library/Homebrew/extend/ENV/super.rb | 95 | ||||
| -rw-r--r-- | Library/Homebrew/extend/fileutils.rb | 19 | ||||
| -rw-r--r-- | Library/Homebrew/extend/module.rb | 2 | ||||
| -rw-r--r-- | Library/Homebrew/extend/pathname.rb | 92 | ||||
| -rw-r--r-- | Library/Homebrew/extend/string.rb | 12 |
9 files changed, 292 insertions, 251 deletions
diff --git a/Library/Homebrew/extend/ARGV.rb b/Library/Homebrew/extend/ARGV.rb index 4a95f0d5a..a8eb9a5d2 100644 --- a/Library/Homebrew/extend/ARGV.rb +++ b/Library/Homebrew/extend/ARGV.rb @@ -37,8 +37,8 @@ module HomebrewArgvExtension end def kegs - require 'keg' - require 'formula' + require "keg" + require "formula" @kegs ||= downcased_unique_named.collect do |name| canonical_name = Formulary.canonical_name(name) rack = HOMEBREW_CELLAR/canonical_name @@ -72,38 +72,45 @@ module HomebrewArgvExtension end # self documenting perhaps? - def include? arg + def include?(arg) @n=index arg end + def next - at @n+1 or raise UsageError + at(@n+1) || raise(UsageError) end - def value arg - arg = find {|o| o =~ /--#{arg}=(.+)/} + def value(arg) + arg = find { |o| o =~ /--#{arg}=(.+)/ } $1 if arg end def force? - flag? '--force' + flag? "--force" end + def verbose? - flag? '--verbose' or !ENV['VERBOSE'].nil? or !ENV['HOMEBREW_VERBOSE'].nil? + flag?("--verbose") || !ENV["VERBOSE"].nil? || !ENV["HOMEBREW_VERBOSE"].nil? end + def debug? - flag? '--debug' or !ENV['HOMEBREW_DEBUG'].nil? + flag?("--debug") || !ENV["HOMEBREW_DEBUG"].nil? end + def quieter? - flag? '--quieter' + flag? "--quieter" end + def interactive? - flag? '--interactive' + flag? "--interactive" end + def one? - flag? '--1' + flag? "--1" end + def dry_run? - include?('--dry-run') || switch?('n') + include?("--dry-run") || switch?("n") end def git? @@ -111,7 +118,7 @@ module HomebrewArgvExtension end def homebrew_developer? - include? '--homebrew-developer' or !ENV['HOMEBREW_DEVELOPER'].nil? + include?("--homebrew-developer") || !ENV["HOMEBREW_DEVELOPER"].nil? end def sandbox? @@ -119,46 +126,46 @@ module HomebrewArgvExtension end def ignore_deps? - include? '--ignore-dependencies' + include? "--ignore-dependencies" end def only_deps? - include? '--only-dependencies' + include? "--only-dependencies" end def json - value 'json' + value "json" end def build_head? - include? '--HEAD' + include? "--HEAD" end def build_devel? - include? '--devel' + include? "--devel" end def build_stable? - not (build_head? or build_devel?) + !(build_head? || build_devel?) end def build_universal? - include? '--universal' + include? "--universal" end # Request a 32-bit only build. # This is needed for some use-cases though we prefer to build Universal # when a 32-bit version is needed. def build_32_bit? - include? '--32-bit' + include? "--32-bit" end def build_bottle? - include? '--build-bottle' or !ENV['HOMEBREW_BUILD_BOTTLE'].nil? + include?("--build-bottle") || !ENV["HOMEBREW_BUILD_BOTTLE"].nil? end def bottle_arch - arch = value 'bottle-arch' + arch = value "bottle-arch" arch.to_sym if arch end @@ -166,36 +173,36 @@ module HomebrewArgvExtension switch?("s") || include?("--build-from-source") || !!ENV["HOMEBREW_BUILD_FROM_SOURCE"] end - def flag? flag + def flag?(flag) options_only.include?(flag) || switch?(flag[2, 1]) end def force_bottle? - include? '--force-bottle' + include? "--force-bottle" end # eg. `foo -ns -i --bar` has three switches, n, s and i - def switch? char + def switch?(char) return false if char.length > 1 options_only.any? { |arg| arg[1, 1] != "-" && arg.include?(char) } end def usage - require 'cmd/help' + require "cmd/help" Homebrew.help_s end def cc - value 'cc' + value "cc" end def env - value 'env' + value "env" end private - def spec(default=:stable) + def spec(default = :stable) if include?("--HEAD") :head elsif include?("--devel") diff --git a/Library/Homebrew/extend/ENV.rb b/Library/Homebrew/extend/ENV.rb index 74c9a47f3..3ef091490 100644 --- a/Library/Homebrew/extend/ENV.rb +++ b/Library/Homebrew/extend/ENV.rb @@ -1,7 +1,7 @@ -require 'hardware' -require 'extend/ENV/shared' -require 'extend/ENV/std' -require 'extend/ENV/super' +require "hardware" +require "extend/ENV/shared" +require "extend/ENV/std" +require "extend/ENV/super" def superenv? Superenv.bin && ARGV.env != "std" diff --git a/Library/Homebrew/extend/ENV/shared.rb b/Library/Homebrew/extend/ENV/shared.rb index fe98e5af9..740ed347d 100644 --- a/Library/Homebrew/extend/ENV/shared.rb +++ b/Library/Homebrew/extend/ENV/shared.rb @@ -4,8 +4,8 @@ require "compilers" module SharedEnvExtension include CompilerConstants - CC_FLAG_VARS = %w{CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS} - FC_FLAG_VARS = %w{FCFLAGS FFLAGS} + CC_FLAG_VARS = %w[CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS] + FC_FLAG_VARS = %w[FCFLAGS FFLAGS] SANITIZED_VARS = %w[ CDPATH GREP_OPTIONS CLICOLOR_FORCE @@ -18,7 +18,7 @@ module SharedEnvExtension LIBRARY_PATH ] - def setup_build_environment(formula=nil) + def setup_build_environment(formula = nil) @formula = formula reset end @@ -28,20 +28,23 @@ module SharedEnvExtension end def remove_cc_etc - keys = %w{CC CXX OBJC OBJCXX LD CPP CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS LDFLAGS CPPFLAGS} - removed = Hash[*keys.map{ |key| [key, self[key]] }.flatten] + keys = %w[CC CXX OBJC OBJCXX LD CPP CFLAGS CXXFLAGS OBJCFLAGS OBJCXXFLAGS LDFLAGS CPPFLAGS] + removed = Hash[*keys.map { |key| [key, self[key]] }.flatten] keys.each do |key| delete(key) end removed end - def append_to_cflags newflags + + def append_to_cflags(newflags) append(CC_FLAG_VARS, newflags) end - def remove_from_cflags val + + def remove_from_cflags(val) remove CC_FLAG_VARS, val end - def append keys, value, separator = ' ' + + def append(keys, value, separator = " ") value = value.to_s Array(keys).each do |key| old = self[key] @@ -52,7 +55,8 @@ module SharedEnvExtension end end end - def prepend keys, value, separator = ' ' + + def prepend(keys, value, separator = " ") value = value.to_s Array(keys).each do |key| old = self[key] @@ -64,37 +68,63 @@ module SharedEnvExtension end end - def append_path key, path + def append_path(key, path) append key, path, File::PATH_SEPARATOR if File.directory? path end - def prepend_path key, path + def prepend_path(key, path) prepend key, path, File::PATH_SEPARATOR if File.directory? path end - def prepend_create_path key, path + def prepend_create_path(key, path) path = Pathname.new(path) unless path.is_a? Pathname path.mkpath prepend_path key, path end - def remove keys, value + def remove(keys, value) Array(keys).each do |key| next unless self[key] - self[key] = self[key].sub(value, '') + self[key] = self[key].sub(value, "") delete(key) if self[key].empty? end if value end - def cc; self['CC']; end - def cxx; self['CXX']; end - def cflags; self['CFLAGS']; end - def cxxflags; self['CXXFLAGS']; end - def cppflags; self['CPPFLAGS']; end - def ldflags; self['LDFLAGS']; end - def fc; self['FC']; end - def fflags; self['FFLAGS']; end - def fcflags; self['FCFLAGS']; end + def cc + self["CC"] + end + + def cxx + self["CXX"] + end + + def cflags + self["CFLAGS"] + end + + def cxxflags + self["CXXFLAGS"] + end + + def cppflags + self["CPPFLAGS"] + end + + def ldflags + self["LDFLAGS"] + end + + def fc + self["FC"] + end + + def fflags + self["FFLAGS"] + end + + def fcflags + self["FCFLAGS"] + end def compiler @compiler ||= if (cc = ARGV.cc) @@ -133,14 +163,14 @@ module SharedEnvExtension # See: https://bugs.python.org/issue6848 # Currently only used by aalib in core def ncurses_define - append 'CPPFLAGS', "-DNCURSES_OPAQUE=0" + append "CPPFLAGS", "-DNCURSES_OPAQUE=0" end def userpaths! - paths = ORIGINAL_PATHS.map { |p| p.realpath.to_s rescue nil } - %w{/usr/X11/bin /opt/X11/bin} - self['PATH'] = paths.unshift(*self['PATH'].split(File::PATH_SEPARATOR)).uniq.join(File::PATH_SEPARATOR) + paths = ORIGINAL_PATHS.map { |p| p.realpath.to_s rescue nil } - %w[/usr/X11/bin /opt/X11/bin] + self["PATH"] = paths.unshift(*self["PATH"].split(File::PATH_SEPARATOR)).uniq.join(File::PATH_SEPARATOR) # XXX hot fix to prefer brewed stuff (e.g. python) over /usr/bin. - prepend_path 'PATH', HOMEBREW_PREFIX/'bin' + prepend_path "PATH", HOMEBREW_PREFIX/"bin" end def fortran @@ -149,9 +179,9 @@ module SharedEnvExtension if fc ohai "Building with an alternative Fortran compiler" puts "This is unsupported." - self['F77'] ||= fc + self["F77"] ||= fc - if ARGV.include? '--default-fortran-flags' + if ARGV.include? "--default-fortran-flags" flags = FC_FLAG_VARS.reject { |key| self[key] } elsif values_at(*FC_FLAG_VARS).compact.empty? opoo <<-EOS.undent @@ -165,14 +195,14 @@ module SharedEnvExtension end else - if (gfortran = which('gfortran', (HOMEBREW_PREFIX/'bin').to_s)) + if (gfortran = which("gfortran", (HOMEBREW_PREFIX/"bin").to_s)) ohai "Using Homebrew-provided fortran compiler." - elsif (gfortran = which('gfortran', ORIGINAL_PATHS.join(File::PATH_SEPARATOR))) + elsif (gfortran = which("gfortran", ORIGINAL_PATHS.join(File::PATH_SEPARATOR))) ohai "Using a fortran compiler found at #{gfortran}." end if gfortran puts "This may be changed by setting the FC environment variable." - self['FC'] = self['F77'] = gfortran + self["FC"] = self["F77"] = gfortran flags = FC_FLAG_VARS end end @@ -183,14 +213,14 @@ module SharedEnvExtension # ld64 is a newer linker provided for Xcode 2.5 def ld64 - ld64 = Formulary.factory('ld64') - self['LD'] = ld64.bin/'ld' + ld64 = Formulary.factory("ld64") + self["LD"] = ld64.bin/"ld" append "LDFLAGS", "-B#{ld64.bin}/" end def gcc_version_formula(name) version = name[GNU_GCC_REGEXP, 1] - gcc_version_name = "gcc#{version.delete('.')}" + gcc_version_name = "gcc#{version.delete(".")}" gcc = Formulary.factory("gcc") if gcc.opt_bin.join(name).exist? @@ -222,11 +252,11 @@ module SharedEnvExtension private - def cc= val + def cc=(val) self["CC"] = self["OBJC"] = val.to_s end - def cxx= val + def cxx=(val) self["CXX"] = self["OBJCXX"] = val.to_s end diff --git a/Library/Homebrew/extend/ENV/std.rb b/Library/Homebrew/extend/ENV/std.rb index 56ac68a87..6798e6cd3 100644 --- a/Library/Homebrew/extend/ENV/std.rb +++ b/Library/Homebrew/extend/ENV/std.rb @@ -1,44 +1,44 @@ -require 'hardware' -require 'os/mac' -require 'extend/ENV/shared' +require "hardware" +require "os/mac" +require "extend/ENV/shared" module Stdenv include SharedEnvExtension SAFE_CFLAGS_FLAGS = "-w -pipe" - DEFAULT_FLAGS = '-march=core2 -msse4' + DEFAULT_FLAGS = "-march=core2 -msse4" def self.extended(base) - unless ORIGINAL_PATHS.include? HOMEBREW_PREFIX/'bin' - base.prepend_path 'PATH', "#{HOMEBREW_PREFIX}/bin" + unless ORIGINAL_PATHS.include? HOMEBREW_PREFIX/"bin" + base.prepend_path "PATH", "#{HOMEBREW_PREFIX}/bin" end end - def setup_build_environment(formula=nil) + def setup_build_environment(formula = nil) super if MacOS.version >= :mountain_lion # Mountain Lion's sed is stricter, and errors out when # it encounters files with mixed character sets - delete('LC_ALL') - self['LC_CTYPE']="C" + delete("LC_ALL") + self["LC_CTYPE"]="C" end # Set the default pkg-config search path, overriding the built-in paths # Anything in PKG_CONFIG_PATH is searched before paths in this variable - self['PKG_CONFIG_LIBDIR'] = determine_pkg_config_libdir + self["PKG_CONFIG_LIBDIR"] = determine_pkg_config_libdir # make any aclocal stuff installed in Homebrew available - self['ACLOCAL_PATH'] = "#{HOMEBREW_PREFIX}/share/aclocal" if MacOS::Xcode.provides_autotools? + self["ACLOCAL_PATH"] = "#{HOMEBREW_PREFIX}/share/aclocal" if MacOS::Xcode.provides_autotools? - self['MAKEFLAGS'] = "-j#{self.make_jobs}" + self["MAKEFLAGS"] = "-j#{make_jobs}" - unless HOMEBREW_PREFIX.to_s == '/usr/local' + unless HOMEBREW_PREFIX.to_s == "/usr/local" # /usr/local is already an -isystem and -L directory so we skip it - self['CPPFLAGS'] = "-isystem#{HOMEBREW_PREFIX}/include" - self['LDFLAGS'] = "-L#{HOMEBREW_PREFIX}/lib" + self["CPPFLAGS"] = "-isystem#{HOMEBREW_PREFIX}/include" + self["LDFLAGS"] = "-L#{HOMEBREW_PREFIX}/lib" # CMake ignores the variables above - self['CMAKE_PREFIX_PATH'] = HOMEBREW_PREFIX.to_s + self["CMAKE_PREFIX_PATH"] = HOMEBREW_PREFIX.to_s end frameworks = HOMEBREW_PREFIX.join("Frameworks") @@ -51,7 +51,7 @@ module Stdenv # Os is the default Apple uses for all its stuff so let's trust them set_cflags "-Os #{SAFE_CFLAGS_FLAGS}" - append 'LDFLAGS', '-Wl,-headerpad_max_install_names' + append "LDFLAGS", "-Wl,-headerpad_max_install_names" send(compiler) @@ -82,13 +82,13 @@ module Stdenv # This is useful for makefiles with race conditions. # When passed a block, MAKEFLAGS is removed only for the duration of the block and is restored after its completion. def deparallelize - old = self['MAKEFLAGS'] - remove 'MAKEFLAGS', /-j\d+/ + old = self["MAKEFLAGS"] + remove "MAKEFLAGS", /-j\d+/ if block_given? begin yield ensure - self['MAKEFLAGS'] = old + self["MAKEFLAGS"] = old end end @@ -97,9 +97,9 @@ module Stdenv alias_method :j1, :deparallelize # These methods are no-ops for compatibility. - %w{fast O4 Og}.each { |opt| define_method(opt) {} } + %w[fast O4 Og].each { |opt| define_method(opt) {} } - %w{O3 O2 O1 O0 Os}.each do |opt| + %w[O3 O2 O1 O0 Os].each do |opt| define_method opt do remove_from_cflags(/-O./) append_to_cflags "-#{opt}" @@ -118,7 +118,7 @@ module Stdenv def gcc_4_0 super - set_cpu_cflags '-march=nocona -mssse3' + set_cpu_cflags "-march=nocona -mssse3" end alias_method :gcc_4_0_1, :gcc_4_0 @@ -149,53 +149,53 @@ module Stdenv set_cpu_cflags "-march=native", map end - def remove_macosxsdk version=MacOS.version + def remove_macosxsdk(version = MacOS.version) # Clear all lib and include dirs from CFLAGS, CPPFLAGS, LDFLAGS that were # previously added by macosxsdk version = version.to_s remove_from_cflags(/ ?-mmacosx-version-min=10\.\d/) - delete('MACOSX_DEPLOYMENT_TARGET') - delete('CPATH') - remove 'LDFLAGS', "-L#{HOMEBREW_PREFIX}/lib" + delete("MACOSX_DEPLOYMENT_TARGET") + delete("CPATH") + remove "LDFLAGS", "-L#{HOMEBREW_PREFIX}/lib" if (sdk = MacOS.sdk_path(version)) && !MacOS::CLT.installed? - delete('SDKROOT') + delete("SDKROOT") remove_from_cflags "-isysroot #{sdk}" - remove 'CPPFLAGS', "-isysroot #{sdk}" - remove 'LDFLAGS', "-isysroot #{sdk}" - if HOMEBREW_PREFIX.to_s == '/usr/local' - delete('CMAKE_PREFIX_PATH') + remove "CPPFLAGS", "-isysroot #{sdk}" + remove "LDFLAGS", "-isysroot #{sdk}" + if HOMEBREW_PREFIX.to_s == "/usr/local" + delete("CMAKE_PREFIX_PATH") else # It was set in setup_build_environment, so we have to restore it here. - self['CMAKE_PREFIX_PATH'] = HOMEBREW_PREFIX.to_s + self["CMAKE_PREFIX_PATH"] = HOMEBREW_PREFIX.to_s end - remove 'CMAKE_FRAMEWORK_PATH', "#{sdk}/System/Library/Frameworks" + remove "CMAKE_FRAMEWORK_PATH", "#{sdk}/System/Library/Frameworks" end end - def macosxsdk version=MacOS.version + def macosxsdk(version = MacOS.version) return unless OS.mac? # Sets all needed lib and include dirs to CFLAGS, CPPFLAGS, LDFLAGS. remove_macosxsdk version = version.to_s append_to_cflags("-mmacosx-version-min=#{version}") - self['MACOSX_DEPLOYMENT_TARGET'] = version - self['CPATH'] = "#{HOMEBREW_PREFIX}/include" - prepend 'LDFLAGS', "-L#{HOMEBREW_PREFIX}/lib" + self["MACOSX_DEPLOYMENT_TARGET"] = version + self["CPATH"] = "#{HOMEBREW_PREFIX}/include" + prepend "LDFLAGS", "-L#{HOMEBREW_PREFIX}/lib" if (sdk = MacOS.sdk_path(version)) && !MacOS::CLT.installed? # Extra setup to support Xcode 4.3+ without CLT. - self['SDKROOT'] = sdk + self["SDKROOT"] = sdk # Tell clang/gcc where system include's are: - append_path 'CPATH', "#{sdk}/usr/include" + append_path "CPATH", "#{sdk}/usr/include" # The -isysroot is needed, too, because of the Frameworks append_to_cflags "-isysroot #{sdk}" - append 'CPPFLAGS', "-isysroot #{sdk}" + append "CPPFLAGS", "-isysroot #{sdk}" # And the linker needs to find sdk/usr/lib - append 'LDFLAGS', "-isysroot #{sdk}" + append "LDFLAGS", "-isysroot #{sdk}" # Needed to build cmake itself and perhaps some cmake projects: - append_path 'CMAKE_PREFIX_PATH', "#{sdk}/usr" - append_path 'CMAKE_FRAMEWORK_PATH', "#{sdk}/System/Library/Frameworks" + append_path "CMAKE_PREFIX_PATH", "#{sdk}/usr" + append_path "CMAKE_FRAMEWORK_PATH", "#{sdk}/System/Library/Frameworks" end end @@ -203,6 +203,7 @@ module Stdenv set_cflags "-Os #{SAFE_CFLAGS_FLAGS}" macosxsdk unless MacOS::CLT.installed? end + def no_optimization set_cflags SAFE_CFLAGS_FLAGS macosxsdk unless MacOS::CLT.installed? @@ -211,10 +212,10 @@ module Stdenv # Some configure scripts won't find libxml2 without help def libxml2 if MacOS::CLT.installed? - append 'CPPFLAGS', '-I/usr/include/libxml2' + append "CPPFLAGS", "-I/usr/include/libxml2" else # Use the includes form the sdk - append 'CPPFLAGS', "-I#{MacOS.sdk_path}/usr/include/libxml2" + append "CPPFLAGS", "-I#{MacOS.sdk_path}/usr/include/libxml2" end end @@ -238,7 +239,7 @@ module Stdenv append_path "ACLOCAL_PATH", "#{MacOS::X11.share}/aclocal" - if MacOS::XQuartz.provided_by_apple? and not MacOS::CLT.installed? + if MacOS::XQuartz.provided_by_apple? && !MacOS::CLT.installed? append_path "CMAKE_PREFIX_PATH", "#{MacOS.sdk_path}/usr/X11" end @@ -248,21 +249,22 @@ module Stdenv # we've seen some packages fail to build when warnings are disabled! def enable_warnings - remove_from_cflags '-w' + remove_from_cflags "-w" end def m64 - append_to_cflags '-m64' - append 'LDFLAGS', "-arch #{Hardware::CPU.arch_64_bit}" + append_to_cflags "-m64" + append "LDFLAGS", "-arch #{Hardware::CPU.arch_64_bit}" end + def m32 - append_to_cflags '-m32' - append 'LDFLAGS', "-arch #{Hardware::CPU.arch_32_bit}" + append_to_cflags "-m32" + append "LDFLAGS", "-arch #{Hardware::CPU.arch_32_bit}" end def universal_binary append_to_cflags Hardware::CPU.universal_archs.as_arch_flags - append 'LDFLAGS', Hardware::CPU.universal_archs.as_arch_flags + append "LDFLAGS", Hardware::CPU.universal_archs.as_arch_flags if compiler != :clang && Hardware.is_32_bit? # Can't mix "-march" for a 32-bit CPU with "-arch x86_64" @@ -272,10 +274,10 @@ module Stdenv def cxx11 if compiler == :clang - append 'CXX', '-std=c++11' - append 'CXX', '-stdlib=libc++' + append "CXX", "-std=c++11" + append "CXX", "-stdlib=libc++" elsif compiler =~ /gcc-(4\.(8|9)|5)/ - append 'CXX', '-std=c++11' + append "CXX", "-std=c++11" else raise "The selected compiler doesn't support C++11: #{compiler}" end @@ -283,36 +285,36 @@ module Stdenv def libcxx if compiler == :clang - append 'CXX', '-stdlib=libc++' + append "CXX", "-stdlib=libc++" end end def libstdcxx if compiler == :clang - append 'CXX', '-stdlib=libstdc++' + append "CXX", "-stdlib=libstdc++" end end - def replace_in_cflags before, after + def replace_in_cflags(before, after) CC_FLAG_VARS.each do |key| - self[key] = self[key].sub(before, after) if has_key?(key) + self[key] = self[key].sub(before, after) if key?(key) end end # Convenience method to set all C compiler flags in one shot. - def set_cflags val + def set_cflags(val) CC_FLAG_VARS.each { |key| self[key] = val } end # Sets architecture-specific flags for every environment variable # given in the list `flags`. - def set_cpu_flags flags, default=DEFAULT_FLAGS, map=Hardware::CPU.optimization_flags - cflags =~ %r{(-Xarch_#{Hardware::CPU.arch_32_bit} )-march=} + def set_cpu_flags(flags, default = DEFAULT_FLAGS, map = Hardware::CPU.optimization_flags) + cflags =~ /(-Xarch_#{Hardware::CPU.arch_32_bit} )-march=/ xarch = $1.to_s - remove flags, %r{(-Xarch_#{Hardware::CPU.arch_32_bit} )?-march=\S*} - remove flags, %r{( -Xclang \S+)+} - remove flags, %r{-mssse3} - remove flags, %r{-msse4(\.\d)?} + remove flags, /(-Xarch_#{Hardware::CPU.arch_32_bit} )?-march=\S*/ + remove flags, /( -Xclang \S+)+/ + remove flags, /-mssse3/ + remove flags, /-msse4(\.\d)?/ append flags, xarch unless xarch.empty? append flags, map.fetch(effective_arch, default) end @@ -330,14 +332,14 @@ module Stdenv end end - def set_cpu_cflags default=DEFAULT_FLAGS, map=Hardware::CPU.optimization_flags + def set_cpu_cflags(default = DEFAULT_FLAGS, map = Hardware::CPU.optimization_flags) set_cpu_flags CC_FLAG_VARS, default, map end def make_jobs # '-j' requires a positive integral argument - if self['HOMEBREW_MAKE_JOBS'].to_i > 0 - self['HOMEBREW_MAKE_JOBS'].to_i + if self["HOMEBREW_MAKE_JOBS"].to_i > 0 + self["HOMEBREW_MAKE_JOBS"].to_i else Hardware::CPU.cores end diff --git a/Library/Homebrew/extend/ENV/super.rb b/Library/Homebrew/extend/ENV/super.rb index cc187434b..911602919 100644 --- a/Library/Homebrew/extend/ENV/super.rb +++ b/Library/Homebrew/extend/ENV/super.rb @@ -1,5 +1,5 @@ -require 'os/mac' -require 'extend/ENV/shared' +require "os/mac" +require "extend/ENV/shared" ### Why `superenv`? # 1) Only specify the environment we need (NO LDFLAGS for cmake) @@ -34,29 +34,29 @@ module Superenv delete("as_nl") end - def setup_build_environment(formula=nil) + def setup_build_environment(formula = nil) super send(compiler) - self['MAKEFLAGS'] ||= "-j#{determine_make_jobs}" - self['PATH'] = determine_path - self['PKG_CONFIG_PATH'] = determine_pkg_config_path - self['PKG_CONFIG_LIBDIR'] = determine_pkg_config_libdir - self['HOMEBREW_CCCFG'] = determine_cccfg - self['HOMEBREW_OPTIMIZATION_LEVEL'] = 'Os' - self['HOMEBREW_BREW_FILE'] = HOMEBREW_BREW_FILE.to_s - self['HOMEBREW_PREFIX'] = HOMEBREW_PREFIX.to_s - self['HOMEBREW_CELLAR'] = HOMEBREW_CELLAR.to_s - self['HOMEBREW_TEMP'] = HOMEBREW_TEMP.to_s - self['HOMEBREW_SDKROOT'] = effective_sysroot - self['HOMEBREW_OPTFLAGS'] = determine_optflags - self['HOMEBREW_ARCHFLAGS'] = '' - self['CMAKE_PREFIX_PATH'] = determine_cmake_prefix_path - self['CMAKE_FRAMEWORK_PATH'] = determine_cmake_frameworks_path - self['CMAKE_INCLUDE_PATH'] = determine_cmake_include_path - self['CMAKE_LIBRARY_PATH'] = determine_cmake_library_path - self['ACLOCAL_PATH'] = determine_aclocal_path - self['M4'] = MacOS.locate("m4") if deps.any? { |d| d.name == "autoconf" } + self["MAKEFLAGS"] ||= "-j#{determine_make_jobs}" + self["PATH"] = determine_path + self["PKG_CONFIG_PATH"] = determine_pkg_config_path + self["PKG_CONFIG_LIBDIR"] = determine_pkg_config_libdir + self["HOMEBREW_CCCFG"] = determine_cccfg + self["HOMEBREW_OPTIMIZATION_LEVEL"] = "Os" + self["HOMEBREW_BREW_FILE"] = HOMEBREW_BREW_FILE.to_s + self["HOMEBREW_PREFIX"] = HOMEBREW_PREFIX.to_s + self["HOMEBREW_CELLAR"] = HOMEBREW_CELLAR.to_s + self["HOMEBREW_TEMP"] = HOMEBREW_TEMP.to_s + self["HOMEBREW_SDKROOT"] = effective_sysroot + self["HOMEBREW_OPTFLAGS"] = determine_optflags + self["HOMEBREW_ARCHFLAGS"] = "" + self["CMAKE_PREFIX_PATH"] = determine_cmake_prefix_path + self["CMAKE_FRAMEWORK_PATH"] = determine_cmake_frameworks_path + self["CMAKE_INCLUDE_PATH"] = determine_cmake_include_path + self["CMAKE_LIBRARY_PATH"] = determine_cmake_library_path + self["ACLOCAL_PATH"] = determine_aclocal_path + self["M4"] = MacOS.locate("m4") if deps.any? { |d| d.name == "autoconf" } self["HOMEBREW_ISYSTEM_PATHS"] = determine_isystem_paths self["HOMEBREW_INCLUDE_PATHS"] = determine_include_paths self["HOMEBREW_LIBRARY_PATHS"] = determine_library_paths @@ -83,11 +83,11 @@ module Superenv private - def cc= val + def cc=(val) self["HOMEBREW_CC"] = super end - def cxx= val + def cxx=(val) self["HOMEBREW_CXX"] = super end @@ -96,7 +96,7 @@ module Superenv end def determine_cxx - determine_cc.to_s.gsub('gcc', 'g++').gsub('clang', 'clang++') + determine_cc.to_s.gsub("gcc", "g++").gsub("clang", "clang++") end def determine_path @@ -113,15 +113,15 @@ module Superenv end paths << MacOS::X11.bin.to_s if x11? - paths += %w{/usr/bin /bin /usr/sbin /sbin} + paths += %w[/usr/bin /bin /usr/sbin /sbin] # Homebrew's apple-gcc42 will be outside the PATH in superenv, # so xcrun may not be able to find it case homebrew_cc when "gcc-4.2" begin - apple_gcc42 = Formulary.factory('apple-gcc42') - rescue FormulaUnavailableError + apple_gcc42 = Formulary.factory("apple-gcc42") + rescue FormulaUnavailableError end paths << apple_gcc42.opt_bin.to_s if apple_gcc42 when GNU_GCC_REGEXP @@ -139,7 +139,7 @@ module Superenv end def determine_pkg_config_libdir - paths = %W{/usr/lib/pkgconfig #{HOMEBREW_LIBRARY}/ENV/pkgconfig/#{MacOS.version}} + paths = %W[/usr/lib/pkgconfig #{HOMEBREW_LIBRARY}/ENV/pkgconfig/#{MacOS.version}] paths << "#{MacOS::X11.lib}/pkgconfig" << "#{MacOS::X11.share}/pkgconfig" if x11? paths.to_path_s end @@ -210,7 +210,7 @@ module Superenv end def determine_make_jobs - if (j = self['HOMEBREW_MAKE_JOBS'].to_i) < 1 + if (j = self["HOMEBREW_MAKE_JOBS"].to_i) < 1 Hardware::CPU.cores else j @@ -234,9 +234,9 @@ module Superenv def determine_cccfg s = "" # Fix issue with sed barfing on unicode characters on Mountain Lion - s << 's' if MacOS.version >= :mountain_lion + s << "s" if MacOS.version >= :mountain_lion # Fix issue with >= 10.8 apr-1-config having broken paths - s << 'a' if MacOS.version >= :mountain_lion + s << "a" if MacOS.version >= :mountain_lion s end @@ -246,12 +246,12 @@ module Superenv # This is useful for makefiles with race conditions. # When passed a block, MAKEFLAGS is removed only for the duration of the block and is restored after its completion. def deparallelize - old = delete('MAKEFLAGS') + old = delete("MAKEFLAGS") if block_given? begin yield ensure - self['MAKEFLAGS'] = old + self["MAKEFLAGS"] = old end end @@ -260,16 +260,16 @@ module Superenv alias_method :j1, :deparallelize def make_jobs - self['MAKEFLAGS'] =~ /-\w*j(\d)+/ + self["MAKEFLAGS"] =~ /-\w*j(\d)+/ [$1.to_i, 1].max end def universal_binary - self['HOMEBREW_ARCHFLAGS'] = Hardware::CPU.universal_archs.as_arch_flags + self["HOMEBREW_ARCHFLAGS"] = Hardware::CPU.universal_archs.as_arch_flags # GCC doesn't accept "-march" for a 32-bit CPU with "-arch x86_64" if compiler != :clang && Hardware.is_32_bit? - self['HOMEBREW_OPTFLAGS'] = self['HOMEBREW_OPTFLAGS'].sub( + self["HOMEBREW_OPTFLAGS"] = self["HOMEBREW_OPTFLAGS"].sub( /-march=\S*/, "-Xarch_#{Hardware::CPU.arch_32_bit} \\0" ) @@ -291,10 +291,10 @@ module Superenv def cxx11 case homebrew_cc when "clang" - append 'HOMEBREW_CCCFG', "x", '' - append 'HOMEBREW_CCCFG', "g", '' + append "HOMEBREW_CCCFG", "x", "" + append "HOMEBREW_CCCFG", "g", "" when /gcc-(4\.(8|9)|5)/ - append 'HOMEBREW_CCCFG', "x", '' + append "HOMEBREW_CCCFG", "x", "" else raise "The selected compiler doesn't support C++11: #{homebrew_cc}" end @@ -309,32 +309,31 @@ module Superenv end def refurbish_args - append 'HOMEBREW_CCCFG', "O", '' + append "HOMEBREW_CCCFG", "O", "" end - %w{O3 O2 O1 O0 Os}.each do |opt| + %w[O3 O2 O1 O0 Os].each do |opt| define_method opt do - self['HOMEBREW_OPTIMIZATION_LEVEL'] = opt + self["HOMEBREW_OPTIMIZATION_LEVEL"] = opt end end - def noop(*args); end + def noop(*_args); end noops = [] # These methods are no longer necessary under superenv, but are needed to # maintain an interface compatible with stdenv. - noops.concat %w{fast O4 Og libxml2 set_cpu_flags macosxsdk remove_macosxsdk} + noops.concat %w[fast O4 Og libxml2 set_cpu_flags macosxsdk remove_macosxsdk] # These methods provide functionality that has not yet been ported to # superenv. - noops.concat %w{gcc_4_0_1 minimal_optimization no_optimization enable_warnings} + noops.concat %w[gcc_4_0_1 minimal_optimization no_optimization enable_warnings] noops.each { |m| alias_method m, :noop } end - class Array def to_path_s - map(&:to_s).uniq.select{|s| File.directory? s }.join(File::PATH_SEPARATOR).chuzzle + map(&:to_s).uniq.select { |s| File.directory? s }.join(File::PATH_SEPARATOR).chuzzle end end diff --git a/Library/Homebrew/extend/fileutils.rb b/Library/Homebrew/extend/fileutils.rb index 4778d9039..741fca57f 100644 --- a/Library/Homebrew/extend/fileutils.rb +++ b/Library/Homebrew/extend/fileutils.rb @@ -3,10 +3,9 @@ require "tmpdir" # We enhance FileUtils to make our Formula code more readable. module FileUtils - # Create a temporary directory then yield. When the block returns, # recursively delete the temporary directory. - def mktemp(prefix=name) + def mktemp(prefix = name) prev = pwd tmp = Dir.mktmpdir(prefix, HOMEBREW_TEMP) @@ -26,7 +25,7 @@ module FileUtils # A version of mkdir that also changes to that folder in a block. alias_method :old_mkdir, :mkdir - def mkdir name, &block + def mkdir(name, &_block) old_mkdir(name) if block_given? chdir name do @@ -46,8 +45,8 @@ module FileUtils class Entry_ alias_method :old_copy_metadata, :copy_metadata def copy_metadata(path) - st = lstat() - if !st.symlink? + st = lstat + unless st.symlink? File.utime st.atime, st.mtime, path end begin @@ -87,20 +86,20 @@ module FileUtils # Run scons using a Homebrew-installed version, instead of whatever # is in the user's PATH - def scons *args + def scons(*args) system Formulary.factory("scons").opt_bin/"scons", *args end - def rake *args - system RUBY_BIN/'rake', *args + def rake(*args) + system RUBY_BIN/"rake", *args end alias_method :old_ruby, :ruby if method_defined?(:ruby) - def ruby *args + def ruby(*args) system RUBY_PATH, *args end - def xcodebuild *args + def xcodebuild(*args) removed = ENV.remove_cc_etc system "xcodebuild", *args ensure diff --git a/Library/Homebrew/extend/module.rb b/Library/Homebrew/extend/module.rb index 045508fd1..f4ea4de55 100644 --- a/Library/Homebrew/extend/module.rb +++ b/Library/Homebrew/extend/module.rb @@ -1,6 +1,6 @@ class Module def attr_rw(*attrs) - file, line, _ = caller.first.split(":") + file, line, = caller.first.split(":") line = line.to_i attrs.each do |attr| diff --git a/Library/Homebrew/extend/pathname.rb b/Library/Homebrew/extend/pathname.rb index 40c6eba31..c71a636e9 100644 --- a/Library/Homebrew/extend/pathname.rb +++ b/Library/Homebrew/extend/pathname.rb @@ -1,7 +1,7 @@ -require 'pathname' -require 'mach' -require 'resource' -require 'metafiles' +require "pathname" +require "mach" +require "resource" +require "metafiles" # we enhance pathname to make our code more readable class Pathname @@ -9,7 +9,7 @@ class Pathname BOTTLE_EXTNAME_RX = /(\.[a-z0-9_]+\.bottle\.(\d+\.)?tar\.gz)$/ - def install *sources + def install(*sources) sources.each do |src| case src when Resource @@ -48,7 +48,7 @@ class Pathname # https://bugs.ruby-lang.org/issues/7707 # In that case, use the system "mv" command. if src.symlink? - raise unless Kernel.system 'mv', src, dst + raise unless Kernel.system "mv", src, dst else FileUtils.mv src, dst end @@ -56,7 +56,7 @@ class Pathname private :install_p # Creates symlinks to sources in this folder. - def install_symlink *sources + def install_symlink(*sources) sources.each do |src| case src when Array @@ -80,7 +80,7 @@ class Pathname # we assume this pathname object is a file obviously alias_method :old_write, :write if method_defined?(:write) def write(content, *open_args) - raise "Will not overwrite #{to_s}" if exist? + raise "Will not overwrite #{self}" if exist? dirname.mkpath open("w", *open_args) { |f| f.write(content) } end @@ -94,7 +94,7 @@ class Pathname end unless method_defined?(:binread) # NOTE always overwrites - def atomic_write content + def atomic_write(content) require "tempfile" tf = Tempfile.new(basename.to_s, dirname) begin @@ -124,24 +124,24 @@ class Pathname def default_stat sentinel = parent.join(".brew.#{Process.pid}.#{rand(Time.now.to_i)}") - sentinel.open("w") { } + sentinel.open("w") {} sentinel.stat ensure sentinel.unlink end private :default_stat - def cp dst + def cp(dst) opoo "Pathname#cp is deprecated, use FileUtils.cp" if file? FileUtils.cp to_s, dst else FileUtils.cp_r to_s, dst end - return dst + dst end - def cp_path_sub pattern, replacement + def cp_path_sub(pattern, replacement) raise "#{self} does not exist" unless self.exist? dst = sub(pattern, replacement) @@ -158,13 +158,13 @@ class Pathname end # extended to support common double extensions - alias extname_old extname - def extname(path=to_s) + alias_method :extname_old, :extname + def extname(path = to_s) BOTTLE_EXTNAME_RX.match(path) return $1 if $1 /(\.(tar|cpio|pax)\.(gz|bz2|lz|xz|Z))$/.match(path) return $1 if $1 - return File.extname(path) + File.extname(path) end # for filetypes we support, basename without extension @@ -179,7 +179,7 @@ class Pathname rmdir true rescue Errno::ENOTEMPTY - if (ds_store = self+'.DS_Store').exist? && children.length == 1 + if (ds_store = self+".DS_Store").exist? && children.length == 1 ds_store.unlink retry else @@ -189,14 +189,14 @@ class Pathname false end - def chmod_R perms + def chmod_R(perms) opoo "Pathname#chmod_R is deprecated, use FileUtils.chmod_R" - require 'fileutils' + require "fileutils" FileUtils.chmod_R perms, to_s end def version - require 'version' + require "version" Version.parse(self) end @@ -218,7 +218,7 @@ class Pathname # Get enough of the file to detect common file types # POSIX tar magic has a 257 byte offset # magic numbers stolen from /usr/share/file/magic/ - case open('rb') { |f| f.read(262) } + case open("rb") { |f| f.read(262) } when /^PK\003\004/n then :zip when /^\037\213/n then :gzip when /^BZh/n then :bzip2 @@ -241,7 +241,7 @@ class Pathname end def text_executable? - %r[^#!\s*\S+] === open('r') { |f| f.read(1024) } + /^#!\s*\S+/ === open("r") { |f| f.read(1024) } end def incremental_hash(klass) @@ -256,30 +256,30 @@ class Pathname end def sha1 - require 'digest/sha1' + require "digest/sha1" incremental_hash(Digest::SHA1) end def sha256 - require 'digest/sha2' + require "digest/sha2" incremental_hash(Digest::SHA2) end - def verify_checksum expected - raise ChecksumMissingError if expected.nil? or expected.empty? + def verify_checksum(expected) + raise ChecksumMissingError if expected.nil? || expected.empty? actual = Checksum.new(expected.hash_type, send(expected.hash_type).downcase) raise ChecksumMismatchError.new(self, expected, actual) unless expected == actual end - # FIXME eliminate the places where we rely on this method + # FIXME: eliminate the places where we rely on this method alias_method :to_str, :to_s unless method_defined?(:to_str) def cd - Dir.chdir(self){ yield } + Dir.chdir(self) { yield } end def subdirs - children.select{ |child| child.directory? } + children.select(&:directory?) end def resolved_path @@ -328,7 +328,7 @@ class Pathname end # Writes an exec script in this folder for each target pathname - def write_exec_script *targets + def write_exec_script(*targets) targets.flatten! if targets.empty? opoo "tried to write exec scripts to #{self} for an empty list of targets" @@ -337,7 +337,7 @@ class Pathname mkpath targets.each do |target| target = Pathname.new(target) # allow pathnames or strings - (self+target.basename()).write <<-EOS.undent + (self+target.basename).write <<-EOS.undent #!/bin/bash exec "#{target}" "$@" EOS @@ -345,18 +345,18 @@ class Pathname end # Writes an exec script that sets environment variables - def write_env_script target, env - env_export = '' - env.each {|key, value| env_export += "#{key}=\"#{value}\" "} + def write_env_script(target, env) + env_export = "" + env.each { |key, value| env_export += "#{key}=\"#{value}\" " } dirname.mkpath - self.write <<-EOS.undent + write <<-EOS.undent #!/bin/bash #{env_export}exec "#{target}" "$@" EOS end # Writes a wrapper env script and moves all files to the dst - def env_script_all_files dst, env + def env_script_all_files(dst, env) dst.mkpath Pathname.glob("#{self}/*") do |file| next if file.directory? @@ -367,7 +367,7 @@ class Pathname end # Writes an exec script that invokes a java jar - def write_jar_script target_jar, script_name, java_opts="" + def write_jar_script(target_jar, script_name, java_opts = "") mkpath (self+script_name).write <<-EOS.undent #!/bin/bash @@ -375,7 +375,7 @@ class Pathname EOS end - def install_metafiles from=Pathname.pwd + def install_metafiles(from = Pathname.pwd) Pathname(from).children.each do |p| next if p.directory? next unless Metafiles.copy?(p.basename.to_s) @@ -420,7 +420,7 @@ class Pathname File.dirname(prefix) elsif /#{SEPARATOR_PAT}/o =~ prefix prefix = File.dirname(prefix) - prefix = File.join(prefix, "") if File.basename(prefix + 'a') != 'a' + prefix = File.join(prefix, "") if File.basename(prefix + "a") != "a" prefix + relpath else prefix + relpath @@ -456,25 +456,29 @@ module ObserverPathnameExtension def unlink super - puts "rm #{to_s}" if ARGV.verbose? + puts "rm #{self}" if ARGV.verbose? ObserverPathnameExtension.n += 1 end + def rmdir super - puts "rmdir #{to_s}" if ARGV.verbose? + puts "rmdir #{self}" if ARGV.verbose? ObserverPathnameExtension.d += 1 end - def make_relative_symlink src + + def make_relative_symlink(src) super puts "ln -s #{src.relative_path_from(dirname)} #{basename}" if ARGV.verbose? ObserverPathnameExtension.n += 1 end + def install_info super - puts "info #{to_s}" if ARGV.verbose? + puts "info #{self}" if ARGV.verbose? end + def uninstall_info super - puts "uninfo #{to_s}" if ARGV.verbose? + puts "uninfo #{self}" if ARGV.verbose? end end diff --git a/Library/Homebrew/extend/string.rb b/Library/Homebrew/extend/string.rb index 17575ca8e..fc507e151 100644 --- a/Library/Homebrew/extend/string.rb +++ b/Library/Homebrew/extend/string.rb @@ -1,6 +1,6 @@ class String def undent - gsub(/^.{#{(slice(/^ +/) || '').length}}/, '') + gsub(/^.{#{(slice(/^ +/) || '').length}}/, "") end # eg: @@ -35,7 +35,7 @@ module StringInreplaceExtension str.errors = [] end - def sub! before, after + def sub!(before, after) result = super unless result errors << "expected replacement of #{before.inspect} with #{after.inspect}" @@ -44,7 +44,7 @@ module StringInreplaceExtension end # Warn if nothing was replaced - def gsub! before, after, audit_result=true + def gsub!(before, after, audit_result = true) result = super(before, after) if audit_result && result.nil? errors << "expected replacement of #{before.inspect} with #{after.inspect}" @@ -54,14 +54,14 @@ module StringInreplaceExtension # Looks for Makefile style variable defintions and replaces the # value with "new_value", or removes the definition entirely. - def change_make_var! flag, new_value + def change_make_var!(flag, new_value) unless gsub!(/^#{Regexp.escape(flag)}[ \t]*=[ \t]*(.*)$/, "#{flag}=#{new_value}", false) errors << "expected to change #{flag.inspect} to #{new_value.inspect}" end end # Removes variable assignments completely. - def remove_make_var! flags + def remove_make_var!(flags) Array(flags).each do |flag| # Also remove trailing \n, if present. unless gsub!(/^#{Regexp.escape(flag)}[ \t]*=.*$\n?/, "", false) @@ -71,7 +71,7 @@ module StringInreplaceExtension end # Finds the specified variable - def get_make_var flag + def get_make_var(flag) self[/^#{Regexp.escape(flag)}[ \t]*=[ \t]*(.*)$/, 1] end end |
