From 5ddb49c989ce2b5fba3a9591af5a9543f6400a6f Mon Sep 17 00:00:00 2001 From: maxice8 Date: Fri, 27 Jul 2018 20:02:23 -0300 Subject: [PATCH] libGL: update to 18.1.5. --- srcpkgs/libGL/patches/add-glx-use-tls.patch | 47 ++++++++++ .../patches/fix-libGLESv1-versioning.patch | 15 +++ .../patches/fix-libXvMC-versioning.patch | 15 +++ srcpkgs/libGL/template | 91 +++++++++---------- 4 files changed, 120 insertions(+), 48 deletions(-) create mode 100644 srcpkgs/libGL/patches/add-glx-use-tls.patch create mode 100644 srcpkgs/libGL/patches/fix-libGLESv1-versioning.patch create mode 100644 srcpkgs/libGL/patches/fix-libXvMC-versioning.patch diff --git a/srcpkgs/libGL/patches/add-glx-use-tls.patch b/srcpkgs/libGL/patches/add-glx-use-tls.patch new file mode 100644 index 00000000000..7ded1a1b2ee --- /dev/null +++ b/srcpkgs/libGL/patches/add-glx-use-tls.patch @@ -0,0 +1,47 @@ +From f895a39b7437381a86383dd97250aa2cc7393bff Mon Sep 17 00:00:00 2001 +From: maxice8 +Date: Thu, 9 Aug 2018 18:37:30 -0300 +Subject: [PATCH] meson: add glx-use-tls option. + +--- + meson.build | 6 +++++- + meson_options.txt | 6 ++++++ + 2 files changed, 11 insertions(+), 1 deletion(-) + +diff --git a/meson.build b/meson.build +index 5dbb786..1ab3092 100644 +--- meson.build ++++ meson.build +@@ -340,7 +340,11 @@ if with_egl and not (with_platform_drm or with_platform_surfaceless) + endif + endif + +-pre_args += '-DGLX_USE_TLS' ++with_glx_use_tls = get_option('glx-use-tls') ++if with_glx_use_tls ++ pre_args += '-DGLX_USE_TLS' ++endif ++ + if with_glx != 'disabled' + if not (with_platform_x11 and with_any_opengl) + if with_glx == 'auto' +diff --git a/meson_options.txt b/meson_options.txt +index 496fe38..12981dd 100644 +--- meson_options.txt ++++ meson_options.txt +@@ -195,6 +195,12 @@ option( + choices : ['auto', 'disabled', 'dri', 'xlib', 'gallium-xlib'], + description : 'Build support for GLX platform' + ) ++option( ++ 'glx-use-tls', ++ type : 'boolean', ++ value : true, ++ description : 'Build support for initial-exec TLS model on GLX platform' ++) + option( + 'egl', + type : 'combo', +-- +2.18.0 + diff --git a/srcpkgs/libGL/patches/fix-libGLESv1-versioning.patch b/srcpkgs/libGL/patches/fix-libGLESv1-versioning.patch new file mode 100644 index 00000000000..602dcc6be5f --- /dev/null +++ b/srcpkgs/libGL/patches/fix-libGLESv1-versioning.patch @@ -0,0 +1,15 @@ +Source: maxice8 +Upstream: no +Reason: restores version of libGLESv1 library that was on autotools + +--- src/mapi/es1api/meson.build ++++ src/mapi/es1api/meson.build +@@ -38,7 +38,7 @@ libglesv1_cm = shared_library( + include_directories : [inc_src, inc_include, inc_mapi], + link_with : libglapi, + dependencies : [dep_thread, dep_libdrm, dep_m, dep_dl], +- version : '1.0.0', ++ version : '1.1.0', + install : true, + ) + diff --git a/srcpkgs/libGL/patches/fix-libXvMC-versioning.patch b/srcpkgs/libGL/patches/fix-libXvMC-versioning.patch new file mode 100644 index 00000000000..b2f507bc76e --- /dev/null +++ b/srcpkgs/libGL/patches/fix-libXvMC-versioning.patch @@ -0,0 +1,15 @@ +Source: maxice8 +Upstream: no +Reason: restores versioning of libXvMC drivers that was on autotools + +--- src/gallium/targets/xvmc/meson.build ++++ src/gallium/targets/xvmc/meson.build +@@ -51,7 +51,7 @@ libxvmc_gallium = shared_library( + + foreach d : [[with_gallium_r600, 'r600'], [with_gallium_nouveau, 'nouveau']] + if d[0] +- xvmc_drivers += 'libXvMC@0@.so'.format(d[1]) ++ xvmc_drivers += 'libXvMC@0@.so.1.0.0'.format(d[1]) + endif + endforeach + diff --git a/srcpkgs/libGL/template b/srcpkgs/libGL/template index f2ea32befd9..a29804d2418 100644 --- a/srcpkgs/libGL/template +++ b/srcpkgs/libGL/template @@ -1,24 +1,26 @@ # Template file for 'libGL' pkgname=libGL -version=18.1.4 -revision=4 +version=18.1.5 +revision=1 wrksrc="mesa-${version}" -build_style=gnu-configure -configure_args="--enable-shared-glapi --enable-gbm - --enable-egl --enable-vdpau --enable-xvmc --enable-osmesa - --enable-texture-float --enable-gles1 --enable-gles2 - --with-platforms=x11,drm" -hostmakedepends="automake flex libtool libxml2-python llvm pkg-config - python-Mako" +build_style=meson +configure_args="-Dshared-glapi=true -Dgbm=true -Degl=true + -Dgallium-vdpau=true -Dgallium-xvmc=true -Dosmesa=gallium + -Dtexture-float=true -Dgles1=true -Dgles2=true -Dgallium-va=true + -Dplatforms=x11,drm,wayland,surfaceless -Dllvm=true -Dlmsensors=true" +hostmakedepends="flex libxml2-python llvm pkg-config + python-Mako wayland-protocols wayland-devel" makedepends="elfutils-devel expat-devel libXdamage-devel libXvMC-devel libXxf86vm-devel libatomic-devel libdrm-devel libffi-devel libva-devel - libvdpau-devel libxshmfence-devel ncurses-devel talloc-devel zlib-devel" + libvdpau-devel libxshmfence-devel ncurses-devel talloc-devel zlib-devel + wayland-devel wayland-protocols llvm libsensors-devel" short_desc="Graphics library similar to SGI's OpenGL" maintainer="Juan RP " license="MIT, LGPL-2.1-or-later" homepage="https://www.mesa3d.org/" +changelog="https://www.mesa3d.org/relnotes/${version}.html" distfiles="https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz" -checksum=3061488b5d85504092cf4343816cfb2d96f2ad9bc2edec31fc96933d184cf58b +checksum=69dbe6f1a6660386f5beb85d4fcf003ee23023ed7b9a603de84e9a37e8d98dea conf_files="/etc/drirc" # Set subpackages manually to set proper rdeps in 32bit pkgs. @@ -27,76 +29,70 @@ subpackages="libglapi libgbm libEGL libGLES libOSMesa libwayland-egl" case "$XBPS_TARGET_MACHINE" in i686*|x86_64*) # Enable all x86 drivers. - configure_args+=" --with-gallium-drivers=r300,r600,radeonsi,svga,swrast,nouveau,virgl" - configure_args+=" --with-dri-drivers=i915,i965,r200,radeon,nouveau,swrast" - configure_args+=" --enable-xa --enable-dri3 --enable-nine" - configure_args+=" --with-vulkan-drivers=intel,radeon" - configure_args+=" --enable-opencl --enable-opencl-icd" + configure_args+=" -Dgallium-drivers=r300,r600,radeonsi,svga,swrast,nouveau,virgl" + configure_args+=" -Ddri-drivers=i915,i965,r100,r200,nouveau" + configure_args+=" -Dgallium-xa=true -Ddri3=true -Dgallium-nine=true" + configure_args+=" -Dvulkan-drivers=intel,amd" + configure_args+=" -Dgallium-opencl=icd" hostmakedepends+=" clang libclc-git" subpackages+=" libxatracker mesa-ati-dri mesa-intel-dri mesa-nouveau-dri" subpackages+=" mesa-vmwgfx-dri mesa-opencl" ;; aarch64*) - configure_args+=" --with-gallium-drivers=nouveau,tegra,swrast,vc4" - configure_args+=" --with-dri-drivers=swrast" - configure_args+=" --enable-dri3" + configure_args+=" -Dgallium-drivers=nouveau,tegra,swrast,vc4" + configure_args+=" -Dvulkan-drivers= -Ddri-drivers=" + configure_args+=" -Ddri3=true" subpackages+=" mesa-tegra-dri mesa-nouveau-dri mesa-vc4-dri" ;; armv7l*) # Enable Videocore IV and swrast for RaspberryPi - configure_args+=" --with-gallium-drivers=swrast,vc4" - configure_args+=" --with-dri-drivers=swrast" - configure_args+=" --disable-xa" + configure_args+=" -Dgallium-drivers=swrast,vc4" + configure_args+=" -Dvulkan-drivers= -Ddri-drivers= -Dgallium-xvmc=false" + configure_args+=" -Dgallium-xa=false -Dgallium-vdpau=false -Dgallium-va=false" subpackages+=" mesa-vc4-dri" ;; *) # Enable swrast driver. - configure_args+=" --with-gallium-drivers=swrast" - configure_args+=" --with-dri-drivers=swrast" - configure_args+=" --disable-xa" + configure_args+=" -Dgallium-drivers=swrast" + configure_args+=" -Ddri-drivers= -Dvulkan-drivers= -Dgallium-va=false" + configure_args+=" -Dgallium-vdpau=false -Dgallium-xvmc=false" + configure_args+=" -Dgallium-xa=false" ;; esac + case "$XBPS_TARGET_MACHINE" in -armv[5-6]*) - # Enable MISSING_64BIT_ATOMICS for armv[56]* - CFLAGS+=" -DMISSING_64BIT_ATOMICS=1" - CXXFLAGS+=" -DMISSING_64BIT_ATOMICS=1" - ;; + armv[5-6]*) + # Enable MISSING_64BIT_ATOMICS for armv[56]* + CFLAGS+=" -DMISSING_64BIT_ATOMICS=1" + CXXFLAGS+=" -DMISSING_64BIT_ATOMICS=1" + ;; esac # -devel must be the last one for proper order. subpackages+=" MesaLib-devel" case "$XBPS_TARGET_MACHINE" in - i686) configure_args+=" --with-dri-driverdir=/usr/lib32/xorg/modules/drivers";; - *) configure_args+=" --with-dri-driverdir=/usr/lib/xorg/modules/drivers";; + i686) configure_args+=" -Ddri-drivers-path=/usr/lib32/xorg/modules/drivers";; + *) configure_args+=" -Ddri-drivers-path=/usr/lib/xorg/modules/drivers";; esac + case "$XBPS_TARGET_MACHINE" in # Disable TLS with musl: https://bugs.freedesktop.org/show_bug.cgi?id=35268 # Disable D3D9 state tracker: needs fpu_control.h - *-musl) configure_args+=" --disable-glx-tls --disable-nine";; - *) configure_args+=" --enable-glx-tls";; + *-musl) configure_args+=" -Dglx-use-tls=false -Dgallium-nine=false";; + *) configure_args+=" -Dglx=dri";; esac -pre_configure() { - libtoolize -f - NOCONFIGURE=1 ./autogen.sh - case "$XBPS_TARGET_MACHINE" in - armv6*) sed -i src/gallium/drivers/vc4/Makefile.am \ - -e 's;\(libvc4_neon_la_SOURCES =\) vc4_tiling_lt.c;\1;' \ - -e 's;\(libvc4_neon_la_CFLAGS = $(AM_CFLAGS)\) -DVC4_BUILD_NEON;\1;' - ;; - esac -} - post_install() { vlicense docs/license.html vmkdir usr/lib/xorg/modules/extensions ln -s libglx-xorg.so ${DESTDIR}/usr/lib/xorg/modules/extensions/libglx.so if [ -d "$DESTDIR/usr/lib32" ]; then - mv "$DESTDIR/usr/lib32/d3d" "$DESTDIR/usr/lib" - mv "$DESTDIR/usr/lib32/pkgconfig"/* "$DESTDIR/usr/lib/pkgconfig" + rm -f ${DESTDIR}/usr/lib32/libwayland-egl.so* + rm -f ${DESTDIR}/usr/lib32/pkgconfig/wayland-egl.pc fi + rm -f ${DESTDIR}/usr/lib/libwayland-egl.so* + rm -f ${DESTDIR}/usr/lib/pkgconfig/wayland-egl.pc } libglapi_package() { @@ -234,6 +230,5 @@ mesa-tegra-dri_package() { depends="mesa-nouveau-dri" pkg_install() { vmove "usr/lib/xorg/modules/drivers/tegra*" - vmove "usr/lib/vdpau/libvdpau_tegra*" } }