Mageia Bugzilla – Attachment 12802 Details for
Bug 28814
Wine 32bit install on 64bit system doesn't pull mesa 32bit drivers
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
New Account
|
Forgot Password
wine-6.11 spec file
wine-mga9.spec (text/x-matlab), 24.12 KB, created by
Aurelian R
on 2021-06-20 16:19:51 CEST
(
hide
)
Description:
wine-6.11 spec file
Filename:
MIME Type:
Creator:
Aurelian R
Created:
2021-06-20 16:19:51 CEST
Size:
24.12 KB
patch
obsolete
>%ifarch x86_64 aarch64 >%define wine wine64 >%define mark64 ()(64bit) >%else >%define wine wine >%define mark64 %{nil} >%endif >%define lib_name_orig lib%{name} >%define lib_major 1 >%define lib_name %mklibname %{name} %{lib_major} >%define lib_name_devel %mklibname wine -d > >%define have_mingw 0 ># Mingw can only be used on x86: >%ifarch %{ix86} x86_64 aarch64 %{arm} >%define have_mingw 1 >%endif > ># On 32-bit we have ># wine32 - those 32-bit binaries that are also used on 64-bit for 32-bit support ># wine - all other files (requires 'wine32') ># On 64-bit we have ># wine64 - all 64-bit files (suggests 'wine32') ># - Anssi 07/2010 ># >%define dlopenreq() %(F=%{_libdir}/lib%{1}.so;[ -e $F ] && (file $F|grep -q ASCII && grep -o 'lib[^ ]*' $F|sed -e "s/\$/%{mark64}/"||objdump -p $F | grep SONAME | awk '{ print $2 "%{mark64}" }') || echo "wine-missing-buildrequires-on-%{1}") > >%define mainver 6.11 >%define mainget 6.x >#define bugfix 0 >%define rel 1 >#define prerel rc6 >%define snaprel 1 > ># When altering these, make sure corresponding wine-gecko/wine-mono is ># submitted, or notify their maintainer about the new version: ># Dependencies hardcoded in dlls/appwiz.cpl/addons.c >%define gecko_version 2.47.2 >%define mono_version 6.2.0 > ># build with wine-staging patches, see: https://github.com/wine-staging/wine-staging ># Build with staging during our development cycles, stick to stable for Mageia stable releases >%global wine_staging 0 > >%ifarch %{ix86} >%global winepedir i386-windows >%global winesodir i386-unix >%endif >%ifarch x86_64 >%global winepedir x86_64-windows >%global winesodir x86_64-unix >%endif >%ifarch %{arm} >%global winepedir arm-windows >%global winesodir arm-unix >%endif >%ifarch aarch64 >%global winepedir aarch64-windows >%global winesodir aarch64-unix >%endif > >Name: wine >Epoch: 1 >Version: %{mainver}%{?bugfix:.%{bugfix}} >Release: %{rel}%{?prerel:.%{prerel}.%{snaprel}}.mga9X >Summary: WINE Is Not An Emulator - runs MS Windows programs >License: LGPLv2+ >Group: Emulators >URL: https://www.winehq.org/ >Source0: https://dl.winehq.org/wine/source/%mainget/%{name}-%{version}%{?prerel:-%{prerel}}.tar.xz >Source10: https://dl.winehq.org/wine/source/%mainget/%{name}-%{version}%{?prerel:-%{prerel}}.tar.xz.sign >Source1: wine.init >Source2: wine.systemd >Source3: %{name}-icons_256.tar.xz > >%if 0%{?wine_staging} >Source900: https://github.com/wine-staging/wine-staging/archive/v%{mainver}%{?prerel:-%{prerel}}/wine-staging-%{mainver}%{?prerel:-%{prerel}}.tar.gz >%endif > ># https://bugs.winehq.org/show_bug.cgi?id=45277 >#Patch100: wine-6.10-winex11.drv-Use-XPresentPixmap-instead-of-XCopyArea-.patch > ># (Anssi 05/2008) Adds: ># a: => /media/floppy ># d: => $HOME (at config_dir creation time, not refreshed if $HOME changes; ># note that Wine also provides $HOME in My Documents) ># com4 => /dev/ttyUSB0 (replaces /dev/ttyS3) >Patch108: %{name}-mgaconf.patch >%if 0%{?wine_staging} ># eliminate non working patches by disabling them in wine-staging/patches/patchinstall.sh : ># Pipelight, ntdll_ext4_case_folder, winex11_Vulkan_support >#Source910: disable_nonworking_staging_patches.patch >%endif > >BuildRequires: autoconf >BuildRequires: pkgconfig >BuildRequires: bison >BuildRequires: flex >%ifarch aarch64 >BuildRequires: clang >= 5.0 >%endif >%if %have_mingw >BuildRequires: mingw32-gcc >BuildRequires: mingw64-gcc >%endif >BuildRequires: desktop-file-utils >BuildRequires: docbook-dtd-sgml >BuildRequires: docbook-utils >BuildRequires: ffmpeg-devel >BuildRequires: fontconfig-devel >BuildRequires: fontforge >BuildRequires: freetype2-devel >BuildRequires: gettext-devel >BuildRequires: glibc-static-devel >BuildRequires: cups-devel >BuildRequires: dbus-devel >BuildRequires: gnutls-devel >BuildRequires: gphoto2-devel >BuildRequires: gpm-devel >BuildRequires: gsm-devel >BuildRequires: gstreamer1.0-devel >BuildRequires: gtk3-devel >BuildRequires: icoutils >BuildRequires: imagemagick >#BuildRequires: isdn4k-utils-devel >BuildRequires: lcms2-devel >BuildRequires: libalsa-devel >BuildRequires: libgstreamer1.0-plugins-base-devel >BuildRequires: libmpg123-devel >BuildRequires: libpcap-devel >BuildRequires: librsvg >BuildRequires: libsm-devel >BuildRequires: libv4l-devel >BuildRequires: chrpath >BuildRequires: libva-devel >BuildRequires: libx11-devel >BuildRequires: libxcomposite-devel >BuildRequires: libxcursor-devel >BuildRequires: libxext-devel >BuildRequires: libxi-devel >BuildRequires: libxinerama-devel >BuildRequires: libxrandr-devel >BuildRequires: libxrender-devel >BuildRequires: libxslt-devel >BuildRequires: mesaglu-devel >BuildRequires: ncurses-devel >BuildRequires: openal-devel >BuildRequires: opencl-devel >BuildRequires: openldap-devel >BuildRequires: osmesa-devel >BuildRequires: perl-devel >BuildRequires: pkgconfig(libvkd3d) >BuildRequires: pkgconfig(vulkan) >BuildRequires: png-devel >BuildRequires: pulseaudio-devel >BuildRequires: sane-devel >BuildRequires: sgml-tools >BuildRequires: tiff-devel >BuildRequires: ungif-devel >BuildRequires: unixODBC-devel >BuildRequires: valgrind-devel >BuildRequires: xpm-devel > ># Extra-Options that are not enabled in Mageia but checked by wine configuration >#BuildRequires: ieee1284-devel >BuildRequires: %{_lib}jxr-devel >#BuildRequires: mesagl-devel >BuildRequires: %{_lib}glvnd-devel >#BuildRequires: pkgconfig(egl) >#BuildRequires: pkgconfig(gl) >#BuildRequires: pkgconfig(glesv2) >#BuildRequires: pkgconfig(glx) >#BuildRequires: pkgconfig(opengl) >#BuildRequires: pkgconfig(libglvnd) >BuildRequires: d3d-devel >BuildRequires: jpeg-devel >BuildRequires: samba-devel >BuildRequires: sdl2-devel >BuildRequires: x11-proto-devel >BuildRequires: pkgconfig(FAudio) >BuildRequires: pkgconfig(ice) >BuildRequires: pkgconfig(krb5) >BuildRequires: pkgconfig(libgcrypt) >BuildRequires: pkgconfig(libudev) >BuildRequires: pkgconfig(libusb-1.0) >BuildRequires: pkgconfig(libvkd3d-shader) >BuildRequires: pkgconfig(libxml-2.0) >BuildRequires: pkgconfig(ocl-icd) >BuildRequires: pkgconfig(openssl) >#BuildRequires: pkgconfig(xdamage) >BuildRequires: pkgconfig(xext) >BuildRequires: pkgconfig(xfixes) >BuildRequires: pkgconfig(xpresent) >#BuildRequires: pkgconfig(xxf86dga) >BuildRequires: pkgconfig(xxf86misc) >BuildRequires: pkgconfig(xxf86vm) >BuildRequires: pkgconfig(xtst) ># Wine supports version of ogg >=4, Mageia has only an older incompatible one. ># BuildRequires: pkgconfig(ogg) >%ifarch x86_64 aarch64 >BuildRequires: pkgconfig(libunwind) >%endif > >%define desc 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. > >%ifarch x86_64 aarch64 >%package -n %{name}64 >Summary: WINE Is Not An Emulator - runs MS Windows programs >Group: Emulators >Recommends: %{name}32 = %{epoch}:%{version}-%{release} >Recommends: %{name}64-gecko = %gecko_version >Conflicts: %{name} >%else ># on 32-bit we always want wine32 package >Requires: %{name}32 = %{epoch}:%{version}-%{release} >Conflicts: %{name}64 >%endif > >Provides: %{wine}-utils = %{epoch}:%{version}-%{release} %{wine}-full = %{epoch}:%{version}-%{release} >Provides: %{lib_name}-capi = %{epoch}:%{version}-%{release} %{lib_name}-twain = %{epoch}:%{version}-%{release} >Provides: %{lib_name} = %{epoch}:%{version}-%{release} >Provides: wine-bin = %{epoch}:%{version}-%{release} >Obsoletes: %{wine}-utils %{wine}-full %{lib_name}-capi %{lib_name}-twain >Obsoletes: %{lib_name} <= %{epoch}:%{version}-%{release} > ># (Anssi) If not installed, wine pops up a dialog on first start proposing to ># download pre-built binaries (unlike wine-gecko, same wine-mono works with ># both wine and wine64): >Recommends: wine-mono = %mono_version >Recommends: sane-frontends >%if 0%{?wine_staging} >Recommends: dosbox-staging >%endif > >%ifarch x86_64 aarch64 ># 1. For 32-bit support the installation of wine32 package will pull in ># the 32-bit system libraries needed ># 2. Use "Recommends" to "Requires" as some of them, at run-time, may interfere ># with some wine applications and may have to be removed to mitigate the issues. > ># wine dlopen's these, so let's add the dependencies ourself ># Adding these here is especially important with wine, since wine32 is ># commonly one of the few 32-bit components on a 64-bit installation, so ># these packages might not necessarily be pulled by anything else. ># grep WINE_CHECK_SONAME configure.ac :) (though note that some of those ># results are in autoreq already) - (Anssi 08/2012) >Recommends: %dlopenreq asound >Recommends: %dlopenreq crypto >Recommends: %dlopenreq cups >Recommends: %dlopenreq dbus-1 >Recommends: %dlopenreq fontconfig >Recommends: %dlopenreq freetype >Recommends: %dlopenreq gnutls >Recommends: %dlopenreq gsm >Recommends: %dlopenreq jpeg >Recommends: %dlopenreq ncurses >Recommends: %dlopenreq odbc >Recommends: %dlopenreq OSMesa >Recommends: %dlopenreq png >Recommends: %dlopenreq sane >Recommends: %dlopenreq ssl >Recommends: %dlopenreq tiff >Recommends: %dlopenreq v4l2 >Recommends: %dlopenreq Xcomposite >Recommends: %dlopenreq Xcursor >Recommends: %dlopenreq Xi >Recommends: %dlopenreq Xinerama >Recommends: %dlopenreq Xrandr >Recommends: %dlopenreq Xrender >Recommends: %dlopenreq xslt >Recommends: %dlopenreq Xxf86vm > ># Extra wine options that, if missing, may have a negative effect to ># wine applications that make use of them. >Recommends: %dlopenreq EGL >Recommends: %dlopenreq FAudio >Recommends: %dlopenreq GL >Recommends: %dlopenreq GLU >Recommends: %dlopenreq gcrypt >Recommends: %dlopenreq gphoto2 >Recommends: %dlopenreq gssapi_krb5 >Recommends: %dlopenreq gstreamer-1.0 >Recommends: %dlopenreq gstpbutils-1.0 >Recommends: %dlopenreq ICE >Recommends: %dlopenreq jxrglue >Recommends: %dlopenreq lcms2 >Recommends: %dlopenreq mpg123 >Recommends: %dlopenreq netapi >Recommends: %dlopenreq pcap >Recommends: %dlopenreq pulse >Recommends: %dlopenreq sndfile >Recommends: %dlopenreq SDL2-2.0 >Recommends: %dlopenreq udev >Recommends: %dlopenreq va >Recommends: %dlopenreq vk3d >Recommends: %dlopenreq vk3d-shader >Recommends: %dlopenreq vulkan >Recommends: %dlopenreq xml2 >Recommends: %dlopenreq Xext >Recommends: %dlopenreq Xfixes >Recommends: %dlopenreq Xpresent >Recommends: %dlopenreq Xxf86misc >Recommends: %dlopenreq unwind > >#Extra options >Recommends: %dlopenreq openal >Recommends: %dlopenreq vorbis >Recommends: %dlopenreq attr >Recommends: %dlopenreq com_err >Recommends: %dlopenreq exif >Recommends: %dlopenreq gbm >Recommends: %dlopenreq uuid >#Recommends: %%dlopenreq ieee1284 >#Recommends: %%dlopenreq ogg >#Requires: %%dlopenreq capi20 # ISDN support - unlikely to be needed >%endif > >Requires(post): desktop-file-utils >Requires(postun): desktop-file-utils >Requires(post): desktop-common-data >Requires(postun): desktop-common-data >Requires(preun): rpm-helper >Requires(post): rpm-helper > >%description >%desc > >%ifarch x86_64 aarch64 >%description -n %{name}64 >%desc > >Note: This package contains the Win64 version of Wine. You need the wine32 >package from the 32-bit repository to be able to run 32-bit applications. >%endif > >%ifarch %{ix86} %{arm} >%package -n %{name}32 >Summary: 32-bit support for Wine >Group: Emulators ># This is not an EVR-specific requirement, as otherwise on x86_64 urpmi could ># resolve the dependency to wine64 even on upgrades, and therefore replace ># wine+wine32 installation with a wine32+wine64 installation. - Anssi >Requires: %{name}-bin >Conflicts: %{name} < 1:1.2-0.rc7.1 >Conflicts: %{name}64 < 1:1.2-0.rc7.1 ># (Anssi) If wine-gecko is not installed, wine pops up a dialog on first ># start proposing to download wine-gecko from sourceforge, while recommending ># to use distribution packages instead. Therefore suggest wine-gecko here: >Recommends: %{name}-gecko = %gecko_version > ># Wine instructions points to using "Recommends" instead of "Requires" ># to be able to disable them if needed. >Recommends: %dlopenreq asound >Recommends: %dlopenreq crypto >Recommends: %dlopenreq cups >Recommends: %dlopenreq dbus-1 >Recommends: %dlopenreq fontconfig >Recommends: %dlopenreq freetype >Recommends: %dlopenreq gnutls >Recommends: %dlopenreq gsm >Recommends: %dlopenreq jpeg >Recommends: %dlopenreq ncurses >Recommends: %dlopenreq odbc >Recommends: %dlopenreq OSMesa >Recommends: %dlopenreq png >Recommends: %dlopenreq sane >Recommends: %dlopenreq ssl >Recommends: %dlopenreq tiff >Recommends: %dlopenreq v4l2 >Recommends: %dlopenreq Xcomposite >Recommends: %dlopenreq Xcursor >Recommends: %dlopenreq Xi >Recommends: %dlopenreq Xinerama >Recommends: %dlopenreq Xrandr >Recommends: %dlopenreq Xrender >Recommends: %dlopenreq xslt >Recommends: %dlopenreq Xxf86vm > ># Extra wine options that, if missing, may have a negative effect to ># wine applications that make use of them. >Recommends: %dlopenreq EGL >Recommends: %dlopenreq FAudio >Recommends: %dlopenreq GL >Recommends: %dlopenreq GLU >Recommends: %dlopenreq gcrypt >Recommends: %dlopenreq gphoto2 >Recommends: %dlopenreq gssapi_krb5 >Recommends: %dlopenreq gstreamer-1.0 >Recommends: %dlopenreq gstpbutils-1.0 >Recommends: %dlopenreq ICE >Recommends: %dlopenreq jxrglue >Recommends: %dlopenreq lcms2 >Recommends: %dlopenreq mpg123 >Recommends: %dlopenreq netapi >Recommends: %dlopenreq pcap >Recommends: %dlopenreq pulse >Recommends: %dlopenreq sndfile >Recommends: %dlopenreq SDL2-2.0 >Recommends: %dlopenreq udev >Recommends: %dlopenreq va >Recommends: %dlopenreq vk3d >Recommends: %dlopenreq vk3d-shader >Recommends: %dlopenreq vulkan >Recommends: %dlopenreq xml2 >Recommends: %dlopenreq Xext >Recommends: %dlopenreq Xfixes >Recommends: %dlopenreq Xpresent >Recommends: %dlopenreq Xxf86misc > >#Extra options >Recommends: %dlopenreq openal >Recommends: %dlopenreq vorbis >Recommends: %dlopenreq attr >Recommends: %dlopenreq com_err >Recommends: %dlopenreq exif >Recommends: %dlopenreq gbm >Recommends: %dlopenreq uuid >#Recommends: %%dlopenreq ieee1284 >#Recommends: %%dlopenreq ogg >#Requires: %%dlopenreq capi20 # ISDN support - unlikely to be needed > >%description -n %{name}32 >Wine is a program which allows running Microsoft Windows programs >(including DOS, Windows 3.x and Win32 executables) on Unix. > >This package contains the files needed to support 32-bit Windows >programs. >%endif > >%package -n %{wine}-devel >Summary: Static libraries and headers for %{name} >Group: Development/C >Requires: %{wine} = %{epoch}:%{version} >Provides: %{lib_name_devel} = %{epoch}:%{version}-%{release} >Provides: %{lib_name_orig}-devel = %{epoch}:%{version}-%{release} >Obsoletes: %{lib_name_devel} <= %{epoch}:%{version}-%{release} >Obsoletes: %{mklibname -d wine 1} < %{epoch}:%{version} >%ifarch %{ix86} >Conflicts: %{name}64-devel >%else >Conflicts: %{name}-devel >%endif > >%description -n %{wine}-devel >Wine is a program which allows running Microsoft Windows programs >(including DOS, Windows 3.x and Win32 executables) on Unix. > >%{wine}-devel contains the libraries and header files needed to >develop programs which make use of wine. > >%prep >%autosetup -p1 -n %{name}-%{version}%{?prerel:-%{prerel}} > >%if 0%{?wine_staging} ># setup and apply wine-staging patches >gzip -dc %{SOURCE900} | tar -xf - --strip-components=1 ># eliminate non working patches: >#patch -p0 -s --fuzz=0 --no-backup-if-mismatch -f < %%{SOURCE910} >./patches/patchinstall.sh --all >%endif > >GECKO_VERSION=$(sed -rn 's,^#define\s+GECKO_VERSION\s+"([^"]*)".*$,\1,p' dlls/appwiz.cpl/addons.c) >[ "$GECKO_VERSION" = "%gecko_version" ] || { echo %{name}-gecko version mismatch; exit 1; } >MONO_VERSION=$(sed -rn 's,^#define\s+MONO_VERSION\s+"([^"]*)".*$,\1,p' dlls/appwiz.cpl/addons.c) >[ "$MONO_VERSION" = "%mono_version" ] || { echo wine-mono version mismatch; exit 1; } > >%build >autoreconf -vfi > >%ifarch %ix86 ># (Anssi 04/2008) mdvbug #39604 ># Some protection systems complain "debugger detected" with our ># -fomit-frame-pointer flag, so disable it. ># It also causes some crashing issues, and the upstream workaround ># in configure script does not seem to work properly. -Anssi 12/2012 >export CFLAGS="%{optflags} -fno-omit-frame-pointer" >%endif > ># disable fortify as it breaks wine ># http://bugs.winehq.org/show_bug.cgi?id=24606#c22 ># http://bugs.winehq.org/show_bug.cgi?id=25073 >export CFLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//'` -Wno-error" > >%ifarch aarch64 ># ARM64 now requires clang ># https://source.winehq.org/git/wine.git/commit/8fb8cc03c3edb599dd98f369e14a08f899cbff95 >export CC="/usr/bin/clang" >%endif > >%configure \ > --with-x \ > --with-dbus \ >%if %have_mingw > --with-mingw \ >%endif > --with-pulse \ > --without-hal \ >%ifarch %{arm} > --with-float-abi=hard \ >%endif >%ifarch x86_64 aarch64 > --enable-win64 \ >%endif >%if 0%{?wine_staging} > --with-xattr \ >%endif > --disable-tests > >%make_build depend >%make_build > >%install >%make_install LDCONFIG=/bin/true > ># remove rpath >chrpath --delete %{buildroot}%{_bindir}/wmc >chrpath --delete %{buildroot}%{_bindir}/wrc >chrpath --delete %{buildroot}%{_bindir}/wineserver >chrpath --delete %{buildroot}%{_bindir}/%{wine} > ># Allow users to launch Windows programs by just clicking on the .exe file... >mkdir -p %{buildroot}%{_initrddir} >install -p -c -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/wine >mkdir -p %{buildroot}%{_binfmtdir} >install -p -c -m 644 %{SOURCE2} %{buildroot}%{_binfmtdir}/wine.conf > >mkdir -p %{buildroot}%{_sysconfdir}/xdg/menus/applications-merged >cat > %{buildroot}%{_sysconfdir}/xdg/menus/applications-merged/%{name}.menu <<EOF ><!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" >"http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd"> ><Menu> > <Name>Applications</Name> > <Menu> > <Name>Tools</Name> > <Menu> > <Name>Emulators</Name> > <Menu> > <Name>Wine</Name> > <Directory>%{name}.directory</Directory> > <Include> > <Category>X-Wine</Category> > </Include> > </Menu> > </Menu> > </Menu> ></Menu> >EOF > >mkdir -p %{buildroot}%{_datadir}/desktop-directories >cat > %{buildroot}%{_datadir}/desktop-directories/%{name}.directory <<EOF >[Desktop Entry] >Encoding=UTF-8 >Name=Wine >Icon=%{name} >Type=Directory >EOF > >mkdir -p %{buildroot}%{_datadir}/applications >for i in winecfg:Wine\ Configuration:winecfg \ > notepad:Wine\ Notepad:notepad \ > winefile:Wine\ File\ Manager:winefile \ > regedit:Wine\ Registry\ Editor:regedit \ > winemine:Wine\ Minesweeper:winemine \ > wineboot:Wine\ Reboot:wine \ > "wineconsole cmd":Wine\ Command\ Line:wine \ > "wine uninstaller":Wine\ Software\ Uninstaller:msiexec \ > "wine wordpad":Wine\ Wordpad:wordpad \ > "wine winhlp32":Wine\ WinHelp:winhelp \ > "wine oleview":Wine\ OLE\ View:wine; >do cat > %{buildroot}%{_datadir}/applications/%{name}-`echo $i|cut -d: -f1|sed s/"%{name} "//g`.desktop << EOF >[Desktop Entry] >Name=`echo $i|cut -d: -f2` >Comment=`echo $i|cut -d: -f2` >Exec=`echo $i|cut -d: -f1` >Icon=`echo $i|cut -d: -f3` >Terminal=false >Type=Application >Categories=X-Wine; >EOF >done > ># Use Category=Wine instead of the previous workaround (Category=Emulator) >desktop-file-install --add-mime-type=application/x-zip-compressed \ > --remove-mime-type=application/x-zip-compressed \ > --add-category=X-Wine \ > --dir %{buildroot}%{_datadir}/applications %{buildroot}%{_datadir}/applications/%{name}.desktop > >%ifarch x86_64 aarch64 ># fix the binary name >sed -i 's,Exec=wine ,Exec=wine64 ,' %{buildroot}%{_datadir}/applications/%{name}.desktop >%endif > >mkdir -p %{buildroot}%{_iconsdir}/hicolor/256x256/apps >tar -Jxf %{SOURCE3} -C %{buildroot}%{_iconsdir}/hicolor/256x256/apps/ > >%ifarch x86_64 aarch64 >cat > README.install.urpmi <<EOF >This is the Win64 version of Wine. This version can only be used to run >64-bit Windows applications as is. For running 32-bit Windows applications, >you need to also install the 'wine32' package from the 32-bit repository. >EOF >%endif > >%preun -n %{wine} >%_preun_service %{name} > >%post -n %{wine} >%_post_service %{name} > >%files -n %{wine} >%doc ANNOUNCE AUTHORS README >%config %{_binfmtdir}/wine.conf >%ifarch x86_64 aarch64 >%doc README.install.urpmi >%{_bindir}/%{name}64 >%{_bindir}/%{name}64-preloader >%endif >%{_initrddir}/%{name} >%{_bindir}/winecfg >%{_bindir}/wineconsole* >%{_bindir}/wineserver >%{_bindir}/wineboot >%{_bindir}/function_grep.pl >%if 0%{?wine_staging} >%{_bindir}/msidb >%endif >%{_bindir}/msiexec >%{_bindir}/notepad >%{_bindir}/regedit >%{_bindir}/winemine >%{_bindir}/winepath >%{_bindir}/regsvr32 >%{_bindir}/winefile >%ifnarch x86_64 aarch64 >%{_mandir}/man?/%{name}.?* >%lang(de) %{_mandir}/de.UTF-8/man?/%{name}.?* >%lang(fr) %{_mandir}/fr.UTF-8/man?/%{name}.?* >%lang(pl) %{_mandir}/pl.UTF-8/man?/%{name}.?* >%endif >%lang(de) %{_mandir}/de.UTF-8/man?/wineserver.?* >%lang(fr) %{_mandir}/fr.UTF-8/man?/wineserver.?* >%{_mandir}/man?/wineserver.?* >%{_mandir}/man?/msiexec.?* >%{_mandir}/man?/notepad.?* >%{_mandir}/man?/regedit.?* >%{_mandir}/man?/regsvr32.?* >%{_mandir}/man?/wineboot.?* >%{_mandir}/man?/winecfg.?* >%{_mandir}/man?/wineconsole.?* >%{_mandir}/man?/winefile.?* >%{_mandir}/man?/winemine.?* >%{_mandir}/man?/winepath.?* >%dir %{_datadir}/%{name} >%{_datadir}/%{name}/*.inf >%{_datadir}/%{name}/nls >%{_datadir}/applications/*.desktop >%{_sysconfdir}/xdg/menus/applications-merged/%{name}.menu >%{_datadir}/desktop-directories/%{name}.directory >%dir %{_datadir}/%{name}/fonts >%{_datadir}/%{name}/fonts/* >%{_iconsdir}/hicolor/*/apps/*.png > >%ifnarch x86_64 aarch64 >%files -n %{name}32 >%{_bindir}/wine >%ifarch %{ix86} >%{_bindir}/wine-preloader >%endif >%{_mandir}/man?/%{name}.?* >%lang(de) %{_mandir}/de.UTF-8/man?/%{name}.?* >%lang(fr) %{_mandir}/fr.UTF-8/man?/%{name}.?* >%lang(pl) %{_mandir}/pl.UTF-8/man?/%{name}.?* >%endif > >%dir %{_libdir}/%{name} >%dir %{_libdir}/%{name}/%{winesodir} >%{_libdir}/%{name}/%{winesodir}/libwine*.so.%{lib_major}{,.*} >%{_libdir}/%{name}/%{winesodir}/*.so > ># PE format objects. >%dir %{_libdir}/%{name}/%{winepedir} >%if %have_mingw >%{_libdir}/%{name}/%{winepedir}/*.acm >%{_libdir}/%{name}/%{winepedir}/*.ax >%{_libdir}/%{name}/%{winepedir}/*.cpl >%{_libdir}/%{name}/%{winepedir}/*.dll >%{_libdir}/%{name}/%{winepedir}/*.drv >%{_libdir}/%{name}/%{winepedir}/*.ds >%{_libdir}/%{name}/%{winepedir}/*.exe >%{_libdir}/%{name}/%{winepedir}/*.com >%{_libdir}/%{name}/%{winepedir}/*.ocx >%{_libdir}/%{name}/%{winepedir}/*.sys >%{_libdir}/%{name}/%{winepedir}/*.tlb >%endif >%ifarch %{ix86} >%{_libdir}/%{name}/%{winepedir}/*.dll16 >%{_libdir}/%{name}/%{winepedir}/*.drv16 >%{_libdir}/%{name}/%{winepedir}/*.exe16 >%{_libdir}/%{name}/%{winepedir}/*.mod16 >%{_libdir}/%{name}/%{winepedir}/*.vxd >%endif >%if 0%{?wine_staging} >%{_libdir}/%{name}/%{winepedir}/windows.networking.connectivity >%endif > >%files -n %{wine}-devel >%{_libdir}/%{name}/%{winesodir}/*.a >%{_libdir}/%{name}/%{winesodir}/*.def >%ifarch %{ix86} x86_64 >%{_libdir}/%{name}/%{winepedir}/*.a >%endif > >%{_includedir}/* >%{_bindir}/msidb >%{_bindir}/wmc >%{_bindir}/wrc >%{_bindir}/winebuild >%{_bindir}/winegcc >%{_bindir}/wineg++ >%{_bindir}/winecpp >%{_bindir}/widl >%{_bindir}/winedbg >%{_bindir}/winemaker >%{_bindir}/winedump >%lang(de) %{_mandir}/de.UTF-8/man?/winemaker.?* >%lang(fr) %{_mandir}/fr.UTF-8/man?/winemaker.?* >%{_mandir}/man1/wmc.1* >%{_mandir}/man1/wrc.1* >%{_mandir}/man1/winebuild.1* >%{_mandir}/man1/winemaker.1* >%{_mandir}/man1/winedump.1* >%{_mandir}/man1/widl.1* >%{_mandir}/man1/winedbg.1* >%{_mandir}/man1/wineg++.1* >%{_mandir}/man1/winegcc.1* >%{_mandir}/man1/winecpp.1* > > >%changelog >* Sun Jun 20 2021 aurelianr 1:6.11-1.mga9X >- Enable all wine options available on Mageia. > Keep mageia official options format, add a separate group of > optional configuration settings and do some clean up > of the .spec file. > >* Sat Jun 5 2021 aurelianr 1:6.10-1.mga9X >- new version 6.10 plus new required wine-mono 6.2.0 > >* Sat May 22 2021 aurelianr 1:6.9-1.mga9X >- new version 6.9 > >* Thu May 13 2021 aurelianr 1:6.8-1.mga9X >- new version and fix .spec file for wine file structure > change and vulkan child window patch > >* Mon Apr 26 2021 aurelianr 1:6.7-1.mga9X >- Fix 32bit libraries pull on 64bit systems >- Fix mesa 32bit driver pull for 64bit arch >- Move Xrandr out of wine32 into wine as it breaks > 32bit applications run under wine64 > >* Mon Apr 12 2021 tv <tv> 1:6.6-1.mga9 >+ Revision: 1715169 >- Bump needed mono version >- 6.6 >
%ifarch x86_64 aarch64 %define wine wine64 %define mark64 ()(64bit) %else %define wine wine %define mark64 %{nil} %endif %define lib_name_orig lib%{name} %define lib_major 1 %define lib_name %mklibname %{name} %{lib_major} %define lib_name_devel %mklibname wine -d %define have_mingw 0 # Mingw can only be used on x86: %ifarch %{ix86} x86_64 aarch64 %{arm} %define have_mingw 1 %endif # On 32-bit we have # wine32 - those 32-bit binaries that are also used on 64-bit for 32-bit support # wine - all other files (requires 'wine32') # On 64-bit we have # wine64 - all 64-bit files (suggests 'wine32') # - Anssi 07/2010 # %define dlopenreq() %(F=%{_libdir}/lib%{1}.so;[ -e $F ] && (file $F|grep -q ASCII && grep -o 'lib[^ ]*' $F|sed -e "s/\$/%{mark64}/"||objdump -p $F | grep SONAME | awk '{ print $2 "%{mark64}" }') || echo "wine-missing-buildrequires-on-%{1}") %define mainver 6.11 %define mainget 6.x #define bugfix 0 %define rel 1 #define prerel rc6 %define snaprel 1 # When altering these, make sure corresponding wine-gecko/wine-mono is # submitted, or notify their maintainer about the new version: # Dependencies hardcoded in dlls/appwiz.cpl/addons.c %define gecko_version 2.47.2 %define mono_version 6.2.0 # build with wine-staging patches, see: https://github.com/wine-staging/wine-staging # Build with staging during our development cycles, stick to stable for Mageia stable releases %global wine_staging 0 %ifarch %{ix86} %global winepedir i386-windows %global winesodir i386-unix %endif %ifarch x86_64 %global winepedir x86_64-windows %global winesodir x86_64-unix %endif %ifarch %{arm} %global winepedir arm-windows %global winesodir arm-unix %endif %ifarch aarch64 %global winepedir aarch64-windows %global winesodir aarch64-unix %endif Name: wine Epoch: 1 Version: %{mainver}%{?bugfix:.%{bugfix}} Release: %{rel}%{?prerel:.%{prerel}.%{snaprel}}.mga9X Summary: WINE Is Not An Emulator - runs MS Windows programs License: LGPLv2+ Group: Emulators URL: https://www.winehq.org/ Source0: https://dl.winehq.org/wine/source/%mainget/%{name}-%{version}%{?prerel:-%{prerel}}.tar.xz Source10: https://dl.winehq.org/wine/source/%mainget/%{name}-%{version}%{?prerel:-%{prerel}}.tar.xz.sign Source1: wine.init Source2: wine.systemd Source3: %{name}-icons_256.tar.xz %if 0%{?wine_staging} Source900: https://github.com/wine-staging/wine-staging/archive/v%{mainver}%{?prerel:-%{prerel}}/wine-staging-%{mainver}%{?prerel:-%{prerel}}.tar.gz %endif # https://bugs.winehq.org/show_bug.cgi?id=45277 #Patch100: wine-6.10-winex11.drv-Use-XPresentPixmap-instead-of-XCopyArea-.patch # (Anssi 05/2008) Adds: # a: => /media/floppy # d: => $HOME (at config_dir creation time, not refreshed if $HOME changes; # note that Wine also provides $HOME in My Documents) # com4 => /dev/ttyUSB0 (replaces /dev/ttyS3) Patch108: %{name}-mgaconf.patch %if 0%{?wine_staging} # eliminate non working patches by disabling them in wine-staging/patches/patchinstall.sh : # Pipelight, ntdll_ext4_case_folder, winex11_Vulkan_support #Source910: disable_nonworking_staging_patches.patch %endif BuildRequires: autoconf BuildRequires: pkgconfig BuildRequires: bison BuildRequires: flex %ifarch aarch64 BuildRequires: clang >= 5.0 %endif %if %have_mingw BuildRequires: mingw32-gcc BuildRequires: mingw64-gcc %endif BuildRequires: desktop-file-utils BuildRequires: docbook-dtd-sgml BuildRequires: docbook-utils BuildRequires: ffmpeg-devel BuildRequires: fontconfig-devel BuildRequires: fontforge BuildRequires: freetype2-devel BuildRequires: gettext-devel BuildRequires: glibc-static-devel BuildRequires: cups-devel BuildRequires: dbus-devel BuildRequires: gnutls-devel BuildRequires: gphoto2-devel BuildRequires: gpm-devel BuildRequires: gsm-devel BuildRequires: gstreamer1.0-devel BuildRequires: gtk3-devel BuildRequires: icoutils BuildRequires: imagemagick #BuildRequires: isdn4k-utils-devel BuildRequires: lcms2-devel BuildRequires: libalsa-devel BuildRequires: libgstreamer1.0-plugins-base-devel BuildRequires: libmpg123-devel BuildRequires: libpcap-devel BuildRequires: librsvg BuildRequires: libsm-devel BuildRequires: libv4l-devel BuildRequires: chrpath BuildRequires: libva-devel BuildRequires: libx11-devel BuildRequires: libxcomposite-devel BuildRequires: libxcursor-devel BuildRequires: libxext-devel BuildRequires: libxi-devel BuildRequires: libxinerama-devel BuildRequires: libxrandr-devel BuildRequires: libxrender-devel BuildRequires: libxslt-devel BuildRequires: mesaglu-devel BuildRequires: ncurses-devel BuildRequires: openal-devel BuildRequires: opencl-devel BuildRequires: openldap-devel BuildRequires: osmesa-devel BuildRequires: perl-devel BuildRequires: pkgconfig(libvkd3d) BuildRequires: pkgconfig(vulkan) BuildRequires: png-devel BuildRequires: pulseaudio-devel BuildRequires: sane-devel BuildRequires: sgml-tools BuildRequires: tiff-devel BuildRequires: ungif-devel BuildRequires: unixODBC-devel BuildRequires: valgrind-devel BuildRequires: xpm-devel # Extra-Options that are not enabled in Mageia but checked by wine configuration #BuildRequires: ieee1284-devel BuildRequires: %{_lib}jxr-devel #BuildRequires: mesagl-devel BuildRequires: %{_lib}glvnd-devel #BuildRequires: pkgconfig(egl) #BuildRequires: pkgconfig(gl) #BuildRequires: pkgconfig(glesv2) #BuildRequires: pkgconfig(glx) #BuildRequires: pkgconfig(opengl) #BuildRequires: pkgconfig(libglvnd) BuildRequires: d3d-devel BuildRequires: jpeg-devel BuildRequires: samba-devel BuildRequires: sdl2-devel BuildRequires: x11-proto-devel BuildRequires: pkgconfig(FAudio) BuildRequires: pkgconfig(ice) BuildRequires: pkgconfig(krb5) BuildRequires: pkgconfig(libgcrypt) BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(libusb-1.0) BuildRequires: pkgconfig(libvkd3d-shader) BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(ocl-icd) BuildRequires: pkgconfig(openssl) #BuildRequires: pkgconfig(xdamage) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(xpresent) #BuildRequires: pkgconfig(xxf86dga) BuildRequires: pkgconfig(xxf86misc) BuildRequires: pkgconfig(xxf86vm) BuildRequires: pkgconfig(xtst) # Wine supports version of ogg >=4, Mageia has only an older incompatible one. # BuildRequires: pkgconfig(ogg) %ifarch x86_64 aarch64 BuildRequires: pkgconfig(libunwind) %endif %define desc 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. %ifarch x86_64 aarch64 %package -n %{name}64 Summary: WINE Is Not An Emulator - runs MS Windows programs Group: Emulators Recommends: %{name}32 = %{epoch}:%{version}-%{release} Recommends: %{name}64-gecko = %gecko_version Conflicts: %{name} %else # on 32-bit we always want wine32 package Requires: %{name}32 = %{epoch}:%{version}-%{release} Conflicts: %{name}64 %endif Provides: %{wine}-utils = %{epoch}:%{version}-%{release} %{wine}-full = %{epoch}:%{version}-%{release} Provides: %{lib_name}-capi = %{epoch}:%{version}-%{release} %{lib_name}-twain = %{epoch}:%{version}-%{release} Provides: %{lib_name} = %{epoch}:%{version}-%{release} Provides: wine-bin = %{epoch}:%{version}-%{release} Obsoletes: %{wine}-utils %{wine}-full %{lib_name}-capi %{lib_name}-twain Obsoletes: %{lib_name} <= %{epoch}:%{version}-%{release} # (Anssi) If not installed, wine pops up a dialog on first start proposing to # download pre-built binaries (unlike wine-gecko, same wine-mono works with # both wine and wine64): Recommends: wine-mono = %mono_version Recommends: sane-frontends %if 0%{?wine_staging} Recommends: dosbox-staging %endif %ifarch x86_64 aarch64 # 1. For 32-bit support the installation of wine32 package will pull in # the 32-bit system libraries needed # 2. Use "Recommends" to "Requires" as some of them, at run-time, may interfere # with some wine applications and may have to be removed to mitigate the issues. # wine dlopen's these, so let's add the dependencies ourself # Adding these here is especially important with wine, since wine32 is # commonly one of the few 32-bit components on a 64-bit installation, so # these packages might not necessarily be pulled by anything else. # grep WINE_CHECK_SONAME configure.ac :) (though note that some of those # results are in autoreq already) - (Anssi 08/2012) Recommends: %dlopenreq asound Recommends: %dlopenreq crypto Recommends: %dlopenreq cups Recommends: %dlopenreq dbus-1 Recommends: %dlopenreq fontconfig Recommends: %dlopenreq freetype Recommends: %dlopenreq gnutls Recommends: %dlopenreq gsm Recommends: %dlopenreq jpeg Recommends: %dlopenreq ncurses Recommends: %dlopenreq odbc Recommends: %dlopenreq OSMesa Recommends: %dlopenreq png Recommends: %dlopenreq sane Recommends: %dlopenreq ssl Recommends: %dlopenreq tiff Recommends: %dlopenreq v4l2 Recommends: %dlopenreq Xcomposite Recommends: %dlopenreq Xcursor Recommends: %dlopenreq Xi Recommends: %dlopenreq Xinerama Recommends: %dlopenreq Xrandr Recommends: %dlopenreq Xrender Recommends: %dlopenreq xslt Recommends: %dlopenreq Xxf86vm # Extra wine options that, if missing, may have a negative effect to # wine applications that make use of them. Recommends: %dlopenreq EGL Recommends: %dlopenreq FAudio Recommends: %dlopenreq GL Recommends: %dlopenreq GLU Recommends: %dlopenreq gcrypt Recommends: %dlopenreq gphoto2 Recommends: %dlopenreq gssapi_krb5 Recommends: %dlopenreq gstreamer-1.0 Recommends: %dlopenreq gstpbutils-1.0 Recommends: %dlopenreq ICE Recommends: %dlopenreq jxrglue Recommends: %dlopenreq lcms2 Recommends: %dlopenreq mpg123 Recommends: %dlopenreq netapi Recommends: %dlopenreq pcap Recommends: %dlopenreq pulse Recommends: %dlopenreq sndfile Recommends: %dlopenreq SDL2-2.0 Recommends: %dlopenreq udev Recommends: %dlopenreq va Recommends: %dlopenreq vk3d Recommends: %dlopenreq vk3d-shader Recommends: %dlopenreq vulkan Recommends: %dlopenreq xml2 Recommends: %dlopenreq Xext Recommends: %dlopenreq Xfixes Recommends: %dlopenreq Xpresent Recommends: %dlopenreq Xxf86misc Recommends: %dlopenreq unwind #Extra options Recommends: %dlopenreq openal Recommends: %dlopenreq vorbis Recommends: %dlopenreq attr Recommends: %dlopenreq com_err Recommends: %dlopenreq exif Recommends: %dlopenreq gbm Recommends: %dlopenreq uuid #Recommends: %%dlopenreq ieee1284 #Recommends: %%dlopenreq ogg #Requires: %%dlopenreq capi20 # ISDN support - unlikely to be needed %endif Requires(post): desktop-file-utils Requires(postun): desktop-file-utils Requires(post): desktop-common-data Requires(postun): desktop-common-data Requires(preun): rpm-helper Requires(post): rpm-helper %description %desc %ifarch x86_64 aarch64 %description -n %{name}64 %desc Note: This package contains the Win64 version of Wine. You need the wine32 package from the 32-bit repository to be able to run 32-bit applications. %endif %ifarch %{ix86} %{arm} %package -n %{name}32 Summary: 32-bit support for Wine Group: Emulators # This is not an EVR-specific requirement, as otherwise on x86_64 urpmi could # resolve the dependency to wine64 even on upgrades, and therefore replace # wine+wine32 installation with a wine32+wine64 installation. - Anssi Requires: %{name}-bin Conflicts: %{name} < 1:1.2-0.rc7.1 Conflicts: %{name}64 < 1:1.2-0.rc7.1 # (Anssi) If wine-gecko is not installed, wine pops up a dialog on first # start proposing to download wine-gecko from sourceforge, while recommending # to use distribution packages instead. Therefore suggest wine-gecko here: Recommends: %{name}-gecko = %gecko_version # Wine instructions points to using "Recommends" instead of "Requires" # to be able to disable them if needed. Recommends: %dlopenreq asound Recommends: %dlopenreq crypto Recommends: %dlopenreq cups Recommends: %dlopenreq dbus-1 Recommends: %dlopenreq fontconfig Recommends: %dlopenreq freetype Recommends: %dlopenreq gnutls Recommends: %dlopenreq gsm Recommends: %dlopenreq jpeg Recommends: %dlopenreq ncurses Recommends: %dlopenreq odbc Recommends: %dlopenreq OSMesa Recommends: %dlopenreq png Recommends: %dlopenreq sane Recommends: %dlopenreq ssl Recommends: %dlopenreq tiff Recommends: %dlopenreq v4l2 Recommends: %dlopenreq Xcomposite Recommends: %dlopenreq Xcursor Recommends: %dlopenreq Xi Recommends: %dlopenreq Xinerama Recommends: %dlopenreq Xrandr Recommends: %dlopenreq Xrender Recommends: %dlopenreq xslt Recommends: %dlopenreq Xxf86vm # Extra wine options that, if missing, may have a negative effect to # wine applications that make use of them. Recommends: %dlopenreq EGL Recommends: %dlopenreq FAudio Recommends: %dlopenreq GL Recommends: %dlopenreq GLU Recommends: %dlopenreq gcrypt Recommends: %dlopenreq gphoto2 Recommends: %dlopenreq gssapi_krb5 Recommends: %dlopenreq gstreamer-1.0 Recommends: %dlopenreq gstpbutils-1.0 Recommends: %dlopenreq ICE Recommends: %dlopenreq jxrglue Recommends: %dlopenreq lcms2 Recommends: %dlopenreq mpg123 Recommends: %dlopenreq netapi Recommends: %dlopenreq pcap Recommends: %dlopenreq pulse Recommends: %dlopenreq sndfile Recommends: %dlopenreq SDL2-2.0 Recommends: %dlopenreq udev Recommends: %dlopenreq va Recommends: %dlopenreq vk3d Recommends: %dlopenreq vk3d-shader Recommends: %dlopenreq vulkan Recommends: %dlopenreq xml2 Recommends: %dlopenreq Xext Recommends: %dlopenreq Xfixes Recommends: %dlopenreq Xpresent Recommends: %dlopenreq Xxf86misc #Extra options Recommends: %dlopenreq openal Recommends: %dlopenreq vorbis Recommends: %dlopenreq attr Recommends: %dlopenreq com_err Recommends: %dlopenreq exif Recommends: %dlopenreq gbm Recommends: %dlopenreq uuid #Recommends: %%dlopenreq ieee1284 #Recommends: %%dlopenreq ogg #Requires: %%dlopenreq capi20 # ISDN support - unlikely to be needed %description -n %{name}32 Wine is a program which allows running Microsoft Windows programs (including DOS, Windows 3.x and Win32 executables) on Unix. This package contains the files needed to support 32-bit Windows programs. %endif %package -n %{wine}-devel Summary: Static libraries and headers for %{name} Group: Development/C Requires: %{wine} = %{epoch}:%{version} Provides: %{lib_name_devel} = %{epoch}:%{version}-%{release} Provides: %{lib_name_orig}-devel = %{epoch}:%{version}-%{release} Obsoletes: %{lib_name_devel} <= %{epoch}:%{version}-%{release} Obsoletes: %{mklibname -d wine 1} < %{epoch}:%{version} %ifarch %{ix86} Conflicts: %{name}64-devel %else Conflicts: %{name}-devel %endif %description -n %{wine}-devel Wine is a program which allows running Microsoft Windows programs (including DOS, Windows 3.x and Win32 executables) on Unix. %{wine}-devel contains the libraries and header files needed to develop programs which make use of wine. %prep %autosetup -p1 -n %{name}-%{version}%{?prerel:-%{prerel}} %if 0%{?wine_staging} # setup and apply wine-staging patches gzip -dc %{SOURCE900} | tar -xf - --strip-components=1 # eliminate non working patches: #patch -p0 -s --fuzz=0 --no-backup-if-mismatch -f < %%{SOURCE910} ./patches/patchinstall.sh --all %endif GECKO_VERSION=$(sed -rn 's,^#define\s+GECKO_VERSION\s+"([^"]*)".*$,\1,p' dlls/appwiz.cpl/addons.c) [ "$GECKO_VERSION" = "%gecko_version" ] || { echo %{name}-gecko version mismatch; exit 1; } MONO_VERSION=$(sed -rn 's,^#define\s+MONO_VERSION\s+"([^"]*)".*$,\1,p' dlls/appwiz.cpl/addons.c) [ "$MONO_VERSION" = "%mono_version" ] || { echo wine-mono version mismatch; exit 1; } %build autoreconf -vfi %ifarch %ix86 # (Anssi 04/2008) mdvbug #39604 # Some protection systems complain "debugger detected" with our # -fomit-frame-pointer flag, so disable it. # It also causes some crashing issues, and the upstream workaround # in configure script does not seem to work properly. -Anssi 12/2012 export CFLAGS="%{optflags} -fno-omit-frame-pointer" %endif # disable fortify as it breaks wine # http://bugs.winehq.org/show_bug.cgi?id=24606#c22 # http://bugs.winehq.org/show_bug.cgi?id=25073 export CFLAGS="`echo $RPM_OPT_FLAGS | sed -e 's/-Wp,-D_FORTIFY_SOURCE=2//'` -Wno-error" %ifarch aarch64 # ARM64 now requires clang # https://source.winehq.org/git/wine.git/commit/8fb8cc03c3edb599dd98f369e14a08f899cbff95 export CC="/usr/bin/clang" %endif %configure \ --with-x \ --with-dbus \ %if %have_mingw --with-mingw \ %endif --with-pulse \ --without-hal \ %ifarch %{arm} --with-float-abi=hard \ %endif %ifarch x86_64 aarch64 --enable-win64 \ %endif %if 0%{?wine_staging} --with-xattr \ %endif --disable-tests %make_build depend %make_build %install %make_install LDCONFIG=/bin/true # remove rpath chrpath --delete %{buildroot}%{_bindir}/wmc chrpath --delete %{buildroot}%{_bindir}/wrc chrpath --delete %{buildroot}%{_bindir}/wineserver chrpath --delete %{buildroot}%{_bindir}/%{wine} # Allow users to launch Windows programs by just clicking on the .exe file... mkdir -p %{buildroot}%{_initrddir} install -p -c -m 755 %{SOURCE1} %{buildroot}%{_initrddir}/wine mkdir -p %{buildroot}%{_binfmtdir} install -p -c -m 644 %{SOURCE2} %{buildroot}%{_binfmtdir}/wine.conf mkdir -p %{buildroot}%{_sysconfdir}/xdg/menus/applications-merged cat > %{buildroot}%{_sysconfdir}/xdg/menus/applications-merged/%{name}.menu <<EOF <!DOCTYPE Menu PUBLIC "-//freedesktop//DTD Menu 1.0//EN" "http://www.freedesktop.org/standards/menu-spec/menu-1.0.dtd"> <Menu> <Name>Applications</Name> <Menu> <Name>Tools</Name> <Menu> <Name>Emulators</Name> <Menu> <Name>Wine</Name> <Directory>%{name}.directory</Directory> <Include> <Category>X-Wine</Category> </Include> </Menu> </Menu> </Menu> </Menu> EOF mkdir -p %{buildroot}%{_datadir}/desktop-directories cat > %{buildroot}%{_datadir}/desktop-directories/%{name}.directory <<EOF [Desktop Entry] Encoding=UTF-8 Name=Wine Icon=%{name} Type=Directory EOF mkdir -p %{buildroot}%{_datadir}/applications for i in winecfg:Wine\ Configuration:winecfg \ notepad:Wine\ Notepad:notepad \ winefile:Wine\ File\ Manager:winefile \ regedit:Wine\ Registry\ Editor:regedit \ winemine:Wine\ Minesweeper:winemine \ wineboot:Wine\ Reboot:wine \ "wineconsole cmd":Wine\ Command\ Line:wine \ "wine uninstaller":Wine\ Software\ Uninstaller:msiexec \ "wine wordpad":Wine\ Wordpad:wordpad \ "wine winhlp32":Wine\ WinHelp:winhelp \ "wine oleview":Wine\ OLE\ View:wine; do cat > %{buildroot}%{_datadir}/applications/%{name}-`echo $i|cut -d: -f1|sed s/"%{name} "//g`.desktop << EOF [Desktop Entry] Name=`echo $i|cut -d: -f2` Comment=`echo $i|cut -d: -f2` Exec=`echo $i|cut -d: -f1` Icon=`echo $i|cut -d: -f3` Terminal=false Type=Application Categories=X-Wine; EOF done # Use Category=Wine instead of the previous workaround (Category=Emulator) desktop-file-install --add-mime-type=application/x-zip-compressed \ --remove-mime-type=application/x-zip-compressed \ --add-category=X-Wine \ --dir %{buildroot}%{_datadir}/applications %{buildroot}%{_datadir}/applications/%{name}.desktop %ifarch x86_64 aarch64 # fix the binary name sed -i 's,Exec=wine ,Exec=wine64 ,' %{buildroot}%{_datadir}/applications/%{name}.desktop %endif mkdir -p %{buildroot}%{_iconsdir}/hicolor/256x256/apps tar -Jxf %{SOURCE3} -C %{buildroot}%{_iconsdir}/hicolor/256x256/apps/ %ifarch x86_64 aarch64 cat > README.install.urpmi <<EOF This is the Win64 version of Wine. This version can only be used to run 64-bit Windows applications as is. For running 32-bit Windows applications, you need to also install the 'wine32' package from the 32-bit repository. EOF %endif %preun -n %{wine} %_preun_service %{name} %post -n %{wine} %_post_service %{name} %files -n %{wine} %doc ANNOUNCE AUTHORS README %config %{_binfmtdir}/wine.conf %ifarch x86_64 aarch64 %doc README.install.urpmi %{_bindir}/%{name}64 %{_bindir}/%{name}64-preloader %endif %{_initrddir}/%{name} %{_bindir}/winecfg %{_bindir}/wineconsole* %{_bindir}/wineserver %{_bindir}/wineboot %{_bindir}/function_grep.pl %if 0%{?wine_staging} %{_bindir}/msidb %endif %{_bindir}/msiexec %{_bindir}/notepad %{_bindir}/regedit %{_bindir}/winemine %{_bindir}/winepath %{_bindir}/regsvr32 %{_bindir}/winefile %ifnarch x86_64 aarch64 %{_mandir}/man?/%{name}.?* %lang(de) %{_mandir}/de.UTF-8/man?/%{name}.?* %lang(fr) %{_mandir}/fr.UTF-8/man?/%{name}.?* %lang(pl) %{_mandir}/pl.UTF-8/man?/%{name}.?* %endif %lang(de) %{_mandir}/de.UTF-8/man?/wineserver.?* %lang(fr) %{_mandir}/fr.UTF-8/man?/wineserver.?* %{_mandir}/man?/wineserver.?* %{_mandir}/man?/msiexec.?* %{_mandir}/man?/notepad.?* %{_mandir}/man?/regedit.?* %{_mandir}/man?/regsvr32.?* %{_mandir}/man?/wineboot.?* %{_mandir}/man?/winecfg.?* %{_mandir}/man?/wineconsole.?* %{_mandir}/man?/winefile.?* %{_mandir}/man?/winemine.?* %{_mandir}/man?/winepath.?* %dir %{_datadir}/%{name} %{_datadir}/%{name}/*.inf %{_datadir}/%{name}/nls %{_datadir}/applications/*.desktop %{_sysconfdir}/xdg/menus/applications-merged/%{name}.menu %{_datadir}/desktop-directories/%{name}.directory %dir %{_datadir}/%{name}/fonts %{_datadir}/%{name}/fonts/* %{_iconsdir}/hicolor/*/apps/*.png %ifnarch x86_64 aarch64 %files -n %{name}32 %{_bindir}/wine %ifarch %{ix86} %{_bindir}/wine-preloader %endif %{_mandir}/man?/%{name}.?* %lang(de) %{_mandir}/de.UTF-8/man?/%{name}.?* %lang(fr) %{_mandir}/fr.UTF-8/man?/%{name}.?* %lang(pl) %{_mandir}/pl.UTF-8/man?/%{name}.?* %endif %dir %{_libdir}/%{name} %dir %{_libdir}/%{name}/%{winesodir} %{_libdir}/%{name}/%{winesodir}/libwine*.so.%{lib_major}{,.*} %{_libdir}/%{name}/%{winesodir}/*.so # PE format objects. %dir %{_libdir}/%{name}/%{winepedir} %if %have_mingw %{_libdir}/%{name}/%{winepedir}/*.acm %{_libdir}/%{name}/%{winepedir}/*.ax %{_libdir}/%{name}/%{winepedir}/*.cpl %{_libdir}/%{name}/%{winepedir}/*.dll %{_libdir}/%{name}/%{winepedir}/*.drv %{_libdir}/%{name}/%{winepedir}/*.ds %{_libdir}/%{name}/%{winepedir}/*.exe %{_libdir}/%{name}/%{winepedir}/*.com %{_libdir}/%{name}/%{winepedir}/*.ocx %{_libdir}/%{name}/%{winepedir}/*.sys %{_libdir}/%{name}/%{winepedir}/*.tlb %endif %ifarch %{ix86} %{_libdir}/%{name}/%{winepedir}/*.dll16 %{_libdir}/%{name}/%{winepedir}/*.drv16 %{_libdir}/%{name}/%{winepedir}/*.exe16 %{_libdir}/%{name}/%{winepedir}/*.mod16 %{_libdir}/%{name}/%{winepedir}/*.vxd %endif %if 0%{?wine_staging} %{_libdir}/%{name}/%{winepedir}/windows.networking.connectivity %endif %files -n %{wine}-devel %{_libdir}/%{name}/%{winesodir}/*.a %{_libdir}/%{name}/%{winesodir}/*.def %ifarch %{ix86} x86_64 %{_libdir}/%{name}/%{winepedir}/*.a %endif %{_includedir}/* %{_bindir}/msidb %{_bindir}/wmc %{_bindir}/wrc %{_bindir}/winebuild %{_bindir}/winegcc %{_bindir}/wineg++ %{_bindir}/winecpp %{_bindir}/widl %{_bindir}/winedbg %{_bindir}/winemaker %{_bindir}/winedump %lang(de) %{_mandir}/de.UTF-8/man?/winemaker.?* %lang(fr) %{_mandir}/fr.UTF-8/man?/winemaker.?* %{_mandir}/man1/wmc.1* %{_mandir}/man1/wrc.1* %{_mandir}/man1/winebuild.1* %{_mandir}/man1/winemaker.1* %{_mandir}/man1/winedump.1* %{_mandir}/man1/widl.1* %{_mandir}/man1/winedbg.1* %{_mandir}/man1/wineg++.1* %{_mandir}/man1/winegcc.1* %{_mandir}/man1/winecpp.1* %changelog * Sun Jun 20 2021 aurelianr 1:6.11-1.mga9X - Enable all wine options available on Mageia. Keep mageia official options format, add a separate group of optional configuration settings and do some clean up of the .spec file. * Sat Jun 5 2021 aurelianr 1:6.10-1.mga9X - new version 6.10 plus new required wine-mono 6.2.0 * Sat May 22 2021 aurelianr 1:6.9-1.mga9X - new version 6.9 * Thu May 13 2021 aurelianr 1:6.8-1.mga9X - new version and fix .spec file for wine file structure change and vulkan child window patch * Mon Apr 26 2021 aurelianr 1:6.7-1.mga9X - Fix 32bit libraries pull on 64bit systems - Fix mesa 32bit driver pull for 64bit arch - Move Xrandr out of wine32 into wine as it breaks 32bit applications run under wine64 * Mon Apr 12 2021 tv <tv> 1:6.6-1.mga9 + Revision: 1715169 - Bump needed mono version - 6.6
View Attachment As Raw
Actions:
View
Attachments on
bug 28814
:
12655
|
12675
|
12676
|
12677
|
12678
|
12711
|
12752
|
12802
|
12851
|
12902
|
13109
|
13345
|
13347
|
13348
|
13511
|
13521
|
13524
|
13542
|
13547
|
13564
|
13565