Mageia Bugzilla – Attachment 10687 Details for
Bug 21023
wine can't run (cannot find the FreeType library)
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
New Account
|
Forgot Password
wine.spec with fixed dlopenreq lines
wine.spec (text/x-matlab), 17.01 KB, created by
Oleg Bosis
on 2019-01-26 08:09:45 CET
(
hide
)
Description:
wine.spec with fixed dlopenreq lines
Filename:
MIME Type:
Creator:
Oleg Bosis
Created:
2019-01-26 08:09:45 CET
Size:
17.01 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 > ># 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 mainver 4.0 >#define bugfix 1 >%define mainrel 2 >#define prerel rc7 >%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 >%define mono_version 4.7.5 > ># 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 >%define _fortify_cflags %{nil} > ># Build with staging during our development cycles, stick to stable for Mageia stable releases >%define staging 1 > >%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}") > >Name: wine >Epoch: 1 >Version: %{mainver}%{?bugfix:.%{bugfix}} >Release: %mkrel %{mainrel}%{?prerel:.%{prerel}.%{snaprel}} >Summary: WINE Is Not An Emulator - runs MS Windows programs >License: LGPLv2+ >Group: Emulators >URL: http://www.winehq.com/ >Source0: https://dl.winehq.org/wine/source/4.0/%{name}-%{version}%{?prerel:-%{prerel}}.tar.xz >Source1: https://dl.winehq.org/wine/source/4.0/%{name}-%{version}%{?prerel:-%{prerel}}.tar.xz.sign >Source2: %{name}.init >Source3: %{name}-icons_256.tar.xz > >%if 0%{?staging} >Source900: https://github.com/wine-staging/wine-staging/archive/v%{mainver}%{?prerel:-%{prerel}}/wine-staging-%{mainver}%{?prerel:-%{prerel}}.tar.gz >%endif > ># (Anssi 05/2008) Adds: ># a: => /media/floppy (/mnt/floppy on 2007.1 and older) ># 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 > >BuildRequires: autoconf >BuildRequires: bison >BuildRequires: chrpath >%ifarch aarch64 >BuildRequires: clang >%endif >BuildRequires: cups-devel >BuildRequires: dbus-devel >BuildRequires: desktop-file-utils >BuildRequires: docbook-dtd-sgml >BuildRequires: docbook-utils >BuildRequires: ffmpeg-devel >BuildRequires: flex >BuildRequires: fontconfig-devel >BuildRequires: fontforge >BuildRequires: freetype2-devel >BuildRequires: gettext-devel >BuildRequires: glibc-static-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: 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: prelink >BuildRequires: pulseaudio-devel >BuildRequires: sane-devel >BuildRequires: sgml-tools >BuildRequires: tiff-devel >BuildRequires: ungif-devel >BuildRequires: unixODBC-devel >BuildRequires: valgrind-devel >BuildRequires: xpm-devel > >%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 %{wine} >Summary: WINE Is Not An Emulator - runs MS Windows programs >Group: Emulators >Recommends: %{name}32 = %{epoch}:%{version}-%{release} >Recommends: %{name}64-gecko = %gecko_version > ># 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) >Requires: %dlopenreq asound >Requires: %dlopenreq crypto >Requires: %dlopenreq cups >Requires: %dlopenreq dbus-1 >Requires: %dlopenreq fontconfig >Requires: %dlopenreq freetype >Requires: %dlopenreq gnutls >Requires: %dlopenreq gsm >Requires: %dlopenreq jpeg >Requires: %dlopenreq ncurses >Requires: %dlopenreq odbc >Requires: %dlopenreq OSMesa >Requires: %dlopenreq png >Requires: %dlopenreq sane >Requires: %dlopenreq ssl >Requires: %dlopenreq tiff >Requires: %dlopenreq v4l1 >Requires: %dlopenreq Xcomposite >Requires: %dlopenreq Xcursor >Requires: %dlopenreq Xi >Requires: %dlopenreq Xinerama >Requires: %dlopenreq Xrandr >Requires: %dlopenreq Xrender >Requires: %dlopenreq xslt >Requires: %dlopenreq Xxf86vm >#Requires: %%dlopenreq capi20 # ISDN support - unlikely to be needed > >%else ># on 32-bit we always want wine32 package >Requires: %{name}32 = %{epoch}:%{version}-%{release} >%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} >Recommends: sane-frontends ># (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 >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 >%ifarch %{ix86} >Conflicts: %{name}64 >%else >Conflicts: %{name} >%endif > >%description >%desc > >%ifarch x86_64 aarch64 >%description -n %{wine} >%desc > >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 > >%ifnarch x86_64 aarch64 >%package -n wine32 >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+nwine32 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 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) >Requires: %dlopenreq asound >Requires: %dlopenreq crypto >Requires: %dlopenreq cups >Requires: %dlopenreq dbus-1 >Requires: %dlopenreq fontconfig >Requires: %dlopenreq freetype >Requires: %dlopenreq gnutls >Requires: %dlopenreq gsm >Requires: %dlopenreq jpeg >Requires: %dlopenreq ncurses >Requires: %dlopenreq odbc >Requires: %dlopenreq OSMesa >Requires: %dlopenreq png >Requires: %dlopenreq sane >Requires: %dlopenreq ssl >Requires: %dlopenreq tiff >Requires: %dlopenreq v4l1 >Requires: %dlopenreq Xcomposite >Requires: %dlopenreq Xcursor >Requires: %dlopenreq Xi >Requires: %dlopenreq Xinerama >Requires: %dlopenreq Xrandr >Requires: %dlopenreq Xrender >Requires: %dlopenreq xslt >Requires: %dlopenreq Xxf86vm >#Requires: %%dlopenreq capi20 # ISDN support - unlikely to be needed > >%description -n wine32 >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%{?staging} ># setup and apply staging patches >gzip -dc %{SOURCE900} | tar -xf - --strip-components=1 >./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 > >%ifarch aarch64 >export CC=clang >%endif > >%configure2_5x \ > --with-x \ > --with-dbus \ > --with-pulse \ > --without-hal \ >%ifarch %{arm} > --with-float-abi=hard \ >%endif >%ifarch x86_64 aarch64 > --enable-win64 \ >%endif > --disable-tests > >%make_build depend >%make_build > >%install >%make_install LDCONFIG=/bin/true > ># Allow users to launch Windows programs by just clicking on the .exe file... >install -m 0755 %{SOURCE2} -D %{buildroot}%{_initrddir}/%{name} > >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 >chrpath -d %{buildroot}%{_bindir}/{wine64,wineserver,wmc,wrc} %{buildroot}%{_libdir}/%{name}/*.so >%else >chrpath -d %{buildroot}%{_bindir}/{wine,wineserver,wmc,wrc} %{buildroot}%{_libdir}/%{name}/*.so >%endif > >%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 >%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%{?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}/%{name}.inf >%{_datadir}/%{name}/l_intl.nls >%{_datadir}/applications/*.desktop >%{_sysconfdir}/xdg/menus/applications-merged/%{name}.menu >%{_datadir}/desktop-directories/%{name}.directory >%dir %{_datadir}/wine/fonts >%{_datadir}/wine/fonts/* >%{_iconsdir}/hicolor/*/apps/*.png > >%ifnarch x86_64 aarch64 >%files -n wine32 >%{_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 > >%{_libdir}/libwine*.so.%{lib_major}* >%dir %{_libdir}/%{name} >%{_libdir}/%{name}/*.cpl.so >%{_libdir}/%{name}/*.drv.so >%{_libdir}/%{name}/*.dll.so >%{_libdir}/%{name}/*.exe.so >%{_libdir}/%{name}/*.acm.so >%{_libdir}/%{name}/*.ocx.so >%ifarch %{ix86} >%{_libdir}/%{name}/*.vxd.so >%{_libdir}/%{name}/*16.so >%endif >%{_libdir}/%{name}/*.tlb.so >%{_libdir}/%{name}/*.ds.so >%{_libdir}/%{name}/*.sys.so >%{_libdir}/%{name}/fakedlls > >%files -n %{wine}-devel >%{_libdir}/%{name}/*.a >%{_libdir}/libwine*.so >%{_libdir}/%{name}/*.def >%{_includedir}/* >%{_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*
%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 # 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 mainver 4.0 #define bugfix 1 %define mainrel 2 #define prerel rc7 %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 %define mono_version 4.7.5 # 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 %define _fortify_cflags %{nil} # Build with staging during our development cycles, stick to stable for Mageia stable releases %define staging 1 %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}") Name: wine Epoch: 1 Version: %{mainver}%{?bugfix:.%{bugfix}} Release: %mkrel %{mainrel}%{?prerel:.%{prerel}.%{snaprel}} Summary: WINE Is Not An Emulator - runs MS Windows programs License: LGPLv2+ Group: Emulators URL: http://www.winehq.com/ Source0: https://dl.winehq.org/wine/source/4.0/%{name}-%{version}%{?prerel:-%{prerel}}.tar.xz Source1: https://dl.winehq.org/wine/source/4.0/%{name}-%{version}%{?prerel:-%{prerel}}.tar.xz.sign Source2: %{name}.init Source3: %{name}-icons_256.tar.xz %if 0%{?staging} Source900: https://github.com/wine-staging/wine-staging/archive/v%{mainver}%{?prerel:-%{prerel}}/wine-staging-%{mainver}%{?prerel:-%{prerel}}.tar.gz %endif # (Anssi 05/2008) Adds: # a: => /media/floppy (/mnt/floppy on 2007.1 and older) # 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 BuildRequires: autoconf BuildRequires: bison BuildRequires: chrpath %ifarch aarch64 BuildRequires: clang %endif BuildRequires: cups-devel BuildRequires: dbus-devel BuildRequires: desktop-file-utils BuildRequires: docbook-dtd-sgml BuildRequires: docbook-utils BuildRequires: ffmpeg-devel BuildRequires: flex BuildRequires: fontconfig-devel BuildRequires: fontforge BuildRequires: freetype2-devel BuildRequires: gettext-devel BuildRequires: glibc-static-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: 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: prelink BuildRequires: pulseaudio-devel BuildRequires: sane-devel BuildRequires: sgml-tools BuildRequires: tiff-devel BuildRequires: ungif-devel BuildRequires: unixODBC-devel BuildRequires: valgrind-devel BuildRequires: xpm-devel %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 %{wine} Summary: WINE Is Not An Emulator - runs MS Windows programs Group: Emulators Recommends: %{name}32 = %{epoch}:%{version}-%{release} Recommends: %{name}64-gecko = %gecko_version # 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) Requires: %dlopenreq asound Requires: %dlopenreq crypto Requires: %dlopenreq cups Requires: %dlopenreq dbus-1 Requires: %dlopenreq fontconfig Requires: %dlopenreq freetype Requires: %dlopenreq gnutls Requires: %dlopenreq gsm Requires: %dlopenreq jpeg Requires: %dlopenreq ncurses Requires: %dlopenreq odbc Requires: %dlopenreq OSMesa Requires: %dlopenreq png Requires: %dlopenreq sane Requires: %dlopenreq ssl Requires: %dlopenreq tiff Requires: %dlopenreq v4l1 Requires: %dlopenreq Xcomposite Requires: %dlopenreq Xcursor Requires: %dlopenreq Xi Requires: %dlopenreq Xinerama Requires: %dlopenreq Xrandr Requires: %dlopenreq Xrender Requires: %dlopenreq xslt Requires: %dlopenreq Xxf86vm #Requires: %%dlopenreq capi20 # ISDN support - unlikely to be needed %else # on 32-bit we always want wine32 package Requires: %{name}32 = %{epoch}:%{version}-%{release} %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} Recommends: sane-frontends # (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 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 %ifarch %{ix86} Conflicts: %{name}64 %else Conflicts: %{name} %endif %description %desc %ifarch x86_64 aarch64 %description -n %{wine} %desc 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 %ifnarch x86_64 aarch64 %package -n wine32 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+nwine32 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 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) Requires: %dlopenreq asound Requires: %dlopenreq crypto Requires: %dlopenreq cups Requires: %dlopenreq dbus-1 Requires: %dlopenreq fontconfig Requires: %dlopenreq freetype Requires: %dlopenreq gnutls Requires: %dlopenreq gsm Requires: %dlopenreq jpeg Requires: %dlopenreq ncurses Requires: %dlopenreq odbc Requires: %dlopenreq OSMesa Requires: %dlopenreq png Requires: %dlopenreq sane Requires: %dlopenreq ssl Requires: %dlopenreq tiff Requires: %dlopenreq v4l1 Requires: %dlopenreq Xcomposite Requires: %dlopenreq Xcursor Requires: %dlopenreq Xi Requires: %dlopenreq Xinerama Requires: %dlopenreq Xrandr Requires: %dlopenreq Xrender Requires: %dlopenreq xslt Requires: %dlopenreq Xxf86vm #Requires: %%dlopenreq capi20 # ISDN support - unlikely to be needed %description -n wine32 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%{?staging} # setup and apply staging patches gzip -dc %{SOURCE900} | tar -xf - --strip-components=1 ./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 %ifarch aarch64 export CC=clang %endif %configure2_5x \ --with-x \ --with-dbus \ --with-pulse \ --without-hal \ %ifarch %{arm} --with-float-abi=hard \ %endif %ifarch x86_64 aarch64 --enable-win64 \ %endif --disable-tests %make_build depend %make_build %install %make_install LDCONFIG=/bin/true # Allow users to launch Windows programs by just clicking on the .exe file... install -m 0755 %{SOURCE2} -D %{buildroot}%{_initrddir}/%{name} 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 chrpath -d %{buildroot}%{_bindir}/{wine64,wineserver,wmc,wrc} %{buildroot}%{_libdir}/%{name}/*.so %else chrpath -d %{buildroot}%{_bindir}/{wine,wineserver,wmc,wrc} %{buildroot}%{_libdir}/%{name}/*.so %endif %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 %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%{?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}/%{name}.inf %{_datadir}/%{name}/l_intl.nls %{_datadir}/applications/*.desktop %{_sysconfdir}/xdg/menus/applications-merged/%{name}.menu %{_datadir}/desktop-directories/%{name}.directory %dir %{_datadir}/wine/fonts %{_datadir}/wine/fonts/* %{_iconsdir}/hicolor/*/apps/*.png %ifnarch x86_64 aarch64 %files -n wine32 %{_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 %{_libdir}/libwine*.so.%{lib_major}* %dir %{_libdir}/%{name} %{_libdir}/%{name}/*.cpl.so %{_libdir}/%{name}/*.drv.so %{_libdir}/%{name}/*.dll.so %{_libdir}/%{name}/*.exe.so %{_libdir}/%{name}/*.acm.so %{_libdir}/%{name}/*.ocx.so %ifarch %{ix86} %{_libdir}/%{name}/*.vxd.so %{_libdir}/%{name}/*16.so %endif %{_libdir}/%{name}/*.tlb.so %{_libdir}/%{name}/*.ds.so %{_libdir}/%{name}/*.sys.so %{_libdir}/%{name}/fakedlls %files -n %{wine}-devel %{_libdir}/%{name}/*.a %{_libdir}/libwine*.so %{_libdir}/%{name}/*.def %{_includedir}/* %{_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*
View Attachment As Raw
Actions:
View
Attachments on
bug 21023
: 10687