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: 5d95439a74decd1f94dd8d370a24f442
40 Patch0: %{name}-fontcache.patch
41 Patch1: %{name}-destdir.patch
42 Patch2: %{name}-ncurses.patch
43 Patch3: %{name}-makedep.patch
44 Patch4: %{name}-alsa.patch
45 # Oliver Stieber's DirectX 9 support patch (unofficial, published on WWN Issue #271)
46 Patch5: %{name}-d3d9patch.patch
47 #PatchX: %{name}-dga.patch
48 URL: http://www.winehq.org/
50 BuildRequires: libSM-devel
51 BuildRequires: libXrandr-devel
52 BuildRequires: libXrender-devel
53 BuildRequires: libXt-devel
54 BuildRequires: libXv-devel
56 BuildRequires: XFree86-devel
58 BuildRequires: XFree86-OpenGL-devel-base
59 BuildRequires: XFree86-OpenGL-devel
60 %{?with_alsa:BuildRequires: alsa-lib-devel}
61 %{?with_arts:BuildRequires: artsc-devel}
62 BuildRequires: autoconf
63 BuildRequires: automake
65 # BuildRequires: chpax >= 0.20020901-2
66 %{?with_cups:BuildRequires: cups-devel}
67 BuildRequires: docbook-dtd31-sgml
68 BuildRequires: docbook-utils
70 BuildRequires: fontconfig-devel
71 BuildRequires: fontforge
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 # db2* failed previously - probably openjade or opensp bug
80 BuildRequires: openjade >= 1:1.3.3-0.pre1
81 BuildRequires: opensp >= 1:1.5.1
82 BuildRequires: openssl-devel >= 0.9.7d
83 %{?with_sane:BuildRequires: sane-backends-devel}
84 BuildRequires: xrender-devel
85 Requires(post): /sbin/ldconfig
86 Requires(post,preun): /sbin/chkconfig
87 # link to wine/ntdll.dll.so, without any SONAME
88 Provides: libntdll.dll.so
89 ExclusiveArch: %{ix86}
90 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
92 %define _noautoreqdep libGL.so.1 libGLU.so.1
93 %define no_install_post_strip 1
95 %define _winedir %{_datadir}/%{name}
97 %define getsoname() %((objdump -p %{1} 2>/dev/null || echo SONAME ERROR) | awk '/SONAME/ { print $2; s=1 }; END { if(s==0) print "ERROR" }')
100 Wine is a program which allows running Microsoft Windows programs
101 (including DOS, Windows 3.x and Win32 executables) on Unix. It
102 consists of a program loader which loads and executes a Microsoft
103 Windows binary, and a library that implements Windows API calls using
104 their Unix or X11 equivalents. The library may also be used for
105 porting Win32 code into native Unix executables.
108 Ejecuta programas Windows en Linux.
111 Wine jest programem dziêki któremu mo¿na uruchamiaæ programy napisane
112 dla Microsoft Windows pod systemami uniksowymi. Sk³ada siê on z
113 loadera, który pozwala wczytywaæ i uruchamiaæ programy w formacie
114 Microsoft Windows, oraz z biblioteki, która implementuje API Windows
115 przy u¿yciu odpowiedników uniksowych oraz z X11. Biblioteka mo¿e byæ
116 tak¿e wykorzystana do przenoszenia aplikacji Win32 do Uniksa.
118 %description -l pt_BR
119 O Wine é um programa que permite rodar programas MS-Windows no X11.
120 Ele consiste de um carregador de programa, que carrega e executa um
121 binário MS-Windows, e de uma biblioteca de emulação que traduz as
122 chamadas da API para as equivalentes Unix/X11.
125 Summary: Wine - header files
126 Summary(es): Biblioteca de desarrollo de wine
127 Summary(pl): Wine - pliki nag³owkowe
128 Summary(pt_BR): Biblioteca de desenvolvimento do wine
129 Group: Development/Libraries
130 Requires: %{name} = %{version}-%{release}
135 %description devel -l es
136 Biblioteca de desarrollo de wine.
138 %description devel -l pl
139 Wine - pliki nag³ówkowe.
141 %description devel -l pt_BR
142 Arquivos de inclusão e bibliotecas para desenvolver aplicações com o
146 Summary: Wine - programs
147 Summary(pl): Wine - programy
149 Requires: %{name} = %{version}-%{release}
151 %description programs
154 %description programs -l pl
158 Summary: Direct3D implementation DLLs for Wine
159 Summary(pl): Biblioteki DLL z implementacj± Direct3D dla Wine
160 Group: Applications/Emulators
161 Requires: %{name} = %{version}-%{release}
165 Direct3D implementation DLLs for Wine (through OpenGL).
167 %description dll-d3d -l pl
168 Biblioteki DLL z implementacj± Direct3D dla Wine (poprzez OpenGL).
171 Summary: OpenGL implementation DLLs for Wine
172 Summary(pl): Biblioteki DLL z implementacj± OpenGL dla Wine
173 Group: Applications/Emulators
174 Requires: %{name} = %{version}-%{release}
178 OpenGL implementation DLLs for Wine.
180 %description dll-gl -l pl
181 Biblioteki DLL z implementacj± OpenGL dla Wine.
184 Summary: TWAIN implementation DLL for Wine
185 Summary(pl): Biblioteka DLL z implementacj± TWAIN dla Wine
186 Group: Applications/Emulators
187 Requires: %{name} = %{version}-%{release}
189 %description dll-twain
190 TWAIN implementation DLL for Wine (through SANE).
192 %description dll-twain -l pl
193 Biblioteka DLL z implementacj± TWAIN dla Wine (poprzez SANE).
196 Summary: ALSA driver for WINE mm.dll implementation
197 Summary(pl): Sterownik ALSA dla implementacji mm.dll w Wine
198 Group: Applications/Emulators
199 Requires: %{name} = %{version}-%{release}
201 %description drv-alsa
202 ALSA driver for WINE mm.dll (multimedia system) implementation.
204 %description drv-alsa -l pl
205 Sterownik ALSA dla implementacji mm.dll (systemu multimediów) w Wine.
208 Summary: aRts driver for WINE mm.dll implementation
209 Summary(pl): Sterownik aRts dla implementacji mm.dll w Wine
210 Group: Applications/Emulators
211 Requires: %{name} = %{version}-%{release}
213 %description drv-arts
214 aRts driver for WINE mm.dll (multimedia system) implementation.
216 %description drv-arts -l pl
217 Sterownik aRts dla implementacji mm.dll (systemu multimediów) w Wine.
220 Summary: JACK driver for WINE mm.dll implementation
221 Summary(pl): Sterownik JACK-a dla implementacji mm.dll w Wine
222 Group: Applications/Emulators
223 Requires: %{name} = %{version}-%{release}
224 Requires: jack-audio-connection-kit
225 # dlopened by SONAME detected at build time
226 %{?with_jack:Requires: %{getsoname /usr/%{_lib}/libjack.so}}
228 %description drv-jack
229 JACK driver for WINE mm.dll (multimedia system) implementation.
231 %description drv-jack -l pl
232 Sterownik JACK-a dla implementacji mm.dll (systemu multimediów) w
236 Summary: NAS driver for WINE mm.dll implementation
237 Summary(pl): Sterownik NAS dla implementacji mm.dll w Wine
238 Group: Applications/Emulators
239 Requires: %{name} = %{version}-%{release}
242 NAS driver for WINE mm.dll (multimedia system) implementation.
244 %description drv-nas -l pl
245 Sterownik NAS dla implementacji mm.dll (systemu multimediów) w Wine.
254 %{?with_d3d9:%patch5 -p1}
256 # turn off compilation of some tools
257 sed -i -e "s|winetest \\\|\\\|;s|avitools||" programs/Makefile.in
258 #sed -i -e "s|avitools||" programs/Makefile.in
263 %{!?debug:--disable-debug} \
264 %{!?debug:--disable-trace} \
270 %{__make} -C programs
271 #%{__make} -C programs/regapi
274 rm -rf $RPM_BUILD_ROOT
275 install -d $RPM_BUILD_ROOT{%{_mandir}/man1,%{_aclocaldir}}
278 DESTDIR=$RPM_BUILD_ROOT
280 %{__make} -C programs install \
281 DESTDIR=$RPM_BUILD_ROOT
283 install programs/winhelp/hlp2sgml $RPM_BUILD_ROOT%{_bindir}
284 install tools/fnt2bdf $RPM_BUILD_ROOT%{_bindir}
286 install aclocal.m4 $RPM_BUILD_ROOT%{_aclocaldir}/wine.m4
287 #mv -f $RPM_BUILD_ROOT{/usr/X11R6/share/aclocal,%{_aclocaldir}}/wine.m4
289 install -d $RPM_BUILD_ROOT%{_sysconfdir}/rc.d/init.d \
290 $RPM_BUILD_ROOT%{_winedir}/windows/{system,Desktop,Favorites,Fonts} \
291 "$RPM_BUILD_ROOT%{_winedir}/windows/Start Menu/Programs/Startup" \
292 $RPM_BUILD_ROOT%{_winedir}/windows/{SendTo,ShellNew,system32,NetHood} \
293 $RPM_BUILD_ROOT%{_winedir}/windows/{Profiles/Administrator,Recent} \
294 $RPM_BUILD_ROOT%{_winedir}/{"Program Files/Common Files","My Documents"}
296 install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/wine
298 touch $RPM_BUILD_ROOT%{_winedir}/{autoexec.bat,config.sys,windows/win.ini}
299 touch $RPM_BUILD_ROOT%{_winedir}/windows/system/{shell.dll,shell32.dll}
300 touch $RPM_BUILD_ROOT%{_winedir}/windows/system/{winsock.dll,wsock32.dll}
302 cat >$RPM_BUILD_ROOT%{_winedir}/windows/system.ini <<EOF
306 waveaudio=mciwave.drv
308 videodisc=mcipionr.drv
313 %if %{?debug:0}%{!?debug:1}
314 echo "Strip executable binaries and shared object files."
315 filelist=`find $RPM_BUILD_ROOT -type f ! -regex ".*ld-[0-9.]*so.*"`
316 elfexelist=`echo $filelist | xargs -r file | \
317 awk '/ELF.*executable/ {print $1}' | cut -d: -f1`
318 elfsharedlist=`echo $filelist | xargs -r file | \
319 awk '/LF.*shared object/ {print $1}' | cut -d: -f1`; \
320 if [ -n "$elfexelist" ]; then \
321 strip -R .note -R .comment $elfexelist
323 if [ -n "$elfsharedlist" ]; then
324 strip --strip-unneeded -R .note -R .comment $elfsharedlist
328 # /sbin/chstk -e $RPM_BUILD_ROOT%{_bindir}/wine
330 programs="notepad progman regedit regsvr32 uninstaller wineconsole winefile winemine winepath winhelp wcmd"
333 rm -f files.so; touch files.so
334 rm -f files.programs; touch files.programs
335 cd $RPM_BUILD_ROOT%{_libdir}/wine
338 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)
341 echo "%attr(755,root,root) %{_libdir}/wine/$f" >>$BZZZ/files.so
345 for p in $programs; do
346 echo "%attr(755,root,root) %{_bindir}/$p" >> files.programs
347 echo "%attr(755,root,root) %{_libdir}/wine/$p.exe.so" >> files.programs
348 grep -v "$p\.exe\.so$" files.so > files.so.
349 mv -f files.so. files.so
353 rm -rf $RPM_BUILD_ROOT
357 /sbin/chkconfig --add wine
358 if [ ! -f /var/lock/subsys/wine ]; then
359 echo "Run \"/etc/rc.d/init.d/wine start\" to start wine service." >&2
363 if [ "$1" = "0" ]; then
364 if [ -f /var/lock/subsys/wine ]; then
365 /etc/rc.d/init.d/wine stop >&2
367 /sbin/chkconfig --del wine
370 %postun -p /sbin/ldconfig
373 %defattr(644,root,root,755)
374 %doc README DEVELOPERS-HINTS ChangeLog BUGS AUTHORS ANNOUNCE
375 %lang(de) %doc documentation/README.de
376 %lang(es) %doc documentation/README.es
377 %lang(fr) %doc documentation/README.fr
378 %lang(it) %doc documentation/README.it
379 %lang(pt) %doc documentation/README.pt
380 %lang(pt_BR) %doc documentation/README.pt_br
381 %attr(755,root,root) %{_bindir}/msiexec
382 %attr(755,root,root) %{_bindir}/wine
383 %attr(755,root,root) %{_bindir}/wineboot
384 %attr(755,root,root) %{_bindir}/winebrowser
385 %attr(755,root,root) %{_bindir}/winecfg
386 %attr(755,root,root) %{_bindir}/winedbg
387 %attr(755,root,root) %{_bindir}/wine-kthread
388 %attr(755,root,root) %{_bindir}/winelauncher
389 %attr(755,root,root) %{_bindir}/wineprefixcreate
390 %attr(755,root,root) %{_bindir}/wine-preloader
391 %attr(755,root,root) %{_bindir}/wine-pthread
392 %attr(755,root,root) %{_bindir}/wineserver
393 %attr(755,root,root) %{_bindir}/wineshelllink
394 %attr(755,root,root) %{_libdir}/*.so*
396 %{_mandir}/man1/wine.*
397 %{_mandir}/man1/winedbg.1*
398 %attr(754,root,root) /etc/rc.d/init.d/wine
400 %{_datadir}/fonts/wine
401 %{_desktopdir}/wine.desktop
403 %files programs -f files.programs
404 %defattr(644,root,root,755)
407 %defattr(644,root,root,755)
408 %attr(755,root,root) %{_bindir}/fnt2bdf
409 %attr(755,root,root) %{_bindir}/function_grep.pl
410 %attr(755,root,root) %{_bindir}/hlp2sgml
411 %attr(755,root,root) %{_bindir}/widl
412 %attr(755,root,root) %{_bindir}/winebuild
413 %attr(755,root,root) %{_bindir}/winedump
414 %attr(755,root,root) %{_bindir}/wineg++
415 %attr(755,root,root) %{_bindir}/winegcc
416 %attr(755,root,root) %{_bindir}/winemaker
417 #%attr(755,root,root) %{_bindir}/winewrap
418 %attr(755,root,root) %{_bindir}/wmc
419 %attr(755,root,root) %{_bindir}/wrc
421 %{_mandir}/man1/widl.1*
422 %{_mandir}/man1/winedump.1*
423 %{_mandir}/man1/winegcc.1*
424 %{_mandir}/man1/winemaker.1*
425 %{_mandir}/man1/winebuild.1*
426 %{_mandir}/man1/wmc.1*
427 %{_mandir}/man1/wrc.1*
431 %defattr(644,root,root,755)
432 %attr(755,root,root) %{_libdir}/wine/d3d8.dll.so
433 %attr(755,root,root) %{_libdir}/wine/d3d9.dll.so
434 %attr(755,root,root) %{_libdir}/wine/d3dx8.dll.so
435 %attr(755,root,root) %{_libdir}/wine/wined3d.dll.so
438 %defattr(644,root,root,755)
439 %attr(755,root,root) %{_libdir}/wine/glu32.dll.so
440 %attr(755,root,root) %{_libdir}/wine/opengl32.dll.so
444 %defattr(644,root,root,755)
445 %attr(755,root,root) %{_libdir}/wine/twain*.dll.so
450 %defattr(644,root,root,755)
451 %attr(755,root,root) %{_libdir}/wine/winealsa.drv.so
456 %defattr(644,root,root,755)
457 %attr(755,root,root) %{_libdir}/wine/winearts.drv.so
462 %defattr(644,root,root,755)
463 %attr(755,root,root) %{_libdir}/wine/winejack.drv.so
468 %defattr(644,root,root,755)
469 %attr(755,root,root) %{_libdir}/wine/winenas.drv.so
472 # additional dependencies in *.so not separated (yet?) from main package
473 # ddraw.dll.so,x11drv.dll.so depend on X11 libs
474 # ole2disp.dll.so,oleaut32.dll.so,typelib.dll.so depend on lib(un)gif,libjpeg,libX11
475 # ttydrv.dll.so depends on ncurses