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 %bcond_without html_docs # build html docs
10 %bcond_without pdf_docs # build pdf docs
13 # NOTE: wine detects the following SONAMES for dlopen at build time:
14 # libcrypto,libssl (wininet.dll)
15 # libcups (winspool.dll.so,wineps.dll.so)
16 # libcurses/libncurses (wineconsole program)
17 # libfontconfig (gdi32.dll.so)
18 # libfreetype (wineps.dll.so,gdi32.dll.so)
19 # libGL (x11drv.dll.so,ddraw.dll.so)
20 # libjack (winejack.drv.so - explicit dependency in subpackage)
21 # libX11, libXext, libXi, libXrender (x11drv.dll.so)
22 # thus requires rebuild after change of any of the above.
28 Summary: Program that lets you launch Win applications
29 Summary(es): Ejecuta programas Windows en Linux
30 Summary(pl): Program pozwalaj±cy uruchamiaæ aplikacje Windows
31 Summary(pt_BR): Executa programas Windows no Linux
36 Group: Applications/Emulators
37 #Source0: http://dl.sourceforge.net/%{name}/Wine-%{version}.tar.gz
38 Source0: ftp://ftp.ibiblio.org/pub/Linux/ALPHA/%{name}/development/Wine-%{version}.tar.gz
39 # Source0-md5: d90d31716ba71211af26ac773934f57e
42 Source3: %{name}.systemreg
43 Source4: %{name}.userreg
44 Patch0: %{name}-fontcache.patch
45 Patch1: %{name}-destdir.patch
46 Patch2: %{name}-ncurses.patch
47 Patch3: %{name}-makedep.patch
48 #Patch4: %{name}-dga.patch
49 # DirectX support from http://www.oliverthered.f2s.com/projects/wine/index.html
50 #Patch5: http://www.oliverthered.f2s.com/projects/wine/files/d3d9patch.2005-03-10.diff.bz2
51 Patch5: http://www.binf.ku.dk/users/biehl/d3d9patch.2005-03-10.diff
52 URL: http://www.winehq.org/
54 BuildRequires: libSM-devel
55 BuildRequires: libXrandr-devel
56 BuildRequires: libXrender-devel
57 BuildRequires: libXt-devel
58 BuildRequires: libXv-devel
60 BuildRequires: XFree86-devel
62 BuildRequires: XFree86-OpenGL-devel-base
63 BuildRequires: XFree86-OpenGL-devel
64 %{?with_alsa:BuildRequires: alsa-lib-devel}
65 %{?with_arts:BuildRequires: artsc-devel}
66 BuildRequires: autoconf
67 BuildRequires: automake
69 # BuildRequires: chpax >= 0.20020901-2
70 %{?with_cups:BuildRequires: cups-devel}
71 BuildRequires: docbook-dtd31-sgml
72 BuildRequires: docbook-utils
74 BuildRequires: fontconfig-devel
75 BuildRequires: fontforge
76 BuildRequires: freetype-devel >= 2.0.5
77 %{?with_jack:BuildRequires: jack-audio-connection-kit-devel}
78 BuildRequires: libjpeg-devel
79 BuildRequires: libtool
80 BuildRequires: libungif-devel
81 %{?with_nas:BuildRequires: nas-devel}
82 BuildRequires: ncurses-devel
83 %if %{with html_docs} || %{with pdf_docs}
84 # db2* failed previously - probably openjade or opensp bug
85 BuildRequires: openjade >= 1:1.3.3-0.pre1
86 BuildRequires: opensp >= 1:1.5.1
88 BuildRequires: openssl-devel >= 0.9.7d
90 BuildRequires: tetex-latex-cyrillic
91 BuildRequires: tetex-metafont
92 BuildRequires: tetex-fonts-jknappen
93 BuildRequires: tetex-fonts-pazo
94 BuildRequires: tetex-fonts-stmaryrd
95 BuildRequires: tetex-fonts-type1-urw
97 %{?with_sane:BuildRequires: sane-backends-devel}
98 BuildRequires: xrender-devel
99 Requires(post): /sbin/ldconfig
100 Requires(post,preun): /sbin/chkconfig
101 # link to wine/ntdll.dll.so, without any SONAME
102 Provides: libntdll.dll.so
103 ExclusiveArch: %{ix86}
104 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
106 %define _noautoreqdep libGL.so.1 libGLU.so.1
107 %define no_install_post_strip 1
109 %define _winedir %{_datadir}/%{name}
111 %define getsoname() %((objdump -p %{1} 2>/dev/null || echo SONAME ERROR) | awk '/SONAME/ { print $2; s=1 }; END { if(s==0) print "ERROR" }')
114 Wine is a program which allows running Microsoft Windows programs
115 (including DOS, Windows 3.x and Win32 executables) on Unix. It
116 consists of a program loader which loads and executes a Microsoft
117 Windows binary, and a library that implements Windows API calls using
118 their Unix or X11 equivalents. The library may also be used for
119 porting Win32 code into native Unix executables.
122 Ejecuta programas Windows en Linux.
125 Wine jest programem dziêki któremu mo¿na uruchamiaæ programy napisane
126 dla Microsoft Windows pod systemami uniksowymi. Sk³ada siê on z
127 loadera, który pozwala wczytywaæ i uruchamiaæ programy w formacie
128 Microsoft Windows, oraz z biblioteki, która implementuje API Windows
129 przy u¿yciu odpowiedników uniksowych oraz z X11. Biblioteka mo¿e byæ
130 tak¿e wykorzystana do przenoszenia aplikacji Win32 do Uniksa.
132 %description -l pt_BR
133 O Wine é um programa que permite rodar programas MS-Windows no X11.
134 Ele consiste de um carregador de programa, que carrega e executa um
135 binário MS-Windows, e de uma biblioteca de emulação que traduz as
136 chamadas da API para as equivalentes Unix/X11.
139 Summary: Wine - header files
140 Summary(es): Biblioteca de desarrollo de wine
141 Summary(pl): Wine - pliki nag³owkowe
142 Summary(pt_BR): Biblioteca de desenvolvimento do wine
143 Group: Development/Libraries
144 Requires: %{name} = %{version}-%{release}
149 %description devel -l es
150 Biblioteca de desarrollo de wine.
152 %description devel -l pl
153 Wine - pliki nag³ówkowe.
155 %description devel -l pt_BR
156 Arquivos de inclusão e bibliotecas para desenvolver aplicações com o
160 Summary: Wine - programs
161 Summary(pl): Wine - programy
163 Requires: %{name} = %{version}-%{release}
165 %description programs
168 %description programs -l pl
172 Summary: Wine documentation in PDF
173 Summary(pl): Dokumentacja Wine w formacie PDF
177 Wine documentation in PDF format.
179 %description doc-pdf -l pl
180 Dokumentacja Wine w formacie PDF.
183 Summary: Direct3D implementation DLLs for Wine
184 Summary(pl): Biblioteki DLL z implementacj± Direct3D dla Wine
185 Group: Applications/Emulators
186 Requires: %{name} = %{version}-%{release}
190 Direct3D implementation DLLs for Wine (through OpenGL).
192 %description dll-d3d -l pl
193 Biblioteki DLL z implementacj± Direct3D dla Wine (poprzez OpenGL).
196 Summary: OpenGL implementation DLLs for Wine
197 Summary(pl): Biblioteki DLL z implementacj± OpenGL dla Wine
198 Group: Applications/Emulators
199 Requires: %{name} = %{version}-%{release}
203 OpenGL implementation DLLs for Wine.
205 %description dll-gl -l pl
206 Biblioteki DLL z implementacj± OpenGL dla Wine.
209 Summary: TWAIN implementation DLL for Wine
210 Summary(pl): Biblioteka DLL z implementacj± TWAIN dla Wine
211 Group: Applications/Emulators
212 Requires: %{name} = %{version}-%{release}
214 %description dll-twain
215 TWAIN implementation DLL for Wine (through SANE).
217 %description dll-twain -l pl
218 Biblioteka DLL z implementacj± TWAIN dla Wine (poprzez SANE).
221 Summary: ALSA driver for WINE mm.dll implementation
222 Summary(pl): Sterownik ALSA dla implementacji mm.dll w Wine
223 Group: Applications/Emulators
224 Requires: %{name} = %{version}-%{release}
226 %description drv-alsa
227 ALSA driver for WINE mm.dll (multimedia system) implementation.
229 %description drv-alsa -l pl
230 Sterownik ALSA dla implementacji mm.dll (systemu multimediów) w Wine.
233 Summary: aRts driver for WINE mm.dll implementation
234 Summary(pl): Sterownik aRts dla implementacji mm.dll w Wine
235 Group: Applications/Emulators
236 Requires: %{name} = %{version}-%{release}
238 %description drv-arts
239 aRts driver for WINE mm.dll (multimedia system) implementation.
241 %description drv-arts -l pl
242 Sterownik aRts dla implementacji mm.dll (systemu multimediów) w Wine.
245 Summary: JACK driver for WINE mm.dll implementation
246 Summary(pl): Sterownik JACK-a dla implementacji mm.dll w Wine
247 Group: Applications/Emulators
248 Requires: %{name} = %{version}-%{release}
249 Requires: jack-audio-connection-kit
250 # dlopened by SONAME detected at build time
251 %{?with_jack:Requires: %{getsoname /usr/%{_lib}/libjack.so}}
253 %description drv-jack
254 JACK driver for WINE mm.dll (multimedia system) implementation.
256 %description drv-jack -l pl
257 Sterownik JACK-a dla implementacji mm.dll (systemu multimediów) w
261 Summary: NAS driver for WINE mm.dll implementation
262 Summary(pl): Sterownik NAS dla implementacji mm.dll w Wine
263 Group: Applications/Emulators
264 Requires: %{name} = %{version}-%{release}
267 NAS driver for WINE mm.dll (multimedia system) implementation.
269 %description drv-nas -l pl
270 Sterownik NAS dla implementacji mm.dll (systemu multimediów) w Wine.
280 # turn off compilation of some tools
281 sed -i -e "s|winetest \\\|\\\|;s|avitools||" programs/Makefile.in
282 #sed -i -e "s|avitools||" programs/Makefile.in
287 %{!?debug:--disable-debug} \
288 %{!?debug:--disable-trace} \
294 %{__make} -C programs
295 #%{__make} -C programs/regapi
298 %if %{with html_docs}
299 db2html wine-user.sgml
300 db2html wine-devel.sgml
301 db2html wine-faq.sgml
302 db2html winelib-user.sgml
306 db2pdf wine-user.sgml
307 db2pdf wine-devel.sgml
309 db2pdf winelib-user.sgml
314 rm -rf $RPM_BUILD_ROOT
315 install -d $RPM_BUILD_ROOT{%{_mandir}/man1,%{_aclocaldir}}
318 DESTDIR=$RPM_BUILD_ROOT
320 %{__make} -C programs install \
321 DESTDIR=$RPM_BUILD_ROOT
323 install programs/winhelp/hlp2sgml $RPM_BUILD_ROOT%{_bindir}
324 install tools/fnt2bdf $RPM_BUILD_ROOT%{_bindir}
326 install aclocal.m4 $RPM_BUILD_ROOT%{_aclocaldir}/wine.m4
327 #mv -f $RPM_BUILD_ROOT{/usr/X11R6/share/aclocal,%{_aclocaldir}}/wine.m4
329 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d \
330 $RPM_BUILD_ROOT%{_winedir}/windows/{system,Desktop,Favorites,Fonts} \
331 "$RPM_BUILD_ROOT%{_winedir}/windows/Start Menu/Programs/Startup" \
332 $RPM_BUILD_ROOT%{_winedir}/windows/{SendTo,ShellNew,system32,NetHood} \
333 $RPM_BUILD_ROOT%{_winedir}/windows/{Profiles/Administrator,Recent} \
334 $RPM_BUILD_ROOT%{_winedir}/{"Program Files/Common Files","My Documents"}
336 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/wine
337 install %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}
338 install %{SOURCE3} $RPM_BUILD_ROOT%{_sysconfdir}
339 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}
341 touch $RPM_BUILD_ROOT%{_winedir}/{autoexec.bat,config.sys,windows/win.ini}
342 touch $RPM_BUILD_ROOT%{_winedir}/windows/system/{shell.dll,shell32.dll}
343 touch $RPM_BUILD_ROOT%{_winedir}/windows/system/{winsock.dll,wsock32.dll}
345 cat >$RPM_BUILD_ROOT%{_winedir}/windows/system.ini <<EOF
349 waveaudio=mciwave.drv
351 videodisc=mcipionr.drv
356 %if %{?debug:0}%{!?debug:1}
357 echo "Strip executable binaries and shared object files."
358 filelist=`find $RPM_BUILD_ROOT -type f ! -regex ".*ld-[0-9.]*so.*"`
359 elfexelist=`echo $filelist | xargs -r file | \
360 awk '/ELF.*executable/ {print $1}' | cut -d: -f1`
361 elfsharedlist=`echo $filelist | xargs -r file | \
362 awk '/LF.*shared object/ {print $1}' | cut -d: -f1`; \
363 if [ -n "$elfexelist" ]; then \
364 strip -R .note -R .comment $elfexelist
366 if [ -n "$elfsharedlist" ]; then
367 strip --strip-unneeded -R .note -R .comment $elfsharedlist
371 # /sbin/chstk -e $RPM_BUILD_ROOT%{_bindir}/wine
373 programs="notepad progman regedit regsvr32 uninstaller wineconsole winefile winemine winepath winhelp wcmd"
376 rm -f files.so; touch files.so
377 rm -f files.programs; touch files.programs
378 cd $RPM_BUILD_ROOT%{_libdir}/wine
381 d3d8.dll.so|d3d9.dll.so|d3dx8.dll.so|glu32.dll.so|opengl32.dll.so|twain.dll.so|twain_32.dll.so|winealsa.drv.so|winearts.drv.so|winejack.drv.so|winenas.drv.so)
384 echo "%attr(755,root,root) %{_libdir}/wine/$f" >>$BZZZ/files.so
388 for p in $programs; do
389 echo "%attr(755,root,root) %{_bindir}/$p" >> files.programs
390 echo "%attr(755,root,root) %{_libdir}/wine/$p.exe.so" >> files.programs
391 grep -v "$p\.exe\.so$" files.so > files.so.
392 mv -f files.so. files.so
396 rm -rf $RPM_BUILD_ROOT
400 /sbin/chkconfig --add wine
401 if [ ! -f /var/lock/subsys/wine ]; then
402 echo "Run \"/etc/rc.d/init.d/wine start\" to start wine service." >&2
406 if [ "$1" = "0" ]; then
407 if [ -f /var/lock/subsys/wine ]; then
408 /etc/rc.d/init.d/wine stop >&2
410 /sbin/chkconfig --del wine
413 %postun -p /sbin/ldconfig
416 %defattr(644,root,root,755)
417 %doc README DEVELOPERS-HINTS ChangeLog BUGS AUTHORS ANNOUNCE
418 %doc documentation/samples
419 %if %{with html_docs}
420 %doc documentation/wine-{faq,user}
422 %attr(755,root,root) %{_bindir}/wine
423 %attr(755,root,root) %{_bindir}/wineboot
424 %attr(755,root,root) %{_bindir}/winebrowser
425 %attr(755,root,root) %{_bindir}/winecfg
426 %attr(755,root,root) %{_bindir}/winedbg
427 %attr(755,root,root) %{_bindir}/wine-kthread
428 %attr(755,root,root) %{_bindir}/winelauncher
429 %attr(755,root,root) %{_bindir}/wineprefixcreate
430 %attr(755,root,root) %{_bindir}/wine-preloader
431 %attr(755,root,root) %{_bindir}/wine-pthread
432 %attr(755,root,root) %{_bindir}/wineserver
433 %attr(755,root,root) %{_bindir}/wineshelllink
434 %attr(755,root,root) %{_libdir}/*.so*
436 %{_mandir}/man1/wine.*
437 %{_mandir}/man1/winedbg.1*
438 %{_mandir}/man5/wine.conf.*
439 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/wine.reg
440 %config(missingok,noreplace) %verify(not size mtime md5) %{_sysconfdir}/wine.systemreg
441 %config(missingok,noreplace) %verify(not size mtime md5) %{_sysconfdir}/wine.userreg
442 %attr(754,root,root) %{_sysconfdir}/rc.d/init.d/wine
444 %{_datadir}/fonts/wine
445 %{_desktopdir}/wine.desktop
447 %files programs -f files.programs
448 %defattr(644,root,root,755)
451 %defattr(644,root,root,755)
452 %if %{with html_docs}
453 %doc documentation/{wine-devel,winelib-user}
455 %attr(755,root,root) %{_bindir}/fnt2bdf
456 %attr(755,root,root) %{_bindir}/function_grep.pl
457 %attr(755,root,root) %{_bindir}/hlp2sgml
458 %attr(755,root,root) %{_bindir}/widl
459 %attr(755,root,root) %{_bindir}/winebuild
460 %attr(755,root,root) %{_bindir}/winedump
461 %attr(755,root,root) %{_bindir}/wineg++
462 %attr(755,root,root) %{_bindir}/winegcc
463 %attr(755,root,root) %{_bindir}/winemaker
464 #%attr(755,root,root) %{_bindir}/winewrap
465 %attr(755,root,root) %{_bindir}/wmc
466 %attr(755,root,root) %{_bindir}/wrc
468 %{_mandir}/man1/widl.1*
469 %{_mandir}/man1/winedump.1*
470 %{_mandir}/man1/winegcc.1*
471 %{_mandir}/man1/winemaker.1*
472 %{_mandir}/man1/winebuild.1*
473 %{_mandir}/man1/wmc.1*
474 %{_mandir}/man1/wrc.1*
479 %defattr(644,root,root,755)
480 %doc documentation/*.pdf
484 %defattr(644,root,root,755)
485 %attr(755,root,root) %{_libdir}/wine/d3d8.dll.so
486 %attr(755,root,root) %{_libdir}/wine/d3d9.dll.so
487 %attr(755,root,root) %{_libdir}/wine/d3dx8.dll.so
488 %attr(755,root,root) %{_libdir}/wine/wined3d.dll.so
491 %defattr(644,root,root,755)
492 %attr(755,root,root) %{_libdir}/wine/glu32.dll.so
493 %attr(755,root,root) %{_libdir}/wine/opengl32.dll.so
497 %defattr(644,root,root,755)
498 %attr(755,root,root) %{_libdir}/wine/twain*.dll.so
503 %defattr(644,root,root,755)
504 %attr(755,root,root) %{_libdir}/wine/winealsa.drv.so
509 %defattr(644,root,root,755)
510 %attr(755,root,root) %{_libdir}/wine/winearts.drv.so
515 %defattr(644,root,root,755)
516 %attr(755,root,root) %{_libdir}/wine/winejack.drv.so
521 %defattr(644,root,root,755)
522 %attr(755,root,root) %{_libdir}/wine/winenas.drv.so
525 # additional dependencies in *.so not separated (yet?) from main package
526 # ddraw.dll.so,x11drv.dll.so depend on X11 libs
527 # ole2disp.dll.so,oleaut32.dll.so,typelib.dll.so depend on lib(un)gif,libjpeg,libX11
528 # ttydrv.dll.so depends on ncurses