diff options
author | Mike Frysinger <vapier@gentoo.org> | 2014-10-16 16:13:54 +0000 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2014-10-16 16:13:54 +0000 |
commit | 2c3e6287e32b4ec5b425acb5f2aa5867bdcf2c0c (patch) | |
tree | 13444c42871a74880ddb1e98d401311b7cc8a0ee | |
parent | Stable for HPPA (bug #525532). (diff) | |
download | gentoo-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/ChangeLog | 8 | ||||
-rw-r--r-- | x11-libs/libdrm/files/libdrm-2.4.58-solaris.patch | 104 | ||||
-rw-r--r-- | x11-libs/libdrm/libdrm-2.4.58.ebuild | 57 |
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 +} |