homebrew-core/Formula/zeromq.rb
Steven Peters 90083b491e Fix brew test linking errors in several formula on 10.10
OS X 10.10 seems to require "-L{lib}" as a C/C++ compiler
argument in order to link properly. This is causing
several brew test failures.

This patch modifies several formula in a single commit
by adding "-L{lib}" to the brew test ENV.cc argument
lists. I manually verified that these specific tests
are failing with the change and passing with it on 10.10.

To identify other formulae that may be subject to this
issue, the following may be used:
~~~
grep -rnI 'ENV\.cc.*test\.c' Library/Formula \
  | grep -v '\-L#{lib}'
~~~

Closes Homebrew/homebrew#35806.

Signed-off-by: Jack Nagel <jacknagel@gmail.com>
2015-01-17 22:58:56 -06:00

65 lines
1.7 KiB
Ruby

class Zeromq < Formula
homepage "http://www.zeromq.org/"
url "http://download.zeromq.org/zeromq-4.0.5.tar.gz"
sha1 "a664ec63661a848ef46114029156a0a6006feecd"
revision 2
bottle do
cellar :any
sha1 "8598e6f79d5cfbe72f281c3f835c0894078108ad" => :yosemite
sha1 "895c3427fb619cf3dcbe1d51cbf2c97d55177821" => :mavericks
sha1 "ba066d695b43cba56747649b18f146696ba2ada0" => :mountain_lion
end
head do
url "https://github.com/zeromq/libzmq.git"
depends_on "autoconf" => :build
depends_on "automake" => :build
depends_on "libtool" => :build
end
option :universal
option "with-libpgm", "Build with PGM extension"
deprecated_option "with-pgm" => "with-libpgm"
depends_on "pkg-config" => :build
depends_on "libpgm" => :optional
depends_on "libsodium" => :optional
def install
ENV.universal_binary if build.universal?
args = ["--disable-dependency-tracking", "--prefix=#{prefix}"]
if build.with? "libpgm"
# Use HB libpgm-5.2 because their internal 5.1 is b0rked.
ENV['OpenPGM_CFLAGS'] = %x[pkg-config --cflags openpgm-5.2].chomp
ENV['OpenPGM_LIBS'] = %x[pkg-config --libs openpgm-5.2].chomp
args << "--with-system-pgm"
end
args << "--with-libsodium" if build.with? "libsodium"
system "./autogen.sh" if build.head?
system "./configure", *args
system "make"
system "make", "install"
end
test do
(testpath/"test.c").write <<-EOS.undent
#include <assert.h>
#include <zmq.h>
int main()
{
zmq_msg_t query;
assert(0 == zmq_msg_init_size(&query, 1));
return 0;
}
EOS
system ENV.cc, "test.c", "-L#{lib}", "-lzmq", "-o", "test"
system "./test"
end
end