aboutsummaryrefslogtreecommitdiff
path: root/x11/nvidia-driver/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'x11/nvidia-driver/Makefile')
-rw-r--r--x11/nvidia-driver/Makefile38
1 files changed, 28 insertions, 10 deletions
diff --git a/x11/nvidia-driver/Makefile b/x11/nvidia-driver/Makefile
index 1e3402a5202d..8f0df4105048 100644
--- a/x11/nvidia-driver/Makefile
+++ b/x11/nvidia-driver/Makefile
@@ -6,18 +6,23 @@
#
PORTNAME= nvidia-driver
-DISTVERSION?= 185.18.36
+DISTVERSION?= 195.22
PORTREVISION?= 0 # As a reminder it can be overridden
CATEGORIES= x11 kld
MASTER_SITES= ${MASTER_SITE_NVIDIA}
+ARCH_SUFX= ${ARCH:S/i386//:S/amd/_/}
+.if ${DISTVERSION} == 195.22
+MASTER_SITE_SUBDIR= XFree86/FreeBSD-x86${ARCH_SUFX}/${DISTVERSION}
+ONLY_FOR_ARCHS= i386 amd64
+.else
MASTER_SITE_SUBDIR= freebsd/${DISTVERSION}
-DISTNAME= NVIDIA-FreeBSD-x86-${DISTVERSION}
+ONLY_FOR_ARCHS= i386
+.endif
+DISTNAME= NVIDIA-FreeBSD-x86${ARCH_SUFX}-${DISTVERSION}
MAINTAINER= danfe@FreeBSD.org
COMMENT= NVidia graphics card binary drivers for hardware OpenGL rendering
-ONLY_FOR_ARCHS= i386
-
NO_PACKAGE= should be recompiled for a particular FreeBSD kernel
USE_GL= gl
USE_LDCONFIG= yes
@@ -27,8 +32,11 @@ MODULESDIR= lib/xorg/modules
PORTDOCS= *
OPTIONS= FREEBSD_AGP "Use FreeBSD AGP GART driver" off \
- ACPI "Enable support for ACPI Power Management" off \
+ ACPI_PM "Enable support for ACPI Power Management" off \
LINUX "Build with support for Linux compatibility" on
+.if ${DISTVERSION} == 195.22 # XXX should check against NVVERSION XXX
+OPTIONS+= WBINVD "Enable heavy-weight cache-flush logic" off
+.endif
# Starting with version 1.0-7667, NVidia has dropped support for numerous
# "legacy" GPUs. Consult NVidia README (the Appendix) to find out whether
@@ -37,7 +45,7 @@ OPTIONS= FREEBSD_AGP "Use FreeBSD AGP GART driver" off \
# slave ports.
#
# XXX Until NVidia starts to name their releases consistently, employ this
-# ugly hack to derive NVVERSION. XXX
+# ugly hack below to derive NVVERSION. XXX
#
.if ${DISTVERSION:C/[0-9]+//g} == ".." # major.minor.update
NVVERSION= ${DISTVERSION:S/.//g}
@@ -71,7 +79,13 @@ PLIST_SUB+= LINUX="@comment "
MAKE_ENV+= WITHOUT_LINUX=yes
.endif
+.if ${OSVERSION} < 702106
+IGNORE= requires fairly recent FreeBSD-STABLE, or FreeBSD-CURRENT
+.endif
+
+.if ${NVVERSION} < 1952200
LIB_DEPENDS+= m.3:${PORTSDIR}/misc/compat5x
+.endif
post-patch: .SILENT
# We should support -CURRENT: kill the check
@@ -80,7 +94,7 @@ post-patch: .SILENT
${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_OS_AGP)/define \1/' \
${WRKSRC}/src/nv-freebsd.h
.endif
-.if defined(WITH_ACPI)
+.if defined(WITH_ACPI_PM)
${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_ACPI_PM)/define \1/' \
${WRKSRC}/src/nv-freebsd.h
.endif
@@ -88,8 +102,12 @@ post-patch: .SILENT
${REINPLACE_CMD} -E 's/define (NV_SUPPORT_LINUX_COMPAT)/undef \1/' \
${WRKSRC}/src/nv-freebsd.h
.endif
+.if defined(WITH_WBINVD)
+ ${REINPLACE_CMD} -E 's/undef (NV_USE_WBINVD)/define \1/' \
+ ${WRKSRC}/src/nv-freebsd.h
+.endif
# Don't build any binaries (nvidia-settings and nvidia-xconfig) and manuals
-.if ${NVVERSION} < 974600
+.if ${NVVERSION} < 974600 || ${NVVERSION} == 1952200
${REINPLACE_CMD} -E 's/(extension).*/\1/' ${WRKSRC}/x11/Makefile
.else
${REINPLACE_CMD} -E 's/(lib).*/\1/' ${WRKSRC}/x11/Makefile
@@ -111,11 +129,11 @@ post-install:
.if ${NVVERSION} < 817400
@${REINPLACE_CMD} '/libnvidia-cfg/d' ${TMPPLIST}
.endif
-.if ${NVVERSION} < 974600
+.if ${NVVERSION} < 974600 || ${NVVERSION} == 1952200
@${REINPLACE_CMD} '/wfb/d' ${TMPPLIST}
.endif
.if ${NVVERSION} < 1802900
- @${REINPLACE_CMD} '/libvdpau/d' ${TMPPLIST}
+ @${REINPLACE_CMD} '/vdpau/d' ${TMPPLIST}
.endif
.if ${NVVERSION} < 1851829
@${REINPLACE_CMD} '/libcuda/d' ${TMPPLIST}