Added support for FreeBSD drivers as per bug #102274.
authorDiego Elio Pettenò <flameeyes@gentoo.org>
Fri, 28 Oct 2005 10:06:41 +0000 (10:06 +0000)
committerDiego Elio Pettenò <flameeyes@gentoo.org>
Fri, 28 Oct 2005 10:06:41 +0000 (10:06 +0000)
Package-Manager: portage-2.0.53_rc6

media-video/nvidia-glx/ChangeLog
media-video/nvidia-glx/Manifest
media-video/nvidia-glx/files/digest-nvidia-glx-1.0.7676-r1
media-video/nvidia-glx/nvidia-glx-1.0.7676-r1.ebuild

index f684745a38fd34449d331d5cd223db9d6bc0033c..ce55d7c6526128a5d3092d78ddd64ebccb216236 100644 (file)
@@ -1,6 +1,10 @@
 # ChangeLog for media-video/nvidia-glx
 # Copyright 2002-2005 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-glx/ChangeLog,v 1.102 2005/09/05 23:11:43 eradicator Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-glx/ChangeLog,v 1.103 2005/10/28 10:06:41 flameeyes Exp $
+
+  28 Oct 2005; Diego Pettenò <flameeyes@gentoo.org>
+  nvidia-glx-1.0.7676-r1.ebuild:
+  Added support for FreeBSD drivers as per bug #102274.
 
   05 Sep 2005; Jeremy Huddleston <eradicator@gentoo.org>
   nvidia-glx-1.0.6111-r3.ebuild, nvidia-glx-1.0.6629-r7.ebuild,
index d0f98162f6fcfac5ea3220b1e417888575756ccf..22618d5b8cd7a517e97f58a81fd242543946082d 100644 (file)
@@ -1,38 +1,38 @@
 -----BEGIN PGP SIGNED MESSAGE-----
 Hash: SHA1
 
-MD5 f35ff90c7171b6f4e36d91d9e97059f3 ChangeLog 22200
-MD5 e06e73d71a54036f83abf35efc6322e3 metadata.xml 302
-MD5 413c2a51514bb61b54b1c9f3ae2e6463 nvidia-glx-1.0.7667-r1.ebuild 8446
-MD5 630dc45be727342243d06af61e06d6dd nvidia-glx-1.0.7174-r5.ebuild 8446
-MD5 699fb3bc5123b78c0a1d8512cd92caea nvidia-glx-1.0.7676-r1.ebuild 8396
-MD5 84d76e7e47009583e937b217a139924a nvidia-glx-1.0.6111-r2.ebuild 7643
-MD5 0dcb2c58ba0b70572910592479733275 nvidia-glx-1.0.6111-r3.ebuild 8284
-MD5 d146a360883f212b328c4f0f0922d310 nvidia-glx-1.0.6629-r6.ebuild 7643
-MD5 ba8fa1cac9d24046dc6384ad2882356b nvidia-glx-1.0.6629-r7.ebuild 8284
-MD5 6ca7c051a89c2afafcef2bf3befa6b44 nvidia-glx-1.0.7167-r2.ebuild 7863
-MD5 18ddb38a7595329ad585c74ee979ffaf nvidia-glx-1.0.7167-r3.ebuild 8284
+MD5 37f4605482f3be27c005b2e4896b65cf ChangeLog 22342
 MD5 c3afc69f917a783ebd53cf2de38065dc files/09nvidia 61
