#
# Conditional build:
-%bcond_without alsa # don't build ALSA mm driver
-%bcond_with esd # build ESD mm driver
-%bcond_without jack # don't build JACK mm driver
-%bcond_without nas # don't build NAS mm driver
-%bcond_without sane # don't build TWAIN DLL with scanning support (through SANE)
-%bcond_without cups # without CUPS printing support in winspool,wineps DLLs
-#
-# TODO:
-# - support for CAPI (ISDN support; --with-capi)
+%bcond_without alsa # ALSA mm driver
+%bcond_without capi # CAPI 2.0 (ISDN) support
+%bcond_without gstreamer # GStreamer filters support
+%bcond_without sane # TWAIN DLL with scanning support (through SANE)
+%bcond_with hal # HAL dynamic device support [deprecated]
+%bcond_without ldap # LDAP DLL
+%bcond_without cups # CUPS printing support in winspool,wineps DLLs
#
# NOTE: wine detects the following SONAMES for dlopen at build time:
-# libcrypto,libssl (wininet.dll)
-# libcups (winspool.dll.so,wineps.dll.so)
-# libcurses/libncurses (wineconsole program)
+# libGL (winex11.drv.so)
+# libOSMesa (gdi32.dll.so)
+# libX11 libXcomposite libXcursor libXext libXi libXinerama libXrandr libXrender libXxf86vm (winex11.drv.so)
+# libcapi20 (capi2032.dll.so)
+# libcups (winspool.drv.so)
+# libdbus (mountmgr.sys.so)
# libfontconfig (gdi32.dll.so)
-# libfreetype (wineps.dll.so,gdi32.dll.so)
-# libGL (x11drv.dll.so,ddraw.dll.so)
-# libjack (winejack.drv.so - explicit dependency in subpackage)
-# libX11, libXext, libXi, libXrender (x11drv.dll.so)
+# libfreetype (gdi32.dll.so)
+# libgnutls (secur32.dll.so)
+# libhal (mountmgr.sys.so)
+# libjpeg (gphoto2.ds.so windowscodecs.dll.so)
+# libncurses (kernel32.dll.so)
+# libodbc (odbc32.dll.so)
+# libpng (windowscodecs.dll.so)
+# libsane (sane.ds.so)
+# libtiff (windowscodecs.dll.so)
+# libv4l1 (qcap.dll.so)
+# libxslt (msxml3.dll.so)
# thus requires rebuild after change of any of the above.
-#
-# JACK requires ALSA
-%if %{without alsa}
-%undefine with_jack
+
+# library qualifier in rpm generated deps
+%ifarch %{x8664} ia64 ppc64 s390x sparc64
+%define libqual ()(64bit)
+%else
+%define libqual %{nil}
%endif
+%define gecko_ver 2.21
Summary: Program that lets you launch Win applications
Summary(es.UTF-8): Ejecuta programas Windows en Linux
Summary(pl.UTF-8): Program pozwalający uruchamiać aplikacje Windows
Summary(pt_BR.UTF-8): Executa programas Windows no Linux
Name: wine
-Version: 1.2.2
-Release: 3
+# 1.6.x – stable
+# 1.7.x – development (DEVEL branch)
+Version: 1.6.2
+Release: 1
Epoch: 1
License: LGPL
Group: Applications/Emulators
-Source0: http://ibiblio.org/pub/linux/system/emulators/wine/%{name}-%{version}.tar.bz2
-# Source0-md5: e976d64688e0833061e79efa3eac5d2c
-Source1: http://downloads.sourceforge.net/wine/%{name}_gecko-1.0.0-x86.cab
-# Source1-md5: 9c5c335fc077c0558561afaf25a09e51
-Source2: %{name}-uninstaller.desktop
-Patch0: %{name}-fontcache.patch
+Source0: http://downloads.sourceforge.net/wine/%{name}-%{version}.tar.bz2
+# Source0-md5: 0f6c56f86befe38e219090915f81f48a
+Source1: http://downloads.sourceforge.net/wine/%{name}_gecko-%{gecko_ver}-x86.msi
+# Source1-md5: 432eb3a2d05c3f07df67864f53c87c60
+Source2: http://downloads.sourceforge.net/wine/%{name}_gecko-%{gecko_ver}-x86_64.msi
+# Source2-md5: 580bbabde1ec99ba9caa439c2dbca3f6
+Source3: %{name}-uninstaller.desktop
+Patch0: %{name}-gphoto2_bool.patch
Patch1: %{name}-makedep.patch
Patch2: %{name}-ncurses.patch
Patch4: %{name}-disable-valgrind.patch
Patch5: %{name}-ca_certificates.patch
-Patch6: %{name}-notarget.patch
-Patch7: %{name}-manpaths.patch
-Patch8: desktop.patch
-#PatchX: %{name}-dga.patch
+Patch6: %{name}-manpaths.patch
+Patch7: desktop.patch
+Patch8: %{name}-wine64_man.patch
URL: http://www.winehq.org/
+BuildRequires: Mesa-libOSMesa-devel
BuildRequires: OpenAL-devel >= 1.1
+BuildRequires: OpenCL-devel
BuildRequires: OpenGL-GLU-devel
+BuildRequires: OpenGL-GLX-devel
%{?with_alsa:BuildRequires: alsa-lib-devel}
%{?with_arts:BuildRequires: artsc-devel}
-BuildRequires: autoconf
+BuildRequires: autoconf >= 2.62
BuildRequires: automake
BuildRequires: bison
+%{?with_capi:BuildRequires: capi4k-utils-devel}
%{?with_cups:BuildRequires: cups-devel}
+BuildRequires: dbus-devel
BuildRequires: docbook-dtd31-sgml
BuildRequires: docbook-utils
-%{?with_esd:BuildRequires: esound-devel}
-BuildRequires: flex
+BuildRequires: flex >= 2.5.33
BuildRequires: fontconfig-devel
BuildRequires: fontforge
BuildRequires: freetype-devel >= 2.0.5
+# for findup used after make install
+BuildRequires: fslint
+%ifarch %{x8664}
+BuildRequires: gcc >= 6:4.4
+%endif
+BuildRequires: gettext-devel
BuildRequires: giflib-devel
BuildRequires: gnutls-devel
-BuildRequires: hal-devel
-BuildRequires: icoutils
-%{?with_jack:BuildRequires: jack-audio-connection-kit-devel}
-BuildRequires: lcms-devel
+%{?with_gstreamer:BuildRequires: gstreamer0.10-devel >= 0.10}
+%{?with_gstreamer:BuildRequires: gstreamer0.10-plugins-base-devel >= 0.10}
+%{?with_hal:BuildRequires: hal-devel}
+# for icotool used in build
+BuildRequires: icoutils >= 0.29.0
+BuildRequires: lcms2-devel >= 2
BuildRequires: libgphoto2-devel
BuildRequires: libgsm-devel
BuildRequires: libjpeg-devel
BuildRequires: libmpg123-devel >= 1.5.0
+BuildRequires: libpng-devel >= 1.5
+BuildRequires: libtiff-devel
BuildRequires: libtool
BuildRequires: libv4l-devel
+BuildRequires: libxml2-devel >= 2.0
BuildRequires: libxslt-devel
-%{?with_nas:BuildRequires: nas-devel}
BuildRequires: ncurses-devel
# db2* failed previously - probably openjade or opensp bug
BuildRequires: openjade >= 1:1.3.3-0.pre1
-BuildRequires: openldap-devel
+%{?with_ldap:BuildRequires: openldap-devel}
BuildRequires: opensp >= 1:1.5.1
-BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: pkgconfig
+BuildRequires: prelink
%{?with_sane:BuildRequires: sane-backends-devel}
BuildRequires: unixODBC-devel >= 2.2.12-2
#BuildRequires: valgrind
+BuildRequires: xorg-lib-libX11-devel
BuildRequires: xorg-lib-libXcomposite-devel
BuildRequires: xorg-lib-libXcursor-devel
+BuildRequires: xorg-lib-libXext-devel
BuildRequires: xorg-lib-libXi-devel
BuildRequires: xorg-lib-libXinerama-devel
-BuildRequires: xorg-lib-libXmu-devel
BuildRequires: xorg-lib-libXrandr-devel
BuildRequires: xorg-lib-libXrender-devel
-BuildRequires: xorg-lib-libXxf86dga-devel
BuildRequires: xorg-lib-libXxf86vm-devel
-Requires: libfreetype.so.6
+BuildRequires: zlib-devel
+Requires: libfreetype.so.6%{libqual}
+Requires: libpng16.so.16%{libqual}
+Requires(post): /sbin/ldconfig
Suggests: binfmt-detector
Suggests: ca-certificates
+Suggests: cabextract
Conflicts: ca-certificates < 20080809-4
# for printing needs lpr
Suggests: cups-clients
Provides: libntdll.dll.so
Obsoletes: wine-doc-pdf
Obsoletes: wine-drv-arts
-ExclusiveArch: %{ix86} %{x8664}
+Obsoletes: wine-drv-jack
+Obsoletes: wine-drv-nas
+ExclusiveArch: %{ix86} %{x8664} arm
ExcludeArch: i386
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _noautoreqdep libGL.so.1 libGLU.so.1
%define no_install_post_strip 1
%define _winedir %{_datadir}/%{name}
-%define getsoname() %((objdump -p %{1} 2>/dev/null || echo SONAME ERROR) | awk '/SONAME/ { print $2; s=1 }; END { if(s==0) print "ERROR" }')
-
-%undefine debuginfocflags
-
%description
Wine is a program which allows running Microsoft Windows programs
(including DOS, Windows 3.x and Win32 executables) on Unix. It
%description programs -l pl.UTF-8
Wine - programy.
+%package dll-capi
+Summary: CAPI 2.0 (ISDN) implementation DLLs for Wine
+Summary(pl.UTF-8): Biblioteki DLL z implementacją CAPI 2.0 (ISDN) dla Wine
+Group: Applications/Emulators
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description dll-capi
+CAPI 2.0 (ISDN) implementation DLLs for Wine (through OpenGL).
+
+%description dll-capi -l pl.UTF-8
+Biblioteki DLL z implementacją CAPI 2.0 (ISDN) dla Wine (poprzez
+OpenGL).
+
%package dll-d3d
Summary: Direct3D implementation DLLs for Wine
Summary(pl.UTF-8): Biblioteki DLL z implementacją Direct3D dla Wine
%description dll-twain -l pl.UTF-8
Biblioteka DLL z implementacją TWAIN dla Wine (poprzez SANE).
+%package dll-ldap
+Summary: Win32 LDAP API DLL for Wine
+Group: Applications/Emulators
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description dll-ldap
+Lightweight Directory Access Protocol Library.
+
%package drv-alsa
Summary: ALSA driver for WINE mm.dll implementation
Summary(pl.UTF-8): Sterownik ALSA dla implementacji mm.dll w Wine
%description drv-alsa -l pl.UTF-8
Sterownik ALSA dla implementacji mm.dll (systemu multimediów) w Wine.
-%package drv-jack
-Summary: JACK driver for WINE mm.dll implementation
-Summary(pl.UTF-8): Sterownik JACK-a dla implementacji mm.dll w Wine
-Group: Applications/Emulators
-Requires: %{name} = %{epoch}:%{version}-%{release}
-Requires: jack-audio-connection-kit
-# dlopened by SONAME detected at build time
-%{?with_jack:Requires: %{getsoname /usr/%{_lib}/libjack.so}}
-
-%description drv-jack
-JACK driver for WINE mm.dll (multimedia system) implementation.
-
-%description drv-jack -l pl.UTF-8
-Sterownik JACK-a dla implementacji mm.dll (systemu multimediów) w
-Wine.
-
-%package drv-nas
-Summary: NAS driver for WINE mm.dll implementation
-Summary(pl.UTF-8): Sterownik NAS dla implementacji mm.dll w Wine
-Group: Applications/Emulators
-Requires: %{name} = %{epoch}:%{version}-%{release}
-
-%description drv-nas
-NAS driver for WINE mm.dll (multimedia system) implementation.
-
-%description drv-nas -l pl.UTF-8
-Sterownik NAS dla implementacji mm.dll (systemu multimediów) w Wine.
-
%prep
%setup -q
%patch0 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
+%ifarch %{x8664}
%patch8 -p1
+%endif
%build
icotool -x --width=32 --height=32 --bit-depth=32 -o . dlls/user32/resources/oic_winlogo.ico
%ifarch %{x8664}
--enable-win64 \
%endif
- --with%{!?with_alsa:out}-alsa \
- --with-audioio \
- --without-capi \
+ --with-alsa%{!?with_alsa:=no} \
+ --with-capi%{!?with_capi:=no} \
--with-cms \
--with-coreaudio \
- --with%{!?with_cups:out}-cups \
+ --with-cups%{!?with_cups:=no} \
--with-curses \
- --with%{!?with_esd:out}-esd \
--with-fontconfig \
--with-freetype \
--with-glu \
--with-gnutls \
--with-gphoto \
--with-gsm \
- --with-hal \
- --with%{!?with_jack:out}-jack \
+ --with-gstreamer%{!?with_gstreamer:=no} \
+ --with-hal%{!?with_hal:=no} \
--with-jpeg \
- --with-ldap \
+ --with-ldap%{!?with_ldap:=no} \
--with-mpg123 \
- --with%{!?with_nas:out}-nas \
--with-opengl \
- --with-openssl \
--with-oss \
--with-png \
--with-pthread \
- --with%{!?with_sane:out}-sane \
+ --with-sane%{!?with_sane:=no} \
--with-xcomposite \
--with-xcursor \
--with-xinerama \
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-install -p tools/fnt2bdf $RPM_BUILD_ROOT%{_bindir}
+findup -m $RPM_BUILD_ROOT%{_winedir}/fakedlls
+
+install -p tools/fnt2fon $RPM_BUILD_ROOT%{_bindir}
cp -a aclocal.m4 $RPM_BUILD_ROOT%{_aclocaldir}/wine.m4
install -d \
MPEGVideo=mciqtz.drv
EOF
-%if %{?debug:0}%{!?debug:1}
-echo "Strip executable binaries and shared object files."
-filelist=`find $RPM_BUILD_ROOT -type f ! -regex ".*ld-[0-9.]*so.*"`
-elfexelist=`echo $filelist | xargs -r file | \
- awk '/ELF.*executable/ {print $1}' | cut -d: -f1`
-elfsharedlist=`echo $filelist | xargs -r file | \
- awk '/LF.*shared object/ {print $1}' | cut -d: -f1`; \
-if [ -n "$elfexelist" ]; then \
- strip -R .note -R .comment $elfexelist
-fi
-if [ -n "$elfsharedlist" ]; then
- strip --strip-unneeded -R .note -R .comment $elfsharedlist
-fi
-%endif
-
# /sbin/chstk -e $RPM_BUILD_ROOT%{_bindir}/wine
dir=$(pwd)
cd $RPM_BUILD_ROOT%{_libdir}/wine
for f in *.so; do
case $f in
- d3d8.dll.so|d3d9.dll.so|d3dx8.dll.so|glu32.dll.so|opengl32.dll.so|sane.ds.so|twain.dll.so|twain_32.dll.so|winealsa.drv.so|winejack.drv.so|winenas.drv.so)
+ capi2032.dll.so|d3d8.dll.so|d3d9.dll.so|d3dx8.dll.so|glu32.dll.so|opengl32.dll.so|sane.ds.so|twain.dll.so|twain_32.dll.so|winealsa.drv.so|wined3d.dll.so|wldap32.dll.so)
;;
*)
echo "%attr(755,root,root) %{_libdir}/wine/$f" >> $dir/files.so
mv -f files.so. files.so
done
+%ifarch %{x8664}
+for langdir in "" de/ fr/ pl/ ; do
+mv $RPM_BUILD_ROOT%{_mandir}/${langdir}man1/{wine,wine64}.1
+done
+%endif
+
install -d $RPM_BUILD_ROOT%{_winedir}/gecko
-cp -a %{SOURCE1} $RPM_BUILD_ROOT%{_winedir}/gecko
+%ifnarch %{x8664}
+cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_winedir}/gecko
+%else
+cp -p %{SOURCE2} $RPM_BUILD_ROOT%{_winedir}/gecko
+%endif
install -d $RPM_BUILD_ROOT%{_pixmapsdir}
-cp -a %{SOURCE2} $RPM_BUILD_ROOT%{_desktopdir}
-cp -a %{name}.png $RPM_BUILD_ROOT%{_pixmapsdir}
+cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_desktopdir}
+cp -p %{name}.png $RPM_BUILD_ROOT%{_pixmapsdir}
%clean
rm -rf $RPM_BUILD_ROOT
-%post -p /sbin/ldconfig
+%post
+/sbin/ldconfig
+%update_desktop_database
+
%postun -p /sbin/ldconfig
%triggerpostun -- wine < 1:0.9.12-1.9
%files -f files.so
%defattr(644,root,root,755)
-%doc README documentation/ChangeLog* AUTHORS ANNOUNCE
+%doc README AUTHORS ANNOUNCE
%lang(de) %doc documentation/README.de
%lang(es) %doc documentation/README.es
%lang(fr) %doc documentation/README.fr
%lang(sv) %doc documentation/README.sv
%lang(tr) %doc documentation/README.tr
%attr(755,root,root) %{_bindir}/msiexec
+%ifnarch %{x8664}
+%attr(755,root,root) %{_bindir}/wine
+%else
+%attr(755,root,root) %{_bindir}/wine64
+%endif
%attr(755,root,root) %{_bindir}/wineboot
%attr(755,root,root) %{_bindir}/winedbg
%attr(755,root,root) %{_bindir}/winecfg
-%attr(755,root,root) %{_bindir}/wineserver
-%ifarch %{x8664}
-%attr(755,root,root) %{_bindir}/wine64
-%else
-%attr(755,root,root) %{_bindir}/wine
+%ifnarch %{x8664}
%attr(755,root,root) %{_bindir}/wine-preloader
+%else
+%attr(755,root,root) %{_bindir}/wine64-preloader
%endif
+%attr(755,root,root) %{_bindir}/wineserver
%attr(755,root,root) %{_libdir}/*.so*
%dir %{_libdir}/wine
%dir %{_libdir}/wine/fakedlls
%{_libdir}/wine/fakedlls/*.acm
%{_libdir}/wine/fakedlls/*.cpl
%{_libdir}/wine/fakedlls/*.dll
+%ifarch %{ix86}
+%{_libdir}/wine/fakedlls/*.dll16
+%endif
%{_libdir}/wine/fakedlls/*.drv
+%ifarch %{ix86}
+%{_libdir}/wine/fakedlls/*.drv16
+%endif
%{_libdir}/wine/fakedlls/*.ds
%{_libdir}/wine/fakedlls/*.exe
+%ifarch %{ix86}
+%{_libdir}/wine/fakedlls/*.exe16
+%{_libdir}/wine/fakedlls/*.mod16
+%endif
%{_libdir}/wine/fakedlls/*.ocx
%{_libdir}/wine/fakedlls/*.sys
%{_libdir}/wine/fakedlls/*.tlb
%ifarch %{ix86}
-%{_libdir}/wine/fakedlls/*.dll16
-%{_libdir}/wine/fakedlls/*.drv16
-%{_libdir}/wine/fakedlls/*.exe16
-%{_libdir}/wine/fakedlls/*.mod16
%{_libdir}/wine/fakedlls/*.vxd
%endif
+%ifnarch %{x8664}
%{_mandir}/man1/wine.1*
+%lang(de) %{_mandir}/de/man1/wine.1*
+%lang(fr) %{_mandir}/fr/man1/wine.1*
+%lang(pl) %{_mandir}/pl/man1/wine.1*
+%else
+%{_mandir}/man1/wine64.1*
+%lang(de) %{_mandir}/de/man1/wine64.1*
+%lang(fr) %{_mandir}/fr/man1/wine64.1*
+%lang(pl) %{_mandir}/pl/man1/wine64.1*
+%endif
%{_mandir}/man1/msiexec.1*
%{_mandir}/man1/wineboot.1*
%{_mandir}/man1/winecfg.1*
-%lang(de) %{_mandir}/de/man1/wine.1*
-%lang(fr) %{_mandir}/fr/man1/wine.1*
%{_mandir}/man1/winedbg.1*
%{_mandir}/man1/wineserver.1*
%lang(de) %{_mandir}/de/man1/wineserver.1*
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/fnt2bdf
+%attr(755,root,root) %{_bindir}/fnt2fon
%attr(755,root,root) %{_bindir}/function_grep.pl
%attr(755,root,root) %{_bindir}/widl
%attr(755,root,root) %{_bindir}/winebuild
%{_libdir}/wine/lib*.def.a
%{_libdir}/wine/libadsiid.a
%{_libdir}/wine/libdx*.a
+%{_libdir}/wine/libstrmbase.a
%{_libdir}/wine/libstrmiids.a
%{_libdir}/wine/libuuid.a
%{_libdir}/wine/libwinecrt0.a
%{_mandir}/man1/wrc.1*
%{_aclocaldir}/*.m4
+%files dll-capi
+%defattr(644,root,root,755)
+%attr(755,root,root) %{_libdir}/wine/capi2032.dll.so
+
%files dll-d3d
%defattr(644,root,root,755)
%attr(755,root,root) %{_libdir}/wine/d3d8.dll.so
%attr(755,root,root) %{_libdir}/wine/twain*.dll.so
%endif
-%if %{with alsa}
-%files drv-alsa
-%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/wine/winealsa.drv.so
-%endif
-
-%if %{with jack}
-%files drv-jack
+%if %{with ldap}
+%files dll-ldap
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/wine/winejack.drv.so
+%attr(755,root,root) %{_libdir}/wine/wldap*.dll.so
%endif
-%if %{with nas}
-%files drv-nas
+%if %{with alsa}
+%files drv-alsa
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/wine/winenas.drv.so
+%attr(755,root,root) %{_libdir}/wine/winealsa.drv.so
%endif
# additional dependencies in *.so not separated (yet?) from main package