# Copyright 1999-2007 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: $ inherit eutils toolchain-funcs multilib flag-o-matic portability versionator OPENGL_DIR="xorg-x11" MY_PN="${PN/osm/M}" MY_P="${MY_PN}-${PV//_}" MY_SRC_P="MesaLib-${PV//_}" DESCRIPTION="Offscreen Rendering for Mesa3D (OpenGL)" HOMEPAGE="http://mesa3d.sourceforge.net/" if [[ $PV = *_rc* ]]; then SRC_URI="http://www.mesa3d.org/beta/${MY_SRC_P}.tar.gz" else SRC_URI="mirror://sourceforge/mesa3d/${MY_SRC_P}.tar.bz2" fi LICENSE="MIT" SLOT="0" KEYWORDS="~amd64 ~x86" IUSE="debug pic" RDEPEND="app-admin/eselect-opengl media-libs/mesa" DEPEND="${RDEPEND} dev-util/pkgconfig x11-misc/makedepend" S="${WORKDIR}/${MY_P}" # Think about: ggi, svga, fbcon, no-X configs pkg_setup() { if use debug; then strip-flags append-flags -g fi append-flags -fno-strict-aliasing # gcc 4.2 has buggy ivopts if [[ $(gcc-version) = "4.2" ]]; then append-flags -fno-ivopts fi # just pick one for right now :) CONFIG="linux-osmesa32" } src_unpack() { HOSTCONF="${S}/configs/${CONFIG}" unpack ${A} cd "${S}" # Set up libdir echo "LIB_DIR = $(get_libdir)" >> "${HOSTCONF}" if use pic; then einfo "Deactivating assembly code for pic build" echo "ASM_FLAGS =" >> "${HOSTCONF}" echo "ASM_SOURCES =" >> "${HOSTCONF}" echo "ASM_API =" >> "${HOSTCONF}" fi # Replace hardcoded /usr/X11R6 with this echo "EXTRA_LIB_PATH = `pkg-config --libs-only-L x11`" >> "${HOSTCONF}" echo 'CFLAGS = $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) $(ASM_FLAGS)' >> "${HOSTCONF}" echo "OPT_FLAGS = ${CFLAGS}" >> "${HOSTCONF}" echo "CC = $(tc-getCC)" >> "${HOSTCONF}" echo "CXX = $(tc-getCXX)" >> "${HOSTCONF}" # bug #110840 - Build with PIC, since it hasn't been shown to slow it down echo "PIC_FLAGS = -fPIC" >> "${HOSTCONF}" # remove anything except "mesa" .. which then only builds osmesa32 echo "SRC_DIRS = mesa " >> "${HOSTCONF}" # Get rid of glut includes rm -f "${S}"/include/GL/glut*h # Shut up pointless warnings # echo "MKDEP = gcc -M" >> "${HOSTCONF}" # echo "MKDEP_OPTIONS = -MF depend" >> "${HOSTCONF}" echo "MKDEP_OPTIONS = -fdepend -I$(gcc-config -L)/include" >> "${HOSTCONF}" echo "INSTALL_DIR = /usr" >> "${HOSTCONF}" echo 'DRI_DRIVER_INSTALL_DIR = /usr/$(LIB_DIR)/dri' >> "${HOSTCONF}" } src_compile() { emake -j1 ${CONFIG} || die "Build failed" } src_install() { dodir /usr emake -j1 \ DESTDIR="${D}" \ install || die "Installation failed" # the headers are provided by rdep mesa rm -f "${D}"/usr/include/GL/* # TODO: tweak this to provide some kind of osmesa.pc ? rm -f "${D}"/usr/lib/pkgconfig/gl.pc }