Mageia Bugzilla – Attachment 12851 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
Spec for wine-6.12 with enabled support for wine-staging-6.12.1
wine.spec (text/x-matlab), 26.22 KB, created by
Aurelian R
on 2021-07-08 22:01:50 CEST
(
hide
)
Description:
Spec for wine-6.12 with enabled support for wine-staging-6.12.1
Filename:
MIME Type:
Creator:
Aurelian R
Created:
2021-07-08 22:01:50 CEST
Size:
26.22 KB
patch
obsolete
>%ifarch x86_64 aarch64 >%define wine wine64 >%define mark64 ()(64bit) >%else >%define wine wine >%define mark64 %{nil} >%endif >%define winehq wine >%define lib_name_orig lib%{winehq} >%define lib_major 1 >%define lib_name %mklibname %{winehq} %{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.12 >%define mainget 6.x >%define rel 1 >%define stagingver 6.12.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 >%define with_staging 0 >%if %{with_staging}==1 >%global staging staging >%global wine_staging 1 >%endif > >%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%{?staging:-}%{?staging} >Epoch: 1 >Version: %{mainver} >Release: %{rel}.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/%{winehq}-%{version}.tar.xz >Source10: https://dl.winehq.org/wine/source/%mainget/%{winehq}-%{version}.tar.xz.sign >Source1: wine.init >Source2: wine.systemd >Source3: %{winehq}-icons_256.tar.xz > >%if 0%{?wine_staging} >Source900: https://github.com/wine-staging/wine-staging/archive/v%{mainver}/wine-staging-%{stagingver}.tar.gz >%endif > ># https://bugs.winehq.org/show_bug.cgi?id=45277 ># Source URL: https://bugs.winehq.org/attachment.cgi?id=70100 ># If Patch100 is used with wine-staging then the "Pipelight" and "winex11-Vulkan_support" ># staging patches have to be disabled. >%global use_patch100 0 >%if %{use_patch100}==1 >Patch100: wine-6.10-winex11.drv-Use-XPresentPixmap-instead-of-XCopyArea-.patch >%endif > ># (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) ># Applying this patch for wine-staging build, the "ntdll_ext4_case_folder" staging patch has ># to be disabled as is, a workaround is in-lined at the %%prep stage to avoid disabling this patch. >Patch108: wine-mgaconf.patch > >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 >%if %distro_release<9 >BuildRequires: %{_lib}faudio-devel >%else >BuildRequires: pkgconfig(FAudio) >%endif >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 %{winehq}64%{?staging:-}%{?staging} >Summary: WINE Is Not An Emulator - runs MS Windows programs >Group: Emulators >Recommends: %{winehq}64-gecko = %gecko_version >Recommends: %{winehq}32%{?staging:-}%{?staging} = %{epoch}:%{version}-%{release} >Conflicts: %{winehq}%{?staging:-}%{?staging} >Conflicts: %{winehq} >%if 0%{?wine_staging} >Conflicts: %{winehq}64 >%else >Conflicts: %{winehq}64-staging >%endif >%else ># on 32-bit we always want wine32 package >Requires: %{winehq}32%{?staging:-}%{?staging} = %{epoch}:%{version}-%{release} >Conflicts: %{winehq}64%{?staging:-}%{?staging} >Conflicts: %{winehq}64 >%if 0%{?wine_staging} >Conflicts: %{winehq} >%else >Conflicts: %{winehq}-staging >%endif >%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 >Recommends: tcp_wrappers > >%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 %{winehq}64%{?staging:-}%{?staging} >%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 %{winehq}32%{?staging:-}%{?staging} >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: %{winehq}-bin >Conflicts: %{winehq} < 1:1.2-0.rc7.1 >Conflicts: %{winehq}64 < 1:1.2-0.rc7.1 >%if 0%{?wine_staging} >Conflicts: %{winehq}32 >%else >Conflicts: %{winehq}32-staging >%endif ># (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: %{winehq}-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 %{winehq}32%{?staging:-}%{?staging} >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}%{?staging:-}%{?staging}-devel >Summary: Static libraries and headers for %{wine}%{?staging:-}%{?staging} >Group: Development/C >Requires: %{wine}%{?staging:-}%{?staging} = %{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: %{winehq}64%{?staging:-}%{?staging}-devel >Conflicts: %{winehq}64-devel >%else >Conflicts: %{winehq}%{?staging:-}%{?staging}-devel >Conflicts: %{winehq}-devel >%endif > >%if 0%{?wine_staging} >Conflicts: %{wine}-devel >%else >Conflicts: %{wine}-staging-devel >%endif > >%description -n %{wine}%{?staging:-}%{?staging}-devel >Wine is a program which allows running Microsoft Windows programs >(including DOS, Windows 3.x and Win32 executables) on Unix. > >%{wine}%{?staging:-}%{?staging}-devel contains the libraries and header files >needed to develop programs which make use of wine. > >%prep ># Split setup to deal with wine-mgaconf.patch for wine-staging build >%setup -q -n %{winehq}-%{version} > >%if 0%{?wine_staging} ># setup and apply wine-staging patches >gzip -dc %{SOURCE900} | tar -xf - --strip-components=1 >%if %{use_patch100}==1 ># eliminate non working wine-staging patches >./patches/patchinstall.sh --all -W Pipelight -W winex11-Vulkan_support >%else >./patches/patchinstall.sh --all >%endif ># Fix wine-mgaconf.patch such that the ntdll-ext4-case-folder staging patch works, ># otherwise it needs to be eliminated by appending "-W ntdll-ext4-case-folder" to above lines. ># Ugly fix as it needs a proper patch file for staging only but it works with current Wine's source rpm. >cp %PATCH108 ./tmp.patch >sed -i 's/1183/1241/g' ./tmp.patch >sed -i 's/mkdir( "drive_c", 0777 );/set_case_insensitive( "drive_c" );/g' ./tmp.patch >patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f < ./tmp.patch >rm -f ./tmp.patch ># >%else ># >%if %{use_patch100}==1 >%patch100 -p1 >%endif >%patch108 -p1 ># >%endif > >GECKO_VERSION=$(sed -rn 's,^#define\s+GECKO_VERSION\s+"([^"]*)".*$,\1,p' dlls/appwiz.cpl/addons.c) >[ "$GECKO_VERSION" = "%gecko_version" ] || { echo wine-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 >%{?wine_staging: --with-xattr} \ > --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/%{winehq}.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>%{winehq}.directory</Directory> > <Include> > <Category>X-Wine</Category> > </Include> > </Menu> > </Menu> > </Menu> ></Menu> >EOF > >mkdir -p %{buildroot}%{_datadir}/desktop-directories >cat > %{buildroot}%{_datadir}/desktop-directories/%{winehq}.directory <<EOF >[Desktop Entry] >Encoding=UTF-8 >Name=Wine >Icon=%{winehq} >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/%{winehq}-`echo $i|cut -d: -f1|sed s/"%{winehq} "//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/%{winehq}.desktop > >%ifarch x86_64 aarch64 ># fix the binary name >sed -i 's,Exec=wine ,Exec=wine64 ,' %{buildroot}%{_datadir}/applications/%{winehq}.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}%{?staging:-}%{?staging} >%_preun_service %{winehq} > >%post -n %{wine}%{?staging:-}%{?staging} >%_post_service %{winehq} > >%files -n %{wine}%{?staging:-}%{?staging} >%doc ANNOUNCE AUTHORS README >%config %{_binfmtdir}/wine.conf >%ifarch x86_64 aarch64 >%doc README.install.urpmi >%{_bindir}/%{winehq}64 >%{_bindir}/%{winehq}64-preloader >%endif >%{_initrddir}/%{winehq} >%{_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?/%{winehq}.?* >%lang(de) %{_mandir}/de.UTF-8/man?/%{winehq}.?* >%lang(fr) %{_mandir}/fr.UTF-8/man?/%{winehq}.?* >%lang(pl) %{_mandir}/pl.UTF-8/man?/%{winehq}.?* >%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}/%{winehq} >%{_datadir}/%{winehq}/*.inf >%{_datadir}/%{winehq}/nls >%{_datadir}/applications/*.desktop >%{_sysconfdir}/xdg/menus/applications-merged/%{winehq}.menu >%{_datadir}/desktop-directories/%{winehq}.directory >%dir %{_datadir}/%{winehq}/fonts >%{_datadir}/%{winehq}/fonts/* >%{_iconsdir}/hicolor/*/apps/*.png > >%ifnarch x86_64 aarch64 >%files -n %{winehq}32%{?staging:-}%{?staging} >%{_bindir}/wine >%ifarch %{ix86} >%{_bindir}/wine-preloader >%endif >%{_mandir}/man?/%{winehq}.?* >%lang(de) %{_mandir}/de.UTF-8/man?/%{winehq}.?* >%lang(fr) %{_mandir}/fr.UTF-8/man?/%{winehq}.?* >%lang(pl) %{_mandir}/pl.UTF-8/man?/%{winehq}.?* >%endif > >%dir %{_libdir}/%{winehq} >%dir %{_libdir}/%{winehq}/%{winesodir} >%{_libdir}/%{winehq}/%{winesodir}/libwine*.so.%{lib_major}{,.*} >%{_libdir}/%{winehq}/%{winesodir}/*.so > ># PE format objects. >%dir %{_libdir}/%{winehq}/%{winepedir} >%if %have_mingw >%{_libdir}/%{winehq}/%{winepedir}/*.acm >%{_libdir}/%{winehq}/%{winepedir}/*.ax >%{_libdir}/%{winehq}/%{winepedir}/*.cpl >%{_libdir}/%{winehq}/%{winepedir}/*.dll >%{_libdir}/%{winehq}/%{winepedir}/*.drv >%{_libdir}/%{winehq}/%{winepedir}/*.ds >%{_libdir}/%{winehq}/%{winepedir}/*.exe >%{_libdir}/%{winehq}/%{winepedir}/*.com >%{_libdir}/%{winehq}/%{winepedir}/*.ocx >%{_libdir}/%{winehq}/%{winepedir}/*.sys >%{_libdir}/%{winehq}/%{winepedir}/*.tlb >%{_libdir}/%{winehq}/%{winepedir}/*.msstyles >%endif >%ifarch %{ix86} >%{_libdir}/%{winehq}/%{winepedir}/*.dll16 >%{_libdir}/%{winehq}/%{winepedir}/*.drv16 >%{_libdir}/%{winehq}/%{winepedir}/*.exe16 >%{_libdir}/%{winehq}/%{winepedir}/*.mod16 >%{_libdir}/%{winehq}/%{winepedir}/*.vxd >%endif >%if 0%{?wine_staging} >%{_libdir}/%{winehq}/%{winepedir}/windows.networking.connectivity >%endif > >%files -n %{wine}%{?staging:-}%{?staging}-devel >%{_libdir}/%{winehq}/%{winesodir}/*.a >%{_libdir}/%{winehq}/%{winesodir}/*.def >%ifarch %{ix86} x86_64 >%{_libdir}/%{winehq}/%{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 >* Mon Jul 5 2021 aurelianr 1:6.12-1.mga9X >- Update to version 6.12. >- Fix spec file for wine-staging build > >* 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 winehq wine %define lib_name_orig lib%{winehq} %define lib_major 1 %define lib_name %mklibname %{winehq} %{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.12 %define mainget 6.x %define rel 1 %define stagingver 6.12.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 %define with_staging 0 %if %{with_staging}==1 %global staging staging %global wine_staging 1 %endif %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%{?staging:-}%{?staging} Epoch: 1 Version: %{mainver} Release: %{rel}.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/%{winehq}-%{version}.tar.xz Source10: https://dl.winehq.org/wine/source/%mainget/%{winehq}-%{version}.tar.xz.sign Source1: wine.init Source2: wine.systemd Source3: %{winehq}-icons_256.tar.xz %if 0%{?wine_staging} Source900: https://github.com/wine-staging/wine-staging/archive/v%{mainver}/wine-staging-%{stagingver}.tar.gz %endif # https://bugs.winehq.org/show_bug.cgi?id=45277 # Source URL: https://bugs.winehq.org/attachment.cgi?id=70100 # If Patch100 is used with wine-staging then the "Pipelight" and "winex11-Vulkan_support" # staging patches have to be disabled. %global use_patch100 0 %if %{use_patch100}==1 Patch100: wine-6.10-winex11.drv-Use-XPresentPixmap-instead-of-XCopyArea-.patch %endif # (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) # Applying this patch for wine-staging build, the "ntdll_ext4_case_folder" staging patch has # to be disabled as is, a workaround is in-lined at the %%prep stage to avoid disabling this patch. Patch108: wine-mgaconf.patch 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 %if %distro_release<9 BuildRequires: %{_lib}faudio-devel %else BuildRequires: pkgconfig(FAudio) %endif 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 %{winehq}64%{?staging:-}%{?staging} Summary: WINE Is Not An Emulator - runs MS Windows programs Group: Emulators Recommends: %{winehq}64-gecko = %gecko_version Recommends: %{winehq}32%{?staging:-}%{?staging} = %{epoch}:%{version}-%{release} Conflicts: %{winehq}%{?staging:-}%{?staging} Conflicts: %{winehq} %if 0%{?wine_staging} Conflicts: %{winehq}64 %else Conflicts: %{winehq}64-staging %endif %else # on 32-bit we always want wine32 package Requires: %{winehq}32%{?staging:-}%{?staging} = %{epoch}:%{version}-%{release} Conflicts: %{winehq}64%{?staging:-}%{?staging} Conflicts: %{winehq}64 %if 0%{?wine_staging} Conflicts: %{winehq} %else Conflicts: %{winehq}-staging %endif %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 Recommends: tcp_wrappers %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 %{winehq}64%{?staging:-}%{?staging} %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 %{winehq}32%{?staging:-}%{?staging} 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: %{winehq}-bin Conflicts: %{winehq} < 1:1.2-0.rc7.1 Conflicts: %{winehq}64 < 1:1.2-0.rc7.1 %if 0%{?wine_staging} Conflicts: %{winehq}32 %else Conflicts: %{winehq}32-staging %endif # (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: %{winehq}-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 %{winehq}32%{?staging:-}%{?staging} 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}%{?staging:-}%{?staging}-devel Summary: Static libraries and headers for %{wine}%{?staging:-}%{?staging} Group: Development/C Requires: %{wine}%{?staging:-}%{?staging} = %{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: %{winehq}64%{?staging:-}%{?staging}-devel Conflicts: %{winehq}64-devel %else Conflicts: %{winehq}%{?staging:-}%{?staging}-devel Conflicts: %{winehq}-devel %endif %if 0%{?wine_staging} Conflicts: %{wine}-devel %else Conflicts: %{wine}-staging-devel %endif %description -n %{wine}%{?staging:-}%{?staging}-devel Wine is a program which allows running Microsoft Windows programs (including DOS, Windows 3.x and Win32 executables) on Unix. %{wine}%{?staging:-}%{?staging}-devel contains the libraries and header files needed to develop programs which make use of wine. %prep # Split setup to deal with wine-mgaconf.patch for wine-staging build %setup -q -n %{winehq}-%{version} %if 0%{?wine_staging} # setup and apply wine-staging patches gzip -dc %{SOURCE900} | tar -xf - --strip-components=1 %if %{use_patch100}==1 # eliminate non working wine-staging patches ./patches/patchinstall.sh --all -W Pipelight -W winex11-Vulkan_support %else ./patches/patchinstall.sh --all %endif # Fix wine-mgaconf.patch such that the ntdll-ext4-case-folder staging patch works, # otherwise it needs to be eliminated by appending "-W ntdll-ext4-case-folder" to above lines. # Ugly fix as it needs a proper patch file for staging only but it works with current Wine's source rpm. cp %PATCH108 ./tmp.patch sed -i 's/1183/1241/g' ./tmp.patch sed -i 's/mkdir( "drive_c", 0777 );/set_case_insensitive( "drive_c" );/g' ./tmp.patch patch -p1 -s --fuzz=0 --no-backup-if-mismatch -f < ./tmp.patch rm -f ./tmp.patch # %else # %if %{use_patch100}==1 %patch100 -p1 %endif %patch108 -p1 # %endif GECKO_VERSION=$(sed -rn 's,^#define\s+GECKO_VERSION\s+"([^"]*)".*$,\1,p' dlls/appwiz.cpl/addons.c) [ "$GECKO_VERSION" = "%gecko_version" ] || { echo wine-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 %{?wine_staging: --with-xattr} \ --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/%{winehq}.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>%{winehq}.directory</Directory> <Include> <Category>X-Wine</Category> </Include> </Menu> </Menu> </Menu> </Menu> EOF mkdir -p %{buildroot}%{_datadir}/desktop-directories cat > %{buildroot}%{_datadir}/desktop-directories/%{winehq}.directory <<EOF [Desktop Entry] Encoding=UTF-8 Name=Wine Icon=%{winehq} 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/%{winehq}-`echo $i|cut -d: -f1|sed s/"%{winehq} "//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/%{winehq}.desktop %ifarch x86_64 aarch64 # fix the binary name sed -i 's,Exec=wine ,Exec=wine64 ,' %{buildroot}%{_datadir}/applications/%{winehq}.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}%{?staging:-}%{?staging} %_preun_service %{winehq} %post -n %{wine}%{?staging:-}%{?staging} %_post_service %{winehq} %files -n %{wine}%{?staging:-}%{?staging} %doc ANNOUNCE AUTHORS README %config %{_binfmtdir}/wine.conf %ifarch x86_64 aarch64 %doc README.install.urpmi %{_bindir}/%{winehq}64 %{_bindir}/%{winehq}64-preloader %endif %{_initrddir}/%{winehq} %{_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?/%{winehq}.?* %lang(de) %{_mandir}/de.UTF-8/man?/%{winehq}.?* %lang(fr) %{_mandir}/fr.UTF-8/man?/%{winehq}.?* %lang(pl) %{_mandir}/pl.UTF-8/man?/%{winehq}.?* %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}/%{winehq} %{_datadir}/%{winehq}/*.inf %{_datadir}/%{winehq}/nls %{_datadir}/applications/*.desktop %{_sysconfdir}/xdg/menus/applications-merged/%{winehq}.menu %{_datadir}/desktop-directories/%{winehq}.directory %dir %{_datadir}/%{winehq}/fonts %{_datadir}/%{winehq}/fonts/* %{_iconsdir}/hicolor/*/apps/*.png %ifnarch x86_64 aarch64 %files -n %{winehq}32%{?staging:-}%{?staging} %{_bindir}/wine %ifarch %{ix86} %{_bindir}/wine-preloader %endif %{_mandir}/man?/%{winehq}.?* %lang(de) %{_mandir}/de.UTF-8/man?/%{winehq}.?* %lang(fr) %{_mandir}/fr.UTF-8/man?/%{winehq}.?* %lang(pl) %{_mandir}/pl.UTF-8/man?/%{winehq}.?* %endif %dir %{_libdir}/%{winehq} %dir %{_libdir}/%{winehq}/%{winesodir} %{_libdir}/%{winehq}/%{winesodir}/libwine*.so.%{lib_major}{,.*} %{_libdir}/%{winehq}/%{winesodir}/*.so # PE format objects. %dir %{_libdir}/%{winehq}/%{winepedir} %if %have_mingw %{_libdir}/%{winehq}/%{winepedir}/*.acm %{_libdir}/%{winehq}/%{winepedir}/*.ax %{_libdir}/%{winehq}/%{winepedir}/*.cpl %{_libdir}/%{winehq}/%{winepedir}/*.dll %{_libdir}/%{winehq}/%{winepedir}/*.drv %{_libdir}/%{winehq}/%{winepedir}/*.ds %{_libdir}/%{winehq}/%{winepedir}/*.exe %{_libdir}/%{winehq}/%{winepedir}/*.com %{_libdir}/%{winehq}/%{winepedir}/*.ocx %{_libdir}/%{winehq}/%{winepedir}/*.sys %{_libdir}/%{winehq}/%{winepedir}/*.tlb %{_libdir}/%{winehq}/%{winepedir}/*.msstyles %endif %ifarch %{ix86} %{_libdir}/%{winehq}/%{winepedir}/*.dll16 %{_libdir}/%{winehq}/%{winepedir}/*.drv16 %{_libdir}/%{winehq}/%{winepedir}/*.exe16 %{_libdir}/%{winehq}/%{winepedir}/*.mod16 %{_libdir}/%{winehq}/%{winepedir}/*.vxd %endif %if 0%{?wine_staging} %{_libdir}/%{winehq}/%{winepedir}/windows.networking.connectivity %endif %files -n %{wine}%{?staging:-}%{?staging}-devel %{_libdir}/%{winehq}/%{winesodir}/*.a %{_libdir}/%{winehq}/%{winesodir}/*.def %ifarch %{ix86} x86_64 %{_libdir}/%{winehq}/%{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 * Mon Jul 5 2021 aurelianr 1:6.12-1.mga9X - Update to version 6.12. - Fix spec file for wine-staging build * 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