summaryrefslogtreecommitdiff
path: root/databases/oracle8-client/files
diff options
context:
space:
mode:
Diffstat (limited to 'databases/oracle8-client/files')
-rw-r--r--databases/oracle8-client/files/patch-freebsd-Makefile10
-rw-r--r--databases/oracle8-client/files/patch-freebsd-oci8stub.c53
-rw-r--r--databases/oracle8-client/files/patch-freebsd-redefine-syms.lst7
3 files changed, 70 insertions, 0 deletions
diff --git a/databases/oracle8-client/files/patch-freebsd-Makefile b/databases/oracle8-client/files/patch-freebsd-Makefile
new file mode 100644
index 000000000000..a93a550c53d9
--- /dev/null
+++ b/databases/oracle8-client/files/patch-freebsd-Makefile
@@ -0,0 +1,10 @@
+--- freebsd/Makefile.orig 2007-11-15 10:50:25.000000000 +0600
++++ freebsd/Makefile 2007-11-15 10:50:10.000000000 +0600
+@@ -5,6 +5,7 @@
+ NO_PIC= yes
+ NO_OBJ= yes
+ NO_PROFILE= yes
++NO_WERROR= yes
+
+ NOPIC= yes
+ NOOBJ= yes
diff --git a/databases/oracle8-client/files/patch-freebsd-oci8stub.c b/databases/oracle8-client/files/patch-freebsd-oci8stub.c
new file mode 100644
index 000000000000..471e4ea0b4ac
--- /dev/null
+++ b/databases/oracle8-client/files/patch-freebsd-oci8stub.c
@@ -0,0 +1,53 @@
+--- freebsd/oci8stub.c.orig 2007-11-11 12:25:01.000000000 +0600
++++ freebsd/oci8stub.c 2007-11-28 05:03:13.000000000 +0600
+@@ -2,6 +2,7 @@
+ #include <sys/param.h>
+ #include <sys/stat.h>
+ #include <sys/resource.h>
++#include <sys/socket.h>
+ #include <assert.h>
+ #include <errno.h>
+ #include <dlfcn.h>
+@@ -119,6 +120,14 @@
+
+ int __l_sigprocmask(int how, const sigset_t *set, sigset_t *oldset);
+
++struct l_sockaddr {
++ u_int16_t sa_family;
++ char sa_data[14];
++};
++
++int __l_connect(int s, const struct l_sockaddr *l_sa, socklen_t addrlen);
++int __l_sigaction(int signum, const struct sigaction *l_act, struct sigaction *oldact);
++
+ #ifdef stdin
+ #undef stdin
+ #undef stdout
+@@ -528,3 +537,27 @@ __l_sigprocmask(int l_how, const sigset_
+
+ return sigprocmask(how, set, oldset);
+ }
++
++int
++__l_connect(int s, const struct l_sockaddr *l_sa, socklen_t addrlen)
++{
++ struct sockaddr sa;
++
++ memcpy(sa.sa_data, l_sa->sa_data, sizeof(sa.sa_data));
++ sa.sa_len = addrlen;
++ sa.sa_family = l_sa->sa_family;
++ return connect(s, &sa, addrlen);
++}
++
++int
++__l_sigaction(int signum, const struct sigaction *l_act, struct sigaction *oldact)
++{
++ struct sigaction act;
++
++ act.sa_handler = l_act->sa_handler;
++ act.sa_flags = l_act->sa_flags & (SA_ONSTACK | SA_RESTART | SA_RESETHAND |
++ SA_NOCLDSTOP | SA_NODEFER | SA_NOCLDWAIT | SA_SIGINFO);
++ act.sa_mask = l_act->sa_mask;
++ return sigaction(signum, &act, oldact);
++}
++
diff --git a/databases/oracle8-client/files/patch-freebsd-redefine-syms.lst b/databases/oracle8-client/files/patch-freebsd-redefine-syms.lst
new file mode 100644
index 000000000000..434bea21ebbd
--- /dev/null
+++ b/databases/oracle8-client/files/patch-freebsd-redefine-syms.lst
@@ -0,0 +1,7 @@
+--- freebsd/redefine-syms.lst.orig 2005-06-20 23:23:35.000000000 +0700
++++ freebsd/redefine-syms.lst 2007-11-28 04:48:03.000000000 +0600
+@@ -1,2 +1,4 @@
++connect __l_connect
+ lseek __l_lseek
+ sigprocmask __l_sigprocmask
++sigaction __l_sigaction