: 17 2018 | : 18252 | : 10791197
en ru br
5.1: 1.1.44-alt1.M50P.1
4.1: 1.0.9-alt0.M41.35
4.0: 1.0.9-alt0.M40.35
3.0: 20050715-alt0.1

: wine

             Sources      Gear   Bugs and FR  Repocop 

%def_enable static
%define gecko_version 2.47
%define mono_version 4.7.1
%define major 2.21

Name: wine
Version: %major.1
Release: alt2
Epoch: 1

Summary: WINE Is Not An Emulator - environment for running MS Windows 16/32/64 bit applications

License: LGPLv2+
Group: Emulators

Packager: Vitaly Lipatov <lav at>

# TODO: major in gear

# Source-url:

Source: %name-%version.tar
# Source1-url:
Source1: %name-staging-%version.tar

Source2: winetricks
Source3: %name-%version-desktop.tar
Source4: %name-%version-icons.tar

# local patches

Source5: %name-patches-%version.tar

AutoReq: yes, noperl

# try build wine64 only on ALT

%if %_vendor == "alt"
%ifarch x86_64
%def_with build64
   %def_without build64
  %def_without build64

# for wine-staging script

BuildPreReq: /proc

# General dependencies

BuildRequires: rpm-build-intro >= 1.0
BuildRequires: gcc util-linux flex bison
BuildRequires: fontconfig-devel libfreetype-devel
BuildRequires: libncurses-devel libncursesw-devel libtinfo-devel
BuildRequires: zlib-devel libldap-devel libgnutls-devel
BuildRequires: libxslt-devel libxml2-devel
BuildRequires: libjpeg-devel liblcms2-devel libpng-devel libtiff-devel
BuildRequires: libgphoto2-devel libsane-devel libcups-devel
BuildRequires: libalsa-devel jackit-devel libgsm-devel libmpg123-devel libpulseaudio-devel
BuildRequires: libopenal-devel libGLU-devel libva-devel
BuildRequires: libusb-devel libieee1284-devel libpcap-devel
BuildRequires: libv4l-devel
BuildRequires: libunixODBC-devel
# GTK3 theme support: staging only
BuildRequires: libgtk+3-devel
#BuildRequires: gstreamer-devel gst-plugins-devel
# TODO: opencl-headers (autoimports now), osmesa

# udev needed for udev version detect

BuildRequires: libudev-devel udev libdbus-devel

BuildRequires: libICE-devel libSM-devel libxcb-devel
BuildRequires: libX11-devel libXau-devel libXaw-devel libXrandr-devel
BuildRequires: libXext-devel libXfixes-devel libXfont-devel libXft-devel libXi-devel
BuildRequires: libXmu-devel libXpm-devel libXrender-devel
BuildRequires: libXres-devel libXScrnSaver-devel libXinerama-devel libXt-devel
BuildRequires: libXxf86dga-devel libXxf86misc-devel libXcomposite-devel
BuildRequires: libXxf86vm-devel libfontenc-devel libXdamage-devel
BuildRequires: libXvMC-devel libXcursor-devel libXevie-devel libXv-devel

BuildRequires: libkrb5-devel

BuildRequires: perl-XML-Simple

# with prelink not found, base address of core dlls won't be set correctly

BuildRequires: prelink

# Actually for x86_32

Requires: glibc-pthread glibc-nss

# Enable with can build on x86_64

# GCC v4.4 is needed for build wine64
#ExclusiveArch:  %{ix86}
Requires: webclient

Requires: wine-gecko = %gecko_version

BuildRequires: desktop-file-utils
# Use it instead proprietary MS Core Fonts
# Requires: fonts-ttf-liberation

# For menu/MIME subsystem

Requires: desktop-file-utils

Requires: lib%name = %version-%release

Conflicts: wine-vanilla wine-etersoft

Provides: winetricks
Requires: cabextract

# Provides/Obsoletes Fedora packages

%define common_provobs wine-core wine-filesystem wine-common wine-desktop wine-systemd wine-sysvinit
%define base_provobs wine-alsa wine-capi wine-cms wine-ldap wine-openal wine-pulseaudio wine-wow wine-alsa wine-capi wine-cms wine-ldap wine-openal wine-opencl wine-pulseaudio wine-twain
%define fonts_provobs wine-fonts wine-arial-fonts wine-courier-fonts wine-fixedsys-fonts wine-marlett-fonts wine-ms-sans-serif-fonts wine-small-fonts wine-symbol-fonts wine-system-fonts wine-tahoma-fonts wine-times-new-roman-fonts wine-wingdings-fonts
#Provides: %common_provobs %base_provobs %fonts_provobs
Obsoletes: %common_provobs %base_provobs %fonts_provobs


Wine is a program which allows running Microsoft Windows programs
(including DOS, Windows 3.x and Win32 executables) on Unix. It
consists of a program loader which loads and executes a Microsoft
Windows binary, and a library (called Winelib) that implements Windows
API calls using their Unix or X11 equivalents.  The library may also
be used for porting Win32 code into native Unix executables.

This build based on wine source with wine-staging project patches
and ALT in progress patches.

%package test
Summary: WinAPI test for Wine
Summary(ru_RU.UTF-8): Тест WinAPI для Wine
Group: Emulators
Requires: %name = %version-%release
Conflicts: wine-vanilla-test

