%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_with hal # HAL dynamic device support [deprecated]
%bcond_without ldap # don't build LDAP DLL
%bcond_without cups # without CUPS printing support in winspool,wineps DLLs
+%bcond_without netapi # don't use the Samba NetAPI library
#
# 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)
-# libX11, libXext, libXi, libXrender (x11drv.dll.so)
-# libpng (windowscodecs.dll: SONAME_LIBPNG in dlls/windowscodecs/pngformat.c)
+# 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.
# library qualifier in rpm generated deps
%define libqual %{nil}
%endif
-%define gecko_ver 1.4
+%define gecko_ver 2.47
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.4
+# 1.8.x – stable
+# 1.9.x – development
+Version: 3.0.1
Release: 1
Epoch: 1
License: LGPL
Group: Applications/Emulators
-Source0: http://downloads.sourceforge.net/wine/%{name}-%{version}.tar.bz2
-# Source0-md5: 6594ab86a4b1fb2c09dadfb4ea7fc4af
-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
+Source0: https://dl.winehq.org/wine/source/3.0/%{name}-%{version}.tar.xz
+# Source0-md5: f97b7ed4dbd328e1d751f88a87043b0b
+Source1: https://dl.winehq.org/wine/wine-gecko/%{gecko_ver}/%{name}_gecko-%{gecko_ver}-x86.msi
+# Source1-md5: 5ebc4ec71c92b3db3d84b334a1db385d
+Source2: https://dl.winehq.org/wine/wine-gecko/%{gecko_ver}/%{name}_gecko-%{gecko_ver}-x86_64.msi
+# Source2-md5: d93ac0d2e6aceafe9113a9918916df45
Source3: %{name}-uninstaller.desktop
-Patch0: %{name}-fontcache.patch
+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}-manpaths.patch
-Patch7: desktop.patch
+Patch6: desktop.patch
+Patch7: %{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
%{?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: docbook-dtd31-sgml
-BuildRequires: docbook-utils
-BuildRequires: flex
+BuildRequires: dbus-devel
+BuildRequires: flex >= 2.5.33
BuildRequires: fontconfig-devel
-BuildRequires: fontforge
BuildRequires: freetype-devel >= 2.0.5
BuildRequires: gettext-devel
-BuildRequires: giflib-devel
+%ifarch %{x8664}
+BuildRequires: gcc >= 6:4.4
+%endif
+BuildRequires: gettext-tools
BuildRequires: gnutls-devel
-%{?with_gstreamer:BuildRequires: gstreamer-plugins-base-devel}
-BuildRequires: icoutils
-BuildRequires: lcms-devel
+%{?with_gstreamer:BuildRequires: gstreamer-devel >= 1.0}
+%{?with_gstreamer:BuildRequires: gstreamer-plugins-base-devel >= 1.0}
+%{?with_hal:BuildRequires: hal-devel}
+# for icotool used in build
+BuildRequires: icoutils >= 0.29.0
+BuildRequires: lcms2-devel >= 2
+BuildRequires: libcap-devel
BuildRequires: libgphoto2-devel
BuildRequires: libgsm-devel
BuildRequires: libjpeg-devel
BuildRequires: libmpg123-devel >= 1.5.0
-BuildRequires: libtool
+BuildRequires: libpcap-devel
+BuildRequires: libpng-devel >= 1.5
+BuildRequires: libtiff-devel
BuildRequires: libv4l-devel
+BuildRequires: libxml2-devel >= 2.0
BuildRequires: libxslt-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
%{?with_ldap:BuildRequires: openldap-devel}
-BuildRequires: opensp >= 1:1.5.1
-BuildRequires: openssl-devel >= 0.9.7d
BuildRequires: pkgconfig
-BuildRequires: prelink
+BuildRequires: pulseaudio-devel
+BuildRequires: samba-devel
%{?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
+BuildRequires: zlib-devel
Requires: libfreetype.so.6%{libqual}
-Requires: libpng15.so.15%{libqual}
+Requires: libpng16.so.16%{libqual}
Requires(post): /sbin/ldconfig
Suggests: binfmt-detector
Suggests: ca-certificates
Obsoletes: wine-drv-arts
Obsoletes: wine-drv-jack
Obsoletes: wine-drv-nas
-ExclusiveArch: %{ix86} %{x8664}
+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 _noautoprov elf\\\\(buildid\\\\)
%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
Requires: %{name} = %{epoch}:%{version}-%{release}
%description dll-capi
-CAPI 2.0 (ISDN) implementation DLLs for Wine (through OpenGL).
+CAPI 2.0 (ISDN) implementation DLLs for Wine.
%description dll-capi -l pl.UTF-8
-Biblioteki DLL z implementacją CAPI 2.0 (ISDN) dla Wine (poprzez
-OpenGL).
+Biblioteki DLL z implementacją CAPI 2.0 (ISDN) dla Wine.
%package dll-d3d
Summary: Direct3D implementation DLLs for Wine
%package dll-ldap
Summary: Win32 LDAP API DLL for Wine
+Summary(pl.UTF-8): Biblioteka DLL z implementacją API Win32 LDAP dla Wine
Group: Applications/Emulators
Requires: %{name} = %{epoch}:%{version}-%{release}
%description dll-ldap
-Lightweight Directory Access Protocol Library.
+Lightweight Directory Access Protocol Library for Wine.
+
+%description dll-ldap -l pl.UTF-8
+Biblioteka LDAP (Lightweight Directory Access Protocol) dla Wine.
%package drv-alsa
Summary: ALSA driver for WINE mm.dll implementation
%patch4 -p1
%patch5 -p1
%patch6 -p1
+%ifarch %{x8664}
%patch7 -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%{!?with_capi:out}-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-dbus \
--with-fontconfig \
--with-freetype \
+ --with-gphoto \
--with-glu \
--with-gnutls \
- --with-gphoto \
--with-gsm \
- --with%{!?with_gstreamer:out}-gstreamer \
+ %{__with_without gstreamer} \
+ %{__with_without hal} \
--with-jpeg \
- --with%{!?with_ldap:out}-ldap \
+ --with-ldap%{!?with_ldap:=no} \
--with-mpg123 \
+ --with%{!?with_netapi:out}-netapi \
+ --with-openal \
+ --with-opencl \
--with-opengl \
- --with-openssl \
- --with-oss \
+ --with-osmesa \
+ --with-pcap \
--with-png \
--with-pthread \
+ --with-pulse \
--with%{!?with_sane:out}-sane \
+ --with-tiff \
+ --with-v4l \
--with-xcomposite \
--with-xcursor \
--with-xinerama \
--with-xinput \
+ --with-xinput2 \
--with-xml \
--with-xrandr \
--with-xrender \
--with-xshm \
--with-xslt \
--with-xxf86vm \
- --with-x
+ --with-x \
+ --with-zlib
%{__make} depend
%{__make}
%{__make} install \
DESTDIR=$RPM_BUILD_ROOT
-install -p tools/fnt2bdf $RPM_BUILD_ROOT%{_bindir}
+install -p tools/sfnt2fon/sfnt2fon $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|wldap32.dll.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
+for dir in $RPM_BUILD_ROOT%{_mandir}/*.UTF-8 ; do
+ mv "$dir" "${dir%.UTF-8}"
+done
+
+%ifarch %{x8664}
+install loader/wine.man $RPM_BUILD_ROOT%{_mandir}/man1/wine64.1
+for lang in de fr pl ; do
+install -d $RPM_BUILD_ROOT%{_mandir}/${lang}/man1
+install loader/wine.${lang}.UTF-8.man $RPM_BUILD_ROOT%{_mandir}/${lang}/man1/wine64.1
+done
+%else
+install loader/wine.man $RPM_BUILD_ROOT%{_mandir}/man1/wine.1
+for lang in de fr pl ; do
+install -d $RPM_BUILD_ROOT%{_mandir}/${lang}/man1
+install loader/wine.${lang}.UTF-8.man $RPM_BUILD_ROOT%{_mandir}/${lang}/man1/wine.1
+done
+%endif
+
install -d $RPM_BUILD_ROOT%{_winedir}/gecko
%ifnarch %{x8664}
cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_winedir}/gecko
%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
%ifarch %{ix86}
%{_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*
+%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*
%{_mandir}/man1/winedbg.1*
%{_mandir}/man1/wineserver.1*
+%lang(de) %{_mandir}/de/man1/wineserver.1*
+%lang(fr) %{_mandir}/fr/man1/wineserver.1*
%{_winedir}
%{_desktopdir}/wine.desktop
%{_desktopdir}/wine-uninstaller.desktop
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_bindir}/fnt2bdf
+%attr(755,root,root) %{_bindir}/sfnt2fon
%attr(755,root,root) %{_bindir}/function_grep.pl
%attr(755,root,root) %{_bindir}/widl
%attr(755,root,root) %{_bindir}/winebuild
%attr(755,root,root) %{_bindir}/wrc
%{_libdir}/wine/lib*.def
# no shared variants, so not separated
-%{_libdir}/wine/lib*.def.a
%{_libdir}/wine/libadsiid.a
+%{_libdir}/wine/libdinput.a
%{_libdir}/wine/libdx*.a
+%{_libdir}/wine/libmfuuid.a
%{_libdir}/wine/libstrmbase.a
%{_libdir}/wine/libstrmiids.a
%{_libdir}/wine/libuuid.a
%endif
# additional dependencies in *.so not separated (yet?) from main package
-# ddraw.dll.so,x11drv.dll.so depend on X11 libs
-# ole2disp.dll.so,oleaut32.dll.so,typelib.dll.so depend on lib(un)gif,libjpeg,libX11
-# ttydrv.dll.so depends on ncurses
+# ddraw.dll.so,winex11.drv.so depend on X11 libs
+# ole2disp.dll16.so,oleaut32.dll.so,typelib.dll16.so depend on libX11