From 0756a3d7d871b21cb03b4aad488cb41255687390 Mon Sep 17 00:00:00 2001 From: Dominyk Tiller Date: Tue, 4 Oct 2016 23:16:31 +0100 Subject: [PATCH 1/4] apr_requirement: require Homebrew's Apr on Sierra Sierra ships the headers/libraries still but for some reason decided to bin the config scripts, which whilst seemingly not an issue for `mesos` or `ganglia` it has broken `subversion`, `log4cxx`, `ctail`, `shibboleth` and `passenger` that we know of so far. Let's assume more often than not things are going to break without those config scripts around. --- .../Homebrew/requirements/apr_requirement.rb | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/Library/Homebrew/requirements/apr_requirement.rb b/Library/Homebrew/requirements/apr_requirement.rb index 9c07eeaeb9..894a7073b2 100644 --- a/Library/Homebrew/requirements/apr_requirement.rb +++ b/Library/Homebrew/requirements/apr_requirement.rb @@ -4,16 +4,17 @@ class AprRequirement < Requirement fatal true default_formula "apr-util" - # APR shipped in Tiger is too old, but Leopard+ is usable - satisfy(build_env: false) { MacOS.version > :leopard && MacOS::CLT.installed? } + # APR shipped in Tiger is too old, but Leopard+ is usable. + # The *-config scripts were removed in Sierra, which is widely breaking. + satisfy(build_env: false) do + MacOS.version > :leopard && MacOS.version < :sierra && MacOS::CLT.installed? + end env do - unless MacOS::CLT.installed? - ENV.prepend_path "PATH", Formula["apr-util"].opt_bin - ENV.prepend_path "PATH", Formula["apr"].opt_bin - ENV.prepend_path "PKG_CONFIG_PATH", "#{Formula["apr"].opt_libexec}/lib/pkgconfig" - ENV.prepend_path "PKG_CONFIG_PATH", "#{Formula["apr-util"].opt_libexec}/lib/pkgconfig" - end + ENV.prepend_path "PATH", Formula["apr-util"].opt_bin + ENV.prepend_path "PATH", Formula["apr"].opt_bin + ENV.prepend_path "PKG_CONFIG_PATH", "#{Formula["apr"].opt_libexec}/lib/pkgconfig" + ENV.prepend_path "PKG_CONFIG_PATH", "#{Formula["apr-util"].opt_libexec}/lib/pkgconfig" end def to_dependency From b6ecaa26f5f06057b2f116e6f47977337153aaf6 Mon Sep 17 00:00:00 2001 From: Dominyk Tiller Date: Tue, 4 Oct 2016 23:24:32 +0100 Subject: [PATCH 2/4] apr_requirement: fix always marked as missing req on Sierra --- Library/Homebrew/requirements/apr_requirement.rb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Library/Homebrew/requirements/apr_requirement.rb b/Library/Homebrew/requirements/apr_requirement.rb index 894a7073b2..3d56c52a1f 100644 --- a/Library/Homebrew/requirements/apr_requirement.rb +++ b/Library/Homebrew/requirements/apr_requirement.rb @@ -7,7 +7,8 @@ class AprRequirement < Requirement # APR shipped in Tiger is too old, but Leopard+ is usable. # The *-config scripts were removed in Sierra, which is widely breaking. satisfy(build_env: false) do - MacOS.version > :leopard && MacOS.version < :sierra && MacOS::CLT.installed? + MacOS.version > :leopard && MacOS.version < :sierra && + MacOS::CLT.installed? || Formula["apr-util"].installed? end env do From fcc9cfa6ae01b8c04f217692c69ed5e1e629baad Mon Sep 17 00:00:00 2001 From: Dominyk Tiller Date: Wed, 5 Oct 2016 01:45:24 +0100 Subject: [PATCH 3/4] apr_requirement: favour system as much as possible --- Library/Homebrew/requirements/apr_requirement.rb | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/Library/Homebrew/requirements/apr_requirement.rb b/Library/Homebrew/requirements/apr_requirement.rb index 3d56c52a1f..440788def8 100644 --- a/Library/Homebrew/requirements/apr_requirement.rb +++ b/Library/Homebrew/requirements/apr_requirement.rb @@ -12,10 +12,13 @@ class AprRequirement < Requirement end env do - ENV.prepend_path "PATH", Formula["apr-util"].opt_bin - ENV.prepend_path "PATH", Formula["apr"].opt_bin - ENV.prepend_path "PKG_CONFIG_PATH", "#{Formula["apr"].opt_libexec}/lib/pkgconfig" - ENV.prepend_path "PKG_CONFIG_PATH", "#{Formula["apr-util"].opt_libexec}/lib/pkgconfig" + # Prefer system Apr as much as possible, even if our's is installed. + unless MacOS.version > :leopard && MacOS.version < :sierra && MacOS::CLT.installed? + ENV.prepend_path "PATH", Formula["apr-util"].opt_bin + ENV.prepend_path "PATH", Formula["apr"].opt_bin + ENV.prepend_path "PKG_CONFIG_PATH", "#{Formula["apr"].opt_libexec}/lib/pkgconfig" + ENV.prepend_path "PKG_CONFIG_PATH", "#{Formula["apr-util"].opt_libexec}/lib/pkgconfig" + end end def to_dependency From 784b71cb025bff303d27a61abe8aa709ca5587c4 Mon Sep 17 00:00:00 2001 From: Mike McQuaid Date: Wed, 12 Oct 2016 11:18:14 +0100 Subject: [PATCH 4/4] Tweak style. --- .../Homebrew/requirements/apr_requirement.rb | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/Library/Homebrew/requirements/apr_requirement.rb b/Library/Homebrew/requirements/apr_requirement.rb index 440788def8..edfad1752c 100644 --- a/Library/Homebrew/requirements/apr_requirement.rb +++ b/Library/Homebrew/requirements/apr_requirement.rb @@ -7,18 +7,19 @@ class AprRequirement < Requirement # APR shipped in Tiger is too old, but Leopard+ is usable. # The *-config scripts were removed in Sierra, which is widely breaking. satisfy(build_env: false) do - MacOS.version > :leopard && MacOS.version < :sierra && - MacOS::CLT.installed? || Formula["apr-util"].installed? + next false if MacOS.version <= :leopard + next false if MacOS.version >= :sierra + MacOS::CLT.installed? || Formula["apr-util"].installed? end env do - # Prefer system Apr as much as possible, even if our's is installed. - unless MacOS.version > :leopard && MacOS.version < :sierra && MacOS::CLT.installed? - ENV.prepend_path "PATH", Formula["apr-util"].opt_bin - ENV.prepend_path "PATH", Formula["apr"].opt_bin - ENV.prepend_path "PKG_CONFIG_PATH", "#{Formula["apr"].opt_libexec}/lib/pkgconfig" - ENV.prepend_path "PKG_CONFIG_PATH", "#{Formula["apr-util"].opt_libexec}/lib/pkgconfig" - end + next if MacOS.version <= :leopard + next if MacOS.version >= :sierra + next if MacOS::CLT.installed? + ENV.prepend_path "PATH", Formula["apr-util"].opt_bin + ENV.prepend_path "PATH", Formula["apr"].opt_bin + ENV.prepend_path "PKG_CONFIG_PATH", "#{Formula["apr"].opt_libexec}/lib/pkgconfig" + ENV.prepend_path "PKG_CONFIG_PATH", "#{Formula["apr-util"].opt_libexec}/lib/pkgconfig" end def to_dependency