nvidia-drivers-1.0.9631 added
git-svn-id: http://svn.sabayonlinux.org/overlay@385 d7aec97c-591d-0410-af39-a8856400b30a
This commit is contained in:
@@ -35,9 +35,11 @@ DIST NVIDIA-FreeBSD-x86-1.0-9629.tar.gz 9664826 RMD160 4fbde38f91a517ae6a2733185
|
||||
DIST NVIDIA-FreeBSD-x86-1.0-9742.tar.gz 11161961 RMD160 1fe9fa3f561fac1883e295eee68fd1b4065b8898 SHA1 59e1c2aca45a777fa52d3c84bdf6b791791b4ea2 SHA256 398d742cccb450d2c02e0bb4f9f91ec0daeee6546f1327ec6477c80d4b9fa287
|
||||
DIST NVIDIA-Linux-x86-1.0-9626-pkg1.run 13407646 RMD160 9ae7bd524bd1c8c51e4d518da427808870ac60aa SHA1 3143f67a1e009c7a30d21844b83a413fb0f07eb5 SHA256 ceecc1d54827c5323a041c06ccd7c557f4245a8f42d2e1a1d6164bd7ceac1396
|
||||
DIST NVIDIA-Linux-x86-1.0-9629-pkg1.run 13358872 RMD160 0f834a337ce13c3fffd78e820a495fe130686d62 SHA1 f8b699aea525c51b98ff1f251e550ed60f4f8a40 SHA256 288251fa9d506aadb29d0f7748023a835e943aa3c5e7995cc655a33ede727407
|
||||
DIST NVIDIA-Linux-x86-1.0-9631-pkg1.run 13357240 RMD160 27ee7322861bde4cd08f4be236d6fbf5a4a6822b SHA1 21a7aaf4180e2884909b745cc6b5f293d2d70abd SHA256 0920ccad8e8f0eef0d20c2dda9f1bc314d2ac2b4cae252ffa15077972fd6fb54
|
||||
DIST NVIDIA-Linux-x86-1.0-9742-pkg1.run 14497435 RMD160 6b20c8e169a92a8451d19b4d71b29c09f180a1fa SHA1 c77977dde3bbacba738bbf680e1a07569db76436 SHA256 c8a611949da211e121d33bf40f87b49918c36b139444523a9f62a9870d4476f1
|
||||
DIST NVIDIA-Linux-x86_64-1.0-9626-pkg2.run 10296145 RMD160 2bdbe5aff2ab7afebece102db62233748bd302e6 SHA1 778089b3d34bdcf763f0e6e58767816f62378214 SHA256 56e8bc38e8966fe7e7046071409a27f02af909432b54f82b2e8079c1d6c3cc5d
|
||||
DIST NVIDIA-Linux-x86_64-1.0-9629-pkg2.run 10235191 RMD160 38ee873f59ddc1299621dcccc7cf1c43da50dec9 SHA1 92d42f9854f35a40b8fd04e567c72740312718e1 SHA256 e8fcee3beb71329ed1e5fd700d80ba60264ff17e84e39871fbc6e20cdf8620c6
|
||||
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
|
||||
EBUILD nvidia-drivers-1.0.9626-r99.ebuild 11764 RMD160 356115342dd24d61608aaf9f30ad3bfb74b78065 SHA1 ae33cd2c3e542fe35e2196116ff0ea20ae856d6f SHA256 4ac4f9feba71be43da4770945732e9a1b4f87998f402662fc7ade2af2c8fe5e6
|
||||
MD5 db922e51ce50becb0f8da766d2fdabb9 nvidia-drivers-1.0.9626-r99.ebuild 11764
|
||||
@@ -47,16 +49,27 @@ EBUILD nvidia-drivers-1.0.9629-r90.ebuild 11764 RMD160 356115342dd24d61608aaf9f3
|
||||
MD5 db922e51ce50becb0f8da766d2fdabb9 nvidia-drivers-1.0.9629-r90.ebuild 11764
|
||||
RMD160 356115342dd24d61608aaf9f30ad3bfb74b78065 nvidia-drivers-1.0.9629-r90.ebuild 11764
|
||||
SHA256 4ac4f9feba71be43da4770945732e9a1b4f87998f402662fc7ade2af2c8fe5e6 nvidia-drivers-1.0.9629-r90.ebuild 11764
|
||||
EBUILD nvidia-drivers-1.0.9631-r90.ebuild 11636 RMD160 c16bde4cd81e13bb8a863da389ff60bc26da9817 SHA1 b8ad2d6a7ff3086bae3550ead466c82aa33619cc SHA256 f5ed2da4f8413b5ecaf2a10ef3aa15a752cf433ede16495d1d70adfd7bcb415e
|
||||
MD5 5615b2ed05f29e0a5a6c2e0d7290307b nvidia-drivers-1.0.9631-r90.ebuild 11636
|
||||
RMD160 c16bde4cd81e13bb8a863da389ff60bc26da9817 nvidia-drivers-1.0.9631-r90.ebuild 11636
|
||||
SHA256 f5ed2da4f8413b5ecaf2a10ef3aa15a752cf433ede16495d1d70adfd7bcb415e nvidia-drivers-1.0.9631-r90.ebuild 11636
|
||||
EBUILD nvidia-drivers-1.0.9742-r90.ebuild 11795 RMD160 b9be9b162c73c2369351b4fe1db7034d46c784c7 SHA1 d1d9b19450ad322bb0691c6381a47dbe518b24f6 SHA256 8668e378100f03a634bfd3dc18ecca3fc886cb0ffe4e1d1db24eede351463b0b
|
||||
MD5 debf77c3ff31accc1b37dd4d3fe40e21 nvidia-drivers-1.0.9742-r90.ebuild 11795
|
||||
RMD160 b9be9b162c73c2369351b4fe1db7034d46c784c7 nvidia-drivers-1.0.9742-r90.ebuild 11795
|
||||
SHA256 8668e378100f03a634bfd3dc18ecca3fc886cb0ffe4e1d1db24eede351463b0b nvidia-drivers-1.0.9742-r90.ebuild 11795
|
||||
MD5 160ffed3719fda32c2b3e84e0c2047f6 files/digest-nvidia-drivers-1.0.9626-r99 873
|
||||
RMD160 34e2b02246a49605f34e1eee6185bc87ba93fa35 files/digest-nvidia-drivers-1.0.9626-r99 873
|
||||
SHA256 7e90ed9135bb2e1bd36a855785b78d74cae6907df69cc84db484ba7975be393f files/digest-nvidia-drivers-1.0.9626-r99 873
|
||||
MISC nvidia-drivers-1.0.9631-r90.ebuild~ 11635 RMD160 8f954d2aedbee6713641e2177db0f0a54154c7be SHA1 7c039950d27b1537104d7c1adea384d6cc449168 SHA256 3c4c14504dbdddf3cc6f308d0151c945518ec33b04b4d9c7da18beabb0516cc6
|
||||
MD5 464acb0378b1acbba859f30833dc8a4a nvidia-drivers-1.0.9631-r90.ebuild~ 11635
|
||||
RMD160 8f954d2aedbee6713641e2177db0f0a54154c7be nvidia-drivers-1.0.9631-r90.ebuild~ 11635
|
||||
SHA256 3c4c14504dbdddf3cc6f308d0151c945518ec33b04b4d9c7da18beabb0516cc6 nvidia-drivers-1.0.9631-r90.ebuild~ 11635
|
||||
MD5 fcff067dada7b244828ecf8678f034a6 files/digest-nvidia-drivers-1.0.9626-r99 712
|
||||
RMD160 a0907b550dd7e232ed45607bb5716ee106aa7cb1 files/digest-nvidia-drivers-1.0.9626-r99 712
|
||||
SHA256 7fa90bcaccc1f37cbbd7ee6a2416c7ce2147d359cae9e327c6592ae480ef992b files/digest-nvidia-drivers-1.0.9626-r99 712
|
||||
MD5 5853013f4a470868907c50c7ed593825 files/digest-nvidia-drivers-1.0.9629-r90 873
|
||||
RMD160 d0d1a20b6042ddcb7b42f58cdf7366c1770ecb92 files/digest-nvidia-drivers-1.0.9629-r90 873
|
||||
SHA256 a7601c53780300bdc139232abe261787106cbad0e11e602c4a8aae864e16baa2 files/digest-nvidia-drivers-1.0.9629-r90 873
|
||||
MD5 ca9c8066dbd74b9fe3b55ea660093f27 files/digest-nvidia-drivers-1.0.9631-r90 587
|
||||
RMD160 4f38ec2302f70f0968f45632ba4c54f2b96d345e files/digest-nvidia-drivers-1.0.9631-r90 587
|
||||
SHA256 823e064c3fea2fa8c61a5276af2dc7645136f7ac90e77fa571089e941d04f171 files/digest-nvidia-drivers-1.0.9631-r90 587
|
||||
MD5 ab0fa47beef755c3aa9af844c7d71135 files/digest-nvidia-drivers-1.0.9742-r90 876
|
||||
RMD160 27cdc2fd33303e11c15c7e19975305350155b22b files/digest-nvidia-drivers-1.0.9742-r90 876
|
||||
SHA256 950034bb03a5187ae4e71a8cbb95c375a7bf0487043a8134bf21d67a8f9aeacc files/digest-nvidia-drivers-1.0.9742-r90 876
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
RMD160 9c0f9baafd921bab45b015b2553aed6b4a1fcdeb NVIDIA-FreeBSD-x86-1.0-9626.tar.gz 9731946
|
||||
SHA256 98e9a71b8264436f3100bd145993ee710a193db4e1aae1be1b3bc9213f7f4b2b NVIDIA-FreeBSD-x86-1.0-9626.tar.gz 9731946
|
||||
RMD160 9ae7bd524bd1c8c51e4d518da427808870ac60aa NVIDIA-Linux-x86-1.0-9626-pkg1.run 13407646
|
||||
SHA256 ceecc1d54827c5323a041c06ccd7c557f4245a8f42d2e1a1d6164bd7ceac1396 NVIDIA-Linux-x86-1.0-9626-pkg1.run 13407646
|
||||
MD5 11d39ec95f04b40c5559c4f190db6d85 NVIDIA-Linux-x86_64-1.0-9626-pkg2.run 10296145
|
||||
RMD160 2bdbe5aff2ab7afebece102db62233748bd302e6 NVIDIA-Linux-x86_64-1.0-9626-pkg2.run 10296145
|
||||
SHA256 56e8bc38e8966fe7e7046071409a27f02af909432b54f82b2e8079c1d6c3cc5d NVIDIA-Linux-x86_64-1.0-9626-pkg2.run 10296145
|
||||
@@ -0,0 +1,6 @@
|
||||
MD5 3676f622897d22f1815365b44139899e NVIDIA-Linux-x86-1.0-9631-pkg1.run 13357240
|
||||
RMD160 27ee7322861bde4cd08f4be236d6fbf5a4a6822b NVIDIA-Linux-x86-1.0-9631-pkg1.run 13357240
|
||||
SHA256 0920ccad8e8f0eef0d20c2dda9f1bc314d2ac2b4cae252ffa15077972fd6fb54 NVIDIA-Linux-x86-1.0-9631-pkg1.run 13357240
|
||||
MD5 64b88c6f405e7f2dd1607c0062c0c1f3 NVIDIA-Linux-x86_64-1.0-9631-pkg2.run 10233636
|
||||
RMD160 5e9c501fbfad27686651f64705854552be6c3f0c NVIDIA-Linux-x86_64-1.0-9631-pkg2.run 10233636
|
||||
SHA256 009d6e4171fa18580264ce0ace92c1c68f0702f009837f1214d77b6948223375 NVIDIA-Linux-x86_64-1.0-9631-pkg2.run 10233636
|
||||
@@ -0,0 +1,418 @@
|
||||
# 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.9625.ebuild,v 1.4 2006/10/04 20:45:32 wolf31o2 Exp $
|
||||
|
||||
inherit eutils multilib versionator linux-mod
|
||||
|
||||
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? ( http://us.download.nvidia.com/XFree86/Linux-x86/${NV_V}/${X86_NV_PACKAGE}-${X86_PKG_V}.run )
|
||||
amd64? ( http://us.download.nvidia.com/XFree86/Linux-x86_64/${NV_V}/${AMD64_NV_PACKAGE}-${AMD64_PKG_V}.run )
|
||||
"
|
||||
LICENSE="NVIDIA"
|
||||
SLOT="0"
|
||||
KEYWORDS="-* ~amd64 ~x86 ~x86-fbsd"
|
||||
IUSE="dlloader distribution"
|
||||
RESTRICT="nostrip multilib-pkg-force"
|
||||
|
||||
DEPEND="kernel_linux? ( virtual/linux-sources )"
|
||||
RDEPEND="kernel_linux? ( virtual/modutils )
|
||||
|| ( x11-base/xorg-server virtual/x11 )
|
||||
|| ( media-libs/mesa virtual/x11 )
|
||||
app-admin/eselect-opengl
|
||||
kernel_linux? ( !media-video/nvidia-kernel )
|
||||
kernel_FreeBSD? ( !media-video/nvidia-freebsd )
|
||||
!app-emulation/emul-linux-x86-nvidia
|
||||
!x11-drivers/nvidia-legacy-drivers
|
||||
!media-video/nvidia-glx"
|
||||
|
||||
export _POSIX2_VERSION="199209"
|
||||
|
||||
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}"
|
||||
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
|
||||
# Zander kernel patches
|
||||
# None yet.
|
||||
# Zander i2c patch
|
||||
epatch ${NV_PATCH_PREFIX}-i2c.diff
|
||||
|
||||
# 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
|
||||
|
||||
# Patch the Makefile to not warn about nvidia-installer
|
||||
# epatch ${FILESDIR}/NVIDIA_glx-makefile.patch
|
||||
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"
|
||||
MAKE="$(get_bmake)" emake CC="$(tc-getCC)" LD="$(tc-getLD)"
|
||||
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
|
||||
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/*
|
||||
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
|
||||
|
||||
if use distribution && ! use x86-fbsd; then
|
||||
insinto /lib/nvidia
|
||||
doins "${WORKDIR}/${NV_PACKAGE}${PKG_V}/usr/src/nv/nvidia.o"
|
||||
insinto /lib/nvidia
|
||||
doins "${WORKDIR}/${NV_PACKAGE}${PKG_V}/usr/src/nv/nvidia.mod.o"
|
||||
# then, remove nvidia.ko from the Live system.
|
||||
# to link the nvidia.mod.o to nvidia.o do something like (for i386):
|
||||
# ld -m elf_i386 -m elf_i386 -r -o nvidia.ko nvidia.o nvidia.mod.o
|
||||
# or (for x86_64):
|
||||
# ld -m elf_x86_64 -m elf_x86_64 -r -o nvidia.ko nvidia.o nvidia.mod.o
|
||||
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 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 ! 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 ${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
|
||||
einfo "To use the Nvidia GLX, run \"eselect opengl set nvidia\""
|
||||
echo
|
||||
einfo "You may also be interested in media-video/nvidia-settings"
|
||||
echo
|
||||
einfo "nVidia has requested that any bug reports submitted have the"
|
||||
einfo "output of /usr/bin/nvidia-bug-report.sh included."
|
||||
}
|
||||
|
||||
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() {
|
||||
eselect opengl set --use-old xorg-x11
|
||||
}
|
||||
Reference in New Issue
Block a user