From owner-svn-ports-all@FreeBSD.ORG Tue May 20 13:23:17 2014 Return-Path: Delivered-To: svn-ports-all@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 074B7D7B; Tue, 20 May 2014 13:23:17 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id E7C922509; Tue, 20 May 2014 13:23:16 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.8/8.14.8) with ESMTP id s4KDNGwl040015; Tue, 20 May 2014 13:23:16 GMT (envelope-from marius@svn.freebsd.org) Received: (from marius@localhost) by svn.freebsd.org (8.14.8/8.14.8/Submit) id s4KDNFi7040009; Tue, 20 May 2014 13:23:15 GMT (envelope-from marius@svn.freebsd.org) Message-Id: <201405201323.s4KDNFi7040009@svn.freebsd.org> From: Marius Strobl Date: Tue, 20 May 2014 13:23:15 +0000 (UTC) To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r354638 - in head/x11/nvidia-driver: . files X-SVN-Group: ports-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-ports-all@freebsd.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: SVN commit messages for the ports tree List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 20 May 2014 13:23:17 -0000 Author: marius Date: Tue May 20 13:23:15 2014 New Revision: 354638 URL: http://svnweb.freebsd.org/changeset/ports/354638 QAT: https://qat.redports.org/buildarchive/r354638/ Log: - Update nvidia-driver to 331.67. - For i386, allow to build the non-legacy NVIDIA drivers with PAE support via an option, defaulting to disabled. This is tricky in two ways. First off, while their binary part is PAE-capable since around version 285, their build glue and wrapper only partially is. Second, for modules built along the kernel, enabled PAE support would be picked up via the generated opt_global.h from KERNBUILDDIR, which isn't available when compiling modules stand-alone. Nevertheless, these source modifications are modeled in a way so they also do the right thing when integrating a nvidia-driver module into a kernel build. Approved by: maintainer timeout (2 weeks) Sponsored by: Bally Wulff Games & Entertainment GmbH Added: head/x11/nvidia-driver/files/extra-patch-src-Makefile (contents, props changed) head/x11/nvidia-driver/files/extra-patch-src-nv-freebsd.h (contents, props changed) head/x11/nvidia-driver/files/extra-patch-src-nv-misc.h (contents, props changed) Modified: head/x11/nvidia-driver/Makefile head/x11/nvidia-driver/distinfo Modified: head/x11/nvidia-driver/Makefile ============================================================================== --- head/x11/nvidia-driver/Makefile Tue May 20 13:21:38 2014 (r354637) +++ head/x11/nvidia-driver/Makefile Tue May 20 13:23:15 2014 (r354638) @@ -2,7 +2,7 @@ # $FreeBSD$ PORTNAME= nvidia-driver -DISTVERSION?= 331.49 +DISTVERSION?= 331.67 # Always try to set PORTREVISION as it can be overridden by the slave ports PORTREVISION?= 0 CATEGORIES= x11 @@ -56,6 +56,12 @@ EXTRA_PATCHES= ${FILESDIR}/legacy-patch- EXTRA_PATCHES= ${FILESDIR}/extra-patch-mk-nvidia.lib.mk .endif +.if ${NVVERSION} >= 3048800 +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-src-Makefile \ + ${FILESDIR}/extra-patch-src-nv-freebsd.h \ + ${FILESDIR}/extra-patch-src-nv-misc.h +.endif + .if ${NVVERSION} >= 3312000 EXTRA_PATCHES+= ${FILESDIR}/extra-patch-x11-driver-Makefile .else @@ -86,6 +92,11 @@ OPTIONS_DEFINE+= WBINVD WBINVD_DESC= Flush CPU caches directly with WBINVD .endif +.if ${NVVERSION} >= 3048800 +OPTIONS_DEFINE_i386= PAE +PAE_DESC= Physical Address Extensions Kernel +.endif + PLIST_SUB+= LINUXBASE=${LINUXBASE} SHLIB_VERSION=${PORTVERSION} \ MODULESDIR=${MODULESDIR} @@ -150,7 +161,7 @@ post-patch: .SILENT ${WRKSRC}/src/nvidia_subr.c .endif # Adjust kmem(9) calls after FreeBSD src SVN r254025 -.if ${OSVERSION} > 1000040 +.if ${OSVERSION} > 1000040 && ${NVVERSION} < 3316700 ${REINPLACE_CMD} -e '/kmem_/s/kernel_map/kernel_arena/' \ ${WRKSRC}/src/nvidia_subr.c .endif @@ -161,7 +172,7 @@ post-patch: .SILENT ${WRKSRC}/src/nvidia_linux.c .endif # Argument count of vm_map_find() changed in FreeBSD src SVN r255426 -.if ${OSVERSION} > 1000054 +.if ${OSVERSION} > 1000054 && ${NVVERSION} < 3316700 ${REINPLACE_CMD} -e 's/virtual_address, size,/& 0,/' \ ${WRKSRC}/src/nvidia_subr.c .endif @@ -190,6 +201,10 @@ post-patch: .SILENT ${REINPLACE_CMD} -E 's/define (NV_SUPPORT_LINUX_COMPAT)/undef \1/' \ ${WRKSRC}/src/nv-freebsd.h .endif +.if ${PORT_OPTIONS:MPAE} + ${REINPLACE_CMD} -E 's/undef (NV_SUPPORT_PAE)/define \1/' \ + ${WRKSRC}/src/nv-freebsd.h +.endif .if ${PORT_OPTIONS:MWBINVD} ${REINPLACE_CMD} -E 's/undef (NV_USE_WBINVD)/define \1/' \ ${WRKSRC}/src/nv-freebsd.h Modified: head/x11/nvidia-driver/distinfo ============================================================================== --- head/x11/nvidia-driver/distinfo Tue May 20 13:21:38 2014 (r354637) +++ head/x11/nvidia-driver/distinfo Tue May 20 13:23:15 2014 (r354638) @@ -1,7 +1,7 @@ -SHA256 (NVIDIA-FreeBSD-x86_64-331.49.tar.gz) = 9ac938b54b85b4dd3fc22f10c6feee3d9c777d678dbc08dfa8214e7d917ae67d -SIZE (NVIDIA-FreeBSD-x86_64-331.49.tar.gz) = 46988453 -SHA256 (NVIDIA-FreeBSD-x86-331.49.tar.gz) = 0686d20e647553f81afebc646b135b780c510679715344547ecc9244aff18cca -SIZE (NVIDIA-FreeBSD-x86-331.49.tar.gz) = 55867593 +SHA256 (NVIDIA-FreeBSD-x86_64-331.67.tar.gz) = 5781bba8b7783f96c1f239961140317426910633fbfa3ba80fdcefe54aec7e92 +SIZE (NVIDIA-FreeBSD-x86_64-331.67.tar.gz) = 46997728 +SHA256 (NVIDIA-FreeBSD-x86-331.67.tar.gz) = 0c88c363db516ef09b0027aacb1e686191d3d4676f44445bab2156c2197a6cae +SIZE (NVIDIA-FreeBSD-x86-331.67.tar.gz) = 55876749 SHA256 (NVIDIA-FreeBSD-x86_64-304.88.tar.gz) = be0e20a543fa14a8f91481dd64b080093b19edf951bf631c62365a64dadb1934 SIZE (NVIDIA-FreeBSD-x86_64-304.88.tar.gz) = 34597351 SHA256 (NVIDIA-FreeBSD-x86-304.88.tar.gz) = 739325b26a93d934d015159c420ef1875a24ccd62a5bb482e688cf918d4fa33d Added: head/x11/nvidia-driver/files/extra-patch-src-Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/nvidia-driver/files/extra-patch-src-Makefile Tue May 20 13:23:15 2014 (r354638) @@ -0,0 +1,18 @@ +--- src/Makefile.orig 2014-04-04 23:24:59.000000000 +0200 ++++ src/Makefile 2014-05-06 14:31:07.000000000 +0200 +@@ -24,6 +24,15 @@ + stdarg.h: + @ln -s machine/stdarg.h stdarg.h + ++SRCS+= opt_global.h ++.if ${MACHINE_CPUARCH} == "i386" && !defined(KERNBUILDDIR) ++PAE!= sed -n '/define NV_SUPPORT_PAE/p' nv-freebsd.h ++.if !empty(PAE) ++opt_global.h: ++ echo "#define PAE 1" > ${.TARGET} ++.endif ++.endif ++ + *.c: stdarg.h + + beforeinstall: ${KMOD}.ko Added: head/x11/nvidia-driver/files/extra-patch-src-nv-freebsd.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/nvidia-driver/files/extra-patch-src-nv-freebsd.h Tue May 20 13:23:15 2014 (r354638) @@ -0,0 +1,14 @@ +--- src/nv-freebsd.h.orig 2014-02-13 05:07:44.000000000 +0100 ++++ src/nv-freebsd.h 2014-05-05 18:38:59.000000000 +0200 +@@ -143,6 +143,11 @@ + #define NV_SUPPORT_ACPI_PM + + /* ++ * Enable/Disable support for PAE on i386. ++ */ ++#undef NV_SUPPORT_PAE ++ ++/* + * Enable/Disable heavy-weight cache-flush logic. By default, the driver + * relies on the kernel to perform cache flushes using optimized + * routines. Added: head/x11/nvidia-driver/files/extra-patch-src-nv-misc.h ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/nvidia-driver/files/extra-patch-src-nv-misc.h Tue May 20 13:23:15 2014 (r354638) @@ -0,0 +1,11 @@ +--- src/nv-misc.h.orig 2014-02-13 05:07:44.000000000 +0100 ++++ src/nv-misc.h 2014-05-05 18:45:44.000000000 +0200 +@@ -11,6 +11,8 @@ + #ifndef _NV_MISC_H_ + #define _NV_MISC_H_ + ++#include "opt_global.h" ++ + #include "nvtypes.h" + #include "rmretval.h" +