summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /x11-libs/libdrm
downloadgentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2
gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip
proj/gentoo: Initial commit
This commit represents a new era for Gentoo: Storing the gentoo-x86 tree in Git, as converted from CVS. This commit is the start of the NEW history. Any historical data is intended to be grafted onto this point. Creation process: 1. Take final CVS checkout snapshot 2. Remove ALL ChangeLog* files 3. Transform all Manifests to thin 4. Remove empty Manifests 5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$ 5.1. Do not touch files with -kb/-ko keyword flags. Signed-off-by: Robin H. Johnson <robbat2@gentoo.org> X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'x11-libs/libdrm')
-rw-r--r--x11-libs/libdrm/Manifest10
-rw-r--r--x11-libs/libdrm/files/2.4.18-0001-datatypes.patch21
-rw-r--r--x11-libs/libdrm/files/libdrm-2.4.28-solaris.patch111
-rw-r--r--x11-libs/libdrm/files/libdrm-2.4.58-solaris.patch104
-rw-r--r--x11-libs/libdrm/libdrm-2.4.20-r1.ebuild48
-rw-r--r--x11-libs/libdrm/libdrm-2.4.33.ebuild55
-rw-r--r--x11-libs/libdrm/libdrm-2.4.46.ebuild57
-rw-r--r--x11-libs/libdrm/libdrm-2.4.52.ebuild60
-rw-r--r--x11-libs/libdrm/libdrm-2.4.53.ebuild60
-rw-r--r--x11-libs/libdrm/libdrm-2.4.54.ebuild60
-rw-r--r--x11-libs/libdrm/libdrm-2.4.56.ebuild57
-rw-r--r--x11-libs/libdrm/libdrm-2.4.58.ebuild57
-rw-r--r--x11-libs/libdrm/libdrm-2.4.59-r1.ebuild66
-rw-r--r--x11-libs/libdrm/libdrm-2.4.59.ebuild58
-rw-r--r--x11-libs/libdrm/libdrm-2.4.62.ebuild60
-rw-r--r--x11-libs/libdrm/metadata.xml9
16 files changed, 893 insertions, 0 deletions
diff --git a/x11-libs/libdrm/Manifest b/x11-libs/libdrm/Manifest
new file mode 100644
index 000000000000..b28243c3317b
--- /dev/null
+++ b/x11-libs/libdrm/Manifest
@@ -0,0 +1,10 @@
+DIST libdrm-2.4.20.tar.bz2 400812 SHA256 24b5316839c1d459066eaee160132d45931462e301740a660932907350415cb9 SHA512 fa7a042a80b71057b7d15a36c7902e1882abb23dea77cabfa2e78590d9477d8e0259364f0e2eb6005b316254be2c728e295c114b1fe365074438539bc3dd9392 WHIRLPOOL 92a9fba9f64d0c988e8e6bcbdd1798583a420bc1287b4e85c1ca9a84c5fd3c95e5079dc111eee89811038832a5a90139780292d43554257465c99726b7f27661
+DIST libdrm-2.4.33.tar.bz2 446817 SHA256 2d7b9d94ada0e3a6ede6243509883df2ded01c2983e24322759a366283898fea SHA512 ac355bab87c87b8540218401f89ad16ece0e6fdd28d937e41e8a4765d7f9792798f7e74d27f3b57c49d1d8dd3909d6668e10b0139b1c35bbab5ab9002ff64c1e WHIRLPOOL 5ebeb22ef22f8fceba628768725bbfe54316f7dcf41ea2b454ba5a504aae65bb3e918269fffadd8a13975e79eeecf50274f2ffa24d6ef42a13e7e3874a5b9bf4
+DIST libdrm-2.4.46.tar.bz2 554190 SHA256 33cf320dad4e8060768714792e12643ddf6756a719d262ba7d60b39c2b2650f1 SHA512 9e1699e28b034b5dd7acccd76b9f4e83ff10bb2b62107282f1e02046c1d6e8f0b5abbab318f23967dc23d4d5afdeb3e78793384801da5cfeaba7567f837242c6 WHIRLPOOL 7c9bd1074cf1cab9cd8d5814d9b55d26cb0d6e9b4f0a959324ad0d6d20c185155ae1480b3be82603b83ca94b446518dca7994d21e5ee56cca76bcbfd39183539
+DIST libdrm-2.4.52.tar.bz2 551473 SHA256 fa693c2f1f61befcefbdcc396673e38481110bac9db610afa4b8afb2be0218c1 SHA512 1cbd8898504d2a093f010216070507f41134a3f3cc4b94998feec33da651ec493b92fbf0beb65fe1734528e75ac6e94bc982de6b5ee277435622f974b1badcc5 WHIRLPOOL 8f3c10180e1f524aa3a295ebc1fc977a5e13af834b78c19887ed5ddb8785302632ef8723bf4f1320cafebc5420e13610be64e8ff462451068e4032978f0ea9d6
+DIST libdrm-2.4.53.tar.bz2 579171 SHA256 1b0c28fd2f2b92d2df0a73d1aed88f43cb0dee1267aea6bc52ccb5fca5757a08 SHA512 5c4c16cbabf9b8f882503e645d1be11dbafa4d75b7e0536f824ca43f4a2a8f62a11c32b900c408862eade493f9eb56d92d323e1cc1945e2bacf05360ca2d4de3 WHIRLPOOL 6c3764c1347a6e3a455e847f6e3ecfa7b7b209e86039460071d40c2efb88f272ac62bfc64ebe98954bee6561fe9795bb6aaa2a3ca5d6efe01fb8a34fc56b58bb
+DIST libdrm-2.4.54.tar.bz2 644930 SHA256 d94001ebfbe80e1523d1228ee2df57294698d1c734fad9ccf53efde8932fe4e9 SHA512 61b38df8ed2a4522a28605eb63a6e5c4dca89c7b24c7863f1046da3d34dca823856210abe3ef7eb7e5804bbc34712dc6203e60134a9398da3ba01b8bd7fe9dc5 WHIRLPOOL 1394c24c030f034a4fea7afa5cc3c2eac2641c1bbaa3611ee56efaae7fdfff5c562c58ca076fb7963a79a95cc3aee446e862d1a358e4465229dc8a036793131d
+DIST libdrm-2.4.56.tar.bz2 590856 SHA256 e20fbbe092177a8422913d8884a1255477456ab5b10b07389fa891a4dce54030 SHA512 5ad28ddcfad666c207a7d7c6139140182bd96c0f2c6befafbb03a9f50aa40119366cc8750025626c7c2570416a6e9476ab5102b4075562b52cdca577ded5d64c WHIRLPOOL 5995bb10400bdfaba3db2aee929df63d5be773e30511c58c10bda7360598edba14a0cad45d9f3d783d8a37232d1ab7e07544eb982fc1bfb0172440a12136db19
+DIST libdrm-2.4.58.tar.bz2 573202 SHA256 b155fae6b9c9a3b02ef8b77f58c7c219194c996a4018dc55ba66c03996a365dd SHA512 26776b3f93fe173f4e0f94668813ec1a756d9f15385d1cad70c7af8d4d5d503aef00e14081c76f6fcac6e0c606e106e47ddf76038f8601b71fc380306536f937 WHIRLPOOL 36d8915b3189fd0722f96698ce5e7a94188859c7372631c4126b0e09e8fa6dbd4e34de5e9d62e053c36e9f431d84d68d327be307d69caf92e1016893e77cf190
+DIST libdrm-2.4.59.tar.bz2 592722 SHA256 68d26e1fd85582f4243d66864f9b43ca4ee93662825de32b5506fc8e181ea41b SHA512 b9f61cfd47cf4a02c10e7fe79b0e9c5701383c76425cf4985a9b91d909f905334ca1ace7334aa0a4ab400694ad84a1a3bc1c3f29842d808026702b35fa9f87c3 WHIRLPOOL 6b0e1be70164db86152503e4b72373736f0462ff97ffac2c79a6c1fce83d658e6030d5435be5a61c1f6ca50728db4c7e3a5d8f5e48073fc74169696ff1b7c5be
+DIST libdrm-2.4.62.tar.bz2 637472 SHA256 906c294bdbe1c94c3ca084305d61a6e5a8367f3b4986e6cc13b1e9b3f75931dc SHA512 f7e2ef79c80dd0c3a837970052b7e66110e9b99d3e87b3cd278646bb4cb39832a9562144016a7e956a85212d9251b191279f5ba25d7e8bc0bfbfc1a311df3873 WHIRLPOOL e9ca493f01598bcb7e5664c531e48e74570a7ee0c754794ed2247314123821509448d62290b594073389ff545a019e24305d365ba7435f933665cc57d85385dc
diff --git a/x11-libs/libdrm/files/2.4.18-0001-datatypes.patch b/x11-libs/libdrm/files/2.4.18-0001-datatypes.patch
new file mode 100644
index 000000000000..6a1bfafcbb1b
--- /dev/null
+++ b/x11-libs/libdrm/files/2.4.18-0001-datatypes.patch
@@ -0,0 +1,21 @@
+diff --git a/include/drm/drm_mode.h b/include/drm/drm_mode.h
+index dfc390e..49b3b54 100644
+--- a/include/drm/drm_mode.h
++++ b/include/drm/drm_mode.h
+@@ -308,11 +308,11 @@ struct drm_mode_crtc_lut {
+ #define DRM_MODE_PAGE_FLIP_FLAGS DRM_MODE_PAGE_FLIP_EVENT
+
+ struct drm_mode_crtc_page_flip {
+- uint32_t crtc_id;
+- uint32_t fb_id;
+- uint32_t flags;
+- uint32_t reserved;
+- uint64_t user_data;
++ __u32 crtc_id;
++ __u32 fb_id;
++ __u32 flags;
++ __u32 reserved;
++ __u64 user_data;
+ };
+
+ #endif
diff --git a/x11-libs/libdrm/files/libdrm-2.4.28-solaris.patch b/x11-libs/libdrm/files/libdrm-2.4.28-solaris.patch
new file mode 100644
index 000000000000..0311a001a0b6
--- /dev/null
+++ b/x11-libs/libdrm/files/libdrm-2.4.28-solaris.patch
@@ -0,0 +1,111 @@
+Index: libdrm-2.4.23/include/drm/drm.h
+===================================================================
+--- libdrm-2.4.23.orig/include/drm/drm.h
++++ libdrm-2.4.23/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
+ };
+
+ /**
+Index: libdrm-2.4.23/radeon/radeon_bo_gem.c
+===================================================================
+--- libdrm-2.4.23.orig/radeon/radeon_bo_gem.c
++++ libdrm-2.4.23/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 "xf86drm.h"
+ #include "xf86atomic.h"
+ #include "drm.h"
+Index: libdrm-2.4.23/xf86drm.c
+===================================================================
+--- libdrm-2.4.23.orig/xf86drm.c
++++ libdrm-2.4.23/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;
+
+Index: libdrm-2.4.23/xf86drm.h
+===================================================================
+--- libdrm-2.4.23.orig/xf86drm.h
++++ libdrm-2.4.23/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/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.20-r1.ebuild b/x11-libs/libdrm/libdrm-2.4.20-r1.ebuild
new file mode 100644
index 000000000000..21196c46eb20
--- /dev/null
+++ b/x11-libs/libdrm/libdrm-2.4.20-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=3
+inherit xorg-2
+
+EGIT_REPO_URI="git://anongit.freedesktop.org/git/mesa/drm"
+
+DESCRIPTION="X.Org libdrm library"
+HOMEPAGE="http://dri.freedesktop.org/"
+if [[ ${PV} = 9999* ]]; then
+ SRC_URI=""
+else
+ SRC_URI="http://dri.freedesktop.org/${PN}/${P}.tar.bz2"
+fi
+
+KEYWORDS="~x86-fbsd"
+IUSE="kernel_linux"
+RESTRICT="test" # see bug #236845
+
+RDEPEND="dev-libs/libpthread-stubs"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ # Fixes buidling of x11-drivers/xf86-video-openchrome, Gentoo bug 298352,
+ # upstream bug 26994
+ "${FILESDIR}"/2.4.18-0001-datatypes.patch
+ )
+
+pkg_setup() {
+ # libdrm_intel fails to build on some arches if dev-libs/libatomic_ops is
+ # installed, bugs 297630, bug 316421 and bug 316541, and is presently only
+ # useful on amd64 and x86.
+ CONFIGURE_OPTIONS="--enable-udev
+ --enable-nouveau-experimental-api
+ --enable-vmwgfx-experimental-api
+ $(use_enable kernel_linux libkms)
+ $(! use amd64 && ! use x86 && ! use x86-fbsd && echo "--disable-intel")"
+}
+
+pkg_postinst() {
+ x-modular_pkg_postinst
+
+ ewarn "libdrm's ABI may have changed without change in library name"
+ ewarn "Please rebuild media-libs/mesa, x11-base/xorg-server and"
+ ewarn "your video drivers in x11-drivers/*."
+}
diff --git a/x11-libs/libdrm/libdrm-2.4.33.ebuild b/x11-libs/libdrm/libdrm-2.4.33.ebuild
new file mode 100644
index 000000000000..f717bfc44098
--- /dev/null
+++ b/x11-libs/libdrm/libdrm-2.4.33.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2012 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=4
+inherit xorg-2
+
+EGIT_REPO_URI="git://anongit.freedesktop.org/git/mesa/drm"
+
+DESCRIPTION="X.Org libdrm library"
+HOMEPAGE="http://dri.freedesktop.org/"
+if [[ ${PV} = 9999* ]]; then
+ SRC_URI=""
+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 ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
+VIDEO_CARDS="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
+ video_cards_intel? ( >=x11-libs/libpciaccess-0.10 )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.4.28-solaris.patch
+)
+
+pkg_setup() {
+ XORG_CONFIGURE_OPTIONS=(
+ --enable-udev
+ $(use_enable video_cards_intel intel)
+ $(use_enable video_cards_nouveau nouveau-experimental-api)
+ $(use_enable video_cards_omap omap-experimental-api)
+ $(use_enable video_cards_radeon radeon)
+ $(use_enable video_cards_vmware vmwgfx-experimental-api)
+ $(use_enable libkms)
+ )
+
+ xorg-2_pkg_setup
+}
+
+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
+}
diff --git a/x11-libs/libdrm/libdrm-2.4.46.ebuild b/x11-libs/libdrm/libdrm-2.4.46.ebuild
new file mode 100644
index 000000000000..be340400a20a
--- /dev/null
+++ b/x11-libs/libdrm/libdrm-2.4.46.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+inherit xorg-2
+
+EGIT_REPO_URI="git://anongit.freedesktop.org/git/mesa/drm"
+
+DESCRIPTION="X.Org libdrm library"
+HOMEPAGE="http://dri.freedesktop.org/"
+if [[ ${PV} = 9999* ]]; then
+ SRC_URI=""
+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"
+REQUIRED_USE="video_cards_exynos? ( libkms )"
+RESTRICT="test" # see bug #236845
+
+RDEPEND="dev-libs/libpthread-stubs
+ video_cards_intel? ( >=x11-libs/libpciaccess-0.10 )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.4.28-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
+}
diff --git a/x11-libs/libdrm/libdrm-2.4.52.ebuild b/x11-libs/libdrm/libdrm-2.4.52.ebuild
new file mode 100644
index 000000000000..dfe86fa7d69f
--- /dev/null
+++ b/x11-libs/libdrm/libdrm-2.4.52.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+XORG_MULTILIB=yes
+inherit xorg-2
+
+EGIT_REPO_URI="git://anongit.freedesktop.org/git/mesa/drm"
+
+DESCRIPTION="X.Org libdrm library"
+HOMEPAGE="http://dri.freedesktop.org/"
+if [[ ${PV} = 9999* ]]; then
+ SRC_URI=""
+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"
+REQUIRED_USE="video_cards_exynos? ( 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.28-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
+}
diff --git a/x11-libs/libdrm/libdrm-2.4.53.ebuild b/x11-libs/libdrm/libdrm-2.4.53.ebuild
new file mode 100644
index 000000000000..b7c0be8556f7
--- /dev/null
+++ b/x11-libs/libdrm/libdrm-2.4.53.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+XORG_MULTILIB=yes
+inherit xorg-2
+
+EGIT_REPO_URI="git://anongit.freedesktop.org/git/mesa/drm"
+
+DESCRIPTION="X.Org libdrm library"
+HOMEPAGE="http://dri.freedesktop.org/"
+if [[ ${PV} = 9999* ]]; then
+ SRC_URI=""
+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"
+REQUIRED_USE="video_cards_exynos? ( 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.28-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
+}
diff --git a/x11-libs/libdrm/libdrm-2.4.54.ebuild b/x11-libs/libdrm/libdrm-2.4.54.ebuild
new file mode 100644
index 000000000000..b7c0be8556f7
--- /dev/null
+++ b/x11-libs/libdrm/libdrm-2.4.54.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+XORG_MULTILIB=yes
+inherit xorg-2
+
+EGIT_REPO_URI="git://anongit.freedesktop.org/git/mesa/drm"
+
+DESCRIPTION="X.Org libdrm library"
+HOMEPAGE="http://dri.freedesktop.org/"
+if [[ ${PV} = 9999* ]]; then
+ SRC_URI=""
+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"
+REQUIRED_USE="video_cards_exynos? ( 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.28-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
+}
diff --git a/x11-libs/libdrm/libdrm-2.4.56.ebuild b/x11-libs/libdrm/libdrm-2.4.56.ebuild
new file mode 100644
index 000000000000..7b983ed960a7
--- /dev/null
+++ b/x11-libs/libdrm/libdrm-2.4.56.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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.28-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
+}
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..23ebd9512cc9
--- /dev/null
+++ b/x11-libs/libdrm/libdrm-2.4.58.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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 ~arm64 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
+}
diff --git a/x11-libs/libdrm/libdrm-2.4.59-r1.ebuild b/x11-libs/libdrm/libdrm-2.4.59-r1.ebuild
new file mode 100644
index 000000000000..30edd1231c6b
--- /dev/null
+++ b/x11-libs/libdrm/libdrm-2.4.59-r1.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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 tegra vmware"
+for card in ${VIDEO_CARDS}; do
+ IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS} libkms valgrind"
+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}
+ valgrind? ( dev-util/valgrind )"
+
+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
+
+ # There is no configure flag for this.
+ sed -i -r \
+ -e "/have_valgrind=/s:=(yes|no):=$(usex valgrind):" \
+ configure || die
+}
+
+src_configure() {
+ XORG_CONFIGURE_OPTIONS=(
+ # Udev is only used by tests now.
+ --disable-udev
+ --disable-cairo-tests
+ $(use_enable video_cards_exynos exynos-experimental-api)
+ $(use_enable video_cards_freedreno freedreno)
+ $(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_tegra tegra-experimental-api)
+ $(use_enable video_cards_vmware vmwgfx)
+ $(use_enable libkms)
+ )
+ xorg-2_src_configure
+}
diff --git a/x11-libs/libdrm/libdrm-2.4.59.ebuild b/x11-libs/libdrm/libdrm-2.4.59.ebuild
new file mode 100644
index 000000000000..cee532b33d8f
--- /dev/null
+++ b/x11-libs/libdrm/libdrm-2.4.59.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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 tegra 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)
+ $(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_tegra tegra-experimental-api)
+ $(use_enable video_cards_vmware vmwgfx)
+ $(use_enable libkms)
+ )
+ xorg-2_src_configure
+}
diff --git a/x11-libs/libdrm/libdrm-2.4.62.ebuild b/x11-libs/libdrm/libdrm-2.4.62.ebuild
new file mode 100644
index 000000000000..3e5cc0621b4e
--- /dev/null
+++ b/x11-libs/libdrm/libdrm-2.4.62.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2015 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+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 ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~amd64-linux ~arm-linux ~x86-linux"
+VIDEO_CARDS="exynos freedreno intel nouveau omap radeon tegra vmware"
+for card in ${VIDEO_CARDS}; do
+ IUSE_VIDEO_CARDS+=" video_cards_${card}"
+done
+
+IUSE="${IUSE_VIDEO_CARDS} libkms valgrind"
+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}
+ valgrind? ( dev-util/valgrind )"
+
+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=(
+ # Udev is only used by tests now.
+ --disable-udev
+ --disable-cairo-tests
+ $(use_enable video_cards_exynos exynos-experimental-api)
+ $(use_enable video_cards_freedreno freedreno)
+ $(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_tegra tegra-experimental-api)
+ $(use_enable video_cards_vmware vmwgfx)
+ $(use_enable libkms)
+ # valgrind installs its .pc file to the pkgconfig for the primary arch
+ --enable-valgrind=$(usex valgrind auto no)
+ )
+
+ xorg-2_src_configure
+}
diff --git a/x11-libs/libdrm/metadata.xml b/x11-libs/libdrm/metadata.xml
new file mode 100644
index 000000000000..92b215648248
--- /dev/null
+++ b/x11-libs/libdrm/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<herd>x11</herd>
+<use>
+<flag name='libkms'>Enable building of libkms, a library for applications to interface with KMS</flag>
+<flag name='valgrind'>Compile in valgrind memory hints</flag>
+</use>
+</pkgmetadata>