249 lines
7.2 KiB
Plaintext
249 lines
7.2 KiB
Plaintext
# 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 <johngaltfirstrun@gmail.com>"
|
|
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
|
|
}
|
|
}
|