Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 23 Oct 2019 09:46:15 +0000 (UTC)
From:      Alexey Dokuchaev <danfe@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r515244 - head/x11/nvidia-driver
Message-ID:  <201910230946.x9N9kFuJ081961@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: danfe
Date: Wed Oct 23 09:46:15 2019
New Revision: 515244
URL: https://svnweb.freebsd.org/changeset/ports/515244

Log:
  In sight of upcoming updates, move some common code and knobs to separate
  file, to allow inclusion from different ports.  No functional changes.

Added:
  head/x11/nvidia-driver/Makefile.common
     - copied, changed from r515094, head/x11/nvidia-driver/Makefile
Modified:
  head/x11/nvidia-driver/Makefile

Modified: head/x11/nvidia-driver/Makefile
==============================================================================
--- head/x11/nvidia-driver/Makefile	Wed Oct 23 09:44:36 2019	(r515243)
+++ head/x11/nvidia-driver/Makefile	Wed Oct 23 09:46:15 2019	(r515244)
@@ -22,14 +22,9 @@ EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
 MAINTAINER=	danfe@FreeBSD.org
 COMMENT=	NVidia graphics card binary drivers for hardware OpenGL rendering
 
-LICENSE=	NVIDIA
-LICENSE_NAME=	License For Customer Use of NVIDIA Software
 LICENSE_FILE=	${WRKSRC}/doc/license.txt
-LICENSE_PERMS=	dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept
+.include "${.CURDIR}/../nvidia-driver/Makefile.common"
 
