!4 上传wine9.0

From: @lishunlong6 
Reviewed-by: @linchaochao 
Signed-off-by: @linchaochao
This commit is contained in:
openeuler-ci-bot 2024-01-26 03:48:58 +00:00 committed by Gitee
commit efd65a085a
No known key found for this signature in database
GPG Key ID: 173E9B9CA92EEF8F
14 changed files with 3197 additions and 1432 deletions

View File

@ -1,36 +0,0 @@
# wine
#### Description
allow Apps developed for Microsoft Windows to run on Unix-like operating systems
#### Software Architecture
Software architecture description
#### Installation
1. xxxx
2. xxxx
3. xxxx
#### Instructions
1. xxxx
2. xxxx
3. xxxx
#### Contribution
1. Fork the repository
2. Create Feat_xxx branch
3. Commit your code
4. Create Pull Request
#### Gitee Feature
1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md
2. Gitee blog [blog.gitee.com](https://blog.gitee.com)
3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
4. The most valuable open source project [GVP](https://gitee.com/gvp)
5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

View File

@ -1,37 +0,0 @@
# wine
#### 介绍
allow Apps developed for Microsoft Windows to run on Unix-like operating systems
#### 软件架构
软件架构说明
#### 安装教程
1. xxxx
2. xxxx
3. xxxx
#### 使用说明
1. xxxx
2. xxxx
3. xxxx
#### 参与贡献
1. Fork 本仓库
2. 新建 Feat_xxx 分支
3. 提交代码
4. 新建 Pull Request
#### 码云特技
1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md
2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com)
3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目
4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目
5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help)
6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)

View File

@ -1 +0,0 @@
/usr/lib/wine/

View File

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

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEE2iNXmnTUrZr50/lFzvrI6q8XUZ0FAl5+bJcACgkQzvrI6q8X
UZ1eZBAAneHEgkWN6guaBBAW9qal5khdIJOYTlBo7gCbunZvEFnDNQasqv1cfdal
oceiRlBxC+cb1EyZ1Y2SiJSCilb7Q689XZzBYcck84cyrPtfy5Gr7bSqoLEV+/5a
jj3iK6sqSnjVXCXbZV459bzdFAaNhnirlgRvcqP9xT/AmjcFJ2fpZxKRkNMFM6I+
fve+yGYFmBIG7UjFUd5+vy3DRApKgiTn6wpKIIpbqny+lvHmrjVp8MHitB/Q3ykb
MpGY0a1G72nDUz/WmvZl8+MfjsOQ8uwxaHla0ZR1hDm/oq5t34SMvp+BhHRqma4G
dQR3XKWRemYrBUbiFB4Mvs4lBUSpJUtLIf5Hqt/B2ZOpWewqPLtl3bBNEusFUcQW
TRZyQK6dV7CPXpK+zdo9qM8YcML8mWfxr3wH2hxzq9Gr5/VL76XmwCjYehTY9m8g
qB9kGew/i58oV9wmO+JP59TJrvpcxtg1ubP/QkXn9CteYAEWXwW3KhHi80ntBXb1
lv8Ty04jHRDCO2u1kHhvlty2BNg2ZQfgoStwOovqHM03NayElHt5bBkz6wktaoZA
Y/bMMFms0wzRDYxkA6cq0lH/Vb4yJyXL4Rdg3D+/t1hyiFIQYfIELUJBIrPD2L/D
xzdcXRtKl3v+aCYk98skkeo+uNa5ImFv58T+Rstg6DNWMHTv/co=
=dEeC
-----END PGP SIGNATURE-----

View File

@ -1 +0,0 @@
/usr/lib64/wine/

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-----

View File

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

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.

View File

@ -1,89 +0,0 @@
#!/bin/sh
#
# wine Allow users to run Windows(tm) applications by just clicking on them
# (or typing ./file.exe)
#
# chkconfig: 35 98 10
# description: Allow users to run Windows(tm) applications by just clicking \
# on them (or typing ./file.exe)
### BEGIN INIT INFO
# Provides: wine-binfmt
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: Add and remove wine binary handler
# Description: Allow users to run Windows(tm) applications by just clicking
# on them (or typing ./file.exe)
### END INIT INFO
. /etc/rc.d/init.d/functions
RETVAL=0
start() {
# fix bug on changing runlevels #213230
if [ -e /proc/sys/fs/binfmt_misc/windows ]; then
echo -n $"Binary handler for Windows applications already registered"
else
echo -n $"Registering binary handler for Windows applications: "
/sbin/modprobe binfmt_misc &>/dev/null
echo ':windows:M::MZ::/usr/bin/wine:' >/proc/sys/fs/binfmt_misc/register || :
echo ':windowsPE:M::PE::/usr/bin/wine:' >/proc/sys/fs/binfmt_misc/register || :
RETVAL=$?
[ $RETVAL -eq 0 ] && success || failure
fi
echo
}
stop() {
echo -n $"Unregistering binary handler for Windows applications: "
echo "-1" >/proc/sys/fs/binfmt_misc/windows || :
echo "-1" >/proc/sys/fs/binfmt_misc/windowsPE || :
RETVAL=$?
[ $RETVAL -eq 0 ] && success || failure
echo
}
wine_status() {
if [ -e /proc/sys/fs/binfmt_misc/windows ]; then
echo $"Wine binary format handlers are registered."
return 0
else
echo $"Wine binary format handlers are not registered."
return 3
fi
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
wine_status
RETVAL=$?
;;
restart)
stop
start
;;
reload)
stop
start
;;
condrestart|try-restart)
if [ -e /proc/sys/fs/binfmt_misc/windows ]; then
stop
start
fi
;;
*)
echo $"Usage: $prog {start|stop|status|restart|reload|try-restart}"
exit 1
esac
exit $RETVAL

4287
wine.spec

File diff suppressed because it is too large Load Diff