summaryrefslogtreecommitdiff
path: root/databases/oracle8-client/files
diff options
context:
space:
mode:
authorEugene Grosbein <eugen@FreeBSD.org>2017-05-18 15:56:22 +0000
committerEugene Grosbein <eugen@FreeBSD.org>2017-05-18 15:56:22 +0000
commitcf5ea85f4825e4655df8a5ab24416ee56df4a347 (patch)
tree5ae949d5669b7e7b894d768593dd9017530d33c2 /databases/oracle8-client/files
parenttextproc/rubygem-cld3: Update to version 3.1.2 (diff)
Re-add databases/oracle8-client removed with r435735 as there is user demand for it.
The only way for native FreeBSD binaries to connect to modern Oracle databases is usage of OCI8 libraries supplied by the port. Additional changes: - integrate patch supplied with PR 211107; - assign maintainership to the submitter; - supply additional MASTER_SITE; - dead WWW link replaced with working copy of old one; - bump PORTREVISION. PR: 211107 Approved by: vsevolod (mentor)
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