From a555bff061623328cea18c844c93b592f6d5e814 Mon Sep 17 00:00:00 2001 From: Marien Zwart Date: Sat, 10 Feb 2007 00:01:13 +0000 Subject: [PATCH] Experimental new ebuild (package.masked, work in progress). Package-Manager: portage-2.1.2-r9 --- x11-drivers/ati-drivers/ChangeLog | 8 +- x11-drivers/ati-drivers/Manifest | 25 +- .../ati-drivers/ati-drivers-8.33.6-r2.ebuild | 401 ++++++++++++++++++ .../files/ati-powermode-opt-path.patch | 22 + .../files/digest-ati-drivers-8.33.6-r2 | 3 + 5 files changed, 451 insertions(+), 8 deletions(-) create mode 100644 x11-drivers/ati-drivers/ati-drivers-8.33.6-r2.ebuild create mode 100644 x11-drivers/ati-drivers/files/ati-powermode-opt-path.patch create mode 100644 x11-drivers/ati-drivers/files/digest-ati-drivers-8.33.6-r2 diff --git a/x11-drivers/ati-drivers/ChangeLog b/x11-drivers/ati-drivers/ChangeLog index 48c374e57daa..993da110b063 100644 --- a/x11-drivers/ati-drivers/ChangeLog +++ b/x11-drivers/ati-drivers/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for x11-drivers/ati-drivers # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ChangeLog,v 1.61 2007/02/09 01:34:48 marienz Exp $ +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ChangeLog,v 1.62 2007/02/10 00:01:13 marienz Exp $ + +*ati-drivers-8.33.6-r2 (10 Feb 2007) + + 10 Feb 2007; Marien Zwart + +files/ati-powermode-opt-path.patch, +ati-drivers-8.33.6-r2.ebuild: + Experimental new ebuild (package.masked, work in progress). *ati-drivers-8.33.6-r1 (09 Feb 2007) diff --git a/x11-drivers/ati-drivers/Manifest b/x11-drivers/ati-drivers/Manifest index 51439d9e2a73..ebe7bc50a591 100644 --- a/x11-drivers/ati-drivers/Manifest +++ b/x11-drivers/ati-drivers/Manifest @@ -17,6 +17,10 @@ AUX ati-drivers-8.28.8-linux-2.6.18.patch 720 RMD160 9daffb130acedeb1e926146bdf1 MD5 2494cd76022a981516d17367cbd3f9d1 files/ati-drivers-8.28.8-linux-2.6.18.patch 720 RMD160 9daffb130acedeb1e926146bdf101bc68e35b0d5 files/ati-drivers-8.28.8-linux-2.6.18.patch 720 SHA256 cd1ceac64e9abb0310972294ac61703b859873709c0b1a766d5bf115067122e3 files/ati-drivers-8.28.8-linux-2.6.18.patch 720 +AUX ati-powermode-opt-path.patch 826 RMD160 450b5c9ecd7f4c123ce12f855b287e6b97e6ad23 SHA1 80725f60def6bd968157f09474c00722865b1f27 SHA256 e1d6dbe2e73c8ed575b2f9188e707fcb90f808d0fbdb686067c16f853662c208 +MD5 5d8df2d4fd1038207d93f85a419fe7d0 files/ati-powermode-opt-path.patch 826 +RMD160 450b5c9ecd7f4c123ce12f855b287e6b97e6ad23 files/ati-powermode-opt-path.patch 826 +SHA256 e1d6dbe2e73c8ed575b2f9188e707fcb90f808d0fbdb686067c16f853662c208 files/ati-powermode-opt-path.patch 826 AUX ati-powermode.sh.patch 1142 RMD160 b81cdd4d2a49c2f7b04f7e00e4391b4e0ad67a40 SHA1 eef7f658474ca8e9e66ee1955a851782eba4dd0e SHA256 050602d5e0656961c0b16a75b470a7327a9e8b16f7d0ae3228341b3a8dcc9289 MD5 c3d42d3e0ad9acb6b682d7d7c27e6489 files/ati-powermode.sh.patch 1142 RMD160 b81cdd4d2a49c2f7b04f7e00e4391b4e0ad67a40 files/ati-powermode.sh.patch 1142 @@ -64,14 +68,18 @@ EBUILD ati-drivers-8.33.6-r1.ebuild 10692 RMD160 ac52c596ea7058badee43394ece56e0 MD5 2dca63d5b244e740ca113495bbd4f88f ati-drivers-8.33.6-r1.ebuild 10692 RMD160 ac52c596ea7058badee43394ece56e08d07e62a6 ati-drivers-8.33.6-r1.ebuild 10692 SHA256 1995ea7c6a44a009bdfe8e19449575ed6eaba06be3e0571a504afa600d51e6fe ati-drivers-8.33.6-r1.ebuild 10692 +EBUILD ati-drivers-8.33.6-r2.ebuild 13238 RMD160 b5f2e29b203be40d134a4a8ba94dc9f6ed8916dd SHA1 b33fcb2cbd583c492b22acc691b1b3a9f3c8f50b SHA256 c1661aa2ae4fe328e1bdfcd4e2539dd3fb8dacfd8bbbb1e6817ae313f27e7a9e +MD5 491704b6fede1b5f5bb1cb4e7eb12982 ati-drivers-8.33.6-r2.ebuild 13238 +RMD160 b5f2e29b203be40d134a4a8ba94dc9f6ed8916dd ati-drivers-8.33.6-r2.ebuild 13238 +SHA256 c1661aa2ae4fe328e1bdfcd4e2539dd3fb8dacfd8bbbb1e6817ae313f27e7a9e ati-drivers-8.33.6-r2.ebuild 13238 EBUILD ati-drivers-8.33.6.ebuild 10670 RMD160 4eca26a8283930b042bc8a4179fa0496320316db SHA1 ec662c4a89b8c55fef39a2efefc74b2c0105fb8f SHA256 f58a7b26609f2007136f7ca7a843bd2329bc6cf5d78678ace670a208bc5fea0c MD5 484bad00c19c5743bc0cca2a135bc909 ati-drivers-8.33.6.ebuild 10670 RMD160 4eca26a8283930b042bc8a4179fa0496320316db ati-drivers-8.33.6.ebuild 10670 SHA256 f58a7b26609f2007136f7ca7a843bd2329bc6cf5d78678ace670a208bc5fea0c ati-drivers-8.33.6.ebuild 10670 -MISC ChangeLog 34577 RMD160 4fc65a979d4130610f395d6e41ae7b93bbb71d43 SHA1 fb2e10c01554f30add7301c171c2dc56f976887c SHA256 57dfcbd3df0febb5d7c659d07c6d93c079169bc872b3ed346b516633d6e56256 -MD5 b939cbbf78af17a9fac3147007343d87 ChangeLog 34577 -RMD160 4fc65a979d4130610f395d6e41ae7b93bbb71d43 ChangeLog 34577 -SHA256 57dfcbd3df0febb5d7c659d07c6d93c079169bc872b3ed346b516633d6e56256 ChangeLog 34577 +MISC ChangeLog 34797 RMD160 2b2b7f33f1855e49500fbb43139cbe0ee12ddb56 SHA1 d5d7edffb4cf77ea85a88d113ffe5cea0ae4b1fd SHA256 b0fceea7dc2abf58435859dd066e8b5dbd28f58c1810c653ae69fb4728f6a601 +MD5 7891d973275645bae55eed95ca82be1c ChangeLog 34797 +RMD160 2b2b7f33f1855e49500fbb43139cbe0ee12ddb56 ChangeLog 34797 +SHA256 b0fceea7dc2abf58435859dd066e8b5dbd28f58c1810c653ae69fb4728f6a601 ChangeLog 34797 MISC metadata.xml 494 RMD160 6c0f807a9fcdcaee2e28906992a35dd87d24ff0a SHA1 3ba9ee03c89575c03788c087c2dea8c208b398e9 SHA256 457f40aec01e7f047adfab46ed13813853102027c1f4cd68efa45a2bd39aff08 MD5 f462ad2ddb101d99fc4860e39a197a9f metadata.xml 494 RMD160 6c0f807a9fcdcaee2e28906992a35dd87d24ff0a metadata.xml 494 @@ -103,10 +111,13 @@ SHA256 d9fb304a1462d565b212f79c5c651420d73d869b930b26e910ab404b29fa29a6 files/di MD5 0f158d98d2ca373a3354b766fa77b3b1 files/digest-ati-drivers-8.33.6-r1 313 RMD160 b761fa28174b9be344763ae1c892287db3351c19 files/digest-ati-drivers-8.33.6-r1 313 SHA256 d9fb304a1462d565b212f79c5c651420d73d869b930b26e910ab404b29fa29a6 files/digest-ati-drivers-8.33.6-r1 313 +MD5 0f158d98d2ca373a3354b766fa77b3b1 files/digest-ati-drivers-8.33.6-r2 313 +RMD160 b761fa28174b9be344763ae1c892287db3351c19 files/digest-ati-drivers-8.33.6-r2 313 +SHA256 d9fb304a1462d565b212f79c5c651420d73d869b930b26e910ab404b29fa29a6 files/digest-ati-drivers-8.33.6-r2 313 -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.2 (GNU/Linux) -iD8DBQFFy8/QUElL7eJpfEQRAlJPAJ95ZEWvKWAeOcRFmomiXIoi4vl1oQCgpARg -Sy+2FwMUC61i+UD7Eoij46o= -=eo81 +iD8DBQFFzQthUElL7eJpfEQRAnpbAKCH3ujHhrSatUYfGJ6Jaidm/uhnzACdER3t +Fiq5c5dVh13QpiPjl63kU3w= +=Qt4U -----END PGP SIGNATURE----- diff --git a/x11-drivers/ati-drivers/ati-drivers-8.33.6-r2.ebuild b/x11-drivers/ati-drivers/ati-drivers-8.33.6-r2.ebuild new file mode 100644 index 000000000000..5c6e71538b60 --- /dev/null +++ b/x11-drivers/ati-drivers/ati-drivers-8.33.6-r2.ebuild @@ -0,0 +1,401 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-8.33.6-r2.ebuild,v 1.1 2007/02/10 00:01:13 marienz Exp $ + +IUSE="acpi doc opengl qt3" + +inherit eutils multilib linux-mod toolchain-funcs + +DESCRIPTION="Ati precompiled drivers for r350, r300, r250 and r200 chipsets" +HOMEPAGE="http://www.ati.com" +ATI_URL="https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/" +SRC_URI="${ATI_URL}/ati-driver-installer-${PV}-x86.x86_64.run" + +LICENSE="ATI" +KEYWORDS="~amd64 ~x86" + +# The portage dep is for COLON_SEPARATED support in env-update. +RDEPEND="x11-base/xorg-server + !x11-apps/ati-drivers-extra + app-admin/eselect-opengl + =virtual/libstdc++-3.3* + acpi? ( + x11-apps/xauth + sys-power/acpid + ) + qt3? ( =x11-libs/qt-3* ) + >=sys-apps/portage-2.1.1-r1" + +DEPEND=">=virtual/linux-sources-2.6 + ${RDEPEND}" + +# Ignore QA warnings about multilib-pkg-force not existing: +# multilib.eclass uses it (without it we do not install the 32 bit +# libraries on amd64) --marienz +RESTRICT="multilib-pkg-force" + +QA_EXECSTACK_x86="usr/lib/dri/fglrx_dri.so + usr/lib/opengl/ati/lib/libGL.so.1.2" +QA_EXECSTACK_amd64="usr/lib64/dri/fglrx_dri.so + usr/lib32/dri/fglrx_dri.so + usr/lib64/opengl/ati/lib/libGL.so.1.2 + usr/lib32/opengl/ati/lib/libGL.so.1.2" +QA_TEXTRELS_x86="usr/lib/dri/fglrx_dri.so + usr/lib/dri/atiogl_a_dri.so + usr/lib/xorg/modules/drivers/fglrx_drv.so + usr/lib/opengl/ati/lib/libGL.so.1.2" +QA_TEXTRELS_amd64=" + usr/lib64/opengl/ati/lib/libGL.so.1.2 + usr/lib32/opengl/ati/lib/libGL.so.1.2 + usr/lib64/dri/fglrx_dri.so + usr/lib32/dri/fglrx_dri.so + usr/lib64/dri/atiogl_a_dri.so + usr/lib32/dri/atiogl_a_dri.so" + +S="${WORKDIR}" + +pkg_setup() { + #check kernel and sets up KV_OBJ + MODULE_NAMES="fglrx(video:${S}/common/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}" + + if ! linux_chkconfig_present MTRR; then + ewarn "You don't have MTRR support enabled, the direct rendering will not work." + fi + + if linux_chkconfig_builtin DRM; then + ewarn "You have DRM support enabled builtin, the direct rendering will not work." + fi + + if ! linux_chkconfig_present AGP && \ + ! linux_chkconfig_present PCIEPORTBUS; then + ewarn "You need AGP and/or PCI Express support for direct rendering to work." + fi + + # xorg-server 1.1 and its prereleases correspond to xorg 7.1. + if has_version ">=x11-base/xorg-server-1.0.99"; then + BASE_DIR="${S}/x710" + else + BASE_DIR="${S}/x690" + fi + + if use amd64 ; then + BASE_DIR="${BASE_DIR}_64a" + # This is used like $(get_libdir) for paths in ati's package. + PKG_LIBDIR=lib64 + ARCH_DIR="${S}/arch/x86_64" + else + PKG_LIBDIR=lib + ARCH_DIR="${S}/arch/x86" + fi +} + +src_unpack() { + local src="${DISTDIR}/${A}" + # This is apparently a nonstandard makeself archive, so extract + # the offset by hand. + local offset=$(grep -am1 SKIP "${src}" | sed -e 's/SKIP="\([0-9]\+\)"/\1/') + # It is off by one because of an (unused) checksum field. + unpack_makeself "${src}" $(( offset + 1 )) tail || die "unpack failed" + + gunzip common/usr/share/man/man8/atieventsd.8 || die "manpage unzip failed" + # These are the userspace utilities that we also have source for. + # We rebuild those in ati-drivers-extra. + rm \ + "${ARCH_DIR}"/usr/X11R6/bin/{fgl_glxgears,fglrx_xgamma} \ + "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR}/libfglrx_gamma* \ + || die "bin rm failed" + + epatch "${FILESDIR}"/${PN}-2.6.20.patch + + if use acpi; then + sed -i \ + -e "s:/var/lib/xdm/authdir/:/etc/X11/xdm/authdir/:" \ + -e "s:/var/lib/gdm/:/var/gdm/:" \ + -e "s/#ffff#/#ffff##:.*MIT-MAGIC-COOKIE/" \ + "${S}/common/etc/ati/authatieventsd.sh" \ + || die "sed failed." + + # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ + epatch "${FILESDIR}"/ati-powermode-opt-path.patch + fi + + pushd common/lib/modules/fglrx/build_mod >/dev/null + ln -s "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a.GCC$(gcc-major-version) \ + || die "symlinking precompiled core failed" + + convert_to_m 2.6.x/Makefile || die "convert_to_m failed" + + # When built with ati's make.sh it defines a bunch of macros if + # certain .config values are set, falling back to less reliable + # detection methods if linux/autoconf.h is not available. We + # simply use the linux/autoconf.h settings directly, bypassing the + # detection script. + sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" + sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ + || die "MODVERSIONS sed failed" + popd >/dev/null + + mkdir panel extra || die "mkdirs failed" + # The ./ in these unpacks is required (or unpack looks in ${DISTDIR}) + if use qt3; then + cd panel + unpack ./../common/usr/src/ati/fglrx_panel_sources.tgz + cd .. + fi + cd extra + unpack ./../common/usr/src/ati/fglrx_sample_source.tgz + sed -i -e 's:include/extensions/extutil.h:X11/extensions/extutil.h:' \ + lib/fglrx_gamma/fglrx_gamma.c || die "include fixup failed" + # Add a category. + mv programs/fglrx_gamma/fglrx_xgamma.{man,1} || die "man mv failed" + cd .. +} + +src_compile() { + linux-mod_src_compile + + einfo "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_fglxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \ + -lGL -lGLU -lX11 -lm fgl_glxgears.c || die "fgl_glxgears build failed" + + einfo "Building fglrx_gamma lib" + cd "${S}"/extra/lib/fglrx_gamma + "$(tc-getCC)" -shared -fpic -o libfglrx_gamma.so.1.0 ${CFLAGS} ${LDFLAGS} \ + fglrx_gamma.c -DXF86MISC -Wl,-soname,libfglrx_gamma.so.1.0 \ + || die "fglrx_gamma lib build failed" + ln -s libfglrx_gamma.so.1.0 libfglrx_gamma.so || die "ln failed" + ln -s libfglrx_gamma.so.1.0 libfglrx_gamma.so.1 || die "ln failed" + + einfo "Building fglrx_gamma util" + cd "${S}"/extra/programs/fglrx_gamma + "$(tc-getCC)" -o fglrx_xgamma ${CFLAGS} ${LDFLAGS} fglrx_xgamma.c \ + -lm -lfglrx_gamma -lX11 -lXext -L../../lib/fglrx_gamma \ + || die "fglrx_gamma util build failed" + + if use qt3; then + einfo "Building the QT panel" + cd "${S}"/panel + emake CDEBFLAGS="${CFLAGS}" CCDEBFLAGS="${CXXFLAGS}" STRIP=true \ + || die "panel build failed" + fi +} + +src_install() { + linux-mod_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" + + # 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; 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 "${BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so + exeinto /usr/$(get_libdir)/xorg/modules/linux + doexe "${BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so + + # Arch-specific files. + # (s)bin. + into /opt + if use acpi; then + dosbin "${ARCH_DIR}"/usr/sbin/atieventsd + fi + # We cleaned out the compilable stuff in src_unpack + dobin "${ARCH_DIR}"/usr/X11R6/bin/* + + # lib. + exeinto /usr/$(get_libdir) + # Everything except for the libGL.so installed in src_install-libs. + doexe $(find "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR} \ + -maxdepth 1 -type f -name '*.so*' -not -name 'libGL.so*') + insinto /usr/$(get_libdir) + doins $(find "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR} \ + -maxdepth 1 -type f -not -name '*.so*') + + # Common files. + # etc. + insinto /etc/ati + # Everything except for the authatieventsd.sh script. + doins common/etc/ati/{fglrxprofiles.csv,fglrxrc,logo*} + if use acpi; then + doins common/etc/ati/authatieventsd.sh + fi + + # include. + insinto /usr + doins -r common/usr/include + insinto /usr/include/X11/extensions + doins common/usr/X11R6/include/X11/extensions/fglrx_gamma.h + + # Just the atigetsysteminfo.sh script. + into /usr + dosbin common/usr/sbin/* + + # doc. + if use doc; then + dohtml -r common/usr/share/doc/fglrx + fi + if use acpi; then + doman common/usr/share/man/man8/atieventsd.8 + + pushd common/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 + fi + + # Done with the "source" tree. Install tools we rebuilt: + dobin extra/fgl_glxgears/fgl_fglxgears + newdoc extra/fgl_glxgears/README README.fgl_glxgears + + dolib extra/lib/fglrx_gamma/*so* + newdoc extra/lib/fglrx_gamma/README README.libfglrx_gamma + + dobin extra/programs/fglrx_gamma/fglrx_xgamma + doman extra/programs/fglrx_gamma/fglrx_xgamma.1 + newdoc extra/programs/fglrx_gamma/README README.fglrx_gamma + + if use qt3; then + dobin panel/fireglcontrol + make_desktop_entry fireglcontrol 'ATI Control' ati.xpm System + insinto /usr/share/pixmaps + doins common/usr/share/icons/ati.xpm + fi + + # Gentoo-specific stuff: + + if use acpi; then + newinitd "${FILESDIR}"/atieventsd.rc6 atieventsd + echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.confd + newconfd "${T}"/atieventsd.confd atieventsd + fi +} + +src_install-libs() { + if [[ "${ABI}" == "amd64" ]]; then + local pkglibdir=lib64 + else + local pkglibdir=lib + fi + einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system" + + local ATI_ROOT=/usr/$(get_libdir)/opengl/ati + + # The GLX libraries + # (yes, this really is "lib" even on amd64/multilib --marienz) + exeinto ${ATI_ROOT}/lib + doexe "${ARCH_DIR}"/usr/X11R6/${pkglibdir}/libGL.so.1.2 + dosym libGL.so.1.2 ${ATI_ROOT}/lib/libGL.so.1 + dosym libGL.so.1.2 ${ATI_ROOT}/lib/libGL.so + + # same as the xorg implementation + # commented out, does not seem to be necessary. --marienz + # dosym ../xorg-x11/extensions ${ATI_ROOT}/extensions + + #Workaround + if use opengl; then + # Is this necessary? Is this sane? --marienz + sed -e "s:libdir=.*:libdir=${ATI_ROOT}/lib:" \ + /usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.la \ + > "${D}"/${ATI_ROOT}/lib/libGL.la + # Commented out, just like the extensions one --marienz + # dosym ../xorg-x11/include ${ATI_ROOT}/include + fi + + # DRI modules, installed into the path used by recent versions of mesa. + exeinto /usr/$(get_libdir)/dri + doexe "${ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so + doexe "${ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/atiogl_a_dri.so + + 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}" +} + +pkg_postinst() { + /usr/bin/eselect opengl set --use-old ati + + elog "To switch to ATI OpenGL, run \"eselect opengl set ati\"" + elog "To change your xorg.conf you can use the bundled \"aticonfig\"" + if use !opengl ; then + ewarn "You don't have the opengl useflag enabled, you won't be able to build" + ewarn "opengl applications nor use opengl driver features, if that isn't" + ewarn "the intended behaviour please add opengl to your useflag and issue" + ewarn "# emerge -Nu ati-drivers" + fi + 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 + # (to get the LIBGL_DRIVERS_PATH) + elog "You will have to source /etc/profile (or logout and back in) for dri" + elog "to work, unless you previously had ati-drivers installed." + # DRM module + linux-mod_pkg_postinst +} + +pkg_postrm() { + linux-mod_pkg_postrm + /usr/bin/eselect opengl set --use-old xorg-x11 +} diff --git a/x11-drivers/ati-drivers/files/ati-powermode-opt-path.patch b/x11-drivers/ati-drivers/files/ati-powermode-opt-path.patch new file mode 100644 index 000000000000..fb6119e42833 --- /dev/null +++ b/x11-drivers/ati-drivers/files/ati-powermode-opt-path.patch @@ -0,0 +1,22 @@ +=== modified file 'common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh' +--- common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh 2007-02-09 12:25:40 +0000 ++++ common/usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh 2007-02-09 12:28:54 +0000 +@@ -46,7 +46,7 @@ + getXuser; + if [ x"$XAUTHORITY" != x"" ]; then + export DISPLAY=":$displaynum" +- su $user -c "/usr/X11R6/bin/aticonfig --set-powerstate=1 --effective=now" ++ su $user -c "/opt/bin/aticonfig --set-powerstate=1 --effective=now" + fi + done + else +@@ -56,7 +56,7 @@ + getXuser; + if [ x"$XAUTHORITY" != x"" ]; then + export DISPLAY=":$displaynum" +- su $user -c "/usr/X11R6/bin/aticonfig --set-powerstate=3 --effective=now" ++ su $user -c "/opt/bin/aticonfig --set-powerstate=3 --effective=now" + fi + done + fi + diff --git a/x11-drivers/ati-drivers/files/digest-ati-drivers-8.33.6-r2 b/x11-drivers/ati-drivers/files/digest-ati-drivers-8.33.6-r2 new file mode 100644 index 000000000000..74e2e15db062 --- /dev/null +++ b/x11-drivers/ati-drivers/files/digest-ati-drivers-8.33.6-r2 @@ -0,0 +1,3 @@ +MD5 5fbd42d666d467a904acbaeb600c1d5a ati-driver-installer-8.33.6-x86.x86_64.run 58620730 +RMD160 141531330a77d2981d56fd5682d3220d757cc51d ati-driver-installer-8.33.6-x86.x86_64.run 58620730 +SHA256 7e758637c578fe00de00e2bcdf561d92036c73125ef98512be7f1a1405e8f2ae ati-driver-installer-8.33.6-x86.x86_64.run 58620730 -- 2.26.2