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: af9268ee2f20d517cef844134212088e
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 URL: http://www.winehq.org/
51 BuildRequires: libSM-devel
52 BuildRequires: libXrandr-devel
53 BuildRequires: libXrender-devel
54 BuildRequires: libXt-devel
55 BuildRequires: libXv-devel
57 BuildRequires: XFree86-devel
59 BuildRequires: XFree86-OpenGL-devel-base
60 BuildRequires: XFree86-OpenGL-devel
61 %{?with_alsa:BuildRequires: alsa-lib-devel}
62 %{?with_arts:BuildRequires: artsc-devel}
63 BuildRequires: autoconf
64 BuildRequires: automake
66 # BuildRequires: chpax >= 0.20020901-2
67 %{?with_cups:BuildRequires: cups-devel}
68 BuildRequires: docbook-dtd31-sgml
69 BuildRequires: docbook-utils
71 BuildRequires: fontconfig-devel
72 BuildRequires: freetype-devel >= 2.0.5
73 %{?with_jack:BuildRequires: jack-audio-connection-kit-devel}
74 BuildRequires: libjpeg-devel
75 BuildRequires: libtool
76 BuildRequires: libungif-devel
77 %{?with_nas:BuildRequires: nas-devel}
78 BuildRequires: ncurses-devel
79 %if %{with html_docs} || %{with pdf_docs}
80 # db2* failed previously - probably openjade or opensp bug
81 BuildRequires: openjade >= 1:1.3.3-0.pre1
82 BuildRequires: opensp >= 1:1.5.1
84 BuildRequires: openssl-devel >= 0.9.7d
86 BuildRequires: tetex-latex-cyrillic
87 BuildRequires: tetex-metafont
88 BuildRequires: tetex-fonts-jknappen
89 BuildRequires: tetex-fonts-pazo
90 BuildRequires: tetex-fonts-stmaryrd
91 BuildRequires: tetex-fonts-type1-urw
93 %{?with_sane:BuildRequires: sane-backends-devel}
94 BuildRequires: xrender-devel
95 Requires(post): /sbin/ldconfig
96 Requires(post,preun): /sbin/chkconfig
97 # link to wine/ntdll.dll.so, without any SONAME
98 Provides: libntdll.dll.so
99 ExclusiveArch: %{ix86}
100 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
102 %define _noautoreqdep libGL.so.1 libGLU.so.1
103 %define no_install_post_strip 1
105 %define _winedir %{_datadir}/%{name}
107 %define getsoname() %((objdump -p %{1} 2>/dev/null || echo SONAME ERROR) | awk '/SONAME/ { print $2; s=1 }; END { if(s==0) print "ERROR" }')
110 Wine is a program which allows running Microsoft Windows programs
111 (including DOS, Windows 3.x and Win32 executables) on Unix. It
112 consists of a program loader which loads and executes a Microsoft
113 Windows binary, and a library that implements Windows API calls using
114 their Unix or X11 equivalents. The library may also be used for
115 porting Win32 code into native Unix executables.
118 Ejecuta programas Windows en Linux.
121 Wine jest programem dziêki któremu mo¿na uruchamiaæ programy napisane
122 dla Microsoft Windows pod systemami unixowymi. Sk³ada siê on z
123 loadera, który pozwala wczytywaæ i uruchamiaæ programy w formacie
124 Microsoft Windows, oraz z biblioteki, która implementuje API Windows
125 przy u¿yciu odpowiedników Unixowych oraz z X11. Biblioteka mo¿e byæ
126 tak¿e wykorzystana do przenoszenia aplikacji Win32 do Unixa.
128 %description -l pt_BR
129 O Wine é um programa que permite rodar programas MS-Windows no X11.
130 Ele consiste de um carregador de programa, que carrega e executa um
131 binário MS-Windows, e de uma biblioteca de emulação que traduz as
132 chamadas da API para as equivalentes Unix/X11.
135 Summary: Wine - header files
136 Summary(es): Biblioteca de desarrollo de wine
137 Summary(pl): Wine - pliki nag³owkowe
138 Summary(pt_BR): Biblioteca de desenvolvimento do wine
139 Group: Development/Libraries
140 Requires: %{name} = %{version}-%{release}
145 %description devel -l es
146 Biblioteca de desarrollo de wine.
148 %description devel -l pl
149 Wine - pliki nag³ówkowe.
151 %description devel -l pt_BR
152 Arquivos de inclusão e bibliotecas para desenvolver aplicações com o
156 Summary: Wine - programs
157 Summary(pl): Wine - programy
159 Requires: %{name} = %{version}-%{release}
161 %description programs
164 %description programs -l pl
168 Summary: Wine documentation in PDF
169 Summary(pl): Dokumentacja Wine w formacie PDF
173 Wine documentation in PDF format.
175 %description doc-pdf -l pl
176 Dokumentacja Wine w formacie PDF.
179 Summary: Direct3D implementation DLLs for Wine
180 Summary(pl): Biblioteki DLL z implementacj± Direct3D dla Wine
181 Group: Applications/Emulators
182 Requires: %{name} = %{version}-%{release}
186 Direct3D implementation DLLs for Wine (through OpenGL).
188 %description dll-d3d -l pl
189 Biblioteki DLL z implementacj± Direct3D dla Wine (poprzez OpenGL).
192 Summary: OpenGL implementation DLLs for Wine
193 Summary(pl): Biblioteki DLL z implementacj± OpenGL dla Wine
194 Group: Applications/Emulators
195 Requires: %{name} = %{version}-%{release}
199 OpenGL implementation DLLs for Wine.
201 %description dll-gl -l pl
202 Biblioteki DLL z implementacj± OpenGL dla Wine.
205 Summary: TWAIN implementation DLL for Wine
206 Summary(pl): Biblioteka DLL z implementacj± TWAIN dla Wine
207 Group: Applications/Emulators
208 Requires: %{name} = %{version}-%{release}
210 %description dll-twain
211 TWAIN implementation DLL for Wine (through SANE).
213 %description dll-twain -l pl
214 Biblioteka DLL z implementacj± TWAIN dla Wine (poprzez SANE).
217 Summary: ALSA driver for WINE mm.dll implementation
218 Summary(pl): Sterownik ALSA dla implementacji mm.dll w Wine
219 Group: Applications/Emulators
220 Requires: %{name} = %{version}-%{release}
222 %description drv-alsa
223 ALSA driver for WINE mm.dll (multimedia system) implementation.
225 %description drv-alsa -l pl
226 Sterownik ALSA dla implementacji mm.dll (systemu multimediów) w Wine.
229 Summary: aRts driver for WINE mm.dll implementation
230 Summary(pl): Sterownik aRts dla implementacji mm.dll w Wine
231 Group: Applications/Emulators
232 Requires: %{name} = %{version}-%{release}
234 %description drv-arts
235 aRts driver for WINE mm.dll (multimedia system) implementation.
237 %description drv-arts -l pl
238 Sterownik aRts dla implementacji mm.dll (systemu multimediów) w Wine.
241 Summary: JACK driver for WINE mm.dll implementation
242 Summary(pl): Sterownik JACK dla implementacji mm.dll w Wine
243 Group: Applications/Emulators
244 Requires: %{name} = %{version}-%{release}
245 Requires: jack-audio-connection-kit
246 # dlopened by SONAME detected at build time
247 %{?with_jack:Requires: %{getsoname /usr/%{_lib}/libjack.so}}
249 %description drv-jack
250 JACK driver for WINE mm.dll (multimedia system) implementation.
252 %description drv-jack -l pl
253 Sterownik JACK dla implementacji mm.dll (systemu multimediów) w Wine.
256 Summary: NAS driver for WINE mm.dll implementation
257 Summary(pl): Sterownik NAS dla implementacji mm.dll w Wine
258 Group: Applications/Emulators
259 Requires: %{name} = %{version}-%{release}
262 NAS driver for WINE mm.dll (multimedia system) implementation.
264 %description drv-nas -l pl
265 Sterownik NAS dla implementacji mm.dll (systemu multimediów) w Wine.
275 # turn off compilation of some tools
276 #sed -e "s|winetest \\\|\\\|;s|avitools||" programs/Makefile.in > .tmp
277 sed -e "s|avitools||" programs/Makefile.in > .tmp
278 mv -f .tmp programs/Makefile.in
284 CPPFLAGS="-DALSA_PCM_OLD_HW_PARAMS_API"
285 CFLAGS="%{rpmcflags} $CPPFLAGS"
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_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}/wine-kthread
424 %attr(755,root,root) %{_bindir}/wine-pthread
425 %attr(755,root,root) %{_bindir}/wineboot
426 %attr(755,root,root) %{_bindir}/winebrowser
427 %attr(755,root,root) %{_bindir}/winecfg
428 %attr(755,root,root) %{_bindir}/wineclipsrv
429 %attr(755,root,root) %{_bindir}/winedbg
430 %attr(755,root,root) %{_bindir}/winelauncher
431 %attr(755,root,root) %{_bindir}/wineserver
432 %attr(755,root,root) %{_bindir}/wineshelllink
433 %attr(755,root,root) %{_libdir}/*.so*
435 %{_mandir}/man1/wine.*
436 %{_mandir}/man5/wine.conf.*
437 %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/wine.reg
438 %config(missingok,noreplace) %verify(not size mtime md5) %{_sysconfdir}/wine.systemreg
439 %config(missingok,noreplace) %verify(not size mtime md5) %{_sysconfdir}/wine.userreg
440 %attr(754,root,root) %{_sysconfdir}/rc.d/init.d/wine
443 %files programs -f files.programs
444 %defattr(644,root,root,755)
447 %defattr(644,root,root,755)
448 %if %{with html_docs}
449 %doc documentation/{wine-devel,winelib-user}
451 %attr(755,root,root) %{_bindir}/fnt2bdf
452 %attr(755,root,root) %{_bindir}/function_grep.pl
453 %attr(755,root,root) %{_bindir}/hlp2sgml
454 %attr(755,root,root) %{_bindir}/widl
455 %attr(755,root,root) %{_bindir}/winebuild
456 %attr(755,root,root) %{_bindir}/winedump
457 %attr(755,root,root) %{_bindir}/wineg++
458 %attr(755,root,root) %{_bindir}/winegcc
459 %attr(755,root,root) %{_bindir}/winemaker
460 #%attr(755,root,root) %{_bindir}/winewrap
461 %attr(755,root,root) %{_bindir}/wmc
462 %attr(755,root,root) %{_bindir}/wrc
464 %{_mandir}/man1/widl.1*
465 %{_mandir}/man1/winedump.1*
466 %{_mandir}/man1/winemaker.1*
467 %{_mandir}/man1/winebuild.1*
468 %{_mandir}/man1/wmc.1*
469 %{_mandir}/man1/wrc.1*
474 %defattr(644,root,root,755)
475 %doc documentation/*.pdf
479 %defattr(644,root,root,755)
480 %attr(755,root,root) %{_libdir}/wine/d3d8.dll.so
481 %attr(755,root,root) %{_libdir}/wine/d3d9.dll.so
482 %attr(755,root,root) %{_libdir}/wine/d3dx8.dll.so
483 %attr(755,root,root) %{_libdir}/wine/wined3d.dll.so
486 %defattr(644,root,root,755)
487 %attr(755,root,root) %{_libdir}/wine/glu32.dll.so
488 %attr(755,root,root) %{_libdir}/wine/opengl32.dll.so
492 %defattr(644,root,root,755)
493 %attr(755,root,root) %{_libdir}/wine/twain_32.dll.so
498 %defattr(644,root,root,755)
499 %attr(755,root,root) %{_libdir}/wine/winealsa.drv.so
504 %defattr(644,root,root,755)
505 %attr(755,root,root) %{_libdir}/wine/winearts.drv.so
510 %defattr(644,root,root,755)
511 %attr(755,root,root) %{_libdir}/wine/winejack.drv.so
516 %defattr(644,root,root,755)
517 %attr(755,root,root) %{_libdir}/wine/winenas.drv.so
520 # additional dependencies in *.so not separated (yet?) from main package
521 # ddraw.dll.so,x11drv.dll.so depend on X11 libs
522 # ole2disp.dll.so,oleaut32.dll.so,typelib.dll.so depend on lib(un)gif,libjpeg,libX11
523 # ttydrv.dll.so depends on ncurses