Changeset View
Standalone View
x11/nvidia-driver/Makefile
# Created by: Stijn Hoop <stijn@win.tue.nl> | # Created by: Stijn Hoop <stijn@win.tue.nl> | ||||
# $FreeBSD$ | # $FreeBSD$ | ||||
# | # | ||||
# For those wondering why this port is not under `x11-drivers' category, | # For those wondering why this port is not under `x11-drivers' category, | ||||
# have a look at https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=121930. | # have a look at https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=121930. | ||||
# | # | ||||
# Starting with version 1.0-7667, NVidia has dropped support for numerous | # Starting with version 1.0-7667, NVidia has dropped support for numerous | ||||
# "legacy" GPUs. Consult NVidia README (the Appendix) to find out whether | # "legacy" GPUs. Consult NVidia README (the Appendix) to find out whether | ||||
# you need to use legacy driver version and install one of corresponding | # you need to use legacy driver version and install one of corresponding | ||||
# slave ports instead (`x11/nvidia-driver-340' or `x11/nvidia-driver-304'). | # slave ports instead (`x11/nvidia-driver-340' or `x11/nvidia-driver-304'). | ||||
PORTNAME= nvidia-driver | PORTNAME= nvidia-driver | ||||
DISTVERSION?= 346.96 | DISTVERSION?= 367.35 | ||||
mark_tranquillussoftware.co.uk: This is now obsolete - nVidia have released 367.44 and 370.23 | |||||
Not Done Inline ActionsI believe we can have existing, well tested version committed first. Updates will follow normally. danfe: I believe we can have existing, well tested version committed first. Updates will follow… | |||||
Not Done Inline ActionsYeah, one step at a time. Thanks @danfe for review and Mark for letting us know about the new version. cem: Yeah, one step at a time. Thanks @danfe for review and Mark for letting us know about the new… | |||||
# Always try to set PORTREVISION as it can be overridden by the slave ports | # Always try to set PORTREVISION as it can be overridden by the slave ports | ||||
PORTREVISION?= 0 | PORTREVISION?= 0 | ||||
CATEGORIES= x11 | CATEGORIES= x11 | ||||
MASTER_SITES= NVIDIA/XFree86/FreeBSD-${ARCH_SUFX}/${DISTVERSION} | MASTER_SITES= NVIDIA/XFree86/FreeBSD-${ARCH_SUFX}/${DISTVERSION} | ||||
DISTNAME= NVIDIA-FreeBSD-${ARCH_SUFX}-${DISTVERSION} | DISTNAME= NVIDIA-FreeBSD-${ARCH_SUFX}-${DISTVERSION} | ||||
MAINTAINER= danfe@FreeBSD.org | MAINTAINER= danfe@FreeBSD.org | ||||
COMMENT= NVidia graphics card binary drivers for hardware OpenGL rendering | COMMENT= NVidia graphics card binary drivers for hardware OpenGL rendering | ||||
LICENSE= NVIDIA | LICENSE= NVIDIA | ||||
LICENSE_NAME= License For Customer Use of NVIDIA Software | LICENSE_NAME= License For Customer Use of NVIDIA Software | ||||
LICENSE_FILE= ${WRKSRC}/doc/license.txt | LICENSE_FILE= ${WRKSRC}/doc/license.txt | ||||
LICENSE_PERMS= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept | LICENSE_PERMS= dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept | ||||
ONLY_FOR_ARCHS= i386 amd64 | ONLY_FOR_ARCHS= i386 amd64 | ||||
ARCH_SUFX= x86${ARCH:S/i386//:S/amd/_/} | ARCH_SUFX= x86${ARCH:S/i386//:S/amd/_/} | ||||
USES= kmod uidfix | USES= kmod uidfix | ||||
USE_XORG= xorg-server | USE_XORG= x11 xorg-server xext | ||||
USE_GL= gl | USE_GL= gl | ||||
USE_LDCONFIG= yes | USE_LDCONFIG= yes | ||||
# NVIDIA_ROOT is not set in src/Makefile, which results in bogus -I/src | # NVIDIA_ROOT is not set in src/Makefile, which results in bogus -I/src | ||||
# passed to compiler and broken build on HEAD since r221320 when option | # passed to compiler and broken build on HEAD since r221320 when option | ||||
# -Wmissing-include-dirs was added for kernel sources. Until properly | # -Wmissing-include-dirs was added for kernel sources. Until properly | ||||
# fixed upstream (across all versions, including legacy ones), use this | # fixed upstream (across all versions, including legacy ones), use this | ||||
# hack below to universally set NVIDIA_ROOT. Also provide X11BASE value | # hack below to universally set NVIDIA_ROOT. Also provide X11BASE value | ||||
Show All 11 Lines | |||||
.else # major.minor | .else # major.minor | ||||
. if ${DISTVERSION:E} < 100 | . if ${DISTVERSION:E} < 100 | ||||
NVVERSION= ${DISTVERSION:S/./.0/} # allow minor > 99 | NVVERSION= ${DISTVERSION:S/./.0/} # allow minor > 99 | ||||
. else | . else | ||||
NVVERSION= ${DISTVERSION} | NVVERSION= ${DISTVERSION} | ||||
. endif | . endif | ||||
.endif | .endif | ||||
EXTRA_PATCHES= ${FILESDIR}/extra-patch-mk-nvidia.lib.mk \ | EXTRA_PATCHES= ${FILESDIR}/extra-patch-mk-nvidia.lib.mk \ | ||||
${FILESDIR}/extra-patch-src-Makefile \ | |||||
${FILESDIR}/extra-patch-src-nv-freebsd.h \ | |||||
${FILESDIR}/extra-patch-src-nv-misc.h \ | |||||
${FILESDIR}/extra-patch-x11-driver-Makefile | ${FILESDIR}/extra-patch-x11-driver-Makefile | ||||
Done Inline ActionsThis line should be deleted. Non-extra equivalent is already created, so extra-patch-x11-driver-Makefile is now duplicate of patch-x11_driver_Makefile. junchoon_dec.sakura.ne.jp: This line should be deleted. Non-extra equivalent is already created, so extra-patch-x11… | |||||
Not Done Inline ActionsThanks! It is removed. cem: Thanks! It is removed. | |||||
.if ${NVVERSION} < 355.006 | |||||
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-src-Makefile \ | |||||
${FILESDIR}/extra-patch-src-nv-freebsd.h \ | |||||
${FILESDIR}/extra-patch-src-nv-misc.h | |||||
.else | |||||
Done Inline ActionsPerhaps setting NVSRC=. in the first .if clause above makes sense to avoid double slashes in patch names (though harmless) and silent use of undefined variable (e.g. to prevent accidental breakage in case user somehow manages to have this variable defined elsewhere)? danfe: Perhaps setting `NVSRC=.` in the first `.if` clause above makes sense to avoid double slashes… | |||||
Not Done Inline ActionsSure, that wouldn't hurt. cem: Sure, that wouldn't hurt. | |||||
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-src_nvidia_Makefile \ | |||||
${FILESDIR}/extra-patch-src_nvidia_nv-freebsd.h \ | |||||
${FILESDIR}/extra-patch-src_nvidia_nv-misc.h | |||||
.endif | |||||
.if ${NVVERSION} >= 358.009 | |||||
EXTRA_PATCHES+= ${FILESDIR}/extra-patch-src_nvidia-modeset_nvidia-modeset-freebsd.c | |||||
.endif | |||||
OPTIONS_DEFINE= ACPI_PM LINUX WBINVD DOCS | OPTIONS_DEFINE= ACPI_PM LINUX WBINVD DOCS | ||||
OPTIONS_DEFINE_i386= PAE | OPTIONS_DEFINE_i386= PAE | ||||
OPTIONS_DEFAULT= LINUX | OPTIONS_DEFAULT= LINUX | ||||
ACPI_PM_DESC= ACPI Power Management support | ACPI_PM_DESC= ACPI Power Management support | ||||
LINUX_DESC= Linux compatibility support | LINUX_DESC= Linux compatibility support | ||||
PAE_DESC= Physical Address Extensions support | PAE_DESC= Physical Address Extensions support | ||||
Show All 21 Lines | |||||
post-patch: .SILENT | post-patch: .SILENT | ||||
# We should support -CURRENT: kill the check | # We should support -CURRENT: kill the check | ||||
${REINPLACE_CMD} -e '24,26d' ${WRKSRC}/src/nv-freebsd.h | ${REINPLACE_CMD} -e '24,26d' ${WRKSRC}/src/nv-freebsd.h | ||||
# Adjust Linux headers #include's after FreeBSD src SVN r246085 | # Adjust Linux headers #include's after FreeBSD src SVN r246085 | ||||
.if ${OSVERSION} > 1000027 | .if ${OSVERSION} > 1000027 | ||||
${REINPLACE_CMD} -E '/#include "machine\/\.\.\/linux(32)?\/linux.h"/ \ | ${REINPLACE_CMD} -E '/#include "machine\/\.\.\/linux(32)?\/linux.h"/ \ | ||||
{ x ; s/.*/#include "machine\/..\/..\/compat\/linux\/linux_ioctl.h"/ ; H ; x ; }' \ | { x ; s/.*/#include "machine\/..\/..\/compat\/linux\/linux_ioctl.h"/ ; H ; x ; }' \ | ||||
${WRKSRC}/src/nvidia_linux.c | ${WRKSRC}/src/${NVSRC}/nvidia_linux.c | ||||
.endif | .endif | ||||
# Adjust vm_object locking after FreeBSD src SVN r248084 | # Adjust vm_object locking after FreeBSD src SVN r248084 | ||||
.if ${OSVERSION} > 1000029 | .if ${OSVERSION} > 1000029 | ||||
${REINPLACE_CMD} -e '/#include <vm\/vm_object.h>/ \ | ${REINPLACE_CMD} -e '/#include <vm\/vm_object.h>/ \ | ||||
{ x ; s/.*/#include <sys\/rwlock.h>/ ; G ; }' \ | { x ; s/.*/#include <sys\/rwlock.h>/ ; G ; }' \ | ||||
${WRKSRC}/src/nv-freebsd.h | ${WRKSRC}/src/${NVSRC}/nv-freebsd.h | ||||
${REINPLACE_CMD} -E 's/(VM_OBJECT_)(UN)?(LOCK)/\1W\2\3/' \ | ${REINPLACE_CMD} -E 's/(VM_OBJECT_)(UN)?(LOCK)/\1W\2\3/' \ | ||||
${WRKSRC}/src/nvidia_subr.c | ${WRKSRC}/src/${NVSRC}/nvidia_subr.c | ||||
.endif | .endif | ||||
# Adjust kmem(9) calls after FreeBSD src SVN r254025 | # Adjust kmem(9) calls after FreeBSD src SVN r254025 | ||||
.if ${OSVERSION} > 1000040 && ${NVVERSION} < 331.067 | .if ${OSVERSION} > 1000040 && ${NVVERSION} < 331.067 | ||||
${REINPLACE_CMD} -e '/kmem_/s/kernel_map/kernel_arena/' \ | ${REINPLACE_CMD} -e '/kmem_/s/kernel_map/kernel_arena/' \ | ||||
${WRKSRC}/src/nvidia_subr.c | ${WRKSRC}/src/${NVSRC}/nvidia_subr.c | ||||
.endif | .endif | ||||
# Fix CTLFLAG_* values for SYSCTL_ADD_PROC() after FreeBSD src SVN r273377 | # Fix CTLFLAG_* values for SYSCTL_ADD_PROC() after FreeBSD src SVN r273377 | ||||
.if ${OSVERSION} > 1100039 || ${OSVERSION} > 1001501 && ${OSVERSION} < 1100000 | .if ${OSVERSION} > 1100039 || ${OSVERSION} > 1001501 && ${OSVERSION} < 1100000 | ||||
${REINPLACE_CMD} -e '/SYSCTL_ADD_PROC/,/;/ \ | ${REINPLACE_CMD} -e '/SYSCTL_ADD_PROC/,/;/ \ | ||||
s/^[[:blank:]]*CTLFLAG_RD/CTLTYPE_STRING |&/' \ | s/^[[:blank:]]*CTLFLAG_RD/CTLTYPE_STRING |&/' \ | ||||
${WRKSRC}/src/nvidia_sysctl.c | ${WRKSRC}/src/${NVSRC}/nvidia_sysctl.c | ||||
.endif | .endif | ||||
# Replace d_thread_t (compat shim to support FreeBSD 4) with `struct thread' | # Replace d_thread_t (compat shim to support FreeBSD 4) with `struct thread' | ||||
${REINPLACE_CMD} -e 's/d_thread_t/struct thread/' \ | ${REINPLACE_CMD} -e 's/d_thread_t/struct thread/' \ | ||||
${WRKSRC}/src/nvidia_ctl.c ${WRKSRC}/src/nvidia_dev.c \ | ${WRKSRC}/src/${NVSRC}/nvidia_ctl.c ${WRKSRC}/src/${NVSRC}/nvidia_dev.c \ | ||||
${WRKSRC}/src/nvidia_linux.c | ${WRKSRC}/src/${NVSRC}/nvidia_linux.c | ||||
# Fix stack buffer overflow in nvidia_sysctl_bus_type() | .if ${NVVERSION} >= 358.009 | ||||
Not Done Inline ActionsOriginal code should be updated to r420797. Lines 127 to 129 of original code no longer exists after r420797 and prevents the patch applied cleanly. Modifying patch (delete 3 lines and fix corresponding @@ line), applies, builds and runs OK for me. junchoon_dec.sakura.ne.jp: Original code should be updated to r420797.
Lines 127 to 129 of original code no longer exists… | |||||
${REINPLACE_CMD} -e 's/8 bus_type\[4\]/8 bus_type[8]/' \ | ${REINPLACE_CMD} -e 's/d_thread_t/struct thread/' \ | ||||
${WRKSRC}/src/nvidia_sysctl.c | ${WRKSRC}/src/nvidia-modeset/nvidia-modeset-freebsd.c | ||||
Not Done Inline ActionsOops, sorry, missed this one during the cleanups stage. Removed in rP420797. danfe: Oops, sorry, missed this one during the cleanups stage. Removed in rP420797. | |||||
.endif | |||||
# Respect WITHOUT_LINUX setting | # Respect WITHOUT_LINUX setting | ||||
${REINPLACE_CMD} -e 's/exists(\/.*/& \&\& !defined(WITHOUT_LINUX)/' \ | ${REINPLACE_CMD} -e 's/exists(\/.*/& \&\& !defined(WITHOUT_LINUX)/' \ | ||||
${WRKSRC}/lib/Makefile | ${WRKSRC}/lib/Makefile | ||||
# Do not install VDPAU libraries which are provided by `multimedia/libvdpau' | # Do not install VDPAU libraries which are provided by `multimedia/libvdpau' | ||||
# port for a while now | # port for a while now | ||||
${REINPLACE_CMD} -e '/libvdpau[[:blank:]_][^n]/d ; \ | ${REINPLACE_CMD} -e '/libvdpau[[:blank:]_][^n]/d ; \ | ||||
s/name libvdpau/&_nvidia/' ${WRKSRC}/lib/Makefile | s/name libvdpau/&_nvidia/' ${WRKSRC}/lib/Makefile | ||||
# Do not build any binaries (native nvidia-settings and nvidia-xconfig are | # Do not build any binaries (native nvidia-settings and nvidia-xconfig are | ||||
Show All 14 Lines | .if ${NVVERSION} >= 331.013 | ||||
${REINPLACE_CMD} -e '/LIBDIR/s:lib:&/.nvidia:' \ | ${REINPLACE_CMD} -e '/LIBDIR/s:lib:&/.nvidia:' \ | ||||
${WRKSRC}/lib/libEGL/Makefile \ | ${WRKSRC}/lib/libEGL/Makefile \ | ||||
${WRKSRC}/lib/libGLESv2/Makefile | ${WRKSRC}/lib/libGLESv2/Makefile | ||||
.endif | .endif | ||||
# Do not execute afterinstall target (prevent automatic module registration | # Do not execute afterinstall target (prevent automatic module registration | ||||
# and "smart" installation of conflicting files heuristics) | # and "smart" installation of conflicting files heuristics) | ||||
${REINPLACE_CMD} -e 's/afterinstall/&_dontexecute/' ${WRKSRC}/Makefile | ${REINPLACE_CMD} -e 's/afterinstall/&_dontexecute/' ${WRKSRC}/Makefile | ||||
${REINPLACE_CMD} -e 's/beforeinstall/&_dontexecute/' \ | ${REINPLACE_CMD} -e 's/beforeinstall/&_dontexecute/' \ | ||||
${WRKSRC}/lib/Makefile ${WRKSRC}/src/Makefile | ${WRKSRC}/lib/Makefile ${WRKSRC}/src/${NVSRC}/Makefile | ||||
# /usr/share/nvidia path is hardcoded in libGL and nvidia-settings, but we | # /usr/share/nvidia path is hardcoded in libGL and nvidia-settings, but we | ||||
# won't adhere to this stupidity and install nvidia-application-profiles-* | # won't adhere to this stupidity and install nvidia-application-profiles-* | ||||
# files as part of documentation | # files as part of documentation | ||||
.if ${NVVERSION} >= 334.016 | .if ${NVVERSION} >= 334.016 | ||||
${REINPLACE_CMD} -e 's,/usr/share/nvidia,${STAGEDIR}${DOCSDIR},' \ | ${REINPLACE_CMD} -e 's,/usr/share/nvidia,${STAGEDIR}${DOCSDIR},' \ | ||||
${WRKSRC}/lib/libGL/Makefile ${WRKSRC}/doc/Makefile | ${WRKSRC}/lib/libGL/Makefile ${WRKSRC}/doc/Makefile | ||||
.endif | .endif | ||||
# Fix cap_rights, does not exist before 10.x | |||||
Done Inline ActionsShould more accurately read: "New cap_rights_t structure was introduced in FreeBSD src SVN r255219". This is also more consistent with other similar hacks. Knowing exact revision that required a change is important due to complexity of the port. danfe: Should more accurately read: "New cap_rights_t structure was introduced in FreeBSD src SVN… | |||||
Not Done Inline ActionsGood point, thanks. cem: Good point, thanks. | |||||
.if ${OSVERSION} < 1000000 && ${NVVERSION} >= 358.009 | |||||
Done Inline ActionsFirst clause (left of &&) should be OSVERSION < 1000053 (see rS255305; apparently I was aware that this change would affect nVidia driver). danfe: First clause (left of `&&`) should be `OSVERSION < 1000053` (see rS255305; apparently I was… | |||||
Not Done Inline ActionsGood catch, thanks. cem: Good catch, thanks. | |||||
${REINPLACE_CMD} '/<sys\/caprights.h>/d ; /cap_rights_t rights/d ; s/cap_rights_init(&rights, CAP_IOCTL)/CAP_IOCTL/' \ | |||||
${WRKSRC}/src/nvidia-modeset/nvidia-modeset-freebsd.c | |||||
.endif | |||||
# Finally, process OPTIONS | # Finally, process OPTIONS | ||||
.if ${PORT_OPTIONS:MFREEBSD_AGP} | .if ${PORT_OPTIONS:MFREEBSD_AGP} | ||||
${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_OS_AGP)/define \1/' \ | ${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_OS_AGP)/define \1/' \ | ||||
${WRKSRC}/src/nv-freebsd.h | ${WRKSRC}/src/${NVSRC}/nv-freebsd.h | ||||
.endif | .endif | ||||
.if ${PORT_OPTIONS:MACPI_PM} | .if ${PORT_OPTIONS:MACPI_PM} | ||||
${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_ACPI_PM)/define \1/' \ | ${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_ACPI_PM)/define \1/' \ | ||||
${WRKSRC}/src/nv-freebsd.h | ${WRKSRC}/src/${NVSRC}/nv-freebsd.h | ||||
.endif | .endif | ||||
.if ! ${PORT_OPTIONS:MLINUX} | .if ! ${PORT_OPTIONS:MLINUX} | ||||
${REINPLACE_CMD} -E 's/define (NV_SUPPORT_LINUX_COMPAT)/undef \1/' \ | ${REINPLACE_CMD} -E 's/define (NV_SUPPORT_LINUX_COMPAT)/undef \1/' \ | ||||
${WRKSRC}/src/nv-freebsd.h | ${WRKSRC}/src/${NVSRC}/nv-freebsd.h | ||||
.endif | .endif | ||||
.if ${PORT_OPTIONS:MPAE} | .if ${PORT_OPTIONS:MPAE} | ||||
${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_PAE)/define \1/' \ | ${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_PAE)/define \1/' \ | ||||
${WRKSRC}/src/nv-freebsd.h | ${WRKSRC}/src/${NVSRC}/nv-freebsd.h | ||||
.endif | .endif | ||||
.if ${PORT_OPTIONS:MWBINVD} | .if ${PORT_OPTIONS:MWBINVD} | ||||
${REINPLACE_CMD} -E 's/undef (NV_USE_WBINVD)/define \1/' \ | ${REINPLACE_CMD} -E 's/undef (NV_USE_WBINVD)/define \1/' \ | ||||
${WRKSRC}/src/nv-freebsd.h | ${WRKSRC}/src/${NVSRC}/nv-freebsd.h | ||||
.endif | .endif | ||||
# Conditionally install documentation (but you generally want it) | # Conditionally install documentation (but you generally want it) | ||||
.if ! ${PORT_OPTIONS:MDOCS} | .if ! ${PORT_OPTIONS:MDOCS} | ||||
${REINPLACE_CMD} -E 's/(x11).*/\1/ ; /doc/d' ${WRKSRC}/Makefile | ${REINPLACE_CMD} -E 's/(x11).*/\1/ ; /doc/d' ${WRKSRC}/Makefile | ||||
.endif | .endif | ||||
pre-install: | pre-install: | ||||
@${MKDIR} ${STAGEDIR}${PREFIX}/${MODULESDIR}/drivers \ | @${MKDIR} ${STAGEDIR}${PREFIX}/${MODULESDIR}/drivers \ | ||||
${STAGEDIR}${PREFIX}/${MODULESDIR}/extensions | ${STAGEDIR}${PREFIX}/${MODULESDIR}/extensions | ||||
post-install: .SILENT | post-install: .SILENT | ||||
${INSTALL_SCRIPT} ${WRKSRC}/obj/nvidia-bug-report.sh \ | ${INSTALL_SCRIPT} ${WRKSRC}/obj/nvidia-bug-report.sh \ | ||||
${STAGEDIR}${PREFIX}/bin | ${STAGEDIR}${PREFIX}/bin | ||||
# pkg-plist is already overbloated, so use these hacks instead of PLIST_SUB's | # pkg-plist is already overbloated, so use these hacks instead of PLIST_SUB's | ||||
.if ${NVVERSION} < 310.019 | .if ${NVVERSION} >= 304.128 && ${NVVERSION} < 310.019 || ${NVVERSION} >= 361.016 | ||||
${REINPLACE_CMD} -E '/libvdpau(_trace)?\.so/d' ${TMPPLIST} | ${REINPLACE_CMD} -E '/libvdpau(_trace)?\.so/d' ${TMPPLIST} | ||||
.endif | .endif | ||||
.if ${NVVERSION} >= 310.019 | .if ${NVVERSION} >= 310.019 | ||||
${REINPLACE_CMD} -e '/libXvMCNVIDIA/d' ${TMPPLIST} | ${REINPLACE_CMD} -e '/libXvMCNVIDIA/d' ${TMPPLIST} | ||||
.else # some applications need this symlink (see PR ports/72877) | .else # some applications need this symlink (see PR ports/72877) | ||||
${LN} -sf libXvMCNVIDIA.so.1 \ | ${LN} -sf libXvMCNVIDIA.so.1 \ | ||||
${STAGEDIR}${PREFIX}/lib/libXvMCNVIDIA_dynamic.so.1 | ${STAGEDIR}${PREFIX}/lib/libXvMCNVIDIA_dynamic.so.1 | ||||
.endif | .endif | ||||
.if ${NVVERSION} < 331.013 || ${ARCH} == amd64 && ${NVVERSION} < 334.016 | .if ${NVVERSION} < 331.013 || ${ARCH} == amd64 && ${NVVERSION} < 334.016 | ||||
${REINPLACE_CMD} -E '/lib(nvidia-)?(EGL|eglcore|GLESv|glsi)/d' \ | ${REINPLACE_CMD} -E '/lib(nvidia-)?(EGL|eglcore|GLESv|glsi)/d' \ | ||||
${TMPPLIST} | ${TMPPLIST} | ||||
.endif | |||||
.if ${NVVERSION} < 352.009 | |||||
${REINPLACE_CMD} -E '/(lib)?nvidia-(debugdump|smi|ml)/d' ${TMPPLIST} | |||||
.endif | |||||
.if ${NVVERSION} < 355.006 | |||||
${REINPLACE_CMD} -E '/(libEGL_nvidia|GLdispatch|OpenGL)/d' ${TMPPLIST} | |||||
.else | |||||
${REINPLACE_CMD} 's/libEGL\.so\.${PORTVERSION}/libEGL.so/' \ | |||||
${TMPPLIST} | |||||
.endif | |||||
.if ${NVVERSION} < 358.009 | |||||
${REINPLACE_CMD} '/nvidia-modeset.ko/d' ${TMPPLIST} | |||||
.else | |||||
${REINPLACE_CMD} 's/nvidia$$/nvidia-modeset/ ; s/nvidia_/nvidia-modeset_/' \ | |||||
${PKGMESSAGE} | |||||
.endif | |||||
.if ${NVVERSION} >= 361.028 | |||||
${REINPLACE_CMD} -E '/(EGL_nvidia\.so|GLESv[12](_CM)?(\.so\.[0-9]+\.[0-9]+))$$/d' \ | |||||
${TMPPLIST} | |||||
.else | |||||
${REINPLACE_CMD} -E '/\/lib\/libGLESv[12](_CM)?(\.so)?(_nvidia.so(\.[0-9]|\.[0-9]+\.[0-9]+)?)?$$/d ; \ | |||||
/libEGL_nvidia\.so\.${PORTVERSION}/d' ${TMPPLIST} | |||||
.endif | .endif | ||||
# Target below can be used instead of standard `makesum' to correctly | # Target below can be used instead of standard `makesum' to correctly | ||||
# update distinfo (i.e., keeping other driver version entries intact) | # update distinfo (i.e., keeping other driver version entries intact) | ||||
.if ${.TARGETS:Mupdate-distinfo} | .if ${.TARGETS:Mupdate-distinfo} | ||||
DISTINFO_FILE= ${MASTERDIR}/distinfo.new | DISTINFO_FILE= ${MASTERDIR}/distinfo.new | ||||
.endif | .endif | ||||
update-distinfo: makesum .SILENT | update-distinfo: makesum .SILENT | ||||
${REINPLACE_CMD} -e '/${ARCH_SUFX}-${NVVERSION:R}/s/^/~/' \ | ${REINPLACE_CMD} -e '/${ARCH_SUFX}-${NVVERSION:R}/s/^/~/' \ | ||||
${MASTERDIR}/distinfo | ${MASTERDIR}/distinfo | ||||
${REINPLACE_CMD} -e '/^~SHA256/r ${DISTINFO_FILE}' -e '/^~/d' \ | ${REINPLACE_CMD} -e '/^~SHA256/r ${DISTINFO_FILE}' -e '/^~/d' \ | ||||
${MASTERDIR}/distinfo | ${MASTERDIR}/distinfo | ||||
${RM} ${DISTINFO_FILE} ${MASTERDIR}/distinfo.bak | ${RM} ${DISTINFO_FILE} ${MASTERDIR}/distinfo.bak | ||||
.include <bsd.port.mk> | .include <bsd.port.mk> |
This is now obsolete - nVidia have released 367.44 and 370.23