blob: e0fbfdf509abc09b19799d12fe424fe69882d523 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
|
# Copyright 1999-2012 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
EAPI="4"
inherit eutils multilib
MY_PLAT_x86="Linux x86"
MY_A_x86="${PN/oracle-/}-linux-${PV}.0.zip"
MY_PLAT_amd64="Linux x86-64"
MY_A_amd64="${PN/oracle-/}-linux.x64-${PV}.0.zip"
DESCRIPTION="Oracle 11g Instant Client: ODBC supplement"
HOMEPAGE="http://www.oracle.com/technetwork/database/features/instant-client/index.html"
SRC_URI="
x86? ( ${MY_A_x86} )
amd64? ( ${MY_A_amd64} multilib? ( ${MY_A_x86} ) )
"
LICENSE="OTN"
SLOT="0"
KEYWORDS="amd64 x86"
RESTRICT="fetch"
IUSE="multilib"
DEPEND="app-arch/unzip"
RDEPEND="~dev-db/oracle-instantclient-basic-${PV}"
S="${WORKDIR}"
QA_PREBUILT="usr/lib*/oracle/${PV}/client/lib*/lib*"
default_abi() {
[[ ${DEFAULT_ABI} == 'default' ]] && echo ${ARCH} || echo ${DEFAULT_ABI}
}
abi_list() {
if use multilib; then
echo ${MULTILIB_ABIS}
else
default_abi
fi
return 0
}
set_abivars() {
local abi=$1
# platform name
MY_PLAT=MY_PLAT_${abi}
MY_PLAT=${!MY_PLAT}
# runtime distfile
MY_A=MY_A_${abi}
MY_A=${!MY_A}
# abi sourcedir
MY_S="${S}/${abi}/instantclient_11_2"
# ABI might not need to be set at all
[[ -n ${ABI} ]] && MY_ABI=${abi} || MY_ABI=
# abi libdir
MY_LIBDIR=$(ABI=${MY_ABI} get_libdir)
}
pkg_nofetch() {
eerror "Please go to"
eerror " ${HOMEPAGE%/*}/index-097480.html"
eerror " and download"
local abi
for abi in $(abi_list)
do
set_abivars ${abi}
eerror "Instant Client for ${MY_PLAT}"
eerror " ODBC: ${MY_A}"
done
eerror "After downloading, put them in:"
eerror " ${DISTDIR}/"
}
src_unpack() {
local abi
for abi in $(abi_list)
do
set_abivars ${abi}
mkdir -p "${MY_S%/*}" || die
cd "${MY_S%/*}" || die
unpack ${MY_A}
done
}
src_install() {
# all binaries go here
local oracle_home=/usr/$(get_libdir)/oracle/${PV}/client
into "${oracle_home}"
local abi
for abi in $(abi_list)
do
set_abivars ${abi}
einfo "Installing runtime for ${MY_PLAT} ..."
cd "${MY_S}" || die
ABI=${MY_ABI} dolib.so libsqora*$(get_libname)*
# ensure to be linkable
[[ -e libsqora$(get_libname) ]] ||
dosym libsqora$(get_libname 11.1) \
"${oracle_home}"/${MY_LIBDIR}/libsqora$(get_libname)
eend $?
done
set_abivars $(default_abi)
cd "${MY_S}" || die
dobin odbc_update_ini.sh
dodoc *htm*
}
|