feature:update wine9.0 to openeuler,support 64bit and 32bit windows software

-上传wine应用9.0到社区,支持64位和32位的windows软件
This commit is contained in:
lishunlong 2024-01-25 10:29:48 +08:00
parent bb9850acbb
commit db904a8b28
25 changed files with 4339 additions and 0 deletions

View File

@ -0,0 +1,25 @@
--- wine-7.20.old/aclocal.m4 2022-11-17 17:19:01.772386752 +0100
+++ wine-7.20/aclocal.m4 2022-11-17 17:24:03.721683055 +0100
@@ -279,15 +279,17 @@
dnl
dnl Usage: WINE_CHECK_DEFINE(name),[action-if-yes,[action-if-no]])
dnl
AC_DEFUN([WINE_CHECK_DEFINE],
[AS_VAR_PUSHDEF([ac_var],[ac_cv_cpp_def_$1])dnl
-AC_CACHE_CHECK([whether we need to define $1],ac_var,
- AC_EGREP_CPP(yes,[#ifndef $1
-yes
-#endif],
- [AS_VAR_SET(ac_var,yes)],[AS_VAR_SET(ac_var,no)]))
+AC_CACHE_CHECK([whether we need to define $1], ac_var,
+ [AC_PREPROC_IFELSE([[
+#ifndef $1
+#error not defined
+#endif
+]],
+ [AS_VAR_SET(ac_var,no)],[AS_VAR_SET(ac_var,yes)])])
AS_VAR_IF([ac_var],[yes],
[CFLAGS="$CFLAGS -D$1"
LINTFLAGS="$LINTFLAGS -D$1"])dnl
AS_VAR_POPDEF([ac_var])])

BIN
wine-9.0.tar.xz Normal file

Binary file not shown.

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

@ -0,0 +1,16 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE2iNXmnTUrZr50/lFzvrI6q8XUZ0FAmWm7aUACgkQzvrI6q8X
UZ1IwhAArp/IEVLBG4DdnsWpHktgsBNa5+HXc72ckKsyJsmRqeeLBAaDENy6bVxA
RDiasEigY28wNvB9K1L4WnBgwPIBGtOsYXyOOn4cd2UHofs5iYfGU+u+i2YsW8LL
KJa05wQAadd4FsZj38HZY+B0chQdwOnrtcqsp+HrEEN3wbsC3b5vcCtGTv/RF9J7
HB0VQqCTafFtMOwq/5urpQsx/DmCc14zUvp5Gw1NgE4fdOmdKtlVfSY8OptLXLUl
H5BQInD7DabrfhXge9KXQgAzvIaCd4SwK6ZvBWyW5/CbihGtShFV1QLjWaWr25SL
/tQ1d3hMXr5HQNyEJWUiP27efBqBfBr2r6oO/Z/Wssj/Pdtr8HlRY9f4/sf8SIUz
NmTS42Yv3YO7b9Uaix+TlrzT9xZ69I3RTv8FXMKizyfzPevozfFAUSKgi2UyD6u8
N39lm/OstoCY4samE0I4thju+1lop1Aj1npWSFu0nBHM4fFmccAGcKgU9xpTkKoD
JReXvTIJm4LtCP4rqpyb6LG53yJ4lHMrZr0IPtuxshPCBZE6rQjWpJIy+3hrA0Nn
z8BjRtlXIHbFVlq/F1WeIlwq1tF6+9qiNHXeNZMI7keRdk8cSU8SBr+jKufjsGZE
KNTK8qmyhdfqoIiG5QrN8M3fs0XtV+gZ70jYAbUGrbF1dnwds2I=
=+AcQ
-----END PGP SIGNATURE-----

44
wine-README-Fedora Normal file
View File

@ -0,0 +1,44 @@
Wine directory structure used in Fedora Linux:
==============================================
${HOME}/.wine/drive_c is the root directory (aka C: drive) wine looks for
by default. It is created with (empty) C:\windows and C:\windows\system
directories, needed to operate Wine without an existing Windows
installation, if it does not already exist.
If you want to use Wine with an existing Windows installation that is
mounted, for example, in /mnt/windows-c, change the symlink
${HOME}/.wine/dosdevices/c: to point to /mnt/windows-c instead of the
defaults set by installation.
If you do this, you can safely remove ${HOME}/.wine/drive_c.
(Alternatively, just mount your Windows partition to ${HOME}/.wine/drive_c.)
Wine bugs:
==========
If you find a bug, please take the time to move your ${HOME}/.wine directory
someplace and try with a fresh version (like mv ${HOME}/.wine{,-save}). If the
bug is still there look through https://bugzilla.redhat.com and see if the bug
has already been reported. In case it was not please report it.
CJK support:
============
Fedora carries a modified wine.inf file with support for cjk complying to the
fedora default fonts (see
http://tagoh.fedorapeople.org/fonts/fedora-current-defaultfonts.html)
wine does _not_ pull in the cjk font packages automatically. The following
font packages may need to be installed depending on your locale:
zh_CN:
wqy-microhei
jp:
vlgothic-fonts
vlgothic-p-fonts
ipa-mincho-fonts
ipa-pmincho-fonts
ko:
nhn-nanum-gothic-fonts
nhn-nanum-myeongjo-fonts.noarch

19
wine-README-tahoma Normal file
View File

@ -0,0 +1,19 @@
= wine-tahoma-fonts =
Wine provides the wine tahoma font family. In fedora embedded bitmaps are
turned off per default (/etc/fonts/conf.d/20-wine-tahoma-nobitmaps.conf) as
this will provide smoother letters for most users.
If you do not like the wine tahoma font experience but want to keep it
installed you can turn it of by adding the following to ~/.fonts.conf or by
adding a file containing the following to ~/.fonts.conf.d/:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Reject wine-tahoma-fonts -->
<selectfont>
<rejectfont>
<glob>*/wine-tahoma-fonts/*</glob>
</rejectfont>
</selectfont>
</fontconfig>

22
wine-cjk.patch Normal file
View File

@ -0,0 +1,22 @@
Index: wine-1.7.22/loader/wine.inf.in
===================================================================
--- wine-1.7.22.orig/loader/wine.inf.in
+++ wine-1.7.22/loader/wine.inf.in
@@ -568,6 +568,17 @@ HKLM,%FontSubStr%,"Times New Roman CE,23
HKLM,%FontSubStr%,"Times New Roman CYR,204",,"Times New Roman,204"
HKLM,%FontSubStr%,"Times New Roman Greek,161",,"Times New Roman,161"
HKLM,%FontSubStr%,"Times New Roman TUR,162",,"Times New Roman,162"
+HKCU,Software\Wine\Fonts\Replacements,"SimSun",,"WenQuanYi Zen Hei Sharp"
+HKCU,Software\Wine\Fonts\Replacements,"PMingLiU",,"WenQuanYi Zen Hei Sharp"
+HKCU,Software\Wine\Fonts\Replacements,"MS Gothic",,"VL Gothic"
+HKCU,Software\Wine\Fonts\Replacements,"MS PGothic",,"VL PGothic"
+HKCU,Software\Wine\Fonts\Replacements,"MS UI Gothic",,"VL Gothic"
+HKCU,Software\Wine\Fonts\Replacements,"MS Mincho",,"IPAMincho"
+HKCU,Software\Wine\Fonts\Replacements,"MS PMincho",,"IPAPMincho"
+HKCU,Software\Wine\Fonts\Replacements,"Batang",,"NanumMyeongjo"
+HKCU,Software\Wine\Fonts\Replacements,"Dotum",,"NanumGothic"
+HKCU,Software\Wine\Fonts\Replacements,"Gulim",,"NanumGothic"
+HKCU,Software\Wine\Fonts\Replacements,"Arial Unicode MS",,"Droid Sans Fallback"
HKLM,System\CurrentControlSet\Hardware Profiles\Current\Software\Fonts,"LogPixels",0x10003,0x00000060
[MCI]

9
wine-mime-msi.desktop Normal file
View File

@ -0,0 +1,9 @@
[Desktop Entry]
Type=Application
Name=Windows Installer File
Name[ar]=مثبت حزم واين
Exec=wine %f
MimeType=application/x-ole-storage;text/mspg-legacyinfo;
Hidden=true
StartupNotify=true
StartupWMClass=msiexec.exe

12
wine-notepad.desktop Normal file
View File

@ -0,0 +1,12 @@
[Desktop Entry]
Name=Notepad
Comment=Text Editor
Name[ar]=مفكرة
Comment[ar]=محرر النّصوص مفكرة واين
Exec=notepad
Icon=notepad
Terminal=false
Type=Application
StartupNotify=true
StartupWMClass=notepad.exe
Categories=X-Wine;

12
wine-oleview.desktop Normal file
View File

@ -0,0 +1,12 @@
[Desktop Entry]
Name=Wine OLE View
Comment=Windows OLE View
Name[ar]=عارض العناصر
Comment[ar]=لعرض العناصر البيئية في واين
Exec=wine oleview.exe
Icon=wine
Terminal=false
Type=Application
StartupNotify=true
StartupWMClass=oleview.exe
Categories=X-Wine;

12
wine-regedit.desktop Normal file
View File

@ -0,0 +1,12 @@
[Desktop Entry]
Name=Regedit
Comment=Wine registry editor
Name[ar]=محرر السّجل
Comment[ar]=محرر لسجلات واين
Exec=regedit
Icon=regedit
Terminal=false
Type=Application
StartupNotify=true
StartupWMClass=regedit.exe
Categories=X-Wine;

115
wine-staging-9.0.patch Normal file
View File

@ -0,0 +1,115 @@
--- patches/eventfd_synchronization/0003-ntdll-Create-eventfd-based-objects-for-semaphores.patch.orig 2024-01-16 15:47:35.000000000 -0600
+++ patches/eventfd_synchronization/0003-ntdll-Create-eventfd-based-objects-for-semaphores.patch 2024-01-17 20:36:36.796186786 -0600
@@ -197,7 +197,7 @@
+ }
+ }
+
-+ if (!InterlockedCompareExchange( (int *)&esync_list[entry][idx].type, type, 0 ))
++ if (!InterlockedCompareExchange( (LONG *)&esync_list[entry][idx].type, type, 0 ))
+ {
+ esync_list[entry][idx].fd = fd;
+ esync_list[entry][idx].shm = shm;
--- patches/eventfd_synchronization/0005-ntdll-Implement-NtClose.patch.orig 2024-01-16 15:47:35.000000000 -0600
+++ patches/eventfd_synchronization/0005-ntdll-Implement-NtClose.patch 2024-01-17 20:22:59.170405980 -0600
@@ -25,7 +25,7 @@
+
+ if (entry < ESYNC_LIST_ENTRIES && esync_list[entry])
+ {
-+ if (InterlockedExchange((int *)&esync_list[entry][idx].type, 0))
++ if (InterlockedExchange((LONG *)&esync_list[entry][idx].type, 0))
+ {
+ close( esync_list[entry][idx].fd );
+ return STATUS_SUCCESS;
--- patches/eventfd_synchronization/0004-ntdll-Implement-NtReleaseSemaphore.patch.orig 2024-01-16 15:47:35.000000000 -0600
+++ patches/eventfd_synchronization/0004-ntdll-Implement-NtReleaseSemaphore.patch 2024-01-17 20:25:51.399420034 -0600
@@ -60,7 +60,7 @@
+
+ if (count + current > semaphore->max)
+ return STATUS_SEMAPHORE_LIMIT_EXCEEDED;
-+ } while (InterlockedCompareExchange( &semaphore->count, count + current, current ) != current);
++ } while (InterlockedCompareExchange( (LONG *) &semaphore->count, count + current, current ) != current);
+
+ if (prev) *prev = current;
+
--- patches/eventfd_synchronization/0050-ntdll-server-Try-to-avoid-poll-for-signaled-events.patch.orig 2024-01-16 15:47:35.000000000 -0600
+++ patches/eventfd_synchronization/0050-ntdll-server-Try-to-avoid-poll-for-signaled-events.patch 2024-01-17 20:29:39.020112232 -0600
@@ -90,7 +90,7 @@
+ if (obj->type == ESYNC_MANUAL_EVENT)
+ {
+ /* Acquire the spinlock. */
-+ while (InterlockedCompareExchange( &event->locked, 1, 0 ))
++ while (InterlockedCompareExchange( (LONG *) &event->locked, 1, 0 ))
+ small_pause();
+ }
+
@@ -103,7 +103,7 @@
+ * eventfd is unsignaled (i.e. reset shm, set shm, set fd, reset fd), we
+ * *must* signal the fd now, or any waiting threads will never wake up. */
+
-+ if (!InterlockedExchange( &event->signaled, 1 ) || obj->type == ESYNC_AUTO_EVENT)
++ if (!InterlockedExchange( (LONG *) &event->signaled, 1 ) || obj->type == ESYNC_AUTO_EVENT)
+ {
+ if (write( obj->fd, &value, sizeof(value) ) == -1)
+ ERR("write: %s\n", strerror(errno));
@@ -137,7 +137,7 @@
+ if (obj->type == ESYNC_MANUAL_EVENT)
+ {
+ /* Acquire the spinlock. */
-+ while (InterlockedCompareExchange( &event->locked, 1, 0 ))
++ while (InterlockedCompareExchange( (LONG *) &event->locked, 1, 0 ))
+ small_pause();
+ }
+
@@ -147,7 +147,7 @@
+ * For auto-reset events, we have no guarantee that the previous "signaled"
+ * state is actually correct. We need to leave both states unsignaled after
+ * leaving this function, so we always have to read(). */
-+ if (InterlockedExchange( &event->signaled, 0 ) || obj->type == ESYNC_AUTO_EVENT)
++ if (InterlockedExchange( (LONG *) &event->signaled, 0 ) || obj->type == ESYNC_AUTO_EVENT)
+ {
+ if (read( obj->fd, &value, sizeof(value) ) == -1 && errno != EWOULDBLOCK && errno != EAGAIN)
+ {
--- patches/eventfd_synchronization/0006-ntdll-Implement-NtWaitForMultipleObjects.patch.orig 2024-01-16 15:47:35.000000000 -0600
+++ patches/eventfd_synchronization/0006-ntdll-Implement-NtWaitForMultipleObjects.patch 2024-01-17 20:31:23.217332813 -0600
@@ -82,7 +82,7 @@
+ * fact that we were able to grab it at all means the count is nonzero,
+ * and if someone else grabbed it then the count must have been >= 2,
+ * etc. */
-+ InterlockedExchangeAdd( &semaphore->count, -1 );
++ InterlockedExchangeAdd( (LONG *) &semaphore->count, -1 );
+ }
+}
+
--- patches/eventfd_synchronization/0007-ntdll-server-Implement-NtCreateEvent.patch.orig 2024-01-16 15:47:35.000000000 -0600
+++ patches/eventfd_synchronization/0007-ntdll-server-Implement-NtCreateEvent.patch 2024-01-17 20:31:54.500700144 -0600
@@ -49,7 +49,7 @@
@@ -339,6 +358,14 @@ static void update_grabbed_object( struct esync *obj )
* etc. */
- InterlockedExchangeAdd( &semaphore->count, -1 );
+ InterlockedExchangeAdd( (LONG *) &semaphore->count, -1 );
}
+ else if (obj->type == ESYNC_AUTO_EVENT)
+ {
--- patches/eventfd_synchronization/0049-ntdll-Try-to-avoid-poll-for-uncontended-objects.patch.orig 2024-01-16 15:47:35.000000000 -0600
+++ patches/eventfd_synchronization/0049-ntdll-Try-to-avoid-poll-for-uncontended-objects.patch 2024-01-17 21:07:47.674962176 -0600
@@ -68,7 +68,7 @@
+ if ((size = read( obj->fd, &value, sizeof(value) )) == sizeof(value))
+ {
+ TRACE("Woken up by handle %p [%d].\n", handles[i], i);
-+ InterlockedDecrement( &semaphore->count );
++ InterlockedDecrement( (LONG *) &semaphore->count );
+ return i;
+ }
+ }
--- patches/gdi32-rotation/0002-gdi32-fix-for-rotated-ellipse.patch.orig 2024-01-16 15:47:35.000000000 -0600
+++ patches/gdi32-rotation/0002-gdi32-fix-for-rotated-ellipse.patch 2024-01-18 08:19:37.882485865 -0600
@@ -74,7 +74,7 @@
+ }
+
+ if (pdev->brush.style != BS_NULL &&
-+ !(interior = ULongToHandle(NtGdiPolyPolyDraw( ULongToHandle(ALTERNATE), points, (const UINT *)&count, 1, NtGdiPolyPolygonRgn ))))
++ !(interior = ULongToHandle(NtGdiPolyPolyDraw( ULongToHandle(ALTERNATE), points, (const ULONG *)&count, 1, NtGdiPolyPolygonRgn ))))
+ {
+ free( points );
+ if (outline) NtGdiDeleteObjectApp( outline );

BIN
wine-staging-9.0.tar.gz Normal file

Binary file not shown.

11
wine-tahoma.conf Normal file
View File

@ -0,0 +1,11 @@
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Disable embedded bitmaps in the Tahoma font -->
<match target="font">
<test name="family"><string>Tahoma</string></test>
<edit name="embeddedbitmap"><bool>false</bool></edit>
</match>
</fontconfig>

12
wine-uninstaller.desktop Normal file
View File

@ -0,0 +1,12 @@
[Desktop Entry]
Name=Wine Software Uninstaller
Comment=Interface to uninstall software
Name[ar]=مزيل التطبيقات من واين
Comment[ar]=واجهة إزالة التّطبيقات من واين
Exec=wine uninstaller.exe
Icon=msiexec
Terminal=false
Type=Application
StartupNotify=true
StartupWMClass=uninstaller.exe
Categories=X-Wine;

10
wine-wineboot.desktop Normal file
View File

@ -0,0 +1,10 @@
[Desktop Entry]
Name=Wine Boot
Comment=Simulate restart
Name[ar]=إقلاع واين
Comment[ar]=محاكاة إعادة التشغيل لواين
Exec=wineboot
Icon=wine
Terminal=false
Type=Application
Categories=X-Wine;

12
wine-winecfg.desktop Normal file
View File

@ -0,0 +1,12 @@
[Desktop Entry]
Name=Wine Configuration
Comment=Interface to set wine parameters
Name[ar]=إعدادات واين
Comment[ar]=لوحة تحكم بمنظومة واين
Exec=winecfg
Icon=winecfg
Terminal=false
Type=Application
StartupNotify=true
StartupWMClass=winecfg.exe
Categories=X-Wine;

10
wine-winefile.desktop Normal file
View File

@ -0,0 +1,10 @@
[Desktop Entry]
Name=Wine File
Comment=Wine File Browser
Name[ar]=مدير ملفات واين
Comment[ar]=إدارة الملفات بطريقة واين
Exec=winefile
Icon=winefile
Terminal=false
Type=Application
Categories=X-Wine;

12
wine-winemine.desktop Normal file
View File

@ -0,0 +1,12 @@
[Desktop Entry]
Name=WineMine
Comment=Wine Minesweeper
Name[ar]=كانسة ألغام واين
Comment[ar]=لعبة كانسة ألغام واين
Exec=winemine
Icon=winemine
Terminal=false
Type=Application
StartupNotify=true
StartupWMClass=winemine.exe
Categories=Game;LogicGame;

12
wine-winhelp.desktop Normal file
View File

@ -0,0 +1,12 @@
[Desktop Entry]
Name=Wine Help
Comment=Windows Help Browser
Name[ar]=أداة المساعدة في واين
Comment[ar]=استعراض ملفات المساعدة بتنسيقات وندوز
Exec=wine winhlp32.exe
Icon=winhelp
Terminal=false
Type=Application
StartupNotify=true
StartupWMClass=winhlp32.exe
Categories=X-Wine;

12
wine-wordpad.desktop Normal file
View File

@ -0,0 +1,12 @@
[Desktop Entry]
Name=Wine Wordpad
Comment=Text Editor
Name[ar]=دفتر واين
Comment[ar]=محرر النّصوص دفتر واين
Exec=wine wordpad.exe
Icon=wordpad
Terminal=false
Type=Application
StartupNotify=true
StartupWMClass=wordpad.exe
Categories=X-Wine;

25
wine.appdata.xml Normal file
View File

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<component type="desktop">
<id>wine.desktop</id>
<metadata_license>CC0-1.0</metadata_license>
<project_license>LGPLv2+</project_license>
<name>Wine</name>
<summary>A compatibility layer for Windows applications</summary>
<description>
<p>
Wine (originally an acronym for "Wine Is Not an Emulator") is a compatibility
layer capable of running Windows applications on several POSIX-compliant operating
systems, such as Linux, macOS, &amp; BSD. Instead of simulating internal Windows
logic like a virtual machine or emulator, Wine translates Windows API calls into
POSIX calls on-the-fly, eliminating the performance and memory penalties of other
methods and allowing you to cleanly integrate Windows applications into your desktop.
</p>
</description>
<url type="homepage">https://www.winehq.org/</url>
<url type="bugtracker">https://bugs.winehq.org/</url>
<url type="faq">https://wiki.winehq.org/FAQ</url>
<url type="help">https://wiki.winehq.org/</url>
<url type="donation">https://www.winehq.org/donate</url>
<url type="translate">https://wiki.winehq.org/Translating</url>
</component>

5
wine.directory Normal file
View File

@ -0,0 +1,5 @@
[Desktop Entry]
Encoding=UTF-8
Type=Directory
Name=Wine
Icon=wine

13
wine.menu Normal file
View File

@ -0,0 +1,13 @@
<!DOCTYPE Menu
PUBLIC '-//freedesktop//DTD Menu 1.0//EN'
'http://standards.freedesktop.org/menu-spec/menu-1.0.dtd'>
<Menu>
<Name>Applications</Name>
<Menu>
<Name>wine-wine</Name>
<Directory>Wine.directory</Directory>
<Include>
<Category>X-Wine</Category>
</Include>
</Menu>
</Menu>

3914
wine.spec Normal file

File diff suppressed because it is too large Load Diff

5
wine.systemd Normal file
View File

@ -0,0 +1,5 @@
# Pre-PE Windows Executables
:windows:M::MZ::/usr/bin/wine:
# PE Windows Executables
:windowsPE:M::PE::/usr/bin/wine: