Added version 9746 and closing bug #158889.
authorChris Gianelloni <wolf31o2@gentoo.org>
Thu, 28 Dec 2006 19:41:13 +0000 (19:41 +0000)
committerChris Gianelloni <wolf31o2@gentoo.org>
Thu, 28 Dec 2006 19:41:13 +0000 (19:41 +0000)
Package-Manager: portage-2.1.2_rc4-r1

x11-drivers/nvidia-drivers/ChangeLog
x11-drivers/nvidia-drivers/Manifest
x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9746 [new file with mode: 0644]
x11-drivers/nvidia-drivers/nvidia-drivers-1.0.9746.ebuild [new file with mode: 0644]

index 6c0acb56eb649337d89c322e6466bd02bd8f7ab2..196eadcfdd78e80204ca74233ccc0ce4fa4e4b0e 100644 (file)
@@ -1,6 +1,12 @@
 # ChangeLog for x11-drivers/nvidia-drivers
 # Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v 1.36 2006/12/26 05:06:14 vapier Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/ChangeLog,v 1.37 2006/12/28 19:41:13 wolf31o2 Exp $
+
+*nvidia-drivers-1.0.9746 (28 Dec 2006)
+
+  28 Dec 2006; Chris Gianelloni <wolf31o2@gentoo.org>
+  +nvidia-drivers-1.0.9746.ebuild:
+  Added version 9746 and closing bug #158889.
 
   26 Dec 2006; Mike Frysinger <vapier@gentoo.org>
   nvidia-drivers-1.0.9742.ebuild:
index 40881fd553924f42d4b2374b55f1676c29c514b6..c1ad54e61ede5c8fd1c05c8b499759ab6b83964b 100644 (file)
@@ -33,14 +33,17 @@ DIST NVIDIA-FreeBSD-x86-1.0-8774.tar.gz 9449433 RMD160 f9e9a2f370bd19e5ae723e21d
 DIST NVIDIA-FreeBSD-x86-1.0-8776.tar.gz 9448963 RMD160 d646e511978ac77fddb6600eabdfc1ea32146e00 SHA1 ef27e21c6117ba912c8c4351f4e89098d6672296 SHA256 404f25862031d8f3036de33d2a0fafc3c54821a9a08832c1c1616c145d93baa5
 DIST NVIDIA-FreeBSD-x86-1.0-9631.tar.gz 9667093 RMD160 2034f9086ad44ae222199e4949195dffc67274f1 SHA1 2cbeb4c732670b9eac8f95b5b5fb670ffdf03213 SHA256 2b467da57bc3bb8e2216ce3d02909cf077da045ebcf294474b784cb521a5d550
 DIST NVIDIA-FreeBSD-x86-1.0-9742.tar.gz 11161961 RMD160 1fe9fa3f561fac1883e295eee68fd1b4065b8898 SHA1 59e1c2aca45a777fa52d3c84bdf6b791791b4ea2 SHA256 398d742cccb450d2c02e0bb4f9f91ec0daeee6546f1327ec6477c80d4b9fa287
+DIST NVIDIA-FreeBSD-x86-1.0-9746.tar.gz 11152524 RMD160 8fe06d1a3af528c6fae9f94ff0e612d42e034ecd SHA1 b242fc70d8eea5825ba330dd5b1adc78df9184c4 SHA256 cf8be89d537423c0acc294e57cb659dae94463f6347f63c32b1de39c8051a5a7
 DIST NVIDIA-Linux-x86-1.0-8774-pkg0.run 6479697 RMD160 ada4a46bd70d11f1c337a3c4be8c3f860591562c SHA1 0a2e063da4bf9ccee23a30033280d660129aebe3 SHA256 79d86b5cc43e230584ffb93a7bc7e83d29ee8a7b3c376fbba30cf0b7dd7e9b01
 DIST NVIDIA-Linux-x86-1.0-8776-pkg0.run 6479231 RMD160 296dcc76c43fd65105f8d0c6f99295ee983b8872 SHA1 362902983e11e1b372a102359c6057ebb5aa7ef6 SHA256 0b25f9e407ea513cac8d600054d2dc28ca2e407caa535510210ad9fa5f45e8dc
 DIST NVIDIA-Linux-x86-1.0-9631-pkg0.run 6581907 RMD160 7fc0b394e0a9fbb772e43136528dbd3c2b7ac81e SHA1 52b85567907b2f32a3d3e0eef9a5a509013c05ab SHA256 d1a54248d55f2aecab735e40ae060928670a766a98dd652b2245ebd68085ca5a
 DIST NVIDIA-Linux-x86-1.0-9742-pkg0.run 7715637 RMD160 8b7eba8dff97b4230b1031d65ed99ec3e37adeeb SHA1 c1787fe77785e7a5931bb0cf387f4a235580bb63 SHA256 e123bc78281f3c07f0b39e35430dee855b6ae7baf00ea956119fa0dae12be8fa
