diff options
| author | Max Howell | 2012-08-31 08:27:00 -0400 |
|---|---|---|
| committer | Max Howell | 2012-08-31 10:22:10 -0400 |
| commit | 3c274e2ad06eca251203d8eaa4fe5dd4fe4972f1 (patch) | |
| tree | 96f0df6dff1fac060621bbbc0514800f44612395 | |
| parent | 08a58ea38a592056d8599f4f6f666eed279d999d (diff) | |
| download | homebrew-3c274e2ad06eca251203d8eaa4fe5dd4fe4972f1.tar.bz2 | |
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.
| -rwxr-xr-x | Library/Homebrew/build.rb | 21 | ||||
| -rw-r--r-- | Library/Homebrew/superenv.rb | 1 |
2 files changed, 20 insertions, 2 deletions
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 |