-MD5 ed1e098d85579c75542ef0a49ee4dd5c files/digest-nvidia-glx-1.0.6111-r3 163
-MD5 8a4687b0fc3e7cc0b36c247697d94701 files/digest-nvidia-glx-1.0.6629-r7 163
-MD5 6e47667cc38d8ce4ac2f4c7dbb392abe files/libGL.la-r2 751
-MD5 97b3ec5488fb7f7f6cdde31ee42e45af files/digest-nvidia-glx-1.0.7167-r2 163
-MD5 8a4687b0fc3e7cc0b36c247697d94701 files/digest-nvidia-glx-1.0.6629-r6 163
-MD5 ed1e098d85579c75542ef0a49ee4dd5c files/digest-nvidia-glx-1.0.6111-r2 163
-MD5 97b3ec5488fb7f7f6cdde31ee42e45af files/digest-nvidia-glx-1.0.7167-r3 163
-MD5 61c3ebdd8604c971bf969ea03040d170 files/digest-nvidia-glx-1.0.7174-r5 163
-MD5 ef2c4ecedb45b67d79b43ffe58c660cf files/digest-nvidia-glx-1.0.7667-r1 163
-MD5 4ea42a34abde5c81fe828b09afab7651 files/digest-nvidia-glx-1.0.7676-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
 MD5 3d8b3ecb3827e2e3a9a45ac6c3210a0a files/1.0.6629/NVIDIA_glx-1.0.6629-defines.patch 437
 MD5 32901fb95c4fdc6cfa6b762498240b3c files/1.0.6629/NVIDIA_glx-1.0.6629-glheader.patch 380
 MD5 f6f00d8e915e18f456ad615b4ebd8a21 files/1.0.6629/NVIDIA_glx-1.0.6629-makefile.patch 602
+MD5 ed1e098d85579c75542ef0a49ee4dd5c files/digest-nvidia-glx-1.0.6111-r2 163
+MD5 ed1e098d85579c75542ef0a49ee4dd5c files/digest-nvidia-glx-1.0.6111-r3 163
+MD5 8a4687b0fc3e7cc0b36c247697d94701 files/digest-nvidia-glx-1.0.6629-r6 163
+MD5 8a4687b0fc3e7cc0b36c247697d94701 files/digest-nvidia-glx-1.0.6629-r7 163
+MD5 97b3ec5488fb7f7f6cdde31ee42e45af files/digest-nvidia-glx-1.0.7167-r2 163
+MD5 97b3ec5488fb7f7f6cdde31ee42e45af files/digest-nvidia-glx-1.0.7167-r3 163
+MD5 61c3ebdd8604c971bf969ea03040d170 files/digest-nvidia-glx-1.0.7174-r5 163
+MD5 ef2c4ecedb45b67d79b43ffe58c660cf files/digest-nvidia-glx-1.0.7667-r1 163
+MD5 b23efa632026470bcf33c50fdef740ae files/digest-nvidia-glx-1.0.7676-r1 243
+MD5 6e47667cc38d8ce4ac2f4c7dbb392abe files/libGL.la-r2 751
+MD5 e06e73d71a54036f83abf35efc6322e3 metadata.xml 302
+MD5 84d76e7e47009583e937b217a139924a nvidia-glx-1.0.6111-r2.ebuild 7643
+MD5 0dcb2c58ba0b70572910592479733275 nvidia-glx-1.0.6111-r3.ebuild 8284
+MD5 d146a360883f212b328c4f0f0922d310 nvidia-glx-1.0.6629-r6.ebuild 7643
+MD5 ba8fa1cac9d24046dc6384ad2882356b nvidia-glx-1.0.6629-r7.ebuild 8284
+MD5 6ca7c051a89c2afafcef2bf3befa6b44 nvidia-glx-1.0.7167-r2.ebuild 7863
+MD5 18ddb38a7595329ad585c74ee979ffaf nvidia-glx-1.0.7167-r3.ebuild 8284
+MD5 630dc45be727342243d06af61e06d6dd nvidia-glx-1.0.7174-r5.ebuild 8446
+MD5 413c2a51514bb61b54b1c9f3ae2e6463 nvidia-glx-1.0.7667-r1.ebuild 8446
+MD5 226c3e5fe5d6e5be93b0a3937e563c06 nvidia-glx-1.0.7676-r1.ebuild 9204
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.2 (GNU/Linux)
 
-iD8DBQFDHNJkArHZZzCEUG0RArtnAJ9M3/ewms8wRt7Zz3K9o43BYOIBuACdGedD
-VkHwQh5HIUIwjC9JAyE2wms=
-=TP8q
+iD8DBQFDYfhjj5H05b2HAEkRAvf6AJ45XbGtU6YYnPf5SYMcI2SoNp62VQCghaS8
+05+0OqNevSB2hRb0Psd85lM=
+=GfdM
 -----END PGP SIGNATURE-----
