]>
Commit | Line | Data |
---|---|---|
1 | # | |
2 | # Conditional build: | |
3 | %bcond_without alsa # don't build ALSA mm driver | |
4 | %bcond_without arts # don't build aRts mm driver | |
5 | %bcond_without jack # don't build JACK mm driver | |
6 | %bcond_without nas # don't build NAS mm driver | |
7 | %bcond_without sane # don't build TWAIN DLL with scanning support (through SANE) | |
8 | %bcond_without cups # without CUPS printing support in winspool,wineps DLLs | |
9 | # | |
10 | # NOTE: wine detects the following SONAMES for dlopen at build time: | |
11 | # libcrypto,libssl (wininet.dll) | |
12 | # libcups (winspool.dll.so,wineps.dll.so) | |
13 | # libcurses/libncurses (wineconsole program) | |
14 | # libfontconfig (gdi32.dll.so) | |
15 | # libfreetype (wineps.dll.so,gdi32.dll.so) | |
16 | # libGL (x11drv.dll.so,ddraw.dll.so) | |
17 | # libjack (winejack.drv.so - explicit dependency in subpackage) | |
18 | # libX11, libXext, libXi, libXrender (x11drv.dll.so) | |
19 | # thus requires rebuild after change of any of the above. | |
20 | # | |
21 | # JACK requires ALSA | |
22 | %if !%{with alsa} | |
23 | %undefine with_jack | |
24 | %endif | |
25 | Summary: Program that lets you launch Win applications | |
26 | Summary(es.UTF-8): Ejecuta programas Windows en Linux | |
27 | Summary(pl.UTF-8): Program pozwalający uruchamiać aplikacje Windows | |
28 | Summary(pt_BR.UTF-8): Executa programas Windows no Linux | |
29 | Name: wine | |
30 | Version: 0.9.33 | |
31 | Release: 1 | |
32 | Epoch: 1 | |
33 | License: LGPL | |
34 | Group: Applications/Emulators | |
35 | Source0: http://ibiblio.org/pub/linux/system/emulators/wine/%{name}-%{version}.tar.bz2 | |
36 | # Source0-md5: b2d04c70d17fb36b1a0d98d8e374285d | |
37 | Patch0: %{name}-fontcache.patch | |
38 | Patch1: %{name}-makedep.patch | |
39 | Patch2: %{name}-ncurses.patch | |
40 | #PatchX: %{name}-dga.patch | |
41 | URL: http://www.winehq.org/ | |
42 | BuildRequires: OpenGL-GLU-devel | |
43 | %{?with_alsa:BuildRequires: alsa-lib-devel} | |
44 | %{?with_arts:BuildRequires: artsc-devel} | |
45 | BuildRequires: autoconf | |
46 | BuildRequires: automake | |
47 | BuildRequires: bison | |
48 | %{?with_cups:BuildRequires: cups-devel} | |
49 | BuildRequires: docbook-dtd31-sgml | |
50 | BuildRequires: docbook-utils | |
51 | BuildRequires: flex | |
52 | BuildRequires: fontconfig-devel | |
53 | BuildRequires: fontforge | |
54 | BuildRequires: freetype-devel >= 2.0.5 | |
55 | BuildRequires: giflib-devel | |
56 | %{?with_jack:BuildRequires: jack-audio-connection-kit-devel} | |
57 | BuildRequires: libjpeg-devel | |
58 | BuildRequires: libtool | |
59 | %{?with_nas:BuildRequires: nas-devel} | |
60 | BuildRequires: ncurses-devel | |
61 | # db2* failed previously - probably openjade or opensp bug | |
62 | BuildRequires: openjade >= 1:1.3.3-0.pre1 | |
63 | BuildRequires: opensp >= 1:1.5.1 | |
64 | BuildRequires: openssl-devel >= 0.9.7d | |
65 | %{?with_sane:BuildRequires: sane-backends-devel} | |
66 | BuildRequires: valgrind | |
67 | BuildRequires: xorg-lib-libXi-devel | |
68 | BuildRequires: xorg-lib-libXmu-devel | |
69 | BuildRequires: xorg-lib-libXrender-devel | |
70 | BuildRequires: xorg-lib-libXxf86dga-devel | |
71 | BuildRequires: xorg-lib-libXxf86vm-devel | |
72 | Requires: binfmt-detector | |
73 | # link to wine/ntdll.dll.so, without any SONAME | |
74 | Provides: libntdll.dll.so | |
75 | ExclusiveArch: %{ix86} | |
76 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
77 | ||
78 | %define _noautoreqdep libGL.so.1 libGLU.so.1 | |
79 | %define no_install_post_strip 1 | |
80 | ||
81 | %define _winedir %{_datadir}/%{name} | |
82 | ||
83 | %define getsoname() %((objdump -p %{1} 2>/dev/null || echo SONAME ERROR) | awk '/SONAME/ { print $2; s=1 }; END { if(s==0) print "ERROR" }') | |
84 | ||
85 | %undefine debuginfocflags | |
86 | ||
87 | %description | |
88 | Wine is a program which allows running Microsoft Windows programs | |
89 | (including DOS, Windows 3.x and Win32 executables) on Unix. It | |
90 | consists of a program loader which loads and executes a Microsoft | |
91 | Windows binary, and a library that implements Windows API calls using | |
92 | their Unix or X11 equivalents. The library may also be used for | |
93 | porting Win32 code into native Unix executables. | |
94 | ||
95 | %description -l es.UTF-8 | |
96 | Ejecuta programas Windows en Linux. | |
97 | ||
98 | %description -l pl.UTF-8 | |
99 | Wine jest programem dzięki któremu można uruchamiać programy napisane | |
100 | dla Microsoft Windows pod systemami uniksowymi. Składa się on z | |
101 | loadera, który pozwala wczytywać i uruchamiać programy w formacie | |
102 | Microsoft Windows, oraz z biblioteki, która implementuje API Windows | |
103 | przy użyciu odpowiedników uniksowych oraz z X11. Biblioteka może być | |
104 | także wykorzystana do przenoszenia aplikacji Win32 do Uniksa. | |
105 | ||
106 | %description -l pt_BR.UTF-8 | |
107 | O Wine é um programa que permite rodar programas MS-Windows no X11. | |
108 | Ele consiste de um carregador de programa, que carrega e executa um | |
109 | binário MS-Windows, e de uma biblioteca de emulação que traduz as | |
110 | chamadas da API para as equivalentes Unix/X11. | |
111 | ||
112 | %package devel | |
113 | Summary: Wine - header files | |
114 | Summary(es.UTF-8): Biblioteca de desarrollo de wine | |
115 | Summary(pl.UTF-8): Wine - pliki nagłowkowe | |
116 | Summary(pt_BR.UTF-8): Biblioteca de desenvolvimento do wine | |
117 | Group: Development/Libraries | |
118 | Requires: %{name} = %{epoch}:%{version}-%{release} | |
119 | ||
120 | %description devel | |
121 | Wine - header files. | |
122 | ||
123 | %description devel -l es.UTF-8 | |
124 | Biblioteca de desarrollo de wine. | |
125 | ||
126 | %description devel -l pl.UTF-8 | |
127 | Wine - pliki nagłówkowe. | |
128 | ||
129 | %description devel -l pt_BR.UTF-8 | |
130 | Arquivos de inclusão e bibliotecas para desenvolver aplicações com o | |
131 | WINE. | |
132 | ||
133 | %package programs | |
134 | Summary: Wine - programs | |
135 | Summary(pl.UTF-8): Wine - programy | |
136 | Group: Applications | |
137 | Requires: %{name} = %{epoch}:%{version}-%{release} | |
138 | ||
139 | %description programs | |
140 | Wine - programs. | |
141 | ||
142 | %description programs -l pl.UTF-8 | |
143 | Wine - programy. | |
144 | ||
145 | %package dll-d3d | |
146 | Summary: Direct3D implementation DLLs for Wine | |
147 | Summary(pl.UTF-8): Biblioteki DLL z implementacją Direct3D dla Wine | |
148 | Group: Applications/Emulators | |
149 | Requires: %{name} = %{epoch}:%{version}-%{release} | |
150 | Requires: OpenGL | |
151 | ||
152 | %description dll-d3d | |
153 | Direct3D implementation DLLs for Wine (through OpenGL). | |
154 | ||
155 | %description dll-d3d -l pl.UTF-8 | |
156 | Biblioteki DLL z implementacją Direct3D dla Wine (poprzez OpenGL). | |
157 | ||
158 | %package dll-gl | |
159 | Summary: OpenGL implementation DLLs for Wine | |
160 | Summary(pl.UTF-8): Biblioteki DLL z implementacją OpenGL dla Wine | |
161 | Group: Applications/Emulators | |
162 | Requires: %{name} = %{epoch}:%{version}-%{release} | |
163 | Requires: OpenGL | |
164 | ||
165 | %description dll-gl | |
166 | OpenGL implementation DLLs for Wine. | |
167 | ||
168 | %description dll-gl -l pl.UTF-8 | |
169 | Biblioteki DLL z implementacją OpenGL dla Wine. | |
170 | ||
171 | %package dll-twain | |
172 | Summary: TWAIN implementation DLL for Wine | |
173 | Summary(pl.UTF-8): Biblioteka DLL z implementacją TWAIN dla Wine | |
174 | Group: Applications/Emulators | |
175 | Requires: %{name} = %{epoch}:%{version}-%{release} | |
176 | ||
177 | %description dll-twain | |
178 | TWAIN implementation DLL for Wine (through SANE). | |
179 | ||
180 | %description dll-twain -l pl.UTF-8 | |
181 | Biblioteka DLL z implementacją TWAIN dla Wine (poprzez SANE). | |
182 | ||
183 | %package drv-alsa | |
184 | Summary: ALSA driver for WINE mm.dll implementation | |
185 | Summary(pl.UTF-8): Sterownik ALSA dla implementacji mm.dll w Wine | |
186 | Group: Applications/Emulators | |
187 | Requires: %{name} = %{epoch}:%{version}-%{release} | |
188 | ||
189 | %description drv-alsa | |
190 | ALSA driver for WINE mm.dll (multimedia system) implementation. | |
191 | ||
192 | %description drv-alsa -l pl.UTF-8 | |
193 | Sterownik ALSA dla implementacji mm.dll (systemu multimediów) w Wine. | |
194 | ||
195 | %package drv-arts | |
196 | Summary: aRts driver for WINE mm.dll implementation | |
197 | Summary(pl.UTF-8): Sterownik aRts dla implementacji mm.dll w Wine | |
198 | Group: Applications/Emulators | |
199 | Requires: %{name} = %{epoch}:%{version}-%{release} | |
200 | ||
201 | %description drv-arts | |
202 | aRts driver for WINE mm.dll (multimedia system) implementation. | |
203 | ||
204 | %description drv-arts -l pl.UTF-8 | |
205 | Sterownik aRts dla implementacji mm.dll (systemu multimediów) w Wine. | |
206 | ||
207 | %package drv-jack | |
208 | Summary: JACK driver for WINE mm.dll implementation | |
209 | Summary(pl.UTF-8): Sterownik JACK-a dla implementacji mm.dll w Wine | |
210 | Group: Applications/Emulators | |
211 | Requires: %{name} = %{epoch}:%{version}-%{release} | |
212 | Requires: jack-audio-connection-kit | |
213 | # dlopened by SONAME detected at build time | |
214 | %{?with_jack:Requires: %{getsoname /usr/%{_lib}/libjack.so}} | |
215 | ||
216 | %description drv-jack | |
217 | JACK driver for WINE mm.dll (multimedia system) implementation. | |
218 | ||
219 | %description drv-jack -l pl.UTF-8 | |
220 | Sterownik JACK-a dla implementacji mm.dll (systemu multimediów) w | |
221 | Wine. | |
222 | ||
223 | %package drv-nas | |
224 | Summary: NAS driver for WINE mm.dll implementation | |
225 | Summary(pl.UTF-8): Sterownik NAS dla implementacji mm.dll w Wine | |
226 | Group: Applications/Emulators | |
227 | Requires: %{name} = %{epoch}:%{version}-%{release} | |
228 | ||
229 | %description drv-nas | |
230 | NAS driver for WINE mm.dll (multimedia system) implementation. | |
231 | ||
232 | %description drv-nas -l pl.UTF-8 | |
233 | Sterownik NAS dla implementacji mm.dll (systemu multimediów) w Wine. | |
234 | ||
235 | %prep | |
236 | %setup -q | |
237 | %patch0 -p1 | |
238 | %patch1 -p1 | |
239 | %patch2 -p1 | |
240 | ||
241 | # turn off compilation of some tools | |
242 | sed -i -e "s|winetest \\\|\\\|;s|avitools||" programs/Makefile.in | |
243 | #sed -i -e "s|avitools||" programs/Makefile.in | |
244 | ||
245 | %build | |
246 | %{__autoconf} | |
247 | %{__autoheader} | |
248 | %configure \ | |
249 | %{!?debug:--disable-debug} \ | |
250 | %{!?debug:--disable-trace} \ | |
251 | --enable-curses \ | |
252 | --enable-opengl \ | |
253 | --with-x | |
254 | %{__make} depend | |
255 | %{__make} | |
256 | %{__make} -C programs | |
257 | #%{__make} -C programs/regapi | |
258 | ||
259 | %install | |
260 | rm -rf $RPM_BUILD_ROOT | |
261 | install -d $RPM_BUILD_ROOT{%{_mandir}/man1,%{_aclocaldir}} | |
262 | ||
263 | %{__make} install \ | |
264 | DESTDIR=$RPM_BUILD_ROOT | |
265 | ||
266 | %{__make} -C programs install \ | |
267 | DESTDIR=$RPM_BUILD_ROOT | |
268 | ||
269 | install tools/fnt2bdf $RPM_BUILD_ROOT%{_bindir} | |
270 | ||
271 | install aclocal.m4 $RPM_BUILD_ROOT%{_aclocaldir}/wine.m4 | |
272 | #mv -f $RPM_BUILD_ROOT{/usr/X11R6/share/aclocal,%{_aclocaldir}}/wine.m4 | |
273 | ||
274 | install -d \ | |
275 | $RPM_BUILD_ROOT%{_winedir}/windows/{system,Desktop,Favorites,Fonts} \ | |
276 | "$RPM_BUILD_ROOT%{_winedir}/windows/Start Menu/Programs/Startup" \ | |
277 | $RPM_BUILD_ROOT%{_winedir}/windows/{SendTo,ShellNew,system32,NetHood} \ | |
278 | $RPM_BUILD_ROOT%{_winedir}/windows/{Profiles/Administrator,Recent} \ | |
279 | $RPM_BUILD_ROOT%{_winedir}/{"Program Files/Common Files","My Documents"} | |
280 | ||
281 | touch $RPM_BUILD_ROOT%{_winedir}/{autoexec.bat,config.sys,windows/win.ini} | |
282 | touch $RPM_BUILD_ROOT%{_winedir}/windows/system/{shell.dll,shell32.dll} | |
283 | touch $RPM_BUILD_ROOT%{_winedir}/windows/system/{winsock.dll,wsock32.dll} | |
284 | ||
285 | cat >$RPM_BUILD_ROOT%{_winedir}/windows/system.ini <<EOF | |
286 | [mci] | |
287 | cdaudio=mcicda.drv | |
288 | sequencer=mciseq.drv | |
289 | waveaudio=mciwave.drv | |
290 | avivideo=mciavi.drv | |
291 | videodisc=mcipionr.drv | |
292 | vcr=mciviscd.drv | |
293 | MPEGVideo=mciqtz.drv | |
294 | EOF | |
295 | ||
296 | %if %{?debug:0}%{!?debug:1} | |
297 | echo "Strip executable binaries and shared object files." | |
298 | filelist=`find $RPM_BUILD_ROOT -type f ! -regex ".*ld-[0-9.]*so.*"` | |
299 | elfexelist=`echo $filelist | xargs -r file | \ | |
300 | awk '/ELF.*executable/ {print $1}' | cut -d: -f1` | |
301 | elfsharedlist=`echo $filelist | xargs -r file | \ | |
302 | awk '/LF.*shared object/ {print $1}' | cut -d: -f1`; \ | |
303 | if [ -n "$elfexelist" ]; then \ | |
304 | strip -R .note -R .comment $elfexelist | |
305 | fi | |
306 | if [ -n "$elfsharedlist" ]; then | |
307 | strip --strip-unneeded -R .note -R .comment $elfsharedlist | |
308 | fi | |
309 | %endif | |
310 | ||
311 | # /sbin/chstk -e $RPM_BUILD_ROOT%{_bindir}/wine | |
312 | ||
313 | programs="notepad progman regedit regsvr32 uninstaller wineconsole winefile winemine winepath winhelp" | |
314 | ||
315 | BZZZ=`pwd` | |
316 | rm -f files.so; touch files.so | |
317 | rm -f files.programs; touch files.programs | |
318 | cd $RPM_BUILD_ROOT%{_libdir}/wine | |
319 | for f in *.so; do | |
320 | case $f in | |
321 | d3d8.dll.so|d3d9.dll.so|d3dx8.dll.so|glu32.dll.so|opengl32.dll.so|sane.ds.so|twain.dll.so|twain_32.dll.so|winealsa.drv.so|winearts.drv.so|winejack.drv.so|winenas.drv.so) | |
322 | ;; | |
323 | *) | |
324 | echo "%attr(755,root,root) %{_libdir}/wine/$f" >>$BZZZ/files.so | |
325 | esac | |
326 | done | |
327 | cd - | |
328 | for p in $programs; do | |
329 | echo "%attr(755,root,root) %{_bindir}/$p" >> files.programs | |
330 | echo "%attr(755,root,root) %{_libdir}/wine/$p.exe.so" >> files.programs | |
331 | grep -v "$p\.exe\.so$" files.so > files.so. | |
332 | mv -f files.so. files.so | |
333 | done | |
334 | ||
335 | %clean | |
336 | rm -rf $RPM_BUILD_ROOT | |
337 | ||
338 | %post -p /sbin/ldconfig | |
339 | %postun -p /sbin/ldconfig | |
340 | ||
341 | %triggerpostun -- wine < 1:0.9.12-1.9 | |
342 | rm -f /var/lock/subsys/wine | |
343 | if [ -x /sbin/chkconfig ]; then | |
344 | /sbin/chkconfig --del wine | |
345 | fi | |
346 | ||
347 | %files -f files.so | |
348 | %defattr(644,root,root,755) | |
349 | %doc README ChangeLog AUTHORS ANNOUNCE | |
350 | %lang(de) %doc documentation/README.de | |
351 | %lang(es) %doc documentation/README.es | |
352 | %lang(fr) %doc documentation/README.fr | |
353 | %lang(it) %doc documentation/README.it | |
354 | %lang(ko) %doc documentation/README.ko | |
355 | %lang(nb) %doc documentation/README.no | |
356 | %lang(pt) %doc documentation/README.pt | |
357 | %lang(pt_BR) %doc documentation/README.pt_br | |
358 | %attr(755,root,root) %{_bindir}/msiexec | |
359 | %attr(755,root,root) %{_bindir}/wine | |
360 | %attr(755,root,root) %{_bindir}/wineboot | |
361 | %attr(755,root,root) %{_bindir}/winebrowser | |
362 | %attr(755,root,root) %{_bindir}/winecfg | |
363 | %attr(755,root,root) %{_bindir}/winedbg | |
364 | %attr(755,root,root) %{_bindir}/wine-kthread | |
365 | %attr(755,root,root) %{_bindir}/winelauncher | |
366 | %attr(755,root,root) %{_bindir}/wineprefixcreate | |
367 | %attr(755,root,root) %{_bindir}/wine-preloader | |
368 | %attr(755,root,root) %{_bindir}/wine-pthread | |
369 | %attr(755,root,root) %{_bindir}/wineserver | |
370 | %attr(755,root,root) %{_bindir}/wineshelllink | |
371 | %attr(755,root,root) %{_libdir}/*.so* | |
372 | %dir %{_libdir}/wine | |
373 | %{_libdir}/wine/*.dll16 | |
374 | %{_libdir}/wine/*.drv16 | |
375 | %{_libdir}/wine/*.exe16 | |
376 | %{_mandir}/man1/wine.1* | |
377 | %{_mandir}/man1/winedbg.1* | |
378 | %{_mandir}/man1/wineprefixcreate.1* | |
379 | %{_mandir}/man1/wineserver.1* | |
380 | %{_winedir} | |
381 | %{_desktopdir}/wine.desktop | |
382 | ||
383 | %files programs -f files.programs | |
384 | %defattr(644,root,root,755) | |
385 | ||
386 | %files devel | |
387 | %defattr(644,root,root,755) | |
388 | %attr(755,root,root) %{_bindir}/fnt2bdf | |
389 | %attr(755,root,root) %{_bindir}/function_grep.pl | |
390 | %attr(755,root,root) %{_bindir}/widl | |
391 | %attr(755,root,root) %{_bindir}/winebuild | |
392 | %attr(755,root,root) %{_bindir}/winedump | |
393 | %attr(755,root,root) %{_bindir}/wineg++ | |
394 | %attr(755,root,root) %{_bindir}/winegcc | |
395 | %attr(755,root,root) %{_bindir}/winemaker | |
396 | #%attr(755,root,root) %{_bindir}/winewrap | |
397 | %attr(755,root,root) %{_bindir}/wmc | |
398 | %attr(755,root,root) %{_bindir}/wrc | |
399 | %{_libdir}/wine/lib*.def | |
400 | # no shared variants, so not separated | |
401 | %{_libdir}/wine/lib*.def.a | |
402 | %{_libdir}/wine/libdx*.a | |
403 | %{_libdir}/wine/libstrmiids.a | |
404 | %{_libdir}/wine/libuuid.a | |
405 | %{_libdir}/wine/libwinecrt0.a | |
406 | %{_includedir}/wine | |
407 | %{_mandir}/man1/widl.1* | |
408 | %{_mandir}/man1/winedump.1* | |
409 | %{_mandir}/man1/winegcc.1* | |
410 | %{_mandir}/man1/winemaker.1* | |
411 | %{_mandir}/man1/winebuild.1* | |
412 | %{_mandir}/man1/wmc.1* | |
413 | %{_mandir}/man1/wrc.1* | |
414 | %{_aclocaldir}/*.m4 | |
415 | ||
416 | %files dll-d3d | |
417 | %defattr(644,root,root,755) | |
418 | %attr(755,root,root) %{_libdir}/wine/d3d8.dll.so | |
419 | %attr(755,root,root) %{_libdir}/wine/d3d9.dll.so | |
420 | %attr(755,root,root) %{_libdir}/wine/d3dx8.dll.so | |
421 | %attr(755,root,root) %{_libdir}/wine/wined3d.dll.so | |
422 | ||
423 | %files dll-gl | |
424 | %defattr(644,root,root,755) | |
425 | %attr(755,root,root) %{_libdir}/wine/glu32.dll.so | |
426 | %attr(755,root,root) %{_libdir}/wine/opengl32.dll.so | |
427 | ||
428 | %if %{with sane} | |
429 | %files dll-twain | |
430 | %defattr(644,root,root,755) | |
431 | %attr(755,root,root) %{_libdir}/wine/sane.ds.so | |
432 | %attr(755,root,root) %{_libdir}/wine/twain*.dll.so | |
433 | %endif | |
434 | ||
435 | %if %{with alsa} | |
436 | %files drv-alsa | |
437 | %defattr(644,root,root,755) | |
438 | %attr(755,root,root) %{_libdir}/wine/winealsa.drv.so | |
439 | %endif | |
440 | ||
441 | %if %{with arts} | |
442 | %files drv-arts | |
443 | %defattr(644,root,root,755) | |
444 | %attr(755,root,root) %{_libdir}/wine/winearts.drv.so | |
445 | %endif | |
446 | ||
447 | %if %{with jack} | |
448 | %files drv-jack | |
449 | %defattr(644,root,root,755) | |
450 | %attr(755,root,root) %{_libdir}/wine/winejack.drv.so | |
451 | %endif | |
452 | ||
453 | %if %{with nas} | |
454 | %files drv-nas | |
455 | %defattr(644,root,root,755) | |
456 | %attr(755,root,root) %{_libdir}/wine/winenas.drv.so | |
457 | %endif | |
458 | ||
459 | # additional dependencies in *.so not separated (yet?) from main package | |
460 | # ddraw.dll.so,x11drv.dll.so depend on X11 libs | |
461 | # ole2disp.dll.so,oleaut32.dll.so,typelib.dll.so depend on lib(un)gif,libjpeg,libX11 | |
462 | # ttydrv.dll.so depends on ncurses |