diff options
author | Ian Stakenvicius <axs@gentoo.org> | 2014-11-25 20:11:01 +0000 |
---|---|---|
committer | Ian Stakenvicius <axs@gentoo.org> | 2014-11-25 20:11:01 +0000 |
commit | dfa0f32112c6809dd7d5a37d0209c4bf785194d0 (patch) | |
tree | 7d81f638d71fb78f31429607d1bcf3b3b425f33b /media-libs | |
parent | mask sysfs flag on bsd for mesa, since bsd has no sysfs (diff) | |
download | gentoo-2-dfa0f32112c6809dd7d5a37d0209c4bf785194d0.tar.gz gentoo-2-dfa0f32112c6809dd7d5a37d0209c4bf785194d0.tar.bz2 gentoo-2-dfa0f32112c6809dd7d5a37d0209c4bf785194d0.zip |
Added sysfs use flag to allow libudev to be optional on linux, backported to 10.2.8 for stabilization
(Portage version: 2.2.8-r2/cvs/Linux x86_64, signed Manifest commit with key 2B6559ED)
Diffstat (limited to 'media-libs')
-rw-r--r-- | media-libs/mesa/ChangeLog | 8 | ||||
-rw-r--r-- | media-libs/mesa/files/mesa-10.2-sysfs-instead-of-libudev.patch | 378 | ||||
-rw-r--r-- | media-libs/mesa/mesa-10.2.8.ebuild | 11 | ||||
-rw-r--r-- | media-libs/mesa/mesa-10.3.0.ebuild | 8 | ||||
-rw-r--r-- | media-libs/mesa/mesa-10.3.1.ebuild | 8 | ||||
-rw-r--r-- | media-libs/mesa/mesa-10.3.4.ebuild | 8 | ||||
-rw-r--r-- | media-libs/mesa/metadata.xml | 1 |
7 files changed, 405 insertions, 17 deletions
diff --git a/media-libs/mesa/ChangeLog b/media-libs/mesa/ChangeLog index b6220fe77586..2ce2b3ff9c1b 100644 --- a/media-libs/mesa/ChangeLog +++ b/media-libs/mesa/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for media-libs/mesa # Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/ChangeLog,v 1.581 2014/11/22 04:51:57 mattst88 Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/ChangeLog,v 1.582 2014/11/25 20:11:01 axs Exp $ + + 25 Nov 2014; Ian Stakenvicius (_AxS_) <axs@gentoo.org> + +files/mesa-10.2-sysfs-instead-of-libudev.patch, mesa-10.2.8.ebuild, + mesa-10.3.0.ebuild, mesa-10.3.1.ebuild, mesa-10.3.4.ebuild, metadata.xml: + Added sysfs use flag to allow libudev to be optional on linux, backported to + 10.2.8 for stabilization *mesa-10.3.4 (22 Nov 2014) diff --git a/media-libs/mesa/files/mesa-10.2-sysfs-instead-of-libudev.patch b/media-libs/mesa/files/mesa-10.2-sysfs-instead-of-libudev.patch new file mode 100644 index 000000000000..6eed6acbe792 --- /dev/null +++ b/media-libs/mesa/files/mesa-10.2-sysfs-instead-of-libudev.patch @@ -0,0 +1,378 @@ +From 85b6f36ca5238dd3fec7c5fcacb8b7074ce53c8e Mon Sep 17 00:00:00 2001 +From: Gary Wong <gtw@gnu.org> +Date: Wed, 21 May 2014 21:07:42 -0600 +Subject: loader: add optional /sys filesystem method for PCI identification. + +Introduce a simple PCI identification method of looking up the answer +the /sys filesystem (available on Linux). Attempted after libudev, but +before DRM. + +Disabled by default (available only when the --enable-sysfs configure +option is specified). + +Signed-off-by: Gary Wong <gtw@gnu.org> +Acked-by: Emil Velikov <emil.l.velikov@gmail.com> + +Backported to mesa-10.2.8 by Ian Stakenvicius <axs@gentoo.org> + +--- a/configure.ac ++++ b/configure.ac +@@ -870,14 +870,21 @@ fi + + case "$host_os" in + linux*) +- need_libudev=yes ;; ++ need_pci_id=yes ;; + *) +- need_libudev=no ;; ++ need_pci_id=no ;; + esac + + PKG_CHECK_MODULES([LIBUDEV], [libudev >= $LIBUDEV_REQUIRED], + have_libudev=yes, have_libudev=no) + ++AC_ARG_ENABLE([sysfs], ++ [AS_HELP_STRING([--enable-sysfs], ++ [enable /sys PCI identification @<:@default=disabled@:>@])], ++ [have_sysfs="$enableval"], ++ [have_sysfs=no] ++) ++ + if test "x$enable_dri" = xyes; then + if test "$enable_static" = yes; then + AC_MSG_ERROR([Cannot use static libraries for DRI drivers]) +@@ -973,8 +980,15 @@ xyesno) + ;; + esac + ++have_pci_id=no + if test "$have_libudev" = yes; then + DEFINES="$DEFINES -DHAVE_LIBUDEV" ++ have_pci_id=yes ++fi ++ ++if test "$have_sysfs" = yes; then ++ DEFINES="$DEFINES -DHAVE_SYSFS" ++ have_pci_id=yes + fi + + # This is outside the case (above) so that it is invoked even for non-GLX +@@ -1076,8 +1090,8 @@ if test "x$enable_dri" = xyes; then + DEFINES="$DEFINES -DHAVE_DRI3" + fi + +- if test "x$have_libudev" != xyes; then +- AC_MSG_ERROR([libudev-dev required for building DRI]) ++ if test "x$have_pci_id" != xyes; then ++ AC_MSG_ERROR([libudev-dev or sysfs required for building DRI]) + fi + + case "$host_cpu" in +@@ -1252,8 +1266,8 @@ if test "x$enable_gbm" = xauto; then + esac + fi + if test "x$enable_gbm" = xyes; then +- if test "x$need_libudev$have_libudev" = xyesno; then +- AC_MSG_ERROR([gbm requires udev >= $LIBUDEV_REQUIRED]) ++ if test "x$need_pci_id$have_pci_id" = xyesno; then ++ AC_MSG_ERROR([gbm requires udev >= $LIBUDEV_REQUIRED or sysfs]) + fi + + if test "x$enable_dri" = xyes; then +@@ -1271,7 +1285,7 @@ if test "x$enable_gbm" = xyes; then + fi + fi + AM_CONDITIONAL(HAVE_GBM, test "x$enable_gbm" = xyes) +-if test "x$need_libudev" = xyes; then ++if test "x$need_pci_id$have_libudev" = xyesyes; then + GBM_PC_REQ_PRIV="libudev >= $LIBUDEV_REQUIRED" + else + GBM_PC_REQ_PRIV="" +@@ -1560,9 +1574,9 @@ for plat in $egl_platforms; do + ;; + esac + +- case "$plat$need_libudev$have_libudev" in ++ case "$plat$need_pci_id$have_pci_id" in + waylandyesno|drmyesno) +- AC_MSG_ERROR([cannot build $plat platform without udev >= $LIBUDEV_REQUIRED]) ;; ++ AC_MSG_ERROR([cannot build $plat platform without udev >= $LIBUDEV_REQUIRED or sysfs]) ;; + esac + done + +@@ -1843,8 +1857,8 @@ gallium_require_llvm() { + + gallium_require_drm_loader() { + if test "x$enable_gallium_loader" = xyes; then +- if test "x$need_libudev$have_libudev" = xyesno; then +- AC_MSG_ERROR([Gallium drm loader requires libudev >= $LIBUDEV_REQUIRED]) ++ if test "x$need_pci_id$have_pci_id" = xyesno; then ++ AC_MSG_ERROR([Gallium drm loader requires libudev >= $LIBUDEV_REQUIRED or sysfs]) + fi + if test "x$have_libdrm" != xyes; then + AC_MSG_ERROR([Gallium drm loader requires libdrm >= $LIBDRM_REQUIRED]) +--- a/src/loader/loader.c 2014-09-19 13:03:22.000000000 -0400 ++++ b/src/loader/loader.c 2014-11-25 12:46:51.412249717 -0500 +@@ -71,6 +71,10 @@ + #include <assert.h> + #include <dlfcn.h> + #endif ++#ifdef HAVE_SYSFS ++#include <sys/stat.h> ++#include <sys/types.h> ++#endif + #include "loader.h" + + #ifndef __NOT_HAVE_DRM_H +@@ -113,8 +117,8 @@ + udev_handle = dlopen("libudev.so.0", RTLD_LOCAL | RTLD_LAZY); + + if (!udev_handle) { +- log_(_LOADER_FATAL, "Couldn't dlopen libudev.so.1 or libudev.so.0, " +- "driver detection may be broken.\n"); ++ log_(_LOADER_WARNING, "Couldn't dlopen libudev.so.1 or " ++ "libudev.so.0, driver detection may be broken.\n"); + } + } + } +@@ -122,16 +126,19 @@ + return udev_handle; + } + ++static int dlsym_failed = 0; ++ + static void * +-asserted_dlsym(void *dlopen_handle, const char *name) ++checked_dlsym(void *dlopen_handle, const char *name) + { + void *result = dlsym(dlopen_handle, name); +- assert(result); ++ if (!result) ++ dlsym_failed = 1; + return result; + } + + #define UDEV_SYMBOL(ret, name, args) \ +- ret (*name) args = asserted_dlsym(udev_dlopen_handle(), #name); ++ ret (*name) args = checked_dlsym(udev_dlopen_handle(), #name); + + + static inline struct udev_device * +@@ -142,6 +149,9 @@ + UDEV_SYMBOL(struct udev_device *, udev_device_new_from_devnum, + (struct udev *udev, char type, dev_t devnum)); + ++ if (dlsym_failed) ++ return NULL; ++ + if (fstat(fd, &buf) < 0) { + log_(_LOADER_WARNING, "MESA-LOADER: failed to stat fd %d\n", fd); + return NULL; +@@ -157,8 +167,8 @@ + return device; + } + +-int +-loader_get_pci_id_for_fd(int fd, int *vendor_id, int *chip_id) ++static int ++libudev_get_pci_id_for_fd(int fd, int *vendor_id, int *chip_id) + { + struct udev *udev = NULL; + struct udev_device *device = NULL, *parent; +@@ -174,6 +184,9 @@ + + *chip_id = -1; + ++ if (dlsym_failed) ++ return 0; ++ + udev = udev_new(); + device = udev_device_new_from_fd(udev, fd); + if (!device) +@@ -201,16 +214,76 @@ + + return (*chip_id >= 0); + } ++#endif ++ ++#if defined(HAVE_SYSFS) ++static int ++dev_node_from_fd(int fd, unsigned int *maj, unsigned int *min) ++{ ++ struct stat buf; ++ ++ if (fstat(fd, &buf) < 0) { ++ log_(_LOADER_WARNING, "MESA-LOADER: failed to stat fd %d\n", fd); ++ return -1; ++ } ++ ++ if (!S_ISCHR(buf.st_mode)) { ++ log_(_LOADER_WARNING, "MESA-LOADER: fd %d not a character device\n", fd); ++ return -1; ++ } ++ ++ *maj = major(buf.st_rdev); ++ *min = minor(buf.st_rdev); ++ ++ return 0; ++} ++ ++static int ++sysfs_get_pci_id_for_fd(int fd, int *vendor_id, int *chip_id) ++{ ++ unsigned int maj, min; ++ FILE *f; ++ char buf[0x40]; + +-#elif !defined(__NOT_HAVE_DRM_H) ++ if (dev_node_from_fd(fd, &maj, &min) < 0) { ++ *chip_id = -1; ++ return 0; ++ } + ++ snprintf(buf, sizeof(buf), "/sys/dev/char/%d:%d/device/vendor", maj, min); ++ if (!(f = fopen(buf, "r"))) { ++ *chip_id = -1; ++ return 0; ++ } ++ if (fscanf(f, "%x", vendor_id) != 1) { ++ *chip_id = -1; ++ fclose(f); ++ return 0; ++ } ++ fclose(f); ++ snprintf(buf, sizeof(buf), "/sys/dev/char/%d:%d/device/device", maj, min); ++ if (!(f = fopen(buf, "r"))) { ++ *chip_id = -1; ++ return 0; ++ } ++ if (fscanf(f, "%x", chip_id) != 1) { ++ *chip_id = -1; ++ fclose(f); ++ return 0; ++ } ++ fclose(f); ++ return 1; ++} ++#endif ++ ++#if !defined(__NOT_HAVE_DRM_H) + /* for i915 */ + #include <i915_drm.h> + /* for radeon */ + #include <radeon_drm.h> + +-int +-loader_get_pci_id_for_fd(int fd, int *vendor_id, int *chip_id) ++static int ++drm_get_pci_id_for_fd(int fd, int *vendor_id, int *chip_id) + { + drmVersionPtr version; + +@@ -272,23 +345,33 @@ + + return (*chip_id >= 0); + } ++#endif + +-#else + + int + loader_get_pci_id_for_fd(int fd, int *vendor_id, int *chip_id) + { ++#if HAVE_LIBUDEV ++ if (libudev_get_pci_id_for_fd(fd, vendor_id, chip_id)) ++ return 1; ++#endif ++#if HAVE_SYSFS ++ if (sysfs_get_pci_id_for_fd(fd, vendor_id, chip_id)) ++ return 1; ++#endif ++#if !defined(__NOT_HAVE_DRM_H) ++ if (drm_get_pci_id_for_fd(fd, vendor_id, chip_id)) ++ return 1; ++#endif + return 0; + } + +-#endif +- + +-char * +-loader_get_device_name_for_fd(int fd) ++#ifdef HAVE_LIBUDEV ++static char * ++libudev_get_device_name_for_fd(int fd) + { + char *device_name = NULL; +-#ifdef HAVE_LIBUDEV + struct udev *udev; + struct udev_device *device; + const char *const_device_name; +@@ -312,9 +395,66 @@ + out: + udev_device_unref(device); + udev_unref(udev); ++ return device_name; ++} + #endif ++ ++ ++#if HAVE_SYSFS ++static char * ++sysfs_get_device_name_for_fd(int fd) ++{ ++ char *device_name = NULL; ++ unsigned int maj, min; ++ FILE *f; ++ char buf[0x40]; ++ static const char match[9] = "\0DEVNAME="; ++ int expected = 1; ++ ++ if (dev_node_from_fd(fd, &maj, &min) < 0) ++ return NULL; ++ ++ snprintf(buf, sizeof(buf), "/sys/dev/char/%d:%d/uevent", maj, min); ++ if (!(f = fopen(buf, "r"))) ++ return NULL; ++ ++ while (expected < sizeof(match)) { ++ int c = getc(f); ++ ++ if (c == EOF) { ++ fclose(f); ++ return NULL; ++ } else if (c == match[expected] ) ++ expected++; ++ else ++ expected = 0; ++ } ++ ++ strcpy(buf, "/dev/"); ++ if (fgets(buf + 5, sizeof(buf) - 5, f)) ++ device_name = strdup(buf); ++ ++ fclose(f); + return device_name; + } ++#endif ++ ++ ++char * ++loader_get_device_name_for_fd(int fd) ++{ ++ char *result = NULL; ++ ++#if HAVE_LIBUDEV ++ if ((result = libudev_get_device_name_for_fd(fd))) ++ return result; ++#endif ++#if HAVE_SYSFS ++ if ((result = sysfs_get_device_name_for_fd(fd))) ++ return result; ++#endif ++ return result; ++} + + char * + loader_get_driver_for_fd(int fd, unsigned driver_types) diff --git a/media-libs/mesa/mesa-10.2.8.ebuild b/media-libs/mesa/mesa-10.2.8.ebuild index efe4411fc64c..8db3ddac08d4 100644 --- a/media-libs/mesa/mesa-10.2.8.ebuild +++ b/media-libs/mesa/mesa-10.2.8.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-10.2.8.ebuild,v 1.1 2014/09/22 19:15:54 mattst88 Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-10.2.8.ebuild,v 1.2 2014/11/25 20:11:01 axs Exp $ EAPI=5 @@ -51,7 +51,7 @@ done IUSE="${IUSE_VIDEO_CARDS} bindist +classic debug +dri3 +egl +gallium +gbm gles1 gles2 +llvm +nptl opencl openvg osmesa pax_kernel openmax pic r600-llvm-compiler selinux - vdpau wayland xvmc xa kernel_FreeBSD" + sysfs vdpau wayland xvmc xa kernel_FreeBSD kernel_linux" REQUIRED_USE=" llvm? ( gallium ) @@ -94,9 +94,8 @@ RDEPEND=" classic? ( app-admin/eselect-mesa ) gallium? ( app-admin/eselect-mesa ) >=app-admin/eselect-opengl-1.2.7 + !sysfs? ( kernel_linux? ( >=virtual/libudev-215:=[${MULTILIB_USEDEP}] ) ) >=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}] - gbm? ( >=virtual/libudev-215:=[${MULTILIB_USEDEP}] ) - dri3? ( >=virtual/libudev-215:=[${MULTILIB_USEDEP}] ) >=x11-libs/libX11-1.6.2:=[${MULTILIB_USEDEP}] >=x11-libs/libxshmfence-1.1:=[${MULTILIB_USEDEP}] >=x11-libs/libXdamage-1.1.4-r1:=[${MULTILIB_USEDEP}] @@ -208,6 +207,9 @@ src_prepare() { # relax the requirement that r300 must have llvm, bug 380303 epatch "${FILESDIR}"/${PN}-10.2-dont-require-llvm-for-r300.patch + # allow sysfs to serve pci ids instead of libudev + epatch "${FILESDIR}"/${PN}-10.2-sysfs-instead-of-libudev.patch + # fix for hardened pax_kernel, bug 240956 [[ ${PV} != 9999* ]] && epatch "${FILESDIR}"/glx_ro_text_segm.patch @@ -321,6 +323,7 @@ multilib_src_configure() { $(use_enable gles2) \ $(use_enable nptl glx-tls) \ $(use_enable osmesa) \ + $(use_enable sysfs) \ --enable-llvm-shared-libs \ --with-dri-drivers=${DRI_DRIVERS} \ --with-gallium-drivers=${GALLIUM_DRIVERS} \ diff --git a/media-libs/mesa/mesa-10.3.0.ebuild b/media-libs/mesa/mesa-10.3.0.ebuild index 149925c1a082..9e00c8a9c64c 100644 --- a/media-libs/mesa/mesa-10.3.0.ebuild +++ b/media-libs/mesa/mesa-10.3.0.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-10.3.0.ebuild,v 1.5 2014/10/16 14:59:57 vapier Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-10.3.0.ebuild,v 1.6 2014/11/25 20:11:01 axs Exp $ EAPI=5 @@ -51,7 +51,7 @@ done IUSE="${IUSE_VIDEO_CARDS} bindist +classic debug +dri3 +egl +gallium +gbm gles1 gles2 +llvm +nptl opencl openvg osmesa pax_kernel openmax pic r600-llvm-compiler selinux - vdpau wayland xvmc xa kernel_FreeBSD" + sysfs vdpau wayland xvmc xa kernel_FreeBSD kernel_linux" REQUIRED_USE=" llvm? ( gallium ) @@ -95,9 +95,8 @@ RDEPEND=" classic? ( app-admin/eselect-mesa ) gallium? ( app-admin/eselect-mesa ) >=app-admin/eselect-opengl-1.2.7 + !sysfs? ( kernel_linux? ( >=virtual/libudev-215:=[${MULTILIB_USEDEP}] ) ) >=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}] - gbm? ( >=virtual/libudev-215:=[${MULTILIB_USEDEP}] ) - dri3? ( >=virtual/libudev-215:=[${MULTILIB_USEDEP}] ) >=x11-libs/libX11-1.6.2:=[${MULTILIB_USEDEP}] >=x11-libs/libxshmfence-1.1:=[${MULTILIB_USEDEP}] >=x11-libs/libXdamage-1.1.4-r1:=[${MULTILIB_USEDEP}] @@ -323,6 +322,7 @@ multilib_src_configure() { $(use_enable gles2) \ $(use_enable nptl glx-tls) \ $(use_enable osmesa) \ + $(use_enable sysfs) \ --enable-llvm-shared-libs \ --with-dri-drivers=${DRI_DRIVERS} \ --with-gallium-drivers=${GALLIUM_DRIVERS} \ diff --git a/media-libs/mesa/mesa-10.3.1.ebuild b/media-libs/mesa/mesa-10.3.1.ebuild index 16b378d02809..e18b07a4713b 100644 --- a/media-libs/mesa/mesa-10.3.1.ebuild +++ b/media-libs/mesa/mesa-10.3.1.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-10.3.1.ebuild,v 1.1 2014/10/18 21:48:04 mattst88 Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-10.3.1.ebuild,v 1.2 2014/11/25 20:11:01 axs Exp $ EAPI=5 @@ -51,7 +51,7 @@ done IUSE="${IUSE_VIDEO_CARDS} bindist +classic debug +dri3 +egl +gallium +gbm gles1 gles2 +llvm +nptl opencl openvg osmesa pax_kernel openmax pic r600-llvm-compiler selinux - vdpau wayland xvmc xa kernel_FreeBSD" + sysfs vdpau wayland xvmc xa kernel_FreeBSD kernel_linux" REQUIRED_USE=" llvm? ( gallium ) @@ -95,9 +95,8 @@ RDEPEND=" classic? ( app-admin/eselect-mesa ) gallium? ( app-admin/eselect-mesa ) >=app-admin/eselect-opengl-1.2.7 + !sysfs? ( kernel_linux? ( >=virtual/libudev-215:=[${MULTILIB_USEDEP}] ) ) >=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}] - gbm? ( >=virtual/libudev-215:=[${MULTILIB_USEDEP}] ) - dri3? ( >=virtual/libudev-215:=[${MULTILIB_USEDEP}] ) >=x11-libs/libX11-1.6.2:=[${MULTILIB_USEDEP}] >=x11-libs/libxshmfence-1.1:=[${MULTILIB_USEDEP}] >=x11-libs/libXdamage-1.1.4-r1:=[${MULTILIB_USEDEP}] @@ -323,6 +322,7 @@ multilib_src_configure() { $(use_enable gles2) \ $(use_enable nptl glx-tls) \ $(use_enable osmesa) \ + $(use_enable sysfs) \ --enable-llvm-shared-libs \ --with-dri-drivers=${DRI_DRIVERS} \ --with-gallium-drivers=${GALLIUM_DRIVERS} \ diff --git a/media-libs/mesa/mesa-10.3.4.ebuild b/media-libs/mesa/mesa-10.3.4.ebuild index 308e281fefe7..0e7319860175 100644 --- a/media-libs/mesa/mesa-10.3.4.ebuild +++ b/media-libs/mesa/mesa-10.3.4.ebuild @@ -1,6 +1,6 @@ # Copyright 1999-2014 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-10.3.4.ebuild,v 1.1 2014/11/22 04:51:57 mattst88 Exp $ +# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-10.3.4.ebuild,v 1.2 2014/11/25 20:11:01 axs Exp $ EAPI=5 @@ -51,7 +51,7 @@ done IUSE="${IUSE_VIDEO_CARDS} bindist +classic debug +dri3 +egl +gallium +gbm gles1 gles2 +llvm +nptl opencl openvg osmesa pax_kernel openmax pic r600-llvm-compiler selinux - vdpau wayland xvmc xa kernel_FreeBSD" + sysfs vdpau wayland xvmc xa kernel_FreeBSD kernel_linux" REQUIRED_USE=" llvm? ( gallium ) @@ -95,9 +95,8 @@ RDEPEND=" classic? ( app-admin/eselect-mesa ) gallium? ( app-admin/eselect-mesa ) >=app-admin/eselect-opengl-1.2.7 + !sysfs? ( kernel_linux? ( >=virtual/libudev-215:=[${MULTILIB_USEDEP}] ) ) >=dev-libs/expat-2.1.0-r3:=[${MULTILIB_USEDEP}] - gbm? ( >=virtual/libudev-215:=[${MULTILIB_USEDEP}] ) - dri3? ( >=virtual/libudev-215:=[${MULTILIB_USEDEP}] ) >=x11-libs/libX11-1.6.2:=[${MULTILIB_USEDEP}] >=x11-libs/libxshmfence-1.1:=[${MULTILIB_USEDEP}] >=x11-libs/libXdamage-1.1.4-r1:=[${MULTILIB_USEDEP}] @@ -323,6 +322,7 @@ multilib_src_configure() { $(use_enable gles2) \ $(use_enable nptl glx-tls) \ $(use_enable osmesa) \ + $(use_enable sysfs) \ --enable-llvm-shared-libs \ --with-dri-drivers=${DRI_DRIVERS} \ --with-gallium-drivers=${GALLIUM_DRIVERS} \ diff --git a/media-libs/mesa/metadata.xml b/media-libs/mesa/metadata.xml index 10e406a2cec9..20b828701d51 100644 --- a/media-libs/mesa/metadata.xml +++ b/media-libs/mesa/metadata.xml @@ -24,6 +24,7 @@ <flag name='r600-llvm-compiler'>Build the LLVM based r600 shader compiler.</flag> <flag name='shared-dricore'>Enable sharing of common code for classic DRI drivers.</flag> <flag name='shared-glapi'>Enable sharing of common code for the OpenGL API.</flag> + <flag name='sysfs'>Use sysfs for pci-id support on linux instead of libudev</flag> <flag name='vdpau'>Enable the VDPAU acceleration interface for the Gallium3D Video Layer.</flag> <flag name='wayland'>Enable support for dev-libs/wayland</flag> <flag name='xa'>Enable the XA (X Acceleration) API for Gallium3D.</flag> |