File bareftp-dotnet4.patch of Package bareftp

Index: bareftp-0.3.10/configure.ac
===================================================================
--- bareftp-0.3.10.orig/configure.ac
+++ bareftp-0.3.10/configure.ac
@@ -58,11 +58,11 @@ SHAMROCK_EXPAND_LIBEXECDIR
 dnl Check Mono
 dnl SHAMROCK_CHECK_MONO_MODULE(1.1.10)
 
-SHAMROCK_FIND_MONO_2_0_COMPILER   
+SHAMROCK_FIND_MONO_4_0_COMPILER   
 SHAMROCK_FIND_MONO_RUNTIME
 
 dnl Check for assemblies
-SHAMROCK_CHECK_MONO_2_0_GAC_ASSEMBLIES([        
+SHAMROCK_CHECK_MONO_4_0_GAC_ASSEMBLIES([        
  	System.Web
  	Mono.Posix
 ])
Index: bareftp-0.3.10/m4/shamrock/mono.m4
===================================================================
--- bareftp-0.3.10.orig/m4/shamrock/mono.m4
+++ bareftp-0.3.10/m4/shamrock/mono.m4
@@ -8,41 +8,87 @@ AC_DEFUN([SHAMROCK_FIND_MONO_2_0_COMPILE
 	SHAMROCK_FIND_PROGRAM_OR_BAIL(MCS, gmcs)
 ])
 
+AC_DEFUN([SHAMROCK_FIND_MONO_4_0_COMPILER],
+[
+	SHAMROCK_FIND_PROGRAM_OR_BAIL(MCS, dmcs)
+])
+
 AC_DEFUN([SHAMROCK_FIND_MONO_RUNTIME],
 [
 	SHAMROCK_FIND_PROGRAM_OR_BAIL(MONO, mono)
 ])
 
+AC_DEFUN([_SHAMROCK_CHECK_MONO_MODULE],
+[
+	PKG_CHECK_MODULES(MONO_MODULE, $1 >= $2)
+])
+
 AC_DEFUN([SHAMROCK_CHECK_MONO_MODULE],
 [
-	PKG_CHECK_MODULES(MONO_MODULE, mono >= $1)
+	_SHAMROCK_CHECK_MONO_MODULE(mono, $1)
+])
+
+AC_DEFUN([SHAMROCK_CHECK_MONO2_MODULE],
+[
+	_SHAMROCK_CHECK_MONO_MODULE(mono-2, $1)
+])
+
+AC_DEFUN([_SHAMROCK_CHECK_MONO_MODULE_NOBAIL],
+[
+	PKG_CHECK_MODULES(MONO_MODULE, $2 >= $1,
+		HAVE_MONO_MODULE=yes, HAVE_MONO_MODULE=no)
+	AC_SUBST(HAVE_MONO_MODULE)
+])
+
+AC_DEFUN([SHAMROCK_CHECK_MONO_MODULE_NOBAIL],
+[
+	_SHAMROCK_CHECK_MONO_MODULE_NOBAIL(mono, $1)
+])
+
+AC_DEFUN([SHAMROCK_CHECK_MONO2_MODULE_NOBAIL],
+[
+	_SHAMROCK_CHECK_MONO_MODULE_NOBAIL(mono-2, $1)
 ])
 
 AC_DEFUN([_SHAMROCK_CHECK_MONO_GAC_ASSEMBLIES],
 [
-	for asm in $(echo "$*" | cut -d, -f2- | sed 's/\,/ /g')
+	for asm in $(echo "$*" | cut -d, -f3- | sed 's/\,/ /g')
 	do
-		AC_MSG_CHECKING([for Mono $1 GAC for $asm.dll])
+		AC_MSG_CHECKING([for Mono $2 GAC for $asm.dll])
 		if test \
-			-e "$($PKG_CONFIG --variable=libdir mono)/mono/$1/$asm.dll" -o \
-			-e "$($PKG_CONFIG --variable=prefix mono)/lib/mono/$1/$asm.dll"; \
+			-e "$($PKG_CONFIG --variable=libdir $1)/mono/$2/$asm.dll" -o \
+			-e "$($PKG_CONFIG --variable=prefix $1)/lib/mono/$2/$asm.dll"; \
 			then \
 			AC_MSG_RESULT([found])
 		else
 			AC_MSG_RESULT([not found])
-			AC_MSG_ERROR([missing reqired Mono $1 assembly: $asm.dll])
+			AC_MSG_ERROR([missing required Mono $2 assembly: $asm.dll])
 		fi
 	done
 ])
 
 AC_DEFUN([SHAMROCK_CHECK_MONO_1_0_GAC_ASSEMBLIES],
 [
-	_SHAMROCK_CHECK_MONO_GAC_ASSEMBLIES(1.0, $*)
+	_SHAMROCK_CHECK_MONO_GAC_ASSEMBLIES(mono, 1.0, $*)
 ])
 
 AC_DEFUN([SHAMROCK_CHECK_MONO_2_0_GAC_ASSEMBLIES],
 [
-	_SHAMROCK_CHECK_MONO_GAC_ASSEMBLIES(2.0, $*)
+	_SHAMROCK_CHECK_MONO_GAC_ASSEMBLIES(mono, 2.0, $*)
 ])
 
+AC_DEFUN([SHAMROCK_CHECK_MONO2_2_0_GAC_ASSEMBLIES],
+[
+	_SHAMROCK_CHECK_MONO_GAC_ASSEMBLIES(mono-2, 2.0, $*)
+])
+
+AC_DEFUN([SHAMROCK_CHECK_MONO_4_0_GAC_ASSEMBLIES],
+[
+	_SHAMROCK_CHECK_MONO_GAC_ASSEMBLIES(mono, 4.0, $*)
+])
+
+AC_DEFUN([SHAMROCK_CHECK_MONO2_4_0_GAC_ASSEMBLIES],
+[
+	_SHAMROCK_CHECK_MONO_GAC_ASSEMBLIES(mono-2, 4.0, $*)
+])