Skip to content

Instantly share code, notes, and snippets.

@hanleybrand
Created July 21, 2016 17:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save hanleybrand/dfb7b9004aae250fabd01cd2466251c4 to your computer and use it in GitHub Desktop.
Save hanleybrand/dfb7b9004aae250fabd01cd2466251c4 to your computer and use it in GitHub Desktop.
A modified version of the homebrew freetds formula with support added for gnutls as an alternative (?) to openssl -- *? using the `--with-gnutls` switch seems to disable openssl support
class Freetds < Formula
desc "Libraries to talk to Microsoft SQL Server and Sybase databases"
homepage "http://www.freetds.org/"
url "ftp://ftp.freetds.org/pub/freetds/stable/freetds-1.00.9.tar.bz2"
mirror "https://fossies.org/linux/privat/freetds-1.00.9.tar.bz2"
sha256 "3a91ce6321ac3c951281ce908f3eae40a0b6d1101b3322cac0602f62c006cb6c"
bottle do
sha256 "934404b4fbc59469df94f6ed71887fc75a7c69556c64cad024d478be3de85e7c" => :el_capitan
sha256 "b753cb2b0a6e4a09f27e2852cc60bfc8ee90c5e5e48c5c466ae87df6190bcb57" => :yosemite
sha256 "ba3bf56066734fab273678717176ee5b8dc4d98883e1a962f51b8e13d0a145ab" => :mavericks
end
head do
url "https://github.com/FreeTDS/freetds.git"
depends_on "autoconf" => :build
depends_on "automake" => :build
depends_on "gettext" => :build
depends_on "libtool" => :build
end
option :universal
option "with-gnutls", "Enable SSL using GnuTLS. Use version 1.2.3 or newer."
option "with-msdblib", "Enable Microsoft behavior in the DB-Library API where it diverges from Sybase's"
option "with-sybase-compat", "Enable close compatibility with Sybase's ABI, at the expense of other features"
option "with-odbc-wide", "Enable odbc wide, prevent unicode - MemoryError's"
option "with-krb5", "Enable Kerberos support"
deprecated_option "enable-msdblib" => "with-msdblib"
deprecated_option "enable-sybase-compat" => "with-sybase-compat"
deprecated_option "enable-odbc-wide" => "with-odbc-wide"
deprecated_option "enable-krb" => "with-krb5"
depends_on "pkg-config" => :build
depends_on "unixodbc" => :optional
depends_on "gnutls" => :optional
depends_on "openssl" => :recommended
def install
args = %W[
--prefix=#{prefix}
--with-tdsver=7.3
--mandir=#{man}
]
if build.with? "gnutls"
args << "--with-gnutls"
end
if build.with? "openssl"
args << "--with-openssl=#{Formula["openssl"].opt_prefix}"
end
if build.with? "unixodbc"
args << "--with-unixodbc=#{Formula["unixodbc"].opt_prefix}"
end
# Translate formula's "--with" options to configuration script's "--enable"
# options
%w[msdblib sybase-compat odbc-wide krb5].each do |option|
if build.with? option
args << "--enable-#{option}"
end
end
ENV.universal_binary if build.universal?
if build.head?
system "./autogen.sh", *args
else
system "./configure", *args
end
system "make"
ENV.j1 # Or fails to install on multi-core machines
system "make", "install"
end
test do
system "#{bin}/tsql", "-C"
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment