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