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