]> git.pld-linux.org Git - packages/xorg-driver-video-nvidia.git/blame_incremental - xorg-driver-video-nvidia.spec
- fixed %files
[packages/xorg-driver-video-nvidia.git] / xorg-driver-video-nvidia.spec
... / ...
CommitLineData
1# TODO
2# - should -libs Require main package?
3# - solve this (shouldn't there be some obsoletes?):
4# error: xorg-driver-video-nvidia-169.12-3.i686 (cnfl Mesa-libGL) conflicts with installed Mesa-libGL-7.0.3-2.i686
5# error: xorg-driver-video-nvidia-169.12-3.i686 (cnfl Mesa-libGL) conflicts with installed Mesa-libGL-7.0.3-2.i686
6#
7# Conditional build:
8%bcond_without dist_kernel # without distribution kernel
9%bcond_without kernel # without kernel packages
10%bcond_without userspace # don't build userspace programs
11%bcond_with force_userspace # force userspace build (useful if alt_kernel is set)
12%bcond_with multigl # package libGL and libglx.so in a way allowing concurrent install with nvidia/fglrx drivers
13%bcond_with verbose # verbose build (V=1)
14
15%if "%{_alt_kernel}" != "%{nil}"
16%undefine with_userspace
17%endif
18%if %{with force_userspace}
19%define with_userspace 1
20%endif
21%if %{without userspace}
22# nothing to be placed to debuginfo package
23%define _enable_debug_packages 0
24%endif
25
26%define pname xorg-driver-video-nvidia
27%define rel 4
28
29Summary: Linux Drivers for nVidia GeForce/Quadro Chips
30Summary(hu.UTF-8): Linux meghajtók nVidia GeForce/Quadro chipekhez
31Summary(pl.UTF-8): Sterowniki do kart graficznych nVidia GeForce/Quadro
32Name: %{pname}
33Version: 190.42
34Release: %{rel}%{?with_multigl:.mgl}
35Epoch: 1
36License: nVidia Binary
37Group: X11
38Source0: http://download.nvidia.com/XFree86/Linux-x86/%{version}/NVIDIA-Linux-x86-%{version}-pkg0.run
39# Source0-md5: f94806feee87de756d14fe3e9bcaf05a
40Source1: http://download.nvidia.com/XFree86/Linux-x86_64/%{version}/NVIDIA-Linux-x86_64-%{version}-pkg0.run
41# Source1-md5: ae431ff849ec01446e6724f9fcfe3bb4
42Source2: %{pname}-xinitrc.sh
43Source3: gl.pc.in
44Patch0: X11-driver-nvidia-GL.patch
45Patch1: X11-driver-nvidia-desktop.patch
46URL: http://www.nvidia.com/object/unix.html
47%if %{with kernel}
48%{?with_dist_kernel:BuildRequires: kernel%{_alt_kernel}-module-build >= 3:2.6.20.2}
49%endif
50BuildRequires: %{kgcc_package}
51BuildRequires: rpmbuild(macros) >= 1.379
52BuildRequires: sed >= 4.0
53BuildConflicts: XFree86-nvidia
54Requires: %{pname}-libs = %{epoch}:%{version}-%{rel}
55Requires: xorg-xserver-server
56Requires: xorg-xserver-server(videodrv-abi) <= 6.0
57Requires: xorg-xserver-server(videodrv-abi) >= 2.0
58Provides: xorg-xserver-module(glx)
59Obsoletes: XFree86-driver-nvidia
60Obsoletes: XFree86-nvidia
61Conflicts: XFree86-OpenGL-devel <= 4.2.0-3
62ExclusiveArch: %{ix86} %{x8664}
63BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
64
65%define _noautoreqdep libGL.so.1 libGLcore.so.1
66
67%description
68This driver set adds improved 2D functionality to the Xorg X server as
69well as high performance OpenGL acceleration, AGP support, support for
70most flat panels, and 2D multiple monitor support. Supported hardware:
71modern NVIDIA GeForce (from GeForce2 MX) and Quadro (Quadro4 and up)
72based graphics accelerators.
73
74The older graphics chips are unsupported:
75- NV1 and RIVA 128/128ZX chips are supported in the base Xorg install
76 (nv driver)
77- TNT/TNT2/GeForce 256/GeForce2 Ultra/Quadro2 are suported by -legacy
78 drivers.
79
80%description -l hu.UTF-8
81Ez a meghajtó kibővíti az Xorg X szerver 2D működését OpenGL
82gyorsítással, AGP támogatással és támogatja a több monitort.
83Támogatott hardverek: modern NVIDIA GeForce (GeForce2 MX-től) és
84Quadro (Quadro4 és újabbak) alapú grafikai gyorsítók.
85
86A régekbbi grafikus chipek nem támogatottak:
87- NV1 és RIVA 128/128ZX chipek az alap Xorg telepítéssel (nv meghajtó)
88- TNT/TNT2/GeForce 256/GeForce2 Ultra/Quadro2 a -legacy driverekkel
89 támogatottak.
90
91%description -l pl.UTF-8
92Usprawnione sterowniki dla kart graficznych nVidia do serwera Xorg,
93dające wysokowydajną akcelerację OpenGL, obsługę AGP i wielu monitorów
942D. Obsługują w miarę nowe karty NVIDIA GeForce (od wersji GeForce2
95MX) oraz Quadro (od wersji Quadro4).
96
97Starsze układy graficzne nie są obsługiwane przez ten pakiet:
98- NV1 i RIVA 128/128ZX są obsługiwane przez sterownik nv z Xorg
99- TNT/TNT2/GeForce 256/GeForce 2 Ultra/Quadro 2 są obsługiwane przez
100 sterowniki -legacy
101
102%package libs
103Summary: OpenGL (GL and GLX) Nvidia libraries
104Summary(pl.UTF-8): Biblioteki OpenGL (GL i GLX) Nvidia
105Group: X11/Development/Libraries
106#Requires: %{pname} = %{epoch}:%{version}-%{rel}
107Provides: OpenGL = 2.1
108Provides: OpenGL-GLX = 1.4
109%if %{without multigl}
110Obsoletes: Mesa
111%endif
112Obsoletes: X11-OpenGL-core < 1:7.0.0
113Obsoletes: X11-OpenGL-libGL < 1:7.0.0
114Obsoletes: XFree86-OpenGL-core < 1:7.0.0
115Obsoletes: XFree86-OpenGL-libGL < 1:7.0.0
116%if %{without multigl}
117Conflicts: Mesa-libGL
118%endif
119
120%description libs
121NVIDIA OpenGL (GL and GLX only) implementation libraries.
122
123%description libs -l pl.UTF-8
124Implementacja OpenGL (tylko GL i GLX) firmy NVIDIA.
125
126%package devel
127Summary: OpenGL (GL and GLX) header files
128Summary(hu.UTF-8): OpenGL (GL és GLX) fejléc fájlok
129Summary(pl.UTF-8): Pliki nagłówkowe OpenGL (GL i GLX)
130Group: X11/Development/Libraries
131Requires: %{pname}-libs = %{epoch}:%{version}-%{rel}
132Provides: OpenGL-GLX-devel = 1.4
133Provides: OpenGL-devel = 2.1
134Obsoletes: X11-OpenGL-devel-base
135Obsoletes: XFree86-OpenGL-devel-base
136Obsoletes: XFree86-driver-nvidia-devel
137Conflicts: XFree86-OpenGL-devel < 4.3.99.902-0.3
138
139%description devel
140OpenGL header files (GL and GLX only) for NVIDIA OpenGL
141implementation.
142
143%description devel -l hu.UTF-8
144OpenGL fejléc fájlok (csak GL és GLX) NVIDIA OpenGL implementációhoz.
145
146%description devel -l pl.UTF-8
147Pliki nagłówkowe OpenGL (tylko GL i GLX) dla implementacji OpenGL
148firmy NVIDIA.
149
150%package static
151Summary: Static XvMCNVIDIA library
152Summary(hu.UTF-8): Statikus XwMCNVIDIA könyvtár
153Summary(pl.UTF-8): Statyczna biblioteka XvMCNVIDIA
154Group: X11/Development/Libraries
155Requires: %{pname}-devel = %{epoch}:%{version}-%{rel}
156
157%description static
158Static XvMCNVIDIA library.
159
160%description static -l hu.UTF-8
161Statikus XwMCNVIDIA könyvtár.
162
163%description static -l pl.UTF-8
164Statyczna biblioteka XvMCNVIDIA.
165
166%package progs
167Summary: Tools for advanced control of nVidia graphic cards
168Summary(hu.UTF-8): Eszközök az nVidia grafikus kártyák beállításához
169Summary(pl.UTF-8): Narzędzia do zarządzania kartami graficznymi nVidia
170Group: Applications/System
171Requires: %{pname} = %{epoch}:%{version}-%{rel}
172Suggests: pkgconfig
173Obsoletes: XFree86-driver-nvidia-progs
174
175%description progs
176Tools for advanced control of nVidia graphic cards.
177
178%description progs -l hu.UTF-8
179Eszközök az nVidia grafikus kártyák beállításához.
180
181%description progs -l pl.UTF-8
182Narzędzia do zarządzania kartami graficznymi nVidia.
183
184%package -n kernel%{_alt_kernel}-video-nvidia
185Summary: nVidia kernel module for nVidia Architecture support
186Summary(de.UTF-8): Das nVidia-Kern-Modul für die nVidia-Architektur-Unterstützung
187Summary(hu.UTF-8): nVidia Architektúra támogatás Linux kernelhez.
188Summary(pl.UTF-8): Moduł jądra dla obsługi kart graficznych nVidia
189Release: %{rel}@%{_kernel_ver_str}
190Group: Base/Kernel
191Requires(post,postun): /sbin/depmod
192Requires: dev >= 2.7.7-10
193%{?with_dist_kernel:%requires_releq_kernel}
194Requires: %{pname} = %{epoch}:%{version}-%{rel}
195Provides: X11-driver-nvidia(kernel)
196Obsoletes: XFree86-nvidia-kernel
197
198%description -n kernel%{_alt_kernel}-video-nvidia
199nVidia Architecture support for Linux kernel.
200
201%description -n kernel%{_alt_kernel}-video-nvidia -l de.UTF-8
202Die nVidia-Architektur-Unterstützung für den Linux-Kern.
203
204%description -n kernel%{_alt_kernel}-video-nvidia -l hu.UTF-8
205nVidia Architektúra támogatás Linux kernelhez.
206
207%description -n kernel%{_alt_kernel}-video-nvidia -l pl.UTF-8
208Obsługa architektury nVidia dla jądra Linuksa. Pakiet wymagany przez
209sterownik nVidii dla Xorg/XFree86.
210
211%prep
212cd %{_builddir}
213rm -rf NVIDIA-Linux-x86*-%{version}-pkg*
214%ifarch %{ix86}
215/bin/sh %{SOURCE0} --extract-only
216%setup -qDT -n NVIDIA-Linux-x86-%{version}-pkg0
217%else
218/bin/sh %{SOURCE1} --extract-only
219%setup -qDT -n NVIDIA-Linux-x86_64-%{version}-pkg0
220%endif
221%patch0 -p1
222%patch1 -p1
223echo 'EXTRA_CFLAGS += -Wno-pointer-arith -Wno-sign-compare -Wno-unused' >> usr/src/nv/Makefile.kbuild
224
225%build
226%if %{with kernel}
227cd usr/src/nv
228ln -sf Makefile.kbuild Makefile
229cat >> Makefile <<'EOF'
230
231$(obj)/nv-kernel.o: $(src)/nv-kernel.o.bin
232 cp $< $@
233EOF
234mv nv-kernel.o{,.bin}
235%build_kernel_modules -m nvidia
236%endif
237
238%install
239rm -rf $RPM_BUILD_ROOT
240
241%if %{with userspace}
242install -d $RPM_BUILD_ROOT%{_libdir}/xorg/modules/{drivers,extensions} \
243 $RPM_BUILD_ROOT{%{_includedir}/{GL,cuda},%{_libdir},%{_bindir},%{_mandir}/man1} \
244 $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},/etc/X11/xinit/xinitrc.d}
245%if %{with multigl}
246install -d $RPM_BUILD_ROOT{%{_libdir}/nvidia,%{_sysconfdir}/ld.so.conf.d}
247%endif
248
249install usr/bin/nvidia-{settings,xconfig,bug-report.sh} $RPM_BUILD_ROOT%{_bindir}
250install usr/share/man/man1/nvidia-{settings,xconfig}.* $RPM_BUILD_ROOT%{_mandir}/man1
251install usr/share/applications/nvidia-settings.desktop $RPM_BUILD_ROOT%{_desktopdir}
252install usr/share/pixmaps/nvidia-settings.png $RPM_BUILD_ROOT%{_pixmapsdir}
253install %{SOURCE2} $RPM_BUILD_ROOT/etc/X11/xinit/xinitrc.d/nvidia-settings.sh
254
255for f in \
256 usr/lib/tls/libnvidia-tls.so.%{version} \
257 usr/lib/libnvidia-cfg.so.%{version} \
258 usr/lib/libGL{,core}.so.%{version} \
259 usr/lib/libcuda.so.%{version} \
260 usr/lib/libvdpau_nvidia.so.%{version} \
261 usr/X11R6/lib/libXvMCNVIDIA.so.%{version} \
262%if %{without multigl}
263 usr/X11R6/lib/libXvMCNVIDIA.a \
264; do
265 install $f $RPM_BUILD_ROOT%{_libdir}
266done
267%else
268; do
269 install $f $RPM_BUILD_ROOT%{_libdir}/nvidia
270done
271install usr/X11R6/lib/libXvMCNVIDIA.a $RPM_BUILD_ROOT%{_libdir}
272%endif
273
274install usr/X11R6/lib/modules/extensions/libglx.so.%{version} \
275 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions
276install usr/X11R6/lib/modules/drivers/nvidia_drv.so \
277 $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/nvidia_drv.so.%{version}
278install usr/X11R6/lib/modules/libnvidia-wfb.so.%{version} \
279 $RPM_BUILD_ROOT%{_libdir}/xorg/modules
280
281install usr/include/GL/*.h $RPM_BUILD_ROOT%{_includedir}/GL
282install usr/include/cuda/*.h $RPM_BUILD_ROOT%{_includedir}/cuda
283
284ln -sf libglx.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/extensions/libglx.so
285ln -sf nvidia_drv.so.%{version} $RPM_BUILD_ROOT%{_libdir}/xorg/modules/drivers/nvidia_drv.so
286
287%if %{with multigl}
288echo %{_libdir}/nvidia >$RPM_BUILD_ROOT%{_sysconfdir}/ld.so.conf.d/nvidia.conf
289
290# OpenGL ABI for Linux compatibility
291ln -sf libGL.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libGL.so.1
292ln -sf nvidia/libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/libGL.so
293
294ln -sf nvidia/libXvMCNVIDIA.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libXvMCNVIDIA.so
295ln -sf libXvMCNVIDIA.so.%{version} $RPM_BUILD_ROOT%{_libdir}/nvidia/libXvMCNVIDIA_dynamic.so.1
296
297ln -sf nvidia/libcuda.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libcuda.so
298%else
299# OpenGL ABI for Linux compatibility
300ln -sf libGL.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libGL.so.1
301ln -sf libGL.so.1 $RPM_BUILD_ROOT%{_libdir}/libGL.so
302
303ln -sf libXvMCNVIDIA.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libXvMCNVIDIA.so
304ln -sf libXvMCNVIDIA.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libXvMCNVIDIA_dynamic.so.1
305
306ln -sf libcuda.so.%{version} $RPM_BUILD_ROOT%{_libdir}/libcuda.so
307%endif
308%endif
309
310%if %{with kernel}
311%install_kernel_modules -m usr/src/nv/nvidia -d misc
312%endif
313
314install -d $RPM_BUILD_ROOT%{_pkgconfigdir}
315sed -e 's|@@prefix@@|%{_prefix}|g;s|@@libdir@@|%{_libdir}|g;s|@@includedir@@|%{_includedir}|g;s|@@version@@|%{version}|g' < %{SOURCE3} \
316 > $RPM_BUILD_ROOT%{_pkgconfigdir}/gl.pc
317
318%clean
319rm -rf $RPM_BUILD_ROOT
320
321%post
322cat << 'EOF'
323NOTE: You must also install kernel module for this driver to work
324 kernel-video-nvidia-%{version}
325 kernel-desktop-video-nvidia-%{version}
326 kernel-laptop-video-nvidia-%{version}
327 kernel-vanilla-video-nvidia-%{version}
328
329Depending on which kernel brand you use.
330
331EOF
332%if %{with multigl}
333if [ ! -e %{_libdir}/xorg/modules/extensions/libglx.so ]; then
334 ln -sf libglx.so.%{version} %{_libdir}/xorg/modules/extensions/libglx.so
335fi
336%else
337/sbin/ldconfig -N %{_libdir}/xorg/modules/extensions
338%endif
339
340%post libs -p /sbin/ldconfig
341%postun libs -p /sbin/ldconfig
342
343%post -n kernel%{_alt_kernel}-video-nvidia
344%depmod %{_kernel_ver}
345
346%postun -n kernel%{_alt_kernel}-video-nvidia
347%depmod %{_kernel_ver}
348
349%if %{with userspace}
350%files
351%defattr(644,root,root,755)
352%doc LICENSE
353%doc usr/share/doc/{README.txt,NVIDIA_Changelog,XF86Config.sample,html}
354%attr(755,root,root) %{_libdir}/xorg/modules/extensions/libglx.so.*
355%attr(755,root,root) %ghost %{_libdir}/xorg/modules/extensions/libglx.so
356%attr(755,root,root) %{_libdir}/xorg/modules/libnvidia-wfb.so.*.*
357%attr(755,root,root) %{_libdir}/xorg/modules/drivers/nvidia_drv.so.*.*
358%attr(755,root,root) %ghost %{_libdir}/xorg/modules/drivers/nvidia_drv.so
359
360%files libs
361%if %{with multigl}
362%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/ld.so.conf.d/nvidia.conf
363%dir %{_libdir}/nvidia
364%attr(755,root,root) %{_libdir}/nvidia/libGL.so.*.*
365%attr(755,root,root) %ghost %{_libdir}/nvidia/libGL.so.1
366%attr(755,root,root) %{_libdir}/nvidia/libGLcore.so.*.*
367%attr(755,root,root) %{_libdir}/nvidia/libXvMCNVIDIA.so.*.*
368%attr(755,root,root) %ghost %{_libdir}/nvidia/libXvMCNVIDIA_dynamic.so.1
369%attr(755,root,root) %{_libdir}/nvidia/libcuda.so.*.*
370%attr(755,root,root) %{_libdir}/nvidia/libnvidia-cfg.so.*.*
371%attr(755,root,root) %{_libdir}/nvidia/libnvidia-tls.so.*.*
372%attr(755,root,root) %{_libdir}/nvidia/libvdpau_nvidia.so.*.*
373%else
374%attr(755,root,root) %{_libdir}/libGL.so.*.*
375%attr(755,root,root) %ghost %{_libdir}/libGL.so.1
376# symlink for binary apps which fail to conform Linux OpenGL ABI
377# (and dlopen libGL.so instead of libGL.so.1)
378%attr(755,root,root) %{_libdir}/libGL.so
379%attr(755,root,root) %{_libdir}/libGLcore.so.*.*
380%attr(755,root,root) %{_libdir}/libXvMCNVIDIA.so.*.*
381%attr(755,root,root) %ghost %{_libdir}/libXvMCNVIDIA_dynamic.so.1
382%attr(755,root,root) %{_libdir}/libcuda.so.*.*
383%attr(755,root,root) %{_libdir}/libnvidia-cfg.so.*.*
384%attr(755,root,root) %{_libdir}/libnvidia-tls.so.*.*
385%attr(755,root,root) %{_libdir}/libvdpau_nvidia.so.*.*
386%endif
387
388%files devel
389%defattr(644,root,root,755)
390%attr(755,root,root) %{_libdir}/libXvMCNVIDIA.so
391%attr(755,root,root) %{_libdir}/libcuda.so
392%dir %{_includedir}/GL
393%{_includedir}/GL/gl.h
394%{_includedir}/GL/glext.h
395%{_includedir}/GL/glx.h
396%{_includedir}/GL/glxext.h
397%{_includedir}/cuda
398%if %{with multigl}
399%attr(755,root,root) %{_libdir}/libGL.so
400%endif
401%{_pkgconfigdir}/gl.pc
402
403%files static
404%defattr(644,root,root,755)
405%{_libdir}/libXvMCNVIDIA.a
406
407%files progs
408%defattr(644,root,root,755)
409%attr(755,root,root) %{_bindir}/nvidia-settings
410%attr(755,root,root) %{_bindir}/nvidia-xconfig
411%attr(755,root,root) %{_bindir}/nvidia-bug-report.sh
412%attr(755,root,root) /etc/X11/xinit/xinitrc.d/*.sh
413%{_desktopdir}/nvidia-settings.desktop
414%{_mandir}/man1/nvidia-*
415%{_pixmapsdir}/nvidia-settings.png
416%endif
417
418%if %{with kernel}
419%files -n kernel%{_alt_kernel}-video-nvidia
420%defattr(644,root,root,755)
421/lib/modules/%{_kernel_ver}/misc/*.ko*
422%endif
This page took 0.036302 seconds and 4 git commands to generate.