From cf5ea85f4825e4655df8a5ab24416ee56df4a347 Mon Sep 17 00:00:00 2001 From: Eugene Grosbein Date: Thu, 18 May 2017 15:56:22 +0000 Subject: 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) --- .../oracle8-client/files/patch-freebsd-Makefile | 10 ++++ .../oracle8-client/files/patch-freebsd-oci8stub.c | 53 ++++++++++++++++++++++ .../files/patch-freebsd-redefine-syms.lst | 7 +++ 3 files changed, 70 insertions(+) create mode 100644 databases/oracle8-client/files/patch-freebsd-Makefile create mode 100644 databases/oracle8-client/files/patch-freebsd-oci8stub.c create mode 100644 databases/oracle8-client/files/patch-freebsd-redefine-syms.lst (limited to 'databases/oracle8-client/files') 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 + #include + #include ++#include + #include + #include + #include +@@ -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 -- cgit v1.2.3