temp: add mesa
This new mesa package isn't built for armhf yet in Alpine, but the previous one breaks plasma mobile right now.
This commit is contained in:
parent
791dfb0b62
commit
1b7d2781c5
4 changed files with 362 additions and 0 deletions
271
temp/mesa/APKBUILD
Normal file
271
temp/mesa/APKBUILD
Normal file
|
@ -0,0 +1,271 @@
|
|||
# Copied from Alpine because their build-edge-armhf is stuck
|
||||
pkgname=mesa
|
||||
pkgver=18.0.2
|
||||
pkgrel=1
|
||||
pkgdesc="Mesa DRI OpenGL library"
|
||||
url="http://www.mesa3d.org"
|
||||
arch="all"
|
||||
license="MIT SGI-B-2.0 BSL-1.0"
|
||||
subpackages="$pkgname-dev
|
||||
$pkgname-dri-ati:_dri
|
||||
$pkgname-dri-nouveau:_dri
|
||||
$pkgname-dri-freedreno:_dri
|
||||
$pkgname-dri-swrast:_dri
|
||||
$pkgname-dri-virtio:_dri
|
||||
$pkgname-glapi $pkgname-egl $pkgname-gl $pkgname-gles
|
||||
$pkgname-xatracker $pkgname-osmesa $pkgname-gbm
|
||||
$pkgname-vulkan-ati:_vulkan
|
||||
"
|
||||
_llvmver=5
|
||||
depends_dev="libdrm-dev dri2proto libxext-dev libxdamage-dev libxcb-dev glproto
|
||||
dri3proto presentproto libxshmfence-dev"
|
||||
makedepends="$depends_dev expat-dev xextproto python3 libxt-dev makedepend
|
||||
talloc-dev py3-libxml2 flex bison llvm$_llvmver-dev eudev-dev libvdpau-dev
|
||||
libxvmc-dev gettext zlib-dev libelf-dev py-mako libva-dev
|
||||
autoconf automake libtool libxxf86vm-dev libx11-dev libxfixes-dev
|
||||
wayland-dev wayland-protocols"
|
||||
source="https://mesa.freedesktop.org/archive/mesa-$pkgver.tar.xz
|
||||
glx_ro_text_segm.patch
|
||||
musl-fix-includes.patch
|
||||
drmdeps.patch
|
||||
"
|
||||
replaces="mesa-dricore"
|
||||
|
||||
_dri_driverdir=/usr/lib/xorg/modules/dri
|
||||
_dri_drivers="r200,radeon,nouveau,swrast"
|
||||
_gallium_drivers="r300,r600,radeonsi,nouveau,freedreno,swrast,virgl"
|
||||
_vulkan_drivers="radeon"
|
||||
|
||||
_arch_opts=
|
||||
|
||||
case "$CARCH" in
|
||||
x86*)
|
||||
_dri_drivers="${_dri_drivers},i915,i965"
|
||||
_gallium_drivers="${_gallium_drivers},svga"
|
||||
_vulkan_drivers="$_vulkan_drivers,intel"
|
||||
subpackages="$subpackages $pkgname-dri-intel:_dri $pkgname-dri-vmwgfx:_dri $pkgname-vulkan-intel:_vulkan"
|
||||
_arch_opts="--enable-dri3"
|
||||
case "$CARCH" in
|
||||
x86) _arch_opts="$_arch_opts --enable-glx-rts --disable-asm";;
|
||||
esac
|
||||
;;
|
||||
armhf|aarch64)
|
||||
_gallium_drivers="${_gallium_drivers},vc4"
|
||||
subpackages="$subpackages $pkgname-dri-vc4:_dri"
|
||||
case "$CARCH" in
|
||||
armhf) CFLAGS="$CFLAGS -mfpu=neon";;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
||||
prepare() {
|
||||
cd "$builddir"
|
||||
default_prepare
|
||||
libtoolize --force \
|
||||
&& aclocal \
|
||||
&& automake --add-missing \
|
||||
&& autoreconf
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "$builddir"
|
||||
|
||||
export CFLAGS="$CFLAGS -D_XOPEN_SOURCE=700"
|
||||
./configure \
|
||||
--build=$CBUILD \
|
||||
--host=$CHOST \
|
||||
--prefix=/usr \
|
||||
--sysconfdir=/etc \
|
||||
--with-dri-driverdir=$_dri_driverdir \
|
||||
--with-gallium-drivers=${_gallium_drivers} \
|
||||
--with-dri-drivers=${_dri_drivers} \
|
||||
--with-vulkan-drivers=${_vulkan_drivers} \
|
||||
--with-llvm-prefix=/usr/lib/llvm$_llvmver \
|
||||
--with-platforms=x11,drm,wayland \
|
||||
--enable-llvm \
|
||||
--enable-llvm-shared-libs \
|
||||
--enable-shared-glapi \
|
||||
--enable-gbm \
|
||||
--enable-dri \
|
||||
--enable-glx \
|
||||
--enable-gallium-osmesa \
|
||||
--enable-gles1 \
|
||||
--enable-gles2 \
|
||||
--enable-egl \
|
||||
--enable-texture-float \
|
||||
--enable-xa \
|
||||
--enable-vdpau \
|
||||
--enable-va \
|
||||
--disable-xvmc \
|
||||
--disable-glx-tls \
|
||||
--disable-nine \
|
||||
$_arch_opts
|
||||
make
|
||||
}
|
||||
|
||||
package() {
|
||||
cd "$builddir"
|
||||
make DESTDIR="$pkgdir" install
|
||||
|
||||
# provided by wayland
|
||||
rm -v "$pkgdir"/usr/lib/libwayland-egl.so*
|
||||
rm -v "$pkgdir"/usr/lib/pkgconfig/wayland-egl.pc
|
||||
}
|
||||
|
||||
egl() {
|
||||
pkgdesc="Mesa libEGL runtime libraries"
|
||||
replaces="mesa"
|
||||
|
||||
install -d "$subpkgdir"/usr/lib
|
||||
mv "$pkgdir"/usr/lib/libEGL.so* "$subpkgdir"/usr/lib/
|
||||
}
|
||||
|
||||
gl() {
|
||||
pkgdesc="Mesa libGL runtime libraries"
|
||||
replaces="mesa"
|
||||
|
||||
install -d "$subpkgdir"/usr/lib
|
||||
mv "$pkgdir"/usr/lib/libGL.so* "$subpkgdir"/usr/lib/
|
||||
}
|
||||
|
||||
glapi() {
|
||||
pkgdesc="Mesa shared glapi"
|
||||
replaces="$pkgname-gles"
|
||||
|
||||
install -d "$subpkgdir"/usr/lib
|
||||
mv "$pkgdir"/usr/lib/libglapi.so.* "$subpkgdir"/usr/lib/
|
||||
}
|
||||
|
||||
gles() {
|
||||
pkgdesc="Mesa libGLESv2 runtime libraries"
|
||||
replaces="mesa"
|
||||
|
||||
install -d "$subpkgdir"/usr/lib
|
||||
mv "$pkgdir"/usr/lib/libGLES*.so* "$subpkgdir"/usr/lib/
|
||||
}
|
||||
|
||||
xatracker() {
|
||||
pkgdesc="Mesa XA state tracker for vmware"
|
||||
|
||||
install -d "$subpkgdir"/usr/lib
|
||||
mv "$pkgdir"/usr/lib/libxatracker*.so.* "$subpkgdir"/usr/lib/
|
||||
}
|
||||
|
||||
osmesa() {
|
||||
pkgdesc="Mesa offscreen rendering libraries"
|
||||
|
||||
install -d "$subpkgdir"/usr/lib
|
||||
mv "$pkgdir"/usr/lib/libOSMesa.so.* "$subpkgdir"/usr/lib/
|
||||
}
|
||||
|
||||
gbm() {
|
||||
pkgdesc="Mesa gbm library"
|
||||
replaces="mesa"
|
||||
|
||||
install -d "$subpkgdir"/usr/lib
|
||||
mv "$pkgdir"/usr/lib/libgbm.so.* "$subpkgdir"/usr/lib/
|
||||
}
|
||||
|
||||
_mv_dri() {
|
||||
install -d "$subpkgdir"/$_dri_driverdir
|
||||
|
||||
while [ $# -gt 0 ]; do
|
||||
mv "$pkgdir"/$_dri_driverdir/${1}.so \
|
||||
"$subpkgdir"/$_dri_driverdir/
|
||||
shift
|
||||
done
|
||||
}
|
||||
|
||||
_mv_vdpau() {
|
||||
local i
|
||||
install -d "$subpkgdir"/usr/lib/vdpau
|
||||
for i in "$@"; do
|
||||
mv "$pkgdir"/usr/lib/vdpau/libvdpau_$i.* \
|
||||
"$subpkgdir"/usr/lib/vdpau/
|
||||
done
|
||||
}
|
||||
|
||||
_mv_gpipe() {
|
||||
return 0
|
||||
# http://cgit.freedesktop.org/mesa/mesa/commit/?id=44ec468e8033553c26a112cebba41c343db00eb1
|
||||
# https://code.google.com/p/chromium/issues/detail?id=412089
|
||||
# local i
|
||||
# install -d "$subpkgdir"/usr/lib/gallium-pipe
|
||||
# for i in "$@"; do
|
||||
# mv "$pkgdir"/usr/lib/gallium-pipe/pipe_$i.* \
|
||||
# "$subpkgdir"/usr/lib/gallium-pipe/
|
||||
# done
|
||||
}
|
||||
|
||||
_mv_vulkan() {
|
||||
local i
|
||||
install -d "$subpkgdir"/usr/lib
|
||||
install -d "$subpkgdir"/usr/share/vulkan/icd.d
|
||||
for i in "$@"; do
|
||||
mv "$pkgdir"/usr/lib/libvulkan_${i}.so "$subpkgdir"/usr/lib/
|
||||
mv "$pkgdir"/usr/share/vulkan/icd.d/${i}* "$subpkgdir"/usr/share/vulkan/icd.d/
|
||||
done
|
||||
}
|
||||
|
||||
_mv_va() {
|
||||
local i
|
||||
install -d "$subpkgdir"/usr/lib/dri
|
||||
for i in "$@"; do
|
||||
mv "$pkgdir"/usr/lib/dri/${i}_drv_video.so \
|
||||
"$subpkgdir"/usr/lib/dri/
|
||||
done
|
||||
}
|
||||
|
||||
_dri() {
|
||||
local n=${subpkgname##*-dri-}
|
||||
pkgdesc="Mesa DRI driver for $n"
|
||||
|
||||
case $n in
|
||||
ati)
|
||||
_mv_dri radeon_dri r200_dri r300_dri r600_dri radeonsi_dri \
|
||||
&& _mv_vdpau r300 r600 radeonsi \
|
||||
&& _mv_gpipe r300 r600 \
|
||||
&& _mv_va r600 radeonsi
|
||||
;;
|
||||
intel)
|
||||
_mv_dri i915_dri i965_dri
|
||||
;;
|
||||
nouveau)
|
||||
_mv_dri nouveau_dri nouveau_vieux_dri \
|
||||
&& _mv_vdpau nouveau \
|
||||
&& _mv_gpipe nouveau \
|
||||
&& _mv_va nouveau
|
||||
;;
|
||||
freedreno)
|
||||
_mv_dri msm_dri kgsl_dri
|
||||
;;
|
||||
swrast)
|
||||
_mv_dri swrast_dri kms_swrast_dri && _mv_gpipe swrast
|
||||
;;
|
||||
vc4)
|
||||
_mv_dri vc4_dri
|
||||
;;
|
||||
vmwgfx)
|
||||
_mv_dri vmwgfx_dri && _mv_gpipe vmwgfx
|
||||
;;
|
||||
virtio)
|
||||
_mv_dri virtio_gpu_dri
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
_vulkan() {
|
||||
local n=${subpkgname##*-vulkan-}
|
||||
pkgdesc="Mesa Vulkan API driver for $n"
|
||||
|
||||
case $n in
|
||||
ati)
|
||||
_mv_vulkan radeon ;;
|
||||
intel)
|
||||
_mv_vulkan intel ;;
|
||||
esac
|
||||
}
|
||||
sha512sums="77d24d01c4c22596d28421aeb74932ff232730a4f556ae1a2e8777ece2876e4e352679575385c065505df4a2a83d2c1cf30db92dcf88038417e36a2768332d7e mesa-18.0.2.tar.xz
|
||||
c3d4804ebc24c7216e4c9d4995fb92e116be7f478024b44808ee134a4c93bb51d1f66fe5fb6eca254f124c4abf6f81272b027824b3e2650a9607818bf793035a glx_ro_text_segm.patch
|
||||
910dd69c29b9b51b3b66e975baefbd8a6458500ef3164837036a4ac923c33254d558d678a100025ba2a69fd1111aa6b3ec83f332a66cae4207431e5e1c8ec567 musl-fix-includes.patch
|
||||
3409483217dbec732286e628e268e1e8cd392b7e8efb13c7651b38e6563aa5a4988279efb029096dcd092ebe7a92eece103014ed420d2b242eab8d0237f056fd drmdeps.patch"
|
41
temp/mesa/drmdeps.patch
Normal file
41
temp/mesa/drmdeps.patch
Normal file
|
@ -0,0 +1,41 @@
|
|||
--- a/src/gallium/winsys/radeon/drm/Makefile.am
|
||||
+++ b/src/gallium/winsys/radeon/drm/Makefile.am
|
||||
@@ -7,4 +7,6 @@
|
||||
|
||||
noinst_LTLIBRARIES = libradeonwinsys.la
|
||||
|
||||
+libradeonwinsys_la_LIBADD = -ldrm_radeon
|
||||
+
|
||||
libradeonwinsys_la_SOURCES = $(C_SOURCES)
|
||||
--- a/src/gallium/winsys/radeon/drm/Makefile.in
|
||||
+++ b/src/gallium/winsys/radeon/drm/Makefile.in
|
||||
@@ -119,7 +119,7 @@
|
||||
CONFIG_CLEAN_FILES =
|
||||
CONFIG_CLEAN_VPATH_FILES =
|
||||
LTLIBRARIES = $(noinst_LTLIBRARIES)
|
||||
-libradeonwinsys_la_LIBADD =
|
||||
+libradeonwinsys_la_LIBADD = -ldrm_radeon
|
||||
am__objects_1 = radeon_drm_bo.lo radeon_drm_cs.lo \
|
||||
radeon_drm_surface.lo radeon_drm_winsys.lo
|
||||
am_libradeonwinsys_la_OBJECTS = $(am__objects_1)
|
||||
--- a/src/gallium/winsys/amdgpu/drm/Makefile.am
|
||||
+++ b/src/gallium/winsys/amdgpu/drm/Makefile.am
|
||||
@@ -11,6 +11,6 @@
|
||||
noinst_LTLIBRARIES = libamdgpuwinsys.la
|
||||
|
||||
libamdgpuwinsys_la_LIBADD = \
|
||||
- $(top_builddir)/src/amd/addrlib/libamdgpu_addrlib.la
|
||||
+ $(top_builddir)/src/amd/addrlib/libamdgpu_addrlib.la -ldrm_amdgpu
|
||||
|
||||
libamdgpuwinsys_la_SOURCES = $(C_SOURCES)
|
||||
--- a/src/gallium/winsys/amdgpu/drm/Makefile.in
|
||||
+++ b/src/gallium/winsys/amdgpu/drm/Makefile.in
|
||||
@@ -572,7 +572,7 @@
|
||||
AM_CXXFLAGS = $(AM_CFLAGS)
|
||||
noinst_LTLIBRARIES = libamdgpuwinsys.la
|
||||
libamdgpuwinsys_la_LIBADD = \
|
||||
- $(top_builddir)/src/amd/addrlib/libamdgpu_addrlib.la
|
||||
+ $(top_builddir)/src/amd/addrlib/libamdgpu_addrlib.la -ldrm_amdgpu
|
||||
|
||||
libamdgpuwinsys_la_SOURCES = $(C_SOURCES)
|
||||
all: all-am
|
28
temp/mesa/glx_ro_text_segm.patch
Normal file
28
temp/mesa/glx_ro_text_segm.patch
Normal file
|
@ -0,0 +1,28 @@
|
|||
2011-02-09 Jeremy Huddleston <jeremyhu@freedesktop.org
|
||||
|
||||
#240956
|
||||
* configure.ac add support to enable readonly test segment on x86
|
||||
|
||||
--- ./configure.ac.orig 2008-11-17 23:19:38.000000000 +0100
|
||||
+++ ./configure.ac 2008-11-17 23:20:17.000000000 +0100
|
||||
@@ -499,6 +499,20 @@
|
||||
enable_xcb=no
|
||||
fi
|
||||
|
||||
+
|
||||
+dnl readonly text segment on x86 hardened platforms
|
||||
+AC_ARG_ENABLE([glx_rts],
|
||||
+ [AS_HELP_STRING([--enable-glx-rts],
|
||||
+ [on x86, use a readonly text segment for libGL @<:@default=disabled@:>@])],
|
||||
+ [enable_glx_rts="$enableval"],
|
||||
+ [enable_glx_rts=no])
|
||||
+if test "x$enable_glx_rts" = xyes; then
|
||||
+ DEFINES="$DEFINES -DGLX_X86_READONLY_TEXT"
|
||||
+else
|
||||
+ enable_glx_rts=no
|
||||
+fi
|
||||
+
|
||||
+
|
||||
dnl
|
||||
dnl libGL configuration per driver
|
||||
dnl
|
22
temp/mesa/musl-fix-includes.patch
Normal file
22
temp/mesa/musl-fix-includes.patch
Normal file
|
@ -0,0 +1,22 @@
|
|||
--- a/src/util/rand_xor.c
|
||||
+++ b/src/util/rand_xor.c
|
||||
@@ -24,6 +24,8 @@
|
||||
|
||||
#if defined(__linux__)
|
||||
#include <sys/file.h>
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/stat.h>
|
||||
#include <unistd.h>
|
||||
#include <fcntl.h>
|
||||
#else
|
||||
--- ./src/gallium/winsys/svga/drm/vmw_screen.h.orig
|
||||
+++ ./src/gallium/winsys/svga/drm/vmw_screen.h
|
||||
@@ -34,7 +34,7 @@
|
||||
#ifndef VMW_SCREEN_H_
|
||||
#define VMW_SCREEN_H_
|
||||
|
||||
-
|
||||
+#include <sys/stat.h>
|
||||
#include "pipe/p_compiler.h"
|
||||
#include "pipe/p_state.h"
|
||||
|
Loading…
Reference in a new issue