diff options
Diffstat (limited to 'dev-db/oracle-instantclient-basic/oracle-instantclient-basic-11.2.0.3.ebuild')
-rw-r--r-- | dev-db/oracle-instantclient-basic/oracle-instantclient-basic-11.2.0.3.ebuild | 111 |
1 files changed, 44 insertions, 67 deletions
diff --git a/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-11.2.0.3.ebuild b/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-11.2.0.3.ebuild index 7340b7f65417..1ea6d2efd03d 100644 --- a/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-11.2.0.3.ebuild +++ b/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-11.2.0.3.ebuild @@ -1,10 +1,10 @@ # Copyright 1999-2012 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-11.2.0.3.ebuild,v 1.4 2012/03/07 16:18:23 haubi Exp $ +# $Header: /var/cvsroot/gentoo-x86/dev-db/oracle-instantclient-basic/oracle-instantclient-basic-11.2.0.3.ebuild,v 1.5 2012/03/09 17:04:41 haubi Exp $ EAPI="4" -inherit eutils +inherit eutils multilib MY_PLAT_x86="Linux x86" MY_BITS_x86=32 @@ -29,62 +29,39 @@ KEYWORDS="~x86 ~amd64" RESTRICT="fetch" IUSE="multilib" +EMULTILIB_PKG="true" + DEPEND="app-arch/unzip" -RDEPEND="dev-libs/libaio" +RDEPEND=" + dev-libs/libaio + multilib? ( >=dev-libs/libaio-0.3.109-r3 ) +" S="${WORKDIR}" -default_abi() { - [[ ${DEFAULT_ABI} == 'default' ]] && echo ${ARCH} || echo ${DEFAULT_ABI} -} - -# install SDK for the default ABI only -need_sdk_for_abi() { - [[ $1 == $(default_abi) ]] -} +set_my_abivars() { + S="${WORKDIR}/${ABI}/instantclient_11_2" -abi_list() { - if use multilib; then - echo ${MULTILIB_ABIS} - else - default_abi - fi - return 0 -} + local abi=${ABI} + [[ ${abi} == 'default' ]] && abi=${ARCH} + MY_PLAT=MY_PLAT_${abi}; MY_PLAT=${!MY_PLAT} # platform name + MY_BITS=MY_BITS_${abi}; MY_BITS=${!MY_BITS} # platform bitwidth + MY_A=MY_A_${abi} ; MY_A=${!MY_A} # runtime distfile + MY_ASDK=MY_ASDK_${abi}; MY_ASDK=${!MY_ASDK} # sdk distfile -set_abivars() { - local abi=$1 - # platform name - MY_PLAT=MY_PLAT_${abi} - MY_PLAT=${!MY_PLAT} - # platform bitwidth - MY_BITS=MY_BITS_${abi} - MY_BITS=${!MY_BITS} - # runtime distfile - MY_A=MY_A_${abi} - MY_A=${!MY_A} - # sdk distfile - MY_ASDK=MY_ASDK_${abi} - MY_ASDK=${!MY_ASDK} - # 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) + [[ -n ${MY_PLAT} ]] } pkg_nofetch() { eerror "Please go to" eerror " ${HOMEPAGE%/*}/index-097480.html" eerror " and download" - local abi - for abi in $(abi_list) + for ABI in $(get_install_abis) do - set_abivars ${abi} + set_my_abivars || continue eerror "Instant Client for ${MY_PLAT}" eerror " Basic: ${MY_A}" - if need_sdk_for_abi ${abi}; then + if is_final_abi; then eerror " SDK: ${MY_ASDK}" fi done @@ -93,22 +70,22 @@ pkg_nofetch() { } src_unpack() { - local abi - for abi in $(abi_list) + for ABI in $(get_install_abis) do - set_abivars ${abi} - mkdir -p "${MY_S%/*}" || die - cd "${MY_S%/*}" || die + set_my_abivars || continue + mkdir "${WORKDIR}"/${ABI} || die + cd "${WORKDIR}"/${ABI} || die unpack ${MY_A} - if need_sdk_for_abi ${abi}; then + if is_final_abi; then unpack ${MY_ASDK} fi done } src_prepare() { - set_abivars $(default_abi) - cd "${MY_S}" || die + # need to patch for the final ABI only + set_my_abivars || die "${ABI} ABI not supported!" + cd "${S}" || die epatch "${FILESDIR}"/11.2.0.3-makefile.patch } @@ -117,44 +94,44 @@ src_install() { local oracle_home=/usr/$(get_libdir)/oracle/${PV}/client into "${oracle_home}" - local abi ldpath= - for abi in $(abi_list) + local ldpath= + for ABI in $(get_install_abis) # last iteration is final ABI do - set_abivars ${abi} + if ! set_my_abivars; then + elog "Skipping unsupported ABI ${ABI}." + continue + fi einfo "Installing runtime for ${MY_PLAT} ..." - cd "${MY_S}" || die + cd "${S}" || die # shared libraries - ABI=${MY_ABI} dolib.so lib*$(get_libname)* + dolib.so lib*$(get_libname)* # ensure to be linkable [[ -e libocci$(get_libname) ]] || dosym libocci$(get_libname 11.1) \ - "${oracle_home}"/${MY_LIBDIR}/libocci$(get_libname) + "${oracle_home}"/$(get_libdir)/libocci$(get_libname) [[ -e libclntsh$(get_libname) ]] || dosym libclntsh$(get_libname 11.1) \ - "${oracle_home}"/${MY_LIBDIR}/libclntsh$(get_libname) + "${oracle_home}"/$(get_libdir)/libclntsh$(get_libname) # java archives - insinto "${oracle_home}"/${MY_LIBDIR} + insinto "${oracle_home}"/$(get_libdir) doins *.jar # runtime library path - ldpath+=${ldpath:+:}${oracle_home}/${MY_LIBDIR} + ldpath+=${ldpath:+:}${oracle_home}/$(get_libdir) eend $? done # ensure ORACLE_HOME/lib exists - [[ -e ${D}${oracle_home}/lib ]] || + [[ -e ${ED}${oracle_home}/lib ]] || dosym $(get_libdir) "${oracle_home}"/lib - # SDK is for the default abi only - set_abivars $(default_abi) - einfo "Installing SDK ..." - cd "${MY_S}"/sdk || die + cd "${S}"/sdk || die # SDK makefile, for #165834 # As we change the relative filesystem layout compared @@ -182,7 +159,7 @@ src_install() { # Add OCI libs to library path { - echo "ORACLE_HOME=${oracle_home}" + echo "ORACLE_HOME=${EPREFIX}${oracle_home}" echo "LDPATH=${ldpath}" # who does need this? # echo "C_INCLUDE_PATH=${oracle_home}/include" @@ -192,7 +169,7 @@ src_install() { } pkg_postinst() { - elog "TNS_ADMIN has been set to ${ROOT}etc/oracle by default," + elog "TNS_ADMIN has been set to ${EROOT}etc/oracle by default," elog "put your tnsnames.ora there or configure TNS_ADMIN" elog "to point to your user specific configuration." } |