commit:     8dd557ff4303226a49aecb544c8e8d0594b91c99
Author:     Emil Karlson <jekarlson <AT> gmail <DOT> com>
AuthorDate: Tue Dec  8 11:13:50 2015 +0000
Commit:     Emil Karlson <jekarlson <AT> gmail <DOT> com>
CommitDate: Tue Dec  8 11:13:50 2015 +0000
URL:        https://gitweb.gentoo.org/proj/x11.git/commit/?id=8dd557ff

x11-drivers/ati-drivers: version bump

Thanks to Rion for comtributed patch

 ...s-14.2_beta.ebuild => ati-drivers-15.11.ebuild} | 109 +++++++++++----------
 .../ati-drivers-15.11-remove-gpl-symbols.patch     |  48 +++++++++
 x11-drivers/ati-drivers/files/atieventsd.service   |   9 ++
 3 files changed, 112 insertions(+), 54 deletions(-)

diff --git a/x11-drivers/ati-drivers/ati-drivers-14.2_beta.ebuild 
b/x11-drivers/ati-drivers/ati-drivers-15.11.ebuild
similarity index 90%
rename from x11-drivers/ati-drivers/ati-drivers-14.2_beta.ebuild
rename to x11-drivers/ati-drivers/ati-drivers-15.11.ebuild
index bfd9728..e38c540 100644
--- a/x11-drivers/ati-drivers/ati-drivers-14.2_beta.ebuild
+++ b/x11-drivers/ati-drivers/ati-drivers-15.11.ebuild
@@ -4,19 +4,20 @@
 
 EAPI=5
 
-inherit eutils multilib linux-info linux-mod toolchain-funcs versionator 
pax-utils
+MULTILIB_COMPAT=( abi_x86_{32,64} )
+inherit eutils multilib-build linux-info linux-mod systemd toolchain-funcs 
versionator pax-utils
 
 DESCRIPTION="Ati precompiled drivers for Radeon Evergreen (HD5000 Series) and 
newer chipsets"
 HOMEPAGE="http://www.amd.com";
-RUN="${WORKDIR}/amd-driver-installer-13.35.1005-x86.x86_64.run"
+RUN="${WORKDIR}/fglrx-15.30.1025/amd-driver-installer-15.30.1025-x86.x86_64.run"
 SLOT="1"
 # Uses javascript for download YESSSS
 
#DRIVERS_URI="http://www2.ati.com/drivers/linux/amd-catalyst-13.12-linux-x86.x86_64.zip";
-DRIVERS_URI="http://dev.gentooexperimental.org/~scarabeus/amd-catalyst-14.2-betav1.3-linux-x86.x86_64.zip";
+DRIVERS_URI="mirror://gentoo/radeon-crimson-15.11-15.30.1025.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 multilib 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"
@@ -24,30 +25,18 @@ KEYWORDS="-* ~amd64 ~x86"
 RESTRICT="bindist test"
 
 RDEPEND="
-       <=x11-base/xorg-server-1.15.49[-minimal]
+       <=x11-base/xorg-server-1.17.49[-minimal]
        >=app-eselect/eselect-opengl-1.0.7
        app-eselect/eselect-opencl
        sys-power/acpid
        x11-apps/xauth
-       x11-libs/libX11
-       x11-libs/libXext
-       x11-libs/libXinerama
-       x11-libs/libXrandr
-       x11-libs/libXrender
-       virtual/glu
-       multilib? (
-                       app-emulation/emul-linux-x86-opengl
-                       || (
-                               (
-                                       x11-libs/libX11[abi_x86_32]
-                                       x11-libs/libXext[abi_x86_32]
-                                       x11-libs/libXinerama[abi_x86_32]
-                                       x11-libs/libXrandr[abi_x86_32]
-                                       x11-libs/libXrender[abi_x86_32]
-                               )
-                               app-emulation/emul-linux-x86-xlibs
-                       )
-       )
+       !x11-libs/xvba-video
+       virtual/glu[${MULTILIB_USEDEP}]
+       x11-libs/libX11[${MULTILIB_USEDEP}]
+       x11-libs/libXext[${MULTILIB_USEDEP}]
+       x11-libs/libXinerama[${MULTILIB_USEDEP}]
+       x11-libs/libXrandr[${MULTILIB_USEDEP}]
+       x11-libs/libXrender[${MULTILIB_USEDEP}]
        qt4? (
                        x11-libs/libICE
                        x11-libs/libSM
@@ -57,6 +46,9 @@ RDEPEND="
                        dev-qt/qtcore:4
                        dev-qt/qtgui:4[accessibility]
        )
