Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > nonfree-updates-src > by-pkgid > a9e2c489cea7dc907ba023d666b00763 > files > 4

nvidia-current-460.32.03-1.mga7.nonfree.src.rpm

# I love OpenSource :-(

## NOTE: When modifying this .spec, you do not necessarily need to care about
##       the %simple stuff. It is fine to break them, I'll fix it when I need them :)
## - Anssi

# %simple mode can be used to transform an arbitrary nvidia installer
# package to rpms, similar to %atibuild mode in fglrx.
# Macros version, rel, nsource, pkgname, distsuffix should be manually defined.
%define simple		0
%{?_without_simple: %global simple 0}
%{?_with_simple: %global simple 1}

# debugfiles.list is empty, dont try to create the rpms
%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-460
%bcond_without	use_pkgname_as_nvidia_current

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

%if !%simple
# When updating, please add new ids to ldetect-lst (merge2pcitable.pl)
%define version		460.32.03
%define rel		1
# the highest supported videodrv abi (currently xorg 1.20)
%define videodrv_abi	24
%endif

# version of libglvnd
%define glvndver	1.3.1

# version of nvidia wayland_egl
%define wayland_eglver	1.1.5

%define priority	9700

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

# Disable when the sources aren't on ftp yet, but can be downloaded from
# http://us.download.nvidia.com
%define ftp 0

# For now, backportability is kept for 2008.0 forwards.

%if %{with use_pkgname_as_nvidia_current}
%define drivername		nvidia-current
%else
%define drivername		nvidia450
%endif
%define driverpkgname		x11-driver-video-%{drivername}
%define modulename		%{drivername}
# for description and documentation
%define cards			GeForce 635 and later cards
%define xorg_extra_modules	%{_libdir}/xorg/extra-modules
%define nvidia_driversdir	%{_libdir}/%{drivername}/xorg
%define nvidia_extensionsdir	%{_libdir}/%{drivername}/xorg
%define nvidia_modulesdir	%{_libdir}/%{drivername}/xorg
%define nvidia_libdir		%{_libdir}/%{drivername}
%define nvidia_libdir32		%{_prefix}/lib/%{drivername}
%define nvidia_bindir		%{nvidia_libdir}/bin
%define nvidia_datadir		%{_datadir}/nvidia-alt-%{drivername}
# The entry in Cards+ this driver should be associated with, if there is
# no entry in ldetect-lst default pcitable:
# cooker ldetect-lst should be up-to-date
%define ldetect_cards_name	%nil

%if %simple
# assign a Cards+ entry according to Mageia version
%if %mgaversion < 7
%define ldetect_cards_name	NVIDIA GeForce 420 series and later
%else
%define ldetect_cards_name	NVIDIA GeForce 635 series and later
%endif
%endif

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

# enable this to provide an internal compiled version of glvnd that overrides/updates
# the one from nvidia
%bcond_with	use_builtin_glvnd

# 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
%global common__requires_exclude ^libGL\\.so|^libGLcore\\.so|^libGLdispatch\\.so|^libnvidia.*\\.so|^libGLX\\.so

# (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}
%if !%simple
Source1:	https://download.nvidia.com/XFree86/Linux-x86_64/%{version}/%{pkgname64}.run
# GPLv2 source code; see also https://github.com/NVIDIA/nvidia-settings (or http://cgit.freedesktop.org/~aplattner/)
Source2:	https://download.nvidia.com/XFree86/nvidia-settings/nvidia-settings-%{version}.tar.bz2
# GPLv2 source code; see also https://github.com/NVIDIA/nvidia-xconfig (or http://cgit.freedesktop.org/~aplattner/)
Source3:	https://download.nvidia.com/XFree86/nvidia-xconfig/nvidia-xconfig-%{version}.tar.bz2
# GPLv2 source code; see also https://github.com/NVIDIA/nvidia-modprobe (or http://cgit.freedesktop.org/~aplattner/)
Source4:	https://download.nvidia.com/XFree86/nvidia-modprobe/nvidia-modprobe-%{version}.tar.bz2
# GPLv2 source code; see also https://github.com/NVIDIA/nvidia-persistenced (or http://cgit.freedesktop.org/~aplattner/)
Source5:	https://download.nvidia.com/XFree86/nvidia-persistenced/nvidia-persistenced-%{version}.tar.bz2
# From https://github.com/NVIDIA/libglvnd.git or https://gitlab.freedesktop.org/glvnd/libglvnd
Source6:	libglvnd-v%{glvndver}.tar.bz2
# Script for building rpms of arbitrary nvidia installers (needs this .spec appended)
Source10:	nvidia-mgabuild-skel
# 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
%endif

License:	Freeware
BuildRoot:	%{_tmppath}/%{name}-buildroot
URL:		https://www.nvidia.com/object/unix.html
Group: 		System/Kernel and hardware
ExclusiveArch:	x86_64
%if !%simple
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
%if %{with use_builtin_glvnd}
BuildRequires:	pkgconfig(x11)
BuildRequires:	pkgconfig(xext)
BuildRequires:	util-linux
# for 32bit building of bundled libglvnd
BuildRequires:	libx11_6
BuildRequires:	libxext6
%endif
%endif

%description
Source package of the current 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
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
%if !%simple && %mgaversion >= 2
Requires:	xserver-abi(videodrv) < %(echo $((%{videodrv_abi}+1)))
%endif
Requires:	ldetect-lst >= 0.6.0-1
Requires:	%{drivername}-cuda-opencl = %{version}-%{release}

%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

%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 liraries and headers
Group:		Development/C
Conflicts:	%{drivername}-cuda-opencl < 430.14-3
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
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

%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

%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.

