summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2014-10-16 16:13:54 +0000
committerMike Frysinger <vapier@gentoo.org>2014-10-16 16:13:54 +0000
commit2c3e6287e32b4ec5b425acb5f2aa5867bdcf2c0c (patch)
tree13444c42871a74880ddb1e98d401311b7cc8a0ee
parentStable for HPPA (bug #525532). (diff)
downloadgentoo-2-2c3e6287e32b4ec5b425acb5f2aa5867bdcf2c0c.tar.gz
gentoo-2-2c3e6287e32b4ec5b425acb5f2aa5867bdcf2c0c.tar.bz2
gentoo-2-2c3e6287e32b4ec5b425acb5f2aa5867bdcf2c0c.zip
Version bump #524878 by jospezial.
(Portage version: 2.2.14_rc1/cvs/Linux x86_64, signed Manifest commit with key D2E96200)
-rw-r--r--x11-libs/libdrm/ChangeLog8
-rw-r--r--x11-libs/libdrm/files/libdrm-2.4.58-solaris.patch104
-rw-r--r--x11-libs/libdrm/libdrm-2.4.58.ebuild57
3 files changed, 168 insertions, 1 deletions
diff --git a/x11-libs/libdrm/ChangeLog b/x11-libs/libdrm/ChangeLog
index 34bbf01a02d5..3ffc434eac8c 100644
--- a/x11-libs/libdrm/ChangeLog
+++ b/x11-libs/libdrm/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for x11-libs/libdrm
# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-libs/libdrm/ChangeLog,v 1.264 2014/09/22 19:12:47 mattst88 Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/libdrm/ChangeLog,v 1.265 2014/10/16 16:13:54 vapier Exp $
+
+*libdrm-2.4.58 (16 Oct 2014)
+
+ 16 Oct 2014; Mike Frysinger <vapier@gentoo.org>
+ +files/libdrm-2.4.58-solaris.patch, +libdrm-2.4.58.ebuild:
+ Version bump #524878 by jospezial.
*libdrm-2.4.56 (22 Sep 2014)
diff --git a/x11-libs/libdrm/files/libdrm-2.4.58-solaris.patch b/x11-libs/libdrm/files/libdrm-2.4.58-solaris.patch
new file mode 100644
index 000000000000..9e4110019815
--- /dev/null
+++ b/x11-libs/libdrm/files/libdrm-2.4.58-solaris.patch
@@ -0,0 +1,104 @@
+--- a/include/drm/drm.h
++++ b/include/drm/drm.h
+@@ -54,7 +54,11 @@ typedef int32_t __s32;
+ typedef uint32_t __u32;
+ typedef int64_t __s64;
+ typedef uint64_t __u64;
++#if defined(__sun)
++typedef unsigned long long drm_handle_t;
++#else
+ typedef unsigned long drm_handle_t;
++#endif
+
+ #endif
+
+@@ -210,12 +214,22 @@ struct drm_ctx_priv_map {
+ * \sa drmAddMap().
+ */
+ struct drm_map {
++#ifdef __sun
++ unsigned long long offset;
++ /**< Requested physical address (0 for SAREA)*/
++ unsigned long long handle;
++ /**< User-space: "Handle" to pass to mmap() */
++ /**< Kernel-space: kernel-virtual address */
++#else
+ unsigned long offset; /**< Requested physical address (0 for SAREA)*/
++#endif
+ unsigned long size; /**< Requested physical size (bytes) */
+ enum drm_map_type type; /**< Type of memory to map */
+ enum drm_map_flags flags; /**< Flags */
++#ifndef __sun
+ void *handle; /**< User-space: "Handle" to pass to mmap() */
+ /**< Kernel-space: kernel-virtual address */
++#endif
+ int mtrr; /**< MTRR slot used */
+ /* Private data */
+ };
+@@ -379,6 +393,9 @@ struct drm_buf_map {
+ void *virtual; /**< Mmap'd area in user-virtual */
+ #endif
+ struct drm_buf_pub *list; /**< Buffer information */
++#ifdef __sun
++ int fd;
++#endif
+ };
+
+ /**
+--- a/radeon/radeon_bo_gem.c
++++ b/radeon/radeon_bo_gem.c
+@@ -38,6 +38,13 @@
+ #include <string.h>
+ #include <sys/mman.h>
+ #include <errno.h>
++
++/* On solaris unistd.h and stropts.h are needed for ioctl */
++#ifdef __sun
++#include <unistd.h>
++#include <stropts.h>
++#endif
++
+ #include "libdrm.h"
+ #include "xf86drm.h"
+ #include "xf86atomic.h"
+ #include "drm.h"
+--- a/xf86drm.c
++++ b/xf86drm.c
+@@ -972,7 +972,11 @@ int drmRmMap(int fd, drm_handle_t handle
+ {
+ drm_map_t map;
+
++#ifdef __sun
++ map.handle = handle;
++#else
+ map.handle = (void *)(uintptr_t)handle;
++#endif
+
+ if(drmIoctl(fd, DRM_IOCTL_RM_MAP, &map))
+ return -errno;
+@@ -1210,6 +1214,9 @@ drmBufMapPtr drmMapBufs(int fd)
+ bufs.count = 0;
+ bufs.list = NULL;
+ bufs.virtual = NULL;
++#ifdef __sun
++ bufs.fd = fd;
++#endif
+ if (drmIoctl(fd, DRM_IOCTL_MAP_BUFS, &bufs))
+ return NULL;
+
+--- a/xf86drm.h
++++ b/xf86drm.h
+@@ -64,6 +64,13 @@
+
+ #endif
+
++#if defined(__sun) && !defined(_IOC)
++#define _IOC(dir, group, nr, size) \
++ (dir == DRM_IOC_READWRITE ? _IOWRN(group, nr, size) : \
++ (dir == DRM_IOC_WRITE ? _IOWN(group, nr, size) : \
++ /* dir == DRM_IOC_READ */ _IORN(group, nr, size) ))
++#endif
++
+ /* Defaults, if nothing set in xf86config */
+ #define DRM_DEV_UID 0
+ #define DRM_DEV_GID 0
diff --git a/x11-libs/libdrm/libdrm-2.4.58.ebuild b/x11-libs/libdrm/libdrm-2.4.58.ebuild
new file mode 100644
index 000000000000..79add2c66a90
--- /dev/null
+++ b/x11-libs/libdrm/libdrm-2.4.58.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-libs/libdrm/libdrm-2.4.58.ebuild,v 1.1 2014/10/16 16:13:54 vapier Exp $
+
+EAPI=5
+
+XORG_MULTILIB=yes
+inherit xorg-2
+
+DESCRIPTION="X.Org libdrm library"
+HOMEPAGE="http://dri.freedesktop.org/"
+if [[ ${PV} = 9999* ]]; then
+ EGIT_REPO_URI="git://anongit.freedesktop.org/git/mesa/drm"
+else
+ SRC_URI="http://dri.freedesktop.org/${PN}/${P}.tar.bz2"
+fi
+
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
+VIDEO_CARDS="exynos freedreno intel nouveau omap radeon vmware"
+for card in ${VIDEO_CARDS}; do
+ IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS} libkms"
+RESTRICT="test" # see bug #236845
+
+RDEPEND=">=dev-libs/libpthread-stubs-0.3-r1:=[${MULTILIB_USEDEP}]
+ video_cards_intel? ( >=x11-libs/libpciaccess-0.13.1-r1:=[${MULTILIB_USEDEP}] )
+ abi_x86_32? ( !app-emulation/emul-linux-x86-opengl[-abi_x86_32(-)] )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.4.58-solaris.patch
+)
+
+src_prepare() {
+ if [[ ${PV} = 9999* ]]; then
+ # tests are restricted, no point in building them
+ sed -ie 's/tests //' "${S}"/Makefile.am
+ fi
+ xorg-2_src_prepare
+}
+
+src_configure() {
+ XORG_CONFIGURE_OPTIONS=(
+ --enable-udev
+ $(use_enable video_cards_exynos exynos-experimental-api)
+ $(use_enable video_cards_freedreno freedreno-experimental-api)
+ $(use_enable video_cards_intel intel)
+ $(use_enable video_cards_nouveau nouveau)
+ $(use_enable video_cards_omap omap-experimental-api)
+ $(use_enable video_cards_radeon radeon)
+ $(use_enable video_cards_vmware vmwgfx)
+ $(use_enable libkms)
+ )
+ xorg-2_src_configure
+}