d3bc0de1e7
It wasn't too useful after all and this slowed down the dependency process marginally. We don't need this, we can live without this.
202 lines
6.1 KiB
Bash
202 lines
6.1 KiB
Bash
# Template build file for 'libGL'.
|
|
pkgname=libGL
|
|
version=11.1.2
|
|
revision=2
|
|
wrksrc="mesa-${version}"
|
|
build_style=gnu-configure
|
|
configure_args="--enable-shared-glapi --enable-gbm
|
|
--enable-gles1 --enable-gles2 --enable-egl --enable-vdpau
|
|
--enable-xvmc --enable-osmesa --enable-texture-float
|
|
--with-egl-platforms=x11,drm,wayland"
|
|
short_desc="Graphics library similar to SGI's OpenGL"
|
|
maintainer="Juan RP <xtraeme@voidlinux.eu>"
|
|
homepage="http://www.mesa3d.org/"
|
|
license="MIT, LGPL-2.1"
|
|
distfiles="ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
|
|
checksum=8f72aead896b340ba0f7a4a474bfaf71681f5d675592aec1cb7ba698e319148b
|
|
|
|
hostmakedepends="
|
|
automake libtool flex pkg-config llvm python-Mako libxml2-python wayland-devel"
|
|
makedepends="
|
|
glproto dri2proto dri3proto presentproto libXext-devel libXxf86vm-devel
|
|
eudev-libudev-devel libdrm-devel expat-devel talloc-devel libvdpau-devel libva-devel
|
|
libXdamage-devel libXvMC-devel libxshmfence-devel wayland-devel
|
|
elfutils-devel ncurses-devel zlib-devel libffi-devel libressl-devel"
|
|
conf_files="/etc/drirc"
|
|
|
|
# Set subpackages manually to set proper rdeps in 32bit pkgs.
|
|
subpackages="libglapi libgbm libEGL libGLES libOSMesa libwayland-egl"
|
|
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
i686*|x86_64*)
|
|
# Enable all x86 drivers.
|
|
configure_args+=" --with-gallium-drivers=r300,r600,radeonsi,svga,swrast,nouveau,virgl"
|
|
configure_args+=" --with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast"
|
|
configure_args+=" --enable-xa --enable-dri3 --enable-nine"
|
|
configure_args+=" --enable-opencl --enable-opencl-icd --enable-r600-llvm-compiler"
|
|
hostmakedepends+=" clang libclc-git"
|
|
subpackages+=" libxatracker mesa-ati-dri mesa-intel-dri mesa-nouveau-dri"
|
|
subpackages+=" mesa-vmwgfx-dri mesa-opencl"
|
|
;;
|
|
armv[67]l*)
|
|
# Enable Videocore IV and swrast for RaspberryPi
|
|
configure_args+=" --with-gallium-drivers=swrast,vc4"
|
|
configure_args+=" --with-dri-drivers=swrast"
|
|
configure_args+=" --disable-xa"
|
|
subpackages+=" mesa-vc4-dri"
|
|
;;
|
|
*)
|
|
# Enable swrast driver.
|
|
configure_args+=" --with-gallium-drivers=swrast"
|
|
configure_args+=" --with-dri-drivers=swrast"
|
|
configure_args+=" --disable-xa"
|
|
;;
|
|
esac
|
|
|
|
# -devel must be the last one for proper order.
|
|
subpackages+=" MesaLib-devel"
|
|
|
|
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
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
# Disable TLS with musl: https://bugs.freedesktop.org/show_bug.cgi?id=35268
|
|
# Disable D3D9 state tracker: needs fpu_control.h
|
|
*-musl) configure_args+=" --disable-glx-tls --disable-nine";;
|
|
*) configure_args+=" --enable-glx-tls";;
|
|
esac
|
|
|
|
|
|
pre_configure() {
|
|
libtoolize -f
|
|
NOCONFIGURE=1 ./autogen.sh
|
|
}
|
|
|
|
post_install() {
|
|
vmkdir usr/lib/xorg/modules/extensions
|
|
ln -s libglx-xorg.so ${DESTDIR}/usr/lib/xorg/modules/extensions/libglx.so
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
i686*|x86_64*)
|
|
for f in r200 r300 r600 radeonsi svga nouveau; do
|
|
ln -s gallium_drv_video.so ${DESTDIR}/usr/lib/dri/${f}_drv_video.so
|
|
done
|
|
;;
|
|
armv[67]l*)
|
|
ln -s gallium_drv_video.so ${DESTDIR}/usr/lib/dri/vc4_drv_video.so
|
|
;;
|
|
esac
|
|
}
|
|
|
|
libglapi_package() {
|
|
depends="libudev"
|
|
short_desc="Free implementation of the GL API - shared library"
|
|
pkg_install() {
|
|
vmove "usr/lib/libglapi.so*"
|
|
}
|
|
}
|
|
libgbm_package() {
|
|
short_desc="Mesa Generic buffer management API - runtime"
|
|
pkg_install() {
|
|
vmove "usr/lib/libgbm.so*"
|
|
}
|
|
}
|
|
libEGL_package() {
|
|
short_desc="Free implementation of the EGL API - runtime"
|
|
pkg_install() {
|
|
vmove "usr/lib/libEGL*.so*"
|
|
}
|
|
}
|
|
libGLES_package() {
|
|
depends="libudev"
|
|
short_desc="Free implementation of the OpenGL|ES 1.x and 2.x API"
|
|
pkg_install() {
|
|
vmove "usr/lib/libGLES*.so*"
|
|
}
|
|
}
|
|
libOSMesa_package() {
|
|
short_desc="Mesa Off-Screen interface library"
|
|
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.so*"
|
|
}
|
|
}
|
|
MesaLib-devel_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>=${version}_${revision}
|
|
libGLES>=${version}_${revision} libEGL>=${version}_${revision}
|
|
libOSMesa>=${version}_${revision} libgbm>=${version}_${revision}
|
|
libwayland-egl>=${version}_${revision}"
|
|
case "$XBPS_TARGET_MACHINE" in
|
|
i686*|x86_64*) depends+=" libxatracker>=${version}_${revision}";;
|
|
esac
|
|
short_desc+=" - development files"
|
|
pkg_install() {
|
|
vmove usr/include
|
|
vmove usr/lib/pkgconfig
|
|
}
|
|
}
|
|
libxatracker_package() {
|
|
short_desc="Mesa XA tracker interface library"
|
|
pkg_install() {
|
|
vmove "usr/lib/libxatracker*.so*"
|
|
}
|
|
}
|
|
mesa-ati-dri_package() {
|
|
short_desc="Mesa DRI drivers for ATI GPUs"
|
|
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
|
|
vmove usr/lib/dri/r*
|
|
}
|
|
}
|
|
mesa-intel-dri_package() {
|
|
short_desc="Mesa DRI drivers for Intel GPUs"
|
|
pkg_install() {
|
|
vmove "usr/lib/xorg/modules/drivers/i9[16]5_dri.*"
|
|
}
|
|
}
|
|
mesa-nouveau-dri_package() {
|
|
short_desc="Mesa DRI drivers for NVIDIA GPUs (nouveau dri)"
|
|
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
|
|
vmove usr/lib/dri/nouveau*
|
|
}
|
|
}
|
|
mesa-vmwgfx-dri_package() {
|
|
short_desc="Mesa DRI drivers for VMware"
|
|
pkg_install() {
|
|
vmove "usr/lib/xorg/modules/drivers/vmwgfx*"
|
|
vmove usr/lib/gallium-pipe/pipe_vmwgfx.so
|
|
vmove usr/lib/dri/svga*
|
|
}
|
|
}
|
|
mesa-vc4-dri_package() {
|
|
short_desc="Mesa DRI drivers for Videocore IV GPU"
|
|
pkg_install() {
|
|
vmove "usr/lib/xorg/modules/drivers/vc4*"
|
|
}
|
|
}
|
|
mesa-opencl_package() {
|
|
short_desc="Mesa implementation of OpenCL (r600+ only)"
|
|
depends="libclc libOpenCL"
|
|
pkg_install() {
|
|
vmove etc/OpenCL
|
|
vmove "usr/lib/lib*OpenCL*"
|
|
}
|
|
}
|