summaryrefslogtreecommitdiff
path: root/databases/virtuoso/patches
diff options
context:
space:
mode:
authorjaapb <jaapb>2013-04-13 13:16:02 +0000
committerjaapb <jaapb>2013-04-13 13:16:02 +0000
commitace895d76cf4f0aba5120b1b2ff211b0cac8fe8d (patch)
treef7d3106eee41e25e50aaead87258594fddbdc0a2 /databases/virtuoso/patches
parent18b0741f91a63ae7277d9da8ec546a2d74077148 (diff)
downloadpkgsrc-ace895d76cf4f0aba5120b1b2ff211b0cac8fe8d.tar.gz
Added the virtuoso server, version 6.1.6.
Virtuoso is a multi-model data server that delivers a platform-agnostic solution for data management, access and integration. Services offered include: * relational data management * RDF data management * XML data management * free text content management & full text indexing * document web server * linked data server * web application server * web services deployment (SOAP or REST)
Diffstat (limited to 'databases/virtuoso/patches')
-rw-r--r--databases/virtuoso/patches/patch-binsrc_b3s_make_vad.sh14
-rw-r--r--databases/virtuoso/patches/patch-binsrc_samples_demo_make_vad.sh13
-rw-r--r--databases/virtuoso/patches/patch-binsrc_samples_demo_mkdoc.sh21
-rw-r--r--databases/virtuoso/patches/patch-binsrc_tests_Makefile.in30
-rw-r--r--databases/virtuoso/patches/patch-binsrc_tests_biftest_thook.sh15
-rw-r--r--databases/virtuoso/patches/patch-binsrc_tutorial_make_vad.sh14
-rw-r--r--databases/virtuoso/patches/patch-configure29
-rw-r--r--databases/virtuoso/patches/patch-libsrc_Dk_Dksystem.h14
-rw-r--r--databases/virtuoso/patches/patch-libsrc_Thread_sched_pthread.c32
-rw-r--r--databases/virtuoso/patches/patch-libsrc_Wi_bif_file.c14
-rw-r--r--databases/virtuoso/patches/patch-libsrc_Wi_numeric.c14
-rw-r--r--databases/virtuoso/patches/patch-libsrc_Wi_xml.h22
-rw-r--r--databases/virtuoso/patches/patch-libsrc_Wi_xmlenc.c190
-rw-r--r--databases/virtuoso/patches/patch-libsrc_Wi_xmlenc.h29
-rw-r--r--databases/virtuoso/patches/patch-libsrc_Wi_xmlenc_algos.c128
-rw-r--r--databases/virtuoso/patches/patch-libsrc_plugin_dlf.h14
16 files changed, 593 insertions, 0 deletions
diff --git a/databases/virtuoso/patches/patch-binsrc_b3s_make_vad.sh b/databases/virtuoso/patches/patch-binsrc_b3s_make_vad.sh
new file mode 100644
index 00000000000..35be2e75541
--- /dev/null
+++ b/databases/virtuoso/patches/patch-binsrc_b3s_make_vad.sh
@@ -0,0 +1,14 @@
+$NetBSD: patch-binsrc_b3s_make_vad.sh,v 1.1 2013/04/13 13:16:02 jaapb Exp $
+
+Remove Makefiles from VAD content to eliminate buildlink references
+--- binsrc/b3s/make_vad.sh.orig 2012-03-23 12:28:24.000000000 +0000
++++ binsrc/b3s/make_vad.sh
+@@ -198,6 +198,8 @@ directory_init() {
+
+ cat srank.sql | sed -e "s/, index rdf_quad_opgs//g" > vad/code/fct/srank_1.sql
+
++ find vad -name Makefile\* -exec rm -f \{\} \;
++
+ }
+
+ virtuoso_start() {
diff --git a/databases/virtuoso/patches/patch-binsrc_samples_demo_make_vad.sh b/databases/virtuoso/patches/patch-binsrc_samples_demo_make_vad.sh
new file mode 100644
index 00000000000..0db6a2de5a8
--- /dev/null
+++ b/databases/virtuoso/patches/patch-binsrc_samples_demo_make_vad.sh
@@ -0,0 +1,13 @@
+$NetBSD: patch-binsrc_samples_demo_make_vad.sh,v 1.1 2013/04/13 13:16:02 jaapb Exp $
+
+Remove Makefiles from VAD content to eliminate buildlink references
+--- binsrc/samples/demo/make_vad.sh.orig 2012-08-01 20:54:30.000000000 +0000
++++ binsrc/samples/demo/make_vad.sh
+@@ -340,6 +340,7 @@ directory_init() {
+ cp -f $HOME/binsrc/samples/webapp/forums/func_vad.sql vad/data/demo/sql
+
+ cp -f check_demo.sql vad/data/demo/sql
++ find vad -name Makefile\* -exec rm -f \{\} \;
+ }
+
+ virtuoso_shutdown() {
diff --git a/databases/virtuoso/patches/patch-binsrc_samples_demo_mkdoc.sh b/databases/virtuoso/patches/patch-binsrc_samples_demo_mkdoc.sh
new file mode 100644
index 00000000000..0b691982417
--- /dev/null
+++ b/databases/virtuoso/patches/patch-binsrc_samples_demo_mkdoc.sh
@@ -0,0 +1,21 @@
+$NetBSD: patch-binsrc_samples_demo_mkdoc.sh,v 1.1 2013/04/13 13:16:02 jaapb Exp $
+
+Remove Makefiles from VAD content to eliminate buildlink references
+--- binsrc/samples/demo/mkdoc.sh.orig 2012-08-01 20:54:30.000000000 +0000
++++ binsrc/samples/demo/mkdoc.sh
+@@ -338,6 +338,7 @@ LOG "Directory init..."
+ # $CP docsrc/html_virt/*.ico vad/data/doc/html/.
+ # $CP docsrc/html_virt/*.rdf vad/data/doc/html/.
+ $CP -R docsrc/html_virt vad/data/doc/html
++
+ $CP docsrc/html_virt/*.css vad/data/doc/.
+
+ $CP docsrc/images/*.jpg vad/data/doc/images/.
+@@ -366,6 +367,7 @@ LOG "Directory init..."
+ cp drop.sql vad/data/doc/code/.
+ cp doc_sql_rdf.sql vad/data/doc/code/.
+ #cp -f $HOME/binsrc/dav/DET_RDFData.sql vad/data/doc/code/.
++ find vad -name Makefile\* -exec rm -f \{\} \;
+ }
+
+ sticker_init() {
diff --git a/databases/virtuoso/patches/patch-binsrc_tests_Makefile.in b/databases/virtuoso/patches/patch-binsrc_tests_Makefile.in
new file mode 100644
index 00000000000..0f54042e96a
--- /dev/null
+++ b/databases/virtuoso/patches/patch-binsrc_tests_Makefile.in
@@ -0,0 +1,30 @@
+$NetBSD: patch-binsrc_tests_Makefile.in,v 1.1 2013/04/13 13:16:02 jaapb Exp $
+
+Remove conflict in installation of isql and isqlw
+--- binsrc/tests/Makefile.in.orig 2012-08-01 22:04:11.000000000 +0000
++++ binsrc/tests/Makefile.in
+@@ -54,7 +54,7 @@ PRE_UNINSTALL = :
+ POST_UNINSTALL = :
+ build_triplet = @build@
+ host_triplet = @host@
+-bin_PROGRAMS = isql$(EXEEXT) isqlw$(EXEEXT) inifile$(EXEEXT) \
++bin_PROGRAMS = isql-vt$(EXEEXT) isqlw-vt$(EXEEXT) inifile$(EXEEXT) \
+ $(am__EXEEXT_1)
+ noinst_PROGRAMS = M2$(EXEEXT) paramstats$(EXEEXT) ins$(EXEEXT) \
+ blobs$(EXEEXT) blobs2$(EXEEXT) blobnulls$(EXEEXT) \
+@@ -712,13 +712,13 @@ ins$(EXEEXT): $(ins_OBJECTS) $(ins_DEPEN
+ ins-iodbc$(EXEEXT): $(ins_iodbc_OBJECTS) $(ins_iodbc_DEPENDENCIES)
+ @rm -f ins-iodbc$(EXEEXT)
+ $(ins_iodbc_LINK) $(ins_iodbc_OBJECTS) $(ins_iodbc_LDADD) $(LIBS)
+-isql$(EXEEXT): $(isql_OBJECTS) $(isql_DEPENDENCIES)
++isql-vt$(EXEEXT): $(isql_OBJECTS) $(isql_DEPENDENCIES)
+ @rm -f isql$(EXEEXT)
+ $(isql_LINK) $(isql_OBJECTS) $(isql_LDADD) $(LIBS)
+ isql-iodbc$(EXEEXT): $(isql_iodbc_OBJECTS) $(isql_iodbc_DEPENDENCIES)
+ @rm -f isql-iodbc$(EXEEXT)
+ $(isql_iodbc_LINK) $(isql_iodbc_OBJECTS) $(isql_iodbc_LDADD) $(LIBS)
+-isqlw$(EXEEXT): $(isqlw_OBJECTS) $(isqlw_DEPENDENCIES)
++isqlw-vt$(EXEEXT): $(isqlw_OBJECTS) $(isqlw_DEPENDENCIES)
+ @rm -f isqlw$(EXEEXT)
+ $(isqlw_LINK) $(isqlw_OBJECTS) $(isqlw_LDADD) $(LIBS)
+ isqlw-iodbc$(EXEEXT): $(isqlw_iodbc_OBJECTS) $(isqlw_iodbc_DEPENDENCIES)
diff --git a/databases/virtuoso/patches/patch-binsrc_tests_biftest_thook.sh b/databases/virtuoso/patches/patch-binsrc_tests_biftest_thook.sh
new file mode 100644
index 00000000000..4983a139c31
--- /dev/null
+++ b/databases/virtuoso/patches/patch-binsrc_tests_biftest_thook.sh
@@ -0,0 +1,15 @@
+$NetBSD: patch-binsrc_tests_biftest_thook.sh,v 1.1 2013/04/13 13:16:02 jaapb Exp $
+
+Refer to correct instance of isql
+--- binsrc/tests/biftest/thook.sh.orig 2012-03-23 12:28:25.000000000 +0000
++++ binsrc/tests/biftest/thook.sh
+@@ -22,7 +22,8 @@
+ #
+
+ OUTPUT=thook.output
+-ISQL=../isql
++ISQL=${ISQL-isql}
++ISQL=../${ISQL}
+ TIMEOUT=1000
+ HOST_OS=`uname -s | grep WIN`
+ SERVER=./virtuoso-iodbc-sample-t
diff --git a/databases/virtuoso/patches/patch-binsrc_tutorial_make_vad.sh b/databases/virtuoso/patches/patch-binsrc_tutorial_make_vad.sh
new file mode 100644
index 00000000000..2726598076b
--- /dev/null
+++ b/databases/virtuoso/patches/patch-binsrc_tutorial_make_vad.sh
@@ -0,0 +1,14 @@
+$NetBSD: patch-binsrc_tutorial_make_vad.sh,v 1.1 2013/04/13 13:16:02 jaapb Exp $
+
+Remove Makefiles from VAD content to eliminate buildlink references
+--- binsrc/tutorial/make_vad.sh.orig 2012-08-01 20:54:31.000000000 +0000
++++ binsrc/tutorial/make_vad.sh
+@@ -304,7 +304,7 @@ directory_init() {
+ done
+
+ cd $LOGDIR
+-
++ find vad_files -name Makefile\* -exec rm -f \{\} \;
+ }
+
+ virtuoso_shutdown() {
diff --git a/databases/virtuoso/patches/patch-configure b/databases/virtuoso/patches/patch-configure
new file mode 100644
index 00000000000..e2e2cff6478
--- /dev/null
+++ b/databases/virtuoso/patches/patch-configure
@@ -0,0 +1,29 @@
+$NetBSD: patch-configure,v 1.1 2013/04/13 13:16:02 jaapb Exp $
+
+Use more apposite directory layout for pkgsrc
+--- configure.orig 2012-08-01 22:04:18.000000000 +0000
++++ configure
+@@ -2894,6 +2894,23 @@ case ${VIRTUOSO_LAYOUT} in
+ hostingdir=$libdir/virtuoso/hosting
+ ;;
+
++ [Pp][Kk][Gg][Ss][Rr][Cc]) # pkgsrc
++ virtuoso_layout=pkgsrc
++ if test "x$prefix" = "xNONE"
++ then
++ prefix=/usr/pkg
++ localstatedir=/usr/pkg
++ fi
++ vaddir=$datadir/virtuoso/vad
++ docdir=$datadir/virtuoso/doc
++ htmldocdir=$datadir/virtuoso/doc/html
++ pdfdocdir=$datadir/virtuoso/doc/pdf
++ demodir=$localstatedir/share/virtuoso/demo
++ dbdir=$localstatedir/share/virtuoso/db
++ httprootdir=$localstatedir/share/virtuoso/vsp
++ hostingdir=$libdir/virtuoso/hosting
++ ;;
++
+ [Oo][Pp][Tt]) # /opt
+ virtuoso_layout=opt
+ test "x$prefix" = xNONE && prefix=/opt/virtuoso-opensource
diff --git a/databases/virtuoso/patches/patch-libsrc_Dk_Dksystem.h b/databases/virtuoso/patches/patch-libsrc_Dk_Dksystem.h
new file mode 100644
index 00000000000..aab37da0a12
--- /dev/null
+++ b/databases/virtuoso/patches/patch-libsrc_Dk_Dksystem.h
@@ -0,0 +1,14 @@
+$NetBSD: patch-libsrc_Dk_Dksystem.h,v 1.1 2013/04/13 13:16:02 jaapb Exp $
+
+errno exists in NetBSD as well
+--- libsrc/Dk/Dksystem.h.orig 2012-03-23 12:28:31.000000000 +0000
++++ libsrc/Dk/Dksystem.h
+@@ -141,7 +141,7 @@ void free ();
+ #endif
+
+ #include <errno.h>
+-#if !defined(linux) && !defined(__APPLE__) && !defined (WIN32) && !defined (__CYGWIN__) && !defined(__FreeBSD__) && !defined (__cplusplus)
++#if !defined(linux) && !defined(__APPLE__) && !defined (WIN32) && !defined (__CYGWIN__) && !defined(__FreeBSD__) && !defined(__NetBSD__) && !defined (__cplusplus)
+ extern char *sys_errlist[];
+ extern int sys_nerr;
+ #endif
diff --git a/databases/virtuoso/patches/patch-libsrc_Thread_sched_pthread.c b/databases/virtuoso/patches/patch-libsrc_Thread_sched_pthread.c
new file mode 100644
index 00000000000..9f0f8c60b9b
--- /dev/null
+++ b/databases/virtuoso/patches/patch-libsrc_Thread_sched_pthread.c
@@ -0,0 +1,32 @@
+$NetBSD: patch-libsrc_Thread_sched_pthread.c,v 1.1 2013/04/13 13:16:02 jaapb Exp $
+
+NetBSD does not have this (optional) pthread function, ignore it
+--- libsrc/Thread/sched_pthread.c.orig 2012-08-01 20:54:31.000000000 +0000
++++ libsrc/Thread/sched_pthread.c
+@@ -206,7 +206,7 @@ thread_initial (unsigned long stack_size
+ CKRET (rc);
+ #endif
+
+-#if defined (PTHREAD_PROCESS_PRIVATE) && !defined(oldlinux) && !defined(__FreeBSD__)
++#if defined (PTHREAD_PROCESS_PRIVATE) && !defined(oldlinux) && !defined(__FreeBSD__) && !defined(__NetBSD__)
+ rc = pthread_mutexattr_setpshared (&_mutex_attr, PTHREAD_PROCESS_PRIVATE);
+ CKRET (rc);
+ #endif
+@@ -1075,7 +1075,7 @@ mutex_allocate_typed (int type)
+ if (!is_initialized)
+ {
+ pthread_mutexattr_init (&_mutex_attr);
+-#if defined (PTHREAD_PROCESS_PRIVATE) && !defined(oldlinux) && !defined (__FreeBSD__)
++#if defined (PTHREAD_PROCESS_PRIVATE) && !defined(oldlinux) && !defined (__FreeBSD__) && !defined(__NetBSD__)
+ rc = pthread_mutexattr_setpshared (&_mutex_attr, PTHREAD_PROCESS_PRIVATE);
+ CKRET (rc);
+ #endif
+@@ -1132,7 +1132,7 @@ dk_mutex_init (dk_mutex_t * mtx, int typ
+ if (!is_initialized)
+ {
+ pthread_mutexattr_init (&_attr);
+-#if defined (PTHREAD_PROCESS_PRIVATE) && !defined (__FreeBSD__) && !defined(oldlinux)
++#if defined (PTHREAD_PROCESS_PRIVATE) && !defined (__FreeBSD__) && !defined(__NetBSD__) && !defined(oldlinux)
+ rc = pthread_mutexattr_setpshared (&_attr, PTHREAD_PROCESS_PRIVATE);
+ CKRET (rc);
+ #endif
diff --git a/databases/virtuoso/patches/patch-libsrc_Wi_bif_file.c b/databases/virtuoso/patches/patch-libsrc_Wi_bif_file.c
new file mode 100644
index 00000000000..df4c436099d
--- /dev/null
+++ b/databases/virtuoso/patches/patch-libsrc_Wi_bif_file.c
@@ -0,0 +1,14 @@
+$NetBSD: patch-libsrc_Wi_bif_file.c,v 1.1 2013/04/13 13:16:02 jaapb Exp $
+
+Redefine non-existent functions
+--- libsrc/Wi/bif_file.c.orig 2012-08-01 20:54:31.000000000 +0000
++++ libsrc/Wi/bif_file.c
+@@ -6195,7 +6195,7 @@ signal_error:
+ }
+
+
+-#if defined(__APPLE__) || defined(__FreeBSD__)
++#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__NetBSD__)
+ #define fseeko64 fseeko
+ #define ftello64 ftello
+ #define fopen64 fopen
diff --git a/databases/virtuoso/patches/patch-libsrc_Wi_numeric.c b/databases/virtuoso/patches/patch-libsrc_Wi_numeric.c
new file mode 100644
index 00000000000..12b4865e28b
--- /dev/null
+++ b/databases/virtuoso/patches/patch-libsrc_Wi_numeric.c
@@ -0,0 +1,14 @@
+$NetBSD: patch-libsrc_Wi_numeric.c,v 1.1 2013/04/13 13:16:02 jaapb Exp $
+
+Do not use non-existing function
+--- libsrc/Wi/numeric.c.orig 2012-03-23 12:28:31.000000000 +0000
++++ libsrc/Wi/numeric.c
+@@ -1841,7 +1841,7 @@ numeric_from_double (numeric_t n, double
+ {
+ char buffer[64];
+
+-#if defined (bsdi) || defined (__FreeBSD__) || defined (__APPLE__)
++#if defined (bsdi) || defined (__FreeBSD__) || defined (__APPLE__) || defined(__NetBSD__)
+ snprintf (buffer, sizeof (buffer), "%.16g", d);
+ #else
+ gcvt (d, 16, buffer);
diff --git a/databases/virtuoso/patches/patch-libsrc_Wi_xml.h b/databases/virtuoso/patches/patch-libsrc_Wi_xml.h
new file mode 100644
index 00000000000..53ebda01b6b
--- /dev/null
+++ b/databases/virtuoso/patches/patch-libsrc_Wi_xml.h
@@ -0,0 +1,22 @@
+$NetBSD: patch-libsrc_Wi_xml.h,v 1.1 2013/04/13 13:16:02 jaapb Exp $
+
+boolean type already defined
+--- libsrc/Wi/xml.h.orig 2012-03-23 12:28:31.000000000 +0000
++++ libsrc/Wi/xml.h
+@@ -83,16 +83,6 @@ encoding_handler_t *intl_find_user_chars
+
+ #define XML_CHAR_ESCAPE(c,s) xml_escapes [c] = s;
+
+-#ifndef __cplusplus
+-/* Types definition */
+-#ifndef _boolean
+-typedef enum
+- {
+- false, true
+- }
+-_boolean;
+-#endif
+-#endif
+
+
+
diff --git a/databases/virtuoso/patches/patch-libsrc_Wi_xmlenc.c b/databases/virtuoso/patches/patch-libsrc_Wi_xmlenc.c
new file mode 100644
index 00000000000..8c9807b0abc
--- /dev/null
+++ b/databases/virtuoso/patches/patch-libsrc_Wi_xmlenc.c
@@ -0,0 +1,190 @@
+$NetBSD: patch-libsrc_Wi_xmlenc.c,v 1.1 2013/04/13 13:16:02 jaapb Exp $
+
+use proper DES interface
+--- libsrc/Wi/xmlenc.c.orig 2012-08-01 20:54:31.000000000 +0000
++++ libsrc/Wi/xmlenc.c
+@@ -1762,7 +1762,7 @@ xenc_key_len_get (const char * algo)
+ if (!algo)
+ len = 0;
+ else if (!strcmp (algo, XENC_TRIPLEDES_ALGO))
+- len = 3 * sizeof (des_cblock);
++ len = 3 * sizeof (DES_cblock);
+ else if (!strcmp (algo, XENC_AES128_ALGO))
+ len = 128;
+ else if (!strcmp (algo, XENC_AES256_ALGO))
+@@ -1814,7 +1814,7 @@ xenc_key_create_from_utok (u_tok_t * uto
+ {
+ xenc_key_t * key;
+ P_SHA1_CTX * psha1;
+- des_cblock _key[5];
++ DES_cblock _key[5];
+ int key_len = 0;
+ caddr_t * utok_opts = (caddr_t *) xenc_get_option (ctx->wc_opts, "UsernameToken", NULL);
+ caddr_t key_algo = xenc_get_option (utok_opts, "keyAlgorithm", XENC_TRIPLEDES_ALGO);
+@@ -1843,13 +1843,13 @@ xenc_key_create_from_utok (u_tok_t * uto
+ memset (&key->ki.triple_des.ks3, 0, sizeof (key->ki.triple_des.ks3));
+ memset (&key->ki.triple_des.iv, 0, sizeof (key->ki.triple_des.iv));
+
+- des_set_key_unchecked(&_key[0], key->ki.triple_des.ks1);
+- des_set_key_unchecked(&_key[1], key->ki.triple_des.ks2);
+- des_set_key_unchecked(&_key[2], key->ki.triple_des.ks3);
+-
+- memcpy (key->ki.triple_des.k1, &_key[0], sizeof (des_cblock));
+- memcpy (key->ki.triple_des.k2, &_key[1], sizeof (des_cblock));
+- memcpy (key->ki.triple_des.k3, &_key[2], sizeof (des_cblock));
++ DES_set_key_unchecked(&_key[0], &key->ki.triple_des.ks1);
++ DES_set_key_unchecked(&_key[1], &key->ki.triple_des.ks2);
++ DES_set_key_unchecked(&_key[2], &key->ki.triple_des.ks3);
++
++ memcpy (key->ki.triple_des.k1, &_key[0], sizeof (DES_cblock));
++ memcpy (key->ki.triple_des.k2, &_key[1], sizeof (DES_cblock));
++ memcpy (key->ki.triple_des.k3, &_key[2], sizeof (DES_cblock));
+ break;
+ }
+ #ifdef AES_ENC_ENABLE
+@@ -2073,7 +2073,7 @@ static
+ int __xenc_key_3des_init (char *name, char *pwd, int lock)
+ {
+ char _key[KEYSIZB+1];
+- des_cblock key[3];
++ DES_cblock key[3];
+
+ xenc_key_t * pkey = xenc_get_key_by_name (name, lock);
+ if (NULL == pkey)
+@@ -2093,13 +2093,13 @@ int __xenc_key_3des_init (char *name, ch
+ (unsigned char *)_key,
+ strlen(_key), 1, (unsigned char*) &key[0], pkey->ki.triple_des.iv);
+
+- des_set_key_unchecked(&key[0], pkey->ki.triple_des.ks1);
+- des_set_key_unchecked(&key[1], pkey->ki.triple_des.ks2);
+- des_set_key_unchecked(&key[2], pkey->ki.triple_des.ks3);
+-
+- memcpy (pkey->ki.triple_des.k1, &key[0], sizeof (des_cblock));
+- memcpy (pkey->ki.triple_des.k2, &key[1], sizeof (des_cblock));
+- memcpy (pkey->ki.triple_des.k3, &key[2], sizeof (des_cblock));
++ DES_set_key_unchecked(&key[0], &pkey->ki.triple_des.ks1);
++ DES_set_key_unchecked(&key[1], &pkey->ki.triple_des.ks2);
++ DES_set_key_unchecked(&key[2], &pkey->ki.triple_des.ks3);
++
++ memcpy (pkey->ki.triple_des.k1, &key[0], sizeof (DES_cblock));
++ memcpy (pkey->ki.triple_des.k2, &key[1], sizeof (DES_cblock));
++ memcpy (pkey->ki.triple_des.k3, &key[2], sizeof (DES_cblock));
+
+ xenc_store_key (pkey, lock);
+ return 0;
+@@ -2107,13 +2107,13 @@ int __xenc_key_3des_init (char *name, ch
+
+ void xenc_key_3des_init (xenc_key_t * pkey, unsigned char * k1, unsigned char * k2, unsigned char * k3)
+ {
+- memcpy (pkey->ki.triple_des.k1, k1, sizeof (des_cblock));
+- memcpy (pkey->ki.triple_des.k2, k2, sizeof (des_cblock));
+- memcpy (pkey->ki.triple_des.k3, k3, sizeof (des_cblock));
+-
+- des_set_key_unchecked((const_des_cblock*) k1, pkey->ki.triple_des.ks1);
+- des_set_key_unchecked((const_des_cblock*) k2, pkey->ki.triple_des.ks2);
+- des_set_key_unchecked((const_des_cblock*) k3, pkey->ki.triple_des.ks3);
++ memcpy (pkey->ki.triple_des.k1, k1, sizeof (DES_cblock));
++ memcpy (pkey->ki.triple_des.k2, k2, sizeof (DES_cblock));
++ memcpy (pkey->ki.triple_des.k3, k3, sizeof (DES_cblock));
++
++ DES_set_key_unchecked((const_DES_cblock*) k1, &pkey->ki.triple_des.ks1);
++ DES_set_key_unchecked((const_DES_cblock*) k2, &pkey->ki.triple_des.ks2);
++ DES_set_key_unchecked((const_DES_cblock*) k3, &pkey->ki.triple_des.ks3);
+ }
+
+
+@@ -2145,20 +2145,20 @@ caddr_t bif_xenc_key_3des_rand_create (c
+ {
+ caddr_t name = bif_key_name_arg (qst, args, 0, "xenc_key_3DES_rand_create");
+ xenc_key_t * k = 0;
+- des_cblock k1;
+- des_cblock k2;
+- des_cblock k3;
+- des_key_schedule ks1;
+- des_key_schedule ks2;
+- des_key_schedule ks3;
+-
+- des_random_key (&k1);
+- des_random_key (&k2);
+- des_random_key (&k3);
+-
+- if ( (des_set_key_checked (&k1, ks1) < 0) ||
+- (des_set_key_checked (&k2, ks2) < 0) ||
+- (des_set_key_checked (&k3, ks3) < 0) )
++ DES_cblock k1;
++ DES_cblock k2;
++ DES_cblock k3;
++ DES_key_schedule ks1;
++ DES_key_schedule ks2;
++ DES_key_schedule ks3;
++
++ DES_random_key (&k1);
++ DES_random_key (&k2);
++ DES_random_key (&k3);
++
++ if ( (DES_set_key_checked (&k1, &ks1) < 0) ||
++ (DES_set_key_checked (&k2, &ks2) < 0) ||
++ (DES_set_key_checked (&k3, &ks3) < 0) )
+ GPF_T; /* parity check failed, library error - could not check result of it's own work */
+
+ mutex_enter (xenc_keys_mtx);
+@@ -2169,13 +2169,13 @@ caddr_t bif_xenc_key_3des_rand_create (c
+ mutex_leave (xenc_keys_mtx);
+ SQLR_NEW_KEY_EXIST_ERROR (name);
+ }
+- memcpy (&k->ki.triple_des.k1, &k1, sizeof (des_cblock));
+- memcpy (&k->ki.triple_des.k2, &k2, sizeof (des_cblock));
+- memcpy (&k->ki.triple_des.k3, &k3, sizeof (des_cblock));
+-
+- memcpy (&k->ki.triple_des.ks1, &ks1, sizeof (des_key_schedule));
+- memcpy (&k->ki.triple_des.ks2, &ks2, sizeof (des_key_schedule));
+- memcpy (&k->ki.triple_des.ks3, &ks3, sizeof (des_key_schedule));
++ memcpy (&k->ki.triple_des.k1, &k1, sizeof (DES_cblock));
++ memcpy (&k->ki.triple_des.k2, &k2, sizeof (DES_cblock));
++ memcpy (&k->ki.triple_des.k3, &k3, sizeof (DES_cblock));
++
++ memcpy (&k->ki.triple_des.ks1, &ks1, sizeof (DES_key_schedule));
++ memcpy (&k->ki.triple_des.ks2, &ks2, sizeof (DES_key_schedule));
++ memcpy (&k->ki.triple_des.ks3, &ks3, sizeof (DES_key_schedule));
+
+ mutex_leave (xenc_keys_mtx);
+
+@@ -2565,9 +2565,9 @@ caddr_t bif_xenc_key_serialize (caddr_t
+
+ if (k->xek_type == DSIG_KEY_3DES)
+ {
+- memcpy (in_buf, k->ki.triple_des.k1, sizeof (des_cblock));
+- memcpy (in_buf + sizeof (des_cblock), k->ki.triple_des.k2, sizeof (des_cblock));
+- memcpy (in_buf + 2*sizeof (des_cblock), k->ki.triple_des.k3, sizeof (des_cblock));
++ memcpy (in_buf, k->ki.triple_des.k1, sizeof (DES_cblock));
++ memcpy (in_buf + sizeof (DES_cblock), k->ki.triple_des.k2, sizeof (DES_cblock));
++ memcpy (in_buf + 2*sizeof (DES_cblock), k->ki.triple_des.k3, sizeof (DES_cblock));
+ }
+ else if (k->xek_type == DSIG_KEY_RSA)
+ {
+@@ -5980,7 +5980,7 @@ void xenc_kt_test ()
+ xenc_des3_decryptor (out, strses_length (out), in, key, &t);
+ key_data_2 = strses_string (in);
+
+- if (memcmp (key_data, key_data_2, 3 * sizeof (des_cblock)))
++ if (memcmp (key_data, key_data_2, 3 * sizeof (DES_cblock)))
+ xenc_assert (0);
+ dk_free_box (key_data_2);
+ dk_free_box (key_data);
+@@ -5988,13 +5988,13 @@ void xenc_kt_test ()
+ new_key = xenc_build_encrypted_key ("virtdev_test_rest", in, XENC_TRIPLEDES_ALGO, &t);
+
+ if (memcmp (new_key->ki.triple_des.k1,
+- key->ki.triple_des.k1, sizeof (des_cblock)))
++ key->ki.triple_des.k1, sizeof (DES_cblock)))
+ xenc_assert (0);
+ if (memcmp (new_key->ki.triple_des.k2,
+- key->ki.triple_des.k2, sizeof (des_cblock)))
++ key->ki.triple_des.k2, sizeof (DES_cblock)))
+ xenc_assert (0);
+ if (memcmp (new_key->ki.triple_des.k3,
+- key->ki.triple_des.k3, sizeof (des_cblock)))
++ key->ki.triple_des.k3, sizeof (DES_cblock)))
+ xenc_assert (0);
+
+ strses_flush (in);
diff --git a/databases/virtuoso/patches/patch-libsrc_Wi_xmlenc.h b/databases/virtuoso/patches/patch-libsrc_Wi_xmlenc.h
new file mode 100644
index 00000000000..1a3536db8c9
--- /dev/null
+++ b/databases/virtuoso/patches/patch-libsrc_Wi_xmlenc.h
@@ -0,0 +1,29 @@
+$NetBSD: patch-libsrc_Wi_xmlenc.h,v 1.1 2013/04/13 13:16:02 jaapb Exp $
+
+use proper DES interface
+--- libsrc/Wi/xmlenc.h.orig 2012-03-23 12:28:31.000000000 +0000
++++ libsrc/Wi/xmlenc.h
+@@ -312,15 +312,15 @@ struct xenc_key_s
+ } dsa;
+ struct dsig_des3_keyinfo_s
+ {
+- des_cblock k1;
+- des_cblock k2;
+- des_cblock k3;
+-
+- des_key_schedule ks1;/* key schedule */
+- des_key_schedule ks2;/* key schedule (for ede) */
+- des_key_schedule ks3;/* key schedule (for ede3) */
++ DES_cblock k1;
++ DES_cblock k2;
++ DES_cblock k3;
++
++ DES_key_schedule ks1;/* key schedule */
++ DES_key_schedule ks2;/* key schedule (for ede) */
++ DES_key_schedule ks3;/* key schedule (for ede3) */
+
+- des_cblock iv;
++ DES_cblock iv;
+ #define PKCS5_SALT_LEN 8
+ unsigned char salt[PKCS5_SALT_LEN];
+ } triple_des;
diff --git a/databases/virtuoso/patches/patch-libsrc_Wi_xmlenc_algos.c b/databases/virtuoso/patches/patch-libsrc_Wi_xmlenc_algos.c
new file mode 100644
index 00000000000..d5a3d37ba25
--- /dev/null
+++ b/databases/virtuoso/patches/patch-libsrc_Wi_xmlenc_algos.c
@@ -0,0 +1,128 @@
+$NetBSD: patch-libsrc_Wi_xmlenc_algos.c,v 1.1 2013/04/13 13:16:02 jaapb Exp $
+
+use proper DES interface
+--- libsrc/Wi/xmlenc_algos.c.orig 2012-03-23 12:28:31.000000000 +0000
++++ libsrc/Wi/xmlenc_algos.c
+@@ -1162,10 +1162,10 @@ dsig_hmac_sha256_digest (dk_session_t *
+ switch (key->xek_type)
+ {
+ case DSIG_KEY_3DES:
+- memcpy (key_data, key->ki.triple_des.k1, sizeof (des_cblock));
+- memcpy (key_data + 8, key->ki.triple_des.k2, sizeof (des_cblock));
+- memcpy (key_data + 16, key->ki.triple_des.k3, sizeof (des_cblock));
+- key_len = 3 * sizeof (des_cblock);
++ memcpy (key_data, key->ki.triple_des.k1, sizeof (DES_cblock));
++ memcpy (key_data + 8, key->ki.triple_des.k2, sizeof (DES_cblock));
++ memcpy (key_data + 16, key->ki.triple_des.k3, sizeof (DES_cblock));
++ key_len = 3 * sizeof (DES_cblock);
+ break;
+ #ifdef AES_ENC_ENABLE
+ case DSIG_KEY_AES:
+@@ -1234,10 +1234,10 @@ dsig_hmac_sha256_verify (dk_session_t *
+ switch (key->xek_type)
+ {
+ case DSIG_KEY_3DES:
+- memcpy (key_data, key->ki.triple_des.k1, sizeof (des_cblock));
+- memcpy (key_data + 8, key->ki.triple_des.k2, sizeof (des_cblock));
+- memcpy (key_data + 16, key->ki.triple_des.k3, sizeof (des_cblock));
+- key_len = 3 * sizeof (des_cblock);
++ memcpy (key_data, key->ki.triple_des.k1, sizeof (DES_cblock));
++ memcpy (key_data + 8, key->ki.triple_des.k2, sizeof (DES_cblock));
++ memcpy (key_data + 16, key->ki.triple_des.k3, sizeof (DES_cblock));
++ key_len = 3 * sizeof (DES_cblock);
+ break;
+ #ifdef AES_ENC_ENABLE
+ case DSIG_KEY_AES:
+@@ -1599,10 +1599,10 @@ dsig_hmac_sha1_digest (dk_session_t * se
+ switch (key->xek_type)
+ {
+ case DSIG_KEY_3DES:
+- memcpy (key_data, key->ki.triple_des.k1, sizeof (des_cblock));
+- memcpy (key_data + 8, key->ki.triple_des.k2, sizeof (des_cblock));
+- memcpy (key_data + 16, key->ki.triple_des.k3, sizeof (des_cblock));
+- key_len = 3 * sizeof (des_cblock);
++ memcpy (key_data, key->ki.triple_des.k1, sizeof (DES_cblock));
++ memcpy (key_data + 8, key->ki.triple_des.k2, sizeof (DES_cblock));
++ memcpy (key_data + 16, key->ki.triple_des.k3, sizeof (DES_cblock));
++ key_len = 3 * sizeof (DES_cblock);
+ break;
+ #ifdef AES_ENC_ENABLE
+ case DSIG_KEY_AES:
+@@ -1671,10 +1671,10 @@ dsig_hmac_sha1_verify (dk_session_t * se
+ switch (key->xek_type)
+ {
+ case DSIG_KEY_3DES:
+- memcpy (key_data, key->ki.triple_des.k1, sizeof (des_cblock));
+- memcpy (key_data + 8, key->ki.triple_des.k2, sizeof (des_cblock));
+- memcpy (key_data + 16, key->ki.triple_des.k3, sizeof (des_cblock));
+- key_len = 3 * sizeof (des_cblock);
++ memcpy (key_data, key->ki.triple_des.k1, sizeof (DES_cblock));
++ memcpy (key_data + 8, key->ki.triple_des.k2, sizeof (DES_cblock));
++ memcpy (key_data + 16, key->ki.triple_des.k3, sizeof (DES_cblock));
++ key_len = 3 * sizeof (DES_cblock);
+ break;
+ #ifdef AES_ENC_ENABLE
+ case DSIG_KEY_AES:
+@@ -2240,13 +2240,13 @@ int xenc_des3_encryptor (dk_session_t *
+ }
+
+
+- des_ede3_cbc_encrypt ((const unsigned char *)buf,
++ DES_ede3_cbc_encrypt ((const unsigned char *)buf,
+ (unsigned char *)out_buf,
+ (long)DES_BLOCK_LEN,
+- key->ki.triple_des.ks1,
+- key->ki.triple_des.ks2,
+- key->ki.triple_des.ks3,
+- (des_cblock*) _iv,
++ &key->ki.triple_des.ks1,
++ &key->ki.triple_des.ks2,
++ &key->ki.triple_des.ks3,
++ (DES_cblock*) _iv,
+ DES_ENCRYPT);
+ total_blocks++;
+
+@@ -2310,7 +2310,7 @@ int xenc_des3_decryptor (dk_session_t *
+ char *text, *text_beg;
+ dk_session_t *ses_in;
+ long text_len;
+- des_cblock iv;
++ DES_cblock iv;
+
+ if (!seslen)
+ return 0;
+@@ -2352,7 +2352,7 @@ int xenc_des3_decryptor (dk_session_t *
+ END_READ_FAIL (ses_in);
+ for (;!failed;)
+ {
+- des_ede3_cbc_encrypt ((const unsigned char *)buf,
++ DES_ede3_cbc_encrypt ((const unsigned char *)buf,
+ (unsigned char *)out_buf,
+ (long)DES_BLOCK_LEN,
+ key->ki.triple_des.ks1,
+@@ -2404,7 +2404,7 @@ int xenc_des3_decryptor (dk_session_t *
+ char out_buf[DES_BLOCK_LEN + 1];
+ char *text, *text_beg;
+ long text_len;
+- des_cblock iv;
++ DES_cblock iv;
+ int blocks;
+
+ if (!seslen)
+@@ -2440,12 +2440,12 @@ int xenc_des3_decryptor (dk_session_t *
+ memcpy (buf, text, DES_BLOCK_LEN);
+ text += DES_BLOCK_LEN;
+
+- des_ede3_cbc_encrypt ((const unsigned char *)buf,
++ DES_ede3_cbc_encrypt ((const unsigned char *)buf,
+ (unsigned char *)out_buf,
+ (long)DES_BLOCK_LEN,
+- key->ki.triple_des.ks1,
+- key->ki.triple_des.ks2,
+- key->ki.triple_des.ks3,
++ &key->ki.triple_des.ks1,
++ &key->ki.triple_des.ks2,
++ &key->ki.triple_des.ks3,
+ &iv,
+ DES_DECRYPT);
+
diff --git a/databases/virtuoso/patches/patch-libsrc_plugin_dlf.h b/databases/virtuoso/patches/patch-libsrc_plugin_dlf.h
new file mode 100644
index 00000000000..1352d2eb376
--- /dev/null
+++ b/databases/virtuoso/patches/patch-libsrc_plugin_dlf.h
@@ -0,0 +1,14 @@
+$NetBSD: patch-libsrc_plugin_dlf.h,v 1.1 2013/04/13 13:16:02 jaapb Exp $
+
+NetBSD has libdl as well
+--- libsrc/plugin/dlf.h.orig 2012-03-23 12:28:31.000000000 +0000
++++ libsrc/plugin/dlf.h
+@@ -44,7 +44,7 @@
+ #endif /* defined (__APPLE_) */
+
+ /* dlopen stuff */
+-#if defined(HAVE_LIBDL) || defined(__FreeBSD__)
++#if defined(HAVE_LIBDL) || defined(__FreeBSD__) || defined(__NetBSD__)
+ #define DLDAPI_SVR4_DLFCN
+ #elif defined(HAVE_SHL_LOAD)
+ #define DLDAPI_HP_SHL