/[packages]/cauldron/wine/current/SPECS/wine.spec
ViewVC logotype

Contents of /cauldron/wine/current/SPECS/wine.spec

Parent Directory Parent Directory | Revision Log Revision Log


Revision 294127 - (show annotations) (download)
Sat Sep 15 12:47:22 2012 UTC (11 years, 7 months ago) by dams
File size: 16591 byte(s)
new version 1.5.13
1 %ifarch x86_64
2 %define wine wine64
3 %define mark64 ()(64bit)
4 %else
5 %define wine wine
6 %define mark64 %{nil}
7 %endif
8 %define lib_name_orig lib%{name}
9 %define lib_major 1
10 %define lib_name %mklibname %{name} %{lib_major}
11 %define lib_name_devel %{mklibname -d wine}
12
13 # On 32-bit we have
14 # wine32 - those 32-bit binaries that are also used on 64-bit for 32-bit support
15 # wine - all other files (requires 'wine32')
16 # On 64-bit we have
17 # wine64 - all 64-bit files (suggests 'wine32')
18 # - Anssi 07/2010
19
20 # When altering these, make sure corresponding wine-gecko/wine-mono is
21 # submitted, or notify their maintainer about the new version:
22 %define gecko_version 1.7
23 %define mono_version 0.0.4
24
25 Name: wine
26 Version: 1.5.13
27 %define pre 0
28 %define rel 1
29 %if %pre
30 Release: %mkrel 0.%pre.%rel
31 %define o_ver %version-%pre
32 %else
33 Release: %mkrel %rel
34 %define o_ver %version
35 %endif
36 Epoch: 1
37 Summary: WINE Is Not An Emulator - runs MS Windows programs
38 License: LGPLv2+
39 Group: Emulators
40 URL: http://www.winehq.com/
41 Source0: http://prdownloads.sourceforge.net/wine/%{name}-%{o_ver}.tar.bz2
42 Source1: http://prdownloads.sourceforge.net/wine/%{name}-%{o_ver}.tar.bz2.sign
43
44 # RH stuff
45 Source2: %{name}.init
46 Patch0: %{name}-1.0-rc3-fix-conflicts-with-openssl.patch
47 Patch1: %{name}-1.1.7-chinese-font-substitutes.patch
48 # (Anssi 05/2008) Adds:
49 # a: => /media/floppy (/mnt/floppy on 2007.1 and older)
50 # d: => $HOME (at config_dir creation time, not refreshed if $HOME changes;
51 # note that Wine also provides $HOME in My Documents)
52 # com4 => /dev/ttyUSB0 (replaces /dev/ttyS3)
53 Patch108: %{name}-mgaconf.patch
54
55 # (anssi) Wine needs GCC 4.4+ on x86_64 for MS ABI support. Note also that
56 # 64-bit wine cannot run 32-bit programs without wine32.
57 %ifarch x86_64
58 BuildRequires: gcc >= 4.4
59 %endif
60 BuildRequires: bison flex
61 BuildRequires: gpm-devel
62 BuildRequires: perl-devel
63 BuildRequires: ncurses-devel
64 BuildRequires: cups-devel
65 BuildRequires: sane-devel
66 BuildRequires: lcms-devel
67 BuildRequires: autoconf
68 BuildRequires: docbook-utils docbook-dtd-sgml sgml-tools
69 BuildRequires: pulseaudio-devel
70 BuildRequires: libmpg123-devel
71 BuildRequires: openal-devel
72 BuildRequires: icoutils
73 BuildRequires: libalsa-devel
74 BuildRequires: gstreamer0.10-devel libgstreamer0.10-plugins-base-devel
75 BuildRequires: isdn4k-utils-devel
76 BuildRequires: glibc-static-devel
77 BuildRequires: chrpath
78 BuildRequires: ungif-devel xpm-devel
79 BuildRequires: tiff-devel
80 BuildRequires: librsvg
81 BuildRequires: imagemagick
82 BuildRequires: gphoto2-devel
83 BuildRequires: desktop-file-utils
84 BuildRequires: openldap-devel
85 BuildRequires: libxslt-devel
86 BuildRequires: dbus-devel
87 BuildRequires: valgrind-devel
88 BuildRequires: gsm-devel
89 BuildRequires: unixODBC-devel
90 BuildRequires: gnutls-devel
91 BuildRequires: prelink
92 BuildRequires: gettext-devel
93 BuildRequires: mesaglu-devel
94 BuildRequires: libv4l-devel
95 BuildRequires: libxcursor-devel libxcomposite-devel
96 BuildRequires: libxinerama-devel libxrandr-devel
97 BuildRequires: libx11-devel libxrender-devel
98 BuildRequires: libxext-devel libsm-devel
99 BuildRequires: fontforge fontconfig-devel freetype2-devel
100 %if %mgaversion >= 3
101 BuildRequires: osmesa-devel
102 BuildRequires: opencl-devel
103 %endif
104
105 %define desc Wine is a program which allows running Microsoft Windows programs \
106 (including DOS, Windows 3.x and Win32 executables) on Unix. It \
107 consists of a program loader which loads and executes a Microsoft \
108 Windows binary, and a library (called Winelib) that implements Windows \
109 API calls using their Unix or X11 equivalents. The library may also \
110 be used for porting Win32 code into native Unix executables.
111
112 %ifarch x86_64
113 %package -n %{wine}
114 Summary: WINE Is Not An Emulator - runs MS Windows programs
115 Group: Emulators
116 Suggests: %{name}32 = %{epoch}:%{version}-%{release}
117 Suggests: %{name}64-gecko = %gecko_version
118 %else
119 # on 32-bit we always want wine32 package
120 Requires: %{name}32 = %{epoch}:%{version}-%{release}
121 %endif
122
123 Provides: %{wine}-utils = %{epoch}:%{version}-%{release} %{wine}-full = %{epoch}:%{version}-%{release}
124 Provides: %{lib_name}-capi = %{epoch}:%{version}-%{release} %{lib_name}-twain = %{epoch}:%{version}-%{release}
125 Provides: %{lib_name} = %{epoch}:%{version}-%{release}
126 Provides: wine-bin = %{epoch}:%{version}-%{release}
127 Obsoletes: %{wine}-utils %{wine}-full %{lib_name}-capi %{lib_name}-twain
128 Obsoletes: %{lib_name} <= %{epoch}:%{version}-%{release}
129 Suggests: sane-frontends
130 %define dlopenreq() %([ -e %{_libdir}/lib%{1}.so ] && objdump -p %{_libdir}/lib%{1}.so | grep SONAME | awk '{ print $2 "%{mark64}" }' || echo %{name})
131 # wine dlopen's these, so let's add the dependencies ourself
132 # Adding these here is especially important with wine, since wine32 is
133 # commonly one of the few 32-bit components on a 64-bit installation, so
134 # these packages might not necessarily be pulled by anything else.
135 # grep WINE_CHECK_SONAME configure.ac :) (though note that some of those
136 # results are in autoreq already) - (Anssi 08/2012)
137 Requires: %dlopenreq freetype
138 Requires: %dlopenreq asound
139 Requires: %dlopenreq fontconfig
140 Requires: %dlopenreq ncurses
141 Requires: %dlopenreq Xrender
142 Requires: %dlopenreq png
143 Requires: %dlopenreq Xcursor
144 Requires: %dlopenreq Xi
145 Requires: %dlopenreq Xxf86vm
146 Requires: %dlopenreq Xrandr
147 Requires: %dlopenreq Xinerama
148 Requires: %dlopenreq Xcomposite
149 Requires: %dlopenreq xslt
150 Requires: %dlopenreq dbus-1
151 Requires: %dlopenreq gnutls
152 Requires: %dlopenreq sane
153 Requires: %dlopenreq v4l1
154 Requires: %dlopenreq cups
155 Requires: %dlopenreq ssl
156 Requires: %dlopenreq crypto
157 Requires: %dlopenreq gsm
158 Requires: %dlopenreq jpeg
159 Requires: %dlopenreq tiff
160 Requires: %dlopenreq odbc
161 %if %mgaversion >= 3
162 Requires: %dlopenreq OSMesa
163 %endif
164 #Requires: %dlopenreq capi20 # ISDN support - unlikely to be needed
165 # (Anssi) If not installed, wine pops up a dialog on first start proposing to
166 # download pre-built binaries (unlike wine-gecko, same wine-mono works with
167 # both wine and wine64):
168 Suggests: wine-mono = %mono_version
169 Requires(post): desktop-file-utils
170 Requires(postun): desktop-file-utils
171 Requires(post): desktop-common-data
172 Requires(postun): desktop-common-data
173 Requires(preun): rpm-helper
174 Requires(post): rpm-helper
175 %ifarch %{ix86}
176 Conflicts: %{name}64
177 %else
178 Conflicts: %{name}
179 %endif
180
181 %description
182 %desc
183
184 %ifarch x86_64
185 %description -n %{wine}
186 %desc
187
188 This package contains the Win64 version of Wine. You need the wine32
189 package from the 32-bit repository to be able to run 32-bit applications.
190 %endif
191
192 %ifarch %ix86
193 %package -n wine32
194 Summary: 32-bit support for Wine
195 Group: Emulators
196 # This is not an EVR-specific requirement, as otherwise on x86_64 urpmi could
197 # resolve the dependency to wine64 even on upgrades, and therefore replace
198 # wine+wine32 installation with a wine32+wine64 installation. - Anssi
199 Requires: %{name}-bin
200 Conflicts: %{name} < 1:1.2-0.rc7.1
201 Conflicts: %{name}64 < 1:1.2-0.rc7.1
202 # (Anssi) If wine-gecko is not installed, wine pops up a dialog on first
203 # start proposing to download wine-gecko from sourceforge, while recommending
204 # to use distribution packages instead. Therefore suggest wine-gecko here:
205 Suggests: %{name}-gecko = %gecko_version
206
207 %description -n wine32
208 Wine is a program which allows running Microsoft Windows programs
209 (including DOS, Windows 3.x and Win32 executables) on Unix.
210
211 This package contains the files needed to support 32-bit Windows
212 programs.
213 %endif
214
215 %package -n %{wine}-devel
216 Summary: Static libraries and headers for %{name}
217 Group: Development/C
218 Requires: %{wine} = %{epoch}:%{version}
219 Provides: %{lib_name_devel} = %{epoch}:%{version}-%{release}
220 Provides: %{lib_name_orig}-devel = %{epoch}:%{version}-%{release}
221 Obsoletes: %{lib_name_devel} <= %{epoch}:%{version}-%{release}
222 Obsoletes: %{mklibname -d wine 1} < %{epoch}:%{version}
223 %ifarch %{ix86}
224 Conflicts: %{name}64-devel
225 %else
226 Conflicts: %{name}-devel
227 %endif
228
229 %description -n %{wine}-devel
230 Wine is a program which allows running Microsoft Windows programs
231 (including DOS, Windows 3.x and Win32 executables) on Unix.
232
233 %{wine}-devel contains the libraries and header files needed to
234 develop programs which make use of wine.
235
236 %prep
237 %setup -q -n %name-%o_ver
238 %patch1 -p0 -b .chinese
239 %patch108 -p1 -b .conf
240
241 GECKO_VERSION=$(sed -rn 's,^#define\s+GECKO_VERSION\s+"([^"]*)".*$,\1,p' dlls/appwiz.cpl/addons.c)
242 [ "$GECKO_VERSION" = "%gecko_version" ] || { echo %{name}-gecko version mismatch; exit 1; }
243 MONO_VERSION=$(sed -rn 's,^#define\s+MONO_VERSION\s+"([^"]*)".*$,\1,p' dlls/appwiz.cpl/addons.c)
244 [ "$MONO_VERSION" = "%mono_version" ] || { echo wine-mono version mismatch; exit 1; }
245
246 %build
247 autoreconf
248 # disable fortify as it breaks wine
249 # http://bugs.winehq.org/show_bug.cgi?id=24606#c22
250 # http://bugs.winehq.org/show_bug.cgi?id=25073
251 export CFLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//'` -Wno-error"
252 %configure2_5x --with-x \
253 --with-pulse \
254 %ifarch x86_64
255 --enable-win64
256 %endif
257
258 %make depend
259 %make
260
261 %install
262 %makeinstall_std LDCONFIG=/bin/true
263
264 # Danny: dirty:
265 #install -m755 tools/fnt2bdf -D %{buildroot}%{_bindir}/fnt2bdf
266
267 # Allow users to launch Windows programs by just clicking on the .exe file...
268 install -m755 %{SOURCE2} -D %{buildroot}%{_initrddir}/%{name}
269
270 mkdir -p %{buildroot}%{_sysconfdir}/xdg/menus/applications-merged
271 cat > %{buildroot}%{_sysconfdir}/xdg/menus/applications-merged/%{_real_vendor}-%{name}.menu <<EOF
272 <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN"
273 "http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd">
274 <Menu>
275 <Name>Applications</Name>
276 <Menu>
277 <Name>Tools</Name>
278 <Menu>
279 <Name>Emulators</Name>
280 <Menu>
281 <Name>Wine</Name>
282 <Directory>%{name}.directory</Directory>
283 <Include>
284 <Category>X-MandrivaLinux-MoreApplications-Emulators-Wine</Category>
285 </Include>
286 </Menu>
287 </Menu>
288 </Menu>
289 </Menu>
290 EOF
291
292 mkdir -p %{buildroot}%{_datadir}/desktop-directories
293 cat > %{buildroot}%{_datadir}/desktop-directories/%{name}.directory <<EOF
294 [Desktop Entry]
295 Name=Wine
296 Icon=%{name}
297 Type=Directory
298 EOF
299
300 mkdir -p %{buildroot}%{_datadir}/applications/
301 for i in winecfg:Configurator \
302 notepad:Notepad \
303 winefile:File\ Manager \
304 regedit:Registry\ Editor \
305 winemine:Minesweeper \
306 wineboot:Reboot \
307 "wineconsole cmd":Command\ Line \
308 "wine uninstaller:Wine Software Uninstaller";
309 do cat > %{buildroot}%{_datadir}/applications/%{name}-`echo $i|cut -d: -f1`.desktop << EOF
310 [Desktop Entry]
311 Name=`echo $i|cut -d: -f2`
312 Comment=`echo $i|cut -d: -f2`
313 Exec=`echo $i|cut -d: -f1`
314 Icon=%{name}
315 Terminal=false
316 Type=Application
317 Categories=X-MandrivaLinux-MoreApplications-Emulators-Wine;
318 EOF
319 done
320
321 # Categories=Emulator does nothing and is added as a workaround to kde #27700
322 desktop-file-install --vendor="" \
323 --add-mime-type=application/x-zip-compressed \
324 --remove-mime-type=application/x-zip-compressed \
325 --add-category=Emulator \
326 --dir %{buildroot}%{_datadir}/applications %{buildroot}%{_datadir}/applications/%{name}.desktop
327
328 %ifarch x86_64
329 # fix the binary name
330 sed -i 's,Exec=wine ,Exec=wine64 ,' %{buildroot}%{_datadir}/applications/%{name}.desktop
331 %endif
332
333 mkdir -p %{buildroot}%{_datadir}/icons/hicolor/scalable/apps
334 install -p -m 644 dlls/user32/resources/oic_winlogo.svg \
335 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/wine.svg
336 sed -i -e '3s/368/64/' %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/wine.svg
337
338 install -p -m 644 programs/notepad/notepad.svg \
339 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/notepad.svg
340 sed -i -e '3s/368/64/' %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/notepad.svg
341
342 install -p -m 644 programs/regedit/regedit.svg \
343 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/regedit.svg
344 sed -i -e '3s/368/64/' %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/regedit.svg
345
346 install -p -m 644 programs/msiexec/msiexec.svg \
347 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/msiexec.svg
348 sed -i -e '3s/368/64/' %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/msiexec.svg
349
350 install -p -m 644 programs/winecfg/winecfg.svg \
351 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winecfg.svg
352 sed -i -e '3s/368/64/' %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winecfg.svg
353
354 install -p -m 644 programs/winefile/winefile.svg \
355 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winefile.svg
356 sed -i -e '3s/368/64/' %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winefile.svg
357
358 install -p -m 644 programs/winemine/winemine.svg \
359 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winemine.svg
360 sed -i -e '3s/368/64/' %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winemine.svg
361
362 install -p -m 644 programs/winhlp32/winhelp.svg \
363 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winhelp.svg
364 sed -i -e '3s/368/64/' %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/winhelp.svg
365
366 install -p -m 644 programs/wordpad/wordpad.svg \
367 %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/wordpad.svg
368 sed -i -e '3s/368/64/' %{buildroot}%{_datadir}/icons/hicolor/scalable/apps/wordpad.svg
369
370 # change the icons in the respective .desktop files, in order:
371 sed -i 's,Icon=%{name},Icon=notepad,' %{buildroot}%{_datadir}/applications/wine-notepad.desktop
372 sed -i 's,Icon=%{name},Icon=winefile,' %{buildroot}%{_datadir}/applications/wine-winefile.desktop
373 sed -i 's,Icon=%{name},Icon=regedit,' %{buildroot}%{_datadir}/applications/wine-regedit.desktop
374 sed -i 's,Icon=%{name},Icon=winemine,' %{buildroot}%{_datadir}/applications/wine-winemine.desktop
375 sed -i 's,Icon=%{name},Icon=msiexec,' "%{buildroot}%{_datadir}/applications/wine-wine uninstaller.desktop"
376
377 %ifarch x86_64
378 chrpath -d %{buildroot}%{_bindir}/{wine64,wineserver,wmc,wrc} %{buildroot}%{_libdir}/%{name}/*.so
379 %else
380 chrpath -d %{buildroot}%{_bindir}/{wine,wineserver,wmc,wrc} %{buildroot}%{_libdir}/%{name}/*.so
381 %endif
382
383 %ifarch x86_64
384 cat > README.install.urpmi <<EOF
385 This is the Win64 version of Wine. This version can only be used to run
386 64-bit Windows applications as is. For running 32-bit Windows applications,
387 you need to also install the 'wine32' package from the 32-bit repository.
388 EOF
389 %endif
390
391 %preun -n %{wine}
392 %_preun_service %{name}
393
394 %post -n %{wine}
395 %_post_service %{name}
396
397 %files -n %{wine}
398 %doc ANNOUNCE AUTHORS README
399 %ifarch x86_64
400 %doc README.install.urpmi
401 %{_bindir}/%{name}64
402 %{_bindir}/%{name}64-preloader
403 %endif
404 %{_initrddir}/%{name}
405 %{_bindir}/winecfg
406 %{_bindir}/wineconsole*
407 %{_bindir}/wineserver
408 %{_bindir}/wineboot
409 %{_bindir}/function_grep.pl
410 #%{_bindir}/wineprefixcreate
411 %{_bindir}/msiexec
412 %{_bindir}/notepad
413 %{_bindir}/regedit
414 %{_bindir}/winemine
415 %{_bindir}/winepath
416 %{_bindir}/regsvr32
417 %{_bindir}/winefile
418 %{_mandir}/man1/wine.1*
419 %lang(de) %{_mandir}/de.UTF-8/man1/wine.1*
420 %lang(de) %{_mandir}/de.UTF-8/man1/winemaker.1*
421 %lang(de) %{_mandir}/de.UTF-8/man1/wineserver.1*
422 %lang(fr) %{_mandir}/fr.UTF-8/man1/*
423 %lang(pl) %{_mandir}/pl.UTF-8/man1/wine.1*
424 %{_mandir}/man1/wineserver.1*
425 %{_mandir}/man1/msiexec.1*
426 %{_mandir}/man1/notepad.1*
427 %{_mandir}/man1/regedit.1*
428 %{_mandir}/man1/regsvr32.1*
429 %{_mandir}/man1/wineboot.1*
430 %{_mandir}/man1/winecfg.1*
431 %{_mandir}/man1/wineconsole.1*
432 %{_mandir}/man1/winecpp.1*
433 %{_mandir}/man1/winefile.1*
434 %{_mandir}/man1/winemine.1*
435 %{_mandir}/man1/winepath.1*
436 %dir %{_datadir}/%{name}
437 %{_datadir}/%{name}/generic.ppd
438 %{_datadir}/%{name}/%{name}.inf
439 %{_datadir}/%{name}/l_intl.nls
440 %{_datadir}/applications/*.desktop
441 %{_sysconfdir}/xdg/menus/applications-merged/%{_real_vendor}-%{name}.menu
442 %{_datadir}/desktop-directories/%{name}.directory
443 %dir %{_datadir}/wine/fonts
444 %{_datadir}/wine/fonts/*
445 %{_datadir}/icons/hicolor/scalable/apps/*svg
446
447 %ifarch %{ix86}
448 %files -n wine32
449 %{_bindir}/wine
450 %{_bindir}/wine-preloader
451 %endif
452
453 %{_libdir}/libwine*.so.%{lib_major}*
454 %dir %{_libdir}/%{name}
455 %{_libdir}/%{name}/*.cpl.so
456 %{_libdir}/%{name}/*.drv.so
457 %{_libdir}/%{name}/*.dll.so
458 %{_libdir}/%{name}/*.exe.so
459 %{_libdir}/%{name}/*.acm.so
460 %{_libdir}/%{name}/*.ocx.so
461 %ifarch %{ix86}
462 %{_libdir}/%{name}/*.vxd.so
463 %{_libdir}/%{name}/*16.so
464 %endif
465 %{_libdir}/%{name}/*.tlb.so
466 %{_libdir}/%{name}/*.ds.so
467 %{_libdir}/%{name}/*.sys.so
468 %{_libdir}/%{name}/fakedlls
469
470 %files -n %{wine}-devel
471 %{_libdir}/%{name}/*.a
472 %{_libdir}/libwine*.so
473 %{_libdir}/%{name}/*.def
474 %{_includedir}/*
475 #%{_bindir}/fnt2bdf
476 %{_bindir}/wmc
477 %{_bindir}/wrc
478 %{_bindir}/winebuild
479 %{_bindir}/winegcc
480 %{_bindir}/wineg++
481 %{_bindir}/winecpp
482 %{_bindir}/widl
483 %{_bindir}/winedbg
484 %{_bindir}/winemaker
485 %{_bindir}/winedump
486 %{_mandir}/man1/wmc.1*
487 %{_mandir}/man1/wrc.1*
488 %{_mandir}/man1/winebuild.1*
489 %{_mandir}/man1/winemaker.1*
490 %{_mandir}/man1/winedump.1*
491 %{_mandir}/man1/widl.1*
492 %{_mandir}/man1/winedbg.1*
493 %{_mandir}/man1/wineg++.1*
494 %{_mandir}/man1/winegcc.1*

  ViewVC Help
Powered by ViewVC 1.1.30