%prep
# No patches applied when %simple is set
%if %simple
%setup -q -c -T
%else
%setup -q -c -T -a 2 -a 3 -a 4 -a 5 -a 6
cd nvidia-settings-%{version}
%patch3 -p1
cd ..
%endif
sh %{nsource} --extract-only

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

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

%if %simple
# for old releases
mkdir -p %{pkgname}/kernel
%endif

# (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"
MAKE[0]="'make' -j\${parallel_jobs} IGNORE_CC_MISMATCH=1 SYSSRC=\${kernel_source_dir} modules"
AUTOINSTALL="yes"
EOF

%if %simple
# backward-compatibility randomness
if ! [ -e %{pkgname}/kernel/uvm ]; then
	grep -v uvm %{pkgname}/kernel/dkms.conf > %{pkgname}/kernel/dkms.conf.2
	mv -f %{pkgname}/kernel/dkms.conf.2 %{pkgname}/kernel/dkms.conf
fi
%endif

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

%if %{with use_builtin_glvnd}
# build a bundled version of libglvnd
pushd libglvnd-v%{glvndver}
./autogen.sh
CFLAGS="%{optflags}" \
	./configure \
	--prefix=%{_prefix} \
	--libdir=%{_libdir} \
	--enable-asm \
	--enable-x11 \
	--enable-glx \
	--enable-tls
popd

cp -pr libglvnd-v%{glvndver} libglvnd-v%{glvndver}-32
pushd libglvnd-v%{glvndver}-32
ln -sf %{_prefix}/lib/libX11.so.6 ./libX11.so
ln -sf %{_prefix}/lib/libXext.so.6 ./libXext.so
linux32 \
./autogen.sh
CFLAGS="%{optflags} -L$(pwd)" \
linux32 \
	./configure \
	--prefix=%{_prefix} \
	--libdir=%{_prefix}/lib \
	--enable-asm \
	--enable-x11 \
	--enable-glx \
	--enable-tls
popd
%endif

%if !%simple
#rm nvidia-settings-%{version}/src/*/*.a

%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-%{version}/src/libXNVCtrl
%make_build -C nvidia-settings-%{version} NV_KEEP_UNSTRIPPED_BINARIES=false
%make_build -C nvidia-xconfig-%{version} NV_KEEP_UNSTRIPPED_BINARIES=false
%make_build -C nvidia-modprobe-%{version} NV_KEEP_UNSTRIPPED_BINARIES=false
%make_build -C nvidia-persistenced-%{version} NV_KEEP_UNSTRIPPED_BINARIES=false
%if %{with use_builtin_glvnd}
%make_build -C libglvnd-v%{glvndver}
%make_build -C libglvnd-v%{glvndver} install DESTDIR=$(pwd)/libs
linux32 %make_build -C libglvnd-v%{glvndver}-32
linux32 %make_build -C libglvnd-v%{glvndver}-32 install DESTDIR=$(pwd)/libs32
%endif

# %simple
%endif

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

# menu entry
install -d -m755 %{buildroot}%{_datadir}/%{drivername}
cat > %{buildroot}%{_datadir}/%{drivername}/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

install -d -m755	%{buildroot}%{_datadir}/applications
touch			%{buildroot}%{_datadir}/applications/mageia-nvidia-settings.desktop

# icons
install -d -m755 %{buildroot}%{_iconsdir}/hicolor/{16x16,32x32,48x48}/apps
%if !%simple
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
%else
# no imagemagick
[ -e nvidia-settings.png ] || cp -a usr/share/pixmaps/nvidia-settings.png .
install -m644 nvidia-settings.png %{buildroot}%{_iconsdir}/hicolor/48x48/apps/%{drivername}-settings.png
%endif

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

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

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() {
%if !%simple
	# on distro builds, only use .manifest for %doc files
	[ "${2#%doc}" = "${2}" ] && return
%endif
	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
		;;
	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
		;;
	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)
%if !%simple
		# skip libnvidia-gtk[23], we build those by ourself
		echo "$file" | grep -q nvidia-gtk && continue
%endif
		# 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
		;;
	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/
		;;
	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*)
%if !%simple
			# installed separately below
			continue
%endif
			;;
		*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)
%if !%simple
			# not installed, we install our own copy
			continue
%endif
			;;
		*nvidia-smi|*nvidia-bug-report.sh|*nvidia-debugdump)
			# 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
%if %simple
		install_file nvidia %{nvidia_bindir}
%endif
		;;
	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 http://bugs.mageia.org/ of the above warnings." >> warns.log

