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.
This commit is contained in:
Max Howell 2012-08-31 08:27:00 -04:00
parent 113ed85e8d
commit 05c708b9fc
2 changed files with 20 additions and 2 deletions

View File

@ -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?

View File

@ -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