diff options
author | Martin Schlemmer <azarah@gentoo.org> | 2003-12-30 01:20:47 +0000 |
---|---|---|
committer | Martin Schlemmer <azarah@gentoo.org> | 2003-12-30 01:20:47 +0000 |
commit | 44313194c9441c59a662c38b4dcf30418eb41b89 (patch) | |
tree | 3afa0fe1f02e491a92fc8698849ca7ec6275171c /media-video/ati-drivers | |
parent | Update version. This closes bug #36743, with thanks for ebuild and patch (diff) | |
download | historical-44313194c9441c59a662c38b4dcf30418eb41b89.tar.gz historical-44313194c9441c59a662c38b4dcf30418eb41b89.tar.bz2 historical-44313194c9441c59a662c38b4dcf30418eb41b89.zip |
Update version. This closes bug #36743, with thanks for ebuild and patch
to Alex Plank <aplank@notsohotmail.com>. Further did a major overhaul of
the ebuild - lots of cleanups and form fixes.
Diffstat (limited to 'media-video/ati-drivers')
4 files changed, 270 insertions, 4 deletions
diff --git a/media-video/ati-drivers/Manifest b/media-video/ati-drivers/Manifest index 434492b4d403..21f6007666c7 100644 --- a/media-video/ati-drivers/Manifest +++ b/media-video/ati-drivers/Manifest @@ -1,10 +1,9 @@ -MD5 16577e2794e950b617c57df88e60bcd0 ati-drivers-3.2.8.ebuild 4678 +MD5 d69ed290ce069cda9e8bf407f6be6a0a ati-drivers-3.2.8.ebuild 4587 MD5 20b39fca85cbd3239466ccf8f24fdfc2 ati-drivers-2.5.1.ebuild 3036 -MD5 4716e802523708bc89fd365e04ffdac0 .ati-drivers-3.7.0.ebuild.swp 20480 -MD5 d0568bd78641f40f8a5bb678e77f5934 ati-drivers-3.7.0.ebuild 4540 +MD5 70dd3cc9cf317f5c15d8634da656a53b ati-drivers-3.7.0.ebuild 5266 MD5 d2e36344a43730865709052aab657821 ati-drivers-3.2.5-r1.ebuild 4605 MD5 473b66e0cdd6d232a2fe528f05ea3a1b ati-drivers-2.9.13-r1.ebuild 4273 -MD5 8b5a553529f71de5545f74d837897e79 ChangeLog 4460 +MD5 4f709d24487a7c6c5127dfddd4f03a11 ChangeLog 4824 MD5 59a37b1c6f7cc09308773178c3d414b4 ati-drivers-3.2.5.ebuild 4583 MD5 76a5204e775bfa12f13f85bd26d163e6 ati-drivers-2.5.1-r1.ebuild 3714 MD5 bd9fe6f01ec4d68241cf5c9ba51e907b ati-drivers-2.9.12.ebuild 3636 @@ -28,6 +27,7 @@ MD5 0283465e3554a1316b63c1483abefdd6 files/fglrx-2.6-amd-adv-spec-fix.patch 1096 MD5 4db715bff794061bfa0f233b6291e372 files/fglrx-2.6-makefile.patch 571 MD5 d46e2e3860ee3b4f750f21bfacf9020c files/digest-ati-drivers-3.2.5-r1 78 MD5 ca4e8654e3b880025b10ac15d2dbff41 files/fglrx-2.6-iminor.patch 847 +MD5 4765a7db326f308f862b1fe3e211ef0d files/fglrx-3.7.0-fix-fglrx_panel-includes.patch 2168 MD5 f21aff99b8b4d8a6134d44d5e00e649e files/ati-2.5.1.diff 660 MD5 d7df82fba612188346e087bfc2a3a305 files/digest-ati-drivers-3.2.0 81 MD5 e61309d064f12cc623e4d6e78aa82b36 files/09ati 39 diff --git a/media-video/ati-drivers/ati-drivers-3.7.0.ebuild b/media-video/ati-drivers/ati-drivers-3.7.0.ebuild new file mode 100644 index 000000000000..5aff9dea7dee --- /dev/null +++ b/media-video/ati-drivers/ati-drivers-3.7.0.ebuild @@ -0,0 +1,193 @@ +# Copyright 1999-2003 Gentoo Technologies, Inc. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/ati-drivers/ati-drivers-3.7.0.ebuild,v 1.1 2003/12/30 01:20:13 azarah Exp $ + +IUSE="qt kde gnome" + +inherit eutils rpm + +DESCRIPTION="Ati precompiled drivers for r350, r300, r250 and r200 chipsets" +HOMEPAGE="http://www.ati.com" +SRC_URI="http://www2.ati.com/drivers/linux/fglrx-glc22-4.3.0-${PV}.i386.rpm" +SLOT="${KV}" +LICENSE="ATI GPL-2 QPL-1.0" +KEYWORDS="-* ~x86" + +DEPEND=">=virtual/linux-sources-2.4 + app-arch/rpm2targz + >=x11-base/xfree-4.3.0 + qt? ( >=x11-libs/qt-3.0 )" + +RDEPEND="qt? ( >=x11-libs/qt-3.0 )" + +ATIBIN="${D}/opt/ati/bin" +RESTRICT="nostrip" + +src_unpack() { + local OLDBIN="/usr/X11R6/bin" + + cd ${WORKDIR} + rpm_src_unpack + + mkdir -p ${WORKDIR}/extra + einfo "Unpacking fglrx_sample_source.tgz..." + tar --no-same-owner -C ${WORKDIR}/extra/ -zxf \ + ${WORKDIR}/usr/src/ATI/fglrx_sample_source.tgz \ + || die "Failed to unpack fglrx_sample_source.tgz!" + # Defining USE_GLU allows this to compile with NVIDIA headers just fine + sed -e "s:-I/usr/X11R6/include:-D USE_GLU -I/usr/X11R6/include:" \ + -i ${WORKDIR}/extra/fgl_glxgears/Makefile.Linux || die + + mkdir -p ${WORKDIR}/extra/fglrx_panel + einfo "Unpacking fglrx_panel_sources.tgz..." + tar --no-same-owner -C ${WORKDIR}/extra/fglrx_panel/ -zxf \ + ${WORKDIR}/usr/src/ATI/fglrx_panel_sources.tgz \ + || die "Failed to unpack fglrx_panel_sources.tgz!" + sed -e "s:"${OLDBIN}":"${ATIBIN}":"\ + -i ${WORKDIR}/extra/fglrx_panel/Makefile + + # Messed up fglrx_panel headers + cd ${WORKDIR}/extra/fglrx_panel + epatch ${FILESDIR}/fglrx-3.7.0-fix-fglrx_panel-includes.patch + + cd ${WORKDIR}/lib/modules/fglrx/build_mod + epatch ${FILESDIR}/fglrx-3.2.8-fix-amd-adv-spec.patch + + if [ "`echo ${KV}|grep 2.6`" ] + then + epatch ${FILESDIR}/fglrx-2.6-vmalloc-vmaddr.patch +# epatch ${FILESDIR}/fglrx-2.6-iminor.patch +# epatch ${FILESDIR}/3.2.5-linux-2.6.0-test6-mm.patch + fi +} + +pkg_setup(){ + check_KV || \ + die "Please ensure /usr/src/linux points to your kernel symlink!" +} + +src_compile() { + local GENTOO_ARCH= + + einfo "Building the DRM module..." + cd ${WORKDIR}/lib/modules/fglrx/build_mod + if [ "${KV}" != "${KV/2\.6}" ] + then + GENTOO_ARCH=${ARCH} + unset ARCH + addwrite "/usr/src/${FK}" + cp 2.6.x/Makefile . + export _POSIX2_VERSION="199209" + make -C /usr/src/linux SUBDIRS="`pwd`" modules || \ + ewarn "DRM module not built" + ARCH=${GENTOO_ARCH} + else + export _POSIX2_VERSION="199209" + # That is the dirty way to avoid the id -u check + sed -e 's:`id -u`:0:' \ + -e 's:`uname -r`:${KV}:' \ + -i make.sh + ./make.sh || ewarn "DRM module not built" + fi + + einfo "Building the fgl_glxgears sample..." + cd ${WORKDIR}/extra/fgl_glxgears + make -f Makefile.Linux || ewarn "fgl_glxgears sample not build!" + + if [ "`use qt`" ] + then + einfo "Building the QT fglx panel..." + cd ${WORKDIR}/extra/fglrx_panel + emake || die + fi + + # Removing unused stuff + rm -rf ${WORKDIR}/usr/X11R6/bin/{*.bz2,fgl_glxgears} +} + +pkg_preinst() { + # Clean the dinamic libGL stuff's home to ensure + # we don't have stale libs floating around ... + if [ -d "${ROOT}/usr/lib/opengl/ati" ] + then + rm -rf ${ROOT}/usr/lib/opengl/ati/* + fi +} + +src_install() { + local ATI_ROOT="/usr/lib/opengl/ati" + + cd ${WORKDIR} + + # DRM module + insinto /lib/modules/${KV}/video + if [ "${KV}" != "${KV/2\.6}" ] + then + doins ${WORKDIR}/lib/modules/fglrx/build_mod/fglrx.ko + else + doins ${WORKDIR}/lib/modules/fglrx/build_mod/fglrx.o + fi + + # OpenGL libs + exeinto ${ATI_ROOT}/lib + doexe ${WORKDIR}/usr/X11R6/lib/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 + dosym libGL.so.1.2 ${ATI_ROOT}/lib/libMesaGL.so + # This is the same as that of xfree ... + dosym ../../xfree/lib/libGL.la ${ATI_ROOT}/lib/libGL.la + + # X and DRI driver + exeinto /usr/X11R6/lib/modules/drivers + doexe ${WORKDIR}/usr/X11R6/lib/modules/drivers/fglrx_drv.o + exeinto /usr/X11R6/lib/modules/dri + doexe ${WORKDIR}/usr/X11R6/lib/modules/dri/fglrx_dri.so + rm -f ${WORKDIR}/usr/X11R6/lib/modules/drivers/fglrx_drv.o \ + ${WORKDIR}/usr/X11R6/lib/modules/dri/fglrx_dri.so + + # Same as in xfree + exeinto ${ATI_ROOT}/ + dosym ../xfree/include ${ATI_ROOT}/include + dosym ../xfree/extensions ${ATI_ROOT}/extensions + rm -f ${WORKDIR}/usr/X11R6/lib/libGL.so.1.2 + + # Apps + insinto /etc/env.d + doins ${FILESDIR}/09ati + exeinto /opt/ati/bin + doexe ${WORKDIR}/extra/fgl_glxgears/fgl_glxgears + doexe ${WORKDIR}/usr/X11R6/bin/* + rm -f ${WORKDIR}/usr/X11R6/bin/* + + if [ "`use qt`" ] + then + doexe ${WORKDIR}/extra/fglrx_panel/fireglcontrol + else + # Removing unused stuff + rm -rf ${WORKDIR}/usr/share/{applnk,gnome,icons,pixmaps} + fi + + dodoc ${WORKDIR}/usr/share/doc/fglrx/LICENSE.* + + # Removing unused stuff + rm -rf ${WORKDIR}/usr/{src,share/doc} + cp -R ${WORKDIR}/usr ${D}/ +} + +pkg_postinst() { +# Ebuild shouldn't do this automatically, just tell the user to do it, +# otherwise it messes up livecd/gamecd stuff ... (drobbins, 1 May 2003) +# if [ "${ROOT}" = "/" ] +# then +# /usr/sbin/opengl-update ati +# fi + + echo + einfo "To switch to ATI OpenGL, run \"opengl-update ati\"" + einfo "To change your XF86Config you can use the bundled \"fglrxconfig\"" + echo + + # DRM module + update-modules +} + diff --git a/media-video/ati-drivers/files/digest-ati-drivers-3.7.0 b/media-video/ati-drivers/files/digest-ati-drivers-3.7.0 new file mode 100644 index 000000000000..f2fc98b270c7 --- /dev/null +++ b/media-video/ati-drivers/files/digest-ati-drivers-3.7.0 @@ -0,0 +1 @@ +MD5 7dd12340a2b8525b3a9fa1f310e06141 fglrx-glc22-4.3.0-3.7.0.i386.rpm 2856011 diff --git a/media-video/ati-drivers/files/fglrx-3.7.0-fix-fglrx_panel-includes.patch b/media-video/ati-drivers/files/fglrx-3.7.0-fix-fglrx_panel-includes.patch new file mode 100644 index 000000000000..93bea6c049bb --- /dev/null +++ b/media-video/ati-drivers/files/fglrx-3.7.0-fix-fglrx_panel-includes.patch @@ -0,0 +1,72 @@ +--- ATITVOExtensions.c.orig 2003-11-11 17:32:14.000000000 +0000 ++++ ATITVOExtensions.c 2003-12-29 19:09:46.790701616 +0000 +@@ -33,68 +33,15 @@ + #include <stdlib.h> + + #include "ATITVOExtensions.h" +-#include "Radeon_extension_tvout.h" ++#include "TVOExt.h" + + static XExtensionInfo _atitvo_info_data; +-static XExtensionInfo *atitvo_info = &_atitvo_info_data; +-static char *atitvo_extension_name = ATITVOUT_EXTENSION_NAME; +- + + ////////////////////////////////////////////////////////////////////////////// + // private functions + + XExtDisplayInfo *info; + +-// X shutdown hook function that will cleanup the opened extension +-static XEXT_GENERATE_CLOSE_DISPLAY (close_display_atitvo, +- atitvo_info) +- +-// table with X hooks +-static /* const */ XExtensionHooks atitvo_extension_hooks = { +- NULL, /* create_gc */ +- NULL, /* copy_gc */ +- NULL, /* flush_gc */ +- NULL, /* free_gc */ +- NULL, /* create_font */ +- NULL, /* free_font */ +- close_display_atitvo, /* close_display */ +- NULL, /* wire_to_event */ +- NULL, /* event_to_wire */ +- NULL, /* error */ +- NULL, /* error_string */ +-}; +- +-// find_display_atitvo - get the display info block for atitvo extension +-static XEXT_GENERATE_FIND_DISPLAY (find_display_atitvo, +- atitvo_info, +- atitvo_extension_name, +- &atitvo_extension_hooks, +- ATITVOUT_NUMBER_EVENTS, +- NULL) +- +- +- +-static int +-answerisyes(char *s) +-{ +- if (s[0] == '\'') /* For fools that type the ' literally. */ +- return tolower(s[1]) == 'y'; +- return tolower(s[0]) == 'y'; +-} +- +- +-static void +-getstring(char *s) +-{ +- char *cp; +- fgets(s, 80, stdin); +- cp = strchr(s, '\n'); +- if (cp) +- *cp=0; +-} +- +- +- + ////////////////////////////////////////////////////////////////////////////// + // type defines + |