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>