%if %simple
find %{buildroot}%{_libdir} %{buildroot}%{_prefix}/lib -type d | while read dir; do
	dir=${dir#%{buildroot}}
	echo "$dir" | grep -q nvidia && echo "%%dir $dir" >> nvidia.files
done
[ -d %{buildroot}%{_includedir}/%{drivername} ] && echo "%{_includedir}/%{drivername}" >> nvidia-devel.files

# for old releases in %%simple mode
if ! [ -e %{buildroot}%{_usrsrc}/%{drivername}-%{version}-%{release}/dkms.conf ]; then
	install -m644 kernel/dkms.conf %{buildroot}%{_usrsrc}/%{drivername}-%{version}-%{release}/dkms.conf
fi
%endif

%if !%simple
# 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" ]

rm -f %{buildroot}%{nvidia_libdir}/vdpau/libvdpau_nvidia.so.1
rm -f %{buildroot}%{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.1
%endif

%if %{with use_builtin_glvnd}
# install built-in libraries from libglvnd
cp -af ../libs/%{_libdir}/libEGL.so* %{buildroot}%{nvidia_libdir}/
cp -af ../libs/%{_libdir}/libGLdispatch.so* %{buildroot}%{nvidia_libdir}/
cp -af ../libs/%{_libdir}/libGLESv1_CM.so* %{buildroot}%{nvidia_libdir}/
cp -af ../libs/%{_libdir}/libGLESv2.so* %{buildroot}%{nvidia_libdir}/
cp -af ../libs/%{_libdir}/libGL.so* %{buildroot}%{nvidia_libdir}/
cp -af ../libs/%{_libdir}/libGLX.so* %{buildroot}%{nvidia_libdir}/
cp -af ../libs/%{_libdir}/libOpenGL.so* %{buildroot}%{nvidia_libdir}/

# install 32bit built-in libraries from libglvnd
cp -af ../libs32/%{_prefix}/lib/libEGL.so* %{buildroot}%{nvidia_libdir32}/
cp -af ../libs32/%{_prefix}/lib/libGLdispatch.so* %{buildroot}%{nvidia_libdir32}/
cp -af ../libs32/%{_prefix}/lib/libGLESv1_CM.so* %{buildroot}%{nvidia_libdir32}/
cp -af ../libs32/%{_prefix}/lib/libGLESv2.so* %{buildroot}%{nvidia_libdir32}/
cp -af ../libs32/%{_prefix}/lib/libGL.so* %{buildroot}%{nvidia_libdir32}/
cp -af ../libs32/%{_prefix}/lib/libGLX.so* %{buildroot}%{nvidia_libdir32}/
cp -af ../libs32/%{_prefix}/lib/libOpenGL.so* %{buildroot}%{nvidia_libdir32}/
%endif

# (tmb) libglx compat symlinks for now
pushd %{buildroot}%{nvidia_extensionsdir}
ln -s libglxserver_nvidia.so.%{version} libglx.so.%{version}
ln -s libglxserver_nvidia.so.%{version} libglx.so
popd

# vdpau alternative symlink
install -d -m755 %{buildroot}%{_libdir}/vdpau
touch %{buildroot}%{_libdir}/vdpau/libvdpau_nvidia.so.1
install -d -m755 %{buildroot}%{_prefix}/lib/vdpau
touch %{buildroot}%{_prefix}/lib/vdpau/libvdpau_nvidia.so.1

%if !%simple
# self-built binaries
install -m755 ../nvidia-settings-%{version}/src/_out/*/nvidia-settings %{buildroot}%{nvidia_bindir}
install -m755 ../nvidia-xconfig-%{version}/_out/*/nvidia-xconfig %{buildroot}%{nvidia_bindir}
install -m755 ../nvidia-persistenced-%{version}/_out/*/nvidia-persistenced %{buildroot}%{nvidia_bindir}
install -m4755 ../nvidia-modprobe-%{version}/_out/*/nvidia-modprobe %{buildroot}%{nvidia_bindir}
# nvidia-settings dlopens libnvidia-gtk*.so.VERSION
for file in ../nvidia-settings-%{version}/src/_out/*/libnvidia-gtk*.so; do
	install -m755 ${file} %{buildroot}%{nvidia_libdir}/$(basename "$file").%{version}
done
%endif
# binary alternatives
install -d -m755			%{buildroot}%{_bindir}
touch					%{buildroot}%{_bindir}/nvidia-debugdump
touch					%{buildroot}%{_bindir}/nvidia-settings
touch					%{buildroot}%{_bindir}/nvidia-smi
touch					%{buildroot}%{_bindir}/nvidia-xconfig
touch					%{buildroot}%{_bindir}/nvidia-bug-report.sh
touch					%{buildroot}%{_bindir}/nvidia-modprobe
touch					%{buildroot}%{_bindir}/nvidia-persistenced
touch					%{buildroot}%{_bindir}/nvidia-cuda-mps-control
touch					%{buildroot}%{_bindir}/nvidia-cuda-mps-server
# rpmlint:
chmod 0755				%{buildroot}%{_bindir}/*

# datadir alternative
mkdir -p				%{buildroot}%{_datadir}/nvidia

%if !%simple
# See posttrans script
#for file in %{buildroot}%{nvidia_datadir}/pci.ids %{buildroot}%{nvidia_datadir}/monitoring.conf; do
#	ln -T "$file" "%{buildroot}%{_datadir}/%{drivername}/$(basename "$file").mga"
#done

# install man pages
install -m644 ../nvidia-settings-%{version}/doc/_out/*/nvidia-settings.1 %{buildroot}%{_mandir}/man1
install -m644 ../nvidia-xconfig-%{version}/_out/*/nvidia-xconfig.1 %{buildroot}%{_mandir}/man1
install -m644 ../nvidia-modprobe-%{version}/_out/*/nvidia-modprobe.1 %{buildroot}%{_mandir}/man1
install -m644 ../nvidia-persistenced-%{version}/_out/*/nvidia-persistenced.1 %{buildroot}%{_mandir}/man1
%endif
# 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
cd %{buildroot}%{_mandir}/man1
rename nvidia alt-%{drivername} *
cd -
touch %{buildroot}%{_mandir}/man1/nvidia-xconfig.1%{_extension}
touch %{buildroot}%{_mandir}/man1/nvidia-settings.1%{_extension}
touch %{buildroot}%{_mandir}/man1/nvidia-modprobe.1%{_extension}
touch %{buildroot}%{_mandir}/man1/nvidia-persistenced.1%{_extension}
touch %{buildroot}%{_mandir}/man1/nvidia-smi.1%{_extension}
touch %{buildroot}%{_mandir}/man1/nvidia-cuda-mps-control.1%{_extension}

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

# ld.so.conf
install -d -m755		%{buildroot}%{_sysconfdir}/%{drivername}
echo "%{nvidia_libdir}" >	%{buildroot}%{_sysconfdir}/%{drivername}/ld.so.conf
echo "%{nvidia_libdir32}" >>	%{buildroot}%{_sysconfdir}/%{drivername}/ld.so.conf
install -d -m755		%{buildroot}%{_sysconfdir}/ld.so.conf.d
touch				%{buildroot}%{_sysconfdir}/ld.so.conf.d/GL.conf

# modprobe.conf
install -d -m755			%{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

# 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

# install ldetect-lst pcitable files for backports
# local version of merge2pcitable.pl:read_nvidia_readme:
section="nothingyet"
set +x
[ -e README.txt ] || cp -a usr/share/doc/README.txt .
cat README.txt | while read line; do
	if [ "$section" = "nothingyet" ] || [ "$section" = "midspace" ]; then
		if echo "$line" | grep -Pq "^\s*NVIDIA GPU product\s+Device PCI ID"; then
			section="data"
		elif [ "$section" = "midspace" ] && echo "$line" | grep -Pq "legacy"; then
			break
		fi
		continue
	fi

	if [ "$section" = "data" ] && echo "$line" | grep -Pq "^\s*$"; then
		section="midspace"
		continue
	fi

	echo "$line" | grep -Pq "^\s*-+[\s-]+$" && continue
	id=$(echo "$line" | sed -nre 's,^\s*.+?\s\s+(0x)?([0-9a-fA-F]{4}).*$,\2,p' | tr '[:upper:]' '[:lower:]')
	#id2=$(echo "$line" | sed -nre 's,^\s*.+?\s\s+0x(....)\s0x(....).*$,\2,p' | tr '[:upper:]' '[:lower:]')
	subsysid=
	# not useful as of 2013-05 -Anssi
	#[ -n "$id2" ] && subsysid="	0x10de	0x$id2"
	echo "0x10de	0x$id$subsysid	\"Card:%{ldetect_cards_name}\""
done | sort -u > pcitable.nvidia.lst
set -x
[ $(wc -l pcitable.nvidia.lst | cut -f1 -d" ") -gt 200 ]
%if "%{ldetect_cards_name}" != ""
install -d -m755 %{buildroot}%{_datadir}/ldetect-lst/pcitable.d
gzip -c pcitable.nvidia.lst > %{buildroot}%{_datadir}/ldetect-lst/pcitable.d/40%{drivername}.lst.gz
%endif

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

# set up Vulkan ICD conf for non-glvnd driver
#sed -i 's/__NV_VK_ICD__/libGL.so.1/' %{buildroot}%{_sysconfdir}/vulkan/icd.d/nvidia_icd.json.template
#mv %{buildroot}%{_sysconfdir}/vulkan/icd.d/nvidia_icd.json.template %{buildroot}%{_sysconfdir}/vulkan/icd.d/nvidia_icd.json

%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 alterntives
rm -f %{_sysconfdir}/ld.so.conf.d/%{drivername}-cuda.conf

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

# owned by libvdpau1, created in case libvdpau1 is installed only just after
# this package
mkdir -p %{_libdir}/vdpau

%{_sbindir}/update-alternatives \
	--install %{_sysconfdir}/ld.so.conf.d/GL.conf gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf %{priority} \
	--slave %{_mandir}/man1/nvidia-settings.1%{_extension} man_nvidiasettings%{_extension} %{_mandir}/man1/alt-%{drivername}-settings.1%{_extension} \
	--slave %{_mandir}/man1/nvidia-xconfig.1%{_extension} man_nvidiaxconfig%{_extension} %{_mandir}/man1/alt-%{drivername}-xconfig.1%{_extension} \
	--slave %{_mandir}/man1/nvidia-smi.1%{_extension} nvidia-smi.1%{_extension} %{_mandir}/man1/alt-%{drivername}-smi.1%{_extension} \
	--slave %{_mandir}/man1/nvidia-cuda-mps-control.1%{_extension} nvidia-cuda-mps-control.1%{_extension} %{_mandir}/man1/alt-%{drivername}-cuda-mps-control.1%{_extension} \
	--slave %{_datadir}/applications/mageia-nvidia-settings.desktop nvidia_desktop %{_datadir}/%{drivername}/mageia-nvidia-settings.desktop \
	--slave %{_bindir}/nvidia-settings nvidia_settings %{nvidia_bindir}/nvidia-settings \
	--slave %{_bindir}/nvidia-smi nvidia_smi %{nvidia_bindir}/nvidia-smi \
	--slave %{_bindir}/nvidia-xconfig nvidia_xconfig %{nvidia_bindir}/nvidia-xconfig \
	--slave %{_bindir}/nvidia-debugdump nvidia-debugdump %{nvidia_bindir}/nvidia-debugdump \
	--slave %{_bindir}/nvidia-bug-report.sh nvidia_bug_report %{nvidia_bindir}/nvidia-bug-report.sh \
	--slave %{_bindir}/nvidia-cuda-mps-control nvidia-cuda-mps-control %{nvidia_bindir}/nvidia-cuda-mps-control \
	--slave %{_bindir}/nvidia-cuda-mps-server nvidia-cuda-mps-server %{nvidia_bindir}/nvidia-cuda-mps-server \
	--slave %{_bindir}/nvidia-modprobe nvidia-modprobe %{nvidia_bindir}/nvidia-modprobe \
	--slave %{_bindir}/nvidia-persistenced nvidia-persistenced %{nvidia_bindir}/nvidia-persistenced \
	--slave %{_sysconfdir}/X11/xinit.d/nvidia-settings.xinit nvidia-settings.xinit %{_sysconfdir}/%{drivername}/nvidia-settings.xinit \
	--slave %{_libdir}/vdpau/libvdpau_nvidia.so.1 %{_lib}vdpau_nvidia.so.1 %{nvidia_libdir}/vdpau/libvdpau_nvidia.so.%{version} \
	--slave %{_sysconfdir}/modprobe.d/display-driver.conf display-driver.conf %{_sysconfdir}/%{drivername}/modprobe.conf \
	--slave %{_sysconfdir}/OpenCL/vendors/nvidia.icd nvidia.icd %{_sysconfdir}/%{drivername}/nvidia.icd \
	--slave %{_prefix}/lib/vdpau/libvdpau_nvidia.so.1 libvdpau_nvidia.so.1 %{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.%{version} \
	--slave %{xorg_extra_modules} xorg_extra_modules %{nvidia_extensionsdir} \
	--slave %{_datadir}/nvidia nvidia_datadir %{nvidia_datadir}

# explicit /sbin/ldconfig due to alternatives
/sbin/ldconfig -X

%if "%{ldetect_cards_name}" != ""
[ -x %{_sbindir}/update-ldetect-lst ] && %{_sbindir}/update-ldetect-lst || :
%endif

%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

%postun -n %{driverpkgname}
if [ ! -f %{_sysconfdir}/%{drivername}/ld.so.conf ]; then
  %{_sbindir}/update-alternatives --remove gl_conf %{_sysconfdir}/%{drivername}/ld.so.conf
fi
# explicit /sbin/ldconfig due to alternatives
/sbin/ldconfig -X

%if "%{ldetect_cards_name}" != ""
[ -x %{_sbindir}/update-ldetect-lst ] && %{_sbindir}/update-ldetect-lst || :
%endif

%post -n %{drivername}-cuda-opencl
# add ld conf stuff only if x11-driver-video-nvidia<version> is not installed
if [ ! -f %{_sysconfdir}/%{drivername}/ld.so.conf ]; then
    echo "%{nvidia_libdir}" >	%{_sysconfdir}/ld.so.conf.d/%{drivername}-cuda.conf
    echo "%{nvidia_libdir32}" >> %{_sysconfdir}/ld.so.conf.d/%{drivername}-cuda.conf
    ln -sf %{_sysconfdir}/%{drivername}/nvidia.icd %{_sysconfdir}/OpenCL/vendors/nvidia.icd
fi
# explicit /sbin/ldconfig due to a non-standard library directory
/sbin/ldconfig -X

%post -n %{drivername}-devel
# explicit /sbin/ldconfig due to a non-standard library directory (mga#14462)
/sbin/ldconfig -X

%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 > /dev/null 2>&1 || true

%post -n %{drivername}-utils
# add symlinks only if x11-driver-video-nvidia<version> is not installed
if [ ! -f %{_sysconfdir}/%{drivername}/ld.so.conf ]; then
  ln -sf %{_libdir}/%{drivername}/bin/nvidia-modprobe %{_bindir}/nvidia-modprobe
  ln -sf %{_libdir}/%{drivername}/bin/nvidia-persistenced %{_bindir}/nvidia-persistenced
  ln -sf %{_libdir}/%{drivername}/bin/nvidia-smi %{_bindir}/nvidia-smi
fi

%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

%if "%{ldetect_cards_name}" != ""
%{_datadir}/ldetect-lst/pcitable.d/40%{drivername}.lst.gz
%endif

# 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
%{_sysconfdir}/vulkan/icd.d/nvidia_icd.json
%{_sysconfdir}/vulkan/icd.d/nvidia_layers.json
%ghost %{_datadir}/nvidia
%if !%simple
%dir %{nvidia_datadir}
%{nvidia_datadir}/nvidia-application-profiles-%{version}-rc
%{nvidia_datadir}/nvidia-application-profiles-%{version}-key-documentation
#{nvidia_datadir}/monitoring.conf
#{nvidia_datadir}/pci.ids
# backups, see posttrans
#{_datadir}/%%{drivername}/monitoring.conf.mga
#{_datadir}/%%{drivername}/pci.ids.mga
%endif

%ghost %{_bindir}/nvidia-debugdump
%ghost %{_bindir}/nvidia-settings
%ghost %{_bindir}/nvidia-xconfig
%ghost %{_bindir}/nvidia-bug-report.sh
%if !%simple
%dir %{nvidia_bindir}
%{nvidia_bindir}/nvidia-debugdump
%{nvidia_bindir}/nvidia-settings
%{nvidia_bindir}/nvidia-xconfig
%{nvidia_bindir}/nvidia-bug-report.sh
%endif

%ghost %{_mandir}/man1/nvidia-xconfig.1%{_extension}
%ghost %{_mandir}/man1/nvidia-settings.1%{_extension}
%if !%simple
%{_mandir}/man1/alt-%{drivername}-xconfig.1*
%{_mandir}/man1/alt-%{drivername}-settings.1*
%else
%{_mandir}/man1/alt-%{drivername}-*
%endif

%ghost %{_datadir}/applications/mageia-nvidia-settings.desktop
%dir %{_datadir}/%{drivername}
%{_datadir}/%{drivername}/mageia-nvidia-settings.desktop

%if !%simple
%{_iconsdir}/hicolor/16x16/apps/%{drivername}-settings.png
%{_iconsdir}/hicolor/32x32/apps/%{drivername}-settings.png
%endif
%{_iconsdir}/hicolor/48x48/apps/%{drivername}-settings.png

%if !%simple
%dir %{nvidia_libdir}
%dir %{nvidia_libdir}/vdpau
%{nvidia_libdir}/libGL.so.1.7.0
%{nvidia_libdir}/libGL.so.1
%{nvidia_libdir}/libnvidia-allocator.so.1
%{nvidia_libdir}/libnvidia-allocator.so.%{version}
%{nvidia_libdir}/libnvidia-cfg.so.%{version}
%{nvidia_libdir}/libnvidia-ngx.so.%{version}
%{nvidia_libdir}/libnvidia-glcore.so.%{version}
%{nvidia_libdir}/libnvidia-tls.so.%{version}
%{nvidia_libdir}/libEGL.so.1
%{nvidia_libdir}/libEGL.so.1.1.0
%{nvidia_libdir}/libEGL_nvidia.so.0
%{nvidia_libdir}/libEGL_nvidia.so.%{version}
%{nvidia_libdir}/libGLdispatch.so.0
%if %{with use_builtin_glvnd}
%{nvidia_libdir}/libGLdispatch.so.0.0.0
%endif
%{nvidia_libdir}/libGLESv1_CM.so.1
%{nvidia_libdir}/libGLESv1_CM.so.1.2.0
%{nvidia_libdir}/libGLESv1_CM_nvidia.so.1
%{nvidia_libdir}/libGLESv1_CM_nvidia.so.%{version}
%{nvidia_libdir}/libGLESv2.so.2
%{nvidia_libdir}/libGLESv2.so.2.1.0
%{nvidia_libdir}/libGLESv2_nvidia.so.2
%{nvidia_libdir}/libGLESv2_nvidia.so.%{version}
%{nvidia_libdir}/libGLX.so.0
%if %{with use_builtin_glvnd}
%{nvidia_libdir}/libGLX.so.0.0.0
%endif
%{nvidia_libdir}/libGLX_indirect.so.0
%{nvidia_libdir}/libGLX_nvidia.so.0
%{nvidia_libdir}/libGLX_nvidia.so.%{version}
%{nvidia_libdir}/libOpenGL.so.0
%if %{with use_builtin_glvnd}
%{nvidia_libdir}/libOpenGL.so.0.0.0
%endif
%{nvidia_libdir}/libnvidia-cbl.so.%{version}
%{nvidia_libdir}/libnvidia-cfg.so.1
%{nvidia_libdir}/libnvidia-eglcore.so.%{version}
%{nvidia_libdir}/libnvidia-egl-wayland.so.%{wayland_eglver}
%{nvidia_libdir}/libnvidia-fbc.so.1
%{nvidia_libdir}/libnvidia-fbc.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-rtcore.so.%{version}
%{nvidia_libdir}/libnvidia-tls.so.%{version}
%{nvidia_libdir}/libnvoptix.so.1
%{nvidia_libdir}/libnvoptix.so.%{version}
%{nvidia_libdir}/libvdpau_nvidia.so
%{nvidia_libdir}/vdpau/libvdpau_nvidia.so.%{version}
%dir %{nvidia_libdir32}
%dir %{nvidia_libdir32}/vdpau
%{nvidia_libdir32}/libEGL.so.1
%{nvidia_libdir32}/libEGL.so.1.1.0
%{nvidia_libdir32}/libEGL_nvidia.so.0
%{nvidia_libdir32}/libEGL_nvidia.so.%{version}
%{nvidia_libdir32}/libGL.so.1
%{nvidia_libdir32}/libGL.so.1.7.0
%{nvidia_libdir32}/libnvidia-allocator.so
%{nvidia_libdir32}/libnvidia-allocator.so.1
%{nvidia_libdir32}/libnvidia-allocator.so.%{version}
%{nvidia_libdir32}/libGLdispatch.so.0
%if %{with use_builtin_glvnd}
%{nvidia_libdir32}/libGLdispatch.so.0.0.0
%endif
%{nvidia_libdir32}/libGLESv1_CM.so.1
%{nvidia_libdir32}/libGLESv1_CM.so.1.2.0
%{nvidia_libdir32}/libGLESv1_CM_nvidia.so.1
%{nvidia_libdir32}/libGLESv1_CM_nvidia.so.%{version}
%{nvidia_libdir32}/libGLESv2.so.2
%{nvidia_libdir32}/libGLESv2.so.2.1.0
%{nvidia_libdir32}/libGLESv2_nvidia.so.2
%{nvidia_libdir32}/libGLESv2_nvidia.so.%{version}
%{nvidia_libdir32}/libGLX.so.0
%if %{with use_builtin_glvnd}
%{nvidia_libdir32}/libGLX.so.0.0.0
%endif
%{nvidia_libdir32}/libGLX_indirect.so.0
%{nvidia_libdir32}/libGLX_nvidia.so.0
%{nvidia_libdir32}/libGLX_nvidia.so.%{version}
%{nvidia_libdir32}/libOpenGL.so.0
%if %{with use_builtin_glvnd}
%{nvidia_libdir32}/libOpenGL.so.0.0.0
%endif
%{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}
%{nvidia_libdir32}/libvdpau_nvidia.so
%{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.%{version}
# %%simple
%endif

%ghost %{_libdir}/vdpau/libvdpau_nvidia.so.1
# avoid unowned directory
%dir %{_prefix}/lib/vdpau
%ghost %{_prefix}/lib/vdpau/libvdpau_nvidia.so.1

%if !%simple
# compat symlinks
%{nvidia_extensionsdir}/libglx.so.%{version}
%{nvidia_extensionsdir}/libglx.so
%{nvidia_extensionsdir}/libglxserver_nvidia.so.%{version}
%{nvidia_extensionsdir}/libglxserver_nvidia.so
%endif

%if !%simple
%{nvidia_driversdir}/nvidia_drv.so
%endif

%if %simple
%files -n %{drivername}-devel -f %pkgname/nvidia-devel.files
%else
%files -n %{drivername}-devel
%defattr(-,root,root)
%{nvidia_libdir}/libEGL.so
%{nvidia_libdir}/libGL.so
%if %{with use_builtin_glvnd}
%{nvidia_libdir}/libGLdispatch.so
%endif
%{nvidia_libdir}/libGLESv1_CM.so
%{nvidia_libdir}/libGLESv2.so
%{nvidia_libdir}/libGLX.so
%{nvidia_libdir}/libOpenCL.so
%{nvidia_libdir}/libOpenGL.so
%{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_libdir32}/libEGL.so
%{nvidia_libdir32}/libGL.so
%if %{with use_builtin_glvnd}
%{nvidia_libdir32}/libGLdispatch.so
%endif
%{nvidia_libdir32}/libGLESv1_CM.so
%{nvidia_libdir32}/libGLESv2.so
%{nvidia_libdir32}/libGLX.so
%{nvidia_libdir32}/libOpenCL.so
%{nvidia_libdir32}/libOpenGL.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
%endif

%files -n dkms-%{drivername}
%defattr(-,root,root)
%doc %{pkgname}/LICENSE
%{_usrsrc}/%{drivername}-%{version}-%{release}

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

%if %simple
%files -n %{drivername}-cuda-opencl -f %pkgname/nvidia-cuda.files
%else
%files -n %{drivername}-cuda-opencl
%defattr(-,root,root)
%dir %{_sysconfdir}/OpenCL
%dir %{_sysconfdir}/OpenCL/vendors
%ghost %{_sysconfdir}/OpenCL/vendors/nvidia.icd
%ghost %{_sysconfdir}/ld.so.conf.d/%{drivername}-cuda.conf
%{_sysconfdir}/%{drivername}/nvidia.icd
%{nvidia_libdir}/libOpenCL.so.1.0.0
%{nvidia_libdir}/libOpenCL.so.1.0
%{nvidia_libdir}/libOpenCL.so.1
%{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-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}/libOpenCL.so.1.0.0
%{nvidia_libdir32}/libOpenCL.so.1.0
%{nvidia_libdir32}/libOpenCL.so.1
%{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}
%ghost %{_bindir}/nvidia-cuda-mps-control
%ghost %{_bindir}/nvidia-cuda-mps-server
%{nvidia_bindir}/nvidia-cuda-mps-control
%{nvidia_bindir}/nvidia-cuda-mps-server
%ghost %{_mandir}/man1/nvidia-cuda-mps-control.1%{_extension}
%{_mandir}/man1/alt-%{drivername}-cuda-mps-control.1*
%endif

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


%changelog
* Sun Jan 10 2021 ghibo <ghibo> 460.32.03-1.mga7
+ Revision: 1671013
- Update to release 460.32.03.
- Drop patch5, merged upstream.
- Update to release 455.45.0.1.
- Fill in the branch 450
- Add temporary workaround for bug #27029.
- Build modules with IGNORE_CC_MISMATCH to avoid building fails when a compiler is updated past kernel.
- Update to release 450.57
- Don't fix cards group name, revert to previous 635 to keep in sync with previous choice (for ldetect-lst).
- 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.
- Upgrade to release 367.44.
- Add nvidia-drm missed module (credit goes to proyvind, thanks).
- Removed Patch4 and Patch5, merged upstream (sort of).
+ 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
- fix build with kernel 5.6
- rebuild with gcc 9.3.0
- fix build with 5.5 series kernels (Arch)
- fix mis-detection of NV_SET_MEMORY_ARRAY_UC_PRESENT in 5.4 series kernels (mga#25890)
- rollback to R430 branch for non-glvnd support, and update to 430.64
- update to 440.31
- update to 430.50
- rebuild with gcc 9.2
- update to 430.40
- update to 430.34
- more headless cuda fixes
- update ldetect-lst deps
- update to 430.26
- fix post scripts in cuda-opencl and utils package
- more cuda fixes
- 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
- update to 430.14 (new long lived branch)
- recreate initrd of running kernel so the new module gets added in the initrd
- update to 418.74
- fix build with kernel 5.1
- update to 418.56
- drop obsolete provides/obsoletes/conflicts
- update requires on ldetect-lst for latest pci ids
- update to 418.43 from new R418 longterm branch
- x11-driver: provide x11-driver-video-nvidia-bumblebee
- update to 410.93
- add libglx compat symlinks (mga#23901)
- update to 410.78
- update to 410.73
- update to 410.66
- require ldetect-lst >= 0.5.1-1 for fixed pci ids
- Fix ldetect Card++ name for backports
- 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
- update to 390.87
- rebuild with gcc 8.2
- set up Vulkan ICD
- update to 390.77
- update to 390.67
- rebuild for xorg 1.20
- fix videodrv_abi to match xorg 1.20
- update to 390.59 (xorg 1.20 support)
- update to 390.48
- update filelist
- update to 390.42
- update to 390.25 from new R390 long lived branch
- update to 384.111
- fix build with 4.14.9-rc1 (noted by Juan Magallon on dev ml)
- update to 384.98
- update nvidia-modprobe/persistenced/settings/xconfig helper packages to final revisions
- update to 384.90
- rebuild with new gcc/binutils
- update to 384.69
- update to 384.59 from new R384 long lived branch
- update to 375.82
- really upload new nvidia-modprobe
- update nvidia-settings and nvidia-modprobe tarballs to final versions
- update to 375.66
- disable broken phys_to_dma() check on i586 (mga#20192)
- fix dkms post script
- classic install: do add the driver to dkms list or it wont be built on boot
- do trigger dkms build on dkms package update (now where is that brown paper bag...)
- dont trigger dkms build during classical install
- update to 375.39
- update to 375.26
- 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)
- arrange module order in dkms.conf so it builds properly on 32bit (mga#19654)
- update to 367.57
  * drop obsoleted buildfixes
- doh... use correct patch for kernel 4.8 support
- fix build with 4.8 series kernels
- rebuild for xorg-server 1.18.4
- update to 367.35
- fix build with kernel 4.7 series
- hook into dkms parallel build support
- update to 367.27 (new Long Lived branch)
- update to 361.45.11
- obsolete prebuilt kmods as they violate GPL
- ad missing 4.6 fixes for get_user_pages() changes
- submit to /release
- 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
- update to 352.79
- nvidia-current-devel: run ldconfig on post due to a non-standard library directory (mga#14462)
- rebuild with gcc 5.3 final
- fix filelists
- update to 352.63 (supports xorg 1.18)
- update to 352.41 (CVE-2015-5950)
- rebuild for new gcc
- rebuild with gcc 5.2.1
- update to 352.30
- update to 352.21 (new long lived branch)
- 346.72 (maintenance/bugfix release)
- update to 346.59 -longterm
- update to 346.47 (maintenance release)
- fix drm trace in logs (dropped by mistake in 346.35 update)
- fix broken dkms.conf
- uvm module is available only on x86_64
- 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)
- really fix drm trace with kernel 3.18 (mga#14769, mga#14832)
- fix drm trace with kernel 3.18 (mga#14769, mga#14832)
- update to 340.65 (improved kernel and xorg support)
- supports X.Org xserver ABI 19
- update to 340.58
- filter out 32bit requires on x86_64
- update to 340.46 from long lived branch (bugfixes)
- adapt to new kmod provides
- fix up spec conversion mess
- update to 340.32
- update filelists
- this now supports X.org xserver ABI 18 (xorg server 1.16)
- update to 337.25
- update to 331.79
- rebuild with gcc 4.9
- update to 331.67
- update to 331.49
- drop P4 (uvm buildfix, not needed anymore)
- handle EXPLICIT_PATH target in .manifest
- drop duplicated files in filelist
- update fillists
- update to 331.38
- xserver 1.15 is now supported
- rediff P4 (uvm buildfix)
- rebuild for testing
- fix install of uvm module too
- restore old install path as its hardcoded in service_harddrake, making it break installs (#11693)
- rebuild for new mesa
- push to /release
- properly escape the dkms_tree variable
- use dkms_tree variable in KBUILD_EXTMOD
- make KBUILD_EXTMOD path relative so it works on buildsystem
- fix uvm build when CONFIG_UIDGID_STRICT_TYPE_CHECKS is set
- add nvidia-uvm module to dkms build
- push to /release
- 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
- use upstream fix for num_physpages change in kernel 3.11
- Mageia 4 rebuild
- fix build with kernel-3.12
- update to 319.60
- fix rel
- handle new NVIFR_LIB (OpenGL-based Inband Frame Readback library)
- update to 319.49 (official kernel-3.10 support)
- rebuild with new gcc
- force gcc 4.8.2 build
- fix build with 3.11 series kernels (P6)
- fix build with kernel 3.10 (P5, gentoo)
- update to 319.32
- push to nonfree/release
- 310.44 (CVE-2013-0131)
- update to 310.40 (bugfixes, more hw support)
- cd
- drop P5 (kernel 3.8 buildfix, merged)
- update to 310.32
- include uapi headers to fix build with kernel-3.8 (P5)
- add ENCODEAPI_LIB* symbols, update filelists
- update to 310.19
- update to 304.60
- update to 304.51
- update to 304.43
- replace nVidia provided dkms.conf with our own customized one
- add provides kmod(nvidia-current) as upstream now has provides kmod(nvidis) (mga #7113)
- update filelists
- update to 304.37 (long lived branch)
- drop merged patches (P0, P5)
- update to 295.71 (CVE-2012-4225)
- 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)
- update to 295.59
- rebuild for nonfree/release
- fix build with 3.4 series kernels (P5)
- submit to release
- update to 295.49 (performance regression fixes)
- fix build with 3.3 series kernels (J.A. Magallon)
+ umeabot <umeabot>
- Mageia 8 Mass Rebuild
- Mageia 7 Mass Rebuild
+ ngompa <ngompa>
- Remove unneeded %%pretrans
+ luigiwalser <luigiwalser>
- do not require specific version of update-alternatives
+ tv <tv>
- rebuild for new xserver
- rebuild for xserver 1.17
- auto convert _exclude_files_from_autoreq
- use %%global for req/prov exclude
- autoconvert to new prov/req excludes
- s/uggests:/Recommends:/
- submit to core/release
- rebuild for new xserver RC
- rebuild for new xserver
- rebuild for new perl
- submit to nonfree/release
- rebuild with xserver-1.14
- rebuild for new x11-server
- rebuild for new xserver
- bump release
- bump X11 ABI require
- rebuild for new X.org server
+ anssi <anssi>
- fix libnvidia-gtk*.so* name not matching their SONAME, causing
  nvidia-settings to fail to load
- 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
- fix nvidia-ifr symlink targets
- handle arch for UTILITY_SYMLINK
- fix requires filtering for NVIFR library
- 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
- 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
- new version 290.40
  o fixes CVE-2012-0946 (arbitrary system memory access by users)
- new version 295.33
- drop now unneeded kernel 3.3 support patch
- 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)
- new stable version 290.10
- run ldconfig explicitely in cuda-opencl package
- new prerelease
  o adds X.org server 1.11 support
- 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)
- 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
+ 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
- Update to 280.04
- Update to current official release 275.09.07
- Update to 275.09.04
- Rediff the kernel-rt patch
- update to 270.41.19
- Update to 270.41.06
- update to 270.41.03, new official release
- restore the xserver driver ABI conflicts wrongly removed during removing
  old mdv scriptles/macros
- rename modprobe config file to display-driver.conf (Anssi)
- update to 270.30
- bump videodrv_abi to 10
- resubmit so that nvidia-current-cuda-opencl becomes available
- 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