# Template build file for 'MesaLib-git'. pkgname=MesaLib-git version=20140920 revision=3 wrksrc="Mesa-git-${version}" build_style=gnu-configure configure_args="--enable-glx-tls --enable-shared-glapi --enable-gbm --enable-gles1 --enable-gles2 --enable-egl --enable-vdpau --disable-gallium-egl --enable-xvmc --enable-osmesa --enable-texture-float --with-egl-platforms=x11,drm,wayland" replaces="MesaLib>=0" provides="MesaLib-${version}_${revision}" short_desc="Graphics library similar to SGI's OpenGL" maintainer="John Galt " homepage="http://www.mesa3d.org/" license="MIT, LGPL-2.1" hostmakedepends=" automake libtool flex pkg-config llvm-git libxml2-python wayland-devel git" makedepends=" glproto dri2proto>=2.1 dri3proto presentproto libXext-devel libXxf86vm-devel libudev-devel libdrm-devel expat-devel talloc-devel libvdpau-devel libXdamage-devel libXvMC-devel>=1.0.6 libxshmfence-devel wayland-devel elfutils-devel ncurses-devel zlib-devel libffi-devel" # Set subpackages manually to set proper rdeps in 32bit pkgs. subpackages="libglapi-git libgbm-git libEGL-git libGL-git libGLES-git libOSMesa-git libwayland-egl-git MesaLib-devel-git mesa-swraster-dri-git" case "$XBPS_TARGET_MACHINE" in i686*|x86_64*) # Enable all x86 drivers. configure_args+=" --with-gallium-drivers=r300,r600,radeonsi,svga,swrast,nouveau" configure_args+=" --with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast" configure_args+=" --enable-xa --enable-dri3" configure_args+=" --enable-opencl --enable-opencl-icd --enable-r600-llvm-compiler" hostmakedepends+=" clang-git libllvm-git libclc-devel-git" subpackages+=" libxatracker-git mesa-ati-dri-git mesa-intel-dri-git" subpackages+=" mesa-nouveau-dri-git mesa-vmwgfx-dri-git mesa-opencl-git" ;; *) # Enable swrast driver. configure_args+=" --with-gallium-drivers=swrast" configure_args+=" --with-dri-drivers=swrast" configure_args+=" --disable-xa" ;; esac case "$XBPS_TARGET_MACHINE" in i686*) configure_args+=" --with-dri-driverdir=/usr/lib32/xorg/modules/drivers";; *) configure_args+=" --with-dri-driverdir=/usr/lib/xorg/modules/drivers";; esac conf_files="/etc/drirc" do_fetch() { local url="git://anongit.freedesktop.org/mesa/mesa" local sha=4eb2bbefd2bf0359aff7ebbb8e931a1c7833606f msg_normal "Fetching source from $url ...\n" git clone ${url} ${wrksrc} cd ${wrksrc} git reset --hard ${sha} } pre_configure() { NOCONFIGURE=1 ./autogen.sh libtoolize -f } post_install() { vmkdir usr/lib/xorg/modules/extensions ln -s libglx-xorg.so ${DESTDIR}/usr/lib/xorg/modules/extensions/libglx.so } libglapi-git_package() { depends="libudev" short_desc="Free implementation of the GL API - shared library" replaces="libglapi>=0" provides="libglapi-${version}_${revision}" pkg_install() { vmove "usr/lib/libglapi.so.*" } } libEGL-git_package() { short_desc="Free implementation of the EGL API - runtime" replaces="libEGL>=0" provides="libEGL-${version}_${revision}" pkg_install() { vmove "usr/lib/libEGL*.so.*" } } libGLES-git_package() { depends="libudev" short_desc="Free implementation of the OpenGL|ES 1.x and 2.x API" replaces="libGLES>=0" provides="libGLES-${version}_${revision}" pkg_install() { vmove "usr/lib/libGLES*.so.*" } } libgbm-git_package() { short_desc="Mesa Generic buffer management API - runtime" replaces="libgbm>=0" provides="libgbm-${version}_${revision}" pkg_install() { vmove "usr/lib/libgbm.so.*" } } libGL-git_package() { depends="libudev" short_desc="Free implementation of the OpenGL API - GLX runtime" replaces="libGL>=0" provides="libGL-${version}_${revision}" pkg_install() { vmove "usr/lib/libGL.so.*" vmove usr/lib/xorg/modules/extensions } } libOSMesa-git_package() { short_desc="Mesa Off-Screen interface library" replaces="libOSMesa>=0" provides="libOSMesa-${version}_${revision}" pkg_install() { vmove "usr/lib/libOSMesa.so.*" } } libwayland-egl-git_package() { short_desc="Free implementation of the EGL API - wayland runtime" replaces="libwayland-egl>=0" provides="libwayland-egl-${version}_${revision}" pkg_install() { vmove "usr/lib/libwayland-egl.so.*" } } MesaLib-devel-git_package() { depends="glproto dri2proto>=2.1 dri3proto presentproto libxshmfence-devel libXext-devel libXxf86vm-devel libXdamage-devel expat-devel libXfixes-devel libX11-devel libxcb-devel libdrm-devel>=2.4.39 libGL libGLES>=${version}_${revision} libEGL>=${version}_${revision} libOSMesa>=${version}_${revision} libgbm>=${version}_${revision} libwayland-egl>=${version}_${revision}" if [ "$XBPS_TARGET_MACHINE" = "i686" -o "$XBPS_TARGET_MACHINE" = "x86_64" ]; then depends+=" libxatracker-git>=${version}_${revision}" fi short_desc+=" - development files" replaces="MesaLib-devel>=0" provides="MesaLib-devel-${version}_${revision}" pkg_install() { vmove usr/include vmove usr/lib/pkgconfig vmove "usr/lib/*.so" } } mesa-swraster-dri-git_package() { short_desc="Mesa DRI drivers for the Software Rasterizer" replaces="mesa-swraster-dri>=0" provides="mesa-swraster-dri-${version}_${revision}" depends="libGL libEGL-git libGLES-git" pkg_install() { vmove "usr/lib/xorg/modules/drivers/swrast*" # XXX case "$XBPS_TARGET_MACHINE" in i686*|x86_64*) vmove "usr/lib/gallium-pipe/pipe_swrast.so" ;; esac } } libxatracker-git_package() { short_desc="Mesa XA tracker interface library" replaces="libxatracker>=0" provides="libxatracker-${version}_${revision}" pkg_install() { vmove "usr/lib/libxatracker*.so.*" } } mesa-ati-dri-git_package() { short_desc="Mesa DRI drivers for ATI GPUs" replaces="mesa-ati-dri>=0" provides="mesa-ati-dri-${version}_${revision}" depends="libGL libEGL-git libGLES-git" 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/drivers/radeon*" vmove "usr/lib/xorg/modules/drivers/r[236]00*" vmove "usr/lib/gallium-pipe/pipe_r[36]00.so" vmove usr/lib/gallium-pipe/pipe_radeonsi.so } } mesa-intel-dri-git_package() { short_desc="Mesa DRI drivers for Intel GPUs" replaces="mesa-intel-dri>=0" provides="mesa-intel-dri-${version}_${revision}" depends="libGL libEGL-git libGLES-git" pkg_install() { vmove "usr/lib/xorg/modules/drivers/i9[16]5_dri.*" } } mesa-nouveau-dri-git_package() { short_desc="Mesa DRI drivers for NVIDIA GPUs (nouveau dri)" replaces="mesa-nouveau-dri>=0" provides="mesa-nouveau-dri-${version}_${revision}" depends="libGL libEGL-git libGLES-git" pkg_install() { vmove "usr/lib/libXvMCnouveau.so*" vmove "usr/lib/vdpau/libvdpau_nouveau.so*" vmove "usr/lib/xorg/modules/drivers/nouveau*" vmove usr/lib/gallium-pipe/pipe_nouveau.so } } mesa-vmwgfx-dri-git_package() { short_desc="Mesa DRI drivers for VMware" replaces="mesa-vmwgfx-dri>=0" provides="mesa-vmwgfx-dri-${version}_${revision}" depends="libGL libEGL-git libGLES-git" pkg_install() { vmove "usr/lib/xorg/modules/drivers/vmwgfx*" vmove usr/lib/gallium-pipe/pipe_vmwgfx.so } } mesa-opencl-git_package() { short_desc="Mesa implementation of OpenCL (r600+ only)" replaces="mesa-opencl>=0" provides="mesa-opencl-${version}_${revision}" depends="libclc-r600 libOpenCL" pkg_install() { vmove etc/OpenCL vmove "/usr/lib/lib*OpenCL*" mv ${XBPS_DESTDIR}/MesaLib-devel-git-${version}/usr/lib/lib*OpenCL.so ${PKGDESTDIR}/usr/lib } }