--- ./source3/wscript_build.orig	2012-12-11 17:10:13.000000000 +0000
+++ ./source3/wscript_build	2013-02-05 04:25:57.199878484 +0000
@@ -1,7 +1,8 @@
 #!/usr/bin/env python
 
 from samba_utils import *
-import samba_version, samba3
+import samba_version, samba3, sys
+host_os = sys.platform
 
 TDB_LIB_SRC = '''
 	  lib/dbwrap/dbwrap_open.c
@@ -651,7 +652,16 @@
                     vnum='0',
                     vars=locals())
 
-bld.SAMBA3_LIBRARY('nss_wins',
+if (host_os.rfind('freebsd') > -1):
+        # FreeBSD winbind client is implemented as a wrapper around
+        # the Linux version.
+        bld.SAMBA3_LIBRARY('nss_wins',
+                  source=' '.join([WINBIND_WINS_NSS_SRC, '../nsswitch/wins_freebsd.c']),
+                  deps='''param libsmb LIBTSOCKET''',
+                  realname='nss_wins.so.1',
+                  vnum='1')
+else:
+        bld.SAMBA3_LIBRARY('nss_wins',
                   source=WINBIND_WINS_NSS_SRC,
                   deps='''param libsmb LIBTSOCKET''',
                   realname='libnss_wins.so.2',
@@ -972,10 +982,11 @@
                     LIBAFS_SETTOKEN
                     RPC_SERVER
                     NDR_SMBXSRV
-		    LIBASYS
+                    LIBASYS
                     ccan-hash
                     NDR_SMB_ACL
                     netapi
+                    inotify
                     ''' + bld.env['dmapi_lib'],
                     private_library=True,
                     vars=locals())
@@ -1629,7 +1640,7 @@
 
 bld.SAMBA3_PYTHON('pylibsmb',
                   source='libsmb/pylibsmb.c',
-                  deps='smbclient samba-credentials',
+                  deps='smbclient samba-credentials libsmb errors',
                   realname='samba/samba3/libsmb_samba_internal.so'
                   )
 
