summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexey Shvetsov <alexxy@gentoo.org>2013-04-06 14:33:30 +0400
committerAlexey Shvetsov <alexxy@gentoo.org>2013-04-06 14:33:30 +0400
commit4f15ee97eea258c3d96d05db57b59c846d8f9aca (patch)
treea525497f49642730a752af5c0cdf8bda788dc700
parentDrop deprecated libclc option (diff)
parentx11-libs/glamor: No longer needs Makefile patching (diff)
downloadx11-4f15ee97eea258c3d96d05db57b59c846d8f9aca.tar.gz
x11-4f15ee97eea258c3d96d05db57b59c846d8f9aca.tar.bz2
x11-4f15ee97eea258c3d96d05db57b59c846d8f9aca.zip
Merge branch 'master' into opencl
Signed-off-by: Alexey Shvetsov <alexxy@gentoo.org> Conflicts: media-libs/mesa/mesa-9999.ebuild
-rw-r--r--media-libs/mesa/mesa-9999.ebuild23
-rw-r--r--sys-apps/kmscon/kmscon-9999.ebuild164
-rw-r--r--sys-apps/kmscon/metadata.xml14
-rw-r--r--x11-apps/mesa-progs/mesa-progs-9999.ebuild6
-rw-r--r--x11-base/xorg-drivers/xorg-drivers-9999.ebuild19
-rw-r--r--x11-drivers/ati-drivers/Manifest3
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-12.10.ebuild629
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-13.1.ebuild7
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-13.1_pre897.ebuild9
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-13.2_beta7.ebuild30
-rw-r--r--x11-drivers/ati-drivers/ati-drivers-13.3_beta3.ebuild (renamed from x11-drivers/ati-drivers/ati-drivers-13.2_beta3.ebuild)37
-rw-r--r--x11-drivers/xf86-input-evdev/xf86-input-evdev-9999.ebuild2
-rw-r--r--x11-drivers/xf86-input-keyboard/xf86-input-keyboard-9999.ebuild2
-rw-r--r--x11-drivers/xf86-input-mouse/xf86-input-mouse-9999.ebuild2
-rw-r--r--x11-drivers/xf86-input-wacom/xf86-input-wacom-9999.ebuild2
-rw-r--r--x11-drivers/xf86-video-ati/xf86-video-ati-9999.ebuild4
-rw-r--r--x11-libs/glamor/glamor-9999.ebuild7
-rw-r--r--x11-libs/libSM/libSM-9999.ebuild10
-rw-r--r--x11-libs/libXaw3d/libXaw3d-9999.ebuild6
-rw-r--r--x11-libs/libdrm/libdrm-9999.ebuild3
-rw-r--r--x11-libs/libxcb/libxcb-9999.ebuild14
-rw-r--r--x11-libs/libxkbcommon/libxkbcommon-9999.ebuild27
-rw-r--r--x11-libs/libxkbcommon/metadata.xml5
-rw-r--r--x11-libs/xpyb/xpyb-9999.ebuild16
-rw-r--r--x11-proto/inputproto/inputproto-9999.ebuild2
-rw-r--r--x11-proto/xcb-proto/xcb-proto-9999.ebuild22
26 files changed, 333 insertions, 732 deletions
diff --git a/media-libs/mesa/mesa-9999.ebuild b/media-libs/mesa/mesa-9999.ebuild
index 627442dd..c2d9368c 100644
--- a/media-libs/mesa/mesa-9999.ebuild
+++ b/media-libs/mesa/mesa-9999.ebuild
@@ -11,7 +11,9 @@ if [[ ${PV} = 9999* ]]; then
EXPERIMENTAL="true"
fi
-inherit base autotools multilib flag-o-matic toolchain-funcs ${GIT_ECLASS}
+PYTHON_COMPAT=( python{2_6,2_7} )
+
+inherit base autotools multilib flag-o-matic python-single-r1 toolchain-funcs ${GIT_ECLASS}
OPENGL_DIR="xorg-x11"
@@ -36,7 +38,7 @@ fi
# GLES[2]/gl[2]{,ext,platform}.h are SGI-B-2.0
LICENSE="MIT SGI-B-2.0"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~ia64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~amd64-linux ~arm-linux ~ia64-linux ~x86-linux ~sparc-solaris ~x64-solaris ~x86-solaris"
INTEL_CARDS="i915 i965 intel"
RADEON_CARDS="r100 r200 r300 r600 radeon radeonsi"
@@ -96,7 +98,7 @@ RDEPEND="
vdpau? ( >=x11-libs/libvdpau-0.4.1 )
wayland? ( >=dev-libs/wayland-1.0.3 )
xorg? (
- x11-base/xorg-server
+ x11-base/xorg-server:=
x11-libs/libdrm[libkms]
)
xvmc? ( >=x11-libs/libXvMC-1.0.6 )
@@ -117,16 +119,16 @@ done
DEPEND="${RDEPEND}
llvm? (
>=sys-devel/llvm-2.9
- r600-llvm-compiler? ( >=sys-devel/llvm-3.1 )
- video_cards_radeonsi? ( >=sys-devel/llvm-3.1 )
+ r600-llvm-compiler? ( sys-devel/llvm[video_cards_radeon] )
+ video_cards_radeonsi? ( sys-devel/llvm[video_cards_radeon] )
)
opencl? (
- >=sys-devel/llvm-3.2[multitarget]
- >=sys-devel/clang-3.2[multitarget]
+ >=sys-devel/llvm[video_cards_radeon]
+ >=sys-devel/clang-3.3
>=sys-devel/gcc-4.6
)
- =dev-lang/python-2*
- dev-libs/libxml2[python]
+ ${PYTHON_DEPS}
+ dev-libs/libxml2[python,${PYTHON_USEDEP}]
sys-devel/bison
sys-devel/flex
virtual/pkgconfig
@@ -153,6 +155,8 @@ QA_WX_LOAD="usr/lib*/opengl/xorg-x11/lib/libGL.so*"
pkg_setup() {
# workaround toc-issue wrt #386545
use ppc64 && append-flags -mminimal-toc
+
+ python-single-r1_pkg_setup
}
src_unpack() {
@@ -282,6 +286,7 @@ src_configure() {
$(use_enable xorg) \
--with-dri-drivers=${DRI_DRIVERS} \
--with-gallium-drivers=${GALLIUM_DRIVERS} \
+ PYTHON2="${PYTHON}" \
${myconf}
}
diff --git a/sys-apps/kmscon/kmscon-9999.ebuild b/sys-apps/kmscon/kmscon-9999.ebuild
new file mode 100644
index 00000000..6a0d386c
--- /dev/null
+++ b/sys-apps/kmscon/kmscon-9999.ebuild
@@ -0,0 +1,164 @@
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+if [[ $PV = *9999* ]]; then
+ scm_eclass=git-2
+ EGIT_REPO_URI="
+ git://people.freedesktop.org/~dvdhrm/${PN}
+ git://github.com/dvdhrm/${PN}.git
+ git://github.com/dvdhrm/${PN}.git"
+ SRC_URI=""
+ KEYWORDS=""
+else
+ SRC_URI="http://www.freedesktop.org/software/${PN}/releases/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+inherit eutils autotools systemd flag-o-matic ${scm_eclass}
+
+DESCRIPTION="KMS/DRM based virtual Console Emulator"
+HOMEPAGE="http://www.freedesktop.org/wiki/Software/kmscon"
+
+LICENSE="MIT LGPL-2.1 BSD-2"
+SLOT="0"
+IUSE="cairo dbus debug doc +drm +fbdev +gles2 multiseat +optimizations +pango pixman
+static-libs systemd truetype udev +unicode wayland"
+
+RDEPEND="
+ dev-libs/glib:2
+ >=virtual/udev-172
+ x11-libs/libxkbcommon
+ dbus? ( sys-apps/dbus )
+ drm? ( x11-libs/libdrm
+ >=media-libs/mesa-8.0.3[egl,gbm] )
+ truetype? ( media-libs/freetype:2 )
+ gles2? ( >=media-libs/mesa-8.0.3[gles2] )
+ pango? ( x11-libs/pango )
+ systemd? ( sys-apps/systemd )
+ udev? ( virtual/udev )
+ cairo? ( x11-libs/cairo )
+ pixman? ( x11-libs/pixman )
+ wayland? ( dev-libs/wayland )"
+DEPEND="${RDEPEND}
+ virtual/pkgconfig
+ x11-proto/xproto
+ doc? ( dev-util/gtk-doc )"
+
+REQUIRED_USE="gles2? ( drm )
+ multiseat? ( systemd )"
+
+# args - names of renderers to enable
+renderers_enable() {
+ if [[ "x${RENDER}" == "x" ]]; then
+ RENDER="$1"
+ shift
+ else
+ for i in $@; do
+ RENDER+=",${i}"
+ done
+ fi
+}
+
+# args - names of font renderer backends to enable
+fonts_enable() {
+ if [[ "x${FONTS}" == "x" ]]; then
+ FONTS="$1"
+ shift
+ else
+ for i in $@; do
+ FONTS+=",${i}"
+ done
+ fi
+}
+
+# args - names of video backends to enable
+video_enable() {
+ if [[ "x${VIDEO}" == "x" ]]; then
+ VIDEO="$1"
+ shift
+ else
+ for i in $@; do
+ VIDEO+=",${i}"
+ done
+ fi
+}
+
+src_prepare() {
+ eautoreconf
+}
+
+src_configure() {
+ # Video backends
+
+ if use fbdev; then
+ video_enable fbdev
+ fi
+
+ if use drm; then
+ video_enable drm2d
+ fi
+
+ if use gles2; then
+ video_enable drm3d
+ fi
+
+ # Font rendering backends
+
+ if use unicode; then
+ fonts_enable unifont
+ fi
+
+ if use truetype; then
+ fonts_enable freetype2
+ fi
+
+ if use pango; then
+ fonts_enable pango
+ fi
+
+ # Console rendering backends
+
+ renderers_enable bbulk
+
+ if use gles2; then
+ renderers_enable gltex
+ fi
+
+ if use cairo; then
+ renderers_enable cairo
+ fi
+
+ if use pixman; then
+ renderers_enable pixman
+ fi
+
+ # kmscon sets -ffast-math unconditionally
+ strip-flags
+
+ # xkbcommon not in portage
+ econf \
+ $(use_enable static-libs static) \
+ $(use_enable udev hotplug) \
+ $(use_enable dbus eloop) \
+ $(use_enable debug) \
+ $(use_enable optimizations) \
+ $(use_enable multiseat multi-seat) \
+ $(use_enable wayland wlterm) \
+ --htmldir=/usr/share/doc/${PF}/html \
+ --with-video=${VIDEO} \
+ --with-fonts=${FONTS} \
+ --with-renderers=${RENDER} \
+ --with-sessions=dummy,terminal \
+ --enable-kmscon
+}
+
+src_install() {
+ emake DESTDIR="${D}" install
+
+ if use systemd; then
+ systemd_dounit "${S}/docs"/kmscon{,vt@}.service
+ fi
+}
diff --git a/sys-apps/kmscon/metadata.xml b/sys-apps/kmscon/metadata.xml
new file mode 100644
index 00000000..12d1b8a0
--- /dev/null
+++ b/sys-apps/kmscon/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>x11</herd>
+ <use>
+ <flag name='drm'>Enable Linux DRM for backend</flag>
+ <flag name='fbdev'>Enable Linux FBDev for backend</flag>
+ <flag name='gles2'>Enable GLES2 for backend</flag>
+ <flag name='pango'>Enable pango font rendering</flag>
+ <flag name='pixman'>Enable pixman font rendering</flag>
+ <flag name='multiseat'>Enable multiseat support via systemd</flag>
+ <flag name='optimizations'>Enable optimizations</flag>
+ </use>
+</pkgmetadata>
diff --git a/x11-apps/mesa-progs/mesa-progs-9999.ebuild b/x11-apps/mesa-progs/mesa-progs-9999.ebuild
index 5b6fb3e3..95e23bed 100644
--- a/x11-apps/mesa-progs/mesa-progs-9999.ebuild
+++ b/x11-apps/mesa-progs/mesa-progs-9999.ebuild
@@ -37,10 +37,8 @@ RDEPEND="
# when building EGL/GLESv1/GLESv2 programs. They are not actually required
# by the installed programs.
DEPEND="${RDEPEND}
- egl? (
- media-libs/glew
- virtual/glu
- )
+ media-libs/glew
+ virtual/glu
x11-proto/xproto"
S=${WORKDIR}/${MY_P}
diff --git a/x11-base/xorg-drivers/xorg-drivers-9999.ebuild b/x11-base/xorg-drivers/xorg-drivers-9999.ebuild
index a9c9d621..ba19342c 100644
--- a/x11-base/xorg-drivers/xorg-drivers-9999.ebuild
+++ b/x11-base/xorg-drivers/xorg-drivers-9999.ebuild
@@ -8,9 +8,9 @@ DESCRIPTION="Meta package containing deps on all xorg drivers"
HOMEPAGE="http://www.gentoo.org/"
SRC_URI=""
-LICENSE="as-is"
+LICENSE="metapackage"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
IUSE_INPUT_DEVICES="
input_devices_acecad
@@ -32,7 +32,6 @@ IUSE_INPUT_DEVICES="
"
IUSE_VIDEO_CARDS="
video_cards_apm
- video_cards_ark
video_cards_ast
video_cards_chips
video_cards_cirrus
@@ -47,8 +46,6 @@ IUSE_VIDEO_CARDS="
video_cards_mach64
video_cards_mga
video_cards_modesetting
- video_cards_neomagic
- video_cards_newport
video_cards_nouveau
video_cards_nv
video_cards_omap
@@ -57,11 +54,9 @@ IUSE_VIDEO_CARDS="
video_cards_r128
video_cards_radeon
video_cards_rendition
- video_cards_s3
video_cards_s3virge
video_cards_savage
video_cards_siliconmotion
- video_cards_sis
video_cards_sisusb
video_cards_sunbw2
video_cards_suncg14
@@ -105,7 +100,6 @@ PDEPEND="
input_devices_wacom? ( x11-drivers/xf86-input-wacom )
video_cards_apm? ( x11-drivers/xf86-video-apm )
- video_cards_ark? ( x11-drivers/xf86-video-ark )
video_cards_ast? ( x11-drivers/xf86-video-ast )
video_cards_chips? ( x11-drivers/xf86-video-chips )
video_cards_cirrus? ( x11-drivers/xf86-video-cirrus )
@@ -119,8 +113,6 @@ PDEPEND="
video_cards_mach64? ( x11-drivers/xf86-video-mach64 )
video_cards_mga? ( x11-drivers/xf86-video-mga )
video_cards_modesetting? ( x11-drivers/xf86-video-modesetting )
- video_cards_neomagic? ( x11-drivers/xf86-video-neomagic )
- video_cards_newport? ( x11-drivers/xf86-video-newport )
video_cards_nouveau? ( x11-drivers/xf86-video-nouveau )
video_cards_nv? ( x11-drivers/xf86-video-nv )
video_cards_omap? ( x11-drivers/xf86-video-omap )
@@ -131,11 +123,9 @@ PDEPEND="
video_cards_r128? ( x11-drivers/xf86-video-r128 )
video_cards_radeon? ( x11-drivers/xf86-video-ati )
video_cards_rendition? ( x11-drivers/xf86-video-rendition )
- video_cards_s3? ( x11-drivers/xf86-video-s3 )
video_cards_s3virge? ( x11-drivers/xf86-video-s3virge )
video_cards_savage? ( x11-drivers/xf86-video-savage )
video_cards_siliconmotion? ( x11-drivers/xf86-video-siliconmotion )
- video_cards_sis? ( x11-drivers/xf86-video-sis )
video_cards_sisusb? ( x11-drivers/xf86-video-sisusb )
video_cards_suncg14? ( x11-drivers/xf86-video-suncg14 )
video_cards_suncg3? ( x11-drivers/xf86-video-suncg3 )
@@ -159,4 +149,9 @@ PDEPEND="
!x11-drivers/xf86-video-impact
!x11-drivers/xf86-video-nsc
!x11-drivers/xf86-video-sunbw2
+ !<=x11-drivers/xf86-video-ark-0.7.5
+ !<=x11-drivers/xf86-video-neomagic-1.2.7
+ !<=x11-drivers/xf86-video-newport-0.2.4
+ !<=x11-drivers/xf86-video-s3-0.6.5
+ !<=x11-drivers/xf86-video-sis-0.10.7
"
diff --git a/x11-drivers/ati-drivers/Manifest b/x11-drivers/ati-drivers/Manifest
index 143c6107..eea98bf4 100644
--- a/x11-drivers/ati-drivers/Manifest
+++ b/x11-drivers/ati-drivers/Manifest
@@ -1,8 +1,7 @@
DIST amd-driver-installer-12.6-legacy-x86.x86_64.zip 106888385 SHA256 5353a3f874d31f0fde46c390ce17cc2f27875156dbf3e7c20b5cca494a058102 SHA512 81032c1b15f2d3a1da84066bf2682913ea4ea48bfdf7f50902e9471eb70ffb87a3a1501c45defb2ff15ee27bcbb1820ef2ab6391251b68de45655ace1f4fff0a WHIRLPOOL a34ec3bb761644ffa2c0bfd5a7a61cce33ba76c139fc66db12d1c35a5b4f9ee3ca74c0d8b0ef66f892b7de7e5c9564f2061698c1b347265c7ad422b9838bc21b
-DIST amd-driver-installer-catalyst-12.10-x86.x86_64.zip 111686672 SHA256 ca2a097324687245801b3350316880d706c82f43684839dcf7f86f55141d835d SHA512 cef8a1f822d2a9bd81cf85c1410b75d400808946443c2bf95281f7c2cbcf376ac423199f41125825ed6639eaacd14ea688acc5c5b164186a4715b62ed6f5fb63 WHIRLPOOL 2186151882d9ba69af2a39a0a4dbb26adbff87fe69a90c40798e2390c44ce100e8d71f03c0c86e3a8be5d3429f98f3c107578aa5508b6fb983ca4235e0de8f74
DIST amd-driver-installer-catalyst-12.11-beta11-x86.x86_64.zip 114753755 SHA256 d76edd98ed2ca4dfda63cff9060a3e367f32b4cc9a13590f91aba853d85b847b SHA512 108dc3ae09ab2c3145ff6328a8409a59dae0e7d26eb607a7881febe3e2b26354aa1ab876521239135bfd0dca27390b3bca47d80d8b2db20846a12c807f4a7c1f WHIRLPOOL 3957d72a833a2b35647837ed463d456bb98abaa1e7514b8407d248135dfbce3bd843b7a470dfd55d4659cb20b69e83364dfa8fbcfcaea018700d19b920e36bbc
DIST amd-driver-installer-catalyst-13.1-legacy-linux-x86.x86_64.zip 106908508 SHA256 3a992fb7564dba17a696217dc32043dabc21743c82116a6657817ee8a3a1d55f SHA512 96b34045dca3ad70156500b37d3f06008728ff81878a3e1432060d08e668d8cbd9bfe172440bcb818f01d731d39e3eeccc25396417993d2b9b8985b3b7dc7357 WHIRLPOOL f0e34ccb1a9dfe3cfd9e9c640c3d6ed97a4a3e892b65325a78045653b40d29a78427dc9092d8e14bee1a8ba603405ed9e8cd60188d5bc5e8c5eee03d66a8f25c
DIST amd-driver-installer-catalyst-13.1-linux-x86.x86_64.zip 114850263 SHA256 67898a922b6b58f25a276a144f16b19014f79c39e4d44d8d2883a467d31e34ad SHA512 30763ab7f47ac22c5b5055495e2d8ae6cc2c8e5ce711fa389f1145a48da2799020c2b8cbf082759d93628017860c39d69337f42ce21b78e1d60c9eda32096df9 WHIRLPOOL ee5dc85a89bc56858ef1c2bcdc6cbfde7e2f9e5675d209c1f6db877e0104cc536f1e18139f0b991a064b14b231a982770eef47368ea281067d62647b4c5365a5
-DIST amd-driver-installer-catalyst-13.2-beta3-linux-x86.x86_64.zip 122051158 SHA256 856681c2371f97115e3facc8d52b8bac8c515f5c91aac88d1855a88dd78ac931 SHA512 0ceebbd69f22fef22672434c17276a4d2459fcba18d2b309536c3599f0159b9a8fd7d18414a0aca4e84866712976fd029be3cb2d69e7521d778336664562ce00 WHIRLPOOL 7b57b5a0fba0519ec508b56dbfd2abbf4f8f9f8faeae2bd3b1be1928fdfe459424eb191953653dcdbc6ca2b5f2d471a1382bf0357f628124a8a8f0721ef86a20
DIST amd-driver-installer-catalyst-13.2-beta7-linux-x86.x86_64.zip 122067629 SHA256 c718facfe236a2a2c17a04333666a561d451a62f83917b45b04a736d71e0282c SHA512 2c618a289892b3660c4c03432c52d50bf7c671b9e0f962eb4fb882b4dfa03c508d50c6ea506b058b45677375c1c5fba2058a8bff8631f408c84364e8163c5b72 WHIRLPOOL 4472b1c557bac30be8ce20419f268d26549610f7b620c1ddb52bd15f51919846b73098065d6c7724658b94ee9243bc7620440fbb3fe808839856e16f523f51df
+DIST amd-driver-installer-catalyst-13.3-beta3-linux-x86.x86_64.zip 122056919 SHA256 42fac898329a75cb094d29c08c20e33be227aa85f7b4ea1b13038466c65ff7c0 SHA512 7d4c57db9038d45a7da4edec8c440143dd956f6ef0f0b882ad54df068fe4593a39198bb21c00f766d6a1fb733feb3ba96ebdae28e88426891ded97f853a8a5e3 WHIRLPOOL 312e528f95d5e36effc5ff82613abf964a0aaa8578dcd8c1f237b4c40dff89d671104c8959ee71e677ec89470bf959ed48223681b5bff61a007fc3c7bec650a2
DIST xvba-sdk-0.74-404001.tar.gz 583847 SHA256 731a2c489f2fb5d7318c1976061b26c1057a696f46d09dcf55fbada97fed17eb SHA512 aa1dd52b59eeeabd026d8b76e3b75eaf02587ef286438ba28884afeef5a5efaf50283b5ee4f5b81b12cf79cb4ec77c9a235a886b29fb7cdf850c9779f4b07b35 WHIRLPOOL 69917b746d353a884512e97b9d9a9b89e6f51add3119e69ddd119d51c0c3f2820b93a449fe42bd76d671dc505f92bf25b7f2c5868b33768fc68a19596e460951
diff --git a/x11-drivers/ati-drivers/ati-drivers-12.10.ebuild b/x11-drivers/ati-drivers/ati-drivers-12.10.ebuild
deleted file mode 100644
index 49bbcd48..00000000
--- a/x11-drivers/ati-drivers/ati-drivers-12.10.ebuild
+++ /dev/null
@@ -1,629 +0,0 @@
-# Copyright 1999-2013 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: $
-
-EAPI=4
-
-inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
-
-DESCRIPTION="Ati precompiled drivers for Radeon Evergreen (HD5000 Series) and newer chipsets"
-HOMEPAGE="http://www.amd.com"
-MY_V=( $(get_version_components) )
-#RUN="${WORKDIR}/amd-driver-installer-9.00-x86.x86_64.run"
-SRC_URI="http://www2.ati.com/drivers/linux/amd-driver-installer-catalyst-12.10-x86.x86_64.zip"
-FOLDER_PREFIX="common/"
-IUSE="debug +modules multilib qt4 static-libs disable-watermark"
-
-LICENSE="AMD GPL-2 QPL-1.0"
-KEYWORDS="-* ~amd64 ~x86"
-SLOT="1"
-
-RESTRICT="bindist"
-
-RDEPEND="
- <=x11-base/xorg-server-1.12.49[-minimal]
- >=app-admin/eselect-opengl-1.0.7
- app-admin/eselect-opencl
- sys-power/acpid
- x11-apps/xauth
- x11-libs/libX11
- x11-libs/libXext
- x11-libs/libXinerama
- x11-libs/libXrandr
- x11-libs/libXrender
- multilib? (
- app-emulation/emul-linux-x86-opengl
- app-emulation/emul-linux-x86-xlibs
- )
- qt4? (
- x11-libs/libICE
- x11-libs/libSM
- x11-libs/libXcursor
- x11-libs/libXfixes
- x11-libs/libXxf86vm
- dev-qt/qtcore:4
- dev-qt/qtgui:4
- )
-"
-
-DEPEND="${RDEPEND}
- x11-proto/inputproto
- x11-proto/xf86miscproto
- x11-proto/xf86vidmodeproto
- x11-proto/xineramaproto
- x11-libs/libXtst
- sys-apps/findutils
- app-misc/pax-utils
-"
-
-EMULTILIB_PKG="true"
-
-S="${WORKDIR}"
-
-# QA Silencing
-QA_TEXTRELS="
- usr/lib*/opengl/ati/lib/libGL.so.1.2
- usr/lib*/libatiadlxx.so
- usr/lib*/xorg/modules/glesx.so
- usr/lib*/libaticaldd.so
- usr/lib*/dri/fglrx_dri.so
-"
-
-QA_EXECSTACK="
- opt/bin/atiode
- opt/bin/amdcccle
- usr/lib*/opengl/ati/lib/libGL.so.1.2
- usr/lib*/dri/fglrx_dri.so
-"
-
-QA_WX_LOAD="
- usr/lib*/opengl/ati/lib/libGL.so.1.2
- usr/lib*/dri/fglrx_dri.so
-"
-
-QA_PRESTRIPPED="
- usr/lib\(32\|64\)\?/libXvBAW.so.1.0
- usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2
- usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so
- usr/lib\(32\|64\)\?/xorg/modules/glesx.so
- usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0
- usr/lib\(32\|64\)\?/libaticaldd.so
- usr/lib\(32\|64\)\?/dri/fglrx_dri.so
-"
-
-QA_SONAME="
- usr/lib\(32\|64\)\?/libatiadlxx.so
- usr/lib\(32\|64\)\?/libaticalcl.so
- usr/lib\(32\|64\)\?/libaticaldd.so
- usr/lib\(32\|64\)\?/libaticalrt.so
- usr/lib\(32\|64\)\?/libamdocl\(32\|64\)\?.so
-"
-
-QA_DT_HASH="
- opt/bin/amdcccle
- opt/bin/aticonfig
- opt/bin/atiodcli
- opt/bin/atiode
- opt/bin/clinfo
- opt/bin/fglrxinfo
- opt/sbin/atieventsd
- opt/sbin/amdnotifyui
- usr/lib\(32\|64\)\?/libaticalcl.so
- usr/lib\(32\|64\)\?/libaticalrt.so
- usr/lib\(32\|64\)\?/libatiuki.so.1.0
- usr/lib\(32\|64\)\?/libatiadlxx.so
- usr/lib\(32\|64\)\?/libfglrx_dm.so.1.0
- usr/lib\(32\|64\)\?/libXvBAW.so.1.0
- usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0
- usr/lib\(32\|64\)\?/xorg/modules/amdxmm.so
- usr/lib\(32\|64\)\?/xorg/modules/glesx.so
- usr/lib\(32\|64\)\?/xorg/modules/linux/libfglrxdrm.so
- usr/lib\(32\|64\)\?/xorg/modules/drivers/fglrx_drv.so
- usr/lib\(32\|64\)\?/libaticaldd.so
- usr/lib\(32\|64\)\?/dri/fglrx_dri.so
- usr/lib\(32\|64\)\?/opengl/ati/extensions/libglx.so
- usr/lib\(32\|64\)\?/opengl/ati/extensions/fglrx-libglx.so
- usr/lib\(32\|64\)\?/opengl/ati/lib/fglrx-libGL.so.1.2
- usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2
- usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libamdocl\(32\|64\)\?.so
- usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libOpenCL.so.1
-"
-
-_check_kernel_config() {
- local failed=0
- local error=""
- if ! kernel_is ge 2 6; then
- eerror "You need a 2.6 linux kernel to compile against!"
- die "No 2.6 Kernel found"
- fi
-
- if ! linux_chkconfig_present MTRR; then
- ewarn "You don't have MTRR support enabled in the kernel."
- ewarn "Direct rendering will not work."
- fi
-
- if linux_chkconfig_builtin DRM; then
- ewarn "You have DRM support built in to the kernel"
- ewarn "Direct rendering will not work."
- fi
-
- if ! linux_chkconfig_present AGP && \
- ! linux_chkconfig_present PCIEPORTBUS; then
- ewarn "You don't have AGP and/or PCIe support enabled in the kernel"
- ewarn "Direct rendering will not work."
- fi
-
- if ! linux_chkconfig_present ACPI; then
- eerror "${P} requires the ACPI support in the kernel"
- eerror "Please enable it:"
- eerror " CONFIG_ACPI=y"
- eerror "in /usr/src/linux/.config or"
- eerror " Power management and ACPI options --->"
- eerror " [*] Power Management support"
- eerror "in the 'menuconfig'"
- error+=" CONFIG_ACPI disabled;"
- failed=1
- fi
-
- if ! linux_chkconfig_present PCI_MSI; then
- eerror "${P} requires MSI in the kernel."
- eerror "Please enable it:"
- eerror " CONFIG_PCI_MSI=y"
- eerror "in /usr/src/linux/.config or"
- eerror " Bus options (PCI etc.) --->"
- eerror " [*] Message Signaled Interrupts (MSI and MSI-X)"
- eerror "in the kernel config."
- error+=" CONFIG_PCI_MSI disabled;"
- failed=1
- fi
-
- if linux_chkconfig_present LOCKDEP; then
- eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel."
- eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only."
- eerror "This prevents ${P} from compiling with an error like this:"
- eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
- eerror "Please make sure the following options have been unset:"
- eerror " Kernel hacking --->"
- eerror " [ ] Lock debugging: detect incorrect freeing of live locks"
- eerror " [ ] Lock debugging: prove locking correctness"
- eerror " [ ] Lock usage statistics"
- eerror "in 'menuconfig'"
- error+=" LOCKDEP enabled;"
- failed=1
- fi
-
- use amd64 && if ! linux_chkconfig_present COMPAT; then
- eerror "${P} requires COMPAT."
- eerror "Please enable the 32 bit emulation:"
- eerror "Executable file formats / Emulations --->"
- eerror " [*] IA32 Emulation"
- eerror "in the kernel config."
- eerror "if this doesn't enable CONFIG_COMPAT add"
- eerror " CONFIG_COMPAT=y"
- eerror "in /usr/src/linux/.config"
- error+=" COMPAT disabled;"
- failed=1
- fi
-
- kernel_is ge 2 6 37 && kernel_is le 2 6 38 && if ! linux_chkconfig_present BKL ; then
- eerror "${P} requires BKL."
- eerror "Please enable the Big Kernel Lock:"
- eerror "Kernel hacking --->"
- eerror " [*] Big Kernel Lock"
- eerror "in the kernel config."
- eerror "or add"
- eerror " CONFIG_BKL=y"
- eerror "in /usr/src/linux/.config"
- error+=" BKL disabled;"
- failed=1
- fi
-
- #if linux_chkconfig_present X86_X32; then
- # eerror "You've enabled x32 in the kernel."
- # eerror "Unfortunately, this option is not supported yet and prevents the fglrx"
- # eerror "kernel module from loading."
- # error+=" X86_32 enabled;"
- # failed=1
- #fi
-
- [[ ${failed} -ne 0 ]] && die "${error}"
-}
-
-pkg_pretend() {
- # workaround until bug 365543 is solved
- if use modules; then
- linux-info_pkg_setup
- require_configured_kernel
- _check_kernel_config
- fi
-}
-
-pkg_setup() {
- if use modules; then
- MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)"
- BUILD_TARGETS="kmod_build"
- linux-mod_pkg_setup
- BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}"
- BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=\"-DMODULE -DATI -DFGL\""
- if grep -q arch_compat_alloc_user_space ${KV_DIR}/arch/x86/include/asm/compat.h ; then
- BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=arch_compat_alloc_user_space"
- else
- BUILD_PARAMS="${BUILD_PARAMS} CFLAGS_MODULE+=-DCOMPAT_ALLOC_USER_SPACE=compat_alloc_user_space"
- fi
- fi
- # Define module dir.
- MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod"
- # get the xorg-server version and set BASE_DIR for that
- BASE_DIR="${S}/xpic"
-
- # amd64/x86
- if use amd64 ; then
- MY_BASE_DIR="${BASE_DIR}_64a"
- PKG_LIBDIR=lib64
- ARCH_DIR="${S}/arch/x86_64"
- else
- MY_BASE_DIR="${BASE_DIR}"
- PKG_LIBDIR=lib
- ARCH_DIR="${S}/arch/x86"
- fi
-
- elog
- elog "Please note that this driver supports only graphic cards based on"
- elog "Evergreen chipset and newer."
- elog "This represent the AMD Radeon HD 5400+ series at this moment."
- elog
- elog "If your card is older then use ${CATEGORY}/xf86-video-ati"
- elog "For migration informations please reffer to:"
- elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
- einfo
-}
-
-src_unpack() {
- if [[ ${A} =~ .*\.tar\.gz ]]; then
- unpack ${A}
- else
- #please note, RUN may be insanely assigned at top near SRC_URI
- if [[ ${A} =~ .*\.zip ]]; then
- unpack ${A}
- [[ -z "$RUN" ]] && RUN="${S}/${A/%.zip/.run}"
- else
- RUN="${DISTDIR}/${A}"
- fi
- sh ${RUN} --extract "${S}" 2>&1 > /dev/null || die
- fi
-}
-
-src_prepare() {
- # All kernel options for prepare are ment to be in here
- if use modules; then
- # version patches
- # epatch "${FILESDIR}"/kernel/${PV}-*.patch
- if use debug; then
- sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \
- "${MODULE_DIR}/firegl_public.c" \
- || die "Failed to enable debug output."
- fi
- fi
-
- # These are the userspace utilities that we also have source for.
- # We rebuild these later.
- rm \
- "${ARCH_DIR}"/usr/X11R6/bin/fgl_glxgears \
- || die "bin rm failed"
-
- # in this version amdcccle isn't static, thus we depend on qt4
- use qt4 || rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle
-
- # ACPI fixups
- sed -i \
- -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \
- -e "s:/var/lib/gdm/:/var/gdm/:" \
- "${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \
- || die "sed failed."
-
- # Since "who" is in coreutils, we're using that one instead of "finger".
- sed -i -e 's:finger:who:' \
- "${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \
- || die "Replacing 'finger' with 'who' failed."
- # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and
- # add function to detect default state.
- epatch "${FILESDIR}"/ati-powermode-opt-path-3.patch
-
- # see http://ati.cchtml.com/show_bug.cgi?id=495
- #epatch "${FILESDIR}"/ati-drivers-old_rsp.patch
- # first hunk applied upstream second (x32 related) was not
- epatch "${FILESDIR}"/ati-drivers-x32_something_something.patch
-
- # compile fix for linux-3.7
- # https://bugs.gentoo.org/show_bug.cgi?id=438516
- epatch "${FILESDIR}/ati-drivers-vm-reserverd.patch"
-
- cd "${MODULE_DIR}"
-
- # bugged fglrx build system, this file should be copied by hand
- cp ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a 2.6.x
-
- convert_to_m 2.6.x/Makefile || die "convert_to_m failed"
-
- # When built with ati's make.sh it defines a bunch of macros if
- # certain .config values are set, falling back to less reliable
- # detection methods if linux/autoconf.h is not available. We
- # simply use the linux/autoconf.h settings directly, bypassing the
- # detection script.
- sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed"
- sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \
- || die "MODVERSIONS sed failed"
- cd "${S}"
-
- mkdir extra || die "mkdir failed"
- cd extra
- unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz
-
- # Get rid of watermark. Oldest known reference:
- # http://phoronix.com/forums/showthread.php?19875-Unsupported-Hardware-watermark
- if use disable-watermark; then
- ebegin "Disabling watermark"
- driver="${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so
- for x in $(objdump -d ${driver}|awk '/call/&&/EnableLogo/{print "\\x"$2"\\x"$3"\\x"$4"\\x"$5"\\x"$6}'); do
- sed -i "s/${x/x5b/\x5b}/\x90\x90\x90\x90\x90/g" ${driver} || break 1
- done
- eend $? || die "Disabling watermark failed"
- fi
-}
-
-src_compile() {
- use modules && linux-mod_src_compile
-
- ebegin "Building fgl_glxgears"
- cd "${S}"/extra/fgl_glxgears
- # These extra libs/utils either have an Imakefile that does not
- # work very well without tweaking or a Makefile ignoring CFLAGS
- # and the like. We bypass those.
- # The -DUSE_GLU is needed to compile using nvidia headers
- # according to a comment in ati-drivers-extra-8.33.6.ebuild.
- "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \
- -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \
- -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed"
- eend $?
-}
-
-src_test() { :; } # no tests present
-
-src_install() {
- use modules && linux-mod_src_install
-
- # We can do two things here, and neither of them is very nice.
-
- # For direct rendering libGL has to be able to load one or more
- # dri modules (files ending in _dri.so, like fglrx_dri.so).
- # Gentoo's mesa looks for these files in the location specified by
- # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded
- # location /usr/$(get_libdir)/dri. Ati's libGL does the same
- # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri
- # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64
- # 64bit. So we can either put the .so files in that (unusual,
- # compared to "normal" mesa libGL) location or set
- # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug
- # 101539.
-
- # The problem with this approach is that LIBGL_DRIVERS_PATH
- # *overrides* the default hardcoded location, it does not extend
- # it. So if ati-drivers is merged but a non-ati libGL is selected
- # and its hardcoded path does not match our LIBGL_DRIVERS_PATH
- # (because it changed in a newer mesa or because it was compiled
- # for a different set of multilib abis than we are) stuff breaks.
-
- # We create one file per ABI to work with "native" multilib, see
- # below.
-
- echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep"
- doenvd "${T}/03ati-colon-sep" || die
-
- # All libraries that we have a 32 bit and 64 bit version of on
- # amd64 are installed in src_install-libs. Everything else
- # (including libraries only available in native 64bit on amd64)
- # goes in here.
-
- # There used to be some code here that tried to detect running
- # under a "native multilib" portage ((precursor of)
- # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it
- # should just work (only doing some duplicate work). --marienz
- if has_multilib_profile; then
- local OABI=${ABI}
- for ABI in $(get_install_abis); do
- src_install-libs
- done
- ABI=${OABI}
- unset OABI
- else
- src_install-libs
- fi
-
- # This is sorted by the order the files occur in the source tree.
-
- # X modules.
- exeinto /usr/$(get_libdir)/xorg/modules/drivers
- doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so
- exeinto /usr/$(get_libdir)/xorg/modules/linux
- doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so
- exeinto /usr/$(get_libdir)/xorg/modules
- doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so}
-
- # Arch-specific files.
- # (s)bin.
- into /opt
- dosbin "${ARCH_DIR}"/usr/sbin/atieventsd
- use qt4 && dosbin "${ARCH_DIR}"/usr/sbin/amdnotifyui
- dobin "${ARCH_DIR}"/usr/bin/clinfo
- # We cleaned out the compilable stuff in src_unpack
- dobin "${ARCH_DIR}"/usr/X11R6/bin/*
-
- # Common files.
- # etc.
- insinto /etc/ati
- exeinto /etc/ati
- # Everything except for the authatieventsd.sh script.
- doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default}
- doexe ${FOLDER_PREFIX}etc/ati/authatieventsd.sh
-
- # include.
- insinto /usr
- doins -r ${FOLDER_PREFIX}usr/include
- insinto /usr/include/X11/extensions
-
- # Just the atigetsysteminfo.sh script.
- into /usr
- dosbin ${FOLDER_PREFIX}usr/sbin/*
-
- # data files for the control panel.
- if use qt4 ; then
- insinto /usr/share
- doins -r ${FOLDER_PREFIX}usr/share/ati
- insinto /usr/share/pixmaps
- doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm
- make_desktop_entry amdcccle 'AMD Catalyst Control Center' \
- ccc_large System
- fi
-
- # doc.
- dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx
-
- doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8
-
- pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null
-
- exeinto /etc/acpi
- doexe ati-powermode.sh
- insinto /etc/acpi/events
- doins events/*
-
- popd > /dev/null
-
- # Done with the "source" tree. Install tools we rebuilt:
- dobin extra/fgl_glxgears/fgl_glxgears
- newdoc extra/fgl_glxgears/README README.fgl_glxgears
-
- # Gentoo-specific stuff:
- newinitd "${FILESDIR}"/atieventsd.init atieventsd
- echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf
- newconfd "${T}"/atieventsd.conf atieventsd
-
- # PowerXpress stuff
- exeinto /usr/$(get_libdir)/fglrx
- doexe "${FILESDIR}"/switchlibGL || die "doexe switchlibGL failed"
- cp "${FILESDIR}"/switchlibGL "${T}"/switchlibglx
- doexe "${T}"/switchlibglx || die "doexe switchlibglx failed"
-}
-
-src_install-libs() {
- if [[ "${ABI}" == "amd64" ]]; then
- local EX_BASE_DIR="${BASE_DIR}_64a"
- local pkglibdir=lib64
- local MY_ARCH_DIR="${S}/arch/x86_64"
- local oclsuffix=64
- else
- local EX_BASE_DIR="${BASE_DIR}"
- local pkglibdir=lib
- local MY_ARCH_DIR="${S}/arch/x86"
- local oclsuffix=32
- fi
- einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system"
-
- local ATI_ROOT=/usr/$(get_libdir)/opengl/ati
- # To make sure we do not miss a spot when these change.
- local libmajor=1 libminor=2
- local libver=${libmajor}.${libminor}
-
- # The GLX libraries
- # (yes, this really is "lib" even on amd64/multilib --marienz)
- exeinto ${ATI_ROOT}/lib
- newexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/fglrx/fglrx-libGL.so.${libver} \
- libGL.so.${libver}
- dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor}
- dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so
-
- exeinto ${ATI_ROOT}/extensions
- doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/fglrx/fglrx-libglx.so
- mv "${D}"/${ATI_ROOT}/extensions/{fglrx-,}libglx.so
-
- # other libs
- exeinto /usr/$(get_libdir)
- # Everything except for the libGL.so installed some row above
- doexe $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \
- -maxdepth 1 -type f -name '*.so*' -not -name '*libGL.so*')
- insinto /usr/$(get_libdir)
- doins $(find "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir} \
- -maxdepth 1 -type f -not -name '*.so*')
-
- # DRI modules, installed into the path used by recent versions of mesa.
- exeinto /usr/$(get_libdir)/dri
- doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so
-
- # AMD Cal and OpenCL libraries
- exeinto /usr/$(get_libdir)/OpenCL/vendors/amd
- doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libamdocl*.so*
- doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libOpenCL*.so*
- dosym libOpenCL.so.${libmajor} /usr/$(get_libdir)/OpenCL/vendors/amd/libOpenCL.so
- exeinto /usr/$(get_libdir)
- doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so*
-
- # OpenCL vendor files
- insinto /etc/OpenCL/vendors/
- cat > "${T}"/amdocl${oclsuffix}.icd <<-EOF
- /usr/$(get_libdir)/OpenCL/vendors/amd/libamdocl${oclsuffix}.so
- EOF
- doins "${T}"/amdocl${oclsuffix}.icd
-
- local envname="${T}"/04ati-dri-path
- if [[ -n ${ABI} ]]; then
- envname="${envname}-${ABI}"
- fi
- echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}"
- doenvd "${envname}"
-
- # Silence the QA notice by creating missing soname symlinks
- for so in $(find "${D}"/usr/$(get_libdir) -maxdepth 1 -name *.so.[0-9].[0-9])
- do
- local soname=${so##*/}
- ## let's keep also this alternative way ;)
- #dosym ${soname} /usr/$(get_libdir)/${soname%.[0-9]}
- dosym ${soname} /usr/$(get_libdir)/$(scanelf -qF "#f%S" ${so})
- done
-
- #remove static libs if not wanted
- use static-libs || rm -rf "${D}"/usr/$(get_libdir)/libfglrx_dm.a
-}
-
-pkg_postinst() {
- elog "To switch to AMD OpenGL, run \"eselect opengl set ati\""
- elog "To change your xorg.conf you can use the bundled \"aticonfig\""
- elog
- elog "If you experience unexplained segmentation faults and kernel crashes"
- elog "with this driver and multi-threaded applications such as wine,"
- elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
- elog
- elog "Fully rebooting the system after an ${PN} update is recommended"
- elog "Stopping Xorg, reloading fglrx kernel module and restart Xorg"
- elog "might not work"
- elog
- elog "Some cards need acpid running to handle events"
- elog "Please add it to boot runlevel with rc-update add acpid boot"
- elog
-
- use modules && linux-mod_pkg_postinst
- "${ROOT}"/usr/bin/eselect opengl set --use-old ati
- "${ROOT}"/usr/bin/eselect opencl set --use-old amd
-}
-
-pkg_preinst() {
- use modules && linux-mod_pkg_preinst
-}
-
-pkg_prerm() {
- "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
-}
-
-pkg_postrm() {
- use modules && linux-mod_pkg_postrm
- "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
-}
diff --git a/x11-drivers/ati-drivers/ati-drivers-13.1.ebuild b/x11-drivers/ati-drivers/ati-drivers-13.1.ebuild
index d8fdf9d4..32afa1f6 100644
--- a/x11-drivers/ati-drivers/ati-drivers-13.1.ebuild
+++ b/x11-drivers/ati-drivers/ati-drivers-13.1.ebuild
@@ -571,10 +571,11 @@ pkg_postinst() {
"${ROOT}"/usr/bin/eselect opengl set --use-old ati
"${ROOT}"/usr/bin/eselect opencl set --use-old amd
- if has_version ">=x11-drivers/xf86-video-intel-2.20.3"; then
- ewarn "It is reported that xf86-video-intel-2.20.3 and later cause the X server"
+ if has_version "x11-drivers/xf86-video-intel[sna]"; then
+ ewarn "It is reported that xf86-video-intel built with USE=\"sna\" causes the X server"
ewarn "to crash on systems that use hybrid AMD/Intel graphics. If you experience"
- ewarn "this crash, downgrade to xf86-video-intel-2.20.2 or earlier."
+ ewarn "this crash, downgrade to xf86-video-intel-2.20.2 or earlier or"
+ ewarn "try disabling sna for xf86-video-intel."
ewarn "For details, see https://bugs.gentoo.org/show_bug.cgi?id=430000"
fi
}
diff --git a/x11-drivers/ati-drivers/ati-drivers-13.1_pre897.ebuild b/x11-drivers/ati-drivers/ati-drivers-13.1_pre897.ebuild
index b2d7f310..e8fff14a 100644
--- a/x11-drivers/ati-drivers/ati-drivers-13.1_pre897.ebuild
+++ b/x11-drivers/ati-drivers/ati-drivers-13.1_pre897.ebuild
@@ -6,7 +6,7 @@ EAPI=5
inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
-DESCRIPTION="Ati precompiled drivers for Radeon Evergreen (HD5000 Series) and newer chipsets"
+DESCRIPTION="Ati precompiled drivers for legacy Radeon R600 (HD2000 Series) and newer chipsets"
HOMEPAGE="http://www.amd.com"
MY_V=( $(get_version_components) )
#RUN="${WORKDIR}/amd-driver-installer-9.00-x86.x86_64.run"
@@ -574,10 +574,11 @@ pkg_postinst() {
"${ROOT}"/usr/bin/eselect opengl set --use-old ati
"${ROOT}"/usr/bin/eselect opencl set --use-old amd
- if has_version ">=x11-drivers/xf86-video-intel-2.20.3"; then
- ewarn "It is reported that xf86-video-intel-2.20.3 and later cause the X server"
+ if has_version "x11-drivers/xf86-video-intel[sna]"; then
+ ewarn "It is reported that xf86-video-intel built with USE=\"sna\" causes the X server"
ewarn "to crash on systems that use hybrid AMD/Intel graphics. If you experience"
- ewarn "this crash, downgrade to xf86-video-intel-2.20.2 or earlier."
+ ewarn "this crash, downgrade to xf86-video-intel-2.20.2 or earlier or"
+ ewarn "try disabling sna for xf86-video-intel."
ewarn "For details, see https://bugs.gentoo.org/show_bug.cgi?id=430000"
fi
}
diff --git a/x11-drivers/ati-drivers/ati-drivers-13.2_beta7.ebuild b/x11-drivers/ati-drivers/ati-drivers-13.2_beta7.ebuild
index 05320250..ce4783f8 100644
--- a/x11-drivers/ati-drivers/ati-drivers-13.2_beta7.ebuild
+++ b/x11-drivers/ati-drivers/ati-drivers-13.2_beta7.ebuild
@@ -4,7 +4,7 @@
EAPI=5
-inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator pax-utils
DESCRIPTION="Ati precompiled drivers for Radeon Evergreen (HD5000 Series) and newer chipsets"
HOMEPAGE="http://www.amd.com"
@@ -145,14 +145,18 @@ QA_DT_HASH="
usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libOpenCL.so.1
"
-CONFIG_CHECK="~MTRR ~!DRM ACPI PCI_MSI !LOCKDEP"
+CONFIG_CHECK="~MTRR ~!DRM ACPI PCI_MSI !LOCKDEP !PAX_KERNEXEC_PLUGIN_METHOD_OR"
use amd64 && CONFIG_CHECK="${CONFIG_CHECK} COMPAT"
ERROR_MTRR="CONFIG_MTRR required for direct rendering."
-ERROR_DRM="CONFIG_DRM must be disabled or compiled as a module for direct
- rendering."
+ERROR_DRM="CONFIG_DRM must be disabled or compiled as a module and not loaded for direct
+ rendering to work."
ERROR_LOCKDEP="CONFIG_LOCKDEP (lock tracking) exports the symbol lock_acquire
as GPL-only. This prevents ${P} from compiling with an error like this:
FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ERROR_PAX_KERNEXEC_PLUGIN_METHOD_OR="This config option will cause
+ kernel to reject loading the fglrx module with
+ \"ERROR: could not insert 'fglrx': Exec format error.\"
+ You may want to try CONFIG_PAX_KERNEXEC_PLUGIN_METHOD_BTS instead."
_check_kernel_config() {
if ! linux_chkconfig_present AGP && \
@@ -550,6 +554,15 @@ src_install-libs() {
#install xvba sdk headers
doheader xvba_sdk/include/amdxvba.h
+
+ if use pax_kernel; then
+ pax-mark Cm "${D}"/usr/lib*/opengl/ati/lib/libGL.so.1.2 || die "pax-mark failed"
+ eqawarn "You have set USE=pax_kernel meaning that you intend to run"
+ eqawarn "${PN} under a PaX enabled kernel. To do so, we must modify"
+ eqawarn "the ${PN} binary itself and this *may* lead to breakage! If"
+ eqawarn "you suspect that ${PN} is being broken by this modification,"
+ eqawarn "please open a bug."
+ fi
}
pkg_postinst() {
@@ -575,9 +588,16 @@ pkg_postinst() {
if has_version ">=x11-drivers/xf86-video-intel-2.20.3"; then
ewarn "It is reported that xf86-video-intel-2.20.3 and later cause the X server"
ewarn "to crash on systems that use hybrid AMD/Intel graphics. If you experience"
- ewarn "this crash, downgrade to xf86-video-intel-2.20.2 or earlier."
+ ewarn "this crash, downgrade to xf86-video-intel-2.20.2 or earlier or"
+ ewarn "try disabling sna for xf86-video-intel."
ewarn "For details, see https://bugs.gentoo.org/show_bug.cgi?id=430000"
fi
+
+ if use pax_kernel; then
+ ewarn "Please run \"revdep-pax -s libGL.so.1 -me\" after installation and"
+ ewarn "after you have run \"eselect opengl set ati\". Executacle"
+ ewarn "revdep-pax is part of package sys-apps/elfix."
+ fi
}
pkg_preinst() {
diff --git a/x11-drivers/ati-drivers/ati-drivers-13.2_beta3.ebuild b/x11-drivers/ati-drivers/ati-drivers-13.3_beta3.ebuild
index 05320250..4783e59e 100644
--- a/x11-drivers/ati-drivers/ati-drivers-13.2_beta3.ebuild
+++ b/x11-drivers/ati-drivers/ati-drivers-13.3_beta3.ebuild
@@ -4,7 +4,7 @@
EAPI=5
-inherit eutils multilib linux-info linux-mod toolchain-funcs versionator
+inherit eutils multilib linux-info linux-mod toolchain-funcs versionator pax-utils
DESCRIPTION="Ati precompiled drivers for Radeon Evergreen (HD5000 Series) and newer chipsets"
HOMEPAGE="http://www.amd.com"
@@ -145,14 +145,18 @@ QA_DT_HASH="
usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libOpenCL.so.1
"
-CONFIG_CHECK="~MTRR ~!DRM ACPI PCI_MSI !LOCKDEP"
+CONFIG_CHECK="~MTRR ~!DRM ACPI PCI_MSI !LOCKDEP !PAX_KERNEXEC_PLUGIN_METHOD_OR"
use amd64 && CONFIG_CHECK="${CONFIG_CHECK} COMPAT"
ERROR_MTRR="CONFIG_MTRR required for direct rendering."
-ERROR_DRM="CONFIG_DRM must be disabled or compiled as a module for direct
- rendering."
+ERROR_DRM="CONFIG_DRM must be disabled or compiled as a module and not loaded for direct
+ rendering to work."
ERROR_LOCKDEP="CONFIG_LOCKDEP (lock tracking) exports the symbol lock_acquire
as GPL-only. This prevents ${P} from compiling with an error like this:
FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'"
+ERROR_PAX_KERNEXEC_PLUGIN_METHOD_OR="This config option will cause
+ kernel to reject loading the fglrx module with
+ \"ERROR: could not insert 'fglrx': Exec format error.\"
+ You may want to try CONFIG_PAX_KERNEXEC_PLUGIN_METHOD_BTS instead."
_check_kernel_config() {
if ! linux_chkconfig_present AGP && \
@@ -276,17 +280,9 @@ src_prepare() {
# first hunk applied upstream second (x32 related) was not
epatch "${FILESDIR}"/ati-drivers-x32_something_something.patch
- # compile fix for linux-3.7
- # https://bugs.gentoo.org/show_bug.cgi?id=438516
- epatch "${FILESDIR}/ati-drivers-vm-reserverd.patch"
-
# compile fix for AGP-less kernel, bug #435322
epatch "${FILESDIR}"/ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch
- # Use ACPI_DEVICE_HANDLE wrapper to make driver build on linux-3.8
- # see https://bugs.gentoo.org/show_bug.cgi?id=448216
- epatch "${FILESDIR}/ati-drivers-kernel-3.8-acpihandle.patch"
-
# Compile fix, https://bugs.gentoo.org/show_bug.cgi?id=454870
use pax_kernel && epatch "${FILESDIR}/const-notifier-block.patch"
@@ -550,6 +546,10 @@ src_install-libs() {
#install xvba sdk headers
doheader xvba_sdk/include/amdxvba.h
+
+ if use pax_kernel; then
+ pax-mark Cm "${D}"/usr/lib*/opengl/ati/lib/libGL.so.1.2 || die "pax-mark failed"
+ fi
}
pkg_postinst() {
@@ -572,12 +572,19 @@ pkg_postinst() {
"${ROOT}"/usr/bin/eselect opengl set --use-old ati
"${ROOT}"/usr/bin/eselect opencl set --use-old amd
- if has_version ">=x11-drivers/xf86-video-intel-2.20.3"; then
- ewarn "It is reported that xf86-video-intel-2.20.3 and later cause the X server"
+ if has_version "x11-drivers/xf86-video-intel[sna]"; then
+ ewarn "It is reported that xf86-video-intel built with USE=\"sna\" causes the X server"
ewarn "to crash on systems that use hybrid AMD/Intel graphics. If you experience"
- ewarn "this crash, downgrade to xf86-video-intel-2.20.2 or earlier."
+ ewarn "this crash, downgrade to xf86-video-intel-2.20.2 or earlier or"
+ ewarn "try disabling sna for xf86-video-intel."
ewarn "For details, see https://bugs.gentoo.org/show_bug.cgi?id=430000"
fi
+
+ if use pax_kernel; then
+ ewarn "Please run \"revdep-pax -s libGL.so.1 -me\" after installation and"
+ ewarn "after you have run \"eselect opengl set ati\". Executacle"
+ ewarn "revdep-pax is part of package sys-apps/elfix."
+ fi
}
pkg_preinst() {
diff --git a/x11-drivers/xf86-input-evdev/xf86-input-evdev-9999.ebuild b/x11-drivers/xf86-input-evdev/xf86-input-evdev-9999.ebuild
index dd749ba5..71ae9fd2 100644
--- a/x11-drivers/xf86-input-evdev/xf86-input-evdev-9999.ebuild
+++ b/x11-drivers/xf86-input-evdev/xf86-input-evdev-9999.ebuild
@@ -9,7 +9,7 @@ DESCRIPTION="Generic Linux input driver"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86"
IUSE=""
-RDEPEND=">=x11-base/xorg-server-1.10[udev]
+RDEPEND=">=x11-base/xorg-server-1.12[udev]
sys-libs/mtdev"
DEPEND="${RDEPEND}
>=x11-proto/inputproto-2.1.99.3
diff --git a/x11-drivers/xf86-input-keyboard/xf86-input-keyboard-9999.ebuild b/x11-drivers/xf86-input-keyboard/xf86-input-keyboard-9999.ebuild
index c7774b9f..ec3a09c5 100644
--- a/x11-drivers/xf86-input-keyboard/xf86-input-keyboard-9999.ebuild
+++ b/x11-drivers/xf86-input-keyboard/xf86-input-keyboard-9999.ebuild
@@ -7,7 +7,7 @@ inherit xorg-2
DESCRIPTION="Keyboard input driver"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND=">=x11-base/xorg-server-1.6.3"
diff --git a/x11-drivers/xf86-input-mouse/xf86-input-mouse-9999.ebuild b/x11-drivers/xf86-input-mouse/xf86-input-mouse-9999.ebuild
index 2b45084e..85db137f 100644
--- a/x11-drivers/xf86-input-mouse/xf86-input-mouse-9999.ebuild
+++ b/x11-drivers/xf86-input-mouse/xf86-input-mouse-9999.ebuild
@@ -7,7 +7,7 @@ inherit xorg-2
DESCRIPTION="X.Org driver for mouse input devices"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~x86-linux"
IUSE=""
RDEPEND=">=x11-base/xorg-server-1.7"
diff --git a/x11-drivers/xf86-input-wacom/xf86-input-wacom-9999.ebuild b/x11-drivers/xf86-input-wacom/xf86-input-wacom-9999.ebuild
index 64365cf0..7586e76c 100644
--- a/x11-drivers/xf86-input-wacom/xf86-input-wacom-9999.ebuild
+++ b/x11-drivers/xf86-input-wacom/xf86-input-wacom-9999.ebuild
@@ -13,7 +13,7 @@ EGIT_REPO_URI="git://linuxwacom.git.sourceforge.net/gitroot/linuxwacom/${PN}"
[[ ${PV} != 9999* ]] && \
SRC_URI="mirror://sourceforge/linuxwacom/${PN}/${P}.tar.bz2"
-KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86"
IUSE="debug"
RDEPEND=">=x11-base/xorg-server-1.7
diff --git a/x11-drivers/xf86-video-ati/xf86-video-ati-9999.ebuild b/x11-drivers/xf86-video-ati/xf86-video-ati-9999.ebuild
index 99b6d171..391195bc 100644
--- a/x11-drivers/xf86-video-ati/xf86-video-ati-9999.ebuild
+++ b/x11-drivers/xf86-video-ati/xf86-video-ati-9999.ebuild
@@ -5,7 +5,7 @@
EAPI=5
XORG_DRI=always
-inherit xorg-2
+inherit linux-info xorg-2
DESCRIPTION="ATI video driver"
@@ -17,6 +17,8 @@ RDEPEND=">=x11-libs/libdrm-2.4.36[video_cards_radeon]
udev? ( virtual/udev )"
DEPEND="${RDEPEND}"
+CONFIG_CHECK="~DRM_RADEON_KMS ~!FB_RADEON"
+
src_configure() {
XORG_CONFIGURE_OPTIONS=(
$(use_enable glamor)
diff --git a/x11-libs/glamor/glamor-9999.ebuild b/x11-libs/glamor/glamor-9999.ebuild
index b3841b8b..44b3721b 100644
--- a/x11-libs/glamor/glamor-9999.ebuild
+++ b/x11-libs/glamor/glamor-9999.ebuild
@@ -6,6 +6,8 @@ EAPI=5
XORG_DRI=always
XORG_EAUTORECONF=yes
+XORG_MODULE_REBUILD=yes
+
inherit xorg-2
DESCRIPTION="OpenGL based 2D rendering acceleration library"
@@ -32,8 +34,3 @@ src_configure() {
)
xorg-2_src_configure
}
-
-src_prepare() {
- sed -i 's/inst_LTLIBRARIES/lib_LTLIBRARIES/' src/Makefile.am || die
- xorg-2_src_prepare
-}
diff --git a/x11-libs/libSM/libSM-9999.ebuild b/x11-libs/libSM/libSM-9999.ebuild
index 80d6ffa8..b150976a 100644
--- a/x11-libs/libSM/libSM-9999.ebuild
+++ b/x11-libs/libSM/libSM-9999.ebuild
@@ -10,8 +10,8 @@ inherit xorg-2
DESCRIPTION="X.Org SM library"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
-IUSE="ipv6 +uuid"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~hppa-hpux ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+IUSE="doc ipv6 +uuid"
RDEPEND=">=x11-libs/libICE-1.0.5[${MULTILIB_USEDEP}]
x11-libs/xtrans
@@ -19,9 +19,8 @@ RDEPEND=">=x11-libs/libICE-1.0.5[${MULTILIB_USEDEP}]
!elibc_FreeBSD? ( !elibc_SunOS? (
uuid? (
>=sys-apps/util-linux-2.16
- abi_x86_32? (
- app-emulation/emul-linux-x86-baselibs[development]
- )
+ amd64? ( abi_x86_32? (
+ app-emulation/emul-linux-x86-baselibs[development] ) )
)
) )"
DEPEND="${RDEPEND}"
@@ -52,7 +51,6 @@ src_configure() {
;;
esac
fi
-
XORG_CONFIGURE_OPTIONS=(
$(use_enable ipv6)
$(use_enable doc docs)
diff --git a/x11-libs/libXaw3d/libXaw3d-9999.ebuild b/x11-libs/libXaw3d/libXaw3d-9999.ebuild
index 09d0c0df..7539b2fd 100644
--- a/x11-libs/libXaw3d/libXaw3d-9999.ebuild
+++ b/x11-libs/libXaw3d/libXaw3d-9999.ebuild
@@ -7,7 +7,7 @@ inherit xorg-2
DESCRIPTION="X.Org Xaw3d library"
-KEYWORDS="alpha amd64 arm hppa ia64 ~mips ppc ppc64 sh sparc x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x86-macos ~x64-solaris ~x86-solaris"
IUSE="unicode"
RDEPEND="x11-libs/libX11
@@ -20,12 +20,12 @@ DEPEND="${RDEPEND}
x11-proto/xextproto
x11-proto/xproto"
-pkg_setup() {
+src_configure() {
XORG_CONFIGURE_OPTIONS=(
$(use_enable unicode internationalization)
--enable-arrow-scrollbars
--enable-gray-stipples
)
- xorg-2_pkg_setup
+ xorg-2_src_configure
}
diff --git a/x11-libs/libdrm/libdrm-9999.ebuild b/x11-libs/libdrm/libdrm-9999.ebuild
index f95d1808..86f431da 100644
--- a/x11-libs/libdrm/libdrm-9999.ebuild
+++ b/x11-libs/libdrm/libdrm-9999.ebuild
@@ -16,7 +16,7 @@ else
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="exynos intel nouveau omap radeon vmware"
+VIDEO_CARDS="exynos freedreno intel nouveau omap radeon vmware"
for card in ${VIDEO_CARDS}; do
IUSE_VIDEO_CARDS+=" video_cards_${card}"
done
@@ -44,6 +44,7 @@ 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)
diff --git a/x11-libs/libxcb/libxcb-9999.ebuild b/x11-libs/libxcb/libxcb-9999.ebuild
index 63dbf27f..944f1d5d 100644
--- a/x11-libs/libxcb/libxcb-9999.ebuild
+++ b/x11-libs/libxcb/libxcb-9999.ebuild
@@ -4,9 +4,12 @@
EAPI=5
+PYTHON_COMPAT=( python{2_6,2_7,3_1,3_2,3_3} )
+PYTHON_REQ_USE=xml
+
XORG_DOC=doc
XORG_MULTILIB=yes
-inherit xorg-2
+inherit python-single-r1 xorg-2
DESCRIPTION="X C-language Bindings library"
HOMEPAGE="http://xcb.freedesktop.org/"
@@ -14,7 +17,7 @@ EGIT_REPO_URI="git://anongit.freedesktop.org/git/xcb/libxcb"
[[ ${PV} != 9999* ]] && \
SRC_URI="http://xcb.freedesktop.org/dist/${P}.tar.bz2"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE="selinux"
RDEPEND="dev-libs/libpthread-stubs[${MULTILIB_USEDEP}]
@@ -23,7 +26,12 @@ RDEPEND="dev-libs/libpthread-stubs[${MULTILIB_USEDEP}]
DEPEND="${RDEPEND}
dev-lang/python[xml]
dev-libs/libxslt
- >=x11-proto/xcb-proto-1.7"
+ >=x11-proto/xcb-proto-1.7-r1[${MULTILIB_USEDEP},${PYTHON_USEDEP}]
+ ${PYTHON_DEPS}"
+
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
src_configure() {
XORG_CONFIGURE_OPTIONS=(
diff --git a/x11-libs/libxkbcommon/libxkbcommon-9999.ebuild b/x11-libs/libxkbcommon/libxkbcommon-9999.ebuild
index 4d5dd709..e0679e76 100644
--- a/x11-libs/libxkbcommon/libxkbcommon-9999.ebuild
+++ b/x11-libs/libxkbcommon/libxkbcommon-9999.ebuild
@@ -3,18 +3,33 @@
# $Header: $
EAPI=5
-inherit xorg-2
+
+if [[ ${PV} = *9999* ]]; then
+ GIT_ECLASS="git-2"
+ EXPERIMENTAL="true"
+ EGIT_REPO_URI="git://anongit.freedesktop.org/${PN}"
+ KEYWORDS=""
+else
+ XORG_BASE_INDIVIDUAL_URI=""
+ SRC_URI="http://xkbcommon.org/download/${P}.tar.bz2"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+inherit xorg-2 ${GIT_ECLASS}
DESCRIPTION="X.Org xkbcommon library"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
+XORG_EAUTORECONF="yes"
+
+IUSE="doc"
-RDEPEND="x11-proto/xproto
+RDEPEND="
+ x11-proto/xproto
>=x11-proto/kbproto-1.0.5"
DEPEND="${RDEPEND}
sys-devel/bison
- sys-devel/flex"
+ sys-devel/flex
+ doc? ( app-doc/doxygen )"
XORG_CONFIGURE_OPTIONS=(
- --with-xkb-config-root=${EPREFIX}/usr/share/X11/xkb
+ --with-xkb-config-root="${EPREFIX}/usr/share/X11/xkb" $(use_with doc doxygen)
)
diff --git a/x11-libs/libxkbcommon/metadata.xml b/x11-libs/libxkbcommon/metadata.xml
new file mode 100644
index 00000000..6cc39824
--- /dev/null
+++ b/x11-libs/libxkbcommon/metadata.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <herd>x11</herd>
+</pkgmetadata>
diff --git a/x11-libs/xpyb/xpyb-9999.ebuild b/x11-libs/xpyb/xpyb-9999.ebuild
index 0354ccd2..9346a26f 100644
--- a/x11-libs/xpyb/xpyb-9999.ebuild
+++ b/x11-libs/xpyb/xpyb-9999.ebuild
@@ -3,23 +3,29 @@
# $Header: $
EAPI=5
-inherit xorg-2
+
+PYTHON_COMPAT=( python{2_5,2_6,2_7,3_1,3_2,3_3} )
+inherit python-single-r1 xorg-2
EGIT_REPO_URI="git://anongit.freedesktop.org/git/xcb/xpyb"
#SRC_URI="http://xcb.freedesktop.org/dist/${P}.tar.bz2"
DESCRIPTION="XCB-based Python bindings for the X Window System"
HOMEPAGE="http://xcb.freedesktop.org/"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-fbsd ~x86-fbsd"
IUSE="selinux"
-RDEPEND=">=x11-libs/libxcb-1.1
- >=dev-lang/python-2.5
- >=x11-proto/xcb-proto-1.2"
+RDEPEND=">=x11-libs/libxcb-1.7
+ >=x11-proto/xcb-proto-1.7.1[${PYTHON_USEDEP}]
+ ${PYTHON_DEPS}"
DEPEND="${RDEPEND}"
DOCS=( NEWS README )
+pkg_setup() {
+ python-single-r1_pkg_setup
+}
+
src_configure() {
XORG_CONFIGURE_OPTIONS=(
$(use_enable selinux xselinux)
diff --git a/x11-proto/inputproto/inputproto-9999.ebuild b/x11-proto/inputproto/inputproto-9999.ebuild
index ac8c1072..73b1a685 100644
--- a/x11-proto/inputproto/inputproto-9999.ebuild
+++ b/x11-proto/inputproto/inputproto-9999.ebuild
@@ -9,7 +9,7 @@ inherit xorg-2
DESCRIPTION="X.Org Input protocol headers"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~ppc-aix ~amd64-fbsd ~x86-fbsd ~x64-freebsd ~x86-freebsd ~ia64-hpux ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris ~x86-winnt"
IUSE=""
RDEPEND=""
diff --git a/x11-proto/xcb-proto/xcb-proto-9999.ebuild b/x11-proto/xcb-proto/xcb-proto-9999.ebuild
index 1788579f..85b4a9eb 100644
--- a/x11-proto/xcb-proto/xcb-proto-9999.ebuild
+++ b/x11-proto/xcb-proto/xcb-proto-9999.ebuild
@@ -4,10 +4,9 @@
EAPI=5
-PYTHON_DEPEND="*"
+PYTHON_COMPAT=( python{2_5,2_6,2_7,3_1,3_2,3_3} )
XORG_MULTILIB=yes
-
-inherit python xorg-2
+inherit python-single-r1 xorg-2
DESCRIPTION="X C-language Bindings protocol headers"
HOMEPAGE="http://xcb.freedesktop.org/"
@@ -15,22 +14,17 @@ EGIT_REPO_URI="git://anongit.freedesktop.org/git/xcb/proto"
[[ ${PV} != 9999* ]] && \
SRC_URI="http://xcb.freedesktop.org/dist/${P}.tar.bz2"
-KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~arm-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
IUSE=""
-RDEPEND=""
+RDEPEND="${PYTHON_DEPS}"
DEPEND="${RDEPEND}
dev-libs/libxml2"
-src_prepare() {
- python_clean_py-compile_files
- xorg-2_src_prepare
-}
-
-pkg_postinst() {
- python_mod_optimize xcbgen
+pkg_setup() {
+ python-single-r1_pkg_setup
}
-pkg_postrm() {
- python_mod_cleanup xcbgen
+src_configure() {
+ xorg-2_src_configure
}