+       gdm-hack? (
+               x11-base/xorg-server:=
+       )
 "
 if [[ legacy != ${SLOT} ]]; then
        RDEPEND="${RDEPEND}
@@ -120,6 +112,7 @@ QA_SONAME="
        usr/lib\(32\|64\)\?/libaticaldd.so
        usr/lib\(32\|64\)\?/libaticalrt.so
        usr/lib\(32\|64\)\?/libamdocl\(32\|64\)\?.so
+       usr/lib\(32\|64\)\?/libamdhsasc\(32\|64\)\?.so
 "
 
 QA_DT_HASH="
@@ -152,6 +145,14 @@ QA_DT_HASH="
        usr/lib\(32\|64\)\?/OpenCL/vendors/amd/libOpenCL.so.1
 "
 
+pkg_nofetch() {
+       einfo "The driver packages"
+       einfo ${A}
+       einfo "need to be downloaded manually from"
+       einfo "http://support.amd.com/en-us/download/desktop?os=Linux%20x86_64";
+       einfo "and ${XVBA_SDK_URI}"
+}
+
 pkg_pretend() {
        local CONFIG_CHECK="~MTRR ~!DRM ACPI PCI_MSI !LOCKDEP 
!PAX_KERNEXEC_PLUGIN_METHOD_OR"
        use amd64 && CONFIG_CHECK+=" COMPAT"
@@ -193,7 +194,7 @@ pkg_setup() {
                
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="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} 
KDIR=${KV_OUT_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"
@@ -224,7 +225,7 @@ pkg_setup() {
        elog
        elog "If your card is older then use ${CATEGORY}/xf86-video-ati"
        elog "For migration informations please refer to:"
-       elog 
"http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml";
+       elog 
"https://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml";
        einfo
 }
 
@@ -235,6 +236,8 @@ src_unpack() {
 
        if [[ ${DRIVERS_DISTFILE} =~ .*\.tar\.gz ]]; then
                unpack ${DRIVERS_DISTFILE}
+               mkdir -p common
+               mv etc lib usr common || die "Assumed to find etc lib and usr 
for common"
        else
                #please note, RUN may be insanely assigned at top near SRC_URI
                if [[ ${DRIVERS_DISTFILE} =~ .*\.zip ]]; then
@@ -296,25 +299,18 @@ src_prepare() {
        # 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"
 
-       epatch "${FILESDIR}/check-for-iommu-only-if-iommu-is-supported.patch"
-
        # Fix #483400
        epatch "${FILESDIR}/fgl_glxgears-do-not-include-glATI.patch"
 
-       # Fix build on new kernels
-       #epatch "${FILESDIR}/ati-drivers-13.12-acpi.patch"
-
-       # Add support for linux-3.13. See #498766
-       #epatch "${FILESDIR}/ati-drivers-linux-3.13-acpi-handle.patch"
+       epatch "${FILESDIR}/ati-drivers-15.11-remove-gpl-symbols.patch"
 
        # Compile fix, https://bugs.gentoo.org/show_bug.cgi?id=454870
        use pax_kernel && epatch "${FILESDIR}/const-notifier-block.patch"
 
+       epatch_user
+
        cd "${MODULE_DIR}"
 
        # bugged fglrx build system, this file should be copied by hand
@@ -382,21 +378,7 @@ src_install() {
        # 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
+       multilib_foreach_abi src_install-libs
 
        # This is sorted by the order the files occur in the source tree.
 
@@ -408,6 +390,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
@@ -466,12 +453,16 @@ src_install() {
        newinitd "${FILESDIR}"/atieventsd.init atieventsd
        echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf
        newconfd "${T}"/atieventsd.conf atieventsd
+       systemd_dounit "${FILESDIR}/atieventsd.service"
 
        # 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"
+
+       #516816
+       use gdm-hack && Xorg -version > "${D}/etc/ati/xvrn" 2>&1
 }
 
 src_install-libs() {
@@ -501,9 +492,16 @@ src_install-libs() {
        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
+       if multilib_is_native_abi; then
+               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
        exeinto /usr/$(get_libdir)
@@ -560,6 +558,9 @@ src_install-libs() {
        #install xvba sdk headers
        doheader xvba_sdk/include/amdxvba.h
 
+       # VA-API internal wrapper
+       dosym /usr/$(get_libdir)/libXvBAW.so.1.0 
/usr/$(get_libdir)/va/drivers/fglrx_drv_video.so
+
        if use pax_kernel; then
                pax-mark m "${D}"/usr/lib*/opengl/ati/lib/libGL.so.1.2 || die 
"pax-mark failed"
        fi

diff --git 
a/x11-drivers/ati-drivers/files/ati-drivers-15.11-remove-gpl-symbols.patch 
b/x11-drivers/ati-drivers/files/ati-drivers-15.11-remove-gpl-symbols.patch
new file mode 100644
index 0000000..5cea796
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/ati-drivers-15.11-remove-gpl-symbols.patch
@@ -0,0 +1,48 @@
+--- a/common/lib/modules/fglrx/build_mod/firegl_public.c       2015-09-18 
23:57:02.000000000 -0400
++++ b/common/lib/modules/fglrx/build_mod/firegl_public.c       2015-09-18 
23:57:11.000000000 -0400
+@@ -136,7 +136,6 @@
+ #include <asm/mman.h>
+ #include <asm/uaccess.h>
+ #include <asm/processor.h>
+-#include <asm/tlbflush.h> // for flush_tlb_page
+ #include <asm/cpufeature.h>
+ #ifdef CONFIG_MTRR
+ #include <asm/mtrr.h>
+@@ -251,6 +250,26 @@
+ #define WRITE_CR4(x)    write_cr4(x)
+ #endif
+ 
++#define __flush_tlb_one(addr) asm volatile("invlpg (%0)" ::"r" (addr) : 
"memory")
++#define __flush_tlb() native_write_cr3(native_read_cr3())
++
++static inline void __flush_tlb_all(void)
++{
++        if (cpu_has_pge)
++        {
++                unsigned long flags, cr4;
++                raw_local_irq_save(flags);
++                cr4 = native_read_cr4();
++                native_write_cr4(cr4 & ~X86_CR4_PGE);
++                native_write_cr4(cr4);
++                raw_local_irq_restore(flags);
++        }
++        else
++        {
++                __flush_tlb();
++        }
++}
++
+ // ============================================================
+ /* globals */
+ 
+--- a/common/lib/modules/fglrx/build_mod/kcl_acpi.c    2015-09-19 
00:43:35.000000000 -0400
++++ b/common/lib/modules/fglrx/build_mod/kcl_acpi.c    2015-09-19 
00:43:48.000000000 -0400
+@@ -868,7 +868,7 @@ void ATI_API_CALL KCL_ACPI_No_Hotplug(vo
+ #elif LINUX_VERSION_CODE >= KERNEL_VERSION(3,17,0)
+     if(pdev)
+     {
+-#if (UTS_UBUNTU_RELEASE_ABI < 0 && LINUX_VERSION_CODE < 
KERNEL_VERSION(4,1,3)) || (UTS_UBUNTU_RELEASE_ABI >= 0 && 
UTS_UBUNTU_RELEASE_ABI < 26 && LINUX_VERSION_CODE <= KERNEL_VERSION(3,19,8))
++#if 0 && (UTS_UBUNTU_RELEASE_ABI < 0 && LINUX_VERSION_CODE < 
KERNEL_VERSION(4,1,3)) || (UTS_UBUNTU_RELEASE_ABI >= 0 && 
UTS_UBUNTU_RELEASE_ABI < 26 && LINUX_VERSION_CODE <= KERNEL_VERSION(3,19,8))
+        pci_ignore_hotplug(pdev);
+ #else
+        pdev->ignore_hotplug = 1;

diff --git a/x11-drivers/ati-drivers/files/atieventsd.service 
b/x11-drivers/ati-drivers/files/atieventsd.service
new file mode 100644
index 0000000..72df6c4
--- /dev/null
+++ b/x11-drivers/ati-drivers/files/atieventsd.service
@@ -0,0 +1,9 @@
+[Unit]
+Description=Catalyst event Daemon
+Requires=acpid.socket
+
+[Service]
+ExecStart=/opt/sbin/atieventsd --nodaemon
+
+[Install]
+WantedBy=multi-user.target

Reply via email to