+DIST NVIDIA-Linux-x86-1.0-9746-pkg0.run 7733466 RMD160 7968dba12e86ecf93470d2aa1442be0ca04c4bb0 SHA1 2e4a6a870f8eb5fe2fdfa75861dedce6c78b621f SHA256 11dd3fa562bb4695a65e69b45634b91d3fa6ab7181be5f0448afd3c7efce0756
 DIST NVIDIA-Linux-x86_64-1.0-8774-pkg2.run 9982211 RMD160 c4b60dce917fe6720b5fc2a848a195c0174b73c7 SHA1 777c5fec111190eba15b6ffcb50f3bcf24ae8191 SHA256 ffab97398bc034523ee115476d6c8b85fda2c53c18040f1d6e0971278c6f9214
 DIST NVIDIA-Linux-x86_64-1.0-8776-pkg2.run 9982646 RMD160 5cba53392aa0fd27231d01883679e1a1dba7ee34 SHA1 2a6297b89f0586192f806a18271c5e58de4eed0b SHA256 6fc8dedf782fdfe408dc0196531c301bb3bafac6878520537807118f3a2f9384
 DIST NVIDIA-Linux-x86_64-1.0-9631-pkg2.run 10233636 RMD160 5e9c501fbfad27686651f64705854552be6c3f0c SHA1 add85f7b7d47c6657c1b53bbe6f8da0e1da0a1d7 SHA256 009d6e4171fa18580264ce0ace92c1c68f0702f009837f1214d77b6948223375
 DIST NVIDIA-Linux-x86_64-1.0-9742-pkg2.run 11715309 RMD160 f59dad063810e87ed79699a32419318a53cb6aee SHA1 a3db0b69cffd4d8847aa7a9c5abdf79c292901eb SHA256 c35f9bcfd0793f7c1b29077be276e4d4a2e69c4ea90ca60134c118350f2ef5b9
+DIST NVIDIA-Linux-x86_64-1.0-9746-pkg2.run 11743919 RMD160 b3a050ea487e627cdf2e9ba8dab8a178be6d0bfc SHA1 eee24a1db159c4cadc367f1ab2ed8306e23c89fe SHA256 22f9f09a5ceca852c20f12690ac396738f26e150713b2e56cbb42e752454abf9
 EBUILD nvidia-drivers-1.0.8774.ebuild 12802 RMD160 da6ca3d5553aadb84d3e45d276a5385cfdb4a5a9 SHA1 4a3ef9d3138f985ee55eb11c273d8a4f67423542 SHA256 0102acf744c38d346e85c3625ed75fb222bac67ea3320e6ea478fbdcf6c1f5c9
 MD5 b70639dad7f7b788d6343634e0a309cf nvidia-drivers-1.0.8774.ebuild 12802
 RMD160 da6ca3d5553aadb84d3e45d276a5385cfdb4a5a9 nvidia-drivers-1.0.8774.ebuild 12802
@@ -57,10 +60,14 @@ EBUILD nvidia-drivers-1.0.9742.ebuild 13109 RMD160 9f68b035d8c4b92e505737d1a6707
 MD5 4074e60f3575732f1bae0e46d335e5c8 nvidia-drivers-1.0.9742.ebuild 13109
 RMD160 9f68b035d8c4b92e505737d1a6707e67b469d9ef nvidia-drivers-1.0.9742.ebuild 13109
 SHA256 5e58ca506b0d81a21d86b8f29799ea2487049346917f9ee6a27d5bb31608d246 nvidia-drivers-1.0.9742.ebuild 13109
