summaryrefslogtreecommitdiff
path: root/x11-drivers/ati-userspace
diff options
context:
space:
mode:
Diffstat (limited to 'x11-drivers/ati-userspace')
-rw-r--r--x11-drivers/ati-userspace/Manifest18
-rw-r--r--x11-drivers/ati-userspace/ati-userspace-14.4.ebuild478
-rw-r--r--x11-drivers/ati-userspace/files/fgl_glxgears-do-not-include-glATI.patch11
3 files changed, 490 insertions, 17 deletions
diff --git a/x11-drivers/ati-userspace/Manifest b/x11-drivers/ati-userspace/Manifest
index a1751e88..6531d911 100644
--- a/x11-drivers/ati-userspace/Manifest
+++ b/x11-drivers/ati-userspace/Manifest
@@ -1,19 +1,3 @@
DIST amd-catalyst-13.12-linux-x86.x86_64.zip 160571830 SHA256 024033f4847d1c2a182fc44e0b3df29b2d133e24aeaba390f4504a8f3361a0ca SHA512 bf02aea47dc0588e8fe6590ff5665b25b34b3e10499348e2eb786ba89b32703897753852e6ee8ed52c3d0f8eef46f2026d130329d7af75191e605975379d0109 WHIRLPOOL bcdac0f9641cfdc6d89cd5544fe22dda91f64ae8d34dcd25b55930702108b1bee1db0cdc85d8a68a78fddc34f7f30ab88c9813d3a6ba38b3abf37a24d6210707
-DIST amd-catalyst-13.4-linux-x86.x86_64.zip 122588023 SHA256 ebec78c7f78db3601d1c97116a6823076a7765318e16d88b619ebc80d4c6d1d5 SHA512 ce012f46527ee0073f658e97dd793954930b934b96be9e1c6cd1d344e7734ef81949b484701d5e7e1ebb221f46b5a617f4efb4445e42c06ac0a8b4eca76463fc WHIRLPOOL cb0f7af6d0474c3d521c5785bab49d76da7e09e1ddd02dc0e72b70b5afdb2bd1e07d4a4115a755f213718e7c32c816697d993b73706d58be68fa043aef1ad551
-DIST amd-catalyst-13.9-linux-x86.x86_64.zip 120482826 SHA256 ebade5062713c69d2b703b0a3f62defc409d58e98ceab3bfac7a71643c0c4cd3 SHA512 887c1146920ba7e5b31efd63b1a1b7d9cab586e8c6d705706e0b176b3527e542f452d919cd015c3a04d6f42c884f27d983b2a9229b70716129a94674dd7f62b4 WHIRLPOOL d8b6c7ed772898914c256674ae08a8b3d3054eb5bdfc2f00dc4c796a36b4654c3101410786adb54eaae44ff35386db2aa8d8db12d70805f8732d0709412bdbcc
-DIST amd-driver-installer-12-1-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
-DIST amd-driver-installer-12-2-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
-DIST amd-driver-installer-12-3-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
-DIST amd-driver-installer-12-4-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
-DIST amd-driver-installer-12-6-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
-DIST amd-driver-installer-12-8-x86.x86_64.zip 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
-DIST amd-driver-installer-12.6-legacy-x86.x86_64.zip 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
-DIST amd-driver-installer-catalyst-12.10-x86.x86_64.zip 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
-DIST amd-driver-installer-catalyst-13.1-linux-x86.x86_64.zip 114850263 SHA256 67898a922b6b58f25a276a144f16b19014f79c39e4d44d8d2883a467d31e34ad SHA512 30763ab7f47ac22c5b5055495e2d8ae6cc2c8e5ce711fa389f1145a48da2799020c2b8cbf082759d93628017860c39d69337f42ce21b78e1d60c9eda32096df9 WHIRLPOOL ee5dc85a89bc56858ef1c2bcdc6cbfde7e2f9e5675d209c1f6db877e0104cc536f1e18139f0b991a064b14b231a982770eef47368ea281067d62647b4c5365a5
-DIST ati-driver-installer-11-10-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
-DIST ati-driver-installer-11-11-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
-DIST ati-driver-installer-11-12-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
-DIST ati-driver-installer-11-6-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
-DIST ati-driver-installer-11-8-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
-DIST ati-driver-installer-11-9-x86.x86_64.run 47828 SHA256 356679212eae39c91a9e6dc22f41e4eb033ef0249aaeb12de34ede6fa1b55d6d SHA512 48d567f2891b522bffec2b3baaf0cd872073ad5bb960a4d8b4847d901fd4560c6b79973f6c6c82d09c8dd5b67f64f3b65140091b0d997735364a63e611f3f37d WHIRLPOOL 4768847f08f16987c8a506fa5f720a994f0f9f550373295020c72c801692b7998edc70027602a2e1c41f257638a73bc09813115b98b6ee4b583449bb7be78e4a
+DIST amd-catalyst-14-4-linux-x86-x86-64.zip 122867159 SHA256 03cc022a49f47888b04f12343ace82bc1eff3aac524e6b4433848c20dc77fec0 SHA512 b359e6c9c349e7a3bee2bd95d3e39f0c596b9a9066893ade3eefcc89ee792094d26a04b2f6bdc31431b368a90ae5870ef07f848a4cbcca723ca1c7c3fcf79d98 WHIRLPOOL bd81574e1fc3be3f82ff51392a3044694e2834ce57395f9d4fe1a89dfa4bebd4b9fe24bc739a45173305bd267d1752226f0648145d5982c9dbe2a0ed23cf37f6
DIST xvba-sdk-0.74-404001.tar.gz 583847 SHA256 731a2c489f2fb5d7318c1976061b26c1057a696f46d09dcf55fbada97fed17eb SHA512 aa1dd52b59eeeabd026d8b76e3b75eaf02587ef286438ba28884afeef5a5efaf50283b5ee4f5b81b12cf79cb4ec77c9a235a886b29fb7cdf850c9779f4b07b35 WHIRLPOOL 69917b746d353a884512e97b9d9a9b89e6f51add3119e69ddd119d51c0c3f2820b93a449fe42bd76d671dc505f92bf25b7f2c5868b33768fc68a19596e460951
diff --git a/x11-drivers/ati-userspace/ati-userspace-14.4.ebuild b/x11-drivers/ati-userspace/ati-userspace-14.4.ebuild
new file mode 100644
index 00000000..98d9bd8e
--- /dev/null
+++ b/x11-drivers/ati-userspace/ati-userspace-14.4.ebuild
@@ -0,0 +1,478 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI=5
+
+inherit eutils multilib toolchain-funcs versionator pax-utils
+
+DESCRIPTION="Ati precompiled drivers for Radeon Evergreen (HD5000 Series) and newer chipsets"
+HOMEPAGE="http://www.amd.com"
+RUN="${WORKDIR}/fglrx-14.10.1006/amd-driver-installer-14.10.1006-x86.x86_64.run"
+SLOT="1"
+DRIVERS_URI="mirror://sabayon/${CATEGORY}/amd-catalyst-14-4-linux-x86-x86-64.zip"
+XVBA_SDK_URI="http://developer.amd.com/wordpress/media/2012/10/xvba-sdk-0.74-404001.tar.gz"
+SRC_URI="${DRIVERS_URI} ${XVBA_SDK_URI}"
+FOLDER_PREFIX="common/"
+IUSE="debug multilib x-multilib static-libs pax_kernel"
+
+LICENSE="AMD GPL-2 QPL-1.0"
+KEYWORDS="-* ~amd64 ~x86"
+RESTRICT="bindist test"
+
+# Note: do not add !>ati-userspace-ver or !<ati-userspace-ver
+# because it would cause pkg_postrm to set the wrong opengl implementation
+RDEPEND="<=x11-base/xorg-server-1.14.49[-minimal]
+ !x11-drivers/ati-drivers:0
+ !x11-apps/ati-drivers-extra
+ >=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
+ x-multilib? (
+ app-emulation/emul-linux-x86-opengl
+ app-emulation/emul-linux-x86-xlibs
+ )"
+
+DEPEND="${RDEPEND}
+ x11-proto/inputproto
+ x11-proto/xf86miscproto
+ x11-proto/xf86vidmodeproto
+ x11-proto/xineramaproto
+ x11-libs/libXtst
+ sys-apps/findutils
+ app-misc/pax-utils
+ app-arch/unzip
+"
+
+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
+ usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libOpenCL.so.1
+ usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libamdocl\(32\|64\).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
+"
+
+pkg_setup() {
+ # 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 only supports graphic cards based on"
+ elog "Evergreen chipset and newer."
+ elog "This includes 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 information please refer to:"
+ elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml"
+ einfo
+}
+
+src_unpack() {
+ local DRIVERS_DISTFILE XVBA_SDK_DISTFILE
+ DRIVERS_DISTFILE=${DRIVERS_URI##*/}
+ XVBA_SDK_DISTFILE=${XVBA_SDK_URI##*/}
+
+ if [[ ${DRIVERS_DISTFILE} =~ .*\.tar\.gz ]]; then
+ unpack ${DRIVERS_DISTFILE}
+ else
+ #please note, RUN may be insanely assigned at top near SRC_URI
+ if [[ ${DRIVERS_DISTFILE} =~ .*\.zip ]]; then
+ unpack ${DRIVERS_DISTFILE}
+ [[ -z "$RUN" ]] && RUN="${S}/${DRIVERS_DISTFILE/%.zip/.run}"
+ else
+ RUN="${DISTDIR}/${DRIVERS_DISTFILE}"
+ fi
+ sh "${RUN}" --extract "${S}" 2>&1 > /dev/null || die
+ fi
+
+ mkdir xvba_sdk
+ cd xvba_sdk
+ unpack ${XVBA_SDK_DISTFILE}
+
+ mkdir -p "${WORKDIR}/extra" || die "mkdir extra failed"
+ cd "${WORKDIR}/extra"
+ tar -xf "../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz"
+}
+
+src_prepare() {
+ # 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"
+
+ # amdcccle is shipped separately
+ rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle || die "cannot rm 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 "ACPI fixups 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 AGP-less kernel, bug #435322
+ epatch "${FILESDIR}"/ati-drivers-12.9-KCL_AGP_FindCapsRegisters-stub.patch
+
+ # Compile fix for kernel typesafe uid types #469160
+ epatch "${FILESDIR}/typesafe-kuid.diff"
+
+ epatch "${FILESDIR}/ati-drivers-13.8-beta-include-seq_file.patch"
+
+ # Fix #483400
+ epatch "${FILESDIR}/fgl_glxgears-do-not-include-glATI.patch"
+
+ # Compile fix, https://bugs.gentoo.org/show_bug.cgi?id=454870
+ use pax_kernel && epatch "${FILESDIR}/const-notifier-block.patch"
+}
+
+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_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 && use multilib; 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
+ 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,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/*
+
+ # 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##*/}
+ local soname_one=${soname%.[0-9]}
+ local soname_zero=${soname_one%.[0-9]}
+ dosym ${soname} /usr/$(get_libdir)/${soname_one}
+ dosym ${soname_one} /usr/$(get_libdir)/${soname_zero}
+ done
+
+ # See https://bugs.gentoo.org/show_bug.cgi?id=443466
+ dodir /etc/revdep-rebuild/
+ echo "SEARCH_DIRS_MASK=\"/opt/bin/clinfo\"" > "${ED}/etc/revdep-rebuild/62-ati-drivers"
+
+ #remove static libs if not wanted
+ use static-libs || rm -rf "${D}"/usr/$(get_libdir)/libfglrx_dm.a
+
+ #install xvba sdk headers
+ doheader xvba_sdk/include/amdxvba.h
+
+ if use pax_kernel; then
+ pax-mark m "${D}"/usr/lib*/opengl/ati/lib/libGL.so.1.2 || die "pax-mark failed"
+ fi
+}
+
+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
+
+ "${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[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 or"
+ ewarn "try disabling sna for xf86-video-intel."
+ ewarn "For details, see https://bugs.gentoo.org/show_bug.cgi?id=430000"
+ fi
+}
+
+pkg_prerm() {
+ "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
+
+pkg_postrm() {
+ "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11
+}
diff --git a/x11-drivers/ati-userspace/files/fgl_glxgears-do-not-include-glATI.patch b/x11-drivers/ati-userspace/files/fgl_glxgears-do-not-include-glATI.patch
new file mode 100644
index 00000000..d46e027c
--- /dev/null
+++ b/x11-drivers/ati-userspace/files/fgl_glxgears-do-not-include-glATI.patch
@@ -0,0 +1,11 @@
+diff -Nur extra/fgl_glxgears/fgl_glxgears.c extra-r1/fgl_glxgears/fgl_glxgears.c
+--- extra/fgl_glxgears/fgl_glxgears.c 2012-08-29 09:59:03.000000000 +0300
++++ extra-r1/fgl_glxgears/fgl_glxgears.c 2013-09-07 09:26:11.034723135 +0300
+@@ -78,7 +78,6 @@
+ #endif // _WIN32
+
+ #define INT_PTR ptrdiff_t
+-#include <GL/glATI.h>
+
+ #ifdef _WIN32
+ #include <GL/wglATI.h>