homebrew-core/Formula/rtorrent.rb
Misty De Meo 8a948dabf3 libtorrent, rtorrent: build using libstdc++
This requires a private libsigc++, since that library is too widely
used to always build using libstdc++. Hopefully this is only a temporary
solution.

Fixes Homebrew/homebrew#23483.
2013-11-23 14:38:39 -08:00

50 lines
1.9 KiB
Ruby

require 'formula'
class Rtorrent < Formula
homepage 'http://libtorrent.rakshasa.no/'
url 'http://libtorrent.rakshasa.no/downloads/rtorrent-0.9.3.tar.gz'
sha256 '9e93ca41beb1afe74ad7ad8013e0d53ae3586c9b0e97263d722f721535cc7310'
depends_on 'pkg-config' => :build
depends_on 'xz' => :build # for libsigc++
depends_on 'libtorrent'
depends_on 'xmlrpc-c' => :optional
# rtorrent gets a private libsigc++ because libtorrent can only build
# under libstdc++, but libsigc++ is too widely used for us to force it
# to use libstdc++ globally.
# This should be removed once libtorrent is fixed to work under libstdc++.
# See https://github.com/mxcl/homebrew/issues/23483
resource 'libsigcxx' do
url 'http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.3/libsigc++-2.3.1.tar.xz'
sha256 '67d05852b31fdb267c9fdcecd40b046a11aa54d884435e99e3c60dd20cd60393'
end
def install
ENV.libstdcxx if ENV.compiler == :clang
resource('libsigcxx').stage do
system "./configure", "--prefix=#{libexec}/libsigcxx", "--disable-dependency-tracking"
system "make"
system "make check"
system "make install"
end
# Skip pkg-config, which was having trouble looking into rtorrent's libexec
ENV['sigc_CFLAGS'] = "-I#{libexec}/libsigcxx/include/sigc++-2.0 \
-I#{libexec}/libsigcxx/lib/sigc++-2.0/include"
ENV['sigc_LIBS'] = "-L#{libexec}/libsigcxx/lib -lsigc-2.0"
args = ["--disable-debug", "--disable-dependency-tracking", "--prefix=#{prefix}"]
args << "--with-xmlrpc-c" if build.with? "xmlrpc-c"
if MacOS.version <= :leopard
inreplace 'configure' do |s|
s.gsub! ' pkg_cv_libcurl_LIBS=`$PKG_CONFIG --libs "libcurl >= 7.15.4" 2>/dev/null`',
' pkg_cv_libcurl_LIBS=`$PKG_CONFIG --libs "libcurl >= 7.15.4" | sed -e "s/-arch [^-]*/-arch $(uname -m) /" 2>/dev/null`'
end
end
system "./configure", *args
system "make"
system "make install"
end
end