Accepting request 1178162 from home:tobijk:Emulators

- Introduce wow64 and wow64-staging flavors

OBS-URL: https://build.opensuse.org/request/show/1178162
OBS-URL: https://build.opensuse.org/package/show/Emulators/wine?expand=0&rev=1108
This commit is contained in:
2024-06-03 07:20:25 +00:00
committed by Git OBS Bridge
parent 2c4440570d
commit 8f7f3c057c
3 changed files with 58 additions and 4 deletions

View File

@@ -1,5 +1,5 @@
#
# spec file
# spec file for package wine
#
# Copyright (c) 2024 SUSE LLC
#
@@ -20,10 +20,26 @@
%global flavor @BUILD_FLAVOR@%nil
%define staging 0
%ifarch x86_64
%define wow64_build 0
%endif
%ifarch %ix86
%define wow64_build 0
%endif
%if "%flavor" == "staging"
%define staging 1
%endif
%if "%flavor" == "wow64"
%define wow64_build 1
%endif
%if "%flavor" == "staging-wow64"
%define staging 1
%define wow64_build 1
%endif
# needs to be on top due to usage of %version macro below
%define realver 9.10
Version: 9.10
@@ -102,6 +118,9 @@ BuildRequires: valgrind-devel
BuildRequires: mingw64-cross-gcc
BuildRequires: mingw64-zlib-devel
Requires: mingw64-libz
%if %{wow64_build}
BuildRequires: mingw32-cross-gcc
%endif
%endif
%ifarch %ix86
BuildRequires: mingw32-cross-gcc
@@ -272,7 +291,10 @@ CFLAGS="$RPM_OPT_FLAGS" \
--with-float-abi=hard \
%endif
%ifarch x86_64 aarch64
--enable-win64 \
--enable-win64 \
%if %{wow64_build}
--enable-archs=x86_64,i386 \
%endif
%endif
--verbose
@@ -322,6 +344,7 @@ make %{?_smp_mflags} all
make install DESTDIR=%{buildroot}
%ifarch x86_64
%if !%{wow64_build}
mkdir -p \
%{buildroot}/usr/lib/wine/i386-windows \
%{buildroot}/usr/lib/wine/i386-unix
@@ -330,6 +353,7 @@ ln -s \
/usr/lib/wine/i386-unix \
%buildroot/usr/%_lib/wine/
%endif
%endif
# install desktop file
install -d %{buildroot}%{_datadir}/applications/
@@ -343,6 +367,9 @@ mv %{buildroot}/%{_mandir}/fr.UTF-8 %{buildroot}/%{_mandir}/fr
%ifnarch x86_64
mv %{buildroot}/%{_mandir}/pl.UTF-8 %{buildroot}/%{_mandir}/pl
%endif
%if %{wow64_build}
mv %{buildroot}/%{_mandir}/pl.UTF-8 %{buildroot}/%{_mandir}/pl
%endif
%ifarch %ix86 x86_64
# Use plain strip, which unlike the MinGW variant preserves the wine builtin marker
@@ -430,6 +457,9 @@ chmod 755 %winedir/my-find-requires.sh
%ifnarch x86_64
%doc %{_mandir}/man1/wine.1*
%endif
%if %{wow64_build}
%doc %{_mandir}/man1/wine.1*
%endif
%doc %{_mandir}/man1/winedbg.1*
%doc %{_mandir}/man1/wineserver.1*
%ifnarch x86_64
@@ -437,6 +467,11 @@ chmod 755 %winedir/my-find-requires.sh
%doc %dir %doc %{_mandir}/pl/man1
%doc %{_mandir}/*/man1/wine.1*
%endif
%if %{wow64_build}
%doc %dir %doc %{_mandir}/pl
%doc %dir %doc %{_mandir}/pl/man1
%doc %{_mandir}/*/man1/wine.1*
%endif
%doc %{_mandir}/*/man1/wineserver.1*
%doc %{_mandir}/man1/msiexec.1.*
%doc %{_mandir}/man1/notepad.1.*
@@ -468,18 +503,30 @@ chmod 755 %winedir/my-find-requires.sh
%{_bindir}/wine
%endif
%ifarch x86_64
%if %{wow64_build}
%{_bindir}/wine
%{_bindir}/wine-preloader
%else
%{_bindir}/wine64
%{_bindir}/wine64-preloader
%endif
%endif
%ifarch x86_64
%if !%{wow64_build}
%dir /usr/lib/wine/
%dir /usr/lib/wine/i386-windows
%dir /usr/lib/wine/i386-unix
%{_libdir}/wine/i386-unix
%{_libdir}/wine/i386-windows
%else
%dir %{_libdir}/wine/i386-windows
%exclude %{_libdir}/wine/i386-windows/*.a
%endif
%dir %{_libdir}/wine/x86_64-windows
%dir %{_libdir}/wine/x86_64-unix
%dir %{_libdir}/wine
/usr/%{_lib}/wine/i386-windows
/usr/%{_lib}/wine/i386-unix
%else
%dir %{_libdir}/wine
%dir %{_libdir}/wine/*-windows