15 |
|
|
16 |
%if !%simple |
%if !%simple |
17 |
# When updating, please add new ids to ldetect-lst (merge2pcitable.pl) |
# When updating, please add new ids to ldetect-lst (merge2pcitable.pl) |
18 |
%define version 352.79 |
%define version 361.42 |
19 |
%define rel 2 |
%define rel 1 |
20 |
# the highest supported videodrv abi |
# the highest supported videodrv abi |
21 |
%define videodrv_abi 20 |
%define videodrv_abi 20 |
22 |
%endif |
%endif |
75 |
# Other packages should not require any NVIDIA libraries, and this package |
# Other packages should not require any NVIDIA libraries, and this package |
76 |
# should not be pulled in when libGL.so.1 is required |
# should not be pulled in when libGL.so.1 is required |
77 |
%global __provides_exclude \\.so |
%global __provides_exclude \\.so |
78 |
%global common__requires_exclude ^libGL\\.so|^libGLcore\\.so|^libnvidia.*\\.so |
%global common__requires_exclude ^libGL\\.so|^libGLcore\\.so|^libGLdispatch\\.so|^libnvidia.*\\.so |
79 |
|
|
80 |
%ifarch %{biarches} |
%ifarch %{biarches} |
81 |
# (anssi) Allow installing of 64-bit package if the runtime dependencies |
# (anssi) Allow installing of 64-bit package if the runtime dependencies |
124 |
# include xf86vmproto for X_XF86VidModeGetGammaRampSize, fixes build on cooker |
# include xf86vmproto for X_XF86VidModeGetGammaRampSize, fixes build on cooker |
125 |
Patch3: nvidia-settings-include-xf86vmproto.patch |
Patch3: nvidia-settings-include-xf86vmproto.patch |
126 |
%endif |
%endif |
127 |
|
# (tmb) fix build with kernel 4.6 |
128 |
|
Patch10: NVIDIA-Linux-x86_64-361.42-kernel-4.6-buildfix.patch |
129 |
|
|
130 |
License: Freeware |
License: Freeware |
131 |
BuildRoot: %{_tmppath}/%{name}-buildroot |
BuildRoot: %{_tmppath}/%{name}-buildroot |
248 |
%endif |
%endif |
249 |
sh %{nsource} --extract-only |
sh %{nsource} --extract-only |
250 |
|
|
251 |
#if !%simple |
%if !%simple |
252 |
#cd %{pkgname} |
cd %{pkgname} |
253 |
#cd .. |
%patch10 -p1 |
254 |
#endif |
cd .. |
255 |
|
%endif |
256 |
|
|
257 |
rm -rf %{pkgname}/usr/src/nv/precompiled |
rm -rf %{pkgname}/usr/src/nv/precompiled |
258 |
|
|
263 |
|
|
264 |
# (tmb) nuke nVidia provided dkms.conf as we need our own |
# (tmb) nuke nVidia provided dkms.conf as we need our own |
265 |
rm -f %{pkgname}/kernel/dkms.conf |
rm -f %{pkgname}/kernel/dkms.conf |
|
rm -f %{pkgname}/kernel/uvm/dkms.conf.fragment |
|
266 |
|
|
267 |
# install our own dkms.conf |
# install our own dkms.conf |
268 |
cat > %{pkgname}/kernel/dkms.conf <<EOF |
cat > %{pkgname}/kernel/dkms.conf <<EOF |
271 |
BUILT_MODULE_NAME[0]="nvidia" |
BUILT_MODULE_NAME[0]="nvidia" |
272 |
DEST_MODULE_LOCATION[0]="/kernel/drivers/char/drm" |
DEST_MODULE_LOCATION[0]="/kernel/drivers/char/drm" |
273 |
DEST_MODULE_NAME[0]="%{modulename}" |
DEST_MODULE_NAME[0]="%{modulename}" |
274 |
%ifarch x86_64 |
BUILT_MODULE_NAME[1]="nvidia-modeset" |
|
BUILT_MODULE_NAME[1]="nvidia-uvm" |
|
|
BUILT_MODULE_LOCATION[1]="uvm/" |
|
275 |
DEST_MODULE_LOCATION[1]="/kernel/drivers/char/drm" |
DEST_MODULE_LOCATION[1]="/kernel/drivers/char/drm" |
|
%endif |
|
|
MAKE[0]="make SYSSRC=\${kernel_source_dir} module" |
|
276 |
%ifarch x86_64 |
%ifarch x86_64 |
277 |
MAKE[0]+="; make SYSSRC=\${kernel_source_dir} -C uvm module KBUILD_EXTMOD=\${dkms_tree}/%{drivername}/%{version}-%{release}/build/uvm" |
BUILT_MODULE_NAME[2]="nvidia-uvm" |
278 |
%endif |
DEST_MODULE_LOCATION[2]="/kernel/drivers/char/drm" |
|
CLEAN="make -f Makefile.kbuild clean" |
|
|
%ifarch x86_64 |
|
|
CLEAN+="; make -C uvm clean" |
|
279 |
%endif |
%endif |
280 |
|
MAKE[0]="'make' SYSSRC=\${kernel_source_dir} modules" |
281 |
AUTOINSTALL="yes" |
AUTOINSTALL="yes" |
282 |
EOF |
EOF |
283 |
|
|
397 |
*) error_fatal "unknown arch $arch" |
*) error_fatal "unknown arch $arch" |
398 |
esac |
esac |
399 |
fi |
fi |
400 |
|
if [ "$param" = "libtype" ]; then |
401 |
|
case "$libtype" in |
402 |
|
NON_GLVND);; |
403 |
|
GLVND);; |
404 |
|
*) error_fatal "unknown libtype $libtype" |
405 |
|
esac |
406 |
|
fi |
407 |
done |
done |
408 |
} |
} |
409 |
|
|
454 |
add_to_list $pkg $dir/$(basename $file) |
add_to_list $pkg $dir/$(basename $file) |
455 |
} |
} |
456 |
|
|
457 |
|
install_src_file() { |
458 |
|
local pkg="$1" |
459 |
|
local dir="$2" |
460 |
|
local moddir=$(dirname $file) |
461 |
|
local subdir=${moddir#kernel} |
462 |
|
install_file_only $pkg $dir$subdir |
463 |
|
add_to_list $pkg $dir$subdir/$(basename $file) |
464 |
|
} |
465 |
|
|
466 |
get_module_dir() { |
get_module_dir() { |
467 |
local subdir="$1" |
local subdir="$1" |
468 |
case "$subdir" in |
case "$subdir" in |
486 |
subdir= |
subdir= |
487 |
dest= |
dest= |
488 |
nvidia_libdir= |
nvidia_libdir= |
489 |
|
libtype= |
490 |
|
|
491 |
rest=${line} |
rest=${line} |
492 |
file=${rest%%%% *} |
file=${rest%%%% *} |
518 |
dest="$(echo "$dest" | sed s,%{_datadir}/nvidia,%{nvidia_datadir},)" |
dest="$(echo "$dest" | sed s,%{_datadir}/nvidia,%{nvidia_datadir},)" |
519 |
install_file nvidia $dest |
install_file nvidia $dest |
520 |
;; |
;; |
521 |
|
GLVND_LIB) |
522 |
|
parseparams arch |
523 |
|
install_file nvidia $nvidia_libdir |
524 |
|
;; |
525 |
|
GLVND_SYMLINK) |
526 |
|
parseparams arch dest |
527 |
|
install_lib_symlink nvidia $nvidia_libdir |
528 |
|
;; |
529 |
|
GLX_CLIENT_LIB) |
530 |
|
parseparams arch libtype |
531 |
|
# (tmb) skip for now |
532 |
|
case $libtype in NON_GLVND);; *) continue; esac |
533 |
|
install_file nvidia $nvidia_libdir |
534 |
|
;; |
535 |
|
GLX_CLIENT_SYMLINK) |
536 |
|
parseparams arch dest libtype |
537 |
|
# (tmb) skip for now |
538 |
|
case $libtype in NON_GLVND);; *) continue; esac |
539 |
|
install_lib_symlink nvidia $nvidia_libdir |
540 |
|
;; |
541 |
NVCUVID_LIB) |
NVCUVID_LIB) |
542 |
parseparams arch subdir |
parseparams arch subdir |
543 |
install_file nvidia-cuda $nvidia_libdir/$subdir |
install_file nvidia-cuda $nvidia_libdir/$subdir |
750 |
INSTALLER_BINARY) |
INSTALLER_BINARY) |
751 |
# not installed |
# not installed |
752 |
;; |
;; |
753 |
KERNEL_MODULE_SRC) |
KERNEL_MODULE_SRC|DKMS_CONF) |
754 |
install_file nvidia-dkms %{_usrsrc}/%{drivername}-%{version}-%{release} |
install_src_file nvidia-dkms %{_usrsrc}/%{drivername}-%{version}-%{release} |
755 |
;; |
;; |
756 |
CUDA_ICD) |
CUDA_ICD) |
757 |
# in theory this should go to the cuda subpackage, but it goes into the main package |
# in theory this should go to the cuda subpackage, but it goes into the main package |
765 |
DOT_DESKTOP) |
DOT_DESKTOP) |
766 |
# we provide our own for now |
# we provide our own for now |
767 |
;; |
;; |
|
UVM_MODULE_SRC) |
|
|
install_file nvidia-dkms %{_usrsrc}/%{drivername}-%{version}-%{release}/uvm |
|
|
;; |
|
768 |
*) |
*) |
769 |
error_unhandled "file $(basename $file) of unknown type $type will be skipped" |
error_unhandled "file $(basename $file) of unknown type $type will be skipped" |
770 |
esac |
esac |
1124 |
%{nvidia_libdir}/libnvidia-glcore.so.%{version} |
%{nvidia_libdir}/libnvidia-glcore.so.%{version} |
1125 |
%{nvidia_libdir}/libnvidia-tls.so.%{version} |
%{nvidia_libdir}/libnvidia-tls.so.%{version} |
1126 |
%{nvidia_libdir}/libEGL.so.1 |
%{nvidia_libdir}/libEGL.so.1 |
1127 |
%{nvidia_libdir}/libEGL.so.%{version} |
%{nvidia_libdir}/libEGL_nvidia.so.0 |
1128 |
|
%{nvidia_libdir}/libEGL_nvidia.so.%{version} |
1129 |
%{nvidia_libdir}/libGL.so.1 |
%{nvidia_libdir}/libGL.so.1 |
1130 |
|
%{nvidia_libdir}/libGLdispatch.so.0 |
1131 |
%{nvidia_libdir}/libGLESv1_CM.so.1 |
%{nvidia_libdir}/libGLESv1_CM.so.1 |
1132 |
%{nvidia_libdir}/libGLESv1_CM.so.%{version} |
%{nvidia_libdir}/libGLESv1_CM_nvidia.so.1 |
1133 |
|
%{nvidia_libdir}/libGLESv1_CM_nvidia.so.%{version} |
1134 |
%{nvidia_libdir}/libGLESv2.so.2 |
%{nvidia_libdir}/libGLESv2.so.2 |
1135 |
%{nvidia_libdir}/libGLESv2.so.%{version} |
%{nvidia_libdir}/libGLESv2_nvidia.so.2 |
1136 |
|
%{nvidia_libdir}/libGLESv2_nvidia.so.%{version} |
1137 |
|
%{nvidia_libdir}/libGLX_indirect.so.0 |
1138 |
|
%{nvidia_libdir}/libGLX_nvidia.so.0 |
1139 |
|
%{nvidia_libdir}/libGLX_nvidia.so.%{version} |
1140 |
|
%{nvidia_libdir}/libOpenGL.so.0 |
1141 |
%{nvidia_libdir}/libnvidia-cfg.so.1 |
%{nvidia_libdir}/libnvidia-cfg.so.1 |
1142 |
%{nvidia_libdir}/libnvidia-eglcore.so.%{version} |
%{nvidia_libdir}/libnvidia-eglcore.so.%{version} |
1143 |
|
%{nvidia_libdir}/libnvidia-fatbinaryloader.so.%{version} |
1144 |
%{nvidia_libdir}/libnvidia-fbc.so.1 |
%{nvidia_libdir}/libnvidia-fbc.so.1 |
1145 |
%{nvidia_libdir}/libnvidia-fbc.so.%{version} |
%{nvidia_libdir}/libnvidia-fbc.so.%{version} |
1146 |
%{nvidia_libdir}/libnvidia-glsi.so.%{version} |
%{nvidia_libdir}/libnvidia-glsi.so.%{version} |
1150 |
%{nvidia_libdir}/libnvidia-ifr.so.%{version} |
%{nvidia_libdir}/libnvidia-ifr.so.%{version} |
1151 |
%{nvidia_libdir}/libnvidia-ml.so.1 |
%{nvidia_libdir}/libnvidia-ml.so.1 |
1152 |
%{nvidia_libdir}/libnvidia-ml.so.%{version} |
%{nvidia_libdir}/libnvidia-ml.so.%{version} |
1153 |
|
%{nvidia_libdir}/libnvidia-ptxjitcompiler.so.%{version} |
1154 |
%{nvidia_libdir}/libvdpau_nvidia.so |
%{nvidia_libdir}/libvdpau_nvidia.so |
1155 |
%{nvidia_libdir}/tls/libnvidia-tls.so.%{version} |
%{nvidia_libdir}/tls/libnvidia-tls.so.%{version} |
1156 |
%{nvidia_libdir}/vdpau/libvdpau_nvidia.so.%{version} |
%{nvidia_libdir}/vdpau/libvdpau_nvidia.so.%{version} |
1159 |
%dir %{nvidia_libdir32}/tls |
%dir %{nvidia_libdir32}/tls |
1160 |
%dir %{nvidia_libdir32}/vdpau |
%dir %{nvidia_libdir32}/vdpau |
1161 |
%{nvidia_libdir32}/libEGL.so.1 |
%{nvidia_libdir32}/libEGL.so.1 |
1162 |
%{nvidia_libdir32}/libEGL.so.%{version} |
%{nvidia_libdir32}/libEGL_nvidia.so.0 |
1163 |
|
%{nvidia_libdir32}/libEGL_nvidia.so.%{version} |
1164 |
%{nvidia_libdir32}/libGL.so.1 |
%{nvidia_libdir32}/libGL.so.1 |
1165 |
%{nvidia_libdir32}/libGL.so.%{version} |
%{nvidia_libdir32}/libGL.so.%{version} |
1166 |
|
%{nvidia_libdir32}/libGLdispatch.so.0 |
1167 |
%{nvidia_libdir32}/libGLESv1_CM.so.1 |
%{nvidia_libdir32}/libGLESv1_CM.so.1 |
1168 |
%{nvidia_libdir32}/libGLESv1_CM.so.%{version} |
%{nvidia_libdir32}/libGLESv1_CM_nvidia.so.1 |
1169 |
|
%{nvidia_libdir32}/libGLESv1_CM_nvidia.so.%{version} |
1170 |
%{nvidia_libdir32}/libGLESv2.so.2 |
%{nvidia_libdir32}/libGLESv2.so.2 |
1171 |
%{nvidia_libdir32}/libGLESv2.so.%{version} |
%{nvidia_libdir32}/libGLESv2_nvidia.so.2 |
1172 |
|
%{nvidia_libdir32}/libGLESv2_nvidia.so.%{version} |
1173 |
|
%{nvidia_libdir32}/libGLX_indirect.so.0 |
1174 |
|
%{nvidia_libdir32}/libGLX_nvidia.so.0 |
1175 |
|
%{nvidia_libdir32}/libGLX_nvidia.so.361.42 |
1176 |
|
%{nvidia_libdir32}/libOpenGL.so.0 |
1177 |
%{nvidia_libdir32}/libnvidia-eglcore.so.%{version} |
%{nvidia_libdir32}/libnvidia-eglcore.so.%{version} |
1178 |
|
%{nvidia_libdir32}/libnvidia-fatbinaryloader.so.%{version} |
1179 |
%{nvidia_libdir32}/libnvidia-fbc.so.1 |
%{nvidia_libdir32}/libnvidia-fbc.so.1 |
1180 |
%{nvidia_libdir32}/libnvidia-fbc.so.%{version} |
%{nvidia_libdir32}/libnvidia-fbc.so.%{version} |
1181 |
%{nvidia_libdir32}/libnvidia-glcore.so.%{version} |
%{nvidia_libdir32}/libnvidia-glcore.so.%{version} |
1185 |
%{nvidia_libdir32}/libnvidia-ml.so.1 |
%{nvidia_libdir32}/libnvidia-ml.so.1 |
1186 |
%{nvidia_libdir32}/libnvidia-ml.so.%{version} |
%{nvidia_libdir32}/libnvidia-ml.so.%{version} |
1187 |
%{nvidia_libdir32}/libnvidia-tls.so.%{version} |
%{nvidia_libdir32}/libnvidia-tls.so.%{version} |
1188 |
|
%{nvidia_libdir32}/libnvidia-ptxjitcompiler.so.%{version} |
1189 |
%{nvidia_libdir32}/libvdpau_nvidia.so |
%{nvidia_libdir32}/libvdpau_nvidia.so |
1190 |
%{nvidia_libdir32}/tls/libnvidia-tls.so.%{version} |
%{nvidia_libdir32}/tls/libnvidia-tls.so.%{version} |
1191 |
%{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.%{version} |
%{nvidia_libdir32}/vdpau/libvdpau_nvidia.so.%{version} |
1229 |
%{nvidia_libdir}/libGLESv1_CM.so |
%{nvidia_libdir}/libGLESv1_CM.so |
1230 |
%{nvidia_libdir}/libGLESv2.so |
%{nvidia_libdir}/libGLESv2.so |
1231 |
%{nvidia_libdir}/libOpenCL.so |
%{nvidia_libdir}/libOpenCL.so |
1232 |
|
%{nvidia_libdir}/libOpenGL.so |
1233 |
%{nvidia_libdir}/libcuda.so |
%{nvidia_libdir}/libcuda.so |
1234 |
%{nvidia_libdir}/libnvcuvid.so |
%{nvidia_libdir}/libnvcuvid.so |
1235 |
%{nvidia_libdir}/libnvidia-cfg.so |
%{nvidia_libdir}/libnvidia-cfg.so |
1243 |
%{nvidia_libdir32}/libGLESv1_CM.so |
%{nvidia_libdir32}/libGLESv1_CM.so |
1244 |
%{nvidia_libdir32}/libGLESv2.so |
%{nvidia_libdir32}/libGLESv2.so |
1245 |
%{nvidia_libdir32}/libOpenCL.so |
%{nvidia_libdir32}/libOpenCL.so |
1246 |
|
%{nvidia_libdir32}/libOpenGL.so |
1247 |
%{nvidia_libdir32}/libcuda.so |
%{nvidia_libdir32}/libcuda.so |
1248 |
%{nvidia_libdir32}/libnvcuvid.so |
%{nvidia_libdir32}/libnvcuvid.so |
1249 |
%{nvidia_libdir32}/libnvidia-encode.so |
%{nvidia_libdir32}/libnvidia-encode.so |