Last active
August 24, 2016 19:45
-
-
Save kode54/5616844 to your computer and use it in GitHub Desktop.
Arch Linux AUR PKGBUILD for mesa-git
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Maintainer: Kristian Klausen <klausenbusk@hotmail.com> | |
# Contributor: Egon Ashrafinia <e.ashrafinia@gmail.com> | |
# Contributor: Tavian Barnes <tavianator@gmail.com> | |
# Contributor: Jan de Groot <jgc@archlinux.org> | |
# Contributor: Andreas Radke <andyrtr@archlinux.org> | |
# Contributor: Thomas Dziedzic < gostrc at gmail > | |
# Contributor: Antti "Tera" Oja <antti.bofh@gmail.com> | |
# Contributor: Diego Jose <diegoxter1006@gmail.com> | |
# Credits to maintainers of mesa in extra! | |
# Maintainer: Jan de Groot <jgc@archlinux.org> | |
# Maintainer: Andreas Radke <andyrtr@archlinux.org> | |
pkgbase=mesa-git | |
pkgname=mesa-git | |
# Dirty hack as AUR dont support split-packages | |
true && pkgname=('ati-dri-git' 'intel-dri-git' 'nouveau-dri-git' 'svga-dri-git' 'mesa-git' 'mesa-libgl-git') | |
pkgver=9.2_devel.56723 | |
pkgrel=1 | |
arch=('i686' 'x86_64') | |
_llvm=$(pacman -Qq | egrep --max-count=1 'llvm-amdgpu-git|llvm-amdgpu-svn|llvm-r600-svn' || echo llvm-amdgpu-snapshot) | |
makedepends=('python2' 'libxml2' 'libx11' 'glproto' 'libdrm' 'dri2proto' 'libxxf86vm' 'libxdamage' | |
'libvdpau' 'wayland' "$_llvm" 'systemd' 'git' 'pacman>=4.1' 'elfutils') | |
url="http://mesa3d.sourceforge.net" | |
license=('custom') | |
options=('!libtool') | |
source=('mesa::git+http://anongit.freedesktop.org/git/mesa/mesa.git#branch=master' | |
'LICENSE') | |
sha512sums=('SKIP' | |
'25da77914dded10c1f432ebcbf29941124138824ceecaf1367b3deedafaecabc082d463abcfa3d15abff59f177491472b505bcb5ba0c4a51bb6b93b4721a23c2') | |
pkgver() { | |
cd "mesa" | |
echo $(grep --max-count=1 "PACKAGE_VERSION=" Makefile.am | cut -f2 -d = | tr "-" "_").$(git rev-list --count HEAD) | |
} | |
build () { | |
cd "${srcdir}/mesa" | |
################# | |
# Apply patches | |
################# | |
msg "Applying patches..." | |
local i patches | |
for i in "${source[@]}"; do | |
i=${i##*/} | |
[[ $i =~ .*\.patch$ ]] && patches=("${patches[@]}" "$srcdir/$i") | |
[[ ${i%.*} =~ .*\.patch$ ]] && patches=("${patches[@]}" "$srcdir/${i%.*}") | |
done | |
shopt -s nullglob | |
for i in "${patches[@]}" "$startdir/patches/"*; do | |
msg2 "Applying ${i##*/}..." | |
patch -Np1 -i "$i" || (error "Applying ${i##*/} failed" && return 1) | |
done | |
shopt -u nullglob | |
# TODO: --enable-r600-llvm-compiler and --with-llvm-shared-libs maybe | |
COMMONOPTS="--prefix=/usr \ | |
--sysconfdir=/etc \ | |
--with-dri-driverdir=/usr/lib/xorg/modules/dri \ | |
--with-gallium-drivers=r300,r600,radeonsi,nouveau,svga,swrast \ | |
--with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast \ | |
--enable-gallium-llvm \ | |
--enable-egl \ | |
--enable-gallium-egl \ | |
--with-egl-platforms=x11,drm,wayland \ | |
--enable-shared-glapi \ | |
--enable-gbm \ | |
--enable-glx-tls \ | |
--enable-dri \ | |
--enable-glx \ | |
--enable-osmesa \ | |
--enable-gles1 \ | |
--enable-gles2 \ | |
--enable-texture-float \ | |
--enable-xa \ | |
--enable-vdpau " | |
./autogen.sh \ | |
$COMMONOPTS | |
make | |
# fake installation | |
mkdir -p $srcdir/fakeinstall | |
make DESTDIR=${srcdir}/fakeinstall install | |
} | |
package_ati-dri-git () { | |
pkgdesc="Mesa drivers for AMD/ATI Radeon" | |
depends=("mesa-libgl=$(cut -f-2 -d . <<< ${pkgver/_/-})" 'elfutils') | |
conflicts=('ati-dri' 'xf86-video-ati<6.9.0-6') | |
provides=("ati-dri") | |
install -m755 -d ${pkgdir}/usr/lib/vdpau/ | |
mv -v ${srcdir}/fakeinstall/usr/lib/vdpau/libvdpau_{r300,r600,radeonsi}.* ${pkgdir}/usr/lib/vdpau/ | |
install -m755 -d ${pkgdir}/usr/lib/xorg/modules/dri | |
mv -v ${srcdir}/fakeinstall/usr/lib/xorg/modules/dri/{r200,r300,r600,radeon,radeonsi}_dri.so ${pkgdir}/usr/lib/xorg/modules/dri/ | |
install -m755 -d ${pkgdir}/usr/lib/gallium-pipe | |
mv -v ${srcdir}/fakeinstall/usr/lib/gallium-pipe/pipe_{r300,r600,radeonsi}* ${pkgdir}/usr/lib/gallium-pipe/ | |
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" | |
install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/" | |
} | |
package_intel-dri-git () { | |
pkgdesc="Mesa drivers for Intel" | |
depends=("mesa-libgl=$(cut -f-2 -d . <<< ${pkgver/_/-})") | |
conflicts=('intel-dri') | |
provides=("intel-dri") | |
install -m755 -d ${pkgdir}/usr/lib/xorg/modules/dri | |
mv -v ${srcdir}/fakeinstall/usr/lib/xorg/modules/dri/{i915,i965}_dri.so ${pkgdir}/usr/lib/xorg/modules/dri/ | |
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" | |
install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/" | |
} | |
package_nouveau-dri-git () { | |
pkgdesc="Mesa drivers for Nouveau" | |
depends=("mesa-libgl=$(cut -f-2 -d . <<< ${pkgver/_/-})") | |
conflicts=('nouveau-dri') | |
provides=("nouveau-dri") | |
install -m755 -d ${pkgdir}/usr/lib/vdpau/ | |
mv -v ${srcdir}/fakeinstall/usr/lib/vdpau/libvdpau_nouveau.* ${pkgdir}/usr/lib/vdpau/ | |
install -m755 -d ${pkgdir}/usr/lib/xorg/modules/dri | |
mv -v ${srcdir}/fakeinstall/usr/lib/xorg/modules/dri/nouveau_{dri,vieux_dri}.so ${pkgdir}/usr/lib/xorg/modules/dri/ | |
install -m755 -d ${pkgdir}/usr/lib/gallium-pipe | |
mv -v ${srcdir}/fakeinstall/usr/lib/gallium-pipe/pipe_nouveau* ${pkgdir}/usr/lib/gallium-pipe/ | |
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" | |
install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/" | |
} | |
package_svga-dri-git () { | |
pkgdesc="Gallium3D VMware guest GL driver" | |
depends=('gcc-libs' 'libdrm' 'expat' 'libffi' 'zlib') | |
conflicts=('svga-dri') | |
provides=("svga-dri") | |
install -m755 -d ${pkgdir}/usr/lib/xorg/modules/dri | |
mv -v ${srcdir}/fakeinstall/usr/lib/xorg/modules/dri/vmwgfx_dri.so ${pkgdir}/usr/lib/xorg/modules/dri/ | |
install -m755 -d ${pkgdir}/usr/lib/gallium-pipe | |
mv -v ${srcdir}/fakeinstall/usr/lib/gallium-pipe/pipe_vmwgfx* ${pkgdir}/usr/lib/gallium-pipe/ | |
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" | |
install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/" | |
} | |
package_mesa-git () { | |
pkgdesc="an open-source implementation of the OpenGL specification" | |
depends=('libdrm' 'libvdpau' 'wayland' 'libxxf86vm' 'libxdamage' 'systemd' 'elfutils') | |
optdepends=('opengl-man-pages: for the OpenGL API man pages') | |
provides=("mesa=$(cut -f-2 -d . <<< ${pkgver/_/-})" 'libglapi' 'osmesa' 'libgbm' 'libgles' 'libegl' 'khrplatform-devel') | |
conflicts=('mesa' 'libglapi' 'osmesa' 'libgbm' 'libgles' 'libegl' 'khrplatform-devel') | |
replaces=('libglapi' 'osmesa' 'libgbm' 'libgles' 'libegl' 'khrplatform-devel') | |
mv -v ${srcdir}/fakeinstall/* ${pkgdir} | |
# rename libgl.so to not conflict with blobs - may break gl.pc ? | |
mv ${pkgdir}/usr/lib/libGL.so.1.2.0 ${pkgdir}/usr/lib/mesa-libGL.so.1.2.0 | |
rm ${pkgdir}/usr/lib/libGL.so{,.1} | |
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" | |
install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/" | |
} | |
package_mesa-libgl-git () { | |
pkgdesc="Mesa 3-D graphics library" | |
depends=("mesa=$(cut -f-2 -d . <<< ${pkgver/_/-})") | |
conflicts=('mesa-libgl') | |
provides=("mesa-libgl=$(cut -f-2 -d . <<< ${pkgver/_/-})" "libgl=$(cut -f-2 -d . <<< ${pkgver/_/-})") | |
replaces=('libgl') | |
# See FS#26284 | |
install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions" | |
ln -s libglx.xorg "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" | |
ln -s mesa-libGL.so.1.2.0 ${pkgdir}/usr/lib/libGL.so | |
ln -s mesa-libGL.so.1.2.0 ${pkgdir}/usr/lib/libGL.so.1 | |
ln -s mesa-libGL.so.1.2.0 ${pkgdir}/usr/lib/libGL.so.1.2.0 | |
install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}" | |
install -m644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/" | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment