# Template build file for 'MesaLib'.
pkgname=MesaLib
version=9.1.3
revision=2
wrksrc="Mesa-${version}"
build_style=gnu-configure
configure_args="--enable-glx-tls --enable-shared-glapi --enable-gallium-g3dvl
 --enable-gles1 --enable-gles2 --enable-openvg --enable-egl
 --with-dri-driverdir=/usr/lib/xorg/modules/dri --enable-vdpau --enable-xa
 --enable-gallium-egl --enable-xvmc --enable-osmesa --enable-texture-float
 --with-gallium-drivers=r300,r600,radeonsi,svga,swrast,nouveau --enable-gbm
 --with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast
 --with-egl-platforms=drm,wayland"
short_desc="Graphics library similar to SGI's OpenGL"
maintainer="Juan RP <xtraeme@gmail.com>"
homepage="http://www.mesa3d.org/"
license="MIT, LGPL-2.1"
distfiles="ftp://ftp.freedesktop.org/pub/mesa/$version/$pkgname-$version.tar.bz2"
checksum=8d5dac2202d0355bff5cfd183582ec8167d1d1227b7bb7a669acecbeaa52d766

hostmakedepends="automake libtool flex pkg-config llvm>=3.3"
makedepends="glproto dri2proto>=2.1 libXext-devel libXxf86vm-devel libXdamage-devel
 libudev-devel>=183 libdrm-devel expat-devel talloc-devel libxml2-python
 libvdpau-devel libXvMC-devel>=1.0.6 wayland-devel"

pre_configure() {
	./autogen.sh
}

post_install() {
	rm -f ${DESTDIR}/usr/lib/libGL.so{,.1}
	mv ${DESTDIR}/usr/lib/libGL.so.1.2.0 ${DESTDIR}/usr/lib/libGL-mesa.so.1.2.0
}

libgbm_package() {
	short_desc="generic buffer management API -- runtime"
	replaces="MesaLib<9.0.2"
	pkg_install() {
		vmove "usr/lib/libgbm.so*"
		vmove usr/lib/gbm/gbm_gallium_drm.so
	}
}

libEGL_package() {
	short_desc="Free implementation of the EGL API - runtime"
	replaces="MesaLib<7.11_2"
	pkg_install() {
		vmove "usr/lib/libEGL*.so*"
	}
}

libglapi_package() {
	short_desc="Free implementation of the GL API - shared library"
	replaces="MesaLib<7.11_2"
	pkg_install() {
		vmove "usr/lib/libglapi.so*"
	}
}

libGLES_package() {
	short_desc="Free implementation of the OpenGL|ES 1.x and 2.x API"
	replaces="MesaLib<7.11_2"
	pkg_install() {
		vmove "usr/lib/libGLES*.so*"
	}
}

libGL_package() {
	short_desc="Free implementation of the OpenGL API - GLX runtime"
	replaces="MesaLib<7.11_2"
	pkg_install() {
		vmove "usr/lib/libGL*.so*"
	}
}

libOpenVG_package() {
	short_desc="Free implementation of the OpenVG API - runtime"
	replaces="MesaLib<7.11_2"
	pkg_install() {
		vmove "usr/lib/libOpenVG.so*"
	}
}

libOSMesa_package() {
	short_desc="Mesa Off-Screen interface library"
	replaces="MesaLib<7.11_2"
	pkg_install() {
		vmove "usr/lib/libOSMesa.so*"
	}
}

libwayland-egl_package() {
	short_desc="Free implementation of the EGL API - wayland runtime"
	pkg_install() {
		vmove "usr/lib/libwayland-egl.*"
		vmove usr/lib/egl
	}
}

MesaLib-devel_package() {
	depends="glproto dri2proto>=2.1 libXext-devel libXxf86vm-devel libXdamage-devel
		libXfixes-devel libX11-devel libxcb-devel libdrm-devel>=2.4.39 expat-devel
		libGL-${version}_${revision} libOpenVG-${version}_${revision}
		libGLES-${version}_${revision} libEGL-${version}_${revision}
		libOSMesa-${version}_${revision} libgbm-${version}_${revision}
		libwayland-egl-${version}_${revision}
		${sourcepkg}-${version}_${revision}"
	short_desc+=" - development files"
	pkg_install() {
		vmove usr/include
		vmove usr/lib/pkgconfig
	}
}

mesa-ati-dri_package() {
	short_desc="Mesa DRI drivers for ATI GPUs"
	replaces="MesaLib<9.0.2"
	pkg_install() {
		vmove "usr/lib/libXvMCr[36]00.so*"
		vmove "usr/lib/vdpau/libvdpau_r[36]00.so*"
		vmove "usr/lib/vdpau/libvdpau_radeon*.so*"
		vmove "usr/lib/xorg/modules/dri/radeon*"
		vmove "usr/lib/xorg/modules/dri/r[236]00*"
		vmove "usr/lib/gallium-pipe/pipe_r[36]00.so"
		vmove usr/lib/gallium-pipe/pipe_radeonsi.so
	}
}

mesa-intel-dri_package() {
	short_desc="Mesa DRI drivers for Intel GPUs"
	pkg_install() {
		vmove "usr/lib/xorg/modules/dri/i9[16]5_dri.*"
	}
}

mesa-nouveau-dri_package() {
	short_desc="Mesa DRI drivers for NVIDIA GPUs (nouveau dri)"
	replaces="MesaLib<9.0.2"
	pkg_install() {
		vmove "usr/lib/libXvMCnouveau.so*"
		vmove "usr/lib/vdpau/libvdpau_nouveau.so*"
		vmove "usr/lib/xorg/modules/dri/nouveau*"
		vmove usr/lib/gallium-pipe/pipe_nouveau.so
	}
}

mesa-swraster-dri_package() {
	short_desc="Mesa DRI drivers for the Software Rasterizer"
	replaces="MesaLib<9.0.2"
	pkg_install() {
		vmove "usr/lib/libXvMCsoftpipe.so*"
		vmove "usr/lib/vdpau/libvdpau_softpipe.so*"
		vmove "usr/lib/xorg/modules/dri/swrast*"
		vmove "usr/lib/gallium-pipe/pipe_swrast.so"
	}
}

mesa-vmwgfx-dri_package() {
	short_desc="Mesa DRI drivers for VMware"
	replaces="MesaLib<9.0.2"
	pkg_install() {
		vmove "usr/lib/xorg/modules/dri/vmwgfx*"
		vmove usr/lib/gallium-pipe/pipe_vmwgfx.so
	}
}

MesaLib_package() {
	conf_files="/etc/drirc"
	depends="mesa-swraster-dri-${version}_${revision}"
	pkg_install() {
		vmove all
	}
}
