homebrew-core/Formula/vsftpd.rb
Andrew J. Erickson ae82cb9723 vsftpd: allow building with openssl via option
Closes Homebrew/homebrew#8476.

Signed-off-by: Charlie Sharpsteen <source@sharpsteen.net>
2011-11-10 11:21:23 -08:00

71 lines
1.9 KiB
Ruby

require 'formula'
class Vsftpd < Formula
url 'https://security.appspot.com/downloads/vsftpd-2.3.4.tar.gz'
md5 '2ea5d19978710527bb7444d93b67767a'
homepage 'https://security.appspot.com/vsftpd.html'
def options
[
["--openssl", "build with OpenSSL"],
]
end
# Patch so vsftpd doesn't depend on UTMPX, and can't find OS X's PAM library.
def patches; DATA; end
def install
if ARGV.include? "--openssl"
inreplace "builddefs.h", "#undef VSF_BUILD_SSL", "#define VSF_BUILD_SSL"
end
inreplace "defs.h", "/etc/vsftpd.conf", "#{etc}/vsftpd.conf"
inreplace "tunables.c", "/etc", etc
inreplace "tunables.c", "/var", var
system "make"
# make install has all the paths hardcoded; this is easier:
sbin.install "vsftpd"
man5.install "vsftpd.conf.5"
man8.install "vsftpd.8"
end
def caveats
if ARGV.include? "--openssl"
return <<-EOD.undent
vsftpd was compiled with SSL support. To use it you must generate a SSL
certificate and set 'enable_ssl=YES' in your config file.
EOD
end
end
end
__END__
diff --git a/sysdeputil.c b/sysdeputil.c
index 9dc8a5e..66dbe30 100644
--- a/sysdeputil.c
+++ b/sysdeputil.c
@@ -64,6 +64,10 @@
#include <utmpx.h>
/* BEGIN config */
+#if defined(__APPLE__)
+ #undef VSF_SYSDEP_HAVE_UTMPX
+#endif
+
#if defined(__linux__)
#include <errno.h>
#include <syscall.h>
diff --git a/vsf_findlibs.sh b/vsf_findlibs.sh
index b988be6..68d4a34 100755
--- a/vsf_findlibs.sh
+++ b/vsf_findlibs.sh
@@ -20,6 +20,8 @@ if find_func pam_start sysdeputil.o; then
locate_library /usr/lib/libpam.sl && echo "-lpam";
# AIX ends shared libraries with .a
locate_library /usr/lib/libpam.a && echo "-lpam";
+ # Mac OS X / Darwin shared libraries with .dylib
+ locate_library /usr/lib/libpam.dylib && echo "-lpam";
else
locate_library /lib/libcrypt.so && echo "-lcrypt";
locate_library /usr/lib/libcrypt.so && echo "-lcrypt";