summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--media-video/ati-drivers/Manifest8
-rw-r--r--media-video/ati-drivers/ati-drivers-3.7.0.ebuild193
-rw-r--r--media-video/ati-drivers/files/digest-ati-drivers-3.7.01
-rw-r--r--media-video/ati-drivers/files/fglrx-3.7.0-fix-fglrx_panel-includes.patch72
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
+