!4 上传wine9.0
From: @lishunlong6 Reviewed-by: @linchaochao Signed-off-by: @linchaochao
This commit is contained in:
commit
efd65a085a
36
README.en.md
36
README.en.md
@ -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/)
|
||||
37
README.md
37
README.md
@ -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/)
|
||||
@ -1 +0,0 @@
|
||||
/usr/lib/wine/
|
||||
@ -1,3 +0,0 @@
|
||||
version https://git-lfs.github.com/spec/v1
|
||||
oid sha256:a0e3139b0beaa8cd0cd3fbafc96cd6097df615caa7045f377aeccce70cddf5fc
|
||||
size 23630916
|
||||
@ -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-----
|
||||
@ -1 +0,0 @@
|
||||
/usr/lib64/wine/
|
||||
25
wine-7.22-autoconf-2.72.patch
Normal file
25
wine-7.22-autoconf-2.72.patch
Normal 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
BIN
wine-9.0.tar.xz
Normal file
Binary file not shown.
16
wine-9.0.tar.xz.sign
Normal file
16
wine-9.0.tar.xz.sign
Normal 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-----
|
||||
@ -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
115
wine-staging-9.0.patch
Normal 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
BIN
wine-staging-9.0.tar.gz
Normal file
Binary file not shown.
89
wine.init
89
wine.init
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user