Some of the linux headers were refactored recently in -CURRENT: http://svnweb.freebsd.org/changeset/base/246085 In particular, some of the linux ioctl functions were moved to a machine-independent header. Include this header to fix the driver when built WITH_LINUX. Fix: Patch attached with submission follows:
Responsible Changed From-To: freebsd-ports-bugs->danfe Over to maintainer (via the GNATS Auto Assign Tool)
I have successfully tested bf's patch (from the PR) in FreeBSD/i386 environments. First I built: FreeBSD g1-227.catwhisker.org 10.0-CURRENT FreeBSD 10.0-CURRENT #811 r246784M/246788: Thu Feb 14 08:25:04 PST 2013 root@g1-227.catwhisker.org:/usr/obj/usr/src/sys/CANARY i386 As I rebuild the nVidia kernel module when I rebuild the kernel, the process tested the patch. A subsequent reboot verified that I was (still) able to use the nVidia driver in that environment. I then booted the machine from the stable/9 slice that I had updated to: FreeBSD g1-227.catwhisker.org 9.1-STABLE FreeBSD 9.1-STABLE #375 r246786M/246788: Thu Feb 14 04:33:20 PST 2013 root@g1-227.catwhisker.org:/usr/obj/usr/src/sys/CANARY i386 before applying the patch. I then ran: portmaster x11/nvidia-driver (using the patched port), then (for good measure) rebooted, and again verified that I was able to use the nVidia driver in that environment. Once r246085 is MFCed, the patch will need some modification as it presently stands. Peace, david -- David H. Wolfskill david@catwhisker.org Taliban: Evil men with guns afraid of truth from a 14-year old girl. See http://www.catwhisker.org/~david/publickey.gpg for my public key.
Author: danfe Date: Sat Feb 16 14:09:17 2013 New Revision: 312352 URL: http://svnweb.freebsd.org/changeset/ports/312352 Log: - Update mainstream driver version to 310.32, the latest to date - Unbreak the build on recent -CURRENT (after SVN r246085) [*] - Move 304.xx driver version to yet another legacy port PR: ports/176146 [*] Submitted by: bf Added: head/x11/nvidia-driver-304/ head/x11/nvidia-driver-304/Makefile (contents, props changed) head/x11/nvidia-driver/files/r246085-patch-src-nvidia_linux.c (contents, props changed) Modified: head/x11/Makefile head/x11/nvidia-driver/Makefile head/x11/nvidia-driver/distinfo Modified: head/x11/Makefile ============================================================================== --- head/x11/Makefile Sat Feb 16 13:30:41 2013 (r312351) +++ head/x11/Makefile Sat Feb 16 14:09:17 2013 (r312352) @@ -211,6 +211,7 @@ SUBDIR += numlockx SUBDIR += nvidia-driver SUBDIR += nvidia-driver-173 + SUBDIR += nvidia-driver-304 SUBDIR += nvidia-driver-71 SUBDIR += nvidia-driver-96 SUBDIR += nvidia-settings Added: head/x11/nvidia-driver-304/Makefile ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/nvidia-driver-304/Makefile Sat Feb 16 14:09:17 2013 (r312352) @@ -0,0 +1,11 @@ +# Created by: Alexey Dokuchaev <danfe@FreeBSD.org> +# $FreeBSD$ + +DISTVERSION= 304.64 +# Explicitly set PORTREVISION as it can be overridden by the master port +PORTREVISION= 0 + +MASTERDIR= ${.CURDIR}/../nvidia-driver +NO_LATEST_LINK= yes + +.include "${MASTERDIR}/Makefile" Modified: head/x11/nvidia-driver/Makefile ============================================================================== --- head/x11/nvidia-driver/Makefile Sat Feb 16 13:30:41 2013 (r312351) +++ head/x11/nvidia-driver/Makefile Sat Feb 16 14:09:17 2013 (r312352) @@ -8,7 +8,7 @@ # slave ports. PORTNAME= nvidia-driver -DISTVERSION?= 304.64 +DISTVERSION?= 310.32 # Always try to set PORTREVISION as can be overridden by the slave ports PORTREVISION?= 0 CATEGORIES= x11 kld @@ -32,7 +32,7 @@ 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 +# fixed upstream (across all versions, including legacy ones), use this # hack below to universally set NVIDIA_ROOT. Also provide X11BASE value # since it is going away from `Mk/bsd.port.mk' as deprecated. MAKE_ENV= NVIDIA_ROOT=${WRKSRC} X11BASE=${LOCALBASE} @@ -88,6 +88,9 @@ PLIST_SUB+= LINUXBASE=${LINUXBASE} SHLIB CONFLICTS= linux[-_]dri-[0-9]* linux-f10-dri-[0-9]* USE_LINUX= yes PLIST_SUB+= LINUX="" +. if ${OSVERSION} > 1000026 +EXTRA_PATCHES+= ${FILESDIR}/r246085-patch-src-nvidia_linux.c +. endif .else PLIST_SUB+= LINUX="@comment " # Propagate WITHOUT_LINUX variable down to inner Makefiles @@ -190,8 +193,11 @@ post-install: .SILENT ${REINPLACE_CMD} -E 's/libGLcore/libnvidia-glcore/ ; \ /usr.*(glcore|tls).*so\.1$$/d' ${TMPPLIST} .endif -# Some applications need this symlink (see PR ports/72877) +.if ${NVVERSION} >= 3101900 + ${REINPLACE_CMD} -e '/libXvMCNVIDIA/d' ${TMPPLIST} +.else # some applications need this symlink (see PR ports/72877) ${LN} -sf libXvMCNVIDIA.so.1 ${PREFIX}/lib/libXvMCNVIDIA_dynamic.so.1 +.endif .if ${NVVERSION} >= 1952200 . if ${OSVERSION} > 800090 ${REINPLACE_CMD} -e '/does not support PAE/,+1d' ${PKGMESSAGE} Modified: head/x11/nvidia-driver/distinfo ============================================================================== --- head/x11/nvidia-driver/distinfo Sat Feb 16 13:30:41 2013 (r312351) +++ head/x11/nvidia-driver/distinfo Sat Feb 16 14:09:17 2013 (r312352) @@ -1,3 +1,7 @@ +SHA256 (NVIDIA-FreeBSD-x86_64-310.32.tar.gz) = f0935abf74a1298471a5eb0ede56ab913e358b76935557d618915a97efda9224 +SIZE (NVIDIA-FreeBSD-x86_64-310.32.tar.gz) = 33511666 +SHA256 (NVIDIA-FreeBSD-x86-310.32.tar.gz) = 3f00f5a13dc04f51b2a1b000ad53741ac6b81bd6e70258e7b9f200daf8f52b2d +SIZE (NVIDIA-FreeBSD-x86-310.32.tar.gz) = 32541283 SHA256 (NVIDIA-FreeBSD-x86_64-304.64.tar.gz) = 9887e4147fcb16141dcb6b153ff71a28c73cf2a4c16b60e4c6fcb8586a1c5400 SIZE (NVIDIA-FreeBSD-x86_64-304.64.tar.gz) = 34247065 SHA256 (NVIDIA-FreeBSD-x86-304.64.tar.gz) = e129d0d0e8d256d6328cddc4c18edb96c1e444c354f7c806ece4192621a1c1b5 Added: head/x11/nvidia-driver/files/r246085-patch-src-nvidia_linux.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/x11/nvidia-driver/files/r246085-patch-src-nvidia_linux.c Sat Feb 16 14:09:17 2013 (r312352) @@ -0,0 +1,14 @@ +--- src/nvidia_linux.c.orig 2012-10-30 13:54:06.000000000 -0400 ++++ src/nvidia_linux.c 2013-02-13 19:48:17.000000000 -0500 +@@ -21,9 +21,11 @@ + #if defined(NVCPU_X86) + #include "machine/../linux/linux.h" + #include "machine/../linux/linux_proto.h" ++#include "machine/../../compat/linux/linux_ioctl.h" + #elif defined(NVCPU_X86_64) + #include "machine/../linux32/linux.h" + #include "machine/../linux32/linux32_proto.h" ++#include "machine/../../compat/linux/linux_ioctl.h" + #endif + + int linux_ioctl_nvidia(d_thread_t *, struct linux_ioctl_args *); _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
State Changed From-To: open->closed Should be fixed as of SVN r312352, thanks!