From 16773337b62177df5b4df6c83bfd13a4ede65112 Mon Sep 17 00:00:00 2001 From: nibbles 2bits Date: Mon, 2 Apr 2012 18:55:58 -0700 Subject: [PATCH] geoip: fix compile error using deps + autoreconf geoip-1.4.8 always calls a form of autoreconf after configure, then reruns configure. This causes a build error on Lion when it crafts a broken Makefile that is missing the rule to make the target `../libGeoIP/libGeoIP.a`. * Add deps on autoconf, automake, and libtool if XCode >= 4.3. * Add a command to run `autoreconf -ivf` before configure, which works on Lion and SL. Previously, the autoreconf on SL would fail to work because it tries to use shell `--missing` versions. Both the universal and native builds compile and pass make check using all five compilers from XCode-4.3.2 and 4.0.2, on both Lion and 64bit Snow Leopard. Fixes Homebrew/homebrew#11402. Closes Homebrew/homebrew#11405. Signed-off-by: Jack Nagel --- Formula/geoip.rb | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/Formula/geoip.rb b/Formula/geoip.rb index d0427474f3..bf8c5f1189 100644 --- a/Formula/geoip.rb +++ b/Formula/geoip.rb @@ -5,12 +5,25 @@ class Geoip < Formula homepage 'http://www.maxmind.com/app/c' md5 '05b7300435336231b556df5ab36f326d' + # These are needed for the autoreconf it always tries to run. + if MacOS.xcode_version.to_f >= 4.3 + depends_on 'automake' => :build + depends_on 'libtool' => :build + end + def options [["--universal", "Build a universal binary."]] end def install ENV.universal_binary if ARGV.build_universal? + + # Fixes a build error on Lion when configure does a variant of autoreconf + # that results in a botched Makefile, causing this error: + # No rule to make target '../libGeoIP/libGeoIP.la', needed by 'geoiplookup' + # This works on Snow Leopard also when it tries but fails to run autoreconf. + system "autoreconf", "-ivf" + system "./configure", "--prefix=#{prefix}", "--disable-dependency-tracking" system "make install" end