From 0f4e962e64c4a49bafe49724b9b09d33d17654f2 Mon Sep 17 00:00:00 2001 From: Fabian Fingerle Date: Thu, 23 Apr 2009 09:51:19 +0200 Subject: [PATCH] x11-drivers/nvidia-drivers-180.53: add prerelease --- Documentation/package.keywords/nvidia-prerelease | 2 + Documentation/package.unmask/nvidia-prerelease | 2 + media-video/nvidia-settings/ChangeLog | 4 + media-video/nvidia-settings/Manifest | 4 +- x11-drivers/nvidia-drivers/ChangeLog | 4 + x11-drivers/nvidia-drivers/Manifest | 6 +- .../nvidia-drivers/nvidia-drivers-180.53.ebuild | 527 +++++++++++++++++++++ 7 files changed, 547 insertions(+), 2 deletions(-) create mode 100644 x11-drivers/nvidia-drivers/nvidia-drivers-180.53.ebuild diff --git a/Documentation/package.keywords/nvidia-prerelease b/Documentation/package.keywords/nvidia-prerelease index e69de29..e63f171 100644 --- a/Documentation/package.keywords/nvidia-prerelease +++ b/Documentation/package.keywords/nvidia-prerelease @@ -0,0 +1,2 @@ +=media-video/nvidia-settings-180.53 ** +=x11-drivers/nvidia-drivers-180.53 ** diff --git a/Documentation/package.unmask/nvidia-prerelease b/Documentation/package.unmask/nvidia-prerelease index e69de29..17c0928 100644 --- a/Documentation/package.unmask/nvidia-prerelease +++ b/Documentation/package.unmask/nvidia-prerelease @@ -0,0 +1,2 @@ +=media-video/nvidia-settings-180.53 +=x11-drivers/nvidia-drivers-180.53 diff --git a/media-video/nvidia-settings/ChangeLog b/media-video/nvidia-settings/ChangeLog index e7ca862..e0635a7 100644 --- a/media-video/nvidia-settings/ChangeLog +++ b/media-video/nvidia-settings/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for x11-drivers/nvidia-drivers # Copyright 2006-2009 Fabian Fingerle Overlay; distributed under the GPL version 2 + 23 Apr 2009, Fabian Fingerle + +nvidia-settings-180.53.ebuild: + add prerelease + 22 Apr 2009, Fabian Fingerle -nvidia-settings-180.51.ebuild: remove stable release diff --git a/media-video/nvidia-settings/Manifest b/media-video/nvidia-settings/Manifest index 4f6812f..9880454 100644 --- a/media-video/nvidia-settings/Manifest +++ b/media-video/nvidia-settings/Manifest @@ -1,6 +1,8 @@ AUX icon/nvidia-settings.desktop 194 RMD160 a59dae254f65d9665118629b489b33b0fd87c8d5 SHA1 eac0735769b28d7c217d6ab15a3dca3e2adff9b1 SHA256 af43af5db203c1acf9301fa7fb285a7fdfe5aab5ce1aa30a239fd7db1b588168 AUX icon/nvidia-settings.png 3790 RMD160 a0a8c319ca4b0100d2b7502b6a3dba20a3dc71b9 SHA1 ff485bf300c6e0c56b3d1f08ee87e4d9a425db65 SHA256 171e2d20dfe7fbbb86bf9d3c0bb22909529b351fb06b614018a9597ff2456f12 +DIST nvidia-settings-180.53.tar.gz 1342071 RMD160 1e9a361b64adb2c1fc7cf23e09f3aee82f30502c SHA1 228edfe359b8251ae19cc49a6fbbd777173b1975 SHA256 ee8e169779346d52ca563d96864b669d3c12dbcdfb1ce66184766ceac138f639 DIST nvidia-settings-185.19.tar.gz 1347210 RMD160 4d2bc94fb73574f607685f7c8a3b1f06e6cafd75 SHA1 9e29bf0319bf9ea65d9c054e15521a5510b1a5c0 SHA256 5e0cb24c1a53f679bad923b5be9145fc7425af16032072f181b9034da91b499a +EBUILD nvidia-settings-180.53.ebuild 1721 RMD160 f7d6e47cad4e905b8e92208dc97dd1938bbc2394 SHA1 4446f0471e2c2057c9c9bdb1a99e568d69e29390 SHA256 55fbb7c79182e1c8ac8d1edf7b68feccd3f885c0e95520e5c1f2e45965108b10 EBUILD nvidia-settings-185.19.ebuild 1721 RMD160 f7d6e47cad4e905b8e92208dc97dd1938bbc2394 SHA1 4446f0471e2c2057c9c9bdb1a99e568d69e29390 SHA256 55fbb7c79182e1c8ac8d1edf7b68feccd3f885c0e95520e5c1f2e45965108b10 -MISC ChangeLog 1369 RMD160 191712e479867c206a2cd3e68de1720f13104ed2 SHA1 32644acec8dfd49b03c541b89b2ab05cf07f92b4 SHA256 d8cba9b2daf133b0c650c8e8206310639958f3c9af85dbd2c74636e7cc16ff52 +MISC ChangeLog 1475 RMD160 c274a21354c6bb4582df106818eb4f72c7d50af9 SHA1 f97700187cfbdb60edc8099bb957e0a239aaca68 SHA256 0971b46011b55c44deb226e12935b64cbf8833e498e2b895348bc0bd667b5319 MISC metadata.xml 313 RMD160 ef0fd7e80d48cd3ca74f690da28124320f1a5bd9 SHA1 07663307a196dcdd3ae7fd14a87476f7a7aaa67a SHA256 d6e8ff073fd6c7c27d8401c2ccc11bd62003fca57618d4ebc2c3bcc2f3beec21 diff --git a/x11-drivers/nvidia-drivers/ChangeLog b/x11-drivers/nvidia-drivers/ChangeLog index 09a7310..3c1da09 100644 --- a/x11-drivers/nvidia-drivers/ChangeLog +++ b/x11-drivers/nvidia-drivers/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for x11-drivers/nvidia-drivers # Copyright 2006-2009 Fabian Fingerle Overlay; distributed under the GPL version 2 + 23 Apr 2009, Fabian Fingerle + +nvidia-drivers-180.53.ebuild: + add prerelease + 22 Apr 2009, Fabian Fingerle -nvidia-drivers-180.51.ebuild: remove stable driver diff --git a/x11-drivers/nvidia-drivers/Manifest b/x11-drivers/nvidia-drivers/Manifest index 7a868a2..9b06c47 100644 --- a/x11-drivers/nvidia-drivers/Manifest +++ b/x11-drivers/nvidia-drivers/Manifest @@ -4,9 +4,13 @@ AUX NVIDIA_i2c-hwmon.patch 669 RMD160 812e7081d8f31116031edb0d8eb9c570b09caf89 S AUX libGL.la-r2 733 RMD160 479612ab30c04ca0683c7d9edaf9ab3de783e4a9 SHA1 88656b7e7234ade4f5564373fd6eb5c040167655 SHA256 4856e7a2c31763ade41c93a395f3e80a2705ac2ab4dbd73e5161cdba132f407b AUX nvidia 1510 RMD160 ca0d0e5375109d9edf682d9bdda743b7c693e4d4 SHA1 85cf9bff167dcc063ba61426523973e9598085f7 SHA256 b193cc3f6d6f39138720a2282d9f161fc8f2e8a15bc43d183a30eb879add06c5 AUX nvidia-169.07 639 RMD160 8baddb6fd1bf7f0e2688870a78e8ace051d62e3f SHA1 b30487ba2a24a6b1359d1fd831eeb1705060953c SHA256 a8c4860f008d53776fda7a17b59524f271236559af688e9a2c9845cbbcba1577 +DIST NVIDIA-FreeBSD-x86-180.53.tar.gz 18596127 RMD160 2a828956f113fe1bb572764b65ff45a91fd2f07f SHA1 f69220338906905cd2a7a6570ce1bec6723cbe49 SHA256 3edb3a22155fb0bfa5b4036913daab145b81fafbbb7f62023f2b7135c4d81a1c DIST NVIDIA-FreeBSD-x86-185.19.tar.gz 19866641 RMD160 03c84d542f592efb20d2f27e4d3a71e4e1f92f69 SHA1 95a7cc48dce788b3e07323bbe85d651897ecbb4f SHA256 a4ab9f6598789e81574a61a05ff4f12e27c832dcec3f815d87eb07a937b085ab +DIST NVIDIA-Linux-x86-180.53-pkg0.run 13573257 RMD160 6fc1e0f44c269e68cd19959cd73f1560cb9f57bd SHA1 5b0852ac352ea9edbc067804188b83ca4961b17f SHA256 385b17ba2d0e3ebab37bda76fda4c5b8b92ec7b9a9024ffbda5bd03d83965d0d DIST NVIDIA-Linux-x86-185.19-pkg0.run 14771781 RMD160 1ad80cff76f52c71f5b16751f61717a59a93756c SHA1 837bdfdf9d0cedeb23256439713a0cbfd9189087 SHA256 f79615ea4afd6ee4471389e5e76d58fc1df72f56d6d2009f3c245cfba053c61c +DIST NVIDIA-Linux-x86_64-180.53-pkg2.run 21477159 RMD160 5c605898e1a9362c1d6b9bcaff134eb39a7a37e7 SHA1 c830879c53c07fcfa1c8e4b20ef822b57be69904 SHA256 b40289f81e9469fa1cf2d60104e2980b947b5c23d33e4796d0f05d417fa6d419 DIST NVIDIA-Linux-x86_64-185.19-pkg2.run 23458043 RMD160 e5951bf0001b0897806e820f63c54769297bf67b SHA1 523813449acb6fa91c46b62b15a5d3a2fb9bcd56 SHA256 43cca8302cb23cda259ad0befd559d986803be27dad2b4df43777d1f0eb4fac3 +EBUILD nvidia-drivers-180.53.ebuild 15289 RMD160 cf47a2d7d01af2ce0e6a6301dcbe164080719621 SHA1 9e9535233e88c745e3456cbe7494d01872b006ef SHA256 de96edf81436ce01e4d781a4331bd8dfc3989229607cbcfb494be46ceabafd52 EBUILD nvidia-drivers-185.19.ebuild 15289 RMD160 cf47a2d7d01af2ce0e6a6301dcbe164080719621 SHA1 9e9535233e88c745e3456cbe7494d01872b006ef SHA256 de96edf81436ce01e4d781a4331bd8dfc3989229607cbcfb494be46ceabafd52 -MISC ChangeLog 1649 RMD160 c5d0f0534ac7009765d8b8a8718edef104005d06 SHA1 5ccb132c1c8816872ef8f886dc42ab02e5022a7d SHA256 d5e861505b437e364dbcd49a73a952162465e0b0cac397f7af1160213955e341 +MISC ChangeLog 1754 RMD160 a5f9f99cbade4d67ee08771330cff28c6713d42c SHA1 efea6c3d6adb1af574497162050ccb1abb8721e5 SHA256 41be95bed8032fb4ab1d49af5765fc0d09170af96925837a52405ddc08ff19fd MISC metadata.xml 167 RMD160 37158b954b5c56848025caab67dff8a1b7cb3146 SHA1 0a1a5e46367626858fc7f28de6fca63ccfa3f7e0 SHA256 4476ca9edabcb9df5e3e77607b3972df652fd44fb82ec2a751a9ce798da17a73 diff --git a/x11-drivers/nvidia-drivers/nvidia-drivers-180.53.ebuild b/x11-drivers/nvidia-drivers/nvidia-drivers-180.53.ebuild new file mode 100644 index 0000000..8a72922 --- /dev/null +++ b/x11-drivers/nvidia-drivers/nvidia-drivers-180.53.ebuild @@ -0,0 +1,527 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit eutils multilib versionator linux-mod flag-o-matic nvidia-driver + +X86_NV_PACKAGE="NVIDIA-Linux-x86-${PV}" +AMD64_NV_PACKAGE="NVIDIA-Linux-x86_64-${PV}" +X86_FBSD_NV_PACKAGE="NVIDIA-FreeBSD-x86-${PV}" + +DESCRIPTION="NVIDIA X11 driver and GLX libraries" +HOMEPAGE="http://www.nvidia.com/" +SRC_URI="x86? ( ftp://download.nvidia.com/XFree86/Linux-x86/${PV}/${X86_NV_PACKAGE}-pkg0.run ) + amd64? ( ftp://download.nvidia.com/XFree86/Linux-x86_64/${PV}/${AMD64_NV_PACKAGE}-pkg2.run ) + x86-fbsd? ( ftp://download.nvidia.com/freebsd/${PV}/${X86_FBSD_NV_PACKAGE}.tar.gz )" + +LICENSE="NVIDIA" +SLOT="0" +KEYWORDS="" +IUSE="acpi custom-cflags gtk multilib kernel_linux" +RESTRICT="strip" +EMULTILIB_PKG="true" + +COMMON="= 2.6.7" + echo + ewarn "DO NOT file bug reports for kernel versions less than 2.6.7 as they will be ignored." + fi + + if ! use x86-fbsd; then + mkdir "${S}" + cd "${S}" + unpack_makeself + else + unpack ${A} + fi + + # Patches go below here, add brief description + cd "${S}" + use x86-fbsd && cd doc + + # 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 + + # allow on board sensors to work with lm_sensors + if use kernel_linux; then + epatch "${FILESDIR}"/NVIDIA_i2c-hwmon.patch + fi + + if use kernel_linux; then + # Quiet down warnings the user does not need to see + sed -i \ + -e 's:-Wpointer-arith::g' \ + -e 's:-Wsign-compare::g' \ + "${NV_SRC}"/Makefile.kbuild + + # If you set this then it's your own fault when stuff breaks :) + use custom-cflags && sed -i "s:-O:${CFLAGS}:" "${NV_SRC}"/Makefile.* + + # If greater than 2.6.5 use M= instead of SUBDIR= + convert_to_m "${NV_SRC}"/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. + + cd "${NV_SRC}" + if use x86-fbsd; then + MAKE="$(get_bmake)" CFLAGS="-Wno-sign-compare" emake CC="$(tc-getCC)" \ + LD="$(tc-getLD)" LDFLAGS="$(raw-ldflags)" || die + elif use kernel_linux; then + linux-mod_src_compile + fi +} + +src_install() { + local MLTEST=$(type dyn_unpack) + + cd "${S}" + + if use kernel_linux; then + linux-mod_src_install + + VIDEOGROUP="$(egetent group video | cut -d ':' -f 3)" + if [ -z "$VIDEOGROUP" ]; then + eerror "Failed to determine the video group gid." + die "Failed to determine the video group gid." + fi + + # Add the aliases + [ -f "${FILESDIR}/nvidia" ] || die "nvidia missing in FILESDIR" + sed -e 's:PACKAGE:'${PF}':g' \ + -e 's:VIDEOGID:'${VIDEOGROUP}':' "${FILESDIR}"/nvidia-169.07 > \ + "${WORKDIR}"/nvidia + insinto /etc/modprobe.d + doins "${WORKDIR}"/nvidia || die + elif use x86-fbsd; then + insinto /boot/modules + doins "${WORKDIR}/${NV_PACKAGE}/src/nvidia.kld" || die + + exeinto /boot/modules + doexe "${WORKDIR}/${NV_PACKAGE}/src/nvidia.ko" || die + fi + + if 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 + + # Documentation + dodoc "${NV_DOC}"/{XF86Config.sample,Copyrights} + dohtml "${NV_DOC}"/html/* + if use x86-fbsd; then + dodoc "${NV_DOC}/README" + else + # Docs + newdoc "${NV_DOC}/README.txt" README + dodoc "${NV_DOC}/NVIDIA_Changelog" + fi + + # Helper Apps + dobin ${NV_EXEC}/nvidia-xconfig || die + dobin ${NV_EXEC}/nvidia-bug-report.sh || die +} + +# Install nvidia library: +# the first parameter is the place where to install it +# the second parameter is the base name of the library +# the third parameter is the provided soversion +donvidia() { + dodir $1 + exeinto $1 + + libname=$(basename $2) + + # libnvidia-cfg.so is no longer supplied in lib32; step over it gracefully + if [ -e $2.$3 ] ; then + doexe $2.$3 + dosym ${libname}.$3 $1/${libname} + [[ $3 != "1" ]] && dosym ${libname}.$3 $1/${libname}.1 + fi +} + +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 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} + + donvidia ${NV_ROOT}/lib ${usrpkglibdir}/libnvidia-cfg.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 + # Install the .la file for libtool, to prevent e.g. bug #176423 + [ -f "${FILESDIR}/libGL.la-r2" ] || die "libGL.la-r2 missing in FILESDIR" + 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 + + [[ -f ${drvdir}/nvidia_drv.so ]] && \ + doexe ${drvdir}/nvidia_drv.so + + 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 libXvMCNVIDIA.so.${PV} \ + /usr/${inslibdir}/libXvMCNVIDIA.so + + exeinto ${NV_ROOT}/extensions + [[ -f ${libdir}/modules/libnvidia-wfb.so.${sover} ]] && \ + newexe ${libdir}/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 + + #cuda + if [[ -f usr/include/cuda/cuda.h ]]; then + dodir /usr/include/cuda + insinto /usr/include/cuda + doins usr/include/cuda/*.h + + if [[ -f usr/${pkglibdir}/libcuda.so.${PV} ]]; then + dolib.so usr/${pkglibdir}/libcuda.so.${PV} + dosym libcuda.so.${PV} /usr/${inslibdir}/libcuda.so.1 + dosym libcuda.so.1 /usr/${inslibdir}/libcuda.so + fi + fi + + #vdpau + if [[ -f usr/include/vdpau/vdpau.h ]]; then + dodir /usr/include/vdpau + insinto /usr/include/vdpau + doins usr/include/vdpau/*.h + + for vdpaulib in vdpau_nvidia vdpau vdpau_trace; do + dolib.so usr/${pkglibdir}/lib${vdpaulib}.so.${PV} + dosym lib${vdpaulib}.so.${PV} /usr/${inslibdir}/lib${vdpaulib}.so.1 + dosym lib${vdpaulib}.so.1 /usr/${inslibdir}/lib${vdpaulib}.so + done + fi +} + +pkg_preinst() { + + # Clean the dynamic 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 kernel_linux; then + linux-mod_pkg_postinst + fi + + # Switch to the nvidia implementation + eselect opengl set --use-old nvidia + + echo + elog "You must be in the video group to use the NVIDIA device" + elog "For more info, read the docs at" + elog "http://www.gentoo.org/doc/en/nvidia-guide.xml#doc_chap3_sect6" + elog + + elog "This ebuild installs a kernel module and X driver. Both must" + elog "match explicitly in their version. This means, if you restart" + elog "X, you most modprobe -r nvidia before starting it back up" + elog + + elog "To use the NVIDIA GLX, run \"eselect opengl set nvidia\"" + elog + elog "nVidia has requested that any bug reports submitted have the" + elog "output of /usr/bin/nvidia-bug-report.sh included." + elog + elog "To work with compiz, you must enable the AddARGBGLXVisuals option." + elog + 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.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 kernel_linux; then + linux-mod_pkg_postrm + fi + eselect opengl set --use-old xorg-x11 +} -- 2.11.4.GIT