Sophie

Sophie

distrib > Mageia > 9 > x86_64 > by-pkgid > f9ee025afa449a0454d2eecd796e9c28 > files > 11

nvidia470-470.199.02-1.mga9.nonfree.src.rpm

# debugfiles.list is empty, dont try to create the rpms define
%define _enable_debug_packages	%{nil}
%define debug_package		%{nil}

# dont try to check the desktop file, its a ghost for update-alternatives
%global dont_check_desktop_files 1

# enable this to rename/promote the package name as "nvidia-current":
#
# bcond_without -> package named as nvidia-current
# bcond_with -> package named as nvidia-470
%bcond_with	use_pkgname_as_nvidia_current

%if %{with use_pkgname_as_nvidia_current}
%define name		nvidia-current
%else
%define name		nvidia470
%endif

# When updating, please add new ids to ldetect-lst (merge2pcitable.pl)
%define version		470.199.02
# version of the utils (usually should be in sync with main version, except for beta drivers)
%define utilver		470.199.02
#
%define rel		1
# the highest supported videodrv abi (currently xorg 21.1)
%define videodrv_abi	25

# version of nvidia wayland_egl
%define wayland_eglver	1.1.5

%define priority	9700

%define pkgname64	NVIDIA-Linux-x86_64-%{version}

%if %{with use_pkgname_as_nvidia_current}
%define drivername		nvidia-current
%else
%define drivername		nvidia470
%endif
%define driverpkgname		x11-driver-video-%{drivername}
%define modulename		%{drivername}
# for description and documentation
%define cards			GeForce 635 to Geforce 920 cards
%define xorg_extra_modules	%{_libdir}/xorg/extra-modules
%define nvidia_driversdir	%{_libdir}/xorg/modules/drivers
%define nvidia_old_driversdir	%{_libdir}/%{drivername}/xorg
%define nvidia_extensionsdir	%{_libdir}/xorg/modules/extensions
%define nvidia_modulesdir	%{_libdir}/%{drivername}/xorg
%define nvidia_libdir		%{_libdir}
%define nvidia_libdir32		%{_prefix}/lib
%define nvidia_bindir		%{_bindir}
%define nvidia_datadir		%{_datadir}/%{drivername}
%define nvidia_datadir_std	%{_datadir}/nvidia

# Conflict names to let package be mutually exclusive against
# non-nvidia-470 driver. If newer newer driver series family need to
# be added to the distribution, please add the new conflict names in a list
# below (as conflictname2, conflictname3, etc.).
#
%if %{with use_pkgname_as_nvidia_current}
%define conflictname		nvidia470
%define driverconflictname	nvidia470
%define driverpkgconflictname	x11-driver-video-%{driverconflictname}
%define conflictname2		nvidia-newfeature
%define driverconflictname2	nvidia-newfeature
%define driverpkgconflictname2	x11-driver-video-%{driverconflictname2}
%else
%define conflictname		nvidia-current
%define driverconflictname	nvidia-current
%define driverpkgconflictname	x11-driver-video-%{driverconflictname}
%define conflictname2		nvidia-newfeature
%define driverconflictname2	nvidia-newfeature
%define driverpkgconflictname2	x11-driver-video-%{driverconflictname2}
%endif

%ifarch %{ix86}
%define nsource %{SOURCE0}
%endif
%ifarch x86_64
%define nsource %{SOURCE1}
%define pkgname %{pkgname64}
%endif

# Other packages should not require any NVIDIA libraries, and this package
# should not be pulled in when libGL.so.1 is required
%global __provides_exclude \\.so|libnvidia-allocator|libvdpau_nvidia|libnvidia-ptxjitcompiler|libnvcuvid|devel\\(libcuda|devel\\(libnvidia|application

%global common__requires_exclude ^libEGL_nvidia\\.so|^libGL\\.so|^libGLcore\\.so|^libGLdispatch\\.so|^libnvidia.*\\.so|^libGLX\\.so|libnvcuvid|devel\\(libGL|devel\\(libX11|devel\\(libm|devel\\(libXext|devel\\(libdl

# (anssi) Allow installing of 64-bit package if the runtime dependencies
# of 32-bit libraries are not satisfied. If a 32-bit package that requires
# libGL.so.1 is installed, the 32-bit mesa libs are pulled in and that will
# pull the dependencies of 32-bit nvidia libraries in as well.
%global __requires_exclude %common__requires_exclude|^libX11\\.so\\.6$|^libXext\\.so\\.6$|^libdl\\.so\\.2$|^libm\\.so\\.6$|^libpthread\\.so\\.0$|^librt\\.so\\.1$

# (anssi) Workaround wrong linking as of 310.19.
# This will probably be fixed soon (at least similar issues have been in the past).
# https://devtalk.nvidia.com/default/topic/523762/libnvidia-encode-so-310-19-has-dependency-on-missing-library/
# (tmb) also work around "missing" dep in 418.43
%global __requires_exclude_from libnvidia-encode.so.%version|libnvidia-opticalflow.so.%version

# backportability
%global _provides_exceptions %(echo '%__provides_exclude' | sed 's,|,\\\\|,g')
%global _requires_exceptions %(echo '%__requires_exclude' | sed 's,|,\\\\|,g')
%global _exclude_files_from_autoreq %(echo '%__requires_exclude_from' | sed 's,|,\\\\|,g')

Summary:	NVIDIA proprietary X.org driver and libraries, current driver series
Name:		%{name}
Version:	%{version}
Release:	%mkrel %{rel}
Source1:	https://download.nvidia.com/XFree86/Linux-x86_64/%{version}/%{pkgname64}.run
# GPLv2 source code; see also https://github.com/NVIDIA/nvidia-settings (or https://cgit.freedesktop.org/~aplattner/)
Source2:	https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-%{utilver}.tar.bz2
# GPLv2 source code; see also https://github.com/NVIDIA/nvidia-xconfig (or https://cgit.freedesktop.org/~aplattner/)
Source3:	https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-%{utilver}.tar.bz2
# GPLv2 source code; see also https://github.com/NVIDIA/nvidia-modprobe (or https://cgit.freedesktop.org/~aplattner/)
Source4:	https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-%{utilver}.tar.bz2
# GPLv2 source code; see also https://github.com/NVIDIA/nvidia-persistenced (or https://cgit.freedesktop.org/~aplattner/)
Source5:	https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-%{utilver}.tar.bz2
# Script for building rpms of arbitrary nvidia installers (needs this .spec appended)
Source10:	nvidia-mgabuild-skel
# udev rules (mixed from deb, from https://pkgs.rpmfusion.org/cgit/nonfree/xorg-x11-drv-nvidia.git/tree/ and from
# https://download.nvidia.com/XFree86/Linux-x86_64/455.28/README/dynamicpowermanagement.html)
Source20:	81-nvidia.rules
Source21:	81-nvidia-pm.rules
# include xf86vmproto for X_XF86VidModeGetGammaRampSize, fixes build on cooker
Patch3:		nvidia-settings-include-xf86vmproto.patch
# (tmb) fix false detection of NV_SET_MEMORY_ARRAY_UC_PRESENT support (mga#25890)
Patch4:		NVIDIA-Linux-x86_64-430.64-work-around-mga-bug-25890.patch

License:	Freeware
BuildRoot:	%{_tmppath}/%{name}-buildroot
URL:		https://www.nvidia.com/object/unix.html
Group:		System/Kernel and hardware
ExclusiveArch:	x86_64
BuildRequires:	ImageMagick
BuildRequires:	gtk+2-devel
BuildRequires:	gtk+3-devel
BuildRequires:	libxv-devel
BuildRequires:	MesaGL-devel
BuildRequires:	mesaegl-devel
BuildRequires:	libxxf86vm-devel
BuildRequires:	vdpau-devel >= 0.9
BuildRequires:	pkgconfig(libtirpc)

%description
Source package of the R470 NVIDIA proprietary driver. Binary
packages are named %{driverpkgname}.

%package -n %{driverpkgname}
Summary:	NVIDIA proprietary X.org driver and libraries for %cards
Group:		System/Kernel and hardware
Conflicts:	%{drivername}-cuda-opencl < 430.14-2
# conflicts with other nvidia series (e.g. x11-driver-video-nvidia-current)
Conflicts:	%{driverpkgconflictname}
Conflicts:	%{driverpkgconflictname2}
#
Requires:	%{drivername}-utils = %{version}-%{release}
Requires(post): update-alternatives
Requires(postun): update-alternatives
Requires:	x11-server-common
Recommends:	%{drivername}-doc-html = %{version}
# Proper support for versioned kmod() was added in 2008.1:
Requires:	kmod(%{modulename}.ko) = %{version}
# At least mplayer dlopens libvdpau.so.1, so the software will not pull in
# the vdpau library package. We ensure its installation here.
Requires:	%{_lib}vdpau1
Requires:	xserver-abi(videodrv) < %(echo $((%{videodrv_abi}+1)))
Requires:	ldetect-lst >= 0.6.40-1
Requires:	%{_lib}nvidia-egl-wayland1
Requires:	egl-wayland-json
Requires:	vaapi-driver-vdpau

%description -n %{driverpkgname}
NVIDIA proprietary X.org graphics driver, related libraries and
configuration tools for %cards,
including the associated Quadro cards.

NOTE: You should use XFdrake to configure your NVIDIA card. The
correct packages will be automatically installed and configured.

If you do not want to use XFdrake, see README.manual-setup.

This NVIDIA driver should be used with %cards,
including the associated Quadro cards.

%package -n dkms-%{drivername}
Summary:	NVIDIA kernel module for %cards
Group:		System/Kernel and hardware
Requires:	dkms >= 2.0.19-37
Requires(post):	dkms >= 2.0.19-37
Requires(preun): dkms >= 2.0.19-37
Provides:	kmod(%{modulename}.ko) = %{version}
Requires:	ldetect-lst >= 0.6.0-1
# (tmb) prebuilt kmods violates gpl
%if %{with use_pkgname_as_nvidia_current}
%ifarch %{ix86}
Obsoletes:	nvidia-current-kernel-desktop586-latest < %{version}-%{release}
Provides:	nvidia-current-kernel-desktop586-latest = %{version}-%{release}
%endif
Obsoletes:	nvidia-current-kernel-desktop-latest < %{version}-%{release}
Provides:	nvidia-current-kernel-desktop-latest = %{version}-%{release}
Obsoletes:	nvidia-current-kernel-server-latest < %{version}-%{release}
Provides:	nvidia-current-kernel-server-latest = %{version}-%{release}
%endif
Conflicts:	dkms-%{driverconflictname}
Conflicts:	dkms-%{driverconflictname2}

%description -n dkms-%{drivername}
NVIDIA kernel module for %cards. This
is to be used with the %{driverpkgname} package.

%package -n %{drivername}-devel
Summary:	NVIDIA OpenGL/CUDA development libraries and headers
Group:		Development/C
Conflicts:	%{drivername}-cuda-opencl < 430.14-3
# conflicts with other nvidia series (e.g. nvidia-current-devel),
Conflicts:	%{driverconflictname}-devel
Conflicts:	%{driverconflictname2}-devel
#
Requires:	%{drivername}-cuda-opencl = %{version}-%{release}
Requires:	%{_lib}vdpau-devel

%description -n %{drivername}-devel
NVIDIA OpenGL/CUDA headers for %cards. This package
is not required for normal use.

%package -n %{drivername}-cuda-opencl
Summary:	CUDA and OpenCL libraries for NVIDIA proprietary driver
Group:		System/Kernel and hardware
Provides:	%{drivername}-cuda = %{version}-%{release}
Conflicts:	%{drivername}-devel < 430.14-3
Conflicts:	%{driverpkgname} < 430.14-2
# conflicts with other nvidia series (e.g. nvidia-current-cuda-opencl)
Conflicts:	%{driverconflictname}-cuda-opencl
Conflicts:	%{driverconflictname2}-cuda-opencl
#
Requires:	kmod(%{modulename}.ko) = %{version}
Requires:	%{drivername}-utils = %{version}-%{release}

%description -n %{drivername}-cuda-opencl
Cuda and OpenCL libraries for NVIDIA proprietary driver. This package is not
required for normal use, it provides libraries to use NVIDIA cards for High
Performance Computing (HPC).

# HTML doc splitted off because of size, for live cds:
%package -n %{drivername}-doc-html
Summary:	NVIDIA html documentation (%{drivername})
Group:		System/Kernel and hardware
Conflicts:	%{driverconflictname}-doc-html
Conflicts:	%{driverconflictname2}-doc-html

%description -n %{drivername}-doc-html
HTML version of the README.txt file provided in package
%{driverpkgname}.

%package -n %{drivername}-utils
Summary:	Utilities for NVIDIA proprietary driver
Group:		System/Kernel and hardware
Conflicts:	%{driverpkgname} < 430.26-1
# conflicts with other nvidia series (e.g. nvidia-current-utils)
Conflicts:	%{driverconflictname}-utils
Conflicts:	%{driverconflictname2}-utils

%description -n %{drivername}-utils
Utilities for NVIDIA proprietary driver. Currently provides nvidia-smi and
nvidia-persistenced so they can be used with cuda without X.

%package -n %{drivername}-lib32
Summary:	Dependencies for 32bit libraries
Group:		System/Kernel and hardware
Requires:	libegl1
Requires:	libgl1
Requires:	libgldispatch0
Requires:	libglesv1_cm1
Requires:	libglesv22
Requires:	libglx0
Requires:	libnvidia-egl-wayland1
Requires:	libopencl1
Requires:	libopengl0
Conflicts:	%{driverconflictname}-lib32
Conflicts:	%{driverconflictname2}-lib32

%description -n %{drivername}-lib32
This package installs the libglvnd library dependencies required for
the 32bit version of NVidia libraries.

Install it if you plan to use 32bit software involving GL libraries, such as
32bit games (note that you need to enable the 32bit media sources).

%package -n %{drivername}-all
Summary:	Metapackage for %{drivername}
Group:		System/Kernel and hardware
Requires:	%{driverpkgname} = %{version}-%{release}
Requires:	dkms-%{drivername} = %{version}-%{release}
Requires:	%{drivername}-cuda-opencl = %{version}-%{release}
Requires:	%{drivername}-doc-html = %{version}-%{release}
Requires:	%{drivername}-utils = %{version}-%{release}
Requires:	%{drivername}-lib32 = %{version}-%{release}
Conflicts:	%{driverconflictname}-all
Conflicts:	%{driverconflictname2}-all
Conflicts:	%{driverpkgconflictname}
Conflicts:	%{driverpkgconflictname2}
Conflicts:	dkms-%{driverconflictname}
Conflicts:	dkms-%{driverconflictname2}
Conflicts:	%{driverconflictname}-cuda-opencl
Conflicts:	%{driverconflictname2}-cuda-opencl
Conflicts:	%{driverconflictname}-doc-html
Conflicts:	%{driverconflictname2}-doc-html
Conflicts:	%{driverconflictname}-utils
Conflicts:	%{driverconflictname2}-utils
Conflicts:	%{driverconflictname}-lib32
Conflicts:	%{driverconflictname2}-lib32

%description -n %{drivername}-all
This is a meta-package and installs all the extra dependencies and recommended
additions for %{drivername} driver.

%prep
%setup -q -c -T -a 2 -a 3 -a 4 -a 5
cd nvidia-settings-%{utilver}
%patch3 -p1 -b .proto
cd ..
sh %{nsource} --extract-only

cd %{pkgname}
%ifarch x86_64
# extra patches here
%patch4 -p1
%endif
cd ..

rm -rf %{pkgname}/usr/src/nv/precompiled

# (tmb) nuke nVidia provided dkms.conf as we need our own
rm -f %{pkgname}/kernel/dkms.conf

# install our own dkms.conf
cat > %{pkgname}/kernel/dkms.conf <<EOF
PACKAGE_NAME="%{drivername}"
PACKAGE_VERSION="%{version}-%{release}"
BUILT_MODULE_NAME[0]="nvidia"
DEST_MODULE_LOCATION[0]="/kernel/drivers/char/drm"
DEST_MODULE_NAME[0]="%{modulename}"
BUILT_MODULE_NAME[1]="nvidia-modeset"
DEST_MODULE_LOCATION[1]="/kernel/drivers/char/drm"
BUILT_MODULE_NAME[2]="nvidia-drm"
DEST_MODULE_LOCATION[2]="/kernel/drivers/char/drm"
BUILT_MODULE_NAME[3]="nvidia-uvm"
DEST_MODULE_LOCATION[3]="/kernel/drivers/char/drm"
BUILT_MODULE_NAME[4]="nvidia-peermem"
DEST_MODULE_LOCATION[4]="/kernel/drivers/char/drm"
MAKE[0]="'make' -j\${parallel_jobs} IGNORE_CC_MISMATCH=1 SYSSRC=\${kernel_source_dir} modules"
AUTOINSTALL="yes"
EOF

cat > README.install.urpmi <<EOF
This driver is for %cards.

Use XFdrake to configure X to use the correct NVIDIA driver. Any needed
packages will be automatically installed if not already present.
1. Run XFdrake as root.
2. Go to the Graphics Card list.
3. Select your card (it is usually already autoselected).
4. Answer any questions asked and then quit.

If you do not want to use XFdrake, see README.manual-setup.
EOF

cat > README.manual-setup <<EOF
This file describes the procedure for the manual installation of this NVIDIA
driver package. You can find the instructions for the recommended automatic
installation in the file 'README.install.urpmi' in this directory.

- Open %{_sysconfdir}/X11/xorg.conf and make the following changes:
  o Change the Driver to "nvidia" in the Device section
  o Make the line below the only 'glx' related line in the Module section,
    adding it if it is not already there:
      Load "glx"
  o Remove any 'ModulePath' lines from the Files section
- Run "update-alternatives --set gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf" as root.
- Run "ldconfig -X" as root.
EOF

%build
# Avoid compiling fails due to excess of warnings on using a gtk+2.0 deprecated declaration of TimeVal
export CFLAGS_SUPPRESS_WARNINGS="-Wno-deprecated-declarations"
# The code contains dozens on top of dozens on top of dozens of "false" positives
export CFLAGS="%optflags -Wno-error=format-security ${CFLAGS_SUPPRESS_WARNINGS}"
export CXXFLAGS="$CFLAGS"
export LDFLAGS="%{?ldflags}"
%make_build -C nvidia-settings-%{utilver}/src/libXNVCtrl
%make_build -C nvidia-settings-%{utilver} NV_KEEP_UNSTRIPPED_BINARIES=false
%make_build -C nvidia-xconfig-%{utilver} NV_KEEP_UNSTRIPPED_BINARIES=false
%make_build -C nvidia-modprobe-%{utilver} NV_KEEP_UNSTRIPPED_BINARIES=false
%make_build -C nvidia-persistenced-%{utilver} NV_KEEP_UNSTRIPPED_BINARIES=false

%install
rm -rf %{buildroot}
cd %{pkgname}

# menu entry
install -d -m 755 %{buildroot}%{_datadir}/applications
cat > %{buildroot}%{_datadir}/applications/mageia-nvidia-settings.desktop <<EOF
[Desktop Entry]
Name=NVIDIA Display Settings
Comment=Configure NVIDIA X driver
Exec=%{_bindir}/nvidia-settings
Icon=%{drivername}-settings
Terminal=false
Type=Application
Categories=GTK;Settings;HardwareSettings;
EOF

# icons
install -d -m755 %{buildroot}%{_iconsdir}/hicolor/{16x16,32x32,48x48}/apps
convert nvidia-settings.png -resize 16x16 %{buildroot}%{_iconsdir}/hicolor/16x16/apps/%{drivername}-settings.png
convert nvidia-settings.png -resize 32x32 %{buildroot}%{_iconsdir}/hicolor/32x32/apps/%{drivername}-settings.png
convert nvidia-settings.png -resize 48x48 %{buildroot}%{_iconsdir}/hicolor/48x48/apps/%{drivername}-settings.png

error_fatal() {
	echo "Error: $@." >&2
	exit 1
}

error_unhandled() {
	echo "Warning: $@." >&2
	echo "Warning: $@." >> warns.log
	# cause distro builds to fail in case of unhandled files
	exit 1
}

parseparams() {
	for value in $rest; do
		local param=$1

		if [[ $value == MODULE:* ]]; then
		    # skip nvidia installer specific tag
		    continue
		fi

		[ -n "$param" ] || error_fatal "unhandled parameter $value"
		shift
		eval $param=$value

		[ -n "$value" ] || error_fatal "empty $param"

		# resolve libdir based on $arch
		if [ "$param" = "arch" ]; then
			case "$arch" in
			NATIVE)		nvidia_libdir=%{nvidia_libdir};;
			COMPAT32)	nvidia_libdir=%{nvidia_libdir32};;
			*)		error_fatal "unknown arch $arch"
			esac
		fi
		if [ "$param" = "libtype" ]; then
			case "$libtype" in
			NON_GLVND);;
			GLVND);;
			*)		error_fatal "unknown libtype $libtype"
			esac
		fi
	done
}

add_to_list() {
	# on distro builds, only use .manifest for %doc files
	[ "${2#%doc}" = "${2}" ] && return
	local list="$1.files"
	local entry="$2"
	echo $entry >> $list
}

install_symlink() {
	local pkg="$1"
	local dir="$2"
	mkdir -p %{buildroot}$dir
	ln -s $dest %{buildroot}$dir/$file
	add_to_list $pkg $dir/$file
}

install_lib_symlink() {
	local pkg="$1"
	local dir="$2"
	case "$file" in
	libvdpau_*.so)
		# vdpau drivers => not put into -devel
		;;
	*.so)
		pkg=nvidia-devel;;
	esac
	install_symlink $pkg $dir
}

