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_with d3d9 # build with d3d9 patch
8 %bcond_without sane # don't build TWAIN DLL with scanning support (through SANE)
9 %bcond_without cups # without CUPS printing support in winspool,wineps DLLs
12 # NOTE: wine detects the following SONAMES for dlopen at build time:
13 # libcrypto,libssl (wininet.dll)
14 # libcups (winspool.dll.so,wineps.dll.so)
15 # libcurses/libncurses (wineconsole program)
16 # libfontconfig (gdi32.dll.so)
17 # libfreetype (wineps.dll.so,gdi32.dll.so)
18 # libGL (x11drv.dll.so,ddraw.dll.so)
19 # libjack (winejack.drv.so - explicit dependency in subpackage)
20 # libX11, libXext, libXi, libXrender (x11drv.dll.so)
21 # thus requires rebuild after change of any of the above.
27 Summary: Program that lets you launch Win applications
28 Summary(es): Ejecuta programas Windows en Linux
29 Summary(pl): Program pozwalaj±cy uruchamiaæ aplikacje Windows
30 Summary(pt_BR): Executa programas Windows no Linux
35 Group: Applications/Emulators
36 #Source0: http://dl.sourceforge.net/%{name}/Wine-%{version}.tar.gz
37 Source0: ftp://ftp.ibiblio.org/pub/Linux/ALPHA/wine/development/Wine-%{version}.tar.gz
38 # Source0-md5: b8cb96e2cb2c89daeba415c734ae4218
40 Patch0: %{name}-fontcache.patch
41 Patch1: %{name}-destdir.patch
42 Patch2: %{name}-makedep.patch
43 Patch3: %{name}-alsa.patch
44 # Oliver Stieber's DirectX 9 support patch (unofficial, published on WWN Issue #271)
45 Patch4: %{name}-d3d9patch.patch
46 #PatchX: %{name}-dga.patch
47 URL: http://www.winehq.org/
49 BuildRequires: libSM-devel
50 BuildRequires: libXrandr-devel
51 BuildRequires: libXrender-devel
52 BuildRequires: libXt-devel
53 BuildRequires: libXv-devel
55 BuildRequires: XFree86-devel
57 BuildRequires: XFree86-OpenGL-devel-base
58 BuildRequires: XFree86-OpenGL-devel
59 %{?with_alsa:BuildRequires: alsa-lib-devel}
60 %{?with_arts:BuildRequires: artsc-devel}
61 BuildRequires: autoconf
62 BuildRequires: automake
64 # BuildRequires: chpax >= 0.20020901-2
65 %{?with_cups:BuildRequires: cups-devel}
66 BuildRequires: docbook-dtd31-sgml
67 BuildRequires: docbook-utils
69 BuildRequires: fontconfig-devel
70 BuildRequires: fontforge
71 BuildRequires: freetype-devel >= 2.0.5
72 %{?with_jack:BuildRequires: jack-audio-connection-kit-devel}
73 BuildRequires: libjpeg-devel
74 BuildRequires: libtool
75 BuildRequires: libungif-devel
76 %{?with_nas:BuildRequires: nas-devel}
77 BuildRequires: ncurses-devel
78 # db2* failed previously - probably openjade or opensp bug
79 BuildRequires: openjade >= 1:1.3.3-0.pre1
80 BuildRequires: opensp >= 1:1.5.1
81 BuildRequires: openssl-devel >= 0.9.7d
82 %{?with_sane:BuildRequires: sane-backends-devel}
83 BuildRequires: xrender-devel
84 Requires(post): /sbin/ldconfig
85 Requires(post,preun): /sbin/chkconfig
86 # link to wine/ntdll.dll.so, without any SONAME
87 Provides: libntdll.dll.so
88 ExclusiveArch: %{ix86}
89 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
91 %define _noautoreqdep libGL.so.1 libGLU.so.1
92 %define no_install_post_strip 1
94 %define _winedir %{_datadir}/%{name}
96 %define getsoname() %((objdump -p %{1} 2>/dev/null || echo SONAME ERROR) | awk '/SONAME/ { print $2; s=1 }; END { if(s==0) print "ERROR" }')
99 Wine is a program which allows running Microsoft Windows programs
100 (including DOS, Windows 3.x and Win32 executables) on Unix. It
101 consists of a program loader which loads and executes a Microsoft
102 Windows binary, and a library that implements Windows API calls using
103 their Unix or X11 equivalents. The library may also be used for
104 porting Win32 code into native Unix executables.
107 Ejecuta programas Windows en Linux.
110 Wine jest programem dziêki któremu mo¿na uruchamiaæ programy napisane
111 dla Microsoft Windows pod systemami uniksowymi. Sk³ada siê on z
112 loadera, który pozwala wczytywaæ i uruchamiaæ programy w formacie
113 Microsoft Windows, oraz z biblioteki, która implementuje API Windows
114 przy u¿yciu odpowiedników uniksowych oraz z X11. Biblioteka mo¿e byæ
115 tak¿e wykorzystana do przenoszenia aplikacji Win32 do Uniksa.
117 %description -l pt_BR
118 O Wine é um programa que permite rodar programas MS-Windows no X11.
119 Ele consiste de um carregador de programa, que carrega e executa um
120 binário MS-Windows, e de uma biblioteca de emulação que traduz as
121 chamadas da API para as equivalentes Unix/X11.
124 Summary: Wine - header files
125 Summary(es): Biblioteca de desarrollo de wine
126 Summary(pl): Wine - pliki nag³owkowe
127 Summary(pt_BR): Biblioteca de desenvolvimento do wine
128 Group: Development/Libraries
129 Requires: %{name} = %{version}-%{release}
134 %description devel -l es
135 Biblioteca de desarrollo de wine.
137 %description devel -l pl
138 Wine - pliki nag³ówkowe.
140 %description devel -l pt_BR
141 Arquivos de inclusão e bibliotecas para desenvolver aplicações com o
145 Summary: Wine - programs
146 Summary(pl): Wine - programy
148 Requires: %{name} = %{version}-%{release}
150 %description programs
153 %description programs -l pl
157 Summary: Direct3D implementation DLLs for Wine
158 Summary(pl): Biblioteki DLL z implementacj± Direct3D dla Wine
159 Group: Applications/Emulators
160 Requires: %{name} = %{version}-%{release}
164 Direct3D implementation DLLs for Wine (through OpenGL).
166 %description dll-d3d -l pl
167 Biblioteki DLL z implementacj± Direct3D dla Wine (poprzez OpenGL).
170 Summary: OpenGL implementation DLLs for Wine
171 Summary(pl): Biblioteki DLL z implementacj± OpenGL dla Wine
172 Group: Applications/Emulators
173 Requires: %{name} = %{version}-%{release}
177 OpenGL implementation DLLs for Wine.
179 %description dll-gl -l pl
180 Biblioteki DLL z implementacj± OpenGL dla Wine.
183 Summary: TWAIN implementation DLL for Wine
184 Summary(pl): Biblioteka DLL z implementacj± TWAIN dla Wine
185 Group: Applications/Emulators
186 Requires: %{name} = %{version}-%{release}
188 %description dll-twain
189 TWAIN implementation DLL for Wine (through SANE).
191 %description dll-twain -l pl
192 Biblioteka DLL z implementacj± TWAIN dla Wine (poprzez SANE).
195 Summary: ALSA driver for WINE mm.dll implementation
196 Summary(pl): Sterownik ALSA dla implementacji mm.dll w Wine
197 Group: Applications/Emulators
198 Requires: %{name} = %{version}-%{release}
200 %description drv-alsa
201 ALSA driver for WINE mm.dll (multimedia system) implementation.
203 %description drv-alsa -l pl
204 Sterownik ALSA dla implementacji mm.dll (systemu multimediów) w Wine.
207 Summary: aRts driver for WINE mm.dll implementation
208 Summary(pl): Sterownik aRts dla implementacji mm.dll w Wine
209 Group: Applications/Emulators
210 Requires: %{name} = %{version}-%{release}
212 %description drv-arts
213 aRts driver for WINE mm.dll (multimedia system) implementation.
215 %description drv-arts -l pl
216 Sterownik aRts dla implementacji mm.dll (systemu multimediów) w Wine.
219 Summary: JACK driver for WINE mm.dll implementation
220 Summary(pl): Sterownik JACK-a dla implementacji mm.dll w Wine
221 Group: Applications/Emulators
222 Requires: %{name} = %{version}-%{release}
223 Requires: jack-audio-connection-kit
224 # dlopened by SONAME detected at build time
225 %{?with_jack:Requires: %{getsoname /usr/%{_lib}/libjack.so}}
227 %description drv-jack
228 JACK driver for WINE mm.dll (multimedia system) implementation.
230 %description drv-jack -l pl
231 Sterownik JACK-a dla implementacji mm.dll (systemu multimediów) w
235 Summary: NAS driver for WINE mm.dll implementation
236 Summary(pl): Sterownik NAS dla implementacji mm.dll w Wine
237 Group: Applications/Emulators
238 Requires: %{name} = %{version}-%{release}
241 NAS driver for WINE mm.dll (multimedia system) implementation.
243 %description drv-nas -l pl
244 Sterownik NAS dla implementacji mm.dll (systemu multimediów) w Wine.
252 %{?with_d3d9:%patch4 -p1}
254 # turn off compilation of some tools
255 sed -i -e "s|winetest \\\|\\\|;s|avitools||" programs/Makefile.in
256 #sed -i -e "s|avitools||" programs/Makefile.in
261 %{!?debug:--disable-debug} \
262 %{!?debug:--disable-trace} \
268 %{__make} -C programs
269 #%{__make} -C programs/regapi
272 rm -rf $RPM_BUILD_ROOT
273 install -d $RPM_BUILD_ROOT{%{_mandir}/man1,%{_aclocaldir}}
276 DESTDIR=$RPM_BUILD_ROOT
278 %{__make} -C programs install \
279 DESTDIR=$RPM_BUILD_ROOT
281 install tools/fnt2bdf $RPM_BUILD_ROOT%{_bindir}
283 install aclocal.m4 $RPM_BUILD_ROOT%{_aclocaldir}/wine.m4
284 #mv -f $RPM_BUILD_ROOT{/usr/X11R6/share/aclocal,%{_aclocaldir}}/wine.m4
286 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d \
287 $RPM_BUILD_ROOT%{_winedir}/windows/{system,Desktop,Favorites,Fonts} \
288 "$RPM_BUILD_ROOT%{_winedir}/windows/Start Menu/Programs/Startup" \
289 $RPM_BUILD_ROOT%{_winedir}/windows/{SendTo,ShellNew,system32,NetHood} \
290 $RPM_BUILD_ROOT%{_winedir}/windows/{Profiles/Administrator,Recent} \
291 $RPM_BUILD_ROOT%{_winedir}/{"Program Files/Common Files","My Documents"}
293 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/wine
295 touch $RPM_BUILD_ROOT%{_winedir}/{autoexec.bat,config.sys,windows/win.ini}
296 touch $RPM_BUILD_ROOT%{_winedir}/windows/system/{shell.dll,shell32.dll}
297 touch $RPM_BUILD_ROOT%{_winedir}/windows/system/{winsock.dll,wsock32.dll}
299 cat >$RPM_BUILD_ROOT%{_winedir}/windows/system.ini <<EOF
303 waveaudio=mciwave.drv
305 videodisc=mcipionr.drv
310 %if %{?debug:0}%{!?debug:1}
311 echo "Strip executable binaries and shared object files."
312 filelist=`find $RPM_BUILD_ROOT -type f ! -regex ".*ld-[0-9.]*so.*"`
313 elfexelist=`echo $filelist | xargs -r file | \
314 awk '/ELF.*executable/ {print $1}' | cut -d: -f1`
315 elfsharedlist=`echo $filelist | xargs -r file | \
316 awk '/LF.*shared object/ {print $1}' | cut -d: -f1`; \
317 if [ -n "$elfexelist" ]; then \
318 strip -R .note -R .comment $elfexelist
320 if [ -n "$elfsharedlist" ]; then
321 strip --strip-unneeded -R .note -R .comment $elfsharedlist
325 # /sbin/chstk -e $RPM_BUILD_ROOT%{_bindir}/wine
327 programs="notepad progman regedit regsvr32 uninstaller wineconsole winefile winemine winepath winhelp wcmd"
330 rm -f files.so; touch files.so
331 rm -f files.programs; touch files.programs
332 cd $RPM_BUILD_ROOT%{_libdir}/wine
335 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)
338 echo "%attr(755,root,root) %{_libdir}/wine/$f" >>$BZZZ/files.so
342 for p in $programs; do
343 echo "%attr(755,root,root) %{_bindir}/$p" >> files.programs
344 echo "%attr(755,root,root) %{_libdir}/wine/$p.exe.so" >> files.programs
345 grep -v "$p\.exe\.so$" files.so > files.so.
346 mv -f files.so. files.so
350 rm -rf $RPM_BUILD_ROOT
354 /sbin/chkconfig --add wine
355 if [ ! -f /var/lock/subsys/wine ]; then
356 echo "Run \"/etc/rc.d/init.d/wine start\" to start wine service." >&2
360 if [ "$1" = "0" ]; then
361 if [ -f /var/lock/subsys/wine ]; then
362 /etc/rc.d/init.d/wine stop >&2
364 /sbin/chkconfig --del wine
367 %postun -p /sbin/ldconfig
370 %defattr(644,root,root,755)
371 %doc README DEVELOPERS-HINTS ChangeLog BUGS AUTHORS ANNOUNCE
372 %lang(de) %doc documentation/README.de
373 %lang(es) %doc documentation/README.es
374 %lang(fr) %doc documentation/README.fr
375 %lang(it) %doc documentation/README.it
376 %lang(pt) %doc documentation/README.pt
377 %lang(pt_BR) %doc documentation/README.pt_br
378 %attr(755,root,root) %{_bindir}/msiexec
379 %attr(755,root,root) %{_bindir}/wine
380 %attr(755,root,root) %{_bindir}/wineboot
381 %attr(755,root,root) %{_bindir}/winebrowser
382 %attr(755,root,root) %{_bindir}/winecfg
383 %attr(755,root,root) %{_bindir}/winedbg
384 %attr(755,root,root) %{_bindir}/wine-kthread
385 %attr(755,root,root) %{_bindir}/winelauncher
386 %attr(755,root,root) %{_bindir}/wineprefixcreate
387 %attr(755,root,root) %{_bindir}/wine-preloader
388 %attr(755,root,root) %{_bindir}/wine-pthread
389 %attr(755,root,root) %{_bindir}/wineserver
390 %attr(755,root,root) %{_bindir}/wineshelllink
391 %attr(755,root,root) %{_libdir}/*.so*
393 %{_mandir}/man1/wine.*
394 %{_mandir}/man1/winedbg.1*
395 %{_mandir}/man1/wineserver.*
396 %attr(754,root,root) /etc/rc.d/init.d/wine
398 %{_datadir}/fonts/wine
399 %{_desktopdir}/wine.desktop
401 %files programs -f files.programs
402 %defattr(644,root,root,755)
405 %defattr(644,root,root,755)
406 %attr(755,root,root) %{_bindir}/fnt2bdf
407 %attr(755,root,root) %{_bindir}/function_grep.pl
408 %attr(755,root,root) %{_bindir}/widl
409 %attr(755,root,root) %{_bindir}/winebuild
410 %attr(755,root,root) %{_bindir}/winedump
411 %attr(755,root,root) %{_bindir}/wineg++
412 %attr(755,root,root) %{_bindir}/winegcc
413 %attr(755,root,root) %{_bindir}/winemaker
414 #%attr(755,root,root) %{_bindir}/winewrap
415 %attr(755,root,root) %{_bindir}/wmc
416 %attr(755,root,root) %{_bindir}/wrc
418 %{_mandir}/man1/widl.1*
419 %{_mandir}/man1/winedump.1*
420 %{_mandir}/man1/winegcc.1*
421 %{_mandir}/man1/winemaker.1*
422 %{_mandir}/man1/winebuild.1*
423 %{_mandir}/man1/wmc.1*
424 %{_mandir}/man1/wrc.1*
428 %defattr(644,root,root,755)
429 %attr(755,root,root) %{_libdir}/wine/d3d8.dll.so
430 %attr(755,root,root) %{_libdir}/wine/d3d9.dll.so
431 %attr(755,root,root) %{_libdir}/wine/d3dx8.dll.so
432 %attr(755,root,root) %{_libdir}/wine/wined3d.dll.so
435 %defattr(644,root,root,755)
436 %attr(755,root,root) %{_libdir}/wine/glu32.dll.so
437 %attr(755,root,root) %{_libdir}/wine/opengl32.dll.so
441 %defattr(644,root,root,755)
442 %attr(755,root,root) %{_libdir}/wine/twain*.dll.so
447 %defattr(644,root,root,755)
448 %attr(755,root,root) %{_libdir}/wine/winealsa.drv.so
453 %defattr(644,root,root,755)
454 %attr(755,root,root) %{_libdir}/wine/winearts.drv.so
459 %defattr(644,root,root,755)
460 %attr(755,root,root) %{_libdir}/wine/winejack.drv.so
465 %defattr(644,root,root,755)
466 %attr(755,root,root) %{_libdir}/wine/winenas.drv.so
469 # additional dependencies in *.so not separated (yet?) from main package
470 # ddraw.dll.so,x11drv.dll.so depend on X11 libs
471 # ole2disp.dll.so,oleaut32.dll.so,typelib.dll.so depend on lib(un)gif,libjpeg,libX11
472 # ttydrv.dll.so depends on ncurses