From 05c708b9fc2a97dd890bdfb478b749b3e6e215e5 Mon Sep 17 00:00:00 2001 From: Max Howell Date: Fri, 31 Aug 2012 08:27:00 -0400 Subject: Revert the user-PATH fix User paths might have anything in them, anything can break builds. Instead special case these two formula with the view to having an eventual DSL to allow injection of user paths into superenv. Certainly defaulting to off. --- Library/Homebrew/build.rb | 21 ++++++++++++++++++++- Library/Homebrew/superenv.rb | 1 - 2 files changed, 20 insertions(+), 2 deletions(-) (limited to 'Library') diff --git a/Library/Homebrew/build.rb b/Library/Homebrew/build.rb index 3fec81d37..5f51d79ea 100755 --- a/Library/Homebrew/build.rb +++ b/Library/Homebrew/build.rb @@ -52,17 +52,36 @@ rescue Exception => e end end -def install f +def pre_superenv_hacks f # TODO replace with Formula DSL # Python etc. build but then pip can't build stuff. # Scons resets ENV and then can't find superenv's build-tools. + # In some cases we should only apply in the case of an option I suggest the + # following: + # + # option 'with-passenger' do + # env :userpaths # for superenv + # end + # option 'without-foo' do + # env :std, :x11 + # end + # + # NOTE I think all ENV stuff should be specified with a DSL like this now. + case f.name + when 'lilypond', 'nginx' + paths = ORIGINAL_PATHS.map{|pn| pn.realpath.to_s rescue nil } - %w{/usr/X11/bin /opt/X11/bin} + ENV['PATH'] = "#{ENV['PATH']}:#{paths.join(':')}" + end stdenvs = %w{fontforge python python3 ruby ruby-enterprise-edition jruby wine} ARGV.unshift '--env=std' if (stdenvs.include?(f.name) or f.recursive_deps.detect{|d| d.name == 'scons' }) and not ARGV.include? '--env=super' +end +def install f keg_only_deps = f.recursive_deps.uniq.select{|dep| dep.keg_only? } + pre_superenv_hacks(f) require 'superenv' ENV.setup_build_environment unless superenv? diff --git a/Library/Homebrew/superenv.rb b/Library/Homebrew/superenv.rb index f059283ce..ce5eecf9c 100644 --- a/Library/Homebrew/superenv.rb +++ b/Library/Homebrew/superenv.rb @@ -100,7 +100,6 @@ class << ENV paths << HOMEBREW_PREFIX/:bin paths << "#{MacSystem.x11_prefix}/bin" if x11? paths += %w{/usr/bin /bin /usr/sbin /sbin} - paths += ORIGINAL_PATHS.map{|pn| pn.realpath.to_s rescue nil } - %w{/usr/X11/bin /opt/X11/bin} paths.to_path_s end -- cgit v1.2.3