commit:     2c657faa1127a11f99dd9ed7c06bd4eb33dc7a5c
Author:     Emil Karlson <jekarlson <AT> gmail <DOT> com>
AuthorDate: Thu Feb 12 18:18:30 2015 +0000
Commit:     Emil Karlson <jekarlson <AT> gmail <DOT> com>
CommitDate: Thu Feb 12 18:18:30 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/x11.git;a=commit;h=2c657faa

x11-drivers/ati-drivers: add hack for bug 516816

Thanks to
Andrew Mao
Oliver Chang

---
 x11-drivers/ati-drivers/ati-drivers-14.12-r3.ebuild | 18 +++++++++++++++++-
 x11-drivers/ati-drivers/metadata.xml                |  1 +
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/x11-drivers/ati-drivers/ati-drivers-14.12-r3.ebuild 
b/x11-drivers/ati-drivers/ati-drivers-14.12-r3.ebuild
index 2b31c43..b4aa191 100644
--- a/x11-drivers/ati-drivers/ati-drivers-14.12-r3.ebuild
+++ b/x11-drivers/ati-drivers/ati-drivers-14.12-r3.ebuild
@@ -17,7 +17,7 @@ 
DRIVERS_URI="mirror://gentoo/amd-catalyst-omega-14.12-linux-run-installers.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 +modules qt4 static-libs pax_kernel"
+IUSE="debug +modules qt4 static-libs pax_kernel gdm-hack"
 
 LICENSE="AMD GPL-2 QPL-1.0"
 KEYWORDS="-* ~amd64 ~x86"
@@ -62,6 +62,9 @@ RDEPEND="
                        dev-qt/qtcore:4
                        dev-qt/qtgui:4[accessibility]
        )
+       gdm-hack? (
+               x11-base/xorg-server:=
+       )
 "
 if [[ legacy != ${SLOT} ]]; then
        RDEPEND="${RDEPEND}
@@ -403,6 +406,11 @@ src_install() {
        exeinto /usr/$(get_libdir)/xorg/modules
        doexe 
"${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so}
 
+       #516816
+       if use gdm-hack; then
+               sed -i 's#/proc/%i/fd/0#/etc/ati/xvrn#g' 
"${D}/usr/$(get_libdir)/xorg/modules/drivers/fglrx_drv.so" || die "Applying 
gdm-hack failed"
+       fi
+
        # Arch-specific files.
        # (s)bin.
        into /opt
@@ -467,6 +475,9 @@ src_install() {
        doexe "${FILESDIR}"/switchlibGL || die "doexe switchlibGL failed"
        cp "${FILESDIR}"/switchlibGL "${T}"/switchlibglx
        doexe "${T}"/switchlibglx || die "doexe switchlibglx failed"
+
+       #516816
+       use gdm-hack && Xorg -version > "${D}/etc/ati/xvrn" 2>&1
 }
 
 src_install-libs() {
@@ -500,6 +511,11 @@ src_install-libs() {
                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
+
+               #516816
+               if use gdm-hack; then
+                       sed -i 's#/proc/%i/fd/0#/etc/ati/xvrn#g' 
"${D}/${ATI_ROOT}/extensions/libglx.so" || die "Applying gdm-hack failed"
+               fi
        fi
 
        # other libs

diff --git a/x11-drivers/ati-drivers/metadata.xml 
b/x11-drivers/ati-drivers/metadata.xml
index dc12ac1..34cec1e 100644
--- a/x11-drivers/ati-drivers/metadata.xml
+++ b/x11-drivers/ati-drivers/metadata.xml
@@ -12,6 +12,7 @@
                </flag>
                <flag name='modules'>Build the kernel modules</flag>
                <flag name='disable-watermark'>Do a potentially dangerous 
binary search and replace to disable watermark</flag>
+               <flag name='gdm-hack'>Do a potentially dangerous binary search 
and replace to fix gdm compatibility</flag>
                <flag name='pax_kernel'>Enable pax kernel specific 
patches</flag>
        </use>
 </pkgmetadata>

Reply via email to