-MISC ChangeLog 8370 RMD160 5e3cf5fb8ecb492e0948cef54c1b9fa25be60a8a SHA1 2a4996f9a65412ebdc32d086736071bd6b9528e2 SHA256 b8dc2cfea58fbbe02d524efd954316c7a84c9e253a51aeaeba2d059c5c17fd48
-MD5 a762df903fafb46ff129892951888a71 ChangeLog 8370
-RMD160 5e3cf5fb8ecb492e0948cef54c1b9fa25be60a8a ChangeLog 8370
-SHA256 b8dc2cfea58fbbe02d524efd954316c7a84c9e253a51aeaeba2d059c5c17fd48 ChangeLog 8370
+EBUILD nvidia-drivers-1.0.9746.ebuild 13129 RMD160 9787c7cd720ea445ed00e916c4ef8d0728df8ee3 SHA1 80e2ed569861edab40a246b46ee300dd1e022872 SHA256 bbd33611a49ec4f87cd56c0903a90341a1c08218253b577fbeb04d518f73dbb8
+MD5 08d6df267bce5c0ef59dfb22cdefa715 nvidia-drivers-1.0.9746.ebuild 13129
+RMD160 9787c7cd720ea445ed00e916c4ef8d0728df8ee3 nvidia-drivers-1.0.9746.ebuild 13129
+SHA256 bbd33611a49ec4f87cd56c0903a90341a1c08218253b577fbeb04d518f73dbb8 nvidia-drivers-1.0.9746.ebuild 13129
+MISC ChangeLog 8548 RMD160 834bef59c2f8aafa972450850e8452c5f74f0f2b SHA1 af3d3b9b78029ded7c4f40a3d522f7e1bb5fc037 SHA256 4a99a2332ded68c214089b50ce3d7df4c2f3dd21ed95e02386105e5f6ec091a0
+MD5 95cae0b2bf1f502db471f3a10aaa8b66 ChangeLog 8548
+RMD160 834bef59c2f8aafa972450850e8452c5f74f0f2b ChangeLog 8548
+SHA256 4a99a2332ded68c214089b50ce3d7df4c2f3dd21ed95e02386105e5f6ec091a0 ChangeLog 8548
 MISC metadata.xml 302 RMD160 66c75d5895f747b8ce5af0f80b90af8fea1d07d7 SHA1 47dde751e4e0c833a65f32e106e594f449fe58a2 SHA256 0aa0f01ad14674164a2898387b83ded31b2b67a12757165debe6b03ee2fd692f
 MD5 643cec14f7f1dda9a26f163853dbf080 metadata.xml 302
 RMD160 66c75d5895f747b8ce5af0f80b90af8fea1d07d7 metadata.xml 302
@@ -77,10 +84,13 @@ SHA256 7d920f7b6cae52a27fa4c0e9194e1e96565862955c2ceba136327bb92564c748 files/di
 MD5 64c118e7466e2dbefe2855603cd2e025 files/digest-nvidia-drivers-1.0.9742 873
 RMD160 b1cf6748ec6d8209ad98f9f72cf4dc8151115dc4 files/digest-nvidia-drivers-1.0.9742 873
 SHA256 8dd84c7a6735999dd6c18040ed7dce2e29c6a5e6eef94ae145ecee72fee71c77 files/digest-nvidia-drivers-1.0.9742 873
+MD5 288c8bcf08292abe4f7ec43168890bf4 files/digest-nvidia-drivers-1.0.9746 873
+RMD160 030aedf4c386fb0df0568fb35f62a36db9697901 files/digest-nvidia-drivers-1.0.9746 873
+SHA256 7a5e7a36e96d0a168150703a0d7c9d5d6604a66046b50d9a81a34f3066bf0c2d files/digest-nvidia-drivers-1.0.9746 873
 -----BEGIN PGP SIGNATURE-----
 Version: GnuPG v1.4.6 (GNU/Linux)
 
-iD8DBQFFkK318bi6rjpTunYRAqbKAJ9rBuLSTZDk5k9VY+qm8ChSWrYSRACdH5lu
-QuRuSYCmZ2jZ+fpLWYZN2rI=
-=a7J8
+iD8DBQFFlB3hkT4lNIS36YERAgVGAJ9lTOm+d1qncEtljZebYWn2dP4w2gCgoUi8
+lDjJnN2a1nloMXRRmyqLlv8=
+=Q0pf
 -----END PGP SIGNATURE-----
