From 787927268929f27e05edd72a5a2a5ce456aaabb3 Mon Sep 17 00:00:00 2001 From: ilovezfs Date: Mon, 22 Jan 2018 23:07:27 -0800 Subject: build: call satisified? before modifying env. Requirement#modify_build_environment may depend on the side effects of Requirement#satisfied?, so make sure the latter is called at least once for each requirement during formula installation. Prior to b70b5429d09, Requirement#satisfied? would usually be called during Build#expand_reqs, but that is longer the case. --- Library/Homebrew/build.rb | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Library') diff --git a/Library/Homebrew/build.rb b/Library/Homebrew/build.rb index d61c3672a..263bac2d5 100644 --- a/Library/Homebrew/build.rb +++ b/Library/Homebrew/build.rb @@ -81,10 +81,12 @@ class Build ENV.x11 = reqs.any? { |rq| rq.is_a?(X11Requirement) } ENV.setup_build_environment(formula) post_superenv_hacks + reqs.each(&:satisfied?) reqs.each(&:modify_build_environment) deps.each(&:modify_build_environment) else ENV.setup_build_environment(formula) + reqs.each(&:satisfied?) reqs.each(&:modify_build_environment) deps.each(&:modify_build_environment) -- cgit v1.2.3 From 46633af76ad313f33fd6cad1ff2384fa46c3fe39 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Tue, 23 Jan 2018 11:26:00 +0000 Subject: requirement: call satisfied? from modify_build_environment. --- Library/Homebrew/requirement.rb | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'Library') diff --git a/Library/Homebrew/requirement.rb b/Library/Homebrew/requirement.rb index e2b1afbb9..66e1422cd 100644 --- a/Library/Homebrew/requirement.rb +++ b/Library/Homebrew/requirement.rb @@ -51,9 +51,10 @@ class Requirement # Overriding #satisfied? is deprecated. # Pass a block or boolean to the satisfy DSL method instead. def satisfied? - result = self.class.satisfy.yielder { |p| instance_eval(&p) } - @satisfied_result = result - return false unless result + satisfy = self.class.satisfy + return true unless satisfy + @satisfied_result = satisfy.yielder { |p| instance_eval(&p) } + return false unless @satisfied_result true end @@ -74,9 +75,8 @@ class Requirement # Overriding #modify_build_environment is deprecated. # Pass a block to the env DSL method instead. - # Note: #satisfied? should be called before invoking this method - # as the env modifications may depend on its side effects. def modify_build_environment + satisfied? instance_eval(&env_proc) if env_proc # XXX If the satisfy block returns a Pathname, then make sure that it -- cgit v1.2.3 From 02d876528a498fd665a51b93cbc6ad26bbadb6a0 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Tue, 23 Jan 2018 11:26:14 +0000 Subject: requirement: make deprecated stuff unsupported. --- Library/Homebrew/requirement.rb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'Library') diff --git a/Library/Homebrew/requirement.rb b/Library/Homebrew/requirement.rb index 66e1422cd..ec3f3bf66 100644 --- a/Library/Homebrew/requirement.rb +++ b/Library/Homebrew/requirement.rb @@ -48,7 +48,7 @@ class Requirement s end - # Overriding #satisfied? is deprecated. + # Overriding #satisfied? is unsupported. # Pass a block or boolean to the satisfy DSL method instead. def satisfied? satisfy = self.class.satisfy @@ -58,7 +58,7 @@ class Requirement true end - # Overriding #fatal? is deprecated. + # Overriding #fatal? is unsupported. # Pass a boolean to the fatal DSL method instead. def fatal? self.class.fatal || false @@ -73,7 +73,7 @@ class Requirement parent end - # Overriding #modify_build_environment is deprecated. + # Overriding #modify_build_environment is unsupported. # Pass a block to the env DSL method instead. def modify_build_environment satisfied? -- cgit v1.2.3 From 5cfb81253cad767fce2fff84c8dc22bd4fab576e Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Tue, 23 Jan 2018 11:26:27 +0000 Subject: requirement: odeprecated for default_formula usage. --- Library/Homebrew/requirement.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'Library') diff --git a/Library/Homebrew/requirement.rb b/Library/Homebrew/requirement.rb index ec3f3bf66..f70746c31 100644 --- a/Library/Homebrew/requirement.rb +++ b/Library/Homebrew/requirement.rb @@ -139,8 +139,8 @@ class Requirement attr_reader :env_proc, :build attr_rw :fatal, :cask, :download - def default_formula(val = nil) - # odeprecated "Requirement.default_formula" + def default_formula(_val = nil) + odeprecated "Requirement.default_formula" end def satisfy(options = nil, &block) -- cgit v1.2.3 From 2844b0748da7d18fa9dca30a5ebbb00617493b66 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Tue, 23 Jan 2018 14:09:17 +0000 Subject: build: remove req satisfied calls. --- Library/Homebrew/build.rb | 2 -- 1 file changed, 2 deletions(-) (limited to 'Library') diff --git a/Library/Homebrew/build.rb b/Library/Homebrew/build.rb index 263bac2d5..d61c3672a 100644 --- a/Library/Homebrew/build.rb +++ b/Library/Homebrew/build.rb @@ -81,12 +81,10 @@ class Build ENV.x11 = reqs.any? { |rq| rq.is_a?(X11Requirement) } ENV.setup_build_environment(formula) post_superenv_hacks - reqs.each(&:satisfied?) reqs.each(&:modify_build_environment) deps.each(&:modify_build_environment) else ENV.setup_build_environment(formula) - reqs.each(&:satisfied?) reqs.each(&:modify_build_environment) deps.each(&:modify_build_environment) -- cgit v1.2.3