%description test
WinAPI test for Wine (unneeded for usual work).
Warning: it may kill your X server suddenly.

%package full
Summary: Wine meta package
Summary(ru_RU.UTF-8): Мета пакет Wine
Group: Emulators
BuildArch: noarch
Requires: %name = %version-%release
Requires: %name-programs = %version-%release
Requires: lib%name-gl = %version-%release

Requires: wine-mono >= %mono_version
Requires: wine-gecko = %gecko_version

Conflicts: wine-vanilla-full

%description full
Wine meta package. Use it for install all wine subpackages.

%package programs
Summary: Wine programs
Group: Emulators
Requires: %name = %version-%release
BuildArch: noarch

Conflicts: wine-vanilla-programs

%description programs
Wine GUI programs:
* winefile
* notepad
* winemine

%package -n lib%name
Summary: Main library for Wine
Group: System/Libraries
Conflicts: libwine-vanilla

# Actually for x86_32

Requires: glibc-pthread glibc-nss

# Runtime linked

Requires: libcups libncurses
Requires: libXrender libXi libXext libX11 libICE
Requires: libssl libgnutls30 libpng16 libjpeg
# Linked:
#Requires: fontconfig libfreetype

%description -n lib%name
This package contains the library needed to run programs dynamically
linked with Wine.

%description -n lib%name -l ru_RU.UTF-8
Этот пакет состоит из библиотек, которые реализуют Windows API.

%package -n lib%name-gl
Summary: DirectX/OpenGL support libraries for Wine
Group: System/Libraries
Requires: lib%name = %version-%release
Conflicts: libwine-vanilla-gl

Requires: libGL
# wine-staging only
Requires: libtxc_dxtn

%description -n lib%name-gl
This package contains the libraries for DirectX/OpenGL support in Wine.

%package -n lib%name-twain
Summary: Twain support library for Wine
Group: System/Libraries
Requires: lib%name = %version-%release
Conflicts: libwine-vanilla-twain

%description -n lib%name-twain
This package contains the library for Twain support.

%package -n lib%name-devel
Summary: Headers for lib%name-devel
Group: Development/C
Requires: lib%name = %version-%release
Obsoletes: wine-devel
Provides: wine-devel
Conflicts: libwine-vanilla-devel

%description -n lib%name-devel
lib%name-devel contains the header files and some utilities needed to
develop programs using lib%name.

%description -n lib%name-devel -l ru_RU.UTF-8
lib%name-devel содержит файлы для разработки программ, использующих Wine:
заголовочные файлы и утилиты, предназначенные
для компилирования программ с lib%name.

%package -n lib%name-devel-static
Summary: Static libraries for lib%name
Group: Development/C
Requires: lib%name = %version-%release
Conflicts: libwine-vanilla-devel-static

%description -n lib%name-devel-static
lib%name-devel-static contains the static libraries needed to
develop programs which make use of Wine.

%setup -a 1 -a 5
# Apply wine-staging patches
wine-staging-%version/patches/ DESTDIR=$(pwd) --all --backend=patch

# disable rpath using for executable

%__subst "s|^\(LDRPATH_INSTALL =\).*|\1|"

# Apply local patches


# Workaround for
%if_with build64
%remove_optflags -fomit-frame-pointer
%add_optflags -fno-omit-frame-pointer

%configure --with-x \
%if_with build64
--enable-win64 \
--disable-tests \
--without-gstreamer \
--without-oss \
--without-capi \
--without-hal \
--with-xattr \

%__make depend

install -m755 %SOURCE2 %buildroot%_bindir/winetricks
# unpack desktop files
cd %buildroot%_desktopdir/
tar xvf %SOURCE3
mkdir -p %buildroot%_datadir/desktop-directories/
mv *.directory %buildroot%_datadir/desktop-directories/

# unpack icons files

mkdir -p %buildroot%_iconsdir/
cd %buildroot%_iconsdir/
tar xvf %SOURCE4

# Do not pack non english man pages yet

rm -rf %buildroot%_mandir/*.UTF-8

# Do not pack dangerous association for run windows executables

rm -f %buildroot%_desktopdir/wine.desktop

%lang(de) %doc documentation/
%lang(es) %doc documentation/
%lang(fr) %doc documentation/
%lang(hu) %doc documentation/
%lang(it) %doc documentation/
%lang(ko) %doc documentation/README.ko
%lang(nb) %doc documentation/
%lang(pt) %doc documentation/
%lang(pt_BR) %doc documentation/README.pt_br
%lang(tr) %doc documentation/

%if_without build64








# danger



%if_without build64

%files -n lib%name
%dir %_libdir/wine/

%if_without build64


%dir %_datadir/wine/

# move to separate packages

%exclude %_libdir/wine/twain*
%exclude %_libdir/wine/
%exclude %_libdir/wine/
%exclude %_libdir/wine/
%exclude %_libdir/wine/
%exclude %_libdir/wine/
%exclude %_libdir/wine/
%exclude %_libdir/wine/

%files full

%files programs

%files -n lib%name-twain

%files -n lib%name-gl

%files -n lib%name-devel



%if_enabled static
%files -n lib%name-devel-static
%exclude %_libdir/wine/libwinecrt0.a



: Vladimir Lettiev aka crux © 2004-2005, Andrew Avramenko aka liks © 2007-2008
: Michael Shigorin