diff --git a/srcpkgs/nvidia304/files/linux-3.7.patch b/srcpkgs/nvidia304/files/linux-3.7.patch new file mode 100644 index 00000000000..5c5b9ee9423 --- /dev/null +++ b/srcpkgs/nvidia304/files/linux-3.7.patch @@ -0,0 +1,24 @@ +the nvidia drivers are trying to test for version 2.6.6, but fail to take into +account the first digit. so 3.7.0+ ends up failing the test. + +https://bugs.gentoo.org/447566 + +--- kernel/conftest.sh 2013-02-04 15:10:20.669633666 -0500 ++++ kernel/conftest.sh 2013-02-04 15:10:34.283334673 -0500 +@@ -1697,13 +1697,15 @@ + # kernel older than 2.6.6, that's all we require to + # build the module. + # ++ VERSION=$(grep "^VERSION =" $MAKEFILE | cut -d " " -f 3) + PATCHLEVEL=$(grep "^PATCHLEVEL =" $MAKEFILE | cut -d " " -f 3) + SUBLEVEL=$(grep "^SUBLEVEL =" $MAKEFILE | cut -d " " -f 3) + +- if [ -n "$PATCHLEVEL" -a $PATCHLEVEL -ge 6 \ ++ if [ -n "$VERSION" -a $VERSION -ge 3 ] || \ ++ [ -n "$PATCHLEVEL" -a $PATCHLEVEL -ge 6 \ + -a -n "$SUBLEVEL" -a $SUBLEVEL -le 5 ]; then + SELECTED_MAKEFILE=Makefile.kbuild + RET=0 + fi + fi + fi diff --git a/srcpkgs/nvidia304/files/uapi-3.7.patch b/srcpkgs/nvidia304/files/uapi-3.7.patch new file mode 100644 index 00000000000..75224121063 --- /dev/null +++ b/srcpkgs/nvidia304/files/uapi-3.7.patch @@ -0,0 +1,42 @@ +--- kernel/conftest.sh.dist 2012-10-11 19:18:22.704848496 -0400 ++++ kernel/conftest.sh 2012-10-12 20:35:55.707213868 -0400 +@@ -20,6 +20,7 @@ + ISYSTEM=`$CC -print-file-name=include 2> /dev/null` + SOURCES=$4 + HEADERS=$SOURCES/include ++HEADERSA=$SOURCES/include/uapi + OUTPUT=$5 + XEN_PRESENT=1 + +@@ -118,7 +119,7 @@ + fi + fi + +- CFLAGS="$CFLAGS $OUTPUT_CFLAGS -I$HEADERS $AUTOCONF_CFLAGS" ++ CFLAGS="$CFLAGS $OUTPUT_CFLAGS -I$HEADERS -I$HEADERSA $AUTOCONF_CFLAGS" + + test_xen + +@@ -146,10 +147,10 @@ + fi + fi + +- CFLAGS="$BASE_CFLAGS $MACH_CFLAGS $OUTPUT_CFLAGS -I$HEADERS $AUTOCONF_CFLAGS" ++ CFLAGS="$BASE_CFLAGS $MACH_CFLAGS $OUTPUT_CFLAGS -I$HEADERS -I$HEADERSA $AUTOCONF_CFLAGS" + + if [ "$ARCH" = "i386" -o "$ARCH" = "x86_64" ]; then +- CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include -I$OUTPUT/arch/x86/include/generated" ++ CFLAGS="$CFLAGS -I$SOURCES/arch/x86/include -I$SOURCES/arch/x86/include/uapi -I$OUTPUT/arch/x86/include/generated -I$OUTPUT/arch/x86/include/generated/uapi" + elif [ "$ARCH" = "arm" ]; then + CFLAGS="$CFLAGS -I$SOURCES/arch/arm/include -I$OUTPUT/arch/arm/include/generated" + fi +--- kernel/nv-mmap.c.dist 2012-08-08 22:52:53.000000000 -0400 ++++ kernel/nv-mmap.c 2012-08-14 23:52:41.257235863 -0400 +@@ -450,7 +450,7 @@ + NV_PRINT_AT(NV_DBG_MEMINFO, at); + nv_vm_list_page_count(&at->page_table[i], pages); + +- vma->vm_flags |= (VM_IO | VM_LOCKED | VM_RESERVED); ++ vma->vm_flags |= (VM_IO | VM_LOCKED | (VM_DONTEXPAND | VM_DONTDUMP)); + + #if defined(VM_DRIVER_PAGES)