index : packages | |
Archlinux32 package modifications | gitolite user |
summaryrefslogtreecommitdiff |
-rw-r--r-- | extra/mesa/PKGBUILD | 153 |
diff --git a/extra/mesa/PKGBUILD b/extra/mesa/PKGBUILD index 1a597eca..0705c7b8 100644 --- a/extra/mesa/PKGBUILD +++ b/extra/mesa/PKGBUILD @@ -1,93 +1,41 @@ -# disable openswf as it requires AVX, makes no sense with old CPUs -# disable every new software rasterizer and take the old ones -# see also FS32#39 -eval "$( +# defaults changed to SSE2 enabled by default, disable it +if [ "$CARCH" = 'i686' -o "$CARCH" = 'i486' ]; then + eval "$( declare -f build | \ - sed ' - /arch-meson/s/\(gallium-drivers=.*\),swrast,swr/\1,swrast/ - /arch-meson/s/\(-D swr-arches=\)avx,avx2/\1/ - ' - declare -f package_mesa | \ - sed ' - s@_install fakeinstall/usr/lib/libswrAVX.*@#\0@g - ' -)" + sed ' + s/arch-meson /arch-meson -Dsse2=false / + ' + )" +fi -# do not build/package vulkan on i486 -# do not build i915,i965 on i486 +# no LTO on i486 if [ "$CARCH" = 'i486' ]; then + sed -i ' + 1i options=(!lto) + ' PKGBUILD +fi +if [ "$CARCH" == 'i486' ]; then eval "$( declare -f build | \ sed ' - s/\(-D gallium-drivers=\)\S\+ /\1 / - s/-D gallium-omx=bellagio // - s/-D gallium-opencl=\S\+ // - s/-D osmesa=true /-D osmesa=false / - s/\(-D gallium-\S\+=\)enabled /\1disabled /g - s/\(-D gallium-nine=\)true /\1false /g - s/\(-D vulkan-drivers=\)\S\+ /\1 / - s/\(-D dri-drivers=\(\S\+,\)\?\)i915,/\1/ - s/\(-D dri-drivers=\(\S\+,\)\?\)i965,/\1/ - ' - declare -f package_mesa | \ - sed ' - \,rm .*/vulkan;,d - \,bellagio,d - \,fakeinstall/usr/lib/d3d,d - \,fakeinstall/usr/lib/libOSMesa\.so\*,d - \,fakeinstall/usr/lib/libxatracker\.so\*,d - ' - )" -else - eval "$( - declare -f package_vulkan-intel package_vulkan-radeon package_opencl-mesa package_libva-mesa-driver package_mesa-vdpau | \ - sed ' - /^\s*{\s*$/ a arch=('"$( - printf '%s\n' "${arch[@]}" | \ - grep -vxF 'i486' | \ - tr '\n' ' ' - )"') + s/-D b_lto=true/-D b_lto=false/ ' )" fi -# break cycle with conflicting installation files between mesa and libglvnd -# (indirect dependency via libva) -# i486-specific +# See https://bugs.freedesktop.org/show_bug.cgi?id=93089 +# do not build/package vulkan on i486 +# do not build i915,i965 on i486 +# libclc doesn't build at all on 32-bit if [ "$CARCH" = 'i486' ]; then eval "$( - declare -f package_mesa | \ - sed ' - $ i rm -rf $pkgdir/usr/include/EGL/egl.h \ - rm -rf $pkgdir/usr/include/EGL/eglext.h \ - rm -rf $pkgdir/usr/include/EGL/eglplatform.h \ - rm -rf $pkgdir/usr/include/GL/gl.h \ - rm -rf $pkgdir/usr/include/GL/glcorearb.h \ - rm -rf $pkgdir/usr/include/GL/glext.h \ - rm -rf $pkgdir/usr/include/GL/glx.h \ - rm -rf $pkgdir/usr/include/GL/glxext.h \ - rm -rf $pkgdir/usr/include/GLES2/gl2.h \ - rm -rf $pkgdir/usr/include/GLES2/gl2ext.h \ - rm -rf $pkgdir/usr/include/GLES2/gl2platform.h \ - rm -rf $pkgdir/usr/include/GLES3/gl3.h \ - rm -rf $pkgdir/usr/include/GLES3/gl31.h \ - rm -rf $pkgdir/usr/include/GLES3/gl32.h \ - rm -rf $pkgdir/usr/include/GLES3/gl3ext.h \ - rm -rf $pkgdir/usr/include/GLES3/gl3platform.h \ - rm -rf $pkgdir/usr/include/KHR/khrplatform.h \ - rm -rf $pkgdir/usr/lib/pkgconfig/egl.pc \ - rm -rf $pkgdir/usr/lib/pkgconfig/gl.pc \ - rm -rf $pkgdir/usr/lib/pkgconfig/glesv2.pc - ' - declare -f package_vulkan-mesa-layers | \ + declare -f build | \ sed ' - 3 i if false; then - $ i fi + s/\(-D vulkan-drivers=\)\S\+ /\1 / ' - declare -f package_vulkan-swrast | \ + declare -f package_mesa | \ sed ' - 3 i if false; then - $ i fi + \,rm .*/vulkan;,d ' declare -f package_vulkan-intel | \ sed ' @@ -99,54 +47,41 @@ if [ "$CARCH" = 'i486' ]; then 3 i if false; then $ i fi ' - declare -f package_opencl-mesa | \ - sed ' - 3 i if false; then - $ i fi - ' - declare -f package_libva-mesa-driver | \ - sed ' - 3 i if false; then - $ i fi - ' - declare -f package_libva-mesa-vdpau | \ + declare -f package_vulkan-swrast | \ sed ' 3 i if false; then $ i fi ' - declare -f package_mesa-vdpau | \ + declare -f package_opencl-mesa | \ sed ' 3 i if false; then $ i fi ' - ) - " -fi - -# add libdrm and libxshmfence explocitily for now, as deep down in th -# dependency tree as reasonable instead of patching all packages failing above -if [ "$CARCH" = 'i486' ]; then - depends+=(libdrm) - depends+=(libxshmfence) - depends+=(wayland) -fi - -# defaults changed to SSE2 enabled by default, disable it -if [ "$CARCH" = 'i686' -o "$CARCH" = 'i486' ]; then - eval "$( - declare -f build | \ - sed ' - s/arch-meson /arch-meson -Dsse2=false / - ' )" fi -# LTO on i486 results in out-of-memory -if [ "$CARCH" == 'i486' ]; then +# disable rust stuff on i486 +if [ "$CARCH" = 'i486' ]; then eval "$( declare -f build | \ sed ' - s/-D b_lto=true/-D b_lto=false/ + s/-D gallium-rusticl=true/-D gallium-rusticl=false/g + s/-D rust_std=\S\+// + ' + declare -f package_vulkan-virtio | \ + sed ' + /.*virtio_icd.*json.*/d + /.*libvulkan_virtio.so.*/d ' )" + makedepends=(${makedepends[@]//rust-bindgen/}) + makedepends=(${makedepends[@]//rust/}) fi + +# this just fails and annoys me +eval "$( + declare -f package_mesa | \ + sed ' + /find.*rmdir/d + ' +)" |