-ONLY_FOR_ARCHS=	i386 amd64
-
-ARCH_SUFX=	x86${ARCH:S/i386//:S/amd/_/}
 USES=		kmod uidfix
 USE_XORG=	x11 xorg-server xext
 USE_GL=		gl
@@ -55,18 +50,6 @@ DOCSDIR=	${PREFIX}/share/doc/NVIDIA_GLX-1.0
 MODULESDIR=	lib/xorg/modules
 PORTDOCS=	*
 
-# NVVERSION is float since r372065 (integer values become less readable
-# after minor version could occupy three digits)
-.if ${DISTVERSION:C/[0-9]+//g} == ".."		# major.minor.update
-NVVERSION=	${DISTVERSION:S/./.0/:R}${DISTVERSION:E}
-.else						# major.minor
-.  if ${DISTVERSION:E} < 100
-NVVERSION=	${DISTVERSION:S/./.0/}		# allow minor > 99
-.  else
-NVVERSION=	${DISTVERSION}
-.  endif
-.endif
-
 .if ${NVVERSION} >= 331.013
 SUB_LIST+=	NVGL=""
 .else
@@ -629,18 +612,5 @@ post-install-LINUX-on:
 		${STAGEDIR}${LINUXBASE}/usr/lib/${t}
 .endfor
 .endif
-
-# Target below can be used instead of standard `makesum' to correctly
-# update distinfo (i.e., keeping other driver version entries intact)
-.if ${.TARGETS:Mupdate-distinfo}
-DISTINFO_FILE=	${MASTERDIR}/distinfo.new
-.endif
-
-update-distinfo: makesum .SILENT
-	${REINPLACE_CMD} -e '/${ARCH_SUFX}-${NVVERSION:R}/s/^/~/' \
-		${MASTERDIR}/distinfo
-	${REINPLACE_CMD} -e '/^~SHA256/r ${DISTINFO_FILE}' -e '/^~/d' \
-		${MASTERDIR}/distinfo
-	${RM} ${DISTINFO_FILE} ${MASTERDIR}/distinfo.bak
 
 .include <bsd.port.post.mk>

Copied and modified: head/x11/nvidia-driver/Makefile.common (from r515094, head/x11/nvidia-driver/Makefile)
==============================================================================
--- head/x11/nvidia-driver/Makefile	Mon Oct 21 09:44:06 2019	(r515094, copy source)
+++ head/x11/nvidia-driver/Makefile.common	Wed Oct 23 09:46:15 2019	(r515244)
@@ -1,60 +1,13 @@
-# Created by: Stijn Hoop <stijn@win.tue.nl>
 # $FreeBSD$
-#
-# 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.
-#
-# Starting with version 1.0-7667, NVidia has dropped support for numerous
-# "legacy" GPUs.  Consult NVidia README (the Appendix) to find out whether
-# you need to use legacy driver version and install one of corresponding
-# slave ports instead (`x11/nvidia-driver-340' or `x11/nvidia-driver-304').
 
-PORTNAME=	nvidia-driver
-DISTVERSION?=	390.87
-# Always try to set PORTREVISION as it can be overridden by the slave ports
-PORTREVISION?=	3
-CATEGORIES=	x11
-MASTER_SITES=	NVIDIA/XFree86/FreeBSD-${ARCH_SUFX}/${DISTVERSION}
-DISTNAME=	NVIDIA-FreeBSD-${ARCH_SUFX}-${DISTVERSION}
-DISTFILES=	${DISTNAME}${EXTRACT_SUFX}
-EXTRACT_ONLY=	${DISTNAME}${EXTRACT_SUFX}
-
-MAINTAINER=	danfe@FreeBSD.org
-COMMENT=	NVidia graphics card binary drivers for hardware OpenGL rendering
-
 LICENSE=	NVIDIA
 LICENSE_NAME=	License For Customer Use of NVIDIA Software
-LICENSE_FILE=	${WRKSRC}/doc/license.txt
 LICENSE_PERMS=	dist-mirror no-dist-sell pkg-mirror no-pkg-sell auto-accept
 
 ONLY_FOR_ARCHS=	i386 amd64
 
 ARCH_SUFX=	x86${ARCH:S/i386//:S/amd/_/}
-USES=		kmod uidfix
-USE_XORG=	x11 xorg-server xext
-USE_GL=		gl
-USE_LDCONFIG=	yes
 
-# 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
-# -Wmissing-include-dirs was added for kernel sources.  Until properly
-# fixed upstream (across all versions, including legacy ones), use this
-# hack below to universally set NVIDIA_ROOT.  Also provide X11BASE value
-# since it is still used by legacy drivers.
-MAKE_ENV=	NVIDIA_ROOT=${WRKSRC} X11BASE=${LOCALBASE}
-PLIST_RE=	# empty
-SUB_FILES=	pkg-deinstall pkg-install pkg-message nvidia.conf
-SUB_PATCHES=	extra-patch-src-Makefile \
-		extra-patch-src-nv-freebsd.h \
-		extra-patch-src-nv-misc.h \
-		extra-patch-src-nvidia_ctl.c \
-		extra-patch-src-nvidia_dev.c \
-		extra-patch-src-nvidia_linux.c \
-		extra-patch-src-nvidia_pci.c
-DOCSDIR=	${PREFIX}/share/doc/NVIDIA_GLX-1.0
-MODULESDIR=	lib/xorg/modules
-PORTDOCS=	*
-
 # NVVERSION is float since r372065 (integer values become less readable
 # after minor version could occupy three digits)
 .if ${DISTVERSION:C/[0-9]+//g} == ".."		# major.minor.update
@@ -67,569 +20,6 @@ NVVERSION=	${DISTVERSION}
 .  endif
 .endif
 
-.if ${NVVERSION} >= 331.013
-SUB_LIST+=	NVGL=""
-.else
-SUB_LIST+=	NVGL="\# "
-.endif
-
-.if ${NVVERSION} < 355.006
-NVSRC=		.
-.else
-NVSRC=		nvidia
-.endif
-
-.if ${NVVERSION} >= 358.009
-# Initialize memory allocations to avoid spurious "lock re-initialization"
-# errors.  A little more detail can be found in bug 201340 starting around
-# comment #50.
-EXTRA_PATCHES+=	${FILESDIR}/extra-patch-src_nvidia-modeset_nvidia-modeset-freebsd.c
-.endif
-
-OPTIONS_DEFINE=	ACPI_PM LINUX WBINVD DOCS
-OPTIONS_DEFINE_i386=	PAE
-OPTIONS_DEFAULT=	LINUX
-OPTIONS_SUB=		yes
-
-ACPI_PM_DESC=		ACPI Power Management support
-LINUX_DESC=		Linux compatibility support
-PAE_DESC=		Physical Address Extensions support
-WBINVD_DESC=		Flush CPU caches directly with WBINVD
-
-.if ${NVVERSION} < 310.014
-OPTIONS_DEFINE+=	FREEBSD_AGP
-FREEBSD_AGP_DESC=	Use FreeBSD AGP GART driver
-.endif
-
-LINUX_MASTER_SITES=NVIDIA/XFree86/Linux-${ARCH_SUFX}/${DISTVERSION}/:linux
-LINUX_DISTFILES=NVIDIA-Linux-${ARCH_SUFX}-${DISTVERSION}.run:linux
-LINUX_USES=	linux
-LINUX_USE=	LINUX=xorglibs
-
-LINUX_LIBDIR=	/usr/lib${ARCH:S/i386//:S/amd//}
-LINUX_WRKSRC=	${WRKDIR}/NVIDIA-Linux-${ARCH_SUFX}-${DISTVERSION}
-
-LINUX_LIBS=	libcuda.so.${PORTVERSION} \
-		libnvcuvid.so.${PORTVERSION} \
-		libnvidia-cfg.so.${PORTVERSION} \
-		libnvidia-compiler.so.${PORTVERSION} \
-		libnvidia-glcore.so.${PORTVERSION} \
-		libnvidia-ml.so.${PORTVERSION} \
-		libnvidia-opencl.so.${PORTVERSION} \
-		libnvidia-tls.so.${PORTVERSION} \
-		libvdpau_nvidia.so.${PORTVERSION} \
-		tls/libnvidia-tls.so.${PORTVERSION}
-LINUX_LINKS=	libcuda.so.${PORTVERSION} libcuda.so.1 \
-		libcuda.so.${PORTVERSION} libcuda.so \
-		libnvcuvid.so.${PORTVERSION} libnvcuvid.so.1 \
-		libnvcuvid.so.${PORTVERSION} libnvcuvid.so \
-		libnvidia-cfg.so.${PORTVERSION} libnvidia-cfg.so.1 \
-		libnvidia-cfg.so.${PORTVERSION} libnvidia-cfg.so \
-		libnvidia-ml.so.${PORTVERSION} libnvidia-ml.so.1 \
-		libnvidia-ml.so.${PORTVERSION} libnvidia-ml.so \
-		libnvidia-opencl.so.${PORTVERSION} libnvidia-opencl.so.1 \
-		libvdpau_nvidia.so.${PORTVERSION} vdpau/libvdpau_nvidia.so.1
-LINUX32_LIBS=	libcuda.so.${PORTVERSION} \
-		libnvidia-compiler.so.${PORTVERSION} \
-		libnvidia-glcore.so.${PORTVERSION} \
-		libnvidia-ml.so.${PORTVERSION} \
-		libnvidia-opencl.so.${PORTVERSION} \
-		libnvidia-tls.so.${PORTVERSION} \
-		libvdpau_nvidia.so.${PORTVERSION} \
-		tls/libnvidia-tls.so.${PORTVERSION}
-LINUX32_LINKS=	libcuda.so.${PORTVERSION} libcuda.so.1 \
-		libcuda.so.${PORTVERSION} libcuda.so \
-		libnvidia-ml.so.${PORTVERSION} libnvidia-ml.so.1 \
-		libnvidia-ml.so.${PORTVERSION} libnvidia-ml.so \
-		libnvidia-opencl.so.${PORTVERSION} libnvidia-opencl.so.1 \
-		libvdpau_nvidia.so.${PORTVERSION} vdpau/libvdpau_nvidia.so.1
-LINUX_PROGS=	nvidia-debugdump nvidia-settings nvidia-smi nvidia-xconfig
-LINUX_MANS=	nvidia-settings nvidia-smi nvidia-xconfig
-LINUX_DATA=	nvidia.icd /etc/OpenCL/vendors
-.if ${NVVERSION} >= 375.010
-LINUX_DATA+=	10_nvidia.json /usr/share/glvnd/egl_vendor.d
-.else
-PLIST_RE+=	'\,${LINUXBASE}/usr/share/glvnd,d'
-.endif
-.if ${NVVERSION} >= 378.009
-LINUX_DATA+=	10_nvidia_wayland.json /usr/share/egl/egl_external_platform.d
-.else
-PLIST_RE+=	'\,${LINUXBASE}/usr/share/egl,d'
-.endif
-.if ${NVVERSION} >= 361.016
-LINUX_LIBS+=	libEGL_nvidia.so.${PORTVERSION}
-LINUX_LINKS+=	libEGL_nvidia.so.${PORTVERSION} libEGL_nvidia.so.0
-LINUX32_LIBS+=	libEGL_nvidia.so.${PORTVERSION}
-LINUX32_LINKS+=	libEGL_nvidia.so.${PORTVERSION} libEGL_nvidia.so.0
-.elif ${NVVERSION} >= 355.006
-LINUX_LIBS+=	libEGL_nvidia.so.0
-PLIST_RE+=	'\,${LINUXBASE}.*libEGL_nvidia\.so\.${PORTVERSION},d'
-.else
-PLIST_RE+=	'\,${LINUXBASE}.*libEGL_nvidia\.so,d'
-.endif
-.if ${NVVERSION} >= 361.016
-LINUX_LIBS+=	libGLESv1_CM_nvidia.so.${PORTVERSION} \
-		libGLESv2_nvidia.so.${PORTVERSION} \
-		libGLX_nvidia.so.${PORTVERSION} \
-		libnvidia-fatbinaryloader.so.${PORTVERSION} \
-		libnvidia-ptxjitcompiler.so.${PORTVERSION}
-LINUX_LINKS+=	libGLESv1_CM_nvidia.so.${PORTVERSION} libGLESv1_CM_nvidia.so.1 \
-		libGLESv2_nvidia.so.${PORTVERSION} libGLESv2_nvidia.so.2 \
-		libGLX_nvidia.so.${PORTVERSION} libGLX_nvidia.so.0 \
-		libGLX_nvidia.so.${PORTVERSION} libGLX_indirect.so.0 \
-		libnvidia-ptxjitcompiler.so.${PORTVERSION} libnvidia-ptxjitcompiler.so.1 \
-		libnvidia-ptxjitcompiler.so.${PORTVERSION} libnvidia-ptxjitcompiler.so
-LINUX32_LIBS+=	libGLESv1_CM_nvidia.so.${PORTVERSION} \
-		libGLESv2_nvidia.so.${PORTVERSION} \
-		libGLX_nvidia.so.${PORTVERSION} \
-		libnvidia-fatbinaryloader.so.${PORTVERSION} \
-		libnvidia-ptxjitcompiler.so.${PORTVERSION}
-LINUX32_LINKS+=	libGLESv1_CM_nvidia.so.${PORTVERSION} libGLESv1_CM_nvidia.so.1 \
-		libGLESv2_nvidia.so.${PORTVERSION} libGLESv2_nvidia.so.2 \
-		libGLX_nvidia.so.${PORTVERSION} libGLX_nvidia.so.0 \
-		libGLX_nvidia.so.${PORTVERSION} libGLX_indirect.so.0 \
-		libnvidia-ptxjitcompiler.so.${PORTVERSION} libnvidia-ptxjitcompiler.so.1 \
-		libnvidia-ptxjitcompiler.so.${PORTVERSION} libnvidia-ptxjitcompiler.so
-.else
-PLIST_RE+=	'\,${LINUXBASE}.*libGLESv(1_CM|2)_nvidia\.so,d' \
-		'\,${LINUXBASE}.*libGLX_(nvidia|indirect)\.so,d' \
-		'\,${LINUXBASE}.*libnvidia-fatbinaryloader\.so,d' \
-		'\,${LINUXBASE}.*libnvidia-ptxjitcompiler\.so,d'
-.endif
-.if ${NVVERSION} >= 387.012
-LINUX_LIBS+=	libnvidia-egl-wayland.so.1.0.2
-LINUX_LINKS+=	libnvidia-egl-wayland.so.1.0.2 libnvidia-egl-wayland.so.1
-PLIST_RE+=	'\,${LINUXBASE},s/(libnvidia-egl-wayland\.so)\.X/\1.1.0.2/'
-.elif ${NVVERSION} >= 378.013
-LINUX_LIBS+=	libnvidia-egl-wayland.so.1.0.1
-LINUX_LINKS+=	libnvidia-egl-wayland.so.1.0.1 libnvidia-egl-wayland.so.1
-PLIST_RE+=	'\,${LINUXBASE},s/(libnvidia-egl-wayland\.so)\.X/\1.1.0.1/'
-.elif ${NVVERSION} >= 378.009
-LINUX_LIBS+=	libnvidia-egl-wayland.so.1.0.0
-LINUX_LINKS+=	libnvidia-egl-wayland.so.1.0.0 libnvidia-egl-wayland.so.1
-PLIST_RE+=	'\,${LINUXBASE},s/(libnvidia-egl-wayland\.so)\.X/\1.1.0.0/'
-.elif ${NVVERSION} >= 364.012
-LINUX_LIBS+=	libnvidia-egl-wayland.so.${PORTVERSION}
-LINUX_LINKS+=	libnvidia-egl-wayland.so.${PORTVERSION} libnvidia-egl-wayland.so.1
-PLIST_RE+=	'\,${LINUXBASE},s/(libnvidia-egl-wayland\.so)\.X/\1.${PORTVERSION}/'
-.else
-PLIST_RE+=	'\,${LINUXBASE}.*libnvidia-egl-wayland\.so,d'
-.endif
-.if ${NVVERSION} >= 331.013
-LINUX_LIBS+=	libnvidia-eglcore.so.${PORTVERSION} \
-		libnvidia-fbc.so.${PORTVERSION} \
-		libnvidia-glsi.so.${PORTVERSION} \
-		libnvidia-ifr.so.${PORTVERSION}
-LINUX_LINKS+=	libnvidia-fbc.so.${PORTVERSION} libnvidia-fbc.so.1 \
-		libnvidia-fbc.so.${PORTVERSION} libnvidia-fbc.so \
-		libnvidia-ifr.so.${PORTVERSION} libnvidia-ifr.so.1 \
-		libnvidia-ifr.so.${PORTVERSION} libnvidia-ifr.so
-LINUX32_LIBS+=	libnvidia-eglcore.so.${PORTVERSION} \
-		libnvidia-fbc.so.${PORTVERSION} \
-		libnvidia-glsi.so.${PORTVERSION} \
-		libnvidia-ifr.so.${PORTVERSION}
-LINUX32_LINKS+=	libnvidia-fbc.so.${PORTVERSION} libnvidia-fbc.so.1 \
-		libnvidia-fbc.so.${PORTVERSION} libnvidia-fbc.so \
-		libnvidia-ifr.so.${PORTVERSION} libnvidia-ifr.so.1 \
-		libnvidia-ifr.so.${PORTVERSION} libnvidia-ifr.so
-.else
-PLIST_RE+=	'\,${LINUXBASE}.*libnvidia-(eglcore|fbc|glsi|ifr),d'
-.endif
-.if ${NVVERSION} >= 310.014
-LINUX_LIBS+=	libnvidia-encode.so.${PORTVERSION}
-LINUX_LINKS+=	libnvidia-encode.so.${PORTVERSION} libnvidia-encode.so.1 \
-		libnvidia-encode.so.${PORTVERSION} libnvidia-encode.so
-LINUX32_LIBS+=	libnvidia-encode.so.${PORTVERSION}
-LINUX32_LINKS+=	libnvidia-encode.so.${PORTVERSION} libnvidia-encode.so.1 \
-		libnvidia-encode.so.${PORTVERSION} libnvidia-encode.so
-PLIST_RE+=	'\,${LINUXBASE}.*libXvMCNVIDIA,d'
-.else
-LINUX_LIBS+=	libXvMCNVIDIA.so.${PORTVERSION}
-LINUX_LINKS+=	libXvMCNVIDIA.so.${PORTVERSION} libXvMCNVIDIA_dynamic.so.1 \
-		libXvMCNVIDIA.so.${PORTVERSION} libXvMCNVIDIA_dynamic.so
-PLIST_RE+=	'\,${LINUXBASE}.*libnvidia-encode,d'
-.endif
-.if ${NVVERSION} >= 346.016
-LINUX_LIBS+=	libnvidia-gtk2.so.${PORTVERSION} \
-		libnvidia-gtk3.so.${PORTVERSION}
-.else
-PLIST_RE+=	'\,${LINUXBASE}.*libnvidia-gtk(2|3)\.so,d'
-.endif
-.if ${NVVERSION} >= 331.049 && ${NVVERSION} < 352.009
-LINUX_DATA+=	monitoring.conf /usr/share/nvidia \
-		${WRKSRC}/pci.ids /usr/share/nvidia
-.else
-PLIST_RE+=	'\,${LINUXBASE}.*monitoring\.conf,d' \
-		'\,${LINUXBASE}.*pci\.ids,d'
-.endif
-.if ${NVVERSION} >= 334.016
-LINUX_DATA+=	nvidia-application-profiles-${PORTVERSION}-key-documentation /usr/share/nvidia
-.else
-PLIST_RE+=	'\,${LINUXBASE}.*application-profiles-${PORTVERSION}-key-documentation,d'
-.endif
-.if ${NVVERSION} >= 319.012
-LINUX_DATA+=	nvidia-application-profiles-${PORTVERSION}-rc /usr/share/nvidia
-.else
-PLIST_RE+=	'\,${LINUXBASE}.*share/nvidia,d'
-.endif
-.if ${NVVERSION} >= 319.017
-LINUX_PROGS+=	nvidia-cuda-mps-control nvidia-cuda-mps-server \
-		nvidia-persistenced
-LINUX_MANS+=	nvidia-cuda-mps-control nvidia-persistenced
-.else
-LINUX_PROGS+=	nvidia-cuda-proxy-control nvidia-cuda-proxy-server
-LINUX_MANS+=	nvidia-cuda-proxy-control
-PLIST_RE+=	'\,${LINUXBASE},s/cuda-mps/cuda-proxy/' \
-		'\,${LINUXBASE}.*nvidia-persistenced,d'
-.endif
-.if ${NVVERSION} >= 364.012
-LINUX_DATA+=	nvidia_icd.json /etc/vulkan/icd.d
-.else
-PLIST_RE+=	'\,${LINUXBASE}/etc/vulkan,d'
-.endif
-
-PLIST_SUB+=	LINUXBASE=${LINUXBASE} \
-		LINUX_LIBDIR=${LINUX_LIBDIR} \
-		SHLIB_VERSION=${PORTVERSION} \
-		MODULESDIR=${MODULESDIR}
-
-.include <bsd.port.options.mk>
-
-.if ${PORT_OPTIONS:MLINUX}
-.if ${NVVERSION} >= 390.042 && ${LINUX_DEFAULT} != c6
-USE_LINUX+=	libglvnd
-PLIST_RE+=	'\,${LINUXBASE}.*libEGL\.so,d' \
-		'\,${LINUXBASE}.*libGL\.so,d' \
-		'\,${LINUXBASE}.*libGLESv(1_CM|2)\.so,d' \
-		'\,${LINUXBASE}.*libGLX\.so,d' \
-		'\,${LINUXBASE}.*libGLdispatch\.so,d' \
-		'\,${LINUXBASE}.*libOpenGL\.so,d'
-.else
-.if ${NVVERSION} >= 390.042
-LINUX_LIBS+=	libEGL.so.1.1.0
-LINUX_LINKS+=	libEGL.so.1.1.0 libEGL.so.1
-LINUX32_LIBS+=	libEGL.so.1.1.0
-LINUX32_LINKS+=	libEGL.so.1.1.0 libEGL.so.1
-PLIST_RE+=	'\,${LINUXBASE},s/(libEGL\.so)\.X/\1.1.1.0/'
-.elif ${NVVERSION} >= 355.006
-LINUX_LIBS+=	libEGL.so.1
-LINUX32_LIBS+=	libEGL.so.1
-PLIST_RE+=	'\,${LINUXBASE}.*libEGL\.so\.X,d'
-.elif ${NVVERSION} >= 331.013
-LINUX_LIBS+=	libEGL.so.${PORTVERSION}
-LINUX_LINKS+=	libEGL.so.${PORTVERSION} libEGL.so.1
-LINUX32_LIBS+=	libEGL.so.${PORTVERSION}
-LINUX32_LINKS+=	libEGL.so.${PORTVERSION} libEGL.so.1
-PLIST_RE+=	'\,${LINUXBASE},s/(libEGL\.so)\.X/\1.${PORTVERSION}/'
-.else
-PLIST_RE+=	'\,${LINUXBASE}.*libEGL\.so,d'
-.endif
-.if ${NVVERSION} >= 390.042
-LINUX_LIBS+=	libGL.so.1.7.0
-LINUX_LINKS+=	libGL.so.1.7.0 libGL.so.1
-LINUX32_LIBS+=	libGL.so.1.7.0
-LINUX32_LINKS+=	libGL.so.1.7.0 libGL.so.1
-PLIST_RE+=	'\,${LINUXBASE},s/(libGL\.so)\.X/\1.1.7.0/'
-.elif ${NVVERSION} >= 361.028
-LINUX_LIBS+=	libGL.so.1.0.0
-LINUX_LINKS+=	libGL.so.1.0.0 libGL.so.1
-LINUX32_LIBS+=	libGL.so.1.0.0
-LINUX32_LINKS+=	libGL.so.1.0.0 libGL.so.1
-PLIST_RE+=	'\,${LINUXBASE},s/(libGL\.so)\.X/\1.1.0.0/'
-.elif ${NVVERSION} >= 361.016
-LINUX_LIBS+=	libGL.so.1
-LINUX32_LIBS+=	libGL.so.1
-PLIST_RE+=	'\,${LINUXBASE}.*libGL\.so\.X,d'
-.else
-LINUX_LIBS+=	libGL.so.${PORTVERSION}
-LINUX_LINKS+=	libGL.so.${PORTVERSION} libGL.so.1
-LINUX32_LIBS+=	libGL.so.${PORTVERSION}
-LINUX32_LINKS+=	libGL.so.${PORTVERSION} libGL.so.1
-PLIST_RE+=	'\,${LINUXBASE},s/(libGL\.so)\.X/\1.${PORTVERSION}/'
-.endif
-.if ${NVVERSION} >= 390.042
-LINUX_LIBS+=	libGLESv1_CM.so.1.2.0 \
-		libGLESv2.so.2.1.0
-LINUX_LINKS+=	libGLESv1_CM.so.1.2.0 libGLESv1_CM.so.1 \
-		libGLESv2.so.2.1.0 libGLESv2.so.2
-LINUX32_LIBS+=	libGLESv1_CM.so.1.2.0 \
-		libGLESv2.so.2.1.0
-LINUX32_LINKS+=	libGLESv1_CM.so.1.2.0 libGLESv1_CM.so.1 \
-		libGLESv2.so.2.1.0 libGLESv2.so.2
-PLIST_RE+=	'\,${LINUXBASE},s/(libGLESv1_CM\.so)\.X/\1.1.2.0/' \
-		'\,${LINUXBASE},s/(libGLESv2\.so)\.X/\1.2.1.0/'
-.elif ${NVVERSION} >= 361.016
-LINUX_LIBS+=	libGLESv1_CM.so.1 \
-		libGLESv2.so.2
-LINUX32_LIBS+=	libGLESv1_CM.so.1 \
-		libGLESv2.so.2
-PLIST_RE+=	'\,${LINUXBASE}.*GLESv(1_CM|2)\.so\.X,d'
-.elif ${NVVERSION} >= 331.013
-LINUX_LIBS+=	libGLESv1_CM.so.${PORTVERSION} \
-		libGLESv2.so.${PORTVERSION}
-LINUX_LINKS+=	libGLESv1_CM.so.${PORTVERSION} libGLESv1_CM.so.1 \
-		libGLESv2.so.${PORTVERSION} libGLESv2.so.2
-LINUX32_LIBS+=	libGLESv1_CM.so.${PORTVERSION} \
-		libGLESv2.so.${PORTVERSION}
-LINUX32_LINKS+=	libGLESv1_CM.so.${PORTVERSION} libGLESv1_CM.so.1 \
-		libGLESv2.so.${PORTVERSION} libGLESv2.so.2
-PLIST_RE+=	'\,${LINUXBASE},s/(libGLESv(1_CM|2)\.so)\.X/\1.${PORTVERSION}/'
-.else
-PLIST_RE+=	'\,${LINUXBASE}.*libGLESv(1_CM|2)\.so,d'
-.endif
-.if ${NVVERSION} >= 361.016
-LINUX_LIBS+=	libGLX.so.0
-LINUX32_LIBS+=	libGLX.so.0
-.else
-PLIST_RE+=	'\,${LINUXBASE}.*libGLX\.so,d'
-.endif
-.if ${NVVERSION} >= 355.006
-LINUX_LIBS+=	libGLdispatch.so.0 \
-		libOpenGL.so.0
-LINUX32_LIBS+=	libGLdispatch.so.0 \
-		libOpenGL.so.0
-.else
-PLIST_RE+=	'\,${LINUXBASE}.*libGLdispatch\.so,d' \
-		'\,${LINUXBASE}.*libOpenGL\.so,d'
-.endif
-.endif	# ${NVVERSION} >= 390.042 && ${LINUX_DEFAULT} != c6
-
-.if ${ARCH} == amd64
-.if ${NVVERSION} >= 310.014
-LINUX32_LIBS+=	libnvcuvid.so.${PORTVERSION}
-LINUX32_LINKS+=	libnvcuvid.so.${PORTVERSION} libnvcuvid.so.1 \
-		libnvcuvid.so.${PORTVERSION} libnvcuvid.so
-.else
-PLIST_RE+=	'\,${LINUXBASE}/usr/lib/libnvcuvid\.so,d'
-.endif
-.endif
-.endif	# ${PORT_OPTIONS:MLINUX}
-
-.if ${PORT_OPTIONS:MLINUX} && ${ARCH} == amd64
-PLIST_SUB+=	LINUX32=""
-.else
-PLIST_SUB+=	LINUX32="@comment "
-.endif
-
-# XXX Only needed to obtain PORTVERSION.
-.include <bsd.port.pre.mk>
-
-post-extract-LINUX-on:
-	@(cd ${WRKDIR} && ${SH} \
-		${DISTDIR}/NVIDIA-Linux-${ARCH_SUFX}-${DISTVERSION}.run \
-		--extract-only > /dev/null)
-
-pre-patch:
-.for p in ${SUB_PATCHES}
-	@${SED} 's/%%NVSRC%%/${NVSRC}/g' ${PATCHDIR}/${p}.in > ${WRKDIR}/${p}
-.endfor
-.for p in ${SUB_PATCHES}
-EXTRA_PATCHES+=	${WRKDIR}/${p}
-.endfor
-
-post-patch: .SILENT
-# We should support -CURRENT: kill the check
-	${REINPLACE_CMD} -e '24,26d' ${WRKSRC}/src/${NVSRC}/nv-freebsd.h
-# Adjust Linux headers #include's after FreeBSD src r246085
-	${REINPLACE_CMD} -E '/#include "machine\/\.\.\/linux(32)?\/linux.h"/ \
-		{ x ; s/.*/#include "machine\/..\/..\/compat\/linux\/linux_ioctl.h"/ ; H ; x ; }' \
-			${WRKSRC}/src/${NVSRC}/nvidia_linux.c
-# Fix bogus memset() call
-	${REINPLACE_CMD} -e '/memset/s/sizeof(ci/sizeof(*ci/' \
-		${WRKSRC}/src/${NVSRC}/nvidia_subr.c
-# Chase `sys/capability.h' rename to `sys/capsicum.h' in FreeBSD src r263232
-	${REINPLACE_CMD} -e 's:sys/capability\.h:sys/capsicum.h:' \
-		${WRKSRC}/src/${NVSRC}/nv-freebsd.h
-.if ${NVVERSION} >= 358.009
-	${REINPLACE_CMD} -e 's:sys/capability\.h:sys/capsicum.h:' \
-		${WRKSRC}/src/nvidia-modeset/nvidia-modeset-freebsd.c
-.endif
-# KPI of kmem_alloc_contig(),kmem_free() changed in FreeBSD src r338143,r338318
-.if ${OSVERSION} >= 1200079
-	${REINPLACE_CMD} \
-	    -e 's/kmem_alloc_contig(kmem_arena, /kmem_alloc_contig(/' \
-	    -e 's/kmem_free(kmem_arena, /kmem_free(/' \
-		${WRKSRC}/src/${NVSRC}/nvidia_subr.c
-.endif
-# Pull the right header after FreeBSD src r347984
-.if ${OSVERSION} >= 1300029 && ${NVVERSION} >= 358.009
-	${REINPLACE_CMD} -e '/^#include/s:lock\.h:mutex.h:' \
-		${WRKSRC}/src/nvidia-modeset/nvidia-modeset-freebsd.c
-.endif
-# Disable installation of Linux libraries
-	${REINPLACE_CMD} -e 's/exists(\/.*/& \&\& 0/' \
-		${WRKSRC}/lib/Makefile
-# Do not install VDPAU libraries which are provided by `multimedia/libvdpau'
-# port for a while now
-	${REINPLACE_CMD} -e '/libvdpau[[:blank:]_][^n]/d ; \
-		s/name libvdpau/&_nvidia/' ${WRKSRC}/lib/Makefile
-# Do not build any binaries (native nvidia-settings and nvidia-xconfig are
-# provided by corresponding ports) and manual pages
-	${REINPLACE_CMD} -E 's/(extension).*/\1/' ${WRKSRC}/x11/Makefile
-	${REINPLACE_CMD} -e '/bin/d ; /man/d' ${WRKSRC}/x11/Makefile
-# Also do not install libnvidia-gtk* libraries which are for nvidia-settings
-.if ${NVVERSION} >= 346.016
-	${REINPLACE_CMD} -e '/libnvidia-gtk/d' ${WRKSRC}/lib/Makefile
-.endif
-# Adjust installation path of a conflicting file (shared between
-# nvidia-driver and xorg-server) to ease package manager work
-	${REINPLACE_CMD} -e '/LIBDIR/s:xorg/modules/extensions:&/.nvidia:' \
-		${WRKSRC}/x11/extension/Makefile
-# Do not execute afterinstall target (prevent automatic module registration
-# and "smart" installation of conflicting files heuristics)
-	${REINPLACE_CMD} -e 's/afterinstall/&_dontexecute/' ${WRKSRC}/Makefile
-	${REINPLACE_CMD} -e 's/beforeinstall/&_dontexecute/' \
-		${WRKSRC}/lib/Makefile ${WRKSRC}/src/${NVSRC}/Makefile
-# /usr/share/nvidia path is hardcoded in libGL and nvidia-settings, but we
-# won't adhere to this stupidity and install nvidia-application-profiles-*
-# files as part of documentation
-.if ${NVVERSION} >= 334.016
-	${REINPLACE_CMD} -e 's,/usr/share/nvidia,${STAGEDIR}${DOCSDIR},' \
-		${WRKSRC}/lib/libGL/Makefile ${WRKSRC}/doc/Makefile
-.endif
-# Finally, process OPTIONS
-.if ${PORT_OPTIONS:MFREEBSD_AGP}
-	${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_OS_AGP)/define \1/' \
-		${WRKSRC}/src/${NVSRC}/nv-freebsd.h
-.endif
-.if ${PORT_OPTIONS:MACPI_PM}
-	${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_ACPI_PM)/define \1/' \
-		${WRKSRC}/src/${NVSRC}/nv-freebsd.h
-.endif
-.if ! ${PORT_OPTIONS:MLINUX}
-	${REINPLACE_CMD} -E 's/define (NV_SUPPORT_LINUX_COMPAT)/undef \1/' \
-		${WRKSRC}/src/${NVSRC}/nv-freebsd.h
-.  if ${NVVERSION} >= 358.009
-	${REINPLACE_CMD} -E 's/define (NVKMS_SUPPORT_LINUX_COMPAT)/undef \1/' \
-		${WRKSRC}/src/nvidia-modeset/nvidia-modeset-freebsd.c
-.  endif
-.endif
-.if ${PORT_OPTIONS:MPAE}
-	${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_PAE)/define \1/' \
-		${WRKSRC}/src/${NVSRC}/nv-freebsd.h
-.endif
-.if ${PORT_OPTIONS:MWBINVD}
-	${REINPLACE_CMD} -E 's/undef (NV_USE_WBINVD)/define \1/' \
-		${WRKSRC}/src/${NVSRC}/nv-freebsd.h
-.endif
-# Conditionally install documentation (but you generally want it)
-.if ! ${PORT_OPTIONS:MDOCS}
-	${REINPLACE_CMD} -E 's/(x11).*/\1/ ; /doc/d' ${WRKSRC}/Makefile
-.endif
-
-post-patch-LINUX-on:
-.if ${NVVERSION} >= 384.047
-	@${SED} 's/__NV_VK_ICD__/libGLX_nvidia.so.0/' \
-		${LINUX_WRKSRC}/nvidia_icd.json.template > \
-		${LINUX_WRKSRC}/nvidia_icd.json
-.endif
-
-pre-install:
-	@${MKDIR} ${STAGEDIR}${PREFIX}/${MODULESDIR}/drivers \
-		${STAGEDIR}${PREFIX}/${MODULESDIR}/extensions
-
-post-install: .SILENT
-	${INSTALL_SCRIPT} ${WRKSRC}/obj/nvidia-bug-report.sh \
-		${STAGEDIR}${PREFIX}/bin
-# pkg-plist is already overbloated, so use these hacks instead of PLIST_SUB's
-.if ${NVVERSION} >= 304.128 && ${NVVERSION} < 310.019 || ${NVVERSION} >= 361.016
-	${REINPLACE_CMD} -E '\,${LINUXBASE},!{/libvdpau(_trace)?\.so/d;}' \
-		${TMPPLIST}
-.endif
-.if ${NVVERSION} >= 310.019
-	${REINPLACE_CMD} -e '\,${LINUXBASE},!{/libXvMCNVIDIA/d;}' ${TMPPLIST}
-.else	# some applications need this symlink (see PR ports/72877)
-	${LN} -sf libXvMCNVIDIA.so.1 \
-		${STAGEDIR}${PREFIX}/lib/libXvMCNVIDIA_dynamic.so.1
-.endif
-.if ${NVVERSION} < 331.013 || ${ARCH} == amd64 && ${NVVERSION} < 334.016
-	${REINPLACE_CMD} -E '\,${LINUXBASE},!{/lib(nvidia-)?(EGL|eglcore|GLESv|glsi)/d;}' \
-		${TMPPLIST}
-.endif
-.if ${NVVERSION} < 352.009
-	${REINPLACE_CMD} -E '\,${LINUXBASE},!{/(lib)?nvidia-(debugdump|smi|ml)/d;}' \
-		${TMPPLIST}
-.endif
-.if ${NVVERSION} < 355.006
-	${REINPLACE_CMD} -E '\,${LINUXBASE},!{/(libEGL_nvidia|GLdispatch|OpenGL)/d;}' \
-		${TMPPLIST}
-.else
-	${REINPLACE_CMD} '\,${LINUXBASE},!s/libEGL\.so\.${PORTVERSION}/libEGL.so/' \
-		${TMPPLIST}
-.endif
-.if ${NVVERSION} < 358.009
-	${REINPLACE_CMD} '/nvidia-modeset.ko/d' ${TMPPLIST}
-.endif
-.if ${NVVERSION} >= 361.028
-	${REINPLACE_CMD} -E '\,${LINUXBASE},!{/(EGL_nvidia\.so|GLESv[12](_CM)?(\.so\.[0-9]+\.[0-9]+))$$/d;}' \
-		${TMPPLIST}
-.else
-	${REINPLACE_CMD} -E '\,${LINUXBASE},!{/\/lib\/libGLESv[12](_CM)?(\.so)?(_nvidia.so(\.[0-9]|\.[0-9]+\.[0-9]+)?)?$$/d ; \
-		/libEGL_nvidia\.so\.${PORTVERSION}/d;}' ${TMPPLIST}
-.endif
-	${REINPLACE_CMD} -E ${PLIST_RE:S/^/-e /} ${TMPPLIST}
-# Rename some libraries and install a libmap file to resolve conflict with
-# Mesa libraries.
-	${LN} -sf libGL-NVIDIA.so.1 \
-		${STAGEDIR}${PREFIX}/lib/libGL-NVIDIA.so
-	${MV} -f ${STAGEDIR}${PREFIX}/lib/libGL.so.1 \
-		${STAGEDIR}${PREFIX}/lib/libGL-NVIDIA.so.1
-	${RM} -f ${STAGEDIR}${PREFIX}/lib/libGL.so
-.if ${NVVERSION} >= 331.013
-	${LN} -sf libEGL-NVIDIA.so.1 \
-		${STAGEDIR}${PREFIX}/lib/libEGL-NVIDIA.so
-	${MV} -f ${STAGEDIR}${PREFIX}/lib/libEGL.so.1 \
-		${STAGEDIR}${PREFIX}/lib/libEGL-NVIDIA.so.1
-	${RM} -f ${STAGEDIR}${PREFIX}/lib/libEGL.so
-	${LN} -sf libGLESv2-NVIDIA.so.2 \
-		${STAGEDIR}${PREFIX}/lib/libGLESv2-NVIDIA.so
-	${MV} -f ${STAGEDIR}${PREFIX}/lib/libGLESv2.so.2 \
-		${STAGEDIR}${PREFIX}/lib/libGLESv2-NVIDIA.so.2
-	${RM} -f ${STAGEDIR}${PREFIX}/lib/libGLESv2.so
-.endif
-	@${MKDIR} ${STAGEDIR}${PREFIX}/etc/libmap.d/
-	${INSTALL_DATA} ${WRKDIR}/nvidia.conf \
-		${STAGEDIR}${PREFIX}/etc/libmap.d/
-
-post-install-LINUX-on:
-.for f d in ${LINUX_DATA}
-	${MKDIR} ${STAGEDIR}${LINUXBASE}${d}
-	${INSTALL_DATA} ${LINUX_WRKSRC}/${f} ${STAGEDIR}${LINUXBASE}${d}
-.endfor
-	${MKDIR} ${STAGEDIR}${LINUXBASE}/usr/bin
-	${INSTALL_SCRIPT} ${LINUX_WRKSRC}/nvidia-bug-report.sh \
-		${STAGEDIR}${LINUXBASE}/usr/bin
-.for p in ${LINUX_PROGS}
-	${INSTALL_PROGRAM} ${LINUX_WRKSRC}/${p} ${STAGEDIR}${LINUXBASE}/usr/bin
-.endfor
-	${MKDIR} ${STAGEDIR}${LINUXBASE}/usr/share/man/man1
-.for m in ${LINUX_MANS}
-	${INSTALL_MAN} ${LINUX_WRKSRC}/${m}.1.gz \
-		${STAGEDIR}${LINUXBASE}/usr/share/man/man1
-.endfor
-	${MKDIR} ${STAGEDIR}${LINUXBASE}${LINUX_LIBDIR}/tls
-	${MKDIR} ${STAGEDIR}${LINUXBASE}${LINUX_LIBDIR}/vdpau
-.for l in ${LINUX_LIBS}
-	${INSTALL_LIB} ${LINUX_WRKSRC}/${l} \
-		${STAGEDIR}${LINUXBASE}${LINUX_LIBDIR}/${l}
-.endfor
-.for s t in ${LINUX_LINKS}
-	${RLN} ${STAGEDIR}${LINUXBASE}${LINUX_LIBDIR}/${s} \
-		${STAGEDIR}${LINUXBASE}${LINUX_LIBDIR}/${t}
-.endfor
-.if ${ARCH} == amd64
-	${MKDIR} ${STAGEDIR}${LINUXBASE}/usr/lib/tls
-	${MKDIR} ${STAGEDIR}${LINUXBASE}/usr/lib/vdpau
-.for l in ${LINUX32_LIBS}
-	${INSTALL_LIB} ${LINUX_WRKSRC}/32/${l} \
-		${STAGEDIR}${LINUXBASE}/usr/lib/${l}
-.endfor
-.for s t in ${LINUX32_LINKS}
-	${RLN} ${STAGEDIR}${LINUXBASE}/usr/lib/${s} \
-		${STAGEDIR}${LINUXBASE}/usr/lib/${t}
-.endfor
-.endif
-
 # Target below can be used instead of standard `makesum' to correctly
 # update distinfo (i.e., keeping other driver version entries intact)
 .if ${.TARGETS:Mupdate-distinfo}
@@ -642,5 +32,3 @@ update-distinfo: makesum .SILENT
 	${REINPLACE_CMD} -e '/^~SHA256/r ${DISTINFO_FILE}' -e '/^~/d' \
 		${MASTERDIR}/distinfo
 	${RM} ${DISTINFO_FILE} ${MASTERDIR}/distinfo.bak
-
-.include <bsd.port.post.mk>



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201910230946.x9N9kFuJ081961>