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 hidden or 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 <[email protected]> | |
# Contributor: Egon Ashrafinia <[email protected]> | |
# Contributor: Tavian Barnes <[email protected]> | |
# Contributor: Jan de Groot <[email protected]> | |
# Contributor: Andreas Radke <[email protected]> | |
# Contributor: Thomas Dziedzic < gostrc at gmail > | |
# Contributor: Antti "Tera" Oja <[email protected]> | |
# Contributor: Diego Jose <[email protected]> | |
# Credits to maintainers of mesa in extra! | |
# Maintainer: Jan de Groot <[email protected]> | |
# Maintainer: Andreas Radke <[email protected]> | |
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