diff --git a/x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9746 b/x11-drivers/nvidia-drivers/files/digest-nvidia-drivers-1.0.9746
new file mode 100644 (file)
index 0000000..418cf84
--- /dev/null
@@ -0,0 +1,9 @@
+MD5 d6dd2fad4f6e05980c2fbb591b06fb99 NVIDIA-FreeBSD-x86-1.0-9746.tar.gz 11152524
+RMD160 8fe06d1a3af528c6fae9f94ff0e612d42e034ecd NVIDIA-FreeBSD-x86-1.0-9746.tar.gz 11152524
+SHA256 cf8be89d537423c0acc294e57cb659dae94463f6347f63c32b1de39c8051a5a7 NVIDIA-FreeBSD-x86-1.0-9746.tar.gz 11152524
+MD5 575f988468f2c34a302da3d21e282689 NVIDIA-Linux-x86-1.0-9746-pkg0.run 7733466
+RMD160 7968dba12e86ecf93470d2aa1442be0ca04c4bb0 NVIDIA-Linux-x86-1.0-9746-pkg0.run 7733466
+SHA256 11dd3fa562bb4695a65e69b45634b91d3fa6ab7181be5f0448afd3c7efce0756 NVIDIA-Linux-x86-1.0-9746-pkg0.run 7733466
+MD5 c0afc66e1c21a9a54ba6719b8edd3166 NVIDIA-Linux-x86_64-1.0-9746-pkg2.run 11743919
+RMD160 b3a050ea487e627cdf2e9ba8dab8a178be6d0bfc NVIDIA-Linux-x86_64-1.0-9746-pkg2.run 11743919
+SHA256 22f9f09a5ceca852c20f12690ac396738f26e150713b2e56cbb42e752454abf9 NVIDIA-Linux-x86_64-1.0-9746-pkg2.run 11743919
diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-1.0.9746.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-1.0.9746.ebuild
new file mode 100644 (file)
index 0000000..11e0111
--- /dev/null
@@ -0,0 +1,447 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-drivers/nvidia-drivers/nvidia-drivers-1.0.9746.ebuild,v 1.1 2006/12/28 19:41:13 wolf31o2 Exp $
+
+inherit eutils multilib versionator linux-mod flag-o-matic
+
+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? ( http://us.download.nvidia.com/XFree86/Linux-x86/${NV_V}/${X86_NV_PACKAGE}-pkg0.run )
+        amd64? ( http://us.download.nvidia.com/XFree86/Linux-x86_64/${NV_V}/${AMD64_NV_PACKAGE}-pkg2.run )
+        x86-fbsd? ( http://us.download.nvidia.com/freebsd/${NV_V}/${X86_FBSD_NV_PACKAGE}.tar.gz )"
+
+LICENSE="NVIDIA"
+SLOT="0"
+KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
+IUSE="dlloader"
+RESTRICT="strip multilib-pkg-force"
+
+DEPEND="kernel_linux? ( virtual/linux-sources )"
+RDEPEND="kernel_linux? ( virtual/modutils )
+       x11-base/xorg-server
+       media-libs/mesa
+       app-admin/eselect-opengl
+       kernel_FreeBSD? ( !media-video/nvidia-freebsd )
+       !app-emulation/emul-linux-x86-nvidia
+       !x11-drivers/nvidia-legacy-drivers"
+
+QA_TEXTRELS_x86="usr/lib/xorg/libXvMCNVIDIA.so.${PV}
+       usr/lib/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib/opengl/nvidia/lib/libGLcore.so.${PV}
+       usr/lib/opengl/nvidia/tls/libnvidia-tls.so.${PV}
+       usr/lib/opengl/nvidia/no-tls/libnvidia-tls.so.${PV}
+       usr/lib/libXvMCNVIDIA.so.${PV}
+       usr/lib/xorg/modules/drivers/nvidia_drv.so
+       usr/lib/opengl/nvidia/extensions/libglx.so"
+
+QA_TEXTRELS_x86_fbsd="boot/modules/nvidia.ko
+       usr/lib/opengl/nvidia/lib/libGL.so.1
+       usr/lib/opengl/nvidia/lib/libGLcore.so.1
+       usr/lib/opengl/nvidia/no-tls/libnvidia-tls.so.1
+       usr/lib/opengl/nvidia/extensions/libglx.so
+       usr/lib/xorg/modules/drivers/nvidia_drv.so"
+
+QA_EXECSTACK_x86="usr/lib/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib/opengl/nvidia/lib/libGLcore.so.${PV}
+       usr/lib/opengl/nvidia/extensions/libglx.so"
+
+QA_TEXTRELS_amd64="usr/lib64/xorg/libXvMCNVIDIA.so.${PV}
+       usr/lib64/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV}
+       usr/lib64/opengl/nvidia/tls/libnvidia-tls.so.${PV}
+       usr/lib64/opengl/nvidia/no-tls/libnvidia-tls.so.${PV}
+       usr/lib64/libXvMCNVIDIA.so.${PV}
+       usr/lib64/xorg/modules/drivers/nvidia_drv.so
+       usr/lib64/opengl/nvidia/extensions/libglx.so
+       usr/lib32/xorg/libXvMCNVIDIA.so.${PV}
+       usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
+       usr/lib32/opengl/nvidia/tls/libnvidia-tls.so.${PV}
+       usr/lib32/opengl/nvidia/no-tls/libnvidia-tls.so.${PV}
+       usr/lib32/libXvMCNVIDIA.so.${PV}
+       usr/lib32/xorg/modules/drivers/nvidia_drv.so
+       usr/lib32/opengl/nvidia/extensions/libglx.so"
+
+QA_EXECSTACK_amd64="usr/lib64/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib64/opengl/nvidia/lib/libGLcore.so.${PV}
+       usr/lib64/opengl/nvidia/extensions/libglx.so
+       usr/lib32/opengl/nvidia/lib/libGL.so.${PV}
+       usr/lib32/opengl/nvidia/lib/libGLcore.so.${PV}
+       usr/lib32/opengl/nvidia/extensions/libglx.so"
+
+export _POSIX2_VERSION="199209"
+
+if use x86; then
+       PKG_V="-pkg0"
+       NV_PACKAGE="${X86_NV_PACKAGE}"
+elif use amd64; then
+       PKG_V="-pkg2"
+       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}/usr/src/nv"
+
+# On BSD userland it wants real make command
+MAKE="make"
+
+mtrr_check() {
+       ebegin "Checking for MTRR support"
+       linux_chkconfig_present MTRR
+       eend $?
+
+       if [[ $? -ne 0 ]] ; then
+               eerror "This version needs MTRR support for most chipsets!"
+               eerror "Please enable MTRR support in your kernel config, found at:"
+               eerror
+               eerror "  Processor type and features"
+               eerror "    [*] MTRR (Memory Type Range Register) support"
+               eerror
+               eerror "and recompile your kernel ..."
+               die "MTRR support not detected!"
+       fi
+}
+
+pkg_setup() {
+       if use amd64 && has_multilib_profile && [ "${DEFAULT_ABI}" != "amd64" ]; then
+               eerror "This ebuild doesn't currently support changing your default abi."
+               die "Unexpected \${DEFAULT_ABI} = ${DEFAULT_ABI}"
+       fi
+
+       if ! use x86-fbsd; then
+               linux-mod_pkg_setup
+               MODULE_NAMES="nvidia(video:${S})"
+               BUILD_PARAMS="IGNORE_CC_MISMATCH=yes V=1 SYSSRC=${KV_DIR} SYSOUT=${KV_OUT_DIR}"
+               mtrr_check
+       fi
+}
+
+src_unpack() {
+       local NV_PATCH_PREFIX="${FILESDIR}/${PV}/NVIDIA-${PV}"
+
+       if ! use x86-fbsd; then
+               if [[ ${KV_MINOR} -eq 6 && ${KV_PATCH} -lt 7 ]] ; then
+                       echo
+                       ewarn "Your kernel version is ${KV_MAJOR}.${KV_MINOR}.${KV_PATCH}"
+                       ewarn "This is not officially supported for ${P}. It is likely you"
+                       ewarn "will not be able to compile or use the kernel module."
+                       ewarn "It is recommended that you upgrade your kernel to a version >= 2.6.7"
+                       echo
+                       ewarn "DO NOT file bug reports for kernel versions less than 2.6.7 as they will be ignored."
+               fi
+       fi
+
+       if ! use x86-fbsd; then
+               cd "${WORKDIR}"
+               bash ${DISTDIR}/${NV_PACKAGE}${PKG_V}.run --extract-only
+       else
+               unpack ${A}
+       fi
+
+       # Patches go below here, add breif description
+       use x86-fbsd \
+               && cd "${WORKDIR}/${NV_PACKAGE}${PKG_V}/doc" \
+               || cd "${WORKDIR}/${NV_PACKAGE}${PKG_V}"
+       # Use the correct defines to make gtkglext build work
+       epatch "${FILESDIR}"/NVIDIA_glx-defines.patch
+       # Use some more sensible gl headers and make way for new glext.h
+       epatch "${FILESDIR}"/NVIDIA_glx-glheader.patch
+
+       if ! use x86-fbsd; then
+               # Quiet down warnings the user do not need to see
+               sed -i \
+                       -e 's:-Wpointer-arith::g' \
+                       -e 's:-Wsign-compare::g' \
+                       "${S}"/Makefile.kbuild
+
+               # If you set this then it's your own fault when stuff breaks :)
+               [[ -n ${USE_CRAZY_OPTS} ]] && sed -i "s:-O:${CFLAGS}:" Makefile.*
+
+               # If greater than 2.6.5 use M= instead of SUBDIR=
+               cd "${S}"; convert_to_m Makefile.kbuild
+       fi
+}
+
+src_compile() {
+       # This is already the default on Linux, as there's no toplevel Makefile, but
+       # on FreeBSD there's one and triggers the kernel module build, as we install
+       # it by itself, pass this.
+       if use x86-fbsd; then
+               cd "${WORKDIR}/${NV_PACKAGE}${PKG_V}/src"
+               echo LDFLAGS="$(raw-ldflags)"
+               MAKE="$(get_bmake)" emake CC="$(tc-getCC)" LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die
+       else
+               linux-mod_src_compile
+       fi
+}
+
+src_install() {
+       local MLTEST=$(type dyn_unpack)
+
+       cd "${WORKDIR}"/${NV_PACKAGE}${PKG_V}
+
+       if ! use x86-fbsd; then
+               linux-mod_src_install
+
+               # Add the aliases
+               sed -e 's:\${PACKAGE}:'${PF}':g' "${FILESDIR}"/nvidia > "${WORKDIR}"/nvidia
+               insinto /etc/modules.d
+               newins "${WORKDIR}"/nvidia nvidia || die
+       else
+               insinto /boot/modules
+               doins "${WORKDIR}/${X86_FBSD_NV_PACKAGE}/src/nvidia.kld"
+
+               exeinto /boot/modules
+               doexe "${WORKDIR}/${X86_FBSD_NV_PACKAGE}/src/nvidia.ko"
+       fi
+
+       if [[ "${MLTEST/set_abi}" == "${MLTEST}" ]] && has_multilib_profile ; then
+               local OABI=${ABI}
+               for ABI in $(get_install_abis) ; do
+                       src_install-libs
+               done
+               ABI=${OABI}
+               unset OABI
+       elif use amd64 ; then
+               src_install-libs lib32 $(get_multilibdir)
+               src_install-libs lib $(get_libdir)
+
+               rm -rf "${D}"/usr/$(get_multilibdir)/opengl/nvidia/include
+               rm -rf "${D}"/usr/$(get_multilibdir)/opengl/nvidia/extensions
+       else
+               src_install-libs
+       fi
+
+       is_final_abi || return 0
+
+       if ! use x86-fbsd; then
+               # Docs, remove nvidia-settings as provided by media-video/nvidia-settings
+               newdoc usr/share/doc/README.txt README
+               dodoc usr/share/doc/Copyrights usr/share/doc/NVIDIA_Changelog
+               dodoc usr/share/doc/XF86Config.sample
+               dohtml usr/share/doc/html/*
+               # nVidia want bug reports using this script
+               dobin usr/bin/nvidia-bug-report.sh
+       else
+               dodoc doc/{README,XF86Config.sample,Copyrights}
+               dohtml doc/html/*
+       fi
+}
+
+# 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)
+
+       if [[ ${#} -eq 2 ]] ; then
+               pkglibdir=${1}
+               inslibdir=${2}
+       elif has_multilib_profile && [[ ${ABI} == "x86" ]] ; then
+               pkglibdir=lib32
+       fi
+
+       local usrpkglibdir=usr/${pkglibdir}
+       local libdir=usr/X11R6/${pkglibdir}
+       local modules=${libdir}/modules
+       local drvdir=${modules}/drivers
+       local extdir=${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 ! has_version x11-base/xorg-server ; then
+               X11_LIB_DIR="/usr/${inslibdir}"
+       fi
+
+       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
+       donvidia ${NV_ROOT}/lib ${usrpkglibdir}/libGL.so ${sover}
+       donvidia ${NV_ROOT}/lib ${usrpkglibdir}/libGLcore.so ${sover}
+
+       dodir ${NO_TLS_ROOT}
+       donvidia ${NO_TLS_ROOT} ${usrpkglibdir}/libnvidia-tls.so ${sover}
+
+       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.${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.${sover} ${NV_ROOT}/lib
+       fi
+
+       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
+
+       if use dlloader || has_version ">=x11-base/xorg-x11-6.8.99.15" ||
+               has_version "x11-base/xorg-server"; then
+               [[ -f ${drvdir}/nvidia_drv.so ]] && \
+                       doexe ${drvdir}/nvidia_drv.so
+       else
+               [[ -f ${drvdir}/nvidia_drv.o ]] && \
+                       doexe ${drvdir}/nvidia_drv.o
+       fi
+
+       insinto /usr/${inslibdir}
+       [[ -f ${libdir}/libXvMCNVIDIA.a ]] && \
+               doins ${libdir}/libXvMCNVIDIA.a
+       exeinto /usr/${inslibdir}
+       # fix Bug 131315
+       [[ -f ${libdir}/libXvMCNVIDIA.so.${PV} ]] && \
+               doexe ${libdir}/libXvMCNVIDIA.so.${PV} && \
+               dosym /usr/${inslibdir}/libXvMCNVIDIA.so.${PV} \
+                       /usr/${inslibdir}/libXvMCNVIDIA.so
+
+       exeinto ${NV_ROOT}/extensions
+       [[ -f ${modules}/libnvidia-wfb.so.${sover} ]] && \
+               newexe ${modules}/libnvidia-wfb.so.${sover} libwfb.so
+       [[ -f ${extdir}/libglx.so.${sover} ]] && \
+               newexe ${extdir}/libglx.so.${sover} libglx.so
+
+       # Includes
+       insinto ${NV_ROOT}/include
+       doins ${incdir}/*.h
+}
+
+pkg_preinst() {
+       # Can we make up our minds ?!?!?
+       local NV_D=${IMAGE:-${D}}
+
+       if ! has_version x11-base/xorg-server ; then
+               for dir in lib lib32 lib64 ; do
+                       if [[ -d ${NV_D}/usr/${dir}/xorg ]] ; then
+                               mv ${NV_D}/usr/${dir}/xorg/* ${NV_D}/usr/${dir}
+                               rmdir ${NV_D}/usr/${dir}/xorg
+                       fi
+               done
+       fi
+
+       # 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() {
+       if ! use x86-fbsd; then
+               linux-mod_pkg_postinst
+       fi
+
+       #switch to the nvidia implementation
+       eselect opengl set --use-old nvidia
+
+       echo
+       elog "To use the Nvidia GLX, run \"eselect opengl set nvidia\""
+       echo
+       einfo "You may also be interested in media-video/nvidia-settings"
+       echo
+       elog "nVidia has requested that any bug reports submitted have the"
+       elog "output of /usr/bin/nvidia-bug-report.sh included."
+       echo
+       elog "To work with compiz, you must enable the AddARGBGLXVisuals option."
+       echo
+       elog "If you are having resolution problems, try disabling DynamicTwinView."
+       echo
+}
+
+want_tls() {
+       # For uclibc or anything non glibc, return false
+       has_version sys-libs/glibc || return 1
+
+       # Old versions of glibc were lt/no-tls only
+       has_version '<sys-libs/glibc-2.3.2' && return 1
+
+       local valid_chost="true"
+       if use x86 ; then
+               case ${CHOST/-*} in
+                       i486|i586|i686) ;;
+                       *) valid_chost="false"
+               esac
+       fi
+
+       [[ ${valid_chost} == "false" ]] && return 1
+
+       # If we've got nptl, we've got tls
+       built_with_use sys-libs/glibc nptl && return 0
+
+       # 2.3.5 turned off tls for linuxthreads glibc on i486 and i586
+       if use x86 && has_version '>=sys-libs/glibc-2.3.5' ; then
+               case ${CHOST/-*} in
+                       i486|i586) return 1 ;;
+               esac
+       fi
+
+       # These versions built linuxthreads version to support tls, too
+       has_version '>=sys-libs/glibc-2.3.4.20040619-r2' && return 0
+
+       return 1
+}
+
+pkg_postrm() {
+       if ! use x86-fbsd; then
+               linux-mod_pkg_postrm
+       fi
+       eselect opengl set --use-old xorg-x11
+}