homebrew-core/Formula/pdns.rb

110 lines
3.8 KiB
Ruby

require 'formula'
class Pdns < Formula
homepage 'http://wiki.powerdns.com'
url 'http://downloads.powerdns.com/releases/pdns-3.1.tar.gz'
sha256 '1400f7bd659207c0b1f4b8296092e559a7b7bf6a2434951970217d9af06922a1'
option 'pgsql', 'Enable the PostgreSQL backend'
depends_on 'pkg-config' => :build
depends_on 'boost'
depends_on 'lua'
depends_on 'sqlite'
depends_on :postgresql if build.include? 'pgsql'
def patches
# Patches from @justinclift:
# 1 x patch to find correct SQLite path
# 1 x patch (2 parts) to correct LDFLAGS, so PostgreSQL compiles
#
# Upstream patches (will be in next PowerDNS release)
# 1 x patch to support compiling on OSX 10.8
# from http://wiki.powerdns.com/trac/changeset/2708
DATA
end
def install
args = ["--prefix=#{prefix}",
"--with-lua",
"--with-sqlite3",
"--with-sqlite=#{Formula.factory("sqlite").opt_prefix}"]
# Include the PostgreSQL backend if requested
if build.include? "pgsql"
args << "--with-modules=gsqlite3 gpgsql"
else
# SQLite3 backend only is the default
args << "--with-modules=gsqlite3"
end
# Find Homebrew's Lua
lua = Formula.factory("lua")
ENV.append "LUA_CFLAGS", "-I#{lua.include}"
ENV.append "LUA_LIBS", "-L#{lua.lib}"
system "./configure", *args
# Compilation fails at polarssl if we skip straight to make install
system "make"
system "make install"
end
end
__END__
--- pdns-3.1/configure_orig 2012-09-02 06:16:02.000000000 +1000
+++ pdns-3.1/configure 2012-09-02 06:18:16.000000000 +1000
@@ -18398,7 +18398,7 @@
# Check whether --with-sqlite was given.
if test "${with_sqlite+set}" = set; then :
withval=$with_sqlite; SQLITE_lib_check="$withval/lib/sqlite $with_sqlite/lib"
- SQLITE_inc_check="$withval/include/sqlite"
+ SQLITE_inc_check="$withval/include"
else
SQLITE_lib_check="/usr/local/sqlite/lib/sqlite /usr/local/lib/sqlite /opt/pgsql/lib/sqlite /usr/lib/sqlite /usr/local/sqlite/lib /usr/local/lib /opt/sqlite/lib /usr/lib /usr/lib64"
SQLITE_inc_check="/usr/local/sqlite/include/sqlite /usr/local/include/sqlite/ /usr/local/include /opt/sqlite/include/sqlite /opt/sqlite/include /usr/include/ /usr/include/sqlite"
@@ -18723,7 +18723,7 @@
freebsd*)
;;
*)
- modulelibs="$modulelibs -lresolv -lnsl"
+ modulelibs="$modulelibs -lresolv"
;;
esac
fi
--- pdns-3.1/modules/gpgsqlbackend/Makefile.in_orig 2012-09-03 16:17:56.000000000 +1000
+++ pdns-3.1/modules/gpgsqlbackend/Makefile.in 2012-09-03 16:20:32.000000000 +1000
@@ -262,8 +262,7 @@
libgpgsqlbackend_la_SOURCES = gpgsqlbackend.cc gpgsqlbackend.hh \
spgsql.hh spgsql.cc
-libgpgsqlbackend_la_LDFLAGS = -module -avoid-version @PGSQL_lib@ -Wl,-Bstatic -lpq \
- -Wl,-Bdynamic
+libgpgsqlbackend_la_LDFLAGS = -module -avoid-version @PGSQL_lib@ -lpq
libgpgsqlbackend_la_LIBADD = -lssl @LIBCRYPT@ -lcrypto
all: all-am
--- pdns-3.1/pdns/cachecleaner.hh_orig 2012-09-11 18:01:49.000000000 +1000
+++ pdns-3.1/pdns/cachecleaner.hh 2012-09-11 18:03:17.000000000 +1000
@@ -18,7 +18,7 @@
// cout<<"Need to trim "<<toTrim<<" from cache to meet target!\n";
typedef typename T::template nth_index<1>::type sequence_t;
- sequence_t& sidx=collection.get<1>();
+ sequence_t& sidx=collection.template get<1>();
unsigned int tried=0, lookAt, erased=0;
@@ -62,8 +62,8 @@
template <typename T> void moveCacheItemToFrontOrBack(T& collection, typename T::iterator& iter, bool front)
{
typedef typename T::template nth_index<1>::type sequence_t;
- sequence_t& sidx=collection.get<1>();
- typename sequence_t::iterator si=collection.project<1>(iter);
+ sequence_t& sidx=collection.template get<1>();
+ typename sequence_t::iterator si=collection.template project<1>(iter);
if(front)
sidx.relocate(sidx.begin(), si); // at the beginning of the delete queue
else