SHA256
1
0
forked from pool/wine

Accepting request 1178345 from Emulators

- various adjustments to make wow64 / wow64-staging flavors correctly
  coexist.

- Introduce wow64 and wow64-staging flavors

- Updated to 9.10 release
  - Bundled vkd3d upgraded to version 1.12.
  - DPI Awareness support improvements.
  - C++ RTTI support on ARM platforms.
  - More obsolete features removed in WineD3D.
  - Various bug fixes.
- update staging to 9.10 release
- 0001-mf-tests-help-older-compilers-by-using-defines.patch: make build on 15.x

OBS-URL: https://build.opensuse.org/request/show/1178345
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/wine?expand=0&rev=440
This commit is contained in:
Ana Guerrero 2024-06-03 15:44:56 +00:00 committed by Git OBS Bridge
commit 5c130a57ba
12 changed files with 228 additions and 30 deletions

View File

@ -0,0 +1,116 @@
From 100ab9fb0d55111c353d5a042902e62d163e47f4 Mon Sep 17 00:00:00 2001
From: Marcus Meissner <marcus@jet.franken.de>
Date: Mon, 3 Jun 2024 15:50:19 +0200
Subject: [PATCH] mf/tests: help older compilers by using defines
older compilers do not see this always as constant
Signed-off-by: Marcus Meissner <marcus@jet.franken.de>
---
dlls/mf/tests/transform.c | 33 ++++++++++++++++++---------------
1 file changed, 18 insertions(+), 15 deletions(-)
diff --git a/dlls/mf/tests/transform.c b/dlls/mf/tests/transform.c
index 0291fe16e18..a6367fee764 100644
--- a/dlls/mf/tests/transform.c
+++ b/dlls/mf/tests/transform.c
@@ -9044,9 +9044,12 @@ static IMFSample *create_d3d_sample(IMFVideoSampleAllocator *allocator, const vo
return sample;
}
+#define SET_WIDTH 82
+#define SET_HEIGHT 84
+
static void test_video_processor_with_dxgi_manager(void)
{
- static const unsigned int set_width = 82, set_height = 84, aligned_width = 96, aligned_height = 96;
+ static const unsigned int aligned_width = 96, aligned_height = 96;
const struct attribute_desc output_sample_attributes[] =
{
{0},
@@ -9054,7 +9057,7 @@ static void test_video_processor_with_dxgi_manager(void)
const struct buffer_desc output_buffer_desc_rgb32 =
{
.length = aligned_width * aligned_height * 4,
- .compare = compare_rgb32, .compare_rect = {.right = set_width, .bottom = set_height},
+ .compare = compare_rgb32, .compare_rect = {.right = SET_WIDTH, .bottom = SET_HEIGHT},
.dump = dump_rgb32, .size = {.cx = aligned_width, .cy = aligned_height},
};
const struct sample_desc output_sample_desc_rgb32 =
@@ -9066,9 +9069,9 @@ static void test_video_processor_with_dxgi_manager(void)
const struct buffer_desc output_buffer_desc_rgb32_crop =
{
- .length = set_width * set_height * 4,
- .compare = compare_rgb32, .compare_rect = {.right = set_width, .bottom = set_height},
- .dump = dump_rgb32, .size = {.cx = set_width, .cy = set_height},
+ .length = SET_WIDTH * SET_HEIGHT * 4,
+ .compare = compare_rgb32, .compare_rect = {.right = SET_WIDTH, .bottom = SET_HEIGHT},
+ .dump = dump_rgb32, .size = {.cx = SET_WIDTH, .cy = SET_HEIGHT},
};
const struct sample_desc output_sample_desc_rgb32_crop =
{
@@ -9079,9 +9082,9 @@ static void test_video_processor_with_dxgi_manager(void)
const struct buffer_desc output_buffer_desc_abgr32_crop =
{
- .length = set_width * set_height * 4,
- .compare = compare_abgr32, .compare_rect = {.right = set_width, .bottom = set_height},
- .dump = dump_rgb32, .size = {.cx = set_width, .cy = set_height},
+ .length = SET_WIDTH * SET_HEIGHT * 4,
+ .compare = compare_abgr32, .compare_rect = {.right = SET_WIDTH, .bottom = SET_HEIGHT},
+ .dump = dump_rgb32, .size = {.cx = SET_WIDTH, .cy = SET_HEIGHT},
};
const struct sample_desc output_sample_desc_abgr32_crop =
{
@@ -9108,7 +9111,7 @@ static void test_video_processor_with_dxgi_manager(void)
ATTR_GUID(MF_MT_MAJOR_TYPE, MFMediaType_Video),
};
- static const MFVideoArea aperture = {.Area={set_width, set_height}};
+ static const MFVideoArea aperture = {.Area={SET_WIDTH, SET_HEIGHT}};
const struct attribute_desc nv12_with_aperture[] =
{
ATTR_GUID(MF_MT_MAJOR_TYPE, MFMediaType_Video),
@@ -9123,14 +9126,14 @@ static void test_video_processor_with_dxgi_manager(void)
{
ATTR_GUID(MF_MT_MAJOR_TYPE, MFMediaType_Video),
ATTR_GUID(MF_MT_SUBTYPE, MFVideoFormat_RGB32),
- ATTR_RATIO(MF_MT_FRAME_SIZE, set_width, set_height),
+ ATTR_RATIO(MF_MT_FRAME_SIZE, SET_WIDTH, SET_HEIGHT),
{0},
};
const struct attribute_desc abgr32_no_aperture[] =
{
ATTR_GUID(MF_MT_MAJOR_TYPE, MFMediaType_Video),
ATTR_GUID(MF_MT_SUBTYPE, MFVideoFormat_ABGR32),
- ATTR_RATIO(MF_MT_FRAME_SIZE, set_width, set_height),
+ ATTR_RATIO(MF_MT_FRAME_SIZE, SET_WIDTH, SET_HEIGHT),
{0},
};
@@ -9465,8 +9468,8 @@ static void test_video_processor_with_dxgi_manager(void)
ok(!desc.CPUAccessFlags, "got %#x.\n", desc.CPUAccessFlags);
ok(!desc.MiscFlags, "got %#x.\n", desc.MiscFlags);
ok(desc.MipLevels == 1, "git %u.\n", desc.MipLevels);
- ok(desc.Width == set_width, "got %u.\n", desc.Width);
- ok(desc.Height == set_height, "got %u.\n", desc.Height);
+ ok(desc.Width == SET_WIDTH, "got %u.\n", desc.Width);
+ ok(desc.Height == SET_HEIGHT, "got %u.\n", desc.Height);
ID3D11Texture2D_Release(tex2d);
IMFDXGIBuffer_Release(dxgi_buffer);
@@ -9533,8 +9536,8 @@ skip_rgb32:
ok(!desc.CPUAccessFlags, "got %#x.\n", desc.CPUAccessFlags);
ok(!desc.MiscFlags, "got %#x.\n", desc.MiscFlags);
ok(desc.MipLevels == 1, "git %u.\n", desc.MipLevels);
- ok(desc.Width == set_width, "got %u.\n", desc.Width);
- ok(desc.Height == set_height, "got %u.\n", desc.Height);
+ ok(desc.Width == SET_WIDTH, "got %u.\n", desc.Width);
+ ok(desc.Height == SET_HEIGHT, "got %u.\n", desc.Height);
ID3D11Texture2D_Release(tex2d);
IMFDXGIBuffer_Release(dxgi_buffer);
--
2.45.1

View File

@ -1,5 +1,7 @@
<multibuild>
<!-- <package>nine</package> -->
<package>staging</package>
<package>wow64</package>
<package>staging-wow64</package>
<!-- <package>staging-nine</package> -->
</multibuild>

View File

@ -3,7 +3,7 @@
<param name="versionformat">@PARENT_TAG@</param>
<param name="versionrewrite-pattern">v(.*)</param>
<param name="url">https://github.com/wine-staging/wine-staging.git</param>
<param name="revision">refs/tags/v9.9</param>
<param name="revision">refs/tags/v9.10</param>
<param name="match-tag">v*.*</param>
<param name="scm">git</param>
</service>

View File

@ -27,4 +27,6 @@ wine
requires "libXcomposite.so.1"
requires "libGL.so.1"
requires "libGLU.so.1"
provides "wine-<targettype> = <version>-<release>"
conflicts "otherproviders(wine-<targettype>)"
wine-devel

3
wine-9.10.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:afc34b491bfa14c62c3fdf627dd2b5dcac5e7e9f3f145adb14332578af8cf1c0
size 30289048

16
wine-9.10.tar.xz.sign Normal file
View File

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE2iNXmnTUrZr50/lFzvrI6q8XUZ0FAmZaNHwACgkQzvrI6q8X
UZ13Iw//VDOwminFFMkVTzcx/xeBoUiBnpfuByn865peiEdlODv9DmZrJXCSZLYS
HXqRCMnD2+9Fz2GbFS+sjS3aBTKMlDRIXWKKHEzDkeeHs5NgWcorINXguprYGzx4
v0aV1lOPQWf1nSYK8VTY1GfGM3b4novloayG5qld79LIhe/q0R6786STLqDlhAbP
TV/fUYdU5/Vmr+gumIIDT9OVpl+aevHPGXghywM867XXUdW0xgWBIvip5sJrgs6S
NWsdo65MKtDYC8f4KFUab193kSNdKOHuf+STttfUAS5FDMEW19DlbuX9SLtD6wvQ
MlCbyEZggvm5B3f3g8o3Xg1vkIkptW/aiKjfUyXxIiYwJjCApCbSAbuUMiabyJ+C
zTTy4VOpjK4ESq2QvpbuUfJvoM3qJpxiLjpFqpd6OXt3blVOUiyID5P0XpBDCywf
kfitjaD87ITYR2IeAjFtLqBzQto8m/WY5yK/fMDIOYqHRzFNMarIZ7vUAFvmaXV1
xxu4rraSlwldwHw3E8ana1KRsXp93BGupdRNh9EsxIAoNYof3XdFN6sNp31cYDNb
YYNFiUkjh+v7ZaW0PKAdyDLWhupy4pUFBbJbeT1Po2ln74f5lK1tzISeFEBLa5yv
FFSXwdiYxT48+EhR7SWZkbgqD+bWu4DO0N3uSlL+BqIuQzNpF7Y=
=cGGd
-----END PGP SIGNATURE-----

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4d67a7812c4abd4a3de923238e60f5a86b16ac7fb20f6294e0dc6ef9e8beca36
size 30265476

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE2iNXmnTUrZr50/lFzvrI6q8XUZ0FAmZHue8ACgkQzvrI6q8X
UZ0Rzg/7BxAsOUdurb7g9gdsJkahLhyj29CSoKXxUc+S/sMYKKWhE4GhuFTZUq4D
nrS3oG1S/7feIlNDwLlpoTW1uBNQKaqaE0pjHRLIcXvDGbCtCwn6Inyurkx0QLzZ
duAp8RgMFL4nQR88cIoqD8xeqY4BpXw4dCOMqT8M3tJuCISD29KNWrnCAnjSgBH9
sgkON/reRhNr4Divc8q1ARjElZXU5edhkYr8TAskgqnXuAjN0KchvEaLPm6t7x6d
HkQO4Vfhzm1JsheSCQYpnScr8JDKT4z62WFL7n0nS5fbq6w4BWGrt4FuibmMml3q
aZ9qX8gG8fe5DDpDGGHSX3P+Sv3rgZYelTvwFkgsi+EiYfr+Z0JGXVvs6+kvnJiq
79TZDCwowRyeKsTUW3IIDo1FdeqxSlefOMmykN/zd38ZXLpFGGwqPCiACnsVy4Hx
b9W2GTIJEkVQs77y9yOK4m1WNxJpvQTrB6v5WSI+azZ7tz65cPzDzOHRVgaMWovY
+Tgt4SFCoGxL1EGekt9jmoyQHh1x9cMpP+VDTo3FWXCsJy0ec/Pdah6+Lm8Omubs
YaRJOloZIbBPWZSmxswrkqCgwI5S8+hOBUYyNnS1wymxbMk+Z5gjewFGVBqP2mDE
pTiJ9AsqLPMtzidqlhJlm2aIyJkdM0aZQUfgxMQOQYbwZcSTFW8=
=SfWj
-----END PGP SIGNATURE-----

3
wine-staging-9.10.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b31169b262f2ff337c67ee48fe6b1a4b33e88242eb90b5cfc7ea7fed84103721
size 7189664

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5a19313796efe73f01cff3c26d619258e019721c460650e8ab6a9758fe040cbb
size 7305840

View File

@ -1,3 +1,26 @@
-------------------------------------------------------------------
Mon Jun 3 12:20:38 UTC 2024 - Marcus Meissner <meissner@suse.com>
- various adjustments to make wow64 / wow64-staging flavors correctly
coexist.
-------------------------------------------------------------------
Sat Jun 2 13:09:09 UTC 2024 - Tobias Klausmann <tobias.klausmann@freenet.de>
- Introduce wow64 and wow64-staging flavors
-------------------------------------------------------------------
Sun Jun 2 09:56:20 UTC 2024 - Marcus Meissner <meissner@suse.com>
- Updated to 9.10 release
- Bundled vkd3d upgraded to version 1.12.
- DPI Awareness support improvements.
- C++ RTTI support on ARM platforms.
- More obsolete features removed in WineD3D.
- Various bug fixes.
- update staging to 9.10 release
- 0001-mf-tests-help-older-compilers-by-using-defines.patch: make build on 15.x
-------------------------------------------------------------------
Tue May 21 08:35:40 UTC 2024 - Marcus Meissner <meissner@suse.com>

View File

@ -20,13 +20,29 @@
%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.9
Version: 9.9
%define realver 9.10
Version: 9.10
Release: 0
%if "%{flavor}" != ""
@ -36,6 +52,11 @@ Provides: wine = %{version}-%{release}
Name: wine
%endif
Conflicts: otherproviders(wine)
# the wow64 is now a 64bit flavor of the 32bit build.
%if "%{flavor}" == "wow64" || "%{flavor}" == "staging-wow64"
Conflicts: otherproviders(wine-32bit)
Provides: wine-32bit = %{version}-%{release}
%endif
BuildRequires: alsa-devel
BuildRequires: autoconf
BuildRequires: bison
@ -102,6 +123,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
@ -152,6 +176,7 @@ Source7: baselibs.conf
Source8: wine-rpmlintrc
# SUSE specific patches
# - currently none, but add them here
Patch0: 0001-mf-tests-help-older-compilers-by-using-defines.patch
Recommends: wine-gecko >= 2.47.4
Conflicts: wine-gecko < 2.47.4
Recommends: wine-mono >= 9.0.0
@ -163,14 +188,16 @@ Recommends: dosbox
Recommends: pipewire-alsa
Recommends: winetricks
Requires: samba-winbind
%if "%{flavor}" != "wow64" && "%{flavor}" != "staging-wow64"
%ifarch x86_64
Requires: %{name}-32bit = %{version}
%endif
%endif
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: %{ix86} x86_64 ppc armv7l armv7hl aarch64
%if %{staging}
# upstream patch target version
%define staging_version 9.9
%define staging_version 9.10
Source100: wine-staging-%{staging_version}.tar.xz
BuildRequires: gtk3-devel
BuildRequires: libOSMesa-devel
@ -272,9 +299,12 @@ 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
--verbose
%endif
--verbose || cat config.log
grep "have_x=yes" config.log || exit 1
# generate baselibs.conf
@ -322,6 +352,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 +361,7 @@ ln -s \
/usr/lib/wine/i386-unix \
%buildroot/usr/%_lib/wine/
%endif
%endif
# install desktop file
install -d %{buildroot}%{_datadir}/applications/
@ -343,6 +375,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 +465,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 +475,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 +511,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