index 14f9d0f6c87b5ae1aec289258c22a506d2d45eb9..42e8231cd30c490de860c3c1df46876727e0d402 100644 (file)
@@ -1,2 +1,3 @@
+MD5 6a5b99cfb2cca7b424cefc27fb6a30ce NVIDIA-FreeBSD-x86-1.0-7676.tar.gz 8455397
 MD5 2474c5513006668b0fba401e042dc009 NVIDIA-Linux-x86-1.0-7676-pkg0.run 5631274
 MD5 df2081504b609aaa95ccc8e95aebfb97 NVIDIA-Linux-x86_64-1.0-7676-pkg2.run 8824402
index 41f50a57f4124f7e7020d1d0f1bd7dbd9b19128e..6eb4d2eb0d199de90754d8a9d30d8c93d8755d54 100644 (file)
@@ -1,6 +1,6 @@
 # Copyright 1999-2005 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.7676-r1.ebuild,v 1.4 2005/09/05 23:18:42 eradicator Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/nvidia-glx/nvidia-glx-1.0.7676-r1.ebuild,v 1.5 2005/10/28 10:06:41 flameeyes Exp $
 
 inherit eutils multilib versionator
 
@@ -9,11 +9,13 @@ 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}"
+X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${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 )"
+        amd64? ( http://download.nvidia.com/XFree86/Linux-x86_64/${NV_V}/${AMD64_NV_PACKAGE}-${AMD64_PKG_V}.run )
+        x86-fbsd? ( http://download.nvidia.com/freebsd/${NV_V}/${X86_FBSD_NV_PACKAGE}.tar.gz )"
 
 LICENSE="NVIDIA"
 SLOT="0"
@@ -26,21 +28,30 @@ IUSE="dlloader"
 RDEPEND="|| ( virtual/x11 >=x11-base/xorg-server-0.99.1-r7 )
         || ( virtual/x11 media-libs/mesa )
         app-admin/eselect-opengl
-        ~media-video/nvidia-kernel-${PV}
+        kernel_linux? ( ~media-video/nvidia-kernel-${PV} )
         !app-emulation/emul-linux-x86-nvidia"
+# This should be added to have full dependencies for Gentoo FreeBSD
+# but can't be added until the profiles are in main portage (for repoman)
+# kernel_FreeBSD? ( ~media-video/nvidia-freebsd-${PV} )
 
 PROVIDE="virtual/opengl"
 export _POSIX2_VERSION="199209"
 
 if use x86; then
-       PKG_V="${X86_PKG_V}"
+       PKG_V="-${X86_PKG_V}"
        NV_PACKAGE="${X86_NV_PACKAGE}"
 elif use amd64; then
-       PKG_V="${AMD64_PKG_V}"
+       PKG_V="-${AMD64_PKG_V}"
        NV_PACKAGE="${AMD64_NV_PACKAGE}"
+elif use x86-fbsd; then
+       PKG_V=""
+       NV_PACKAGE="${X86_FBSD_NV_PACKAGE}"
 fi
 
-S="${WORKDIR}/${NV_PACKAGE}-${PKG_V}"
+S="${WORKDIR}/${NV_PACKAGE}${PKG_V}"
+
+# On BSD userland it wants real make command
+MAKE="make"
 
 check_xfree() {
        # This isn't necessary, true. But its about time people got the idea.
@@ -61,13 +72,21 @@ pkg_setup() {
 src_unpack() {
        local NV_PATCH_PREFIX="${FILESDIR}/${PV}/NVIDIA_glx-${PV}"
 
-       cd ${WORKDIR}
-       bash ${DISTDIR}/${NV_PACKAGE}-${PKG_V}.run --extract-only
+       if ! use x86-fbsd; then
+               cd ${WORKDIR}
+               bash ${DISTDIR}/${NV_PACKAGE}${PKG_V}.run --extract-only
+       else
+               unpack ${A}
+       fi
 
        # Patchs go below here, add breif description
        cd ${S}
-       # nVidia wants us to use nvidia-installer, removing warning.
-       epatch ${NV_PATCH_PREFIX//$(get_version_component_range 3)/6629}-makefile.patch
+       if ! use x86-fbsd; then
+               # nVidia wants us to use nvidia-installer, removing warning.
+               epatch ${NV_PATCH_PREFIX//$(get_version_component_range 3)/6629}-makefile.patch
+       else
+               cd ${S}/doc
+       fi
        # Use the correct defines to make gtkglext build work
        epatch ${NV_PATCH_PREFIX//$(get_version_component_range 3)/6629}-defines.patch
        # Use some more sensible gl headers and make way for new glext.h
@@ -102,15 +121,35 @@ src_install() {
 
        is_final_abi || return 0
 
-       # Docs, remove nvidia-settings as provided by media-video/nvidia-settings
-       rm -f usr/share/doc/nvidia-settings*
-       dodoc usr/share/doc/*
+       if ! use x86-fbsd; then
+               # Docs, remove nvidia-settings as provided by media-video/nvidia-settings
+               rm -f usr/share/doc/nvidia-settings*
+               dodoc usr/share/doc/*
+       else
+               dodoc doc/README doc/README.Linux doc/XF86Config.sample
+       fi
 
        # nVidia want bug reports using this script
        exeinto /usr/bin
        doexe usr/bin/nvidia-bug-report.sh
 }
 
+# Install nvidia library:
+# the first parameter is the place where to install it
+# the second paramis the base name of the library
+# the third parameter is the provided soversion
+donvidia() {
+       dodir $1
+       exeinto $1
+
+       libname=$(basename $2)
+
+       doexe $2.$3
+       dosym ${libname}.$3 $1/${libname}
+
+       [[ $3 != "1" ]] && dosym ${libname}.$3 $1/${libname}.1
+}
+
 src_install-libs() {
        local pkglibdir=lib
        local inslibdir=$(get_libdir)
@@ -122,78 +161,91 @@ src_install-libs() {
                pkglibdir=lib32
        fi
 
+       local usrpkglibdir=usr/${pkglibdir}
+       local libdir=usr/X11R6/${pkglibdir}
+       local drvdir=${libdir}/modules/drivers
+       local extdir=${libdir}/modules/extensions
+       local incdir=usr/include/GL
+       local sover=${PV}
        local NV_ROOT="/usr/${inslibdir}/opengl/nvidia"
        local NO_TLS_ROOT="${NV_ROOT}/no-tls"
        local TLS_ROOT="${NV_ROOT}/tls"
        local X11_LIB_DIR="/usr/${inslibdir}/xorg"
 
+       if use x86-fbsd; then
+               # on FreeBSD everything is on obj/
+               pkglibdir=obj
+               usrpkglibdir=obj
+               x11pkglibdir=obj
+               drvdir=obj
+               extdir=obj
+
+               # don't ask me why the headers are there.. glxext.h is missing
+               incdir=doc
+
+               # on FreeBSD it has just .1 suffix
+               sover=1
+       fi
+
        # The GLX libraries
-       exeinto ${NV_ROOT}/lib
-       doexe usr/${pkglibdir}/libGL.so.${PV}
-       doexe usr/${pkglibdir}/libGLcore.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
+       donvidia ${NV_ROOT}/lib ${usrpkglibdir}/libGL.so ${sover}
+       donvidia ${NV_ROOT}/lib ${usrpkglibdir}/libGLcore.so ${sover}
 
        dodir ${NO_TLS_ROOT}
-       exeinto ${NO_TLS_ROOT}
-       doexe usr/${pkglibdir}/libnvidia-tls.so.${PV}
-       dosym libnvidia-tls.so.${PV} ${NO_TLS_ROOT}/libnvidia-tls.so
-       dosym libnvidia-tls.so.${PV} ${NO_TLS_ROOT}/libnvidia-tls.so.1
+       donvidia ${NO_TLS_ROOT} ${usrpkglibdir}/libnvidia-tls.so ${sover}
 
-       dodir ${TLS_ROOT}
-       exeinto ${TLS_ROOT}
-       doexe usr/${pkglibdir}/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
+       if ! use x86-fbsd; then
+               donvidia ${TLS_ROOT} ${usrpkglibdir}/tls/libnvidia-tls.so ${sover}
+       fi
 
        if want_tls ; then
                dosym ../tls/libnvidia-tls.so ${NV_ROOT}/lib
                dosym ../tls/libnvidia-tls.so.1 ${NV_ROOT}/lib
-               dosym ../tls/libnvidia-tls.so.${PV} ${NV_ROOT}/lib
+               dosym ../tls/libnvidia-tls.so.${sover} ${NV_ROOT}/lib
        else
                dosym ../no-tls/libnvidia-tls.so ${NV_ROOT}/lib
                dosym ../no-tls/libnvidia-tls.so.1 ${NV_ROOT}/lib
-               dosym ../no-tls/libnvidia-tls.so.${PV} ${NV_ROOT}/lib
+               dosym ../no-tls/libnvidia-tls.so.${sover} ${NV_ROOT}/lib
        fi
 
-       # Not sure whether installing the .la file is neccessary;
-       # this is adopted from the `nvidia' ebuild
-       local ver1=$(get_version_component_range 1)
-       local ver2=$(get_version_component_range 2)
-       local ver3=$(get_version_component_range 3)
-       sed -e "s:\${PV}:${PV}:"     \
-           -e "s:\${ver1}:${ver1}:" \
-           -e "s:\${ver2}:${ver2}:" \
-           -e "s:\${ver3}:${ver3}:" \
-           -e "s:\${libdir}:${inslibdir}:" \
-           ${FILESDIR}/libGL.la-r2 > ${D}/${NV_ROOT}/lib/libGL.la
+       if ! use x86-fbsd; then
+               # Not sure whether installing the .la file is neccessary;
+               # this is adopted from the `nvidia' ebuild
+               local ver1=$(get_version_component_range 1)
+               local ver2=$(get_version_component_range 2)
+               local ver3=$(get_version_component_range 3)
+               sed -e "s:\${PV}:${PV}:"     \
+                       -e "s:\${ver1}:${ver1}:" \
+                       -e "s:\${ver2}:${ver2}:" \
+                       -e "s:\${ver3}:${ver3}:" \
+                       -e "s:\${libdir}:${inslibdir}:" \
+                       ${FILESDIR}/libGL.la-r2 > ${D}/${NV_ROOT}/lib/libGL.la
+       fi
 
        exeinto ${X11_LIB_DIR}/modules/drivers
-       # The below section was changed to fix bug #96514 and bug #91101.
+
        if use dlloader; then
-               [[ -f usr/X11R6/${pkglibdir}/modules/drivers/nvidia_drv.so ]] && \
-                       doexe usr/X11R6/${pkglibdir}/modules/drivers/nvidia_drv.so
+               [[ -f ${drvdir}/nvidia_drv.so ]] && \
+                       doexe ${drvdir}/nvidia_drv.so
        else
-               [[ -f usr/X11R6/${pkglibdir}/modules/drivers/nvidia_drv.o ]] && \
-                       doexe usr/X11R6/${pkglibdir}/modules/drivers/nvidia_drv.o
+               [[ -f ${drvdir}/nvidia_drv.o ]] && \
+                       doexe ${drvdir}/nvidia_drv.o
        fi
 
        insinto ${X11_LIB_DIR}
-       [[ -f usr/X11R6/${pkglibdir}/libXvMCNVIDIA.a ]] && \
-               doins usr/X11R6/${pkglibdir}/libXvMCNVIDIA.a
+       [[ -f ${libdir}/libXvMCNVIDIA.a ]] && \
+               doins ${libdir}/libXvMCNVIDIA.a
        exeinto ${X11_LIB_DIR}
-       [[ -f usr/X11R6/${pkglibdir}/libXvMCNVIDIA.so.${PV} ]] && \
-               doexe usr/X11R6/${pkglibdir}/libXvMCNVIDIA.so.${PV}
+       [[ -f ${libdir}/libXvMCNVIDIA.so.${PV} ]] && \
+               doexe ${libdir}/libXvMCNVIDIA.so.${PV}
 
        exeinto ${NV_ROOT}/extensions
-       [[ -f usr/X11R6/${pkglibdir}/modules/extensions/libglx.so.${PV} ]] && \
-               newexe usr/X11R6/${pkglibdir}/modules/extensions/libglx.so.${PV} libglx.so
+       [[ -f ${extdir}/libglx.so.${sover} ]] && \
+               newexe ${extdir}/libglx.so.${sover} libglx.so
 
        # Includes
        insinto ${NV_ROOT}/include
-       doins usr/include/GL/*.h
+       doins ${incdir}/*.h
 }
 
 pkg_preinst() {