aboutsummaryrefslogtreecommitdiffstats
path: root/Library/Formula
diff options
context:
space:
mode:
authorLuke Chadwick2011-08-22 11:31:25 +1000
committerAdam Vandenberg2012-06-10 09:05:46 -0700
commit6d15b196ea5a9470bae4a3c1acdef296e01141d4 (patch)
tree8faca9e38296c23b80035dde45bce96c43bc5394 /Library/Formula
parentf6d281ec31a2bd3026d8c8b0d5707f51fba8d6fa (diff)
downloadhomebrew-6d15b196ea5a9470bae4a3c1acdef296e01141d4.tar.bz2
samba 3.6.5
Signed-off-by: Adam Vandenberg <flangy@gmail.com>
Diffstat (limited to 'Library/Formula')
-rw-r--r--Library/Formula/samba.rb47
1 files changed, 47 insertions, 0 deletions
diff --git a/Library/Formula/samba.rb b/Library/Formula/samba.rb
new file mode 100644
index 000000000..7319b63df
--- /dev/null
+++ b/Library/Formula/samba.rb
@@ -0,0 +1,47 @@
+require 'formula'
+
+class Samba < Formula
+ homepage 'http://samba.org/'
+ url 'http://samba.org/samba/ftp/stable/samba-3.6.5.tar.gz'
+ sha1 'e41611c95b2bb91c7735928742b8aff4fc0da76e'
+
+ # Fixes the Grouplimit of 16 users os OS X.
+ # Bug has been raised upstream:
+ # https://bugzilla.samba.org/show_bug.cgi?id=8773
+ def patches
+ DATA
+ end
+
+ def install
+ cd 'source3' do
+ system "./autogen.sh"
+ system "./configure", "--disable-debug",
+ "--disable-dependency-tracking",
+ "--prefix=#{prefix}",
+ "--with-configdir=#{prefix}/etc"
+ system "make install"
+ (prefix+'etc').mkpath
+ system "touch", "#{prefix}/etc/smb.conf"
+ end
+ end
+end
+
+__END__
+--- a/source3/lib/system.c 2012-02-22 22:46:14.000000000 -0200
++++ b/source3/lib/system.c 2012-02-22 22:47:51.000000000 -0200
+@@ -1161,7 +1161,14 @@
+
+ int groups_max(void)
+ {
+-#if defined(SYSCONF_SC_NGROUPS_MAX)
++#if defined(DARWINOS)
++ /* On OS X, sysconf(_SC_NGROUPS_MAX) returns 16
++ * due to OS X's group nesting and getgrouplist
++ * will return a flat list; users can exceed the
++ * maximum of 16 groups. And easily will.
++ */
++ return 32; // NGROUPS_MAX is defined, hence the define above is void.
++#elif defined(SYSCONF_SC_NGROUPS_MAX)
+ int ret = sysconf(_SC_NGROUPS_MAX);
+ return (ret == -1) ? NGROUPS_MAX : ret;
+ #else