Home
       tx11-drivers/xf86-video-intel: Add 2.99.917 with musl-libc support. - parlay - yet another gentoo overlay
  HTML git clone https://git.parazyd.org/parlay
   DIR Log
   DIR Files
   DIR Refs
   DIR README
       ---
   DIR commit 8c2def76264e22617f349618df0b39fcb59e59a3
   DIR parent c19729b9a5f0295e99c48f51d7e23a849bbd158a
  HTML Author: parazyd <parazyd@dyne.org>
       Date:   Sun,  2 Oct 2016 22:13:16 +0200
       
       x11-drivers/xf86-video-intel: Add 2.99.917 with musl-libc support.
       
       Diffstat:
         A x11-drivers/xf86-video-intel/Manif… |       2 ++
         A x11-drivers/xf86-video-intel/files… |      65 +++++++++++++++++++++++++++++++
         A x11-drivers/xf86-video-intel/files… |      57 +++++++++++++++++++++++++++++++
         A x11-drivers/xf86-video-intel/files… |      27 +++++++++++++++++++++++++++
         A x11-drivers/xf86-video-intel/xf86-… |      76 +++++++++++++++++++++++++++++++
         A x11-drivers/xf86-video-intel/xf86-… |      84 +++++++++++++++++++++++++++++++
       
       6 files changed, 311 insertions(+), 0 deletions(-)
       ---
   DIR diff --git a/x11-drivers/xf86-video-intel/Manifest b/x11-drivers/xf86-video-intel/Manifest
       t@@ -0,0 +1,2 @@
       +DIST xf86-video-intel-2.99.917.tar.bz2 2259040 SHA256 00b781eea055582820a123c47b62411bdf6aabf4f03dc0568faec55faf9667c9 SHA512 cbf4d46ad1ad5e5587c0f1f620ff534ef0645270517b60056b9f03e83d8216e2f456de46352a06c37c0c46963cc4ed20b71b815b20ec1bf680ff046e535f580f WHIRLPOOL b26f1b303a27825120e1036f15493119e8869ebae74a2663204fe1ee63cf9fc217e593c469d6c33151a73c9ea6e9df88d0e3a0bb74ece5109b51593785fd4d7d
       +DIST xf86-video-intel-2.99.917_p20160829.tar.xz 942680 SHA256 0541e3a0eb3ee1a30968fa4a2ae0db9a1f5768d0931582f7fc647cc8ee26127e SHA512 7b35f1f994639f017c1201231f659704fb5f2ddbdda73d054780922e7f9a29a0dba859c477651c59be9d84831dd5473794a52cd18e97185dbbdb0c051cef5d26 WHIRLPOOL 53126bfb47e51371420715dbb5dde64828e734899debd022de2efa2d04cc069f70d88dae3e6a3b4f4e70887d315dae1d26605d8b591d1684583ed576f317f614
   DIR diff --git a/x11-drivers/xf86-video-intel/files/xf86-video-intel-2.99.917-libdrm-kernel-4_0-crash.patch b/x11-drivers/xf86-video-intel/files/xf86-video-intel-2.99.917-libdrm-kernel-4_0-crash.patch
       t@@ -0,0 +1,65 @@
       +From 7fe2b2948652443ff43d907855bd7a051d54d309 Mon Sep 17 00:00:00 2001
       +From: Chris Wilson <chris@chris-wilson.co.uk>
       +Date: Thu, 19 Mar 2015 23:14:17 +0000
       +Subject: sna: Protect against ABI breakage in recent versions of libdrm
       +
       +Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
       +
       +diff --git a/src/sna/kgem.c b/src/sna/kgem.c
       +index 11f0828..6f16cba 100644
       +--- a/src/sna/kgem.c
       ++++ b/src/sna/kgem.c
       +@@ -182,6 +182,15 @@ struct local_i915_gem_caching {
       + #define LOCAL_IOCTL_I915_GEM_SET_CACHING DRM_IOW(DRM_COMMAND_BASE + LOCAL_I915_GEM_SET_CACHING, struct local_i915_gem_caching)
       + #define LOCAL_IOCTL_I915_GEM_GET_CACHING DRM_IOW(DRM_COMMAND_BASE + LOCAL_I915_GEM_GET_CACHING, struct local_i915_gem_caching)
       + 
       ++struct local_i915_gem_mmap {
       ++        uint32_t handle;
       ++        uint32_t pad;
       ++        uint64_t offset;
       ++        uint64_t size;
       ++        uint64_t addr_ptr;
       ++};
       ++#define LOCAL_IOCTL_I915_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MMAP, struct local_i915_gem_mmap)
       ++
       + struct local_i915_gem_mmap2 {
       +         uint32_t handle;
       +         uint32_t pad;
       +@@ -514,15 +523,15 @@ retry_wc:
       + 
       + static void *__kgem_bo_map__cpu(struct kgem *kgem, struct kgem_bo *bo)
       + {
       +-        struct drm_i915_gem_mmap mmap_arg;
       ++        struct local_i915_gem_mmap arg;
       +         int err;
       + 
       + retry:
       +-        VG_CLEAR(mmap_arg);
       +-        mmap_arg.handle = bo->handle;
       +-        mmap_arg.offset = 0;
       +-        mmap_arg.size = bytes(bo);
       +-        if ((err = do_ioctl(kgem->fd, DRM_IOCTL_I915_GEM_MMAP, &mmap_arg))) {
       ++        VG_CLEAR(arg);
       ++        arg.handle = bo->handle;
       ++        arg.offset = 0;
       ++        arg.size = bytes(bo);
       ++        if ((err = do_ioctl(kgem->fd, LOCAL_IOCTL_I915_GEM_MMAP, &arg))) {
       +                 assert(err != EINVAL);
       + 
       +                 if (__kgem_throttle_retire(kgem, 0))
       +@@ -536,10 +545,10 @@ retry:
       +                 return NULL;
       +         }
       + 
       +-        VG(VALGRIND_MAKE_MEM_DEFINED(mmap_arg.addr_ptr, bytes(bo)));
       ++        VG(VALGRIND_MAKE_MEM_DEFINED(arg.addr_ptr, bytes(bo)));
       + 
       +         DBG(("%s: caching CPU vma for %d\n", __FUNCTION__, bo->handle));
       +-        return bo->map__cpu = (void *)(uintptr_t)mmap_arg.addr_ptr;
       ++        return bo->map__cpu = (void *)(uintptr_t)arg.addr_ptr;
       + }
       + 
       + static int gem_write(int fd, uint32_t handle,
       +-- 
       +cgit v0.10.2
       +
   DIR diff --git a/x11-drivers/xf86-video-intel/files/xf86-video-intel-2.99.917-sna-udev-fstat.patch b/x11-drivers/xf86-video-intel/files/xf86-video-intel-2.99.917-sna-udev-fstat.patch
       t@@ -0,0 +1,57 @@
       +From 12af8a575d1518d40416f83195049157c3a062a5 Mon Sep 17 00:00:00 2001
       +From: Chris Wilson <chris@chris-wilson.co.uk>
       +Date: Tue, 24 Feb 2015 15:25:40 +0000
       +Subject: sna: udev integration depends on fstat and sys/stat.h
       +
       +src/sna/sna_driver.c: In function 'sna_handle_uevents':
       +src/sna/sna_driver.c:759:2: error: implicit declaration of function 'fstat' [-Werror=implicit-function-declaration]
       +
       +Also take the opportunity to include udev support in the configure
       +summary.
       +
       +Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
       +
       +diff --git a/configure.ac b/configure.ac
       +index 7476e2b..de3a4b3 100644
       +--- a/configure.ac
       ++++ b/configure.ac
       +@@ -197,11 +197,15 @@ AC_ARG_ENABLE(udev,
       + 
       + if test "x$UDEV" != "xno"; then
       +         PKG_CHECK_MODULES(UDEV, [libudev], [udev="yes"], [udev="no"])
       ++        AC_CHECK_HEADERS([sys/stat.h], [], [udev="no"])
       +         if test "x$UDEV" = "xyes" -a "x$udev" != "xyes"; then
       +                 AC_MSG_ERROR([udev support requested but not found (libudev)])
       +         fi
       +         if test "x$udev" = "xyes"; then
       +                 AC_DEFINE(HAVE_UDEV,1,[Enable udev-based monitor hotplug detection])
       ++                udev_msg=" yes"
       ++        else
       ++                udev_msg=" no"
       +         fi
       + fi
       + 
       +@@ -911,6 +915,7 @@ echo "  Support for Kernel Mode Setting? $KMS"
       + echo "  Support for legacy User Mode Setting (for i810)? $UMS"
       + echo "  Support for Direct Rendering Infrastructure:$dri_msg"
       + echo "  Support for Xv motion compensation (XvMC and libXvMC):$xvmc_msg"
       ++echo "  Support for display hotplug notifications (udev):$udev_msg"
       + echo "  Build additional tools and utilities?$tools_msg"
       + if test -n "$xp_msg"; then
       + echo "  Experimental support:$xp_msg"
       +diff --git a/src/sna/sna_driver.c b/src/sna/sna_driver.c
       +index 8c0d0b5..bc20ef0 100644
       +--- a/src/sna/sna_driver.c
       ++++ b/src/sna/sna_driver.c
       +@@ -740,6 +740,8 @@ sna_wakeup_handler(WAKEUPHANDLER_ARGS_DECL)
       + }
       + 
       + #if HAVE_UDEV
       ++#include <sys/stat.h>
       ++
       + static void
       + sna_handle_uevents(int fd, void *closure)
       + {
       +-- 
       +cgit v0.10.2
       +
   DIR diff --git a/x11-drivers/xf86-video-intel/files/xf86-video-intel-2.99.917-uxa-udev-fstat.patch b/x11-drivers/xf86-video-intel/files/xf86-video-intel-2.99.917-uxa-udev-fstat.patch
       t@@ -0,0 +1,27 @@
       +From 369ceec0e4910ba2c37736a59c55c0d6c26433bf Mon Sep 17 00:00:00 2001
       +From: Chris Wilson <chris@chris-wilson.co.uk>
       +Date: Tue, 24 Feb 2015 15:25:40 +0000
       +Subject: uxa: udev integration depends on fstat and sys/stat.h
       +
       +src/uxa/intel_driver.c: In function 'I830HandleUEvents':
       +src/uxa/intel_driver.c:738:14: error: storage size of 's' isn't known
       +src/uxa/intel_driver.c:746:2: error: implicit declaration of function 'fstat' [-Werror=implicit-function-declaration]
       +
       +Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
       +
       +diff --git a/src/uxa/intel_driver.c b/src/uxa/intel_driver.c
       +index c554124..6e64b8c 100644
       +--- a/src/uxa/intel_driver.c
       ++++ b/src/uxa/intel_driver.c
       +@@ -728,6 +728,8 @@ intel_flush_callback(CallbackListPtr *list,
       + }
       + 
       + #if HAVE_UDEV
       ++#include <sys/stat.h>
       ++
       + static void
       + I830HandleUEvents(int fd, void *closure)
       + {
       +-- 
       +cgit v0.10.2
       +
   DIR diff --git a/x11-drivers/xf86-video-intel/xf86-video-intel-2.99.917-r999.ebuild b/x11-drivers/xf86-video-intel/xf86-video-intel-2.99.917-r999.ebuild
       t@@ -0,0 +1,76 @@
       +# Copyright 1999-2015 Gentoo Foundation
       +# Distributed under the terms of the GNU General Public License v2
       +# $Id$
       +
       +EAPI=5
       +
       +XORG_DRI=dri
       +XORG_EAUTORECONF=yes
       +inherit linux-info xorg-2
       +
       +DESCRIPTION="X.Org driver for Intel cards"
       +
       +KEYWORDS="amd64 x86 ~amd64-fbsd -x86-fbsd"
       +IUSE="debug +sna +udev uxa xvmc"
       +
       +REQUIRED_USE="
       +        || ( sna uxa )
       +"
       +
       +RDEPEND="x11-libs/libXext
       +        x11-libs/libXfixes
       +        >=x11-libs/pixman-0.27.1
       +        >=x11-libs/libdrm-2.4.29[video_cards_intel]
       +        sna? (
       +                >=x11-base/xorg-server-1.10
       +        )
       +        udev? (
       +                virtual/udev
       +        )
       +        xvmc? (
       +                x11-libs/libXvMC
       +                >=x11-libs/libxcb-1.5
       +                x11-libs/xcb-util
       +        )
       +"
       +DEPEND="${RDEPEND}
       +        >=x11-proto/dri2proto-2.6
       +        x11-proto/dri3proto
       +        x11-proto/presentproto
       +        x11-proto/resourceproto"
       +
       +PATCHES=(
       +        "${FILESDIR}"/${P}-sna-udev-fstat.patch
       +        "${FILESDIR}"/${P}-uxa-udev-fstat.patch
       +        "${FILESDIR}"/${P}-libdrm-kernel-4_0-crash.patch
       +)
       +
       +src_configure() {
       +        XORG_CONFIGURE_OPTIONS=(
       +                $(use_enable debug)
       +                $(use_enable dri)
       +                $(use_enable sna)
       +                $(use_enable uxa)
       +                $(use_enable udev)
       +                $(use_enable xvmc)
       +                # Legacy driver is broken on MUSL, so whole driver fails.
       +                --enable-kms-only
       +                --disable-dri3
       +        )
       +        xorg-2_src_configure
       +}
       +
       +pkg_postinst() {
       +        if linux_config_exists \
       +                && ! linux_chkconfig_present DRM_I915_KMS; then
       +                echo
       +                ewarn "This driver requires KMS support in your kernel"
       +                ewarn "  Device Drivers --->"
       +                ewarn "    Graphics support --->"
       +                ewarn "      Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)  --->"
       +                ewarn "      <*>   Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver)  --->"
       +                ewarn "              i915 driver"
       +                ewarn "      [*]       Enable modesetting on intel by default"
       +                echo
       +        fi
       +}
   DIR diff --git a/x11-drivers/xf86-video-intel/xf86-video-intel-2.99.917_p20160829-r999.ebuild b/x11-drivers/xf86-video-intel/xf86-video-intel-2.99.917_p20160829-r999.ebuild
       t@@ -0,0 +1,84 @@
       +# Copyright 1999-2016 Gentoo Foundation
       +# Distributed under the terms of the GNU General Public License v2
       +# $Id$
       +
       +EAPI=5
       +
       +XORG_DRI=dri
       +XORG_EAUTORECONF=yes
       +inherit linux-info xorg-2
       +
       +DESCRIPTION="X.Org driver for Intel cards"
       +
       +KEYWORDS="~amd64 ~x86 ~amd64-fbsd -x86-fbsd"
       +IUSE="debug dri3 +sna +udev uxa xvmc"
       +COMMIT_ID="74e4c131daf99eec381c77bef6611111e74da502"
       +SRC_URI="https://cgit.freedesktop.org/xorg/driver/xf86-video-intel/snapshot/${COMMIT_ID}.tar.xz -> ${P}.tar.xz"
       +
       +S=${WORKDIR}/${COMMIT_ID}
       +
       +REQUIRED_USE="
       +        || ( sna uxa )
       +"
       +RDEPEND="x11-libs/libXext
       +        x11-libs/libXfixes
       +        >=x11-libs/pixman-0.27.1
       +        >=x11-libs/libdrm-2.4.29[video_cards_intel]
       +        dri3? (
       +                >=x11-base/xorg-server-1.18
       +        )
       +        sna? (
       +                >=x11-base/xorg-server-1.10
       +        )
       +        udev? (
       +                virtual/udev
       +        )
       +        xvmc? (
       +                x11-libs/libXvMC
       +                >=x11-libs/libxcb-1.5
       +                x11-libs/xcb-util
       +        )
       +"
       +DEPEND="${RDEPEND}
       +        >=x11-proto/dri2proto-2.6
       +        x11-proto/dri3proto
       +        x11-proto/presentproto
       +        x11-proto/resourceproto"
       +
       +src_configure() {
       +        XORG_CONFIGURE_OPTIONS=(
       +                $(use_enable debug)
       +                $(use_enable dri)
       +                $(use_enable dri dri3)
       +                $(usex dri3 "--with-default-dri=3")
       +                $(use_enable sna)
       +                $(use_enable udev)
       +                $(use_enable uxa)
       +                $(use_enable xvmc)
       +                # Legacy driver is broken on MUSL, so whole driver fails.
       +                --enable-kms-only
       +        )
       +        xorg-2_src_configure
       +}
       +
       +pkg_postinst() {
       +        if linux_config_exists && \
       +                kernel_is -lt 4 3 && ! linux_chkconfig_present DRM_I915_KMS; then
       +                echo
       +                ewarn "This driver requires KMS support in your kernel"
       +                ewarn "  Device Drivers --->"
       +                ewarn "    Graphics support --->"
       +                ewarn "      Direct Rendering Manager (XFree86 4.1.0 and higher DRI support)  --->"
       +                ewarn "      <*>   Intel 830M, 845G, 852GM, 855GM, 865G (i915 driver)  --->"
       +                ewarn "              i915 driver"
       +                ewarn "      [*]       Enable modesetting on intel by default"
       +                echo
       +        fi
       +        if use dri3; then
       +                ewarn "There are reports of crashes when using DRI3, we recommend"
       +                ewarn "to be careful when enabling this option. Check the following"
       +                ewarn "bugs for discussion and a workaround patch for libdrm:"
       +                ewarn "https://bugs.freedesktop.org/show_bug.cgi?id=71759"
       +                ewarn "https://bugs.gentoo.org/show_bug.cgi?id=582544"
       +        fi
       +}