#
# Conditional build:
%bcond_without alsa # don't build ALSA mm driver
-%bcond_without jack # don't build JACK mm driver
-%bcond_without nas # don't build NAS mm driver
+%bcond_without capi # don't build CAPI 2.0 (ISDN) support
+%bcond_without gstreamer # don't build GStreamer filters support
%bcond_without sane # don't build TWAIN DLL with scanning support (through SANE)
+%bcond_without ldap # don't build LDAP DLL
%bcond_without cups # without CUPS printing support in winspool,wineps DLLs
#
-# TODO:
-# - support for CAPI (ISDN support; --with-capi)
-#
# NOTE: wine detects the following SONAMES for dlopen at build time:
# libcrypto,libssl (wininet.dll)
# libcups (winspool.dll.so,wineps.dll.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)
+# libpng (windowscodecs.dll: SONAME_LIBPNG in dlls/windowscodecs/pngformat.c)
# 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 1.4
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.1.23
-Release: 2
+Version: 1.4.1
+Release: 1
Epoch: 1
License: LGPL
Group: Applications/Emulators
-Source0: http://ibiblio.org/pub/linux/system/emulators/wine/%{name}-%{version}.tar.bz2
-# Source0-md5: 2a588487d4553a01db8326c7db710da2
-Source1: %{name}-uninstaller.desktop
+Source0: http://downloads.sourceforge.net/wine/%{name}-%{version}.tar.bz2
+# Source0-md5: 0c28702ed478df7a1c097f3a9c4cabd6
+Source1: http://downloads.sourceforge.net/wine/%{name}_gecko-%{gecko_ver}-x86.msi
+# Source1-md5: 700aaa08724be1992cffed7b87e79a44
+Source2: http://downloads.sourceforge.net/wine/%{name}_gecko-%{gecko_ver}-x86_64.msi
+# Source2-md5: 7b4811f667fd01d300fdff68420a9c72
+Source3: %{name}-uninstaller.desktop
Patch0: %{name}-fontcache.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: %{name}-secur32.patch
-#PatchX: %{name}-dga.patch
+Patch6: %{name}-manpaths.patch
+Patch7: desktop.patch
URL: http://www.winehq.org/
+BuildRequires: OpenAL-devel >= 1.1
BuildRequires: OpenGL-GLU-devel
%{?with_alsa:BuildRequires: alsa-lib-devel}
%{?with_arts:BuildRequires: artsc-devel}
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
+%{?with_capi:BuildRequires: capi4k-utils-devel}
%{?with_cups:BuildRequires: cups-devel}
BuildRequires: docbook-dtd31-sgml
BuildRequires: docbook-utils
BuildRequires: fontconfig-devel
BuildRequires: fontforge
BuildRequires: freetype-devel >= 2.0.5
+BuildRequires: fslint
+BuildRequires: gettext-devel
BuildRequires: giflib-devel
BuildRequires: gnutls-devel
-BuildRequires: hal-devel
-%{?with_jack:BuildRequires: jack-audio-connection-kit-devel}
+%{?with_gstreamer:BuildRequires: gstreamer-plugins-base-devel}
+BuildRequires: icoutils
BuildRequires: lcms-devel
BuildRequires: libgphoto2-devel
+BuildRequires: libgsm-devel
BuildRequires: libjpeg-devel
+BuildRequires: libmpg123-devel >= 1.5.0
BuildRequires: libtool
+BuildRequires: libv4l-devel
BuildRequires: libxslt-devel
-%{?with_nas:BuildRequires: nas-devel}
BuildRequires: ncurses-devel
# db2* failed previously - probably openjade or opensp bug
+BuildRequires: libpng-devel >= 1.5
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-libXrender-devel
BuildRequires: xorg-lib-libXxf86dga-devel
BuildRequires: xorg-lib-libXxf86vm-devel
-Requires: libfreetype.so.6
+Requires: libfreetype.so.6%{libqual}
+Requires: libpng15.so.15%{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
# for winelauncher
Suggests: xorg-app-xmessage
# for ntlm_auth
Provides: libntdll.dll.so
Obsoletes: wine-doc-pdf
Obsoletes: wine-drv-arts
-ExclusiveArch: %{ix86}
+Obsoletes: wine-drv-jack
+Obsoletes: wine-drv-nas
+ExclusiveArch: %{ix86} %{x8664}
ExcludeArch: i386
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%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
-%patch8 -p1
-
-# turn off compilation of some tools
-sed -i -e "s|winetest \\\|\\\|;s|avitools||" programs/Makefile.in
-#sed -i -e "s|avitools||" programs/Makefile.in
%build
+icotool -x --width=32 --height=32 --bit-depth=32 -o . dlls/user32/resources/oic_winlogo.ico
+mv -f oic_winlogo_*.png %{name}.png
+
%{__autoconf}
%{__autoheader}
%configure \
+%ifarch %{x8664}
+ --enable-win64 \
+%endif
--with%{!?with_alsa:out}-alsa \
+ --with%{!?with_capi:out}-capi \
--with-cms \
+ --with-coreaudio \
--with%{!?with_cups:out}-cups \
- --with-cups \
--with-curses \
- --with-esd \
--with-fontconfig \
--with-freetype \
--with-glu \
+ --with-gnutls \
--with-gphoto \
- --with-hal \
- --with%{!?with_jack:out}-jack \
+ --with-gsm \
+ --with%{!?with_gstreamer:out}-gstreamer \
--with-jpeg \
- --with-ldap \
- --with%{!?with_nas:out}-nas \
+ --with%{!?with_ldap:out}-ldap \
+ --with-mpg123 \
--with-opengl \
--with-openssl \
--with-oss \
--with-png \
+ --with-pthread \
--with%{!?with_sane:out}-sane \
--with-xcomposite \
--with-xcursor \
--with-x
%{__make} depend
%{__make}
-%{__make} -C programs
%install
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT{%{_mandir}/man1,%{_aclocaldir}}
-
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-%{__make} -C programs install \
- DESTDIR=$RPM_BUILD_ROOT
-
-install tools/fnt2bdf $RPM_BUILD_ROOT%{_bindir}
+findup -m $RPM_BUILD_ROOT%{_winedir}/fakedlls
-install aclocal.m4 $RPM_BUILD_ROOT%{_aclocaldir}/wine.m4
+install -p tools/fnt2bdf $RPM_BUILD_ROOT%{_bindir}
+cp -a aclocal.m4 $RPM_BUILD_ROOT%{_aclocaldir}/wine.m4
install -d \
$RPM_BUILD_ROOT%{_winedir}/windows/{system,Desktop,Favorites,Fonts} \
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
-programs="msiexec notepad regedit regsvr32 wineboot winecfg wineconsole winedbg winefile winemine winepath"
-
-BZZZ=`pwd`
-rm -f files.so; touch files.so
-rm -f files.programs; touch files.programs
+dir=$(pwd)
+> files.so
+> files.programs
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)
- ;;
- *)
- echo "%attr(755,root,root) %{_libdir}/wine/$f" >>$BZZZ/files.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|wldap32.dll.so)
+ ;;
+ *)
+ echo "%attr(755,root,root) %{_libdir}/wine/$f" >> $dir/files.so
esac
done
cd -
+
+programs="notepad regedit regsvr32 wineconsole winefile winemine winepath"
for p in $programs; do
echo "%attr(755,root,root) %{_bindir}/$p" >> files.programs
echo "%attr(755,root,root) %{_libdir}/wine/$p.exe.so" >> files.programs
+ echo "%{_mandir}/man1/$p.1*" >> files.programs
grep -v "$p\.exe\.so$" files.so > files.so.
mv -f files.so. files.so
done
-install -d $RPM_BUILD_ROOT%{_pixmapsdir}/wine.svg
-install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
-install programs/winetest/winetest.svg $RPM_BUILD_ROOT%{_pixmapsdir}/wine.svg
+install -d $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 -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
%lang(de) %doc documentation/README.de
%lang(es) %doc documentation/README.es
%lang(fr) %doc documentation/README.fr
+%lang(hu) %doc documentation/README.hu
%lang(it) %doc documentation/README.it
%lang(ko) %doc documentation/README.ko
%lang(nb) %doc documentation/README.no
%lang(pt) %doc documentation/README.pt
%lang(pt_BR) %doc documentation/README.pt_br
+%lang(ru) %doc documentation/README.ru
+%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}/winecfg
%attr(755,root,root) %{_bindir}/winedbg
-#%attr(755,root,root) %{_bindir}/wine-kthread
-#%attr(755,root,root) %{_bindir}/winelauncher
-%attr(755,root,root) %{_bindir}/wineprefixcreate
+%attr(755,root,root) %{_bindir}/winecfg
+%ifnarch %{x8664}
%attr(755,root,root) %{_bindir}/wine-preloader
-#%attr(755,root,root) %{_bindir}/wine-pthread
+%else
+%attr(755,root,root) %{_bindir}/wine64-preloader
+%endif
%attr(755,root,root) %{_bindir}/wineserver
%attr(755,root,root) %{_libdir}/*.so*
%dir %{_libdir}/wine
-%{_libdir}/wine/*.dll16
-%{_libdir}/wine/*.drv16
-%{_libdir}/wine/*.exe16
+%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/*.vxd
+%endif
%{_mandir}/man1/wine.1*
-%lang(de) %{_mandir}/de/man1/wine.1*
-%lang(fr) %{_mandir}/fr/man1/wine.1*
+%lang(de) %{_mandir}/de/man1/wine*.1*
+%lang(fr) %{_mandir}/fr/man1/wine*.1*
+#%lang(pl) %{_mandir}/pl/man1/wine*.1*
+%{_mandir}/man1/msiexec.1*
+%{_mandir}/man1/wineboot.1*
+%{_mandir}/man1/winecfg.1*
%{_mandir}/man1/winedbg.1*
-%{_mandir}/man1/wineprefixcreate.1*
%{_mandir}/man1/wineserver.1*
-%lang(fr) %{_mandir}/fr/man1/wineserver.1*
%{_winedir}
%{_desktopdir}/wine.desktop
%{_desktopdir}/wine-uninstaller.desktop
-%{_pixmapsdir}/wine.svg
+%{_pixmapsdir}/%{name}.png
%files programs -f files.programs
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/winegcc
%attr(755,root,root) %{_bindir}/winemaker
%attr(755,root,root) %{_bindir}/winecpp
-#%attr(755,root,root) %{_bindir}/winewrap
%attr(755,root,root) %{_bindir}/wmc
%attr(755,root,root) %{_bindir}/wrc
%{_libdir}/wine/lib*.def
%{_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
%{_includedir}/wine
%{_mandir}/man1/widl.1*
+%{_mandir}/man1/winebuild.1*
+%{_mandir}/man1/winecpp.1*
%{_mandir}/man1/winedump.1*
%{_mandir}/man1/winegcc.1*
%{_mandir}/man1/wineg++.1*
%{_mandir}/man1/winemaker.1*
-%{_mandir}/man1/winebuild.1*
+%lang(de) %{_mandir}/de/man1/winemaker.1*
+%lang(fr) %{_mandir}/fr/man1/winemaker.1*
%{_mandir}/man1/wmc.1*
%{_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/d3d9.dll.so
-%attr(755,root,root) %{_libdir}/wine/d3dx8.dll.so
%attr(755,root,root) %{_libdir}/wine/wined3d.dll.so
%files dll-gl
%attr(755,root,root) %{_libdir}/wine/twain*.dll.so
%endif
-%if %{with alsa}
-%files drv-alsa
+%if %{with ldap}
+%files dll-ldap
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/wine/winealsa.drv.so
-%endif
-
-%if %{with jack}
-%files drv-jack
-%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