install_file_only() {
	local pkg="$1"
	local dir="$2"
	mkdir -p %{buildroot}$dir
	# replace 0444 with more usual 0644
	[ "$perms" = "0444" ] && perms="0644"
	install -m $perms $file %{buildroot}$dir
}

install_file() {
	local pkg="$1"
	local dir="$2"
	install_file_only $pkg $dir
	add_to_list $pkg $dir/$(basename $file)
}

install_src_file() {
	local pkg="$1"
	local dir="$2"
	local moddir=$(dirname $file)
	local subdir=${moddir#kernel}
	install_file_only $pkg $dir$subdir
	add_to_list $pkg $dir$subdir/$(basename $file)
}

get_module_dir() {
	local subdir="$1"
	case "$subdir" in
	extensions*)	echo %{nvidia_extensionsdir};;
	drivers/)	echo %{nvidia_driversdir};;
	/)		echo %{nvidia_modulesdir};;
	*)		error_unhandled "unhandled module subdir $subdir"
			echo %{nvidia_modulesdir};;
	esac
}

for file in nvidia.files nvidia-devel.files nvidia-cuda.files nvidia-dkms.files nvidia-html.files; do
	rm -f $file
	touch $file
done

# install files according to .manifest
cat .manifest | tail -n +9 | while read line; do
	arch=
	style=
	subdir=
	dest=
	nvidia_libdir=
	libtype=

	rest=${line}
	file=${rest%%%% *}
	rest=${rest#* }
	perms=${rest%%%% *}
	rest=${rest#* }
	type=${rest%%%% *}
	[ "${rest#* }" = "$rest" ] && rest= || rest=${rest#* }

	case "$type" in
	CUDA_LIB)
		parseparams arch subdir
		install_file nvidia-cuda $nvidia_libdir/$subdir
		;;
	CUDA_SYMLINK)
		parseparams arch subdir dest
		install_lib_symlink nvidia-cuda $nvidia_libdir/$subdir
		;;
	EGL_CLIENT_LIB)
		parseparams arch
		install_file nvidia $nvidia_libdir
		;;
	EGL_CLIENT_SYMLINK)
		parseparams arch dest
		install_lib_symlink nvidia $nvidia_libdir
		;;
	EGL_EXTERNAL_PLATFORM_JSON)
		# (tmb) skip for now
		case $libtype in NON_GLVND);; *) continue; esac
		install_file nvidia %{_sysconfdir}/%{drivername}
		;;
	ENCODEAPI_LIB)
		parseparams arch subdir
		install_file nvidia $nvidia_libdir/$subdir
		;;
	ENCODEAPI_LIB_SYMLINK)
		parseparams arch dest
		install_lib_symlink nvidia $nvidia_libdir
		;;
	EXPLICIT_PATH)
		parseparams dest
		dest="$(echo "$dest" | sed s,%{_datadir}/nvidia,%{nvidia_datadir},)"
		install_file nvidia $dest
		;;
	FIRMWARE)
		install_file_only nvidia /lib/firmware/nvidia/%{version}/
		;;
	GLVND_EGL_ICD_JSON)
		# (tmb) skip for now
		case $libtype in NON_GLVND);; *) continue; esac
		install_file nvidia %{_sysconfdir}/%{drivername}
		;;
	GLVND_LIB)
		parseparams arch
		install_file nvidia $nvidia_libdir
		;;
	GLVND_SYMLINK)
		parseparams arch dest
		install_lib_symlink nvidia $nvidia_libdir
		;;
	GLX_CLIENT_LIB)
		parseparams arch
		install_file nvidia $nvidia_libdir
		;;
	GLX_CLIENT_SYMLINK)
		parseparams arch dest
		install_lib_symlink nvidia $nvidia_libdir
		;;
	NVCUVID_LIB)
		parseparams arch subdir
		install_file nvidia-cuda $nvidia_libdir/$subdir
		;;
	NVCUVID_LIB_SYMLINK)
		parseparams arch dest
		install_lib_symlink nvidia-cuda $nvidia_libdir
		;;
	NVIFR_LIB)
		parseparams arch subdir
		install_file nvidia $nvidia_libdir/$subdir
		;;
	NVIFR_LIB_SYMLINK)
		parseparams arch dest
		install_lib_symlink nvidia $nvidia_libdir
		;;
	OPENCL_LIB)
		parseparams arch subdir
		install_file nvidia-cuda $nvidia_libdir/$subdir
		;;
	OPENCL_LIB_SYMLINK)
		parseparams arch subdir dest
		install_lib_symlink nvidia-cuda $nvidia_libdir/$subdir
		;;
	OPENCL_WRAPPER_LIB)
		parseparams arch subdir
		install_file nvidia-cuda $nvidia_libdir/$subdir
		;;
	OPENCL_WRAPPER_SYMLINK)
		parseparams arch subdir dest
		install_lib_symlink nvidia-cuda $nvidia_libdir/$subdir
		;;
	OPENGL_LIB)
		parseparams arch
		install_file nvidia $nvidia_libdir
		;;
	OPENGL_SYMLINK)
		parseparams arch dest
		install_lib_symlink nvidia $nvidia_libdir
		;;
	SYSTEMD_UNIT)
		parseparams dest
		install_file nvidia %{_unitdir}
		;;
	SYSTEMD_UNIT_SYMLINK)
		continue
		;;
	SYSTEMD_SLEEP_SCRIPT)
		install_file nvidia %{_systemd_util_dir}/system-sleep/
		;;
	TLS_LIB)
		parseparams arch style subdir
		install_file nvidia $nvidia_libdir/$subdir
		;;
	TLS_SYMLINK)
		parseparams arch style subdir dest
		install_lib_symlink nvidia $nvidia_libdir/$subdir
		;;
	UTILITY_LIB)
		# skip libnvidia-gtk[23], we build those by ourself
		echo "$file" | grep -q nvidia-gtk && continue
		# backward-compatibility
		[ -n "${rest}" ] || rest="NATIVE $rest"
		parseparams arch subdir
		install_file nvidia $nvidia_libdir/$subdir
		;;
	UTILITY_LIB_SYMLINK)
		# backward-compatibility
		[ "${rest#* }" != "$rest" ] || rest="NATIVE $rest"
		parseparams arch dest
		install_lib_symlink nvidia $nvidia_libdir
		;;
	VDPAU_LIB)
		parseparams arch subdir
		case $file in *libvdpau_nvidia.so*);; *) continue; esac
		install_file nvidia $nvidia_libdir/$subdir
		# install in two places
		install_file nvidia $nvidia_libdir
		;;
	VDPAU_SYMLINK)
		parseparams arch subdir dest
		case $file in *libvdpau_nvidia.so*);; *) continue; esac
		install_lib_symlink nvidia $nvidia_libdir/$subdir
		;;
	VDPAU_WRAPPER_LIB)
		parseparams arch subdir
		case $file in *libvdpau_nvidia.so*);; *) continue; esac
		install_file nvidia $nvidia_libdir/$subdir
		;;
	VDPAU_WRAPPER_SYMLINK)
		parseparams arch subdir dest
		case $file in *libvdpau_nvidia.so*);; *) continue; esac
		install_lib_symlink nvidia $nvidia_libdir/$subdir
		;;
	VULKAN_ICD_JSON)
		install_file nvidia %{_sysconfdir}/vulkan/icd.d/
		;;
	WINE_LIB)
		install_file_only nvidia %{nvidia_libdir32}/nvidia/wine/
		;;
	XLIB_STATIC_LIB)
		install_file nvidia-devel %{nvidia_libdir}
		;;
	XLIB_SHARED_LIB)
		install_file nvidia %{nvidia_libdir}
		;;
	XLIB_SYMLINK)
		parseparams dest
		install_lib_symlink nvidia %{nvidia_libdir}
		;;
	LIBGL_LA)
		# (Anssi) we don't install .la files
		;;
	XMODULE_SHARED_LIB|GLX_MODULE_SHARED_LIB)
		parseparams subdir
		install_file nvidia $(get_module_dir $subdir)
		;;
	XMODULE_NEWSYM)
		# symlink that is created only if it doesn't already
		# exist (i.e. as part of x11-server)
		case "$file" in
		libwfb.so)
			continue
			;;
		*)
			error_unhandled "unknown XMODULE_NEWSYM type file $file, skipped"
			continue
		esac
		parseparams subdir dest
		install_symlink nvidia $(get_module_dir $subdir)
		;;
	XORG_OUTPUTCLASS_CONFIG)
		# (tmb) dont install xorg driver autoloader conf
		continue
		;;
	XMODULE_SYMLINK|GLX_MODULE_SYMLINK)
		parseparams subdir dest
		install_symlink nvidia $(get_module_dir $subdir)
		;;
	VDPAU_HEADER)
		continue
		parseparams subdir
		install_file_only nvidia-devel %{_includedir}/%{drivername}/$subdir
		;;
	OPENGL_HEADER|CUDA_HEADER)
		parseparams subdir
		install_file_only nvidia-devel %{_includedir}/%{drivername}/$subdir
		;;
	DOCUMENTATION)
		parseparams subdir
		case $subdir in
		*/html)
			add_to_list nvidia-html "%%doc %{pkgname}/$file"
			continue
			;;
		*/include/*)
			continue
			;;
		esac
		case $file in
		*XF86Config*|*nvidia-settings.png)
			continue;;
		esac
		add_to_list nvidia "%%doc %{pkgname}/$file"
		;;
	MANPAGE|NVIDIA_MODPROBE_MANPAGE)
		parseparams subdir
		case "$file" in
		*nvidia-installer*)
			# not installed
			continue
			;;
		*nvidia-settings*|*nvidia-xconfig*|*nvidia-modprobe*|*nvidia-persistenced*)
			# installed separately below
			continue
			;;
		*nvidia-smi*|*nvidia-cuda-mps-control*)
			# ok
			;;
		*)
			error_unhandled "skipped unknown man page $(basename $file)"
			continue
		esac
		install_file_only nvidia %{_mandir}/$subdir
		;;
	UTILITY_BINARY)
		case "$file" in
		*nvidia-settings|*nvidia-xconfig|*nvidia-persistenced)
			# not installed, we install our own copy
			continue
			;;
		*nvidia-smi|*nvidia-bug-report.sh|*nvidia-debugdump|*nvidia-sleep.sh)
			# ok
			;;
		*nvidia-cuda-mps-control|*nvidia-cuda-mps-server)
			# ok
			;;
		*nvidia-ngx-updater)
			# ok
			;;
		*nvidia-powerd)
			# ok
			;;
		*)
			error_unhandled "unknown binary $(basename $file) will be installed to %{nvidia_bindir}/$(basename $file)"
			;;
		esac
		install_file nvidia %{nvidia_bindir}
		;;
	UTILITY_BIN_SYMLINK)
		case $file in nvidia-uninstall) continue;; esac
		parseparams dest
		install_symlink nvidia %{nvidia_bindir}
		;;
	INTERNAL_UTILITY_BINARY)
		case $file in glvnd_check) continue;; esac
		;;
	INTERNAL_UTILITY_LIB)
		case $file in libGLX_installcheck.so.*) continue;; esac
		;;
	INTERNAL_UTILITY_DATA)
		case $file in egl_dummy_vendor.json) continue;; esac
		;;
	NVIDIA_MODPROBE)
		# A suid-root tool (GPLv2) used as fallback for loading the module and
		# creating the device nodes in case the driver component is running as
		# a non-root user (e.g. a CUDA application). While the module is automatically
		# loaded by udev rules, the device nodes are not automatically created
		# like with regular drivers and therefore this tool is installed on
		# Mageia as well, at least for now.

		# We install our self-compiled version in non-simple mode
		install_file nvidia %{nvidia_bindir}
		;;
	INSTALLER_BINARY)
		# not installed
		;;
	KERNEL_MODULE_SRC|DKMS_CONF)
		install_src_file nvidia-dkms %{_usrsrc}/%{drivername}-%{version}-%{release}
		;;
	CUDA_ICD)
		# in theory this should go to the cuda subpackage, but it goes into the main package
		# as this avoids one broken symlink and it is small enough to not cause space issues
		install_file nvidia %{_sysconfdir}/%{drivername}
		;;
	APPLICATION_PROFILE)
		parseparams subdir
		install_file nvidia %{nvidia_datadir}/$subdir
		;;
	DOT_DESKTOP)
		# we provide our own for now
		;;
	*)
		error_unhandled "file $(basename $file) of unknown type $type will be skipped"
	esac
done

[ -z "$warnings" ] || echo "Please inform Anssi Hannula <anssi@mageia.org> or https://bugs.mageia.org/ of the above warnings." >> warns.log

# confirm SONAME; if something else than libvdpau_nvidia.so or libvdpau_nvidia.so.1, adapt .spec as needed:
[ "$(objdump -p %{buildroot}%{nvidia_libdir}/vdpau/libvdpau_nvidia.so.%{version} | grep SONAME | gawk '{ print $2 }')" = "libvdpau_nvidia.so.1" ]

# self-built binaries
install -m  755 ../nvidia-settings-%{utilver}/src/_out/*/nvidia-settings	%{buildroot}%{nvidia_bindir}
install -m  755 ../nvidia-xconfig-%{utilver}/_out/*/nvidia-xconfig		%{buildroot}%{nvidia_bindir}
install -m 4755 ../nvidia-modprobe-%{utilver}/_out/*/nvidia-modprobe		%{buildroot}%{nvidia_bindir}
install -m  755 ../nvidia-persistenced-%{utilver}/_out/*/nvidia-persistenced	%{buildroot}%{nvidia_bindir}

# nvidia-settings dlopens libnvidia-gtk*.so.VERSION
for file in ../nvidia-settings-%{utilver}/src/_out/*/libnvidia-gtk*.so; do
	install -m 755 ${file} %{buildroot}%{nvidia_libdir}/$(basename "$file").%{utilver}
done

# binaries
install -d -m 755	%{buildroot}%{_bindir}

# rpmlint:
chmod 0755		%{buildroot}%{_bindir}/*

# datadir alternative
mkdir -p		%{buildroot}%{nvidia_datadir_std}

# install man pages
install -m 644 ../nvidia-settings-%{utilver}/doc/_out/*/nvidia-settings.1	%{buildroot}%{_mandir}/man1
install -m 644 ../nvidia-xconfig-%{utilver}/_out/*/nvidia-xconfig.1		%{buildroot}%{_mandir}/man1
install -m 644 ../nvidia-modprobe-%{utilver}/_out/*/nvidia-modprobe.1		%{buildroot}%{_mandir}/man1
install -m 644 ../nvidia-persistenced-%{utilver}/_out/*/nvidia-persistenced.1	%{buildroot}%{_mandir}/man1

# if driver contains utils which are newer than the GPL ones, use them (e.g. in case of beta drivers)
if [ "%{version}" > "%{utilver}" ]; then
	install -m 755	./nvidia-settings \
			./nvidia-xconfig \
			./nvidia-modprobe \
			./nvidia-persistenced %{buildroot}%{nvidia_bindir}
	rm -f %{buildroot}%{nvidia_libdir}/libnvidia-gtk*.so.%{utilver}
	install -m 755 ./libnvidia-gtk*.so.%{version} %{buildroot}%{nvidia_libdir}/
	gunzip -cd nvidia-settings.1.gz >	%{buildroot}%{_mandir}/man1/nvidia-settings.1
	gunzip -cd nvidia-xconfig.1.gz >	%{buildroot}%{_mandir}/man1/nvidia-xconfig.1
	gunzip -cd nvidia-modprobe.1.gz >	%{buildroot}%{_mandir}/man1/nvidia-modprobe.1
	gunzip -cd nvidia-persistenced.1.gz >	%{buildroot}%{_mandir}/man1/nvidia-modprobe.1
fi

# bug #41638 - whatis entries of nvidia man pages appear wrong
gunzip %{buildroot}%{_mandir}/man1/*.gz
sed -r -i '/^nvidia\\-[a-z]+ \\- NVIDIA/s,^nvidia\\-,nvidia-,' %{buildroot}%{_mandir}/man1/*.1

# cuda nvidia.icd
install -d -m 755		%{buildroot}%{_sysconfdir}/OpenCL/vendors

# ld.so.conf
# these are "dummy" right now, just for compatibility with drakx11
install -d -m 755		%{buildroot}%{_sysconfdir}/%{drivername}
touch				%{buildroot}%{_sysconfdir}/%{drivername}/ld.so.conf
install -d -m 755		%{buildroot}%{_sysconfdir}/ld.so.conf.d
touch				%{buildroot}%{_sysconfdir}/ld.so.conf.d/GL.conf

# modprobe.conf
install -d -m 755		%{buildroot}%{_sysconfdir}/modprobe.d
touch				%{buildroot}%{_sysconfdir}/modprobe.d/display-driver.conf
echo "install nvidia /sbin/modprobe %{modulename} \$CMDLINE_OPTS" > %{buildroot}%{_sysconfdir}/%{drivername}/modprobe.conf
echo -e "\n# Uncomment the following line to enable complete power management" >> %{buildroot}%{_sysconfdir}/%{drivername}/modprobe.conf
echo "#options nvidia NVreg_DynamicPowerManagement=0x02" >> %{buildroot}%{_sysconfdir}/%{drivername}/modprobe.conf
echo -e "\n# Uncomment the following line to enable kernel modesetting support" >> %{buildroot}%{_sysconfdir}/%{drivername}/modprobe.conf
echo "#options nvidia-drm modeset=1" >> %{buildroot}%{_sysconfdir}/%{drivername}/modprobe.conf
echo -e "\n# alias" >> %{buildroot}%{_sysconfdir}/%{drivername}/modprobe.conf
echo "alias nvidia %{modulename}" >> %{buildroot}%{_sysconfdir}/%{drivername}/modprobe.conf

# nvidia-application-profiles-%%{version}-key-documentation is still searched
# by the nvidia-settings executable in in %{_datadir}/nvidia/; we add a symlink here
# (or as alternative we should patch nvidia-settings to search in %{nvidia_datadir}
# instead [todo]).
mkdir -p %{buildroot}/%{nvidia_datadir_std}
ln -s %{nvidia_datadir}/nvidia-application-profiles-%{version}-rc \
	%{buildroot}%{nvidia_datadir_std}/nvidia-application-profiles-%{version}-rc
ln -s %{nvidia_datadir}/nvidia-application-profiles-%{version}-key-documentation \
	%{buildroot}%{nvidia_datadir_std}/nvidia-application-profiles-%{version}-key-documentation
ln -s %{nvidia_datadir}/nvidia-application-profiles-%{version}-key-documentation \
	%{buildroot}%{nvidia_datadir_std}/nvidia-application-profiles-key-documentation

# XFdrake/drakx11 detects whether a driver is correctly installed
# according to the presence of the file %%{_libdir}/nvidia-current/xorg/libglx.so.
# (see: https://gitweb.mageia.org/software/drakx-kbd-mouse-x11/tree/lib/Xconfig/proprietary.pm#n120
# or https://gitweb.mageia.org/software/drakx-kbd-mouse-x11/tree/lib/Xconfig/proprietary.pm?id=e7e7b854938ae9209a5572ded4ecaa2fb15109c4#n120)
# Let's keep a dummy symlink for compatibility.
if [ ! -e "%{buildroot}%{nvidia_old_driversdir}" ]; then
	mkdir -p %{buildroot}%{nvidia_old_driversdir}
fi
pushd %{buildroot}%{nvidia_old_driversdir}
	ln -s %{nvidia_extensionsdir}/libglxserver_nvidia.so.%{version} libglx.so
popd

# xinit script
install -d -m755 %{buildroot}%{_sysconfdir}/%{drivername}
cat > %{buildroot}%{_sysconfdir}/%{drivername}/nvidia-settings.xinit <<EOF
# to be sourced
#
# Do not modify this file; the changes will be overwritten.
# If you want to disable automatic configuration loading, create
# /etc/sysconfig/nvidia-settings with this line: LOAD_NVIDIA_SETTINGS="no"
#
LOAD_NVIDIA_SETTINGS="yes"
[ -f %{_sysconfdir}/sysconfig/nvidia-settings ] && . %{_sysconfdir}/sysconfig/nvidia-settings
[ "\$LOAD_NVIDIA_SETTINGS" = "yes" ] && %{_bindir}/nvidia-settings --load-config-only
EOF
chmod 0755 %{buildroot}%{_sysconfdir}/%{drivername}/nvidia-settings.xinit
install -d -m755 %{buildroot}%{_sysconfdir}/X11/xinit.d
touch %{buildroot}%{_sysconfdir}/X11/xinit.d/nvidia-settings.xinit

# fix vulkan files position
install -d -m755 %{buildroot}%{_sysconfdir}/vulkan/implicit_layer.d/
mv -f %{buildroot}%{_sysconfdir}/vulkan/icd.d/nvidia_layers.json \
	%{buildroot}%{_sysconfdir}/vulkan/implicit_layer.d/
# fix OpenCL position
mv -f %{buildroot}%{_sysconfdir}/%{drivername}/nvidia.icd \
	%{buildroot}%{_sysconfdir}/OpenCL/vendors

# 10_nvidia_wayland.json (to be fixed in the sh parser above)
install -d -m755 %{buildroot}%{_datadir}/egl/egl_external_platform.d/
install -m644 ./10_nvidia_wayland.json %{buildroot}%{_datadir}/egl/egl_external_platform.d/

# 10_nvidia.json
install -d -m 755 %{buildroot}%{_datadir}/glvnd/egl_vendor.d
install -m644 ./10_nvidia.json %{buildroot}%{_datadir}/glvnd/egl_vendor.d/

# nvidia-drm
install -d -m755 %{buildroot}%{_sysconfdir}/X11/xorg.conf.d
cat > %{buildroot}%{_sysconfdir}/X11/xorg.conf.d/10-nvidia.conf <<EOF
Section "OutputClass"
    Identifier "nvidia"
    MatchDriver "nvidia-drm"
    Driver "nvidia"
    Option "AllowEmptyInitialConfiguration"
    #Option "SLI" "off"
    Option "BaseMosaic" "on"
EndSection

Section "ServerLayout"
    Identifier "layout"
    Option "AllowNVIDIAGPUScreens"
EndSection
EOF

# udev rules (from deb)
# to be reviewed: nvidia-persistenced.service (see with cuda-toolkit for missed nvidia dev node generation)
install -d -m 755 %{buildroot}%{_udevrulesdir}
install -m 644 %{SOURCE20} %{buildroot}%{_udevrulesdir}/81-nvidia.rules
install -m 644 %{SOURCE21} %{buildroot}%{_udevrulesdir}/81-nvidia-pm.rules

# avoid inclusion in initrddir
mkdir -p %{buildroot}%{_sysconfdir}/dracut.conf.d
cat > %{buildroot}%{_sysconfdir}/dracut.conf.d/99-nvidia.conf <<EOF
# Omit the nvidia driver from the initramfs image, to avoid needing to regenerate
# the initramfs on updates.
omit_drivers+=" nvidia nvidia-drm nvidia-modeset nvidia-uvm nvidia-peermem nouveau "
EOF

# clean installed glvnd libraries (already provided by system libglvnd for mesa's glvnd(ed))
rm -f	%{buildroot}%{nvidia_libdir}/libEGL.so* \
	%{buildroot}%{nvidia_libdir}/libGLdispatch.so* \
	%{buildroot}%{nvidia_libdir}/libGLESv1_CM.so* \
	%{buildroot}%{nvidia_libdir}/libGLESv2.so* \
	%{buildroot}%{nvidia_libdir}/libGL.so* \
	%{buildroot}%{nvidia_libdir}/libGLX.so* \
	%{buildroot}%{nvidia_libdir}/libOpenGL.so* \
	%{buildroot}%{nvidia_libdir32}/libEGL.so* \
	%{buildroot}%{nvidia_libdir32}/libGLdispatch.so* \
	%{buildroot}%{nvidia_libdir32}/libGLESv1_CM.so* \
	%{buildroot}%{nvidia_libdir32}/libGLESv2.so* \
	%{buildroot}%{nvidia_libdir32}/libGL.so* \
	%{buildroot}%{nvidia_libdir32}/libGLX.so* \
	%{buildroot}%{nvidia_libdir32}/libOpenGL.so*

rm -f	%{buildroot}%{nvidia_libdir}/libOpenCL.so* \
	%{buildroot}%{nvidia_libdir32}/libOpenCL.so*

rm -f	%{buildroot}%{nvidia_libdir}/libGLX_indirect.so* \
	%{buildroot}%{nvidia_libdir32}/libGLX_indirect.so*

# Already provided in system package lib|lib64nvidia-egl-wayland1
rm -f	%{buildroot}%{nvidia_libdir}/libnvidia-egl-wayland.so* \
	%{buildroot}%{nvidia_libdir32}libnvidia-egl-wayland.so*

# Already provided in system package egl-wayland-json
rm -f	%{buildroot}%{_datadir}/egl/egl_external_platform.d/10_nvidia_wayland.json

export EXCLUDE_FROM_STRIP="$(find %{buildroot} -type f \! -name nvidia-settings \! -name nvidia-xconfig \! -name nvidia-modprobe \! -name nvidia-persistenced \! -name 'libnvidia-gtk*.so')"


%post -n %{driverpkgname}
# XFdrake used to generate an nvidia.conf file
[ -L %{_sysconfdir}/modprobe.d/nvidia.conf ] || rm -f %{_sysconfdir}/modprobe.d/nvidia.conf

# remove cuda-specific ld conf to not conflict with alternatives
rm -f %{_sysconfdir}/ld.so.conf.d/%{drivername}-cuda.conf

current_glconf="$(readlink -e %{_sysconfdir}/ld.so.conf.d/GL.conf)"

%{_sbindir}/update-alternatives \
	--install %{_sysconfdir}/ld.so.conf.d/GL.conf gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf %{priority} \
	--slave %{_sysconfdir}/X11/xinit.d/nvidia-settings.xinit nvidia-settings.xinit %{_sysconfdir}/%{drivername}/nvidia-settings.xinit \
	--slave %{_sysconfdir}/modprobe.d/display-driver.conf display-driver.conf %{_sysconfdir}/%{drivername}/modprobe.conf

%posttrans -n %{driverpkgname}
# When upgrading 340 => 346, the alternativeszification of /usr/share/nvidia may
# cause uninstallation of 340 (during upgrade) to remove these files through
# the /usr/share/nvidia symlink. Restore them.
for file in %{nvidia_datadir}/pci.ids %{nvidia_datadir}/monitoring.conf; do
	backupfile="%{_datadir}/%{drivername}/$(basename "$file").mga"
	if ! [ -e $file ] && [ -e "$backupfile" ]; then
		ln -T "$backupfile" "$file"
	fi
done
# update-alternatives from older packages might remove libvdpau_nvidia.so.1 links, restore them
if [ ! -e %{nvidia_libdir}/vdpau/libvdpau_nvidia.so.1 ]; then
	ln -sf %{_libdir}/vdpau/libvdpau_nvidia.so.%{version} %{_libdir}/vdpau/libvdpau_nvidia.so.1
	ln -sf %{_prefix}/lib/vdpau/libvdpau_nvidia.so.%{version} %{_prefix}/lib/vdpau/libvdpau_nvidia.so.1
fi

%postun -n %{driverpkgname}
if [ ! -f %{_sysconfdir}/%{drivername}/ld.so.conf ]; then
  %{_sbindir}/update-alternatives --remove gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf
fi

%post -n %{drivername}-cuda-opencl
if [ ! -f %{_sysconfdir}/%{drivername}/ld.so.conf ]; then
    touch %{_sysconfdir}/ld.so.conf.d/%{drivername}-cuda.conf
fi

%post -n dkms-%{drivername}
    /usr/sbin/dkms --rpm_safe_upgrade add -m %{drivername} -v %{version}-%{release}
if [ -z "$DURING_INSTALL" ] ; then
    /usr/sbin/dkms --rpm_safe_upgrade build -m %{drivername} -v %{version}-%{release} &&
    /usr/sbin/dkms --rpm_safe_upgrade install -m %{drivername} -v %{version}-%{release} --force
    /usr/bin/dracut -f
fi

# rmmod any old driver if present and not in use (e.g. by X)
rmmod nvidia > /dev/null 2>&1 || true

%preun -n dkms-%{drivername}
/usr/sbin/dkms --rpm_safe_upgrade remove -m %{drivername} -v %{version}-%{release} --all

# rmmod any old driver if present and not in use (e.g. by X)
rmmod nvidia_uvm > /dev/null 2>&1 || true
rmmod nvidia_drm > /dev/null 2>&1 || true
rmmod nvidia_modeset > /dev/null 2>&1 || true
rmmod nvidia > /dev/null 2>&1 || true

%clean
rm -rf %{buildroot}

%files -n %{driverpkgname} -f %{pkgname}/nvidia.files
%defattr(-,root,root)
# other documentation files are listed in nvidia.files
%doc README.install.urpmi README.manual-setup


# ld.so.conf, modprobe.conf, xinit
%ghost %{_sysconfdir}/ld.so.conf.d/GL.conf
%ghost %{_sysconfdir}/X11/xinit.d/nvidia-settings.xinit
%ghost %{_sysconfdir}/modprobe.d/display-driver.conf
%dir %{_sysconfdir}/%{drivername}
%{_sysconfdir}/%{drivername}/modprobe.conf
%{_sysconfdir}/%{drivername}/ld.so.conf
%{_sysconfdir}/%{drivername}/nvidia-settings.xinit

%{_systemd_util_dir}/system-sleep/nvidia
%{_unitdir}/nvidia-hibernate.service
%{_unitdir}/nvidia-resume.service
%{_unitdir}/nvidia-suspend.service

%config(noreplace) %{_sysconfdir}/X11/xorg.conf.d/10-nvidia.conf
%{_sysconfdir}/vulkan/icd.d/nvidia_icd.json
%{_sysconfdir}/vulkan/implicit_layer.d/nvidia_layers.json
%{_datadir}/glvnd/egl_vendor.d/10_nvidia.json

%dir %{nvidia_datadir}
%{nvidia_datadir}/nvidia-application-profiles-%{version}-rc
%{nvidia_datadir}/nvidia-application-profiles-%{version}-key-documentation
%dir %{nvidia_datadir_std}
%{nvidia_datadir_std}/nvidia-application-profiles-%{version}-rc
%{nvidia_datadir_std}/nvidia-application-profiles-%{version}-key-documentation
%{nvidia_datadir_std}/nvidia-application-profiles-key-documentation

%{nvidia_bindir}/nvidia-bug-report.sh
%{nvidia_bindir}/nvidia-debugdump
%{nvidia_bindir}/nvidia-settings
%{nvidia_bindir}/nvidia-sleep.sh
%{nvidia_bindir}/nvidia-xconfig
%{_mandir}/man1/nvidia-xconfig.1%{_extension}
%{_mandir}/man1/nvidia-settings.1%{_extension}

%{_datadir}/applications/mageia-nvidia-settings.desktop
%{_iconsdir}/hicolor/16x16/apps/%{drivername}-settings.png
%{_iconsdir}/hicolor/32x32/apps/%{drivername}-settings.png
%{_iconsdir}/hicolor/48x48/apps/%{drivername}-settings.png

# vdpau
%dir %{nvidia_libdir}/vdpau
# ensure this file is not removed by upgrades from previous package releases
%{_libdir}/libvdpau_nvidia.so.1
%{_libdir}/libvdpau_nvidia.so.%{version}
# this file is dlopened sometimes, so not for -devel
%{nvidia_libdir}/libvdpau_nvidia.so
%{nvidia_libdir}/vdpau/libvdpau_nvidia.so.1
%{nvidia_libdir}/vdpau/libvdpau_nvidia.so.%{version}
#
%dir %{nvidia_libdir32}/vdpau
# ensure this file is not removed by upgrades from previous package releases
%{_prefix}/lib/libvdpau_nvidia.so.1
%{_prefix}/lib/libvdpau_nvidia.so.%{version}
# this file is dlopened sometimes, so not for devel
%{nvidia_libdir32}/libvdpau_nvidia.so
%{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.1
%{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.%{version}
# wine
%{nvidia_libdir32}/nvidia/wine/_nvngx.dll
%{nvidia_libdir32}/nvidia/wine/nvngx.dll

# GLX libs
%{nvidia_libdir}/libEGL_nvidia.so.0
%{nvidia_libdir}/libEGL_nvidia.so.%{version}
%{nvidia_libdir}/libGLESv1_CM_nvidia.so.1
%{nvidia_libdir}/libGLESv1_CM_nvidia.so.%{version}
%{nvidia_libdir}/libGLESv2_nvidia.so.2
%{nvidia_libdir}/libGLESv2_nvidia.so.%{version}
%{nvidia_libdir}/libGLX_nvidia.so.0
%{nvidia_libdir}/libGLX_nvidia.so.%{version}
%{nvidia_libdir}/libnvidia-allocator.so.1
%{nvidia_libdir}/libnvidia-allocator.so.%{version}
%{nvidia_libdir}/libnvidia-cbl.so.%{version}
%{nvidia_libdir}/libnvidia-cfg.so.1
%{nvidia_libdir}/libnvidia-cfg.so.%{version}
%{nvidia_libdir}/libnvidia-eglcore.so.%{version}
%{nvidia_libdir}/libnvidia-fbc.so.1
%{nvidia_libdir}/libnvidia-fbc.so.%{version}
%{nvidia_libdir}/libnvidia-glcore.so.%{version}
%{nvidia_libdir}/libnvidia-glsi.so.%{version}
%{nvidia_libdir}/libnvidia-glvkspirv.so.%{version}
%{nvidia_libdir}/libnvidia-gtk2.so.%{version}
%{nvidia_libdir}/libnvidia-gtk3.so.%{version}
%{nvidia_libdir}/libnvidia-ifr.so.1
%{nvidia_libdir}/libnvidia-ifr.so.%{version}
%{nvidia_libdir}/libnvidia-ngx.so.1
%{nvidia_libdir}/libnvidia-ngx.so.%{version}
%{nvidia_libdir}/libnvidia-rtcore.so.%{version}
%{nvidia_libdir}/libnvidia-tls.so.%{version}
%{nvidia_libdir}/libnvoptix.so.1
%{nvidia_libdir}/libnvoptix.so.%{version}
%{nvidia_libdir32}/libEGL_nvidia.so.0
%{nvidia_libdir32}/libEGL_nvidia.so.%{version}
%{nvidia_libdir32}/libGLESv1_CM_nvidia.so.1
%{nvidia_libdir32}/libGLESv1_CM_nvidia.so.%{version}
%{nvidia_libdir32}/libGLESv2_nvidia.so.2
%{nvidia_libdir32}/libGLESv2_nvidia.so.%{version}
%{nvidia_libdir32}/libGLX_nvidia.so.0
%{nvidia_libdir32}/libGLX_nvidia.so.%{version}
%{nvidia_libdir32}/libnvidia-allocator.so
%{nvidia_libdir32}/libnvidia-allocator.so.1
%{nvidia_libdir32}/libnvidia-allocator.so.%{version}
%{nvidia_libdir32}/libnvidia-eglcore.so.%{version}
%{nvidia_libdir32}/libnvidia-fbc.so.1
%{nvidia_libdir32}/libnvidia-fbc.so.%{version}
%{nvidia_libdir32}/libnvidia-glcore.so.%{version}
%{nvidia_libdir32}/libnvidia-glsi.so.%{version}
%{nvidia_libdir32}/libnvidia-glvkspirv.so.%{version}
%{nvidia_libdir32}/libnvidia-ifr.so.1
%{nvidia_libdir32}/libnvidia-ifr.so.%{version}
%{nvidia_libdir32}/libnvidia-tls.so.%{version}
# vulcan
%{nvidia_libdir}/libnvidia-vulkan-producer.so.%{version}

# nvidia glxserver
%{nvidia_extensionsdir}/libglxserver_nvidia.so.%{version}
%{nvidia_extensionsdir}/libglxserver_nvidia.so
%{nvidia_driversdir}/nvidia_drv.so
%{nvidia_old_driversdir}/libglx.so

%files -n %{drivername}-devel
%defattr(-,root,root)
%{nvidia_libdir}/libnvcuvid.so
%{nvidia_libdir}/libnvidia-allocator.so
%{nvidia_libdir}/libnvidia-cfg.so
%{nvidia_libdir}/libnvidia-encode.so
%{nvidia_libdir}/libnvidia-fbc.so
%{nvidia_libdir}/libnvidia-ifr.so
%{nvidia_libdir}/libnvidia-ml.so
%{nvidia_libdir}/libnvidia-opticalflow.so
%{nvidia_libdir}/libnvidia-vulkan-producer.so
%{nvidia_libdir32}/libnvcuvid.so
%{nvidia_libdir32}/libnvidia-encode.so
%{nvidia_libdir32}/libnvidia-fbc.so
%{nvidia_libdir32}/libnvidia-ifr.so
%{nvidia_libdir32}/libnvidia-ml.so
%{nvidia_libdir32}/libnvidia-opticalflow.so

%files -n dkms-%{drivername}
%defattr(-,root,root)
%license %{pkgname}/LICENSE
%{_usrsrc}/%{drivername}-%{version}-%{release}
%{_udevrulesdir}/81-nvidia.rules
%{_udevrulesdir}/81-nvidia-pm.rules
%config(noreplace) %{_sysconfdir}/dracut.conf.d/99-nvidia.conf
/lib/firmware/nvidia/%{version}/gsp.bin

%files -n %{drivername}-doc-html -f %pkgname/nvidia-html.files
%defattr(-,root,root)

%files -n %{drivername}-cuda-opencl
%defattr(-,root,root)
%dir %{_sysconfdir}/OpenCL
%dir %{_sysconfdir}/OpenCL/vendors
%{_sysconfdir}/OpenCL/vendors/nvidia.icd
%ghost %{_sysconfdir}/ld.so.conf.d/%{drivername}-cuda.conf
%{nvidia_libdir}/libcuda.so
%{nvidia_libdir}/libcuda.so.1
%{nvidia_libdir}/libcuda.so.%{version}
%{nvidia_libdir}/libnvcuvid.so.1
%{nvidia_libdir}/libnvcuvid.so.%{version}
%{nvidia_libdir}/libnvidia-compiler.so.%{version}
%{nvidia_libdir}/libnvidia-encode.so.1
%{nvidia_libdir}/libnvidia-encode.so.%{version}
%{nvidia_libdir}/libnvidia-ml.so.1
%{nvidia_libdir}/libnvidia-ml.so.%{version}
%{nvidia_libdir}/libnvidia-nvvm.so
%{nvidia_libdir}/libnvidia-nvvm.so.4
%{nvidia_libdir}/libnvidia-nvvm.so.4.0.0
%{nvidia_libdir}/libnvidia-opencl.so.1
%{nvidia_libdir}/libnvidia-opencl.so.%{version}
%{nvidia_libdir}/libnvidia-opticalflow.so.1
%{nvidia_libdir}/libnvidia-opticalflow.so.%{version}
%{nvidia_libdir}/libnvidia-ptxjitcompiler.so
%{nvidia_libdir}/libnvidia-ptxjitcompiler.so.1
%{nvidia_libdir}/libnvidia-ptxjitcompiler.so.%{version}
%{nvidia_libdir32}/libcuda.so
%{nvidia_libdir32}/libcuda.so.1
%{nvidia_libdir32}/libcuda.so.%{version}
%{nvidia_libdir32}/libnvcuvid.so.1
%{nvidia_libdir32}/libnvcuvid.so.%{version}
%{nvidia_libdir32}/libnvidia-compiler.so.%{version}
%{nvidia_libdir32}/libnvidia-encode.so.1
%{nvidia_libdir32}/libnvidia-encode.so.%{version}
%{nvidia_libdir32}/libnvidia-ml.so.1
%{nvidia_libdir32}/libnvidia-ml.so.%{version}
%{nvidia_libdir32}/libnvidia-opencl.so.1
%{nvidia_libdir32}/libnvidia-opencl.so.%{version}
%{nvidia_libdir32}/libnvidia-opticalflow.so.1
%{nvidia_libdir32}/libnvidia-opticalflow.so.%{version}
%{nvidia_libdir32}/libnvidia-ptxjitcompiler.so
%{nvidia_libdir32}/libnvidia-ptxjitcompiler.so.1
%{nvidia_libdir32}/libnvidia-ptxjitcompiler.so.%{version}
%{nvidia_bindir}/nvidia-cuda-mps-control
%{nvidia_bindir}/nvidia-cuda-mps-server
%{_mandir}/man1/nvidia-cuda-mps-control.1%{_extension}

%files -n %{drivername}-utils
%defattr(-,root,root)
%{nvidia_bindir}/nvidia-modprobe
%{nvidia_bindir}/nvidia-persistenced
%{nvidia_bindir}/nvidia-smi
%{nvidia_bindir}/nvidia-ngx-updater
%{_mandir}/man1/nvidia-modprobe.1%{_extension}
%{_mandir}/man1/nvidia-persistenced.1%{_extension}
%{_mandir}/man1/nvidia-smi.1%{_extension}

%files -n %{drivername}-lib32
%defattr(-,root,root)

%files -n %{drivername}-all
%defattr(-,root,root)


%changelog
* Wed Jun 28 2023 tmb <tmb> 470.199.02-1.mga9
+ Revision: 1963275
- update to 470.199.02 (security fixes)

* Mon May 29 2023 ghibo <ghibo> 470.182.03-5.mga9.nonfree
+ Revision: 1959690
- Add Conflicts also between dkms modules

* Sat May 27 2023 ghibo <ghibo> 470.182.03-4.mga9.nonfree
+ Revision: 1959297
- Add more conflicts with other nvidia series drivers.
- Add nvidia470-all meta package to install all the packages set (except -devel) at once.
- Drop nvidia-current-cuda-opencl from x11-driver-video-nvidia-current Requires.
- Add "alias nvidia nvidia470" in /etc/nvidia470/modprobe.conf as sometimes (e.g. just after a drakx11 reconfigure) X fails to start

* Wed May 17 2023 ghibo <ghibo> 470.182.03-3.mga9.nonfree
+ Revision: 1957149
- Add explicit conflicts against nvidia-current (bug #31874)

* Mon Apr 24 2023 tmb <tmb> 470.182.03-2.mga9.nonfree
+ Revision: 1954816
- add support for kernel 6.3 series (Arch)

* Fri Mar 31 2023 tmb <tmb> 470.182.03-1.mga9.nonfree
+ Revision: 1950958
- update to 470.182.03

* Fri Mar 03 2023 tmb <tmb> 470.161.03-2.mga9.nonfree
+ Revision: 1946854
- fix build with kernel 6.2 series (Arch)

* Tue Nov 22 2022 tmb <tmb> 470.161.03-1.mga9.nonfree
+ Revision: 1910344
- update to 470.161.03

* Fri Oct 07 2022 ghibo <ghibo> 470.141.03-4.mga9.nonfree
+ Revision: 1895342
- Import fix for building under kernel 6.0 (bug #30946)
- Add nvidia-peermem to dracut skip list.

* Mon Oct 03 2022 ghibo <ghibo> 470.141.03-3.mga9.nonfree
+ Revision: 1894431
- Try to avoid udev "storming" on drivers update (since nv kernel modules won't be removed while X11 is loaded).

* Sat Sep 17 2022 tmb <tmb> 470.141.03-2.mga9.nonfree
+ Revision: 1889559
- require ldetect-lst 0.6.40-1
- update card naming to match reality

* Sun Aug 07 2022 tmb <tmb> 470.141.03-1.mga9.nonfree
+ Revision: 1875850
- update to 470.141.03

* Mon May 16 2022 tmb <tmb> 470.129.06-1.mga9.nonfree
+ Revision: 1858446
- update to 470.129.06

* Fri Apr 15 2022 umeabot <umeabot> 470.103.01-3.mga9.nonfree
+ Revision: 1850451
- Mageia 9 Mass Rebuild

* Wed Mar 09 2022 tmb <tmb> 470.103.01-2.mga9.nonfree
+ Revision: 1790149
- rebuild with gcc 12

* Mon Feb 14 2022 ghibo <ghibo> 470.103.01-1.mga9.nonfree
+ Revision: 1774559
- Build package as nvidia470 and not nvidia-current
- Update to release 470.103.01.
- Sync name and drivername to 470.
- Rename nvidia-current to nvidia470
- clone nvidia470 from nvidia-current.
- Add dkms building of nvidia-peermem kernel module (see https://us.download.nvidia.com/XFree86/Linux-x86_64/470.86/README/nvidia-peermem.html and https://docs.nvidia.com/cuda/gpudirect-rdma/index.html#nvidia-peermem)
+ tmb <tmb>
- update to 470.94

* Thu Nov 11 2021 tmb <tmb> 470.86-1.mga9.nonfree
+ Revision: 1755879
- update to 470.86

* Mon Oct 04 2021 tmb <tmb> 470.74-3.mga9.nonfree
+ Revision: 1749403
- rebuild for release as it does support xorg 21.1

* Mon Oct 04 2021 tmb <tmb> 470.74-2.mga9.nonfree
+ Revision: 1749350
- bump xserver-abi to test if it works with xserver 21.1

* Mon Sep 20 2021 tmb <tmb> 470.74-1.mga9.nonfree
+ Revision: 1746100
- update to 470.74

* Tue Aug 24 2021 tmb <tmb> 470.63.01-2.mga9.nonfree
+ Revision: 1742512
- filter out libEGL_nvidia.so deps

* Sun Aug 22 2021 tmb <tmb> 470.63.01-1.mga9.nonfree
+ Revision: 1742224
- update to 470.63.01

* Mon Jul 19 2021 tmb <tmb> 470.57.02-1.mga9.nonfree
+ Revision: 1737061
- update filelists
- update to new R470 production branch, currently 470.57.02

* Thu Jun 03 2021 tmb <tmb> 460.84-1.mga9.nonfree
+ Revision: 1729500
- update to 460.84

* Tue May 11 2021 tmb <tmb> 460.80-1.mga9.nonfree
+ Revision: 1722497
- update to 460.80

* Tue Apr 27 2021 tmb <tmb> 460.73.01-2.mga9.nonfree
+ Revision: 1720052
- rebuild with gcc 11.1

* Tue Apr 27 2021 tmb <tmb> 460.73.01-1.mga9.nonfree
+ Revision: 1720051
- update to 460.73.01

* Tue Apr 27 2021 tmb <tmb> 460.67-3.mga9.nonfree
+ Revision: 1720040
- rebuild with gcc 11.1

* Fri Apr 02 2021 tmb <tmb> 460.67-2.mga9.nonfree
+ Revision: 1712725
- rebuild with gcc 10.3.0

* Fri Mar 19 2021 tmb <tmb> 460.67-1.mga9.nonfree
+ Revision: 1704854
- update to 460.67

* Fri Feb 26 2021 tmb <tmb> 460.56-1.mga9.nonfree
+ Revision: 1692329
- update to 460.56

* Fri Jan 29 2021 ghibo <ghibo> 460.39-2.mga8.nonfree
+ Revision: 1673963
- Add missed link for unversioned nvidia-application-profiles-key-documentation, required to nvidia-settings.
- Remove "auto" argument from SLI Option in config file, no longer supported (see: http://download.nvidia.com/XFree86/Linux-x86_64/460.39/README/xconfigoptions.html)

* Tue Jan 26 2021 tmb <tmb> 460.39-1.mga8.nonfree
+ Revision: 1673584
- update to 460.39

* Thu Jan 07 2021 ghibo <ghibo> 460.32.03-1.mga8.nonfree
+ Revision: 1669706
- Update to release 460.32.03
- Update alt drivername to 460

* Thu Dec 17 2020 ghibo <ghibo> 460.27.04-1.mga8.nonfree
+ Revision: 1660521
- BR libtirpc
- Update to release 460.27.04.
- Remove kmalloc patch (merged upstream).
- Update files list.

* Fri Nov 20 2020 ghibo <ghibo> 455.45.01-1.mga8.nonfree
+ Revision: 1647986
- Update to release 455.45.01.
- Add patch to fix stability over huge memory transfers.

* Thu Oct 29 2020 ghibo <ghibo> 455.38-1.mga8.nonfree
+ Revision: 1640522
- Update to release 455.38 (add support for RTX 3070)

* Fri Oct 09 2020 ghibo <ghibo> 455.28-4.mga8.nonfree
+ Revision: 1633041
- Fix udev rules to use fixed dev node number as /proc/devices might be not yet propagated

* Fri Oct 09 2020 ghibo <ghibo> 455.28-3.mga8.nonfree
+ Revision: 1633036
- Update udev rules to create nodes only conditionally when not yet existing

* Thu Oct 08 2020 ghibo <ghibo> 455.28-2.mga8.nonfree
+ Revision: 1632860
- Move udev rules and dracut exceptions to dkms subpackage (suggested by Juan Magallon)

* Thu Oct 08 2020 ghibo <ghibo> 455.28-1.mga8.nonfree
+ Revision: 1632755
- Other fixes to 81-nvidia.rules
- Fix udev rules for bug #27365
- Split udev rules
- Update to release 455.28

* Tue Oct 06 2020 ghibo <ghibo> 455.23.05-4.mga8.nonfree
+ Revision: 1632455
- Fix for bug #27365

* Sat Sep 26 2020 ghibo <ghibo> 455.23.05-3.mga8.nonfree
+ Revision: 1630590
- Add BR vaapi-driver-vdpau for vdpau support
- More udev rules from nvidia-cuda-toolkit 11.1
- Update to release 455.23.05 from nvidia-cuda-toolkit 11.1
- Don't include nvidia modules in initramfs
- Fix path for nvidia-application-profiles-key-documentation
- Fix typo in devel package
- Remove libnvidia-egl-wayland.so.* from package (bug #27295) and add corresponding requires from system packages
- Add symlink for fixing bug #27247
- SPEC file cleanup
- Allow use of internal utils with different version than main one
- Sync files list with 455.23.05 (added nvidia-ngx-updater)
- Drop nvidia.icd from updates-alternatives
- Add udev rules
- Add nvidia-drm to xorg.conf.d
- Fix nvidia_layers.json position
- Fix tab/spaces to spec file (ran a rpmlint pass)

* Fri Sep 11 2020 ghibo <ghibo> 450.66-3.mga8.nonfree
+ Revision: 1624819
- Don't let nouveau modeset=0 in the same nvidia modprobe conf file (better elsewhere).

* Fri Sep 11 2020 ghibo <ghibo> 450.66-2.mga8.nonfree
+ Revision: 1624572
- streamline updates-alternatives: drop xorg glx.so (thanks to Juan Magallón).
- add nouveau.modeset=0 to nvidia's modprobe.conf.
- add 32bit subpackage to resolve 32bit libglvnd dependencies.
- Update to release 450.66.
- Remove empty %%post.
- Don't own /usr/bin, /usr/lib/, /usr/lib64 (fix youri testing).
- Switch to native nvidia glvnd.

* Fri Aug 07 2020 ghibo <ghibo> 450.57-3.mga8.nonfree
+ Revision: 1611915
- Add temporary workaround for bug #27029.

* Thu Jul 23 2020 ghibo <ghibo> 450.57-2.mga8.nonfree
+ Revision: 1608487
- Build modules with IGNORE_CC_MISMATCH to avoid building fails when a compiler is updated past kernel.

* Fri Jul 10 2020 ghibo <ghibo> 450.57-1.mga8.nonfree
+ Revision: 1604263
- Update to release 450.57

* Sun Jun 28 2020 ghibo <ghibo> 440.100-2.mga8.nonfree
+ Revision: 1600161
- Don't fix cards group name, revert to previous 635 to keep in sync with previous choice (for ldetect-lst).

* Sun Jun 28 2020 ghibo <ghibo> 440.100-1.mga8.nonfree
+ Revision: 1600088
- Drop ftp flag as alternative sources (no longer works).
- Update to release 440.100.
- Drop patch5 and patch6 (merged upstream).
- Fix minimal cardname to GT 630 instead of GT 635 (according to https://www.nvidia.com/Download/driverResults.aspx/160175/en-us).
- temporary disable glvnd work to let driver works as before.
- rename nvidia-settings-kernel-5.7.patch (as not related to nvidia-settings).
- introduce conditional flag to swap to and from nvidia-current as package name.
- add conditional flag to build libglvnd internally thus overlapping the nvidia ones.
- add some entry to the parser classifier.
- add libGLX to requires exceptions.
+ neoclust <neoclust>
- Add P6 to add kernel 5.7 support
+ cheeseeboi <cheeseeboi>
- Modified file paths to fit standards better
- Removed possible conflicts with libglvnd, mesa, xorg, (etc)
- Fixed some dependencies (note that nvidia-current-devel needs more work, see comment on line 203)
- Fixed some macros and added some more files, the package should BUILD now. More testing with libglvnd needs to be done to allow for installation
- Updated package to 440.82
- Fixed some old makefile macros
- Package now requires libglvnd
+ tmb <tmb>
- rebuild with gcc 10.1

* Sat Apr 11 2020 tmb <tmb> 430.64-8.mga8.nonfree
+ Revision: 1566237
- fix build with kernel 5.6

* Tue Mar 10 2020 tmb <tmb> 430.64-6.mga8.nonfree
+ Revision: 1555280
- rebuild with gcc 9.3.0

* Fri Feb 21 2020 umeabot <umeabot> 430.64-5.mga8.nonfree
+ Revision: 1548640
- Mageia 8 Mass Rebuild

* Sun Feb 09 2020 tmb <tmb> 430.64-4.mga8.nonfree
+ Revision: 1488301
- fix build with 5.5 series kernels (Arch)

* Sun Dec 29 2019 tmb <tmb> 430.64-2.mga8.nonfree
+ Revision: 1474849
- fix mis-detection of NV_SET_MEMORY_ARRAY_UC_PRESENT in 5.4 series kernels (mga#25890)

* Wed Nov 06 2019 tmb <tmb> 430.64-1.mga8.nonfree
+ Revision: 1458495
- rollback to R430 branch for non-glvnd support, and update to 430.64

* Mon Nov 04 2019 tmb <tmb> 440.31-1.mga8.nonfree
+ Revision: 1457703
- update to 440.31

* Thu Sep 12 2019 tmb <tmb> 430.50-1.mga8.nonfree
+ Revision: 1440117
- update to 430.50

* Tue Aug 13 2019 tmb <tmb> 430.40-2.mga8.nonfree
+ Revision: 1429251
- rebuild with gcc 9.2

* Tue Jul 30 2019 tmb <tmb> 430.40-1.mga8.nonfree
+ Revision: 1425934
- update to 430.40

* Sat Jul 20 2019 tmb <tmb> 430.34-1.mga8.nonfree
+ Revision: 1423164
- update to 430.34

* Mon Jun 10 2019 tmb <tmb> 430.26-1.mga7.nonfree
+ Revision: 1399784
- more headless cuda fixes
- update ldetect-lst deps
- update to 430.26

* Sun May 26 2019 tmb <tmb> 430.14-4.mga7.nonfree
+ Revision: 1399229
- fix post scripts in cuda-opencl and utils package

* Sun May 26 2019 tmb <tmb> 430.14-3.mga7.nonfree
+ Revision: 1399211
- more cuda fixes

* Sun May 26 2019 tmb <tmb> 430.14-2.mga7.nonfree
+ Revision: 1399207
- move nvidia-smi and nvidia-persistenced to separate nvidia-current-utils package for headless cuda
- move cuda libs and tools to correct package
- drop ancient nvidia97xx alternatives stuff
- allow devel and doc stuff to be installed without x11-driver-video-nvidia-current

* Tue May 14 2019 tmb <tmb> 430.14-1.mga7.nonfree
+ Revision: 1397712
- update to 430.14 (new long lived branch)

* Sat May 11 2019 tmb <tmb> 418.74-2.mga7.nonfree
+ Revision: 1397199
- recreate initrd of running kernel so the new module gets added in the initrd

* Wed May 08 2019 tmb <tmb> 418.74-1.mga7.nonfree
+ Revision: 1396722
- update to 418.74

* Tue Apr 16 2019 tmb <tmb> 418.56-2.mga7.nonfree
+ Revision: 1391683
- fix build with kernel 5.1

* Wed Mar 20 2019 tmb <tmb> 418.56-1.mga7.nonfree
+ Revision: 1379313
- update to 418.56
- drop obsolete provides/obsoletes/conflicts
- update requires on ldetect-lst for latest pci ids

* Sat Feb 23 2019 tmb <tmb> 418.43-1.mga7.nonfree
+ Revision: 1369417
- update to 418.43 from new R418 longterm branch

* Sat Jan 12 2019 tmb <tmb> 410.93-2.mga7.nonfree
+ Revision: 1355646
- x11-driver: provide x11-driver-video-nvidia-bumblebee

* Sat Jan 05 2019 tmb <tmb> 410.93-1.mga7.nonfree
+ Revision: 1349907
- update to 410.93

* Mon Nov 26 2018 tmb <tmb> 410.78-2.mga7.nonfree
+ Revision: 1335661
- add libglx compat symlinks (mga#23901)

* Fri Nov 16 2018 tmb <tmb> 410.78-1.mga7.nonfree
+ Revision: 1330107
- update to 410.78

* Sat Oct 27 2018 tmb <tmb> 410.73-1.mga7.nonfree
+ Revision: 1326168
- update to 410.73

* Wed Oct 17 2018 tmb <tmb> 410.66-1.mga7.nonfree
+ Revision: 1321692
- update to 410.66

* Sat Oct 06 2018 tmb <tmb> 410.57-2.mga7.nonfree
+ Revision: 1318265
- require ldetect-lst >= 0.5.1-1 for fixed pci ids
- Fix ldetect Card++ name for backports

* Mon Oct 01 2018 tmb <tmb> 410.57-1.mga7.nonfree
+ Revision: 1314493
- this driver is for GeForce 635 and later (64bit only)
- update filelists
- nvidia-current is now x86_64 only
- update to 410.57 for RTX 20xx (Turing) support

* Thu Sep 20 2018 umeabot <umeabot> 390.87-2.mga7.nonfree
+ Revision: 1281316
- Mageia 7 Mass Rebuild

* Tue Aug 28 2018 tmb <tmb> 390.87-1.mga7.nonfree
+ Revision: 1255116
- update to 390.87

* Mon Jul 30 2018 tmb <tmb> 390.77-3.mga7.nonfree
+ Revision: 1245895
- rebuild with gcc 8.2

* Tue Jul 17 2018 tmb <tmb> 390.77-2.mga7.nonfree
+ Revision: 1243969
- set up Vulkan ICD

* Tue Jul 17 2018 tmb <tmb> 390.77-1.mga7.nonfree
+ Revision: 1243959
- update to 390.77

* Wed Jun 06 2018 tmb <tmb> 390.67-1.mga7.nonfree
+ Revision: 1235031
- update to 390.67

* Mon Jun 04 2018 tmb <tmb> 390.59-3.mga7.nonfree
+ Revision: 1234453
- rebuild for xorg 1.20

* Thu May 17 2018 tmb <tmb> 390.59-2.mga7.nonfree
+ Revision: 1230007
- fix videodrv_abi to match xorg 1.20

* Thu May 17 2018 tmb <tmb> 390.59-1.mga7.nonfree
+ Revision: 1230006
- update to 390.59 (xorg 1.20 support)

* Sat Mar 31 2018 tmb <tmb> 390.48-1.mga7.nonfree
+ Revision: 1213984
- update to 390.48

* Tue Mar 13 2018 tmb <tmb> 390.42-1.mga7.nonfree
+ Revision: 1208903
- update filelist
- update to 390.42

* Thu Feb 01 2018 tmb <tmb> 390.25-1.mga7.nonfree
+ Revision: 1198499
- update to 390.25 from new R390 long lived branch

* Fri Jan 05 2018 tmb <tmb> 384.111-1.mga7.nonfree
+ Revision: 1190313
- update to 384.111

* Fri Dec 22 2017 tmb <tmb> 384.98-2.mga7.nonfree
+ Revision: 1183977
- fix build with 4.14.9-rc1 (noted by Juan Magallon on dev ml)

* Sat Nov 04 2017 tmb <tmb> 384.98-1.mga7.nonfree
+ Revision: 1175831
- update to 384.98

* Wed Oct 04 2017 tmb <tmb> 384.90-2.mga7.nonfree
+ Revision: 1168738
- update nvidia-modprobe/persistenced/settings/xconfig helper packages to final revisions

* Sat Sep 23 2017 tmb <tmb> 384.90-1.mga7.nonfree
+ Revision: 1157817
- update to 384.90

* Sat Sep 02 2017 tmb <tmb> 384.69-2.mga7.nonfree
+ Revision: 1150673
- rebuild with new gcc/binutils

* Sat Aug 26 2017 tmb <tmb> 384.69-1.mga7.nonfree
+ Revision: 1148135
- update to 384.69

* Sun Aug 13 2017 tmb <tmb> 384.59-1.mga7.nonfree
+ Revision: 1140115
- update to 384.59 from new R384 long lived branch

* Tue Aug 01 2017 tmb <tmb> 375.82-1.mga7.nonfree
+ Revision: 1133741
- update to 375.82

* Wed May 10 2017 tmb <tmb> 375.66-3.mga6.nonfree
+ Revision: 1100067
- really upload new nvidia-modprobe

* Wed May 10 2017 tmb <tmb> 375.66-2.mga6.nonfree
+ Revision: 1100063
- update nvidia-settings and nvidia-modprobe tarballs to final versions

* Fri May 05 2017 tmb <tmb> 375.66-1.mga6.nonfree
+ Revision: 1099150
- update to 375.66

* Mon Apr 03 2017 tmb <tmb> 375.39-6.mga6.nonfree
+ Revision: 1095861
- disable broken phys_to_dma() check on i586 (mga#20192)

* Thu Mar 30 2017 tmb <tmb> 375.39-5.mga6.nonfree
+ Revision: 1095413
- fix dkms post script

* Thu Mar 30 2017 tmb <tmb> 375.39-4.mga6.nonfree
+ Revision: 1095388
- classic install: do add the driver to dkms list or it wont be built on boot

* Thu Mar 30 2017 tmb <tmb> 375.39-3.mga6.nonfree
+ Revision: 1095364
- do trigger dkms build on dkms package update (now where is that brown paper bag...)

* Thu Mar 30 2017 tmb <tmb> 375.39-2.mga6.nonfree
+ Revision: 1095303
- dont trigger dkms build during classical install

* Tue Feb 14 2017 tmb <tmb> 375.39-1.mga6.nonfree
+ Revision: 1086194
- update to 375.39

* Wed Dec 14 2016 tmb <tmb> 375.26-1.mga6.nonfree
+ Revision: 1075226
- update to 375.26

* Sat Dec 10 2016 ngompa <ngompa> 375.20-2.mga6.nonfree
+ Revision: 1074133
- Remove unneeded %%pretrans

* Tue Nov 22 2016 tmb <tmb> 375.20-1.mga6.nonfree
+ Revision: 1068733
- remove duplicated lines in .manifest only needed on x86_64
- remove duplicated lines in .manifest
- update filelists
- update to 375.20 (official xorg 1.19 support)

* Mon Nov 14 2016 tmb <tmb> 367.57-2.mga6.nonfree
+ Revision: 1067169
- arrange module order in dkms.conf so it builds properly on 32bit (mga#19654)

* Mon Oct 10 2016 tmb <tmb> 367.57-1.mga6.nonfree
+ Revision: 1060048
- update to 367.57
  * drop obsoleted buildfixes

* Fri Oct 07 2016 tmb <tmb> 367.44-3.mga6.nonfree
+ Revision: 1059437
- doh... use correct patch for kernel 4.8 support

* Fri Oct 07 2016 tmb <tmb> 367.44-2.mga6.nonfree
+ Revision: 1059342
- fix build with 4.8 series kernels

* Mon Sep 26 2016 ghibo <ghibo> 367.44-1.mga6.nonfree
+ Revision: 1056246
- Upgrade to release 367.44.
- Add nvidia-drm missed module (credit goes to proyvind, thanks).
- Removed Patch4 and Patch5, merged upstream (sort of).

* Sat Jul 23 2016 tmb <tmb> 367.35-2.mga6.nonfree
+ Revision: 1043455
- rebuild for xorg-server 1.18.4

* Sat Jul 16 2016 tmb <tmb> 367.35-1.mga6.nonfree
+ Revision: 1042289
- update to 367.35

* Tue Jul 05 2016 tmb <tmb> 367.27-3.mga6.nonfree
+ Revision: 1038796
- fix build with kernel 4.7 series

* Wed Jun 15 2016 tmb <tmb> 367.27-2.mga6.nonfree
+ Revision: 1021591
- hook into dkms parallel build support

* Tue Jun 14 2016 tmb <tmb> 367.27-1.mga6.nonfree
+ Revision: 1021483
- update to 367.27 (new Long Lived branch)

* Mon May 30 2016 tmb <tmb> 361.45.11-1.mga6.nonfree
+ Revision: 1019468
- update to 361.45.11

* Sat May 07 2016 tmb <tmb> 361.42-10.mga6.nonfree
+ Revision: 1010185
- obsolete prebuilt kmods as they violate GPL

* Thu Apr 21 2016 tmb <tmb> 361.42-3.mga6.nonfree
+ Revision: 1004039
- ad missing 4.6 fixes for get_user_pages() changes

* Thu Apr 21 2016 tmb <tmb> 361.42-2.mga6.nonfree
+ Revision: 1003994
- submit to /release

* Tue Apr 12 2016 tmb <tmb> 361.42-1.mga6.nonfree
+ Revision: 1000687
- split out uvm fix from P10 as its 64bit only (P11)
- update to 361.42
- fix build with kernel 4.6 (P10)
- handle new GLVND_* & GLX_CLIENT_* .manifest targets
- use 'old' GLX drivers by default
- install 'new' GLVND drivers
- rework handling of subdirs in KERNEL_MODULE_SRC .manifest target
- update dkms.conf for new module build layout
- update filelists

* Fri Jan 29 2016 luigiwalser <luigiwalser> 352.79-2.mga6.nonfree
+ Revision: 928604
- do not require specific version of update-alternatives

* Thu Jan 28 2016 tmb <tmb> 352.79-1.mga6.nonfree
+ Revision: 928297
- update to 352.79

* Sun Jan 17 2016 tmb <tmb> 352.63-3.mga6.nonfree
+ Revision: 925016
- nvidia-current-devel: run ldconfig on post due to a non-standard library directory (mga#14462)

* Sat Dec 05 2015 tmb <tmb> 352.63-2.mga6.nonfree
+ Revision: 908286
- rebuild with gcc 5.3 final

* Wed Nov 18 2015 tmb <tmb> 352.63-1.mga6.nonfree
+ Revision: 904031
- fix filelists
- update to 352.63 (supports xorg 1.18)
- update to 352.41 (CVE-2015-5950)
+ tv <tv>
- rebuild for new xserver

* Fri Aug 21 2015 tmb <tmb> 352.30-3.mga6.nonfree
+ Revision: 867077
- rebuild for new gcc

* Thu Aug 20 2015 tmb <tmb> 352.30-2.mga6
+ Revision: 866760
- rebuild with gcc 5.2.1

* Tue Aug 18 2015 tmb <tmb> 352.30-1.mga6.nonfree
+ Revision: 865504
- update to 352.30

* Sun Jun 21 2015 tmb <tmb> 352.21-1.mga6.nonfree
+ Revision: 837782
- update to 352.21 (new long lived branch)

* Sat Jun 20 2015 tv <tv> 346.72-2.mga6.nonfree
+ Revision: 836008
- rebuild for xserver 1.17

* Fri May 22 2015 tmb <tmb> 346.72-1.mga5.nonfree
+ Revision: 822600
- 346.72 (maintenance/bugfix release)

* Sun Apr 12 2015 tmb <tmb> 346.59-1.mga5.nonfree
+ Revision: 820081
- update to 346.59 -longterm

* Thu Feb 26 2015 tmb <tmb> 346.47-1.mga5.nonfree
+ Revision: 817094
- update to 346.47 (maintenance release)

* Wed Feb 04 2015 tmb <tmb> 346.35-5.mga5.nonfree
+ Revision: 813329
- fix drm trace in logs (dropped by mistake in 346.35 update)

* Mon Jan 26 2015 tmb <tmb> 346.35-4.mga5.nonfree
+ Revision: 812400
- fix broken dkms.conf

* Mon Jan 26 2015 tmb <tmb> 346.35-3.mga5.nonfree
+ Revision: 812394
- uvm module is available only on x86_64

* Mon Jan 26 2015 anssi <anssi> 346.35-2.mga5.nonfree
+ Revision: 812377
- fix libnvidia-gtk*.so* name not matching their SONAME, causing
  nvidia-settings to fail to load

* Mon Jan 26 2015 anssi <anssi> 346.35-1.mga5.nonfree
+ Revision: 812247
- remove extra unneeded __provides_exclude_from added in auto-conversion
- add backward-compatibility definitions for dependency exclusions
- alternativeszificate /usr/share/nvidia as there are now unversioned files
  in there
- use the self-built versions of libnvidia-gtk*.so
- adapt simple mode pcitable generation for new version and new ldetect-lst
- update cards definition as support was dropped for some cards
+ tmb <tmb>
- handle OPENCL_* and XORG_OUTPUTCLASS_CONFIG in manifest
- build gtk+3 UI too
- BR: vdpau-devel >= 0.9
- update to 346.35 (new Long Lived branch)

* Fri Dec 19 2014 tmb <tmb> 340.65-3.mga5.nonfree
+ Revision: 804238
- really fix drm trace with kernel 3.18 (mga#14769, mga#14832)

* Thu Dec 18 2014 tmb <tmb> 340.65-2.mga5.nonfree
+ Revision: 804013
- fix drm trace with kernel 3.18 (mga#14769, mga#14832)

* Wed Dec 10 2014 tmb <tmb> 340.65-1.mga5.nonfree
+ Revision: 802622
- update to 340.65 (improved kernel and xorg support)
- supports X.Org xserver ABI 19

* Thu Nov 13 2014 tmb <tmb> 340.58-1.mga5.nonfree
+ Revision: 796840
- update to 340.58

* Fri Oct 31 2014 tmb <tmb> 340.46-2.mga5.nonfree
+ Revision: 795041
- filter out 32bit requires on x86_64

* Fri Oct 03 2014 tmb <tmb> 340.46-1.mga5.nonfree
+ Revision: 736478
- update to 340.46 from long lived branch (bugfixes)

* Wed Sep 24 2014 tmb <tmb> 340.32-3.mga5.nonfree
+ Revision: 723397
- adapt to new kmod provides

* Sun Sep 21 2014 tmb <tmb> 340.32-2.mga5.nonfree
+ Revision: 701446
- fix up spec conversion mess
+ tv <tv>
- auto convert _exclude_files_from_autoreq
- use %%global for req/prov exclude
- autoconvert to new prov/req excludes
- s/uggests:/Recommends:/

* Fri Aug 29 2014 tmb <tmb> 340.32-1.mga5.nonfree
+ Revision: 669292
- update to 340.32

* Mon Jun 09 2014 tv <tv> 337.25-3.mga5.nonfree
+ Revision: 635084
- submit to core/release

* Fri Jun 06 2014 tv <tv> 337.25-2.mga5
+ Revision: 633732
- rebuild for new xserver RC

* Sat May 31 2014 tmb <tmb> 337.25-1.mga5.nonfree
+ Revision: 629397
- update filelists
- this now supports X.org xserver ABI 18 (xorg server 1.16)
- update to 337.25

* Thu May 29 2014 tmb <tmb> 331.79-1.mga5.nonfree
+ Revision: 627510
- update to 331.79

* Tue May 13 2014 tmb <tmb> 331.67-2.mga5.nonfree
+ Revision: 622572
- rebuild with gcc 4.9

* Sun Apr 27 2014 tmb <tmb> 331.67-1.mga5.nonfree
+ Revision: 618433
- update to 331.67

* Tue Apr 15 2014 tv <tv> 331.49-3.mga5.nonfree
+ Revision: 614337
- rebuild for new xserver

* Sun Mar 23 2014 anssi <anssi> 331.49-2.mga5.nonfree
+ Revision: 607208
- fix nvidia-ifr symlink targets
- handle arch for UTILITY_SYMLINK

* Fri Feb 21 2014 tmb <tmb> 331.49-1.mga5.nonfree
+ Revision: 595302
- update to 331.49
- drop P4 (uvm buildfix, not needed anymore)
- handle EXPLICIT_PATH target in .manifest
- drop duplicated files in filelist
- update fillists

* Tue Feb 04 2014 tv <tv> 331.38-2.mga5.nonfree
+ Revision: 582541
- rebuild for new perl

* Tue Jan 14 2014 tmb <tmb> 331.38-1.mga5.nonfree
+ Revision: 566525
- update to 331.38
- xserver 1.15 is now supported
- rediff P4 (uvm buildfix)

* Sat Jan 04 2014 tmb <tmb> 331.20-11.mga4.nonfree
+ Revision: 564493
- rebuild for testing

* Sun Dec 08 2013 tmb <tmb> 331.20-10.mga4.nonfree
+ Revision: 555916
- fix install of uvm module too

* Sun Dec 08 2013 tmb <tmb> 331.20-9.mga4.nonfree
+ Revision: 555885
- restore old install path as its hardcoded in service_harddrake, making it break installs (#11693)

* Fri Dec 06 2013 tmb <tmb> 331.20-8.mga4.nonfree
+ Revision: 555638
- rebuild for new mesa

* Sat Nov 23 2013 tmb <tmb> 331.20-7.mga4.nonfree
+ Revision: 552644
- push to /release

* Sat Nov 23 2013 tmb <tmb> 331.20-6.mga4.nonfree
+ Revision: 552614
- properly escape the dkms_tree variable

* Sat Nov 23 2013 tmb <tmb> 331.20-5.mga4.nonfree
+ Revision: 552609
- use dkms_tree variable in KBUILD_EXTMOD

* Sat Nov 23 2013 tmb <tmb> 331.20-4.mga4.nonfree
+ Revision: 552597
- make KBUILD_EXTMOD path relative so it works on buildsystem

* Sat Nov 23 2013 tmb <tmb> 331.20-3.mga4.nonfree
+ Revision: 552587
- fix uvm build when CONFIG_UIDGID_STRICT_TYPE_CHECKS is set
- add nvidia-uvm module to dkms build

* Sun Nov 17 2013 tmb <tmb> 331.20-2.mga4.nonfree
+ Revision: 551610
- push to /release

* Wed Nov 13 2013 tmb <tmb> 331.20-1.mga4.nonfree
+ Revision: 551069
- fix filelist
- update to 331.20 (new longterm branch)
- drop merged / obsolete P1, P4, P6, P7
- dont build uvm module for now (broken build)
- update filelists

* Sat Nov 02 2013 tmb <tmb> 319.60-4.mga4.nonfree
+ Revision: 549116
- use upstream fix for num_physpages change in kernel 3.11

* Thu Oct 31 2013 tmb <tmb> 319.60-3.mga4.nonfree
+ Revision: 548452
- Mageia 4 rebuild

* Mon Oct 14 2013 tmb <tmb> 319.60-2.mga4.nonfree
+ Revision: 496721
- fix build with kernel-3.12

* Thu Oct 03 2013 tmb <tmb> 319.60-1.mga4.nonfree
+ Revision: 490939
- update to 319.60

* Sat Aug 24 2013 anssi <anssi> 319.49-2.mga4.nonfree
+ Revision: 470904
- fix requires filtering for NVIFR library

* Wed Aug 21 2013 tmb <tmb> 319.49-1.mga4.nonfree
+ Revision: 469115
- fix rel

* Wed Aug 21 2013 tmb <tmb> 319.49-0.1.mga4.nonfree
+ Revision: 469114
- handle new NVIFR_LIB (OpenGL-based Inband Frame Readback library)
- update to 319.49 (official kernel-3.10 support)

* Sun Aug 11 2013 tmb <tmb> 319.32-5.mga4.nonfree
+ Revision: 465462
- rebuild with new gcc

* Thu Aug 01 2013 tmb <tmb> 319.32-4.mga4.nonfree
+ Revision: 462263
- force gcc 4.8.2 build

* Thu Aug 01 2013 tmb <tmb> 319.32-3.mga4.nonfree
+ Revision: 462230
- fix build with 3.11 series kernels (P6)

* Mon Jul 15 2013 tmb <tmb> 319.32-2.mga4.nonfree
+ Revision: 454790
- fix build with kernel 3.10 (P5, gentoo)

* Fri Jun 28 2013 tmb <tmb> 319.32-1.mga4.nonfree
+ Revision: 447858
- update to 319.32

* Sun Jun 02 2013 tmb <tmb> 319.17-4.mga4.nonfree
+ Revision: 434768
- push to nonfree/release
+ tv <tv>
- submit to nonfree/release

* Fri May 24 2013 tv <tv> 319.17-2.mga4.nonfree
+ Revision: 426105
- rebuild with xserver-1.14

* Fri May 03 2013 anssi <anssi> 319.17-1.mga3.nonfree
+ Revision: 412170
- new long-lived maintenance version 319.17
- update files
- add missing alternatives
- fix pcitable.d generation (when backporting)
- move all alternativeszificated binaries to main driver package
  to avoid broken symlinks

* Sun Apr 07 2013 tmb <tmb> 310.44-1.mga3.nonfree
+ Revision: 408698
- 310.44 (CVE-2013-0131)

* Fri Mar 15 2013 tmb <tmb> 310.40-1.mga3.nonfree
+ Revision: 403308
- update to 310.40 (bugfixes, more hw support)
- cd

* Sun Jan 27 2013 tmb <tmb> 310.32-1.mga3.nonfree
+ Revision: 392601
- drop P5 (kernel 3.8 buildfix, merged)
- update to 310.32

* Thu Jan 10 2013 tmb <tmb> 310.19-2.mga3.nonfree
+ Revision: 344802
- include uapi headers to fix build with kernel-3.8 (P5)

* Wed Nov 21 2012 anssi <anssi> 310.19-1.mga3.nonfree
+ Revision: 320407
- update file lists (XvMC dropped as all cards it supported have been
  dropped)
- handle optional subdir for NVCUVID_LIB and ENCODEAPI_LIB
- update target card string
  o NOTE: this driver now only supports GeForce 8xxx based cards and above
- workaround linking issue of libnvidia-encode.so
+ tmb <tmb>
- add ENCODEAPI_LIB* symbols, update filelists
- update to 310.19

* Thu Oct 25 2012 tmb <tmb> 304.60-1.mga3.nonfree
+ Revision: 309922
- update to 304.60

* Sun Sep 30 2012 tmb <tmb> 304.51-1.mga3.nonfree
+ Revision: 300723
- update to 304.51

* Thu Sep 13 2012 tv <tv> 304.43-2.mga3.nonfree
+ Revision: 293586
- rebuild for new x11-server

* Mon Sep 10 2012 tmb <tmb> 304.43-1.mga3.nonfree
+ Revision: 292054
- update to 304.43

* Thu Sep 06 2012 tv <tv> 304.37-4.mga3.nonfree
+ Revision: 288986
- rebuild for new xserver

* Sun Aug 19 2012 tmb <tmb> 304.37-3.mga3.nonfree
+ Revision: 282366
- replace nVidia provided dkms.conf with our own customized one

* Sun Aug 19 2012 tmb <tmb> 304.37-2.mga3.nonfree
+ Revision: 282319
- add provides kmod(nvidia-current) as upstream now has provides kmod(nvidis) (mga #7113)

* Sun Aug 19 2012 tmb <tmb> 304.37-1.mga3.nonfree
+ Revision: 282100
- update filelists
- update to 304.37 (long lived branch)
- drop merged patches (P0, P5)

* Sat Aug 11 2012 tmb <tmb> 295.71-1.mga3.nonfree
+ Revision: 280501
- update to 295.71 (CVE-2012-4225)

* Fri Jul 27 2012 tmb <tmb> 295.59-2.mga3.nonfree
+ Revision: 274692
- move libnvidia-ml.so.1 from nvidia-current-cuda-opencl to
  x11-driver-video-nvidia-current as it is needed by
  /usr/bin/nvidia-smi (reported on irc by Berxwedan)

* Mon Jul 02 2012 tmb <tmb> 295.59-1.mga3.nonfree
+ Revision: 266542
- update to 295.59

* Wed Jun 06 2012 tmb <tmb> 295.49-6.mga3.nonfree
+ Revision: 256546
- rebuild for nonfree/release

* Mon Jun 04 2012 tv <tv> 295.49-5.mga3.nonfree
+ Revision: 253930
- bump release
- bump X11 ABI require

* Wed May 30 2012 tv <tv> 295.49-4.mga3.nonfree
+ Revision: 250053
- rebuild for new X.org server

* Sun May 27 2012 tmb <tmb> 295.49-3.mga3.nonfree
+ Revision: 247582
- fix build with 3.4 series kernels (P5)

* Thu May 10 2012 tmb <tmb> 295.49-2.mga2.nonfree
+ Revision: 235175
- submit to release

* Sun May 06 2012 tmb <tmb> 295.49-1.mga2.nonfree
+ Revision: 234830
- update to 295.49 (performance regression fixes)

* Wed Apr 11 2012 anssi <anssi> 295.40-1.mga2.nonfree
+ Revision: 230244
- new version 290.40
  o fixes CVE-2012-0946 (arbitrary system memory access by users)

* Fri Apr 06 2012 anssi <anssi> 295.33-1.mga2.nonfree
+ Revision: 229341
- new version 295.33
- drop now unneeded kernel 3.3 support patch

* Tue Mar 06 2012 tmb <tmb> 295.20-2.mga2.nonfree
+ Revision: 220369
- fix build with 3.3 series kernels (J.A. Magallon)

* Tue Mar 06 2012 anssi <anssi> 295.20-1.mga2.nonfree
+ Revision: 219541
- new version 295.20
- depend on the correct range of the newly provided xserver-abi(videodrv)
  in x11-server-common
- add support for new file types of 295.17 in %%install
- drop old unneeded mdv category from .desktop file (#2449)

* Wed Nov 30 2011 anssi <anssi> 290.10-1.mga2.nonfree
+ Revision: 174612
- new stable version 290.10
- run ldconfig explicitely in cuda-opencl package

* Sat Oct 08 2011 anssi <anssi> 285.05.09-1.mga2.nonfree
+ Revision: 152893
- new prerelease
  o adds X.org server 1.11 support
+ ahmad <ahmad>
- Update to 280.13
- Make it possible to download the sources from http://us.download.nvidia.com
  when ftp://download.nvidia.com doesn't have the latest driver.
- Update to 280.11

* Sat Jul 02 2011 ahmad <ahmad> 280.04-1.mga2.nonfree
+ Revision: 117262
- Update to 280.04

* Tue Jun 14 2011 ahmad <ahmad> 275.09.07-1.mga2.nonfree
+ Revision: 106251
- Update to current official release 275.09.07
- Update to 275.09.04
- Rediff the kernel-rt patch

* Sat May 21 2011 ahmad <ahmad> 270.41.19-1.mga1
+ Revision: 100078
- update to 270.41.19

* Sat May 07 2011 anssi <anssi> 270.41.06-2.mga1
+ Revision: 95763
- remove dependency on X11 driver package from dkms-nvidia-current (it is
  not needed for CUDA/OpenCL usage) (Mandriva #63207)
- replace dependency on X11 driver package with a dependency on DKMS
  module package in nvidia-current-cuda-opencl (Mandriva #63207)

* Wed Apr 20 2011 ahmad <ahmad> 270.41.06-1.mga1
+ Revision: 89267
- Update to 270.41.06

* Sun Apr 17 2011 anssi <anssi> 270.41.03-2.mga1
+ Revision: 87344
- fix display-driver.conf alternative name
- replace "alias" entry with "install" entry in modprobe.conf to follow
  upstream module-init-tools behavior
- disable conflicts on videodrv ABI, as it may cause X server to be
  uninstalled instead
- remove now unneeded modprobe.preload.d entry

* Tue Apr 12 2011 ahmad <ahmad> 270.41.03-1.mga1
+ Revision: 83978
- update to 270.41.03, new official release

* Tue Mar 08 2011 ahmad <ahmad> 270.30-2.mga1
+ Revision: 66356
- restore the xserver driver ABI conflicts wrongly removed during removing
  old mdv scriptles/macros
- rename modprobe config file to display-driver.conf (Anssi)

* Wed Mar 02 2011 ahmad <ahmad> 270.30-1.mga1
+ Revision: 62721
- update to 270.30
- bump videodrv_abi to 10

* Thu Feb 24 2011 ahmad <ahmad> 270.26-2.mga1
+ Revision: 59002
- resubmit so that nvidia-current-cuda-opencl becomes available

* Tue Feb 22 2011 ahmad <ahmad> 270.26-1.mga1
+ Revision: 56909
- update to 270.26
- update the file list
- rename dyntwinview patch and modify it to say Mageia Control Center
- drop old/unneeded scriptlets
- rename .desktop file to mandriva-*
- imported package nvidia-current