$OpenBSD: patch-libxmlsec_openbsd_patch,v 1.2 2014/10/10 17:13:10 robert Exp $
--- libxmlsec/openbsd.patch.orig.port	Sat Sep 13 15:03:00 2014
+++ libxmlsec/openbsd.patch	Sat Sep 13 15:03:00 2014
@@ -0,0 +1,158 @@
+--- misc/xmlsec1-1.2.14/configure.in	2009-09-29 15:55:33.282288142 +0200
++++ misc/build/xmlsec1-1.2.14/configure.in	2009-09-29 15:49:39.614223428 +0200
+@@ -33,6 +33,8 @@
+ AC_HEADER_STDC
+ 
+ LT_INIT
++dnl force the right implib extension for mingw
++libext=dll.a
+ 
+ dnl
+ dnl Find programs
+@@ -671,7 +671,9 @@
+ 	done
+ 	
+ 	for dir in $ac_nss_lib_dir ; do
+-	    if test -f $dir/libnspr4.so -o -f $dir/libnspr4.dylib ; then
++            case $host_os in
++            cygwin* | mingw* | pw32*)
++    	      if test -f $dir/libnspr4.$libext ; then
+ 		dnl do not add -L/usr/lib because compiler does it anyway
+         	if test "z$dir" = "z/usr/lib" ; then
+             	    NSPR_LIBS="$NSPR_LIBS_LIST"
+@@ -685,6 +687,26 @@
+ 		NSPR_LIBS_FOUND="yes"
+ 		break
+ 	    fi
++              ;;
++
++            *)
++
++              if test -f $dir/libnspr4.so -o -f $dir/libnspr4.dylib ; then
++		dnl do not add -L/usr/lib because compiler does it anyway
++        	if test "z$dir" = "z/usr/lib" ; then
++            	    NSPR_LIBS="$NSPR_LIBS_LIST"
++    		else
++    		    if test "z$with_gnu_ld" = "zyes" ; then
++    			NSPR_LIBS="-Wl,-rpath-link -Wl,$dir -L$dir $NSPR_LIBS_LIST"
++    		    else
++    			NSPR_LIBS="-L$dir $NSPR_LIBS_LIST"
++		    fi
++		fi
++		NSPR_LIBS_FOUND="yes"
++		break
++	    fi
++              ;;
++            esac
+ 	done
+     fi
+ 
+@@ -742,6 +764,25 @@
+         done
+        
+         for dir in $ac_nss_lib_dir ; do
++            case $host_os in
++            cygwin* | mingw* | pw32*)
++    	      if test -f $dir/libnss3.$libext ; then
++        	dnl do not add -L/usr/lib because compiler does it anyway
++    		if test "z$dir" = "z/usr/lib" ; then
++        	    NSS_LIBS="$NSS_LIBS_LIST"
++                else
++            	    if test "z$with_gnu_ld" = "zyes" ; then
++    			NSS_LIBS="-Wl,-rpath-link -Wl,$dir -L$dir $NSS_LIBS_LIST"
++            	    else
++        		NSS_LIBS="-L$dir $NSS_LIBS_LIST"
++		    fi
++		fi
++    		NSS_LIBS_FOUND="yes"
++    		break
++	    fi
++              ;;
++
++            *)
+             if test -f $dir/libnss3.so -o -f $dir/libnss3.dylib ; then
+         	dnl do not add -L/usr/lib because compiler does it anyway
+     		if test "z$dir" = "z/usr/lib" ; then
+@@ -756,6 +797,8 @@
+     		NSS_LIBS_FOUND="yes"
+     		break
+ 	    fi
++              ;;
++            esac
+ 	done
+     fi
+ 
+@@ -926,7 +969,7 @@
+ dnl cannot detect __stdcall functions
+ dnl    AC_CHECK_LIB(crypt32, CertOpenStore, ....
+     LIBS_SAVE="$LIBS"
+-    LIBS="$LIBS -lcrypt32"
++    LIBS="$LIBS ${PSDK_HOME}/lib/crypt32.lib"
+     AC_MSG_CHECKING(for mscrypto libraries)
+     AC_LINK_IFELSE([
+ 	#include <windows.h>
+@@ -943,15 +986,7 @@
+     XMLSEC_NO_MSCRYPTO="0"
+ 
+     MSCRYPTO_CFLAGS="$MSCRYPTO_CFLAGS -DXMLSEC_CRYPTO_MSCRYPTO=1"
+-    case $host in
+-	*-*-mingw*)
+-		dnl since mingw crypt32 library is limited
+-		dnl we use own def-file
+-		MSCRYPTO_LIBS='-Wl,$(srcdir)/mingw-crypt32.def';;
+-	*)
+-		MSCRYPTO_LIBS="-lcrypt32";;
+-    esac
+-
++    MSCRYPTO_LIBS="${PSDK_HOME}/lib/crypt32.lib"
+     dnl first crypto library is default one
+     if test "z$XMLSEC_CRYPTO" = "z" ; then
+ 	XMLSEC_CRYPTO="mscrypto"
+--- misc/xmlsec1-1.2.14/ltmain.sh	2009-06-25 22:53:19.000000000 +0200
++++ misc/build/xmlsec1-1.2.14/ltmain.sh	2009-09-29 15:49:39.628349554 +0200
+@@ -4868,6 +4868,11 @@
+ 	fi
+ 	;;
+ 
++      *.lib)
++	deplibs="$deplibs $arg"
++	continue
++	;;
++
+       *.$libext)
+ 	# An archive.
+ 	deplibs="$deplibs $arg"
+--- misc/xmlsec1-1.2.14/src/nss/keywrapers.c	2009-09-29 15:55:33.430875248 +0200
++++ misc/build/xmlsec1-1.2.14/src/nss/keywrapers.c	2009-09-29 15:49:39.749963247 +0200
+@@ -1126,6 +1126,7 @@
+     NULL,					/* void* reserved1; */
+ };
+ 
++#ifndef __OpenBSD__
+ /**
+  * xmlSecNssTransformKWAes128GetKlass:
+  *
+@@ -1160,6 +1161,7 @@
+ xmlSecNssTransformKWAes256GetKlass(void) {
+     return(&xmlSecNssKWAes256Klass);
+ }
++#endif /* __OpenBSD__ */
+ 
+ #endif /* XMLSEC_NO_AES */
+ 
+@@ -1197,6 +1199,7 @@
+     NULL,					/* void* reserved1; */
+ };
+ 
++#ifndef __OpenBSD__
+ /**
+  * xmlSecNssTransformKWDes3GetKlass:
+  * 
+@@ -1208,6 +1211,7 @@
+ xmlSecNssTransformKWDes3GetKlass(void) {
+     return(&xmlSecNssKWDes3Klass);
+ }
++#endif /* __OpenBSD__ */
+ 
+ #endif /* XMLSEC_NO_DES */
+ 
