# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/x11-libs/libdrm/libdrm-2.3.0.ebuild,v 1.8 2007/05/20 20:47:52 jer Exp $ # Must be before x-modular eclass is inherited SNAPSHOT="yes" inherit eutils autotools multilib x-modular git toolchain-funcs EMULTILIB_PKG="true" EGIT_REPO_URI="git://anongit.freedesktop.org/git/mesa/drm" EGIT_PROJECT="drm" EGIT_BOOTSTRAP="eautoreconf" #EGIT_BRANCH="modesetting-101-hotplug" #EGIT_BRANCH="drm-gem" #EGIT_TREE="${EGIT_BRANCH}" DESCRIPTION="X.Org libdrm library" HOMEPAGE="http://dri.freedesktop.org/" SRC_URI="" KEYWORDS="" RDEPEND="" DEPEND="${RDEPEND}" src_unpack() { git_src_unpack cd ${S} # epatch "${FILESDIR}/${P}-gem.patch" } pkg_preinst() { x-modular_pkg_preinst if [[ -e ${ROOT}/usr/$(get_libdir)/libdrm.so.1 ]] ; then cp -pPR "${ROOT}"/usr/$(get_libdir)/libdrm.so.{1,1.0.0} "${D}"/usr/$(get_libdir)/ fi } pkg_postinst() { x-modular_pkg_postinst if [[ -e ${ROOT}/usr/$(get_libdir)/libdrm.so.1 ]] ; then elog "You must re-compile all packages that are linked against" elog "libdrm 1 by using revdep-rebuild from gentoolkit:" elog "# revdep-rebuild --library libdrm.so.1" elog "After this, you can delete /usr/$(get_libdir)/libdrm.so.1" elog "and /usr/$(get_libdir)/libdrm.so.1.0.0 ." epause fi } libdrm_src_compile() { local myconf local OCFLAGS="" local OCXXFLAGS="" local OCHOST="" CC="$(tc-getCC)" CXX="$(tc-getCXX)" if has_multilib_profile ; then OCFLAGS="${CFLAGS}" OCXXFLAGS="${CXXFLAGS}" OCHOST="${CHOST}" if use amd64 || use ppc64 ; then case ${ABI} in x86) CHOST="i686-${OCHOST#*-}" CFLAGS="${OCFLAGS} -m32" CXXFLAGS="${OCXXFLAGS} -m32" ;; amd64) CHOST="x86_64-${OCHOST#*-}" CFLAGS="${OCFLAGS} -m64" CXXFLAGS="${CXXFLAGS} -m64" ;; ppc) CHOST="powerpc-${OCHOST#*-}" CFLAGS="${OCFLAGS} -m32" CXXFLAGS="${OCXXFLAGS} -m32" ;; ppc64) CHOST="powerpc64-${OCHOST#*-}" CFLAGS="${OCFLAGS} -m64" CXXFLAGS="${OCXXFLAGS} -m64" ;; *) die "Unknown ABI" ;; esac fi fi mkdir "${S}/objdir-${ABI}" cd "${S}/objdir-${ABI}" ECONF_SOURCE=".." econf || die emake || die if has_multilib_profile; then CFLAGS="${OCFLAGS}" CXXFLAGS="${OCXXFLAGS}" CHOST="${OCHOST}" fi } libdrm_src_install() { einfo "Installing libdrm ${ABI} ..." cd "${S}/objdir-${ABI}" dodir /usr emake \ DESTDIR="${D}" \ install || die "Installation failed" } src_compile() { if [[ -z ${OABI} ]] ; then local abilist="" if has_multilib_profile ; then abilist=$(get_install_abis) einfo "Building multilib libdrm for ABIs: ${abilist}" elif is_crosscompile || tc-is-cross-compiler ; then abilist=${DEFAULT_ABI} fi if [[ -n ${abilist} ]] ; then OABI=${ABI} for ABI in ${abilist} ; do export ABI src_compile done ABI=${OABI} unset OABI return 0 fi fi libdrm_src_compile } src_install() { if [[ -z ${OABI} ]] ; then local abilist="" if has_multilib_profile ; then abilist=$(get_install_abis) einfo "Installing multilib libdrm for ABIs: ${abilist}" elif is_crosscompile || tc-is-cross-compiler ; then abilist=${DEFAULT_ABI} fi if [[ -n ${abilist} ]] ; then OABI=${ABI} for ABI in ${abilist} ; do export ABI src_install done ABI=${OABI} unset OABI return 0 fi fi libdrm_src_install }