Changing driver and lib install location to be detected
authorAndrew Bevitt <cyfred@gentoo.org>
Fri, 31 Dec 2004 01:31:49 +0000 (01:31 +0000)
committerAndrew Bevitt <cyfred@gentoo.org>
Fri, 31 Dec 2004 01:31:49 +0000 (01:31 +0000)
media-video/nvidia-glx/ChangeLog
media-video/nvidia-glx/Manifest
media-video/nvidia-glx/files/digest-nvidia-glx-1.0.6629-r1 [new file with mode: 0644]
media-video/nvidia-glx/nvidia-glx-1.0.6629-r1.ebuild [new file with mode: 0644]

index 53e6d2f373842d102233757f30cb07a6023b59a5..19adb74fbe3997d7b8ab2f42ec6436ca520c6345 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for media-video/nvidia-glx
 # Copyright 2002-2004 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-glx/ChangeLog,v 1.67 2004/11/30 01:33:12 cyfred Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-glx/ChangeLog,v 1.68 2004/12/31 01:31:49 cyfred Exp $
+
+*nvidia-glx-1.0.6629-r1 (31 Dec 2004)
+
+  31 Dec 2004; Andrew Bevitt <cyfred@gentoo.org>
+  +nvidia-glx-1.0.6629-r1.ebuild:
+  Changing driver and lib install location to be detected depending on
+  xorg-x11 version.
 
   30 Nov 2004; Andrew Bevitt <cyfred@gentoo.org> -files/README.gentoo,
   +files/libGL.la, -files/libGL.la.2,
index 5fc9584c41c59dcf01e8f4a41748a3185ac32087..27f727fa04be8dc3a6a169e08ce1b96e973c30fb 100644 (file)
@@ -1,11 +1,13 @@
-MD5 95117ca40ecd086269c2cc702b47ad80 ChangeLog 14544
+MD5 911e4950e8e1681e03881b5e774cc2ac ChangeLog 14758
 MD5 a877edb407b63894d17386ea0aaca151 metadata.xml 286
 MD5 1a05003abe899381b1e112f66ed7d42a nvidia-glx-1.0.6111.ebuild 5346
 MD5 9445adc8a9fde51817220efc0164713d nvidia-glx-1.0.6629.ebuild 5440
+MD5 a653493c1e072e1305f88b1a231e8055 nvidia-glx-1.0.6629-r1.ebuild 5658
 MD5 c3afc69f917a783ebd53cf2de38065dc files/09nvidia 61
 MD5 49e1d59847fbcc32cb582d9df7e1c1b3 files/libGL.la 751
 MD5 ed1e098d85579c75542ef0a49ee4dd5c files/digest-nvidia-glx-1.0.6111 163
 MD5 8a4687b0fc3e7cc0b36c247697d94701 files/digest-nvidia-glx-1.0.6629 163
+MD5 8a4687b0fc3e7cc0b36c247697d94701 files/digest-nvidia-glx-1.0.6629-r1 163
 MD5 3d8b3ecb3827e2e3a9a45ac6c3210a0a files/1.0.6111/NVIDIA_glx-1.0.6111-defines.patch 437
 MD5 32901fb95c4fdc6cfa6b762498240b3c files/1.0.6111/NVIDIA_glx-1.0.6111-glheader.patch 380
 MD5 6f55327ce020f7ed0d433ea99dacb315 files/1.0.6111/NVIDIA_glx-1.0.6111-makefile.patch 593
diff --git a/media-video/nvidia-glx/files/digest-nvidia-glx-1.0.6629-r1 b/media-video/nvidia-glx/files/digest-nvidia-glx-1.0.6629-r1
new file mode 100644 (file)
index 0000000..9324510
--- /dev/null
@@ -0,0 +1,2 @@
+MD5 f7737c1e95371f37a4fd30da2f11e72c NVIDIA-Linux-x86-1.0-6629-pkg1.run 8725221
+MD5 652e69f549c81a7a3f2806daa74b9c36 NVIDIA-Linux-x86_64-1.0-6629-pkg2.run 7777882
diff --git a/media-video/nvidia-glx/nvidia-glx-1.0.6629-r1.ebuild b/media-video/nvidia-glx/nvidia-glx-1.0.6629-r1.ebuild
new file mode 100644 (file)
index 0000000..82fb0da
--- /dev/null
@@ -0,0 +1,191 @@
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-glx/nvidia-glx-1.0.6629-r1.ebuild,v 1.1 2004/12/31 01:31:49 cyfred Exp $
+
+inherit eutils
+
+X86_PKG_V="pkg1"
+AMD64_PKG_V="pkg2"
+NV_V="${PV/1.0./1.0-}"
+X86_NV_PACKAGE="NVIDIA-Linux-x86-${NV_V}"
+AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${NV_V}"
+
+DESCRIPTION="NVIDIA X11 driver and GLX libraries"
+HOMEPAGE="http://www.nvidia.com/"
+SRC_URI="x86? (ftp://download.nvidia.com/XFree86/Linux-x86/${NV_V}/${X86_NV_PACKAGE}-${X86_PKG_V}.run)
+       amd64? (http://download.nvidia.com/XFree86/Linux-x86_64/${NV_V}/${AMD64_NV_PACKAGE}-${AMD64_PKG_V}.run)"
+
+if use x86; then
+       PKG_V="${X86_PKG_V}"
+       NV_PACKAGE="${X86_NV_PACKAGE}"
+elif use amd64; then
+       PKG_V="${AMD64_PKG_V}"
+       NV_PACKAGE="${AMD64_NV_PACKAGE}"
+fi
+
+S="${WORKDIR}/${NV_PACKAGE}-${PKG_V}"
+
+LICENSE="NVIDIA"
+SLOT="0"
+KEYWORDS="-* ~x86 ~amd64"
+RESTRICT="nostrip"
+IUSE="multilib"
+
+DEPEND="virtual/libc
+       virtual/x11
+       >=x11-base/opengl-update-1.8.1
+       ~media-video/nvidia-kernel-${PV}"
+
+PDEPEND="amd64? ( multilib? ( >=app-emulation/emul-linux-x86-nvidia-${PV} ) )"
+
+PROVIDE="virtual/opengl"
+export _POSIX2_VERSION="199209"
+
+check_xfree() {
+       # This isn't necessary, true. But its about time people got the idea.
+       if has_version "x11-base/xfree"
+       then
+               eerror "Support for x11-base/xfree is deprecated. Upgrade to x11-base/xorg-x11."
+       fi
+}
+
+pkg_setup() {
+       check_xfree
+
+       # Provide some information to the users
+       if use amd64 ; then
+               einfo
+               einfo "This release of nvidia-glx contains 32 bit compatibility"
+               einfo "libraries. These can be installed by either"
+               einfo "  1) emerge app-emulation/emul-linux-x86-nvidia"
+               einfo "  2) USE=\"multilib\" emerge media-video/nvidia-glx"
+               einfo "     (or /etc/portage/package.use, see portage manual)"
+               einfo
+       fi
+}
+
+src_unpack() {
+       cd ${WORKDIR}
+       bash ${DISTDIR}/${NV_PACKAGE}-${PKG_V}.run --extract-only
+
+       # Patchs go below here, add breif description
+       cd ${S}
+       # nVidia wants us to use nvidia-installer, removing warning.
+       epatch ${FILESDIR}/${PV}/NVIDIA_glx-${PV}-makefile.patch
+       # Use the correct defines to make gtkglext build work
+       epatch ${FILESDIR}/${PV}/NVIDIA_glx-${PV}-defines.patch
+       # Use some more sensible gl headers and make way for new glext.h
+       epatch ${FILESDIR}/${PV}/NVIDIA_glx-${PV}-glheader.patch
+
+}
+
+src_install() {
+       local NV_ROOT="/usr/lib/opengl/nvidia"
+
+       # The X module
+       # Since we moved away from libs in /usr/X11R6 need to check this
+       if has_version ">=x11-base/xorg-x11-6.8.0-r4" ; then
+               local X11_LIB_DIR="/usr/lib"
+       else
+               local X11_LIB_DIR="/usr/X11R6/lib"
+       fi
+
+       # The X module
+       exeinto ${X11_LIB_DIR}/modules/drivers
+       doexe usr/X11R6/lib/modules/drivers/nvidia_drv.o
+
+       # The GLX extension
+       exeinto ${NV_ROOT}/extensions
+       newexe usr/X11R6/lib/modules/extensions/libglx.so.${PV} libglx.so
+
+       # The GLX libraries
+       exeinto ${NV_ROOT}/lib
+       doexe usr/lib/libGL.so.${PV} \
+             usr/lib/libGLcore.so.${PV} \
+                 usr/lib/libnvidia-tls.so.${PV}
+       dosym libGL.so.${PV} ${NV_ROOT}/lib/libGL.so
+       dosym libGL.so.${PV} ${NV_ROOT}/lib/libGL.so.1
+       dosym libGLcore.so.${PV} ${NV_ROOT}/lib/libGLcore.so
+       dosym libGLcore.so.${PV} ${NV_ROOT}/lib/libGLcore.so.1
+       dosym libnvidia-tls.so.${PV} ${NV_ROOT}/lib/libnvidia-tls.so
+       dosym libnvidia-tls.so.${PV} ${NV_ROOT}/lib/libnvidia-tls.so.1
+
+       local TLS_ROOT="/usr/lib/opengl/nvidia/tls"
+       dodir ${TLS_ROOT}
+       exeinto ${TLS_ROOT}
+       doexe usr/lib/tls/libnvidia-tls.so.${PV}
+       dosym libnvidia-tls.so.${PV} ${TLS_ROOT}/libnvidia-tls.so
+       dosym libnvidia-tls.so.${PV} ${TLS_ROOT}/libnvidia-tls.so.1
+
+       # Install tls_test
+       dodir /usr/lib/misc
+       exeinto /usr/lib/misc
+       doexe usr/bin/tls_test
+       doexe usr/bin/tls_test_dso.so
+
+       insinto ${X11_LIB_DIR}
+       doins usr/X11R6/lib/libXvMCNVIDIA.a
+       exeinto ${X11_LIB_DIR}
+       doexe usr/X11R6/lib/libXvMCNVIDIA.so.${PV}
+
+       # Closing bug #37517 by letting virtual/x11 provide system wide glext.h
+       # 16 July 2004, opengl-update is now supplying glext.h for system wide
+       # compatibility, so we still need to remove this.
+       # 7 November 2004, Keeping this around for 6629 to see what happens.
+       #rm -f usr/include/GL/glext.h
+
+       # Includes
+       insinto ${NV_ROOT}/include
+       doins usr/include/GL/*.h
+
+       # Docs, remove nvidia-settings as provided by media-video/nvidia-settings
+       rm -f usr/share/doc/nvidia-settings*
+       dodoc usr/share/doc/*
+
+       # nVidia want bug reports using this script
+       exeinto /usr/bin
+       doexe usr/bin/nvidia-bug-report.sh
+
+       # Not sure whether installing the .la file is neccessary;
+       # this is adopted from the `nvidia' ebuild
+       local ver1="`echo ${PV} |cut -d '.' -f 1`"
+       local ver2="`echo ${PV} |cut -d '.' -f 2`"
+       local ver3="`echo ${PV} |cut -d '.' -f 3`"
+       sed -e "s:\${PV}:${PV}:"     \
+               -e "s:\${ver1}:${ver1}:" \
+               -e "s:\${ver2}:${ver2}:" \
+               -e "s:\${ver3}:${ver3}:" \
+               ${FILESDIR}/libGL.la > ${D}/${NV_ROOT}/lib/libGL.la
+
+       # Should we install the .la for the 32bit libs on amd64? I think not.
+}
+
+pkg_preinst() {
+       # Clean the dinamic libGL stuff's home to ensure
+       # we dont have stale libs floating around
+       if [ -d ${ROOT}/usr/lib/opengl/nvidia ]
+       then
+               rm -rf ${ROOT}/usr/lib/opengl/nvidia/*
+       fi
+       # Make sure we nuke the old nvidia-glx's env.d file
+       if [ -e ${ROOT}/etc/env.d/09nvidia ]
+       then
+               rm -f ${ROOT}/etc/env.d/09nvidia
+       fi
+}
+
+pkg_postinst() {
+       #switch to the nvidia implementation
+       if [ "${ROOT}" = "/" ]
+       then
+               /usr/sbin/opengl-update nvidia
+       fi
+
+       echo
+       einfo "To use the Nvidia GLX, run \"opengl-update nvidia\""
+       echo
+       einfo "You may also be interested in media-video/nvidia-settings"
+       echo
+       einfo "nVidia have requested that any bug reports submitted have the"
+       einfo "output of /usr/bin/nvidia-bug-report.sh included."
+}