aboutsummaryrefslogtreecommitdiffstats
path: root/Library
diff options
context:
space:
mode:
authorJack Nagel2013-04-01 12:05:57 -0500
committerJack Nagel2013-04-01 16:17:35 -0500
commit1b0f0824fe50c54f03649423173a67f70f94a7a0 (patch)
tree566fc700236bdde8517b4b983d0102364830a65d /Library
parent462a41887823bbf72996c2ce324c5db30f77e89a (diff)
downloadbrew-1b0f0824fe50c54f03649423173a67f70f94a7a0.tar.bz2
Requirement: env DSL is evaluated in context of self, not ENV
This was meant to support: env do |req| append_path 'PATH', req.some_method ... end i.e., the block was evaluated in the context of ENV. But it turned out to be not so useful after all, so I'm ripping it out before something actually depends on it.
Diffstat (limited to 'Library')
-rw-r--r--Library/Homebrew/build_environment.rb4
-rw-r--r--Library/Homebrew/extend/object.rb15
-rw-r--r--Library/Homebrew/global.rb1
-rw-r--r--Library/Homebrew/requirement.rb2
-rw-r--r--Library/Homebrew/requirements.rb4
-rw-r--r--Library/Homebrew/test/test_build_environment.rb4
-rw-r--r--Library/Homebrew/test/test_object.rb20
7 files changed, 7 insertions, 43 deletions
diff --git a/Library/Homebrew/build_environment.rb b/Library/Homebrew/build_environment.rb
index c10c9fb1c..e6dbf9734 100644
--- a/Library/Homebrew/build_environment.rb
+++ b/Library/Homebrew/build_environment.rb
@@ -22,8 +22,8 @@ class BuildEnvironment
@settings.include? :userpaths
end
- def modify_build_environment(context=nil)
- @procs.each { |p| ENV.instance_exec(context, &p) }
+ def modify_build_environment(receiver)
+ @procs.each { |p| receiver.instance_eval(&p) }
end
def _dump(*)
diff --git a/Library/Homebrew/extend/object.rb b/Library/Homebrew/extend/object.rb
deleted file mode 100644
index 8ffe5dc90..000000000
--- a/Library/Homebrew/extend/object.rb
+++ /dev/null
@@ -1,15 +0,0 @@
-class Object
- def instance_exec(*args, &block)
- method_name = :__temp_instance_exec_method
- singleton_class = (class << self; self; end)
- singleton_class.class_eval do
- define_method(method_name, &block)
- end
-
- send(method_name, *args)
- ensure
- singleton_class.class_eval do
- remove_method(method_name) if method_defined?(method_name)
- end
- end unless method_defined?(:instance_exec)
-end
diff --git a/Library/Homebrew/global.rb b/Library/Homebrew/global.rb
index 2ae186c82..13c52d02b 100644
--- a/Library/Homebrew/global.rb
+++ b/Library/Homebrew/global.rb
@@ -3,7 +3,6 @@ require 'extend/pathname'
require 'extend/ARGV'
require 'extend/string'
require 'extend/symbol'
-require 'extend/object'
require 'utils'
require 'exceptions'
require 'set'
diff --git a/Library/Homebrew/requirement.rb b/Library/Homebrew/requirement.rb
index 89423c78b..42e4467bc 100644
--- a/Library/Homebrew/requirement.rb
+++ b/Library/Homebrew/requirement.rb
@@ -68,7 +68,7 @@ class Requirement
when Pathname
self.class.env do
unless ENV["PATH"].split(":").include?(o.parent.to_s)
- append("PATH", o.parent, ":")
+ ENV.append("PATH", o.parent, ":")
end
end
end
diff --git a/Library/Homebrew/requirements.rb b/Library/Homebrew/requirements.rb
index 34273a0f3..881ac4ad1 100644
--- a/Library/Homebrew/requirements.rb
+++ b/Library/Homebrew/requirements.rb
@@ -179,11 +179,11 @@ class MPIDependency < Requirement
@unknown_langs.empty? and @non_functional.empty?
end
- env do |req|
+ env do
# Set environment variables to help configure scripts find MPI compilers.
# Variable names taken from:
# http://www.gnu.org/software/autoconf-archive/ax_mpi.html
- req.lang_list.each do |lang|
+ @lang_list.each do |lang|
compiler = 'mpi' + lang.to_s
mpi_path = which compiler
diff --git a/Library/Homebrew/test/test_build_environment.rb b/Library/Homebrew/test/test_build_environment.rb
index 31d3cb1cb..2e1c6a602 100644
--- a/Library/Homebrew/test/test_build_environment.rb
+++ b/Library/Homebrew/test/test_build_environment.rb
@@ -23,7 +23,7 @@ class BuildEnvironmentTests < Test::Unit::TestCase
def test_modify_build_environment
@env << Proc.new { raise StandardError }
assert_raises(StandardError) do
- @env.modify_build_environment
+ @env.modify_build_environment(self)
end
end
@@ -38,7 +38,7 @@ class BuildEnvironmentTests < Test::Unit::TestCase
foo = mock("foo")
@env << Proc.new { foo.some_message }
foo.expects(:some_message)
- @env.modify_build_environment
+ @env.modify_build_environment(self)
end
def test_env_block_with_argument
diff --git a/Library/Homebrew/test/test_object.rb b/Library/Homebrew/test/test_object.rb
deleted file mode 100644
index debdd6c42..000000000
--- a/Library/Homebrew/test/test_object.rb
+++ /dev/null
@@ -1,20 +0,0 @@
-require 'testing_env'
-require 'extend/object'
-
-class InstanceExecTests < Test::Unit::TestCase
- def test_evaluates_in_context_of_receiver
- assert_equal 1, [1].instance_exec { first }
- end
-
- def test_passes_arguments_to_block
- assert_equal 2, [1].instance_exec(1) { |x| first + x }
- end
-
- def test_does_not_persist_temporary_singleton_method
- obj = Object.new
- before = obj.methods
- obj.instance_exec { methods }
- after = obj.methods
- assert_equal before, after
- end
-end