diff options
Diffstat (limited to 'libre')
-rw-r--r-- | libre/mesa/PKGBUILD | 163 |
1 files changed, 18 insertions, 145 deletions
diff --git a/libre/mesa/PKGBUILD b/libre/mesa/PKGBUILD index a2752002d..101982d38 100644 --- a/libre/mesa/PKGBUILD +++ b/libre/mesa/PKGBUILD @@ -1,52 +1,13 @@ -# Maintainer (Arch): Jan de Groot <jgc@archlinux.org> -# Maintainer (Arch): Andreas Radke <andyrtr@archlinux.org> -# Maintainer: Márcio Silva <coadde@parabola.nu> -# Contributor: Luke Shumaker <lukeshu@parabola.nu> - -# Some short notes on package names -# -# The general notion of graphics APIs is that there is one loader -# package that programs depend on; the loader package depends on a -# psuedo-package that is provided by any number of driver packages. -# -# One software $VENDOR may support multiple hardware $FAMILYs. The -# driver package name is just convention. -# -# Loader-package : Pseudo-package : Driver-package : Provided files -# ------------------:----------------:----------------------:-------------------------------------------------- -# ocl-icd : opencl-driver : opencl-$VENDOR : /etc/OpenCL/vendors/$VENDOR.icd -# vulkan-icd-loader : vulkan-driver : vulkan-$FAMILY : /usr/share/vulkan/icd.d/${FAMILY}_icd.$CARCH.json -# libglvnd : opengl-driver : (mesa) : /usr/lib/libGLX_${VENDOR}.so libEGL_${VENDOR}.so -# libva : : libva-$VENDOR-driver : /usr/lib/dri/${FAMILY}_drv_video.so -# libvdpau : : (mesa-vdpau) : /usr/lib/vdpau/libvdpau_${FAMILY}.so -# xorg-server : : (mesa) : /usr/lib/xorg/modules/dri/${FAMILY}_dri.so -# -# libca, libvdpau, and Xorg DRI don't have a pseudo-package name -# because the loader package ships with a default implementation; -# whereas ocl-icd, vulkan-icd-loader, and libglvnd are useless without -# an external backend. -# -# Historically, it was the convention that the Xorg DRI provider was -# named "$FAMILY-dri", or "$VENDOR-dri", but this has fallen out of -# style. However, for historical compatibility, providing packages -# might provide "$VENDOR-dri" packages for packages that used to -# exist. - -# XXX: We --enable-lmsensors, while Arch/ALARM mesa does not. Is -# there a reason for this? +# Based on Arch and Arch ARM packages pkgbase=mesa -pkgname=("opencl-${pkgbase}" "vulkan-radeon${pkgbase#mesa}" "libva-${pkgbase}-driver" "${pkgbase}-vdpau" "${pkgbase}") -case "$CARCH" in - x86_64|i686) pkgname+=("vulkan-intel${pkgbase#mesa}");; -esac +pkgname=("${pkgbase}") pkgver=17.0.2 -pkgrel=3.parabola1 +pkgrel=3.parabola5 arch=('i686' 'x86_64' 'armv7h') makedepends=('python2-mako' 'libxml2' 'libx11' 'glproto' 'libdrm' 'dri2proto' 'dri3proto' 'presentproto' 'libxshmfence' 'libxxf86vm' 'libxdamage' 'libvdpau' 'libva' 'wayland' 'elfutils' 'llvm' 'libomxil-bellagio' 'libclc' 'clang' 'libglvnd') -makedepends+=('lm_sensors') url="http://mesa3d.sourceforge.net" license=('custom') source=(https://mesa.freedesktop.org/archive/mesa-${pkgver}.tar.xz{,.sig} @@ -93,29 +54,21 @@ build() { case "$CARCH" in x86_64|i686) - # XXX: We enable the 'swr' Gallium driver, while Arch does not. - # Why? - GALLIUM=r300,r600,radeonsi,nouveau,svga,swrast,virgl,swr + GALLIUM=r300,r600,radeonsi,nouveau,svga,swrast,virgl DRI=i915,i965,r200,radeon,nouveau,swrast VULKAN=intel,radeon + VDPAU_AND_XA='--enable-xa --enable-vdpau' + OPENCL='--enable-opencl --enable-opencl-icd' ;; armv7h) - # XXX: We enable the 'svga', 'r300', 'r600', and 'radionsi' - # Gallium drivers, while ALARM does not. Why? - GALLIUM=freedreno,nouveau,swrast,virgl,vc4,etnaviv,imx,svga,r300,r600,radeonsi - # XXX: We enable the 'r200' and 'radeon' DRI drivers, while - # ALARM does not. Why? - DRI=r200,radeon,nouveau,swrast - # XXX: We enable the 'radeon' Vulkan driver, while ALARM does - # not. Why? - VULKAN=radeon + GALLIUM=freedreno,nouveau,swrast,virgl,vc4,etnaviv,imx + DRI=nouveau,swrast + VULKAN= + VDPAU_AND_XA= + OPENCL= ;; esac - # XXX: We ---enable-gallium-extra-hud, while Arch/ALARM mesa does - # not. Why? - # - # NB: ALARM builds mesa without xa, vdpau, or opencl. ./configure --prefix=/usr \ --sysconfdir=/etc \ --with-dri-driverdir=/usr/lib/xorg/modules/dri \ @@ -137,14 +90,10 @@ build() { --enable-dri \ --enable-gallium-osmesa \ --enable-texture-float \ - --enable-xa \ - --enable-vdpau \ + $VDPAU_AND_XA \ --enable-omx \ --enable-nine \ - --enable-opencl \ - --enable-opencl-icd \ - --enable-gallium-extra-hud \ - --enable-lmsensors \ + $OPENCL \ --with-clang-libdir=/usr/lib #--with-sha1=libgcrypt \ @@ -155,89 +104,13 @@ build() { make DESTDIR=${srcdir}/fakeinstall install } -package_opencl-mesa() { - pkgdesc="OpenCL support for AMD/ATI Radeon mesa drivers" - depends=('expat' 'libdrm' 'libelf' 'libclc' 'clang') - depends+=('lm_sensors') - optdepends=('opencl-headers: headers necessary for OpenCL development') - provides=('opencl-driver') - - install -m755 -d ${pkgdir}/etc - cp -rv ${srcdir}/fakeinstall/etc/OpenCL ${pkgdir}/etc/ - - install -m755 -d ${pkgdir}/usr/lib/gallium-pipe - cp -rv ${srcdir}/fakeinstall/usr/lib/lib*OpenCL* ${pkgdir}/usr/lib/ - cp -rv ${srcdir}/fakeinstall/usr/lib/gallium-pipe/pipe_{r600,radeonsi}.so ${pkgdir}/usr/lib/gallium-pipe/ - - install -m755 -d "${pkgdir}/usr/share/licenses/$pkgname" - install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/$pkgname/" -} - -package_vulkan-intel() { - pkgdesc="Intel's Vulkan mesa driver" - depends=('wayland' 'libx11' 'libxshmfence') - provides=('vulkan-driver') - - install -m755 -d ${pkgdir}/usr/share/vulkan/icd.d - mv -v ${srcdir}/fakeinstall/usr/share/vulkan/icd.d/intel_icd*.json ${pkgdir}/usr/share/vulkan/icd.d/ - - install -m755 -d ${pkgdir}/usr/{include/vulkan,lib} - mv -v ${srcdir}/fakeinstall/usr/lib/libvulkan_intel.so ${pkgdir}/usr/lib/ - mv -v ${srcdir}/fakeinstall/usr/include/vulkan/vulkan_intel.h ${pkgdir}/usr/include/vulkan - - install -m755 -d "${pkgdir}/usr/share/licenses/$pkgname" - install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/$pkgname/" -} - -package_vulkan-radeon() { - pkgdesc="Radeon's Vulkan mesa driver" - depends=('wayland' 'libx11' 'libxshmfence' 'libelf' 'libdrm' 'llvm-libs') - provides=('vulkan-driver') - - install -m755 -d ${pkgdir}/usr/share/vulkan/icd.d - mv -v ${srcdir}/fakeinstall/usr/share/vulkan/icd.d/radeon_icd*.json ${pkgdir}/usr/share/vulkan/icd.d/ - - install -m755 -d ${pkgdir}/usr/lib - mv -v ${srcdir}/fakeinstall/usr/lib/libvulkan_radeon.so ${pkgdir}/usr/lib/ - - install -m755 -d "${pkgdir}/usr/share/licenses/$pkgname" - install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/$pkgname/" -} - -package_libva-mesa-driver() { - pkgdesc="VA-API implementation for gallium" - depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'libelf' 'libxshmfence') - depends+=('lm_sensors') - - install -m755 -d ${pkgdir}/usr/lib - cp -rv ${srcdir}/fakeinstall/usr/lib/dri ${pkgdir}/usr/lib - - install -m755 -d "${pkgdir}/usr/share/licenses/$pkgname" - install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/$pkgname/" -} - -package_mesa-vdpau() { - pkgdesc="Mesa VDPAU drivers" - depends=('libdrm' 'libx11' 'llvm-libs' 'expat' 'libelf' 'libxshmfence') - depends+=('lm_sensors') - - install -m755 -d ${pkgdir}/usr/lib - cp -rv ${srcdir}/fakeinstall/usr/lib/vdpau ${pkgdir}/usr/lib - - install -m755 -d "${pkgdir}/usr/share/licenses/$pkgname" - install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/$pkgname/" -} - package_mesa() { - pkgdesc="A free implementation of the OpenGL specification" + pkgdesc="A free implementation of the OpenGL specification, without nonfree software recommendations in drirc" depends=('libdrm' 'wayland' 'libxxf86vm' 'libxdamage' 'libxshmfence' 'libelf' 'libomxil-bellagio' 'libtxc_dxtn' 'llvm-libs' 'libglvnd') - depends+=('lm_sensors') optdepends=('opengl-man-pages: for the OpenGL API man pages' - "$pkgbase-vdpau: for accelerated video playback" - "libva-$pkgbase-driver: for accelerated video playback") - # The "$FAMILY-dri" bits are for historical compatibility, the list - # of DRI families provided does not need to be updated. + 'mesa-vdpau: for accelerated video playback' + 'libva-mesa-driver: for accelerated video playback') provides=('ati-dri' 'intel-dri' 'nouveau-dri' 'svga-dri' 'mesa-dri' 'mesa-libgl' 'opengl-driver') conflicts=('ati-dri' 'intel-dri' 'nouveau-dri' 'svga-dri' 'mesa-dri' 'mesa-libgl') replaces=('ati-dri' 'intel-dri' 'nouveau-dri' 'svga-dri' 'mesa-dri' 'mesa-libgl') @@ -271,6 +144,6 @@ package_mesa() { # indirect rendering ln -s /usr/lib/libGLX_mesa.so.0 ${pkgdir}/usr/lib/libGLX_indirect.so.0 - install -m755 -d "${pkgdir}/usr/share/licenses/$pkgname" - install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/$pkgname/" + install -m755 -d "${pkgdir}/usr/share/licenses/mesa" + install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa/" } |