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
end end
def install f def pre_superenv_hacks f
# TODO replace with Formula DSL # TODO replace with Formula DSL
# Python etc. build but then pip can't build stuff. # Python etc. build but then pip can't build stuff.
# Scons resets ENV and then can't find superenv's build-tools. # 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} stdenvs = %w{fontforge python python3 ruby ruby-enterprise-edition jruby wine}
ARGV.unshift '--env=std' if (stdenvs.include?(f.name) or ARGV.unshift '--env=std' if (stdenvs.include?(f.name) or
f.recursive_deps.detect{|d| d.name == 'scons' }) and f.recursive_deps.detect{|d| d.name == 'scons' }) and
not ARGV.include? '--env=super' not ARGV.include? '--env=super'
end
def install f
keg_only_deps = f.recursive_deps.uniq.select{|dep| dep.keg_only? } keg_only_deps = f.recursive_deps.uniq.select{|dep| dep.keg_only? }
pre_superenv_hacks(f)
require 'superenv' require 'superenv'
ENV.setup_build_environment unless superenv? ENV.setup_build_environment unless superenv?

View File

@ -100,7 +100,6 @@ class << ENV
paths << HOMEBREW_PREFIX/:bin paths << HOMEBREW_PREFIX/:bin
paths << "#{MacSystem.x11_prefix}/bin" if x11? paths << "#{MacSystem.x11_prefix}/bin" if x11?
paths += %w{/usr/bin /bin /usr/sbin /sbin} 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 paths.to_path_s
end end