commit: e2aafe96a4c764092db1aa90c6840f212df46519 Author: Emil Karlson <jekarlson <AT> gmail <DOT> com> AuthorDate: Wed Apr 1 16:06:32 2015 +0000 Commit: Emil Karlson <jekarlson <AT> gmail <DOT> com> CommitDate: Wed Apr 1 16:06:32 2015 +0000 URL: https://gitweb.gentoo.org/proj/x11.git/commit/?id=e2aafe96
x11-drivers/ati-drivers: version bump ...rs-14.1_beta.ebuild => ati-drivers-15.1.ebuild} | 92 +++++++++++++--------- 1 file changed, 55 insertions(+), 37 deletions(-) diff --git a/x11-drivers/ati-drivers/ati-drivers-14.1_beta.ebuild b/x11-drivers/ati-drivers/ati-drivers-15.1.ebuild similarity index 90% rename from x11-drivers/ati-drivers/ati-drivers-14.1_beta.ebuild rename to x11-drivers/ati-drivers/ati-drivers-15.1.ebuild index d227c7f..31faf4e 100644 --- a/x11-drivers/ati-drivers/ati-drivers-14.1_beta.ebuild +++ b/x11-drivers/ati-drivers/ati-drivers-15.1.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 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-14.501.1003/amd-driver-installer-14.501.1003-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.1-betav1.3-linux-x86.x86_64.zip" +DRIVERS_URI="mirror://ubuntu/pool/restricted/f/fglrx-installer/fglrx-installer_15.200.orig.tar.gz" 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,7 +25,7 @@ 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 @@ -35,8 +36,12 @@ RDEPEND=" x11-libs/libXrandr x11-libs/libXrender virtual/glu - multilib? ( - app-emulation/emul-linux-x86-opengl + !x11-libs/xvba-video + abi_x86_32? ( + || ( + virtual/glu[abi_x86_32] + app-emulation/emul-linux-x86-opengl + ) || ( ( x11-libs/libX11[abi_x86_32] @@ -57,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} @@ -110,6 +118,8 @@ QA_PRESTRIPPED=" 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=" @@ -118,6 +128,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=" @@ -150,6 +161,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" @@ -191,7 +210,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" @@ -233,6 +252,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 @@ -294,25 +315,17 @@ 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" - # Compile fix, https://bugs.gentoo.org/show_bug.cgi?id=454870 use pax_kernel && epatch "${FILESDIR}/const-notifier-block.patch" + # Compile fix, #526602 + epatch "${FILESDIR}/use-kernel_fpu_begin.patch" + cd "${MODULE_DIR}" # bugged fglrx build system, this file should be copied by hand @@ -380,21 +393,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. @@ -406,6 +405,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 @@ -470,6 +474,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() { @@ -499,9 +506,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) @@ -523,6 +537,7 @@ src_install-libs() { dosym libOpenCL.so.${libmajor} /usr/$(get_libdir)/OpenCL/vendors/amd/libOpenCL.so exeinto /usr/$(get_libdir) doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so* + doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libamdhsasc*.so # OpenCL vendor files insinto /etc/OpenCL/vendors/ @@ -558,6 +573,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