You've already forked wine-staging
mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Compare commits
295 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
9711296d1f | ||
|
eb2fe4eb91 | ||
|
dff451a72c | ||
|
f0c259b5e3 | ||
|
32197bdc15 | ||
|
ec3715b113 | ||
|
0184015194 | ||
|
84f5a647d0 | ||
|
f6dd131a74 | ||
|
0a38c0f4a6 | ||
|
b23f8c789b | ||
|
45e6770be6 | ||
|
7a3bc88055 | ||
|
bdfd218e7e | ||
|
2bc55e66c3 | ||
|
6f3699d87e | ||
|
4a9653f221 | ||
|
0054a6b6f5 | ||
|
d1b4dd170a | ||
|
16a22ca25b | ||
|
ae5372cbde | ||
|
dfe5839903 | ||
|
eefdde33ff | ||
|
6d60acbb21 | ||
|
113a63d374 | ||
|
14975afd63 | ||
|
e21bed742a | ||
|
493ed4662c | ||
|
5ec4d6171e | ||
|
8728442a9a | ||
|
76e7b82e31 | ||
|
5a24762b33 | ||
|
9454f5fc78 | ||
|
c23d8e2738 | ||
|
025e40edcc | ||
|
c258f95d4b | ||
|
45b80e1d0d | ||
|
8ccce27f89 | ||
|
d96eed9e17 | ||
|
510297d315 | ||
|
2a2d46a77e | ||
|
74f4d7b45e | ||
|
2393fd2c7e | ||
|
02879c0800 | ||
|
a9538a1965 | ||
|
1ce0efdd60 | ||
|
8f5172f8de | ||
|
0c6e311cea | ||
|
56447bdb5b | ||
|
a66e263db0 | ||
|
d9d1380650 | ||
|
7603fe0bc9 | ||
|
1b23958eb3 | ||
|
e4d5d84401 | ||
|
a5fac42aff | ||
|
278c0ed870 | ||
|
495e7f4985 | ||
|
75174bcf22 | ||
|
2315442bb2 | ||
|
77d2d3e4e0 | ||
|
06226bdc44 | ||
|
941323d469 | ||
|
0de1b91a1b | ||
|
5b94baf194 | ||
|
2fdae8614e | ||
|
e5c67078fd | ||
|
f4be181120 | ||
|
679a5cef17 | ||
|
c1c337b07c | ||
|
5f7b6bf45f | ||
|
a37730ab0e | ||
|
36e9309497 | ||
|
8f245e2d60 | ||
|
76d8009160 | ||
|
f1b8ef5d94 | ||
|
d205f22f1e | ||
|
d26abf2d93 | ||
|
9f011de1b5 | ||
|
a8303d406b | ||
|
800c42803f | ||
|
49d6414382 | ||
|
1d9163af16 | ||
|
cd4db49a74 | ||
|
b5c7642a3e | ||
|
65c559753a | ||
|
d709879134 | ||
|
0748a983e3 | ||
|
d1f4a25cbd | ||
|
6df5635400 | ||
|
fb6baf5e83 | ||
|
174139f1ea | ||
|
e3bece1c76 | ||
|
d7500bccd1 | ||
|
04f83c2765 | ||
|
56532e6bed | ||
|
afb95f8dde | ||
|
fae66ca721 | ||
|
67c7aead03 | ||
|
15581d6cce | ||
|
fc0847724e | ||
|
cde323b772 | ||
|
dfd86e0f91 | ||
|
16aad8a55f | ||
|
62117ba8d6 | ||
|
2da169a01b | ||
|
3b975fa4f2 | ||
|
8d92e1177f | ||
|
7dc75a302b | ||
|
7c8e6d90d3 | ||
|
872be6fa25 | ||
|
74b6722150 | ||
|
135024f481 | ||
|
53b570f698 | ||
|
dc16523d00 | ||
|
1dc4d9dc2f | ||
|
731305d018 | ||
|
c981072e0d | ||
|
e86a326f7b | ||
|
1aaf583c9f | ||
|
f644b88d3e | ||
|
3352a782c9 | ||
|
ec9b8ec16d | ||
|
094635f160 | ||
|
5f9893a79d | ||
|
6b5229ca83 | ||
|
6d10024c1e | ||
|
c361cbefb2 | ||
|
76b602e336 | ||
|
9f4a601887 | ||
|
b0071ce53e | ||
|
36ec2e0cf4 | ||
|
dde3ae24dd | ||
|
f6af570538 | ||
|
69ae1f591a | ||
|
31bd06cb42 | ||
|
0bef3b01c4 | ||
|
50b37c2d7e | ||
|
333de90b1a | ||
|
3daf410291 | ||
|
5a89756c6a | ||
|
7af67608ec | ||
|
7c0b90ad19 | ||
|
a1611c8fd0 | ||
|
12f0292934 | ||
|
53b165e070 | ||
|
6c70ccd388 | ||
|
703e98c1f5 | ||
|
5628355586 | ||
|
7c2dfd1e28 | ||
|
7765a19988 | ||
|
531ca00756 | ||
|
2672e6b4c5 | ||
|
a6f687dcc9 | ||
|
995b761dee | ||
|
44a9c0cc8a | ||
|
2b90f82b6a | ||
|
945ec28ec8 | ||
|
5fc6371a97 | ||
|
7a6fec3740 | ||
|
aaeb4db3b3 | ||
|
68ade392f8 | ||
|
f76f0d0052 | ||
|
0ccd396056 | ||
|
6b78b26763 | ||
|
d2765a37f2 | ||
|
0c2536b025 | ||
|
cc1da4895e | ||
|
a0f1f35843 | ||
|
26eb2942d0 | ||
|
16d40cf5d5 | ||
|
9149fde0ff | ||
|
a110e490b8 | ||
|
0af6df6bc0 | ||
|
4d919d4d83 | ||
|
32c289493f | ||
|
9fde9be110 | ||
|
ee2f208b2b | ||
|
002f664b68 | ||
|
9acb14c728 | ||
|
fd6ff0999c | ||
|
78327e5ead | ||
|
ccd977d649 | ||
|
873d07d7d7 | ||
|
2412d1f4eb | ||
|
32f681f893 | ||
|
0d67dee015 | ||
|
26d8a27276 | ||
|
6a8261887f | ||
|
e88424ebc6 | ||
|
0abc5f4b7b | ||
|
85364f3153 | ||
|
a2722e8fe9 | ||
|
2923808892 | ||
|
fdc5f5c1dd | ||
|
b9ec1ed8f5 | ||
|
ad87c93337 | ||
|
ce3f724ea2 | ||
|
0d0440ede9 | ||
|
7dc9e1b670 | ||
|
528e9ceec3 | ||
|
da512da861 | ||
|
e7ab8d7b04 | ||
|
bb8f219272 | ||
|
b54341886b | ||
|
088ca2f71d | ||
|
6d2e3ce903 | ||
|
4c9804d9f5 | ||
|
c7d100897a | ||
|
55902fb521 | ||
|
a428549415 | ||
|
0432712e4e | ||
|
b942798ef9 | ||
|
f576613dd2 | ||
|
9384283aca | ||
|
cf5c56ef11 | ||
|
c632b99fb5 | ||
|
f5c6731e84 | ||
|
cec272a2d4 | ||
|
1b2fa6c6cb | ||
|
016e539659 | ||
|
412af27a17 | ||
|
bcb19df630 | ||
|
79e542c24a | ||
|
c10eb9a4a1 | ||
|
79c69db369 | ||
|
763bb554cd | ||
|
7cad745ad6 | ||
|
92379575c7 | ||
|
2a1d1a0086 | ||
|
83cbd1daaa | ||
|
7f9bf47dd0 | ||
|
41484ad4ed | ||
|
4b4c5feb3d | ||
|
5972e18a71 | ||
|
baa05e4719 | ||
|
ca8ffcd619 | ||
|
b2297b41c3 | ||
|
f09433417e | ||
|
349ba2df2a | ||
|
9573b57d3c | ||
|
0defa32dfb | ||
|
1c29f7db86 | ||
|
bfb112653c | ||
|
7a5534ac75 | ||
|
1bbf522c01 | ||
|
95496eedab | ||
|
13effc62f8 | ||
|
975564c566 | ||
|
8e4c7f1017 | ||
|
e2d58b98e4 | ||
|
26e06cc151 | ||
|
90bf076dfc | ||
|
dcfee86e79 | ||
|
a3ca9927db | ||
|
d114a05de3 | ||
|
fb7bff38de | ||
|
2a8300034c | ||
|
1b0d071e41 | ||
|
134b99fbb2 | ||
|
c3c9472eb4 | ||
|
5215a311fe | ||
|
d3dbcb9165 | ||
|
53734776f6 | ||
|
54451f955b | ||
|
2fbbd765c6 | ||
|
954aed181c | ||
|
da0ebd230f | ||
|
6fb06b865c | ||
|
ffe90cf9f7 | ||
|
d6a8a1d8a1 | ||
|
7fd064ce86 | ||
|
20f6d63e2b | ||
|
bd4c1e3006 | ||
|
0a1e04b9f2 | ||
|
977b8b34ad | ||
|
caf809b1d5 | ||
|
d532c3b5bd | ||
|
952ab53219 | ||
|
e44c30c64e | ||
|
41f0cda558 | ||
|
552d300345 | ||
|
1143708578 | ||
|
aa817e83cf | ||
|
1bb34e22a6 | ||
|
dd18228f7d | ||
|
a78acf275d | ||
|
8ace9d57c0 | ||
|
0c248ecda3 | ||
|
04b7095098 | ||
|
d97efcbab3 | ||
|
52e3343bbb | ||
|
ab87b19a87 | ||
|
3426979ddf | ||
|
3f7b4894a7 | ||
|
e0390d0bdb |
112
README.md
112
README.md
@@ -39,7 +39,7 @@ Wine. All those differences are also documented on the
|
||||
Included bug fixes and improvements
|
||||
-----------------------------------
|
||||
|
||||
**Bug fixes and features in Wine Staging 1.7.42 [221]:**
|
||||
**Bug fixes and features in Wine Staging 1.7.49 [235]:**
|
||||
|
||||
*Note: The following list only contains features and bug fixes which are not
|
||||
yet available in vanilla Wine. They are removed from the list as soon as they
|
||||
@@ -48,22 +48,19 @@ releases, take a look at the
|
||||
[changelog](https://github.com/wine-compholio/wine-staging/blob/master/debian/changelog)
|
||||
for more details.*
|
||||
|
||||
* Add HTTP Host header in HttpSendRequest instead of HttpOpenRequest ([Wine Bug #28911](https://bugs.winehq.org/show_bug.cgi?id=28911))
|
||||
* Add a ProfileList\<UserSID> registry subkey ([Wine Bug #15670](https://bugs.winehq.org/show_bug.cgi?id=15670))
|
||||
* Add default ACLs for user shell folders
|
||||
* Add implementation for CreateThreadpool ([Wine Bug #35192](https://bugs.winehq.org/show_bug.cgi?id=35192))
|
||||
* Add implementation for mfplat.MFTRegister ([Wine Bug #37811](https://bugs.winehq.org/show_bug.cgi?id=37811))
|
||||
* Add implementation for shlwapi.AssocGetPerceivedType
|
||||
* Add nvapi stubs required for GPU PhysX support
|
||||
* Add performance library registry keys needed by MS SQL Server Management Studio Express 2008 R2 ([Wine Bug #33661](https://bugs.winehq.org/show_bug.cgi?id=33661))
|
||||
* Add semi-stub for GetFileVersionInfoExA/W ([Wine Bug #38098](https://bugs.winehq.org/show_bug.cgi?id=38098))
|
||||
* Add semi-stub for GetFileVersionInfoSizeExA/W ([Wine Bug #38090](https://bugs.winehq.org/show_bug.cgi?id=38090))
|
||||
* Add semi-stub for FileFsVolumeInformation information class ([Wine Bug #21466](https://bugs.winehq.org/show_bug.cgi?id=21466))
|
||||
* Add shell32 placeholder icons to match offsets with Windows ([Wine Bug #30185](https://bugs.winehq.org/show_bug.cgi?id=30185))
|
||||
* Add stub dlls required for MSVC 2015 runtime library (Windows 10)
|
||||
* Add stub fltmgr.sys (filter manager driver) ([Wine Bug #23583](https://bugs.winehq.org/show_bug.cgi?id=23583))
|
||||
* Add stub for D3DXComputeNormalMap
|
||||
* Add stub for D3DXComputeTangentFrameEx ([Wine Bug #31984](https://bugs.winehq.org/show_bug.cgi?id=31984))
|
||||
* Add stub for D3DXFrameFind ([Wine Bug #38334](https://bugs.winehq.org/show_bug.cgi?id=38334))
|
||||
* Add stub for D3DXIntersect
|
||||
* Add stub for NtSetLdtEntries/ZwSetLdtEntries ([Wine Bug #26268](https://bugs.winehq.org/show_bug.cgi?id=26268))
|
||||
* Add stub for advapi32.ImpersonateAnonymousToken
|
||||
* Add stub for d3d11.D3D11CreateDeviceAndSwapChain ([Wine Bug #33153](https://bugs.winehq.org/show_bug.cgi?id=33153))
|
||||
* Add stub for gdiplus.GdipCreateEffect ([Wine Bug #32163](https://bugs.winehq.org/show_bug.cgi?id=32163))
|
||||
* Add stub for ntoskrnl.ExAcquireResourceExclusiveLite
|
||||
* Add stub for ntoskrnl.ExDeleteResourceLite
|
||||
@@ -73,11 +70,19 @@ for more details.*
|
||||
* Add stub for ntoskrnl.PsRemoveLoadImageNotifyRoutine
|
||||
* Add stub for setupapi.SetupDiSelectBestCompatDrv ([Wine Bug #32088](https://bugs.winehq.org/show_bug.cgi?id=32088))
|
||||
* Add stub for wininet.ParseX509EncodedCertificateForListBoxEntry ([Wine Bug #29842](https://bugs.winehq.org/show_bug.cgi?id=29842))
|
||||
* Add stub for winscard.SCardListReadersA/W ([Wine Bug #26978](https://bugs.winehq.org/show_bug.cgi?id=26978))
|
||||
* Add stub for winsta.WinStationEnumerateW ([Wine Bug #38102](https://bugs.winehq.org/show_bug.cgi?id=38102))
|
||||
* Add stubbed ISWbemSecurity interfaces in wbemdisp
|
||||
* Add stubs for D3DCompile2 and D3DCompileFromFile
|
||||
* Add stubs for D3DXCreateAnimationController interface
|
||||
* Add stubs for additional wininet options in InternetSetOption
|
||||
* Add stubs for d3dx10_43.D3DX10CreateEffectFromFileA/W ([Wine Bug #27739](https://bugs.winehq.org/show_bug.cgi?id=27739))
|
||||
* Add support for CopyFileEx progress callback ([Wine Bug #22692](https://bugs.winehq.org/show_bug.cgi?id=22692))
|
||||
* Add support for GTK3 theming
|
||||
* Add support for GetPropValue to PulseAudio backend
|
||||
* Add support for hiding wine version information from applications ([Wine Bug #38656](https://bugs.winehq.org/show_bug.cgi?id=38656))
|
||||
* Add support for process specific debug channels
|
||||
* Add support for wbemprox Win32_SystemEnclosure table ([Wine Bug #34517](https://bugs.winehq.org/show_bug.cgi?id=34517))
|
||||
* Add wined3d detection for GeForce GT 425M ([Wine Bug #35054](https://bugs.winehq.org/show_bug.cgi?id=35054))
|
||||
* Adobe Reader needs ITextSelection_fnGetDuplicate implementation
|
||||
* Allow selection of audio device for PulseAudio backend
|
||||
* Allow special characters in pipe names ([Wine Bug #28995](https://bugs.winehq.org/show_bug.cgi?id=28995))
|
||||
@@ -85,7 +90,9 @@ for more details.*
|
||||
* Allow to edit winecfg library override by double clicking
|
||||
* Allow to open files/directories without any access rights in order to query attributes
|
||||
* Allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE. ([Wine Bug #12652](https://bugs.winehq.org/show_bug.cgi?id=12652))
|
||||
* Allow to set pixel format for desktop window
|
||||
* Anno 1602 installer depends on Windows 98 behavior of SHFileOperationW ([Wine Bug #37916](https://bugs.winehq.org/show_bug.cgi?id=37916))
|
||||
* Assign a drive serial number during prefix creation/update ([Wine Bug #17823](https://bugs.winehq.org/show_bug.cgi?id=17823))
|
||||
* Audio stuttering and performance drops in multiple applications ([Wine Bug #30639](https://bugs.winehq.org/show_bug.cgi?id=30639))
|
||||
* Avoid crashing when broken app tries to release surface although refcount is zero ([Wine Bug #18477](https://bugs.winehq.org/show_bug.cgi?id=18477))
|
||||
* Avoid race-conditions in NtReadFile() operations with write watches.
|
||||
@@ -97,32 +104,31 @@ for more details.*
|
||||
* Black & White needs DXTn software decoding support ([Wine Bug #14939](https://bugs.winehq.org/show_bug.cgi?id=14939))
|
||||
* CPU-Z fails to start because GetLogicalProcessorInformationEx returns FALSE
|
||||
* Calculate msvcrt exponential math operations with higher precision ([Wine Bug #37149](https://bugs.winehq.org/show_bug.cgi?id=37149))
|
||||
* Create HKLM\Software\Microsoft\Cryptography\MachineGuid registry key ([Wine Bug #38508](https://bugs.winehq.org/show_bug.cgi?id=38508))
|
||||
* Check architecture before trying to load libraries ([Wine Bug #38021](https://bugs.winehq.org/show_bug.cgi?id=38021))
|
||||
* Create stub files for system32/drivers/etc/{services,hosts,networks,protocol} ([Wine Bug #12076](https://bugs.winehq.org/show_bug.cgi?id=12076))
|
||||
* CreateProcess does not prioritize the working directory over the system search path ([Wine Bug #23934](https://bugs.winehq.org/show_bug.cgi?id=23934))
|
||||
* D3DCompileShader should filter specific warning messages ([Wine Bug #33770](https://bugs.winehq.org/show_bug.cgi?id=33770))
|
||||
* Do not append duplicate NULL characters when importing keys with regedit ([Wine Bug #37575](https://bugs.winehq.org/show_bug.cgi?id=37575))
|
||||
* Do not fail when a used context is passed to wglShareLists ([Wine Bug #11436](https://bugs.winehq.org/show_bug.cgi?id=11436))
|
||||
* Emulate \Device\Null using /dev/null ([Wine Bug #38107](https://bugs.winehq.org/show_bug.cgi?id=38107))
|
||||
* Emulate access to KI_USER_SHARED_DATA kernel page on x86_64 ([Wine Bug #33849](https://bugs.winehq.org/show_bug.cgi?id=33849))
|
||||
* Do not use unixfs for devices without mountpoint
|
||||
* Enforce that surfaces are flushed after ReleaseDC
|
||||
* Ensure NtProtectVirtualMemory and NtCreateSection are on separate pages ([Wine Bug #33162](https://bugs.winehq.org/show_bug.cgi?id=33162))
|
||||
* Ensure X11 input events are handled even without explicit message loop ([Wine Bug #8854](https://bugs.winehq.org/show_bug.cgi?id=8854))
|
||||
* Exception during start of fr-043 caused by missing DXTn support ([Wine Bug #37391](https://bugs.winehq.org/show_bug.cgi?id=37391))
|
||||
* Export additional OpenAL32 functions ([Wine Bug #38972](https://bugs.winehq.org/show_bug.cgi?id=38972))
|
||||
* Expose PKEY_AudioEndpoint_PhysicalSpeakers device property in PulseAudio driver
|
||||
* FEAR 1 installer expects basic_string_wchar_dtor to return NULL ([Wine Bug #37358](https://bugs.winehq.org/show_bug.cgi?id=37358))
|
||||
* Fallback to global key state for threads without a queue ([Wine Bug #27238](https://bugs.winehq.org/show_bug.cgi?id=27238))
|
||||
* Fake success in IViewObject::Draw stub ([Wine Bug #30611](https://bugs.winehq.org/show_bug.cgi?id=30611))
|
||||
* Fake success in kernel32.SetFileCompletionNotificationModes ([Wine Bug #38960](https://bugs.winehq.org/show_bug.cgi?id=38960))
|
||||
* Fallback to system ping command when CAP_NET_RAW is not available ([Wine Bug #8332](https://bugs.winehq.org/show_bug.cgi?id=8332))
|
||||
* Fix NULL dereference in ICSeqCompressFrameStart ([Wine Bug #27595](https://bugs.winehq.org/show_bug.cgi?id=27595))
|
||||
* Fix access violation when calling GetStringTypeW with NULL src. ([Wine Bug #37759](https://bugs.winehq.org/show_bug.cgi?id=37759))
|
||||
* Fix black screen on startup introduced by pixelformat changes. ([Wine Bug #35950](https://bugs.winehq.org/show_bug.cgi?id=35950))
|
||||
* Fix caps lock state issues with multiple processes ([Wine Bug #35907](https://bugs.winehq.org/show_bug.cgi?id=35907))
|
||||
* Fix comparison of punctuation characters in lstrcmp ([Wine Bug #10767](https://bugs.winehq.org/show_bug.cgi?id=10767))
|
||||
* Fix condition mask handling in RtlVerifyVersionInfo ([Wine Bug #36143](https://bugs.winehq.org/show_bug.cgi?id=36143))
|
||||
* Fix crash in Space Rangers2 caused by missing DXTn support ([Wine Bug #24983](https://bugs.winehq.org/show_bug.cgi?id=24983))
|
||||
* Fix crash in clip_cursor_notify caused by uninitialized TLS ([Wine Bug #36915](https://bugs.winehq.org/show_bug.cgi?id=36915))
|
||||
* Fix crash of Trine Demo on start ([Wine Bug #19231](https://bugs.winehq.org/show_bug.cgi?id=19231))
|
||||
* Fix crash of winedevice when relocation entry crosses page boundary ([Wine Bug #28254](https://bugs.winehq.org/show_bug.cgi?id=28254))
|
||||
* Fix cursor clip regression / broken raw input in multiple games ([Wine Bug #33479](https://bugs.winehq.org/show_bug.cgi?id=33479))
|
||||
* Fix device paths in HKLM\SYSTEM\MountedDevices ([Wine Bug #38235](https://bugs.winehq.org/show_bug.cgi?id=38235))
|
||||
* Fix endless loop in regedit when importing files with very long lines
|
||||
* Fix flickering introduced by pixelformat changes. ([Wine Bug #35718](https://bugs.winehq.org/show_bug.cgi?id=35718))
|
||||
* Fix for ConnectNamedPort return value in overlapped mode ([Wine Bug #16550](https://bugs.winehq.org/show_bug.cgi?id=16550))
|
||||
* Fix for programs leaking wndproc slots ([Wine Bug #32451](https://bugs.winehq.org/show_bug.cgi?id=32451))
|
||||
@@ -131,15 +137,18 @@ for more details.*
|
||||
* Fix handling of ANSI NTLM credentials ([Wine Bug #37063](https://bugs.winehq.org/show_bug.cgi?id=37063))
|
||||
* Fix handling of empty section and key name for profile files. ([Wine Bug #8036](https://bugs.winehq.org/show_bug.cgi?id=8036))
|
||||
* Fix handling of invert_y in DrawTextExW ([Wine Bug #22109](https://bugs.winehq.org/show_bug.cgi?id=22109))
|
||||
* Fix handling of opening a file with RootDirectory pointing to a file handle
|
||||
* Fix handling of opening read-only files for FILE_DELETE_ON_CLOSE ([Wine Bug #38417](https://bugs.winehq.org/show_bug.cgi?id=38417))
|
||||
* Fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED ([Wine Bug #37876](https://bugs.winehq.org/show_bug.cgi?id=37876))
|
||||
* Fix issues with dragging layers between images in Adobe Photoshop 7.0 ([Wine Bug #12007](https://bugs.winehq.org/show_bug.cgi?id=12007))
|
||||
* Fix missing video introduced by pixelformat changes. ([Wine Bug #36900](https://bugs.winehq.org/show_bug.cgi?id=36900))
|
||||
* Fix multithreading issues with fullscreen clipping ([Wine Bug #38087](https://bugs.winehq.org/show_bug.cgi?id=38087))
|
||||
* Fix possible integer overflow in VarR4FromDec ([Wine Bug #38988](https://bugs.winehq.org/show_bug.cgi?id=38988))
|
||||
* Fix possible segfault in pulse_rd_loop of PulseAudio backend
|
||||
* Fix race-condition when threads are killed during shutdown
|
||||
* Fix regression caused by blacklisting supported OpenGL extensions ([Wine Bug #38480](https://bugs.winehq.org/show_bug.cgi?id=38480))
|
||||
* Fix return value of ScrollWindowEx for invisible windows ([Wine Bug #37706](https://bugs.winehq.org/show_bug.cgi?id=37706))
|
||||
* Fix scaling behaviour of images and mipmap levels in IDirect3DTexture2_Load (needed for example by Prezzie Hunt)
|
||||
* Fix texture corruption in CSI: Fatal Conspiracy ([Wine Bug #33768](https://bugs.winehq.org/show_bug.cgi?id=33768))
|
||||
* Fix unintentional leaks with ntdll internals
|
||||
* Fix wined3d performance drop introduced by pixelformat changes. ([Wine Bug #35655](https://bugs.winehq.org/show_bug.cgi?id=35655))
|
||||
@@ -147,93 +156,91 @@ for more details.*
|
||||
* Fix wrong defition of ntoskrnl.IoReleaseCancelSpinLock function.
|
||||
* Fix wrong version of ID3DXEffect interface for d3dx9_24
|
||||
* Fix wrong version of ID3DXEffect interface for d3dx9_25 ([Wine Bug #25138](https://bugs.winehq.org/show_bug.cgi?id=25138))
|
||||
* Games For Windows Live 1.x expects a valid linker version in the PE header ([Wine Bug #28768](https://bugs.winehq.org/show_bug.cgi?id=28768))
|
||||
* Forward exitcode from child process when in wineconsole
|
||||
* Free RPC parameters allocated by application before anything else ([Wine Bug #36743](https://bugs.winehq.org/show_bug.cgi?id=36743))
|
||||
* GetMessage should remove already seen messages with higher priority ([Wine Bug #28884](https://bugs.winehq.org/show_bug.cgi?id=28884))
|
||||
* GetMonitorInfo returns the same name for all monitors ([Wine Bug #37709](https://bugs.winehq.org/show_bug.cgi?id=37709))
|
||||
* GetSecurityInfo returns NULL DACL for process object ([Wine Bug #15980](https://bugs.winehq.org/show_bug.cgi?id=15980))
|
||||
* Globally invalidate key state on changes in other threads ([Wine Bug #29871](https://bugs.winehq.org/show_bug.cgi?id=29871))
|
||||
* Graphical issues in Inquisitor ([Wine Bug #32490](https://bugs.winehq.org/show_bug.cgi?id=32490))
|
||||
* IOCTL_DVD_READ_STRUCTURE expects the wrong size of output buffer for some requests ([Wine Bug #37767](https://bugs.winehq.org/show_bug.cgi?id=37767))
|
||||
* Ignore garbage after decoding gif lines ([Wine Bug #32227](https://bugs.winehq.org/show_bug.cgi?id=32227))
|
||||
* Ignore unsupported flags for CoInternetSetFeatureEnabled ([Wine Bug #35197](https://bugs.winehq.org/show_bug.cgi?id=35197))
|
||||
* Implement AMStream GetMultiMediaStream functions ([Wine Bug #37090](https://bugs.winehq.org/show_bug.cgi?id=37090))
|
||||
* Implement D3DXGetShaderOutputSemantics
|
||||
* Implement DDENUMSURFACES_CANBECREATED in IDirectDraw7::EnumSurfaces ([Wine Bug #17233](https://bugs.winehq.org/show_bug.cgi?id=17233))
|
||||
* Implement ID3DXEffect::FindNextValidTechnique ([Wine Bug #34101](https://bugs.winehq.org/show_bug.cgi?id=34101))
|
||||
* Implement IDXGIOutput::GetDesc
|
||||
* Implement SetFileInformationByHandle
|
||||
* Implement a Microsoft Yahei replacement font ([Wine Bug #13829](https://bugs.winehq.org/show_bug.cgi?id=13829))
|
||||
* Implement additional stubs for vcomp dlls ([Wine Bug #31640](https://bugs.winehq.org/show_bug.cgi?id=31640))
|
||||
* Implement an Arial replacement font ([Wine Bug #32323](https://bugs.winehq.org/show_bug.cgi?id=32323))
|
||||
* Implement combase.WindowsSubstring function
|
||||
* Implement default homepage button in inetcpl.cpl
|
||||
* Implement empty enumerator for IWiaDevMgr::EnumDeviceInfo ([Wine Bug #27775](https://bugs.winehq.org/show_bug.cgi?id=27775))
|
||||
* Implement exclusive mode in PulseAudio backend ([Wine Bug #37042](https://bugs.winehq.org/show_bug.cgi?id=37042))
|
||||
* Implement general tab for file property dialog
|
||||
* Implement locking and synchronization of key states ([Wine Bug #31899](https://bugs.winehq.org/show_bug.cgi?id=31899))
|
||||
* Implement mscoree._CorValidateImage for mono runtime
|
||||
* Implement mscoree._CorValidateImage for mono runtime ([Wine Bug #38662](https://bugs.winehq.org/show_bug.cgi?id=38662))
|
||||
* Implement ntoskrnl driver testing framework.
|
||||
* Implement ntoskrnl.KeInitializeMutex
|
||||
* Implement proper handling of CLI .NET images in Wine library loader
|
||||
* Implement proper handling of CLI .NET images in Wine library loader ([Wine Bug #38661](https://bugs.winehq.org/show_bug.cgi?id=38661))
|
||||
* Implement stub for ntoskrnl.IoGetAttachedDeviceReference
|
||||
* Implement stub for ntoskrnl.KeDelayExecutionThread.
|
||||
* Implement stub for vcomp._vcomp_flush ([Wine Bug #39058](https://bugs.winehq.org/show_bug.cgi?id=39058))
|
||||
* Implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe
|
||||
* Implement stubs for ntoskrnl.ObReferenceObjectByPointer and ntoskrnl.ObDereferenceObject
|
||||
* Implement threadpool timers ([Wine Bug #37306](https://bugs.winehq.org/show_bug.cgi?id=37306))
|
||||
* Implement threadpool wait objects
|
||||
* Implement threadpool work items ([Wine Bug #32531](https://bugs.winehq.org/show_bug.cgi?id=32531))
|
||||
* Improve ReadDataAvailable handling in FilePipeLocalInformation class
|
||||
* Improve stub for AEV_GetVolumeRange ([Wine Bug #35658](https://bugs.winehq.org/show_bug.cgi?id=35658))
|
||||
* Improve stub for ID3DXEffectImpl_CloneEffect
|
||||
* Improve stub for NtQueryEaFile
|
||||
* Improve stubs for AEV_{Get,Set}MasterVolumeLevel
|
||||
* Improve stubs for AEV_{Get,Set}Mute
|
||||
* Improve stubs for dxgi MakeWindowAssociation and GetWindowAssociation
|
||||
* Improvement for heap allocation performance
|
||||
* Initialize *lpcDevices in RasEnumDevicesA ([Wine Bug #30378](https://bugs.winehq.org/show_bug.cgi?id=30378))
|
||||
* Initialize System\CurrentControlSet\Control\TimeZoneInformation registry keys
|
||||
* Jedi Knight: Dark Forces II crashes with winmm set to native ([Wine Bug #37983](https://bugs.winehq.org/show_bug.cgi?id=37983))
|
||||
* Lego Stunt Rally requires DXTn software de/encoding support ([Wine Bug #25486](https://bugs.winehq.org/show_bug.cgi?id=25486))
|
||||
* Lockfree algorithm for filedescriptor cache (improves file access speed)
|
||||
* MSVCRT crashes when NULL is passed as string to atof or strtod ([Wine Bug #32550](https://bugs.winehq.org/show_bug.cgi?id=32550))
|
||||
* MSYS2 expects correct handling of WRITECOPY memory protection ([Wine Bug #35561](https://bugs.winehq.org/show_bug.cgi?id=35561))
|
||||
* Make it possible to change media center / tablet pc status ([Wine Bug #18732](https://bugs.winehq.org/show_bug.cgi?id=18732))
|
||||
* MediaCoder needs CUDA for video encoding ([Wine Bug #37664](https://bugs.winehq.org/show_bug.cgi?id=37664))
|
||||
* Move cookie initialization code from memory management to loader ([Wine Bug #39040](https://bugs.winehq.org/show_bug.cgi?id=39040))
|
||||
* Multiple applications need EnumDisplayDevicesW implementation ([Wine Bug #34978](https://bugs.winehq.org/show_bug.cgi?id=34978))
|
||||
* Multiple applications start wrong executable if whitespace present in name ([Wine Bug #19666](https://bugs.winehq.org/show_bug.cgi?id=19666))
|
||||
* Need for Speed 3 installer requires devices in HKEY_DYN_DATA ([Wine Bug #7115](https://bugs.winehq.org/show_bug.cgi?id=7115))
|
||||
* OpenClipboard with current owner shouldn't fail ([Wine Bug #2805](https://bugs.winehq.org/show_bug.cgi?id=2805))
|
||||
* Other Pipelight-specific enhancements
|
||||
* Port Royale doesn't display ocean correctly ([Wine Bug #17913](https://bugs.winehq.org/show_bug.cgi?id=17913))
|
||||
* Prevent window managers from grouping all wine programs together ([Wine Bug #32699](https://bugs.winehq.org/show_bug.cgi?id=32699))
|
||||
* Process APC calls before starting process
|
||||
* Process Hacker 2.x needs ntoskrnl.ProbeForRead ([Wine Bug #38103](https://bugs.winehq.org/show_bug.cgi?id=38103))
|
||||
* Properly handle closing sockets during a select call ([Wine Bug #38399](https://bugs.winehq.org/show_bug.cgi?id=38399))
|
||||
* Python PIP needs better NtQueryInformationJobObject stub
|
||||
* Reduced SetTimer minimum value from 10 ms to 5 ms (improves Silverlight framerates)
|
||||
* Reset device state in SysKeyboard*Impl_Acquire ([Wine Bug #11607](https://bugs.winehq.org/show_bug.cgi?id=11607))
|
||||
* Return an error when trying to open a terminated process ([Wine Bug #37087](https://bugs.winehq.org/show_bug.cgi?id=37087))
|
||||
* Return correct IMediaSeeking stream positions in quartz ([Wine Bug #23174](https://bugs.winehq.org/show_bug.cgi?id=23174))
|
||||
* Return correct device type for cd devices without medium
|
||||
* Return correct IMediaSeeking stream positions in quartz
|
||||
* Return correct values for GetThreadTimes function ([Wine Bug #20230](https://bugs.winehq.org/show_bug.cgi?id=20230))
|
||||
* Return failure in NtProtectVirtualMemory when last argument is omitted ([Wine Bug #38495](https://bugs.winehq.org/show_bug.cgi?id=38495))
|
||||
* Return default palette entries from GetSystemPaletteEntries for non-palette-based devices ([Wine Bug #36895](https://bugs.winehq.org/show_bug.cgi?id=36895))
|
||||
* Return dummy ID3DXSkinInfo interface when skinning info not present ([Wine Bug #33904](https://bugs.winehq.org/show_bug.cgi?id=33904))
|
||||
* Return fake device type when systemroot is located on virtual disk ([Wine Bug #36546](https://bugs.winehq.org/show_bug.cgi?id=36546))
|
||||
* Return proper status codes when NtReadFile/NtWriteFile is called on closed (but not disconnected) pipe
|
||||
* SO_CONNECT_TIME returns the appropriate time
|
||||
* Scrolling causes mouse and screen to lock in Call to Power II ([Wine Bug #34559](https://bugs.winehq.org/show_bug.cgi?id=34559))
|
||||
* Send WM_PAINT event during dialog creation ([Wine Bug #35652](https://bugs.winehq.org/show_bug.cgi?id=35652))
|
||||
* Set last error when GetRawInputDeviceList fails ([Wine Bug #37667](https://bugs.winehq.org/show_bug.cgi?id=37667))
|
||||
* Set NamedPipeState to FILE_PIPE_CLOSING_STATE on broken pipe in NtQueryInformationFile
|
||||
* Share source of d3dx9_36 with d3dx9_33 to avoid Wine DLL forwards ([Wine Bug #21817](https://bugs.winehq.org/show_bug.cgi?id=21817))
|
||||
* Show unmounted devices in winecfg and allow changing the unix path
|
||||
* Silence repeated LocaleNameToLCID/LCIDToLocaleName unsupported flags FIXMEs ([Wine Bug #30076](https://bugs.winehq.org/show_bug.cgi?id=30076))
|
||||
* Silence repeated wbemprox "timeout not supported" fixme ([Wine Bug #37618](https://bugs.winehq.org/show_bug.cgi?id=37618))
|
||||
* Skip unknown item when decoding a CMS certificate ([Wine Bug #34388](https://bugs.winehq.org/show_bug.cgi?id=34388))
|
||||
* Software support for Environmental Audio Extensions (EAX)
|
||||
* Store registry timestamps with nanoseconds precision ([Wine Bug #38927](https://bugs.winehq.org/show_bug.cgi?id=38927))
|
||||
* Super Mario 3: Mario Forever fails to load keyboard mapping from profile files. ([Wine Bug #18099](https://bugs.winehq.org/show_bug.cgi?id=18099))
|
||||
* Support for 8bpp grayscale TIFF images with 8bpp alpha channel ([Wine Bug #38027](https://bugs.winehq.org/show_bug.cgi?id=38027))
|
||||
* Support for AllocateAndGetTcpExTableFromStack ([Wine Bug #34372](https://bugs.winehq.org/show_bug.cgi?id=34372))
|
||||
* Support for BindImageEx ([Wine Bug #3591](https://bugs.winehq.org/show_bug.cgi?id=3591))
|
||||
* Support for CSMT (command stream) to increase graphic performance ([Wine Bug #11674](https://bugs.winehq.org/show_bug.cgi?id=11674))
|
||||
* Support for CUDA GPU video decoding
|
||||
* Support for D3DXComputeNormals ([Wine Bug #26379](https://bugs.winehq.org/show_bug.cgi?id=26379))
|
||||
* Support for D3DXGetShaderInputSemantics ([Wine Bug #22682](https://bugs.winehq.org/show_bug.cgi?id=22682))
|
||||
* Support for DDS file format in D3DXSaveTextureToFileInMemory ([Wine Bug #26898](https://bugs.winehq.org/show_bug.cgi?id=26898))
|
||||
* Support for DOS hidden/system file attributes ([Wine Bug #9158](https://bugs.winehq.org/show_bug.cgi?id=9158))
|
||||
* Support for FileFsFullSizeInformation information class
|
||||
* Support for GdipCreateRegionRgnData ([Wine Bug #34843](https://bugs.winehq.org/show_bug.cgi?id=34843))
|
||||
* Support for GetFinalPathNameByHandle ([Wine Bug #34851](https://bugs.winehq.org/show_bug.cgi?id=34851))
|
||||
* Support for GetSystemTimes ([Wine Bug #19813](https://bugs.winehq.org/show_bug.cgi?id=19813))
|
||||
* Support for GetVolumePathName
|
||||
* Support for H264 DXVA2 GPU video decoding through vaapi
|
||||
* Support for ID3DXFont::DrawTextA/W ([Wine Bug #24754](https://bugs.winehq.org/show_bug.cgi?id=24754))
|
||||
* Support for ID3DXSkinInfoImpl_UpdateSkinnedMesh ([Wine Bug #32572](https://bugs.winehq.org/show_bug.cgi?id=32572))
|
||||
* Support for ITextDocument_fnRange function ([Wine Bug #12458](https://bugs.winehq.org/show_bug.cgi?id=12458))
|
||||
* Support for ITextRange, ITextFont and ITextPara ([Wine Bug #18303](https://bugs.winehq.org/show_bug.cgi?id=18303))
|
||||
* Support for Junction Points ([Wine Bug #12401](https://bugs.winehq.org/show_bug.cgi?id=12401))
|
||||
* Support for KF_FLAG_DEFAULT_PATH in SHGetKnownFolderPath ([Wine Bug #30385](https://bugs.winehq.org/show_bug.cgi?id=30385))
|
||||
* Support for LoadIconMetric ([Wine Bug #35375](https://bugs.winehq.org/show_bug.cgi?id=35375))
|
||||
@@ -241,13 +248,14 @@ for more details.*
|
||||
* Support for NVIDIA video encoder library (nvencodeapi)
|
||||
* Support for NtQuerySection ([Wine Bug #37338](https://bugs.winehq.org/show_bug.cgi?id=37338))
|
||||
* Support for NtSetInformationFile class FileDispositionInformation ([Wine Bug #30397](https://bugs.winehq.org/show_bug.cgi?id=30397))
|
||||
* Support for NtSetInformationFile class FileLinkInformation
|
||||
* Support for NtSetInformationFile class FileRenameInformation ([Wine Bug #30399](https://bugs.winehq.org/show_bug.cgi?id=30399))
|
||||
* Support for PulseAudio backend for audio ([Wine Bug #10495](https://bugs.winehq.org/show_bug.cgi?id=10495))
|
||||
* Support for RtlDecompressBuffer ([Wine Bug #37449](https://bugs.winehq.org/show_bug.cgi?id=37449))
|
||||
* Support for SHCreateSessionKey ([Wine Bug #35630](https://bugs.winehq.org/show_bug.cgi?id=35630))
|
||||
* Support for TransmitFile ([Wine Bug #5048](https://bugs.winehq.org/show_bug.cgi?id=5048))
|
||||
* Support for WTSEnumerateProcessesW ([Wine Bug #29903](https://bugs.winehq.org/show_bug.cgi?id=29903))
|
||||
* Support for extra large and jumbo icon lists in shell32 ([Wine Bug #24721](https://bugs.winehq.org/show_bug.cgi?id=24721))
|
||||
* Support for inherited file ACLs ([Wine Bug #34406](https://bugs.winehq.org/show_bug.cgi?id=34406))
|
||||
* Support for inherited file ACLs
|
||||
* Support for linux priority levels for faster performance
|
||||
* Support for loader dll redirections
|
||||
* Support for named pipe message mode (Linux only) ([Wine Bug #17195](https://bugs.winehq.org/show_bug.cgi?id=17195))
|
||||
@@ -257,13 +265,19 @@ for more details.*
|
||||
* Support for setcap on wine-preloader ([Wine Bug #26256](https://bugs.winehq.org/show_bug.cgi?id=26256))
|
||||
* Support for shell32 file operation progress dialog
|
||||
* Support for stored file ACLs ([Wine Bug #33576](https://bugs.winehq.org/show_bug.cgi?id=33576))
|
||||
* Support for ws2_32.dll.WSAPoll ([Wine Bug #38601](https://bugs.winehq.org/show_bug.cgi?id=38601))
|
||||
* Try harder to get the host name address in getaddrinfo() ([Wine Bug #29609](https://bugs.winehq.org/show_bug.cgi?id=29609))
|
||||
* Tumblebugs 2 requires DXTn software encoding support ([Wine Bug #29586](https://bugs.winehq.org/show_bug.cgi?id=29586))
|
||||
* Update a XIM candidate position when cursor location changes ([Wine Bug #30938](https://bugs.winehq.org/show_bug.cgi?id=30938))
|
||||
* Use GLX_MESA_query_renderer extension to get more exact GPU infos
|
||||
* Use NVX_GPU_MEMORY_INFO extension for more exact video memory accounting on NVIDIA graphic cards
|
||||
* Use POSIX implementation to enumerate directory content on FreeBSD ([Wine Bug #35397](https://bugs.winehq.org/show_bug.cgi?id=35397))
|
||||
* Use actual program name if available to describe PulseAudio streams
|
||||
* Use manual relay for RunDLL_CallEntry16 in shell32 ([Wine Bug #23033](https://bugs.winehq.org/show_bug.cgi?id=23033))
|
||||
* Use video memory for rendering targets if possible ([Wine Bug #34906](https://bugs.winehq.org/show_bug.cgi?id=34906))
|
||||
* Voobly expects correct handling of WRITECOPY memory protection ([Wine Bug #29384](https://bugs.winehq.org/show_bug.cgi?id=29384))
|
||||
* Wine ignores IDF_CHECKFIRST flag in SetupPromptForDisk ([Wine Bug #20465](https://bugs.winehq.org/show_bug.cgi?id=20465))
|
||||
* Winhttp raw request headers must be terminated using double \r\n ([Wine Bug #35953](https://bugs.winehq.org/show_bug.cgi?id=35953))
|
||||
* Workaround for shlwapi URLs with relative paths
|
||||
* XEMBED support for embedding Wine windows inside Linux applications
|
||||
* eRacer Demo doesn't correctly display text ([Wine Bug #29598](https://bugs.winehq.org/show_bug.cgi?id=29598))
|
||||
|
957
debian/changelog
vendored
957
debian/changelog
vendored
File diff suppressed because it is too large
Load Diff
12
debian/control
vendored
12
debian/control
vendored
@@ -14,7 +14,7 @@ Build-Depends: autotools-dev,
|
||||
flex,
|
||||
fontforge,
|
||||
gawk,
|
||||
gcc-4.5 | gcc-4.7 | ubuntu-desktop (<< 1.207),
|
||||
gcc-4.5 | gcc-4.7 | gcc-4.9 | ubuntu-desktop (<< 1.207),
|
||||
gettext,
|
||||
libacl1-dev,
|
||||
libasound2-dev,
|
||||
@@ -30,6 +30,7 @@ Build-Depends: autotools-dev,
|
||||
libgnutls-dev,
|
||||
libgphoto2-dev | libgphoto2-6-dev | libgphoto2-2-dev (>= 2.4.6),
|
||||
libgsm1-dev,
|
||||
libgtk-3-dev,
|
||||
libice-dev,
|
||||
libjpeg-dev,
|
||||
liblcms2-dev | ubuntu-desktop (<< 1.267),
|
||||
@@ -37,6 +38,7 @@ Build-Depends: autotools-dev,
|
||||
libmpg123-dev,
|
||||
libncurses5-dev | libncurses-dev,
|
||||
libopenal-dev (>= 1:1.12) | ubuntu-desktop (<< 1.207),
|
||||
libosmesa6-dev,
|
||||
libpcap-dev,
|
||||
libpng12-dev,
|
||||
libpulse-dev,
|
||||
@@ -82,10 +84,8 @@ Recommends: libcapi20-3,
|
||||
libfontconfig1 | libfontconfig,
|
||||
libfreetype6,
|
||||
libgnutls26,
|
||||
libgphoto2-6 | libgphoto2-2 (>= 2.4.6),
|
||||
libgphoto2-port10 | libgphoto2-port0 (>= 2.4.6),
|
||||
libgtk-3-0,
|
||||
libjpeg8,
|
||||
libopenal1 (>= 1:1.12),
|
||||
libosmesa6,
|
||||
libpcap0.8,
|
||||
libpng12-0,
|
||||
@@ -139,10 +139,8 @@ Recommends: libcapi20-3,
|
||||
libfontconfig1 | libfontconfig,
|
||||
libfreetype6,
|
||||
libgnutls26,
|
||||
libgphoto2-6 | libgphoto2-2 (>= 2.4.6),
|
||||
libgphoto2-port10 | libgphoto2-port0 (>= 2.4.6),
|
||||
libgtk-3-0,
|
||||
libjpeg8,
|
||||
libopenal1 (>= 1:1.12),
|
||||
libosmesa6,
|
||||
libpcap0.8,
|
||||
libpng12-0,
|
||||
|
9
debian/rules
vendored
9
debian/rules
vendored
@@ -1,11 +1,8 @@
|
||||
#!/usr/bin/make -f
|
||||
|
||||
# Use gcc-4.5 if it's available
|
||||
ifeq ($(shell which gcc-4.5),)
|
||||
CC = gcc
|
||||
else
|
||||
CC = gcc-4.5
|
||||
endif
|
||||
# Prefer gcc-4.5, then 4.7, then 4.9 - otherwise fallback to gcc.
|
||||
export CC = $(shell for _cc in gcc-4.5 gcc-4.7 gcc-4.9 gcc false; do \
|
||||
if which "$$_cc" >/dev/null 2>&1; then echo "$$_cc"; break; fi; done)
|
||||
|
||||
%:
|
||||
dh $@ --parallel
|
||||
|
209
debian/tools/patchinstall.sh.in
vendored
209
debian/tools/patchinstall.sh.in
vendored
@@ -32,9 +32,11 @@ usage()
|
||||
echo "Configuration:"
|
||||
echo " DESTDIR=path Specify the path to the wine source tree"
|
||||
echo " --all Select all patches"
|
||||
echo " --force-autoconf Run autoreconf and tools/make_requests after each patch"
|
||||
echo " --help Display this help and exit"
|
||||
echo " --no-patchlist Do not apply patchlist (needed for 'wine --patches')"
|
||||
echo " --no-autoconf Do not run autoreconf and tools/make_requests"
|
||||
echo " --version Show version information"
|
||||
echo " -W patchset Exclude a specific patchset"
|
||||
echo ""
|
||||
echo "Backends:"
|
||||
@@ -46,6 +48,17 @@ usage()
|
||||
echo ""
|
||||
}}
|
||||
|
||||
# Show version information
|
||||
version()
|
||||
{{
|
||||
echo "Wine Staging {latest_staging_version}"
|
||||
echo "Copyright (C) 2014-2015 the Wine Staging project authors."
|
||||
echo ""
|
||||
echo "Patchset to be applied on upstream Wine:"
|
||||
echo " commit {latest_wine_commit}"
|
||||
echo ""
|
||||
}}
|
||||
|
||||
# Critical error, abort
|
||||
abort()
|
||||
{{
|
||||
@@ -63,11 +76,11 @@ warning()
|
||||
|
||||
# Default settings
|
||||
patch_enable_all 0
|
||||
category_enable_all 0
|
||||
enable_patchlist=1
|
||||
enable_autoconf=1
|
||||
patchlist="/dev/null"
|
||||
backend="patch"
|
||||
enable=1
|
||||
|
||||
# Find location of patches
|
||||
patchdir="$(dirname "$(readlink -f "$0")")"
|
||||
@@ -85,16 +98,6 @@ if test "$#" -eq 0; then
|
||||
fi
|
||||
|
||||
while test "$#" -gt 0; do
|
||||
if patch_enable "$1" "$enable"; then
|
||||
shift
|
||||
enable=1
|
||||
continue
|
||||
fi
|
||||
|
||||
if test "$enable" -ne 1; then
|
||||
abort "Wrong use of -W commandline argument, expected patchname."
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
DESTDIR=*)
|
||||
DESTDIR="${{1#*=}}"
|
||||
@@ -111,6 +114,11 @@ while test "$#" -gt 0; do
|
||||
shift
|
||||
;;
|
||||
|
||||
--force-autoconf)
|
||||
enable_autoconf=2
|
||||
shift
|
||||
;;
|
||||
|
||||
--help)
|
||||
usage
|
||||
exit 0
|
||||
@@ -126,21 +134,30 @@ while test "$#" -gt 0; do
|
||||
shift
|
||||
;;
|
||||
|
||||
--version)
|
||||
version
|
||||
exit 0
|
||||
;;
|
||||
|
||||
-W)
|
||||
enable=2
|
||||
# Disable patchset
|
||||
if ! patch_enable "$2" 2; then
|
||||
abort "Wrong usage of -W commandline argument, expected patchname."
|
||||
fi
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
|
||||
*)
|
||||
abort "Unknown commandline argument $1"
|
||||
exit 1
|
||||
# Enable patchset
|
||||
if ! patch_enable "$1" 1; then
|
||||
abort "Unknown commandline argument $1."
|
||||
fi
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test "$enable" -ne 1; then
|
||||
abort "Missing argument for -W, expected patchname."
|
||||
fi
|
||||
|
||||
# Determine DESTDIR if not explicitly specified
|
||||
if test -z "$DESTDIR" -a -f ./tools/make_requests; then
|
||||
DESTDIR="$(pwd)"
|
||||
@@ -154,6 +171,85 @@ if ! cd "$DESTDIR"; then
|
||||
abort "Unable to change directory to $DESTDIR."
|
||||
fi
|
||||
|
||||
# Helper to update configure / the wineserver protocol if required
|
||||
if ! command -v diff >/dev/null 2>&1 ||
|
||||
! command -v grep >/dev/null 2>&1 ||
|
||||
! command -v cmp >/dev/null 2>&1; then
|
||||
|
||||
update_configure()
|
||||
{{
|
||||
autoreconf -f
|
||||
}}
|
||||
|
||||
update_protocol()
|
||||
{{
|
||||
./tools/make_requests
|
||||
}}
|
||||
|
||||
else
|
||||
|
||||
update_configure()
|
||||
{{
|
||||
_file="./configure"
|
||||
|
||||
if ! cp -a "$_file" "$_file.old"; then
|
||||
abort "failed to create $_file.old"
|
||||
fi
|
||||
|
||||
if ! autoreconf -f; then
|
||||
rm "$_file.old"
|
||||
unset _file
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Shifting by 62 bits is undefined behaviour when off_t is 32-bit, see also
|
||||
# https://launchpad.net/ubuntu/+source/autoconf/2.69-6 - the bug is still
|
||||
# present in some other distros (including Archlinux).
|
||||
_large_off_old="^#define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62))$"
|
||||
_large_off_new="#define LARGE_OFF_T ((((off_t) 1 << 31) << 31) - 1 + (((off_t) 1 << 31) << 31))"
|
||||
sed -i'' -e "s|$_large_off_old|$_large_off_new|g" "$_file"
|
||||
unset _large_off_old _large_off_new
|
||||
|
||||
# Restore original timestamp when nothing changed
|
||||
if ! cmp "$_file.old" "$_file" >/dev/null; then
|
||||
rm "$_file.old"
|
||||
else
|
||||
mv "$_file.old" "$_file"
|
||||
fi
|
||||
|
||||
unset _file
|
||||
return 0
|
||||
}}
|
||||
|
||||
update_protocol()
|
||||
{{
|
||||
_file="./include/wine/server_protocol.h"
|
||||
|
||||
if ! cp -a "$_file" "$_file.old"; then
|
||||
abort "failed to create $_file.old"
|
||||
fi
|
||||
|
||||
if ! ./tools/make_requests; then
|
||||
rm "$_file.old"
|
||||
unset _file
|
||||
return 1
|
||||
fi
|
||||
|
||||
# Restore original timestamp when nothing changed
|
||||
if diff -u "$_file.old" "$_file" |
|
||||
grep -v "^[+-]#define SERVER_PROTOCOL_VERSION" |
|
||||
grep -v "^\(+++\|---\)" | grep -q "^[+-]"; then
|
||||
rm "$_file.old"
|
||||
else
|
||||
mv "$_file.old" "$_file"
|
||||
fi
|
||||
|
||||
unset _file
|
||||
return 0
|
||||
}}
|
||||
fi
|
||||
|
||||
|
||||
# Most backends will try to use git, either directly or indirectly.
|
||||
# Unfortunately this does not work when "$DESTDIR" points to a
|
||||
# subdirectory of a git tree, which has the effect that no patches
|
||||
@@ -172,7 +268,12 @@ if test "$backend" = "patch"; then
|
||||
gitapply_args=""
|
||||
fi
|
||||
|
||||
patch_apply_file ()
|
||||
if test "$enable_autoconf" -gt 1; then
|
||||
warning "Ignoring commandline argument --force-autoconf."
|
||||
enable_autoconf=1
|
||||
fi
|
||||
|
||||
patch_apply_file()
|
||||
{{
|
||||
echo "Applying $1"
|
||||
if ! "$patchdir/gitapply.sh" $gitapply_args < "$1"; then
|
||||
@@ -196,18 +297,25 @@ elif test "$backend" = "epatch"; then
|
||||
abort "Shell functions epatch/ebegin/eend not found. You have to source this script from your ebuild."
|
||||
fi
|
||||
|
||||
patch_apply_file ()
|
||||
if test "$enable_autoconf" -gt 1; then
|
||||
warning "Ignoring commandline argument --force-autoconf."
|
||||
enable_autoconf=1
|
||||
fi
|
||||
|
||||
patch_apply_file()
|
||||
{{
|
||||
shortname="$(basename "$1")"
|
||||
_shortname="$(basename "$1")"
|
||||
if grep -q "^GIT binary patch" "$1"; then
|
||||
ebegin "Applying $shortname"
|
||||
"$patchdir/gitapply.sh" $gitapply_args < "$1" || \
|
||||
ebegin "Applying $_shortname"
|
||||
if ! "$patchdir/gitapply.sh" $gitapply_args < "$1"; then
|
||||
die "Failed Patch: $1!"
|
||||
fi
|
||||
eend
|
||||
|
||||
else
|
||||
epatch "$1" # epatch calls die upon failure
|
||||
fi
|
||||
unset _shortname
|
||||
}}
|
||||
|
||||
# GIT backend - apply patches using 'git am'
|
||||
@@ -217,12 +325,44 @@ elif test "$backend" = "git" -o "$backend" = "git-am"; then
|
||||
abort "Backend 'git-am' not possible when DESTDIR points to a git subdirectory."
|
||||
fi
|
||||
|
||||
patch_apply_file ()
|
||||
patch_apply_file()
|
||||
{{
|
||||
echo "Applying $1"
|
||||
if ! git am "$1"; then
|
||||
abort "Failed to apply patch, aborting!"
|
||||
fi
|
||||
if test "$enable_autoconf" -gt 1; then
|
||||
_do_commit=0
|
||||
|
||||
# Run 'autoreconf -f' if required
|
||||
if git show --pretty=format: --name-only | grep -q "^\(configure.ac\|aclocal.m4\)$"; then
|
||||
if ! update_configure; then
|
||||
abort "'autoreconf -f' failed."
|
||||
fi
|
||||
git add ./configure
|
||||
git add ./include/config.h.in
|
||||
_do_commit=1
|
||||
fi
|
||||
|
||||
# Run './tools/make_requests' if required
|
||||
if git show --pretty=format: --name-only | grep -q "^server/"; then
|
||||
if ! update_protocol; then
|
||||
abort "'./tools/make_requests' failed."
|
||||
fi
|
||||
git add ./include/wine/server_protocol.h
|
||||
git add ./server/trace.c
|
||||
git add ./server/request.h
|
||||
_do_commit=1
|
||||
fi
|
||||
|
||||
if test "$_do_commit" -ne 0; then
|
||||
if ! git commit --amend --reuse-message HEAD; then
|
||||
abort "Failed to include autogenerated changes in commit."
|
||||
fi
|
||||
fi
|
||||
|
||||
unset _do_commit
|
||||
fi
|
||||
}}
|
||||
|
||||
# Git apply backend
|
||||
@@ -232,7 +372,12 @@ elif test "$backend" = "git-apply"; then
|
||||
abort "Backend 'git-apply' not possible when DESTDIR points to a git subdirectory."
|
||||
fi
|
||||
|
||||
patch_apply_file ()
|
||||
if test "$enable_autoconf" -gt 1; then
|
||||
warning "Ignoring commandline argument --force-autoconf."
|
||||
enable_autoconf=1
|
||||
fi
|
||||
|
||||
patch_apply_file()
|
||||
{{
|
||||
echo "Applying $1"
|
||||
if ! git apply "$1"; then
|
||||
@@ -252,20 +397,21 @@ elif test "$backend" = "stg"; then
|
||||
enable_patchlist=0
|
||||
enable_autoconf=0
|
||||
|
||||
patch_apply_file ()
|
||||
patch_apply_file()
|
||||
{{
|
||||
echo "Applying $1"
|
||||
shortname="$(basename "$1")"
|
||||
if ! echo "staging/$shortname" | cat - "$1" | stg import; then
|
||||
_shortname="$(basename "$1")"
|
||||
if ! echo "staging/$_shortname" | cat - "$1" | stg import; then
|
||||
abort "Failed to apply patch, aborting!"
|
||||
fi
|
||||
unset _shortname
|
||||
}}
|
||||
|
||||
else
|
||||
abort "Selected backend $backend not supported."
|
||||
fi
|
||||
|
||||
patch_apply ()
|
||||
patch_apply()
|
||||
{{
|
||||
patch_apply_file "$patchdir/$1"
|
||||
}}
|
||||
@@ -337,13 +483,12 @@ EOF
|
||||
fi
|
||||
|
||||
if test "$enable_autoconf" -eq 1; then
|
||||
if ! autoreconf -f; then
|
||||
if ! update_configure; then
|
||||
abort "'autoreconf -f' failed."
|
||||
fi
|
||||
if ! ./tools/make_requests; then
|
||||
if ! update_protocol; then
|
||||
abort "'./tools/make_requests' failed."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Success
|
||||
exit 0
|
||||
|
130
debian/tools/patchupdate.py
vendored
130
debian/tools/patchupdate.py
vendored
@@ -43,8 +43,9 @@ import xml.dom.minidom
|
||||
_devnull = open(os.devnull, 'wb')
|
||||
|
||||
# Cached information to speed up patch dependency checks
|
||||
latest_wine_commit = None
|
||||
cached_patch_result = {}
|
||||
latest_wine_commit = None
|
||||
latest_staging_version = None
|
||||
cached_patch_result = {}
|
||||
|
||||
class config(object):
|
||||
path_cache = ".patchupdate.cache"
|
||||
@@ -68,12 +69,14 @@ class PatchUpdaterError(RuntimeError):
|
||||
class PatchSet(object):
|
||||
def __init__(self, name, directory):
|
||||
self.name = name
|
||||
self.is_category = False
|
||||
self.variable = None
|
||||
self.directory = directory
|
||||
self.fixes = []
|
||||
self.changes = []
|
||||
self.disabled = False
|
||||
self.ifdefined = None
|
||||
self.categories = []
|
||||
|
||||
self.files = []
|
||||
self.patches = []
|
||||
@@ -176,11 +179,13 @@ def _read_changelog():
|
||||
r = re.match("^([a-zA-Z0-9][^(]*)\((.*)\) ([^;]*)", line)
|
||||
if r: yield (r.group(1).strip(), r.group(2).strip(), r.group(3).strip())
|
||||
|
||||
def _stable_compholio_version():
|
||||
def _latest_staging_version(only_stable=False):
|
||||
"""Get version number of the latest stable release."""
|
||||
for package, version, distro in _read_changelog():
|
||||
if distro.lower() != "unreleased":
|
||||
return version
|
||||
elif not only_stable:
|
||||
return "%s (unreleased)" % version
|
||||
|
||||
def _latest_wine_commit(commit=None):
|
||||
"""Get latest wine commit."""
|
||||
@@ -188,7 +193,7 @@ def _latest_wine_commit(commit=None):
|
||||
raise PatchUpdaterError("Please create a symlink to the wine repository in %s" % config.path_wine)
|
||||
if commit is None:
|
||||
commit = subprocess.check_output(["git", "rev-parse", "origin/master"], cwd=config.path_wine).strip()
|
||||
assert len(commit) == 40
|
||||
assert len(commit) == 40 and commit == commit.lower()
|
||||
return commit
|
||||
|
||||
def enum_directories(revision, path):
|
||||
@@ -299,9 +304,7 @@ def read_patchset(revision = None):
|
||||
val = "category-%s" % val
|
||||
if name_to_id.has_key(val):
|
||||
raise PatchUpdaterError("Category name in definition file %s collides with patchset %s" % (filename, val))
|
||||
if not categories.has_key(val):
|
||||
categories[val] = set()
|
||||
categories[val].add(i)
|
||||
patch.categories.append(val)
|
||||
|
||||
elif key == "fixes":
|
||||
r = re.match("^[0-9]+$", val)
|
||||
@@ -327,9 +330,18 @@ def read_patchset(revision = None):
|
||||
elif revision is None:
|
||||
print "WARNING: Ignoring unknown command in definition file %s: %s" % (filename, line)
|
||||
|
||||
# If patch is not disabled then finally add it to the category
|
||||
if not patch.disabled:
|
||||
for category in patch.categories:
|
||||
if not categories.has_key(category):
|
||||
categories[category] = set()
|
||||
categories[category].add(i)
|
||||
|
||||
|
||||
# Add virtual targets for all the categories
|
||||
for category, indices in categories.iteritems():
|
||||
patch = PatchSet(category, directory)
|
||||
patch.is_category = True
|
||||
patch.depends = indices
|
||||
|
||||
i = next(unique_id)
|
||||
@@ -561,38 +573,42 @@ def generate_script(all_patches):
|
||||
chunk_size = 20
|
||||
with progressbar.ProgressBar(desc=filename, total=2 ** len(indices) / chunk_size) as progress:
|
||||
|
||||
def test_apply(bitstring):
|
||||
set_apply = [(i, all_patches[i]) for u, i in zip(bitstring, indices) if u]
|
||||
set_skip = [(i, all_patches[i]) for u, i in zip(bitstring, indices) if not u]
|
||||
def test_apply(current):
|
||||
set_apply = [(i, all_patches[i]) for i in current]
|
||||
set_skip = [(i, all_patches[i]) for i in indices if i not in current]
|
||||
|
||||
# Check if there is any patch2 which depends directly or indirectly on patch1.
|
||||
# If this is the case we found an impossible situation, we can be skipped in this test.
|
||||
for i, patch1 in set_apply:
|
||||
for j, patch2 in set_skip:
|
||||
if causal_time_smaller(patch2.verify_time, patch1.verify_time):
|
||||
return True # we can skip this test
|
||||
return None # we can skip this test
|
||||
|
||||
try:
|
||||
original = original_content
|
||||
for i, _ in set_apply:
|
||||
original = patchutils.apply_patch(original, selected_patches[i][1], fuzz=0)
|
||||
except patchutils.PatchApplyError:
|
||||
return False
|
||||
return current
|
||||
|
||||
return True # everything is fine
|
||||
return None # everything is fine
|
||||
|
||||
def test_apply_seq(bitstrings):
|
||||
for bitstring in bitstrings:
|
||||
if not test_apply(bitstring):
|
||||
return False
|
||||
return True
|
||||
def test_apply_seq(current_list):
|
||||
for current in current_list:
|
||||
failed = test_apply(current)
|
||||
if failed is not None:
|
||||
return failed
|
||||
return None
|
||||
|
||||
it = _split_seq(itertools.product([0,1], repeat=len(indices)), chunk_size)
|
||||
for k, res in enumerate(pool.imap_unordered(test_apply_seq, it)):
|
||||
if not res:
|
||||
iterables = []
|
||||
for i in xrange(0, len(indices) + 1):
|
||||
iterables.append(itertools.combinations(indices, i))
|
||||
it = _split_seq(itertools.chain(*iterables), chunk_size)
|
||||
for k, failed in enumerate(pool.imap_unordered(test_apply_seq, it)):
|
||||
if failed is not None:
|
||||
progress.finish("<failed to apply>")
|
||||
raise PatchUpdaterError("Changes to file %s don't apply: %s" %
|
||||
(filename, ", ".join([all_patches[i].name for i in indices])))
|
||||
(filename, ", ".join([all_patches[i].name for i in failed])))
|
||||
progress.update(k)
|
||||
|
||||
# Update the dependency cache
|
||||
@@ -608,11 +624,23 @@ def generate_script(all_patches):
|
||||
lines.append("patch_enable_all ()\n")
|
||||
lines.append("{\n")
|
||||
for i, patch in sorted([(i, all_patches[i]) for i in resolved], key=lambda x:x[1].name):
|
||||
if patch.is_category: continue
|
||||
patch.variable = "enable_%s" % patch.name.replace("-","_").replace(".","_")
|
||||
lines.append("\t%s=\"$1\"\n" % patch.variable)
|
||||
lines.append("}\n")
|
||||
lines.append("\n")
|
||||
lines.append("# Enable or disable a specific patchset\n")
|
||||
|
||||
lines.append("# Enable or disable all categories\n")
|
||||
lines.append("category_enable_all ()\n")
|
||||
lines.append("{\n")
|
||||
for i, patch in sorted([(i, all_patches[i]) for i in resolved], key=lambda x:x[1].name):
|
||||
if not patch.is_category: continue
|
||||
patch.variable = "enable_%s" % patch.name.replace("-","_").replace(".","_")
|
||||
lines.append("\t%s=\"$1\"\n" % patch.variable)
|
||||
lines.append("}\n")
|
||||
lines.append("\n")
|
||||
|
||||
lines.append("# Enable or disable a specific patchset/category\n")
|
||||
lines.append("patch_enable ()\n")
|
||||
lines.append("{\n")
|
||||
lines.append("\tcase \"$1\" in\n")
|
||||
@@ -681,14 +709,16 @@ def generate_script(all_patches):
|
||||
with open(config.path_template_script) as template_fp:
|
||||
template = template_fp.read()
|
||||
with open(config.path_script, "w") as fp:
|
||||
fp.write(template.format(patch_helpers="".join(lines_helpers).rstrip("\n"),
|
||||
fp.write(template.format(latest_staging_version=_latest_staging_version(),
|
||||
latest_wine_commit=latest_wine_commit,
|
||||
patch_helpers="".join(lines_helpers).rstrip("\n"),
|
||||
patch_resolver="".join(lines_resolver).rstrip("\n"),
|
||||
patch_apply="".join(lines_apply).rstrip("\n")))
|
||||
|
||||
# Add changes to git
|
||||
subprocess.call(["git", "add", config.path_script])
|
||||
|
||||
def generate_markdown(all_patches, stable_patches, stable_compholio_version):
|
||||
def generate_markdown(all_patches, stable_patches):
|
||||
"""Generate README.md including information about specific patches and bugfixes."""
|
||||
|
||||
def _format_bug(mode, bugid, bugname):
|
||||
@@ -708,11 +738,20 @@ def generate_markdown(all_patches, stable_patches, stable_compholio_version):
|
||||
# Compare with fixes for latest stable version
|
||||
for _, patch in stable_patches.iteritems():
|
||||
for bugid, bugname in patch.fixes:
|
||||
key = bugid if bugid is not None else bugname
|
||||
if all_fixes.has_key(key):
|
||||
all_fixes[key][0] = 0
|
||||
if bugid is not None and all_fixes.has_key(bugid):
|
||||
all_fixes[bugid][0] = 0
|
||||
elif all_fixes.has_key(bugname):
|
||||
all_fixes[bugname][0] = 0
|
||||
elif bugid is None:
|
||||
for k, v in all_fixes.iteritems():
|
||||
if v[2] != bugname: continue
|
||||
if v[1] is None: continue
|
||||
all_fixes[v[1]][0] = 0
|
||||
break
|
||||
else:
|
||||
all_fixes[bugname] = [-1, None, bugname]
|
||||
else:
|
||||
all_fixes[key] = [-1, bugid, bugname]
|
||||
all_fixes[bugid] = [-1, bugid, bugname]
|
||||
|
||||
# Generate lists for all new and old fixes
|
||||
new_fixes = [(mode, bugid, bugname) for dummy, (mode, bugid, bugname) in
|
||||
@@ -734,7 +773,7 @@ def generate_markdown(all_patches, stable_patches, stable_compholio_version):
|
||||
lines.append(_format_bug(mode, bugid, bugname))
|
||||
lines.append("")
|
||||
lines.append("")
|
||||
lines.append("**Bug fixes and features in Wine Staging %s [%d]:**" % (stable_compholio_version, len(old_fixes)))
|
||||
lines.append("**Bug fixes and features in Wine Staging %s [%d]:**" % (latest_staging_version, len(old_fixes)))
|
||||
lines.append("")
|
||||
lines.append("*Note: The following list only contains features and bug fixes which are not")
|
||||
lines.append("yet available in vanilla Wine. They are removed from the list as soon as they")
|
||||
@@ -755,6 +794,25 @@ def generate_markdown(all_patches, stable_patches, stable_compholio_version):
|
||||
# Add changes to git
|
||||
subprocess.call(["git", "add", config.path_README_md])
|
||||
|
||||
def wrap_changelog():
|
||||
|
||||
lines = []
|
||||
with open(config.path_changelog) as fp:
|
||||
for line in fp:
|
||||
if line.startswith(" *") and len(line.rstrip("\n")) > 80:
|
||||
wrapped = textwrap.wrap(line[3:].strip(), 80 - 4)
|
||||
lines.append(" * %s\n" % "\n ".join(wrapped))
|
||||
else:
|
||||
lines.append(line)
|
||||
|
||||
with open(config.path_changelog, "w") as fp:
|
||||
for line in lines:
|
||||
fp.write(line)
|
||||
|
||||
# Add changes to git
|
||||
subprocess.call(["git", "add", config.path_changelog])
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
|
||||
# Hack to avoid KeyboardInterrupts on different threads
|
||||
@@ -763,19 +821,23 @@ if __name__ == "__main__":
|
||||
raise RuntimeError("CTRL+C pressed")
|
||||
signal.signal(signal.SIGINT, _sig_int)
|
||||
|
||||
tools_directory = os.path.dirname(os.path.realpath(__file__))
|
||||
os.chdir(os.path.join(tools_directory, "./../.."))
|
||||
|
||||
try:
|
||||
|
||||
# Get information about Wine and Compholio version
|
||||
# Get information about Wine and Staging version
|
||||
latest_wine_commit = _latest_wine_commit(sys.argv[1] if len(sys.argv) >= 2 else None)
|
||||
stable_compholio_version = _stable_compholio_version()
|
||||
latest_staging_version = _latest_staging_version(only_stable=True)
|
||||
|
||||
# Read current and stable patches
|
||||
all_patches = read_patchset()
|
||||
stable_patches = read_patchset(revision="v%s" % stable_compholio_version)
|
||||
stable_patches = read_patchset(revision="v%s" % latest_staging_version)
|
||||
|
||||
generate_ifdefined(all_patches)
|
||||
generate_script(all_patches)
|
||||
generate_markdown(all_patches, stable_patches, stable_compholio_version)
|
||||
generate_markdown(all_patches, stable_patches)
|
||||
wrap_changelog()
|
||||
|
||||
except PatchUpdaterError as e:
|
||||
print ""
|
||||
|
2
debian/tools/patchutils.py
vendored
2
debian/tools/patchutils.py
vendored
@@ -305,6 +305,8 @@ def read_patch(filename):
|
||||
if r is not None: return "%s: %s" % (r.group(1), r.group(4)), int(r.group(3))
|
||||
r = re.match("^(.*) +%s$" % version, subject, re.IGNORECASE)
|
||||
if r is not None: return r.group(1).strip(), int(r.group(3))
|
||||
r = re.match("^(.*)\\(resend\\)$", subject, re.IGNORECASE)
|
||||
if r is not None: return r.group(1).strip(), 1
|
||||
return subject, 1
|
||||
|
||||
header = {}
|
||||
|
@@ -1,4 +1,4 @@
|
||||
From aa76ae0448583e87dbe7f374101eb5b20d55dea8 Mon Sep 17 00:00:00 2001
|
||||
From 267583000e05b5ed8da1122df0830556fe7e69f6 Mon Sep 17 00:00:00 2001
|
||||
From: "Erich E. Hoover" <erich.e.hoover@gmail.com>
|
||||
Date: Fri, 8 Aug 2014 19:33:14 -0600
|
||||
Subject: Appease the blessed version of gcc (4.5) when -Werror is enabled.
|
||||
@@ -12,10 +12,10 @@ Subject: Appease the blessed version of gcc (4.5) when -Werror is enabled.
|
||||
5 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/dlls/d3d9/tests/visual.c b/dlls/d3d9/tests/visual.c
|
||||
index 0c10ffa..2f35992 100644
|
||||
index f9cb71c..81f6131 100644
|
||||
--- a/dlls/d3d9/tests/visual.c
|
||||
+++ b/dlls/d3d9/tests/visual.c
|
||||
@@ -11161,7 +11161,7 @@ static void yuv_layout_test(void)
|
||||
@@ -11967,7 +11967,7 @@ static void yuv_layout_test(void)
|
||||
IDirect3D9 *d3d;
|
||||
D3DCOLOR color;
|
||||
DWORD ref_color;
|
||||
@@ -25,7 +25,7 @@ index 0c10ffa..2f35992 100644
|
||||
IDirect3DDevice9 *device;
|
||||
ULONG refcount;
|
||||
diff --git a/dlls/netapi32/netapi32.c b/dlls/netapi32/netapi32.c
|
||||
index d2a61fa..bb7ac1c 100644
|
||||
index 7a1d408..649c866 100644
|
||||
--- a/dlls/netapi32/netapi32.c
|
||||
+++ b/dlls/netapi32/netapi32.c
|
||||
@@ -779,7 +779,7 @@ static NET_API_STATUS share_info_to_samba( DWORD level, const BYTE *buf, unsigne
|
||||
@@ -38,7 +38,7 @@ index d2a61fa..bb7ac1c 100644
|
||||
|
||||
if (servername && !(server = strdup_unixcp( servername ))) return ERROR_OUTOFMEMORY;
|
||||
diff --git a/dlls/winealsa.drv/mmdevdrv.c b/dlls/winealsa.drv/mmdevdrv.c
|
||||
index e32cb54..ddf972d 100644
|
||||
index 14eac39..ebff9f1 100644
|
||||
--- a/dlls/winealsa.drv/mmdevdrv.c
|
||||
+++ b/dlls/winealsa.drv/mmdevdrv.c
|
||||
@@ -359,7 +359,7 @@ static WCHAR *construct_device_id(EDataFlow flow, const WCHAR *chunk1, const cha
|
||||
@@ -51,18 +51,18 @@ index e32cb54..ddf972d 100644
|
||||
static const WCHAR dashW[] = {' ','-',' ',0};
|
||||
static const size_t dashW_len = (sizeof(dashW) / sizeof(*dashW)) - 1;
|
||||
diff --git a/dlls/wined3d/glsl_shader.c b/dlls/wined3d/glsl_shader.c
|
||||
index f3e921c..fa64436 100644
|
||||
index f69a2ce..00232a5 100644
|
||||
--- a/dlls/wined3d/glsl_shader.c
|
||||
+++ b/dlls/wined3d/glsl_shader.c
|
||||
@@ -5834,7 +5834,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
|
||||
@@ -6706,7 +6706,7 @@ static void set_glsl_shader_program(const struct wined3d_context *context, const
|
||||
GLuint vs_id = 0;
|
||||
GLuint gs_id = 0;
|
||||
GLuint ps_id = 0;
|
||||
- struct list *ps_list, *vs_list;
|
||||
+ struct list *ps_list = NULL, *vs_list = NULL;
|
||||
WORD attribs_map;
|
||||
struct wined3d_string_buffer *tmp_name;
|
||||
|
||||
if (!(context->shader_update_mask & (1 << WINED3D_SHADER_TYPE_VERTEX)))
|
||||
{
|
||||
diff --git a/tools/makedep.c b/tools/makedep.c
|
||||
index 54aab45..103422e 100644
|
||||
--- a/tools/makedep.c
|
||||
@@ -77,5 +77,5 @@ index 54aab45..103422e 100644
|
||||
expand = get_make_variable( make, name );
|
||||
if (!expand) return NULL;
|
||||
--
|
||||
2.2.1
|
||||
2.4.2
|
||||
|
||||
|
1
patches/Compiler_Warnings/definition
Normal file
1
patches/Compiler_Warnings/definition
Normal file
@@ -0,0 +1 @@
|
||||
Category: stable
|
@@ -1,4 +1,4 @@
|
||||
From 948a8706d6045fb6f8f624072bfa6ab97e91dc16 Mon Sep 17 00:00:00 2001
|
||||
From 598daa857778080524e3de4a5668a834ab084564 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 2 Oct 2014 19:44:31 +0200
|
||||
Subject: kernel32: Add winediag message to show warning, that this isn't
|
||||
@@ -9,7 +9,7 @@ Subject: kernel32: Add winediag message to show warning, that this isn't
|
||||
1 file changed, 10 insertions(+)
|
||||
|
||||
diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
|
||||
index 0a087ab..1052a79 100644
|
||||
index 2c8074b..70b2579 100644
|
||||
--- a/dlls/kernel32/process.c
|
||||
+++ b/dlls/kernel32/process.c
|
||||
@@ -65,6 +65,7 @@
|
||||
@@ -27,15 +27,15 @@ index 0a087ab..1052a79 100644
|
||||
+ /* Wine developers don't like it, when bug are reported with Wine versions containing our patches. */
|
||||
+ if (CreateEventA(0, 0, 0, "__winestaging_warn_event") && GetLastError() != ERROR_ALREADY_EXISTS)
|
||||
+ {
|
||||
+ FIXME_(winediag)("Wine Staging is a testing version containing experimental patches.\n");
|
||||
+ FIXME_(winediag)("Wine Staging %s is a testing version containing experimental patches.\n", wine_get_version());
|
||||
+ FIXME_(winediag)("Please report bugs at http://bugs.wine-staging.com (instead of winehq.org).\n");
|
||||
+ }
|
||||
+ else
|
||||
+ WARN_(winediag)("Wine Staging is a testing version containing experimental patches.\n");
|
||||
+ WARN_(winediag)("Wine Staging %s is a testing version containing experimental patches.\n", wine_get_version());
|
||||
+
|
||||
SetLastError( 0 ); /* clear error code */
|
||||
if (peb->BeingDebugged) DbgBreakPoint();
|
||||
return call_process_entry( peb, entry );
|
||||
--
|
||||
2.1.3
|
||||
2.4.1
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,64 @@
|
||||
From b4a2543264f9eb91fc259a81dea872eee3c14aba Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Sat, 27 Jun 2015 19:28:51 +0200
|
||||
Subject: loader: Print library paths for --check-libs on Mac OS X.
|
||||
|
||||
---
|
||||
loader/main.c | 27 ++++++++++++++++++++++++++-
|
||||
1 file changed, 26 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/loader/main.c b/loader/main.c
|
||||
index 44804e1..4d9126e 100644
|
||||
--- a/loader/main.c
|
||||
+++ b/loader/main.c
|
||||
@@ -48,6 +48,7 @@
|
||||
#include "main.h"
|
||||
|
||||
#ifdef __APPLE__
|
||||
+#include <mach-o/dyld.h>
|
||||
|
||||
#ifndef __clang__
|
||||
__asm__(".zerofill WINE_DOS, WINE_DOS, ___wine_dos, 0x40000000");
|
||||
@@ -73,6 +74,26 @@ static inline void reserve_area( void *addr, size_t size )
|
||||
wine_mmap_add_reserved_area( addr, size );
|
||||
}
|
||||
|
||||
+static const char *get_macho_library_path( const char *libname )
|
||||
+{
|
||||
+ unsigned int path_len, libname_len = strlen( libname );
|
||||
+ uint32_t i, count = _dyld_image_count();
|
||||
+
|
||||
+ for (i = 0; i < count; i++)
|
||||
+ {
|
||||
+ const char *path = _dyld_get_image_name( i );
|
||||
+ if (!path) continue;
|
||||
+
|
||||
+ path_len = strlen( path );
|
||||
+ if (path_len < libname_len + 1) continue;
|
||||
+ if (path[path_len - libname_len - 1] != '/') continue;
|
||||
+ if (strcmp( path + path_len - libname_len, libname )) continue;
|
||||
+
|
||||
+ return path;
|
||||
+ }
|
||||
+ return NULL;
|
||||
+}
|
||||
+
|
||||
#else /* __APPLE__ */
|
||||
|
||||
/* the preloader will set this variable */
|
||||
@@ -181,7 +202,11 @@ static void check_command_line( int argc, char *argv[] )
|
||||
else
|
||||
#endif
|
||||
{
|
||||
- printf( "%s: found\n", *wine_libs );
|
||||
+ const char *path = NULL;
|
||||
+ #ifdef __APPLE__
|
||||
+ path = get_macho_library_path( *wine_libs );
|
||||
+ #endif
|
||||
+ printf( "%s: %s\n", *wine_libs, path ? path : "found");
|
||||
}
|
||||
wine_dlclose( lib_handle, NULL, 0 );
|
||||
}
|
||||
--
|
||||
2.4.3
|
||||
|
@@ -1,47 +0,0 @@
|
||||
From 77f0cb1855bc3886516214aee76799da10458871 Mon Sep 17 00:00:00 2001
|
||||
From: Sebastian Lackner <sebastian@fds-team.de>
|
||||
Date: Thu, 30 Apr 2015 01:37:44 +0200
|
||||
Subject: advapi32: Add stub for ImpersonateAnonymousToken.
|
||||
|
||||
---
|
||||
dlls/advapi32/advapi32.spec | 2 +-
|
||||
dlls/advapi32/security.c | 10 ++++++++++
|
||||
2 files changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/advapi32/advapi32.spec b/dlls/advapi32/advapi32.spec
|
||||
index e7b7cf7..9fdd266 100644
|
||||
--- a/dlls/advapi32/advapi32.spec
|
||||
+++ b/dlls/advapi32/advapi32.spec
|
||||
@@ -375,7 +375,7 @@
|
||||
@ stub I_ScSetServiceBitsA
|
||||
# @ stub I_ScSetServiceBitsW
|
||||
# @ stub IdentifyCodeAuthzLevelW
|
||||
-# @ stub ImpersonateAnonymousToken
|
||||
+@ stdcall ImpersonateAnonymousToken(long)
|
||||
@ stdcall ImpersonateLoggedOnUser(long)
|
||||
@ stdcall ImpersonateNamedPipeClient(long)
|
||||
@ stdcall ImpersonateSelf(long)
|
||||
diff --git a/dlls/advapi32/security.c b/dlls/advapi32/security.c
|
||||
index 2362dd5..5bd835c 100644
|
||||
--- a/dlls/advapi32/security.c
|
||||
+++ b/dlls/advapi32/security.c
|
||||
@@ -2504,6 +2504,16 @@ BOOL WINAPI ImpersonateLoggedOnUser(HANDLE hToken)
|
||||
}
|
||||
|
||||
/******************************************************************************
|
||||
+ * ImpersonateAnonymousToken [ADVAPI32.@]
|
||||
+ */
|
||||
+BOOL WINAPI ImpersonateAnonymousToken(HANDLE hThread)
|
||||
+{
|
||||
+ FIXME("(%p)\n", hThread);
|
||||
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
+ return FALSE;
|
||||
+}
|
||||
+
|
||||
+/******************************************************************************
|
||||
* AccessCheck [ADVAPI32.@]
|
||||
*/
|
||||
BOOL WINAPI
|
||||
--
|
||||
2.3.5
|
||||
|
@@ -1 +0,0 @@
|
||||
Fixes: Add stub for advapi32.ImpersonateAnonymousToken
|
@@ -0,0 +1,88 @@
|
||||
From 4d0e6bbc00bd49b8dcfce494bd7380c49f58f92b Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Michael=20M=C3=BCller?= <michael@fds-team.de>
|
||||
Date: Tue, 28 Jul 2015 18:21:20 +0200
|
||||
Subject: amstream: Implement IAMMediaStream::GetMultiMediaStream.
|
||||
|
||||
---
|
||||
dlls/amstream/mediastream.c | 40 ++++++++++++++++++++++++++++++++--------
|
||||
1 file changed, 32 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/dlls/amstream/mediastream.c b/dlls/amstream/mediastream.c
|
||||
index 947be1e..e4e15d7 100644
|
||||
--- a/dlls/amstream/mediastream.c
|
||||
+++ b/dlls/amstream/mediastream.c
|
||||
@@ -110,9 +110,15 @@ static HRESULT WINAPI DirectDrawMediaStreamImpl_IAMMediaStream_GetMultiMediaStre
|
||||
{
|
||||
DirectDrawMediaStreamImpl *This = impl_from_DirectDrawMediaStream_IAMMediaStream(iface);
|
||||
|
||||
- FIXME("(%p/%p)->(%p) stub!\n", This, iface, multi_media_stream);
|
||||
+ TRACE("(%p/%p)->(%p) stub!\n", This, iface, multi_media_stream);
|
||||
|
||||
- return S_FALSE;
|
||||
+ if (!multi_media_stream)
|
||||
+ return E_POINTER;
|
||||
+
|
||||
+ IMultiMediaStream_AddRef(This->parent);
|
||||
+ *multi_media_stream = This->parent;
|
||||
+
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI DirectDrawMediaStreamImpl_IAMMediaStream_GetInformation(IAMMediaStream *iface,
|
||||
@@ -271,9 +277,15 @@ static HRESULT WINAPI DirectDrawMediaStreamImpl_IDirectDrawMediaStream_GetMultiM
|
||||
{
|
||||
DirectDrawMediaStreamImpl *This = impl_from_IDirectDrawMediaStream(iface);
|
||||
|
||||
- FIXME("(%p/%p)->(%p) stub!\n", This, iface, ppMultiMediaStream);
|
||||
+ TRACE("(%p/%p)->(%p) stub!\n", This, iface, ppMultiMediaStream);
|
||||
|
||||
- return S_FALSE;
|
||||
+ if (!ppMultiMediaStream)
|
||||
+ return E_POINTER;
|
||||
+
|
||||
+ IMultiMediaStream_AddRef(This->parent);
|
||||
+ *ppMultiMediaStream = This->parent;
|
||||
+
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI DirectDrawMediaStreamImpl_IDirectDrawMediaStream_GetInformation(IDirectDrawMediaStream *iface,
|
||||
@@ -511,9 +523,15 @@ static HRESULT WINAPI AudioMediaStreamImpl_IAMMediaStream_GetMultiMediaStream(IA
|
||||
{
|
||||
AudioMediaStreamImpl *This = impl_from_AudioMediaStream_IAMMediaStream(iface);
|
||||
|
||||
- FIXME("(%p/%p)->(%p) stub!\n", This, iface, multi_media_stream);
|
||||
+ TRACE("(%p/%p)->(%p)\n", This, iface, multi_media_stream);
|
||||
|
||||
- return S_FALSE;
|
||||
+ if (!multi_media_stream)
|
||||
+ return E_POINTER;
|
||||
+
|
||||
+ IMultiMediaStream_AddRef(This->parent);
|
||||
+ *multi_media_stream = This->parent;
|
||||
+
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI AudioMediaStreamImpl_IAMMediaStream_GetInformation(IAMMediaStream *iface,
|
||||
@@ -672,9 +690,15 @@ static HRESULT WINAPI AudioMediaStreamImpl_IAudioMediaStream_GetMultiMediaStream
|
||||
{
|
||||
AudioMediaStreamImpl *This = impl_from_IAudioMediaStream(iface);
|
||||
|
||||
- FIXME("(%p/%p)->(%p) stub!\n", iface, This, multimedia_stream);
|
||||
+ TRACE("(%p/%p)->(%p)\n", iface, This, multimedia_stream);
|
||||
|
||||
- return S_FALSE;
|
||||
+ if (!multimedia_stream)
|
||||
+ return E_POINTER;
|
||||
+
|
||||
+ IMultiMediaStream_AddRef(This->parent);
|
||||
+ *multimedia_stream = This->parent;
|
||||
+
|
||||
+ return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI AudioMediaStreamImpl_IAudioMediaStream_GetInformation(IAudioMediaStream *iface,
|
||||
--
|
||||
2.4.5
|
||||
|
1
patches/amstream-GetMultiMediaStream/definition
Normal file
1
patches/amstream-GetMultiMediaStream/definition
Normal file
@@ -0,0 +1 @@
|
||||
Fixes: [37090] Implement AMStream GetMultiMediaStream functions
|
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,75 @@
|
||||
From a8d6331370eb45eef60eb3348e342288344fa622 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Storsjo <martin@martin.st>
|
||||
Date: Mon, 3 Aug 2015 22:26:01 +0300
|
||||
Subject: ucrtbase: Hook up some functions with new names to existing
|
||||
implementations
|
||||
|
||||
These are some functions that on a first glance seem to have a
|
||||
matching signature even though the name has changed.
|
||||
---
|
||||
dlls/ucrtbase/ucrtbase.spec | 15 +++++++--------
|
||||
1 file changed, 7 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/dlls/ucrtbase/ucrtbase.spec b/dlls/ucrtbase/ucrtbase.spec
|
||||
index a1be10d..bcbfeaa 100644
|
||||
--- a/dlls/ucrtbase/ucrtbase.spec
|
||||
+++ b/dlls/ucrtbase/ucrtbase.spec
|
||||
@@ -203,7 +203,7 @@
|
||||
@ cdecl _c_exit() MSVCRT__c_exit
|
||||
@ cdecl _cabs(long) MSVCRT__cabs
|
||||
@ cdecl _callnewh(long)
|
||||
-@ stub _calloc_base
|
||||
+@ cdecl _calloc_base(long long) MSVCRT_calloc
|
||||
@ cdecl _cexit() MSVCRT__cexit
|
||||
@ cdecl _cgets(ptr)
|
||||
@ stub _cgets_s
|
||||
@@ -233,7 +233,7 @@
|
||||
@ cdecl _creat(str long) MSVCRT__creat
|
||||
@ cdecl _create_locale(long str) MSVCRT__create_locale
|
||||
@ stub _crt_at_quick_exit
|
||||
-@ stub _crt_atexit
|
||||
+@ cdecl _crt_atexit(ptr) MSVCRT_atexit
|
||||
@ stub _crt_debugger_hook
|
||||
@ cdecl _ctime32(ptr) MSVCRT__ctime32
|
||||
@ cdecl _ctime32_s(str long ptr) MSVCRT__ctime32_s
|
||||
@@ -323,7 +323,7 @@
|
||||
@ cdecl _fputwchar(long) MSVCRT__fputwchar
|
||||
@ cdecl _fread_nolock(ptr long long ptr) MSVCRT__fread_nolock
|
||||
@ cdecl _fread_nolock_s(ptr long long long ptr) MSVCRT__fread_nolock_s
|
||||
-@ stub _free_base
|
||||
+@ cdecl _free_base(ptr) MSVCRT_free
|
||||
@ cdecl _free_locale(ptr) MSVCRT__free_locale
|
||||
@ cdecl _fseek_nolock(ptr long long) MSVCRT__fseek_nolock
|
||||
@ cdecl _fseeki64(ptr int64 long) MSVCRT__fseeki64
|
||||
@@ -566,7 +566,7 @@
|
||||
@ cdecl _ltow_s(long ptr long long) MSVCRT__ltow_s
|
||||
@ cdecl _makepath(ptr str str str str) MSVCRT__makepath
|
||||
@ cdecl _makepath_s(ptr long str str str str) MSVCRT__makepath_s
|
||||
-@ stub _malloc_base
|
||||
+@ cdecl _malloc_base(long) MSVCRT_malloc
|
||||
@ cdecl _mbbtombc(long)
|
||||
@ stub _mbbtombc_l
|
||||
@ cdecl _mbbtype(long long)
|
||||
@@ -1842,16 +1842,15 @@
|
||||
@ stdcall -arch=i386 _seh_longjmp_unwind(ptr)
|
||||
@ cdecl -arch=i386 _set_SSE2_enable(long) MSVCRT__set_SSE2_enable
|
||||
@ cdecl _set_abort_behavior(long long) MSVCRT__set_abort_behavior
|
||||
-@ stub _set_app_type
|
||||
+@ cdecl _set_app_type(long) MSVCRT___set_app_type
|
||||
@ cdecl _set_controlfp(long long)
|
||||
@ cdecl _set_doserrno(long)
|
||||
@ cdecl _set_errno(long)
|
||||
@ cdecl _set_error_mode(long)
|
||||
@ cdecl _set_fmode(long) MSVCRT__set_fmode
|
||||
@ cdecl _set_invalid_parameter_handler(ptr)
|
||||
-@ stub -arch=win32 ?_set_new_handler@@YAP6AHI@ZH@Z # int(__cdecl*__cdecl _set_new_handler(int))(unsigned int)
|
||||
-@ stub -arch=win64 ?_set_new_handler@@YAP6AH_K@ZH@Z # int(__cdecl*__cdecl _set_new_handler(int))(unsigned __int64)
|
||||
-@ stub _set_new_mode
|
||||
+@ cdecl _set_new_handler(ptr) MSVCRT_set_new_handler
|
||||
+@ cdecl _set_new_mode(long) MSVCRT__set_new_mode
|
||||
@ cdecl _set_printf_count_output(long) MSVCRT__set_printf_count_output
|
||||
@ cdecl _set_purecall_handler(ptr)
|
||||
@ stub -arch=win32 ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZH@Z # void(__cdecl*__cdecl _set_se_translator(int))(unsigned int,struct _EXCEPTION_POINTERS *)
|
||||
--
|
||||
2.5.0
|
||||
|
@@ -0,0 +1,163 @@
|
||||
From 4c5f9bb07041f41bae05c4e6487f0ba6a5456099 Mon Sep 17 00:00:00 2001
|
||||
From: Martin Storsjo <martin@martin.st>
|
||||
Date: Mon, 3 Aug 2015 22:26:02 +0300
|
||||
Subject: vcruntime140: Add the new MSVC 2015 compiler specific DLL.
|
||||
|
||||
Since MSVC 2015/Windows 10, the C runtime has now been split into two
|
||||
parts, ucrtbase, which is the generic C runtime which is now considered
|
||||
a system component, and vcruntimeX which is specific to the compiler
|
||||
version.
|
||||
|
||||
Even if this DLL only has a fraction of the functions of the full
|
||||
msvcrt/ucrtbase, it still requires almost all the object files from
|
||||
msvcrt.
|
||||
---
|
||||
configure.ac | 1 +
|
||||
dlls/vcruntime140/Makefile.in | 33 +++++++++++++++
|
||||
dlls/vcruntime140/vcruntime140.spec | 82 +++++++++++++++++++++++++++++++++++++
|
||||
3 files changed, 116 insertions(+)
|
||||
create mode 100644 dlls/vcruntime140/Makefile.in
|
||||
create mode 100644 dlls/vcruntime140/vcruntime140.spec
|
||||
|
||||
diff --git a/configure.ac b/configure.ac
|
||||
index 0a93a00..e6817bb 100644
|
||||
--- a/configure.ac
|
||||
+++ b/configure.ac
|
||||
@@ -3327,6 +3327,7 @@ WINE_CONFIG_TEST(dlls/vcomp/tests)
|
||||
WINE_CONFIG_DLL(vcomp100)
|
||||
WINE_CONFIG_DLL(vcomp110)
|
||||
WINE_CONFIG_DLL(vcomp90)
|
||||
+WINE_CONFIG_DLL(vcruntime140,,[implib])
|
||||
WINE_CONFIG_DLL(vdhcp.vxd,enable_win16)
|
||||
WINE_CONFIG_DLL(vdmdbg,,[implib])
|
||||
WINE_CONFIG_DLL(ver.dll16,enable_win16)
|
||||
diff --git a/dlls/vcruntime140/Makefile.in b/dlls/vcruntime140/Makefile.in
|
||||
new file mode 100644
|
||||
index 0000000..92f99c4
|
||||
--- /dev/null
|
||||
+++ b/dlls/vcruntime140/Makefile.in
|
||||
@@ -0,0 +1,33 @@
|
||||
+EXTRADEFS = -D_MT -D_MSVCR_VER=140
|
||||
+MODULE = vcruntime140.dll
|
||||
+IMPORTLIB = vcruntime140
|
||||
+DELAYIMPORTS = advapi32 user32
|
||||
+PARENTSRC = ../msvcrt
|
||||
+
|
||||
+C_SRCS = \
|
||||
+ console.c \
|
||||
+ cpp.c \
|
||||
+ ctype.c \
|
||||
+ data.c \
|
||||
+ dir.c \
|
||||
+ environ.c \
|
||||
+ errno.c \
|
||||
+ except.c \
|
||||
+ except_arm.c \
|
||||
+ except_i386.c \
|
||||
+ except_x86_64.c \
|
||||
+ exit.c \
|
||||
+ file.c \
|
||||
+ heap.c \
|
||||
+ locale.c \
|
||||
+ lock.c \
|
||||
+ main.c \
|
||||
+ math.c \
|
||||
+ mbcs.c \
|
||||
+ misc.c \
|
||||
+ process.c \
|
||||
+ string.c \
|
||||
+ thread.c \
|
||||
+ time.c \
|
||||
+ undname.c \
|
||||
+ wcs.c
|
||||
diff --git a/dlls/vcruntime140/vcruntime140.spec b/dlls/vcruntime140/vcruntime140.spec
|
||||
new file mode 100644
|
||||
index 0000000..9027955
|
||||
--- /dev/null
|
||||
+++ b/dlls/vcruntime140/vcruntime140.spec
|
||||
@@ -0,0 +1,82 @@
|
||||
+@ stub _CreateFrameInfo
|
||||
+@ stdcall _CxxThrowException(long long)
|
||||
+@ cdecl -arch=i386 -norelay _EH_prolog()
|
||||
+@ stub _FindAndUnlinkFrame
|
||||
+@ stub _IsExceptionObjectToBeDestroyed
|
||||
+@ stub _NLG_Dispatch2
|
||||
+@ stub _NLG_Return
|
||||
+@ stub _NLG_Return2
|
||||
+@ stub _SetWinRTOutOfMemoryExceptionCallback
|
||||
+@ cdecl __AdjustPointer(ptr ptr)
|
||||
+@ stub __BuildCatchObject
|
||||
+@ stub __BuildCatchObjectHelper
|
||||
+@ cdecl -arch=i386,x86_64,arm __CxxDetectRethrow(ptr)
|
||||
+@ stub __CxxExceptionFilter
|
||||
+@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler(ptr ptr ptr ptr)
|
||||
+@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler2(ptr ptr ptr ptr) __CxxFrameHandler
|
||||
+@ cdecl -arch=i386,x86_64,arm -norelay __CxxFrameHandler3(ptr ptr ptr ptr) __CxxFrameHandler
|
||||
+@ stdcall -arch=i386 __CxxLongjmpUnwind(ptr)
|
||||
+@ cdecl -arch=i386,x86_64,arm __CxxQueryExceptionSize()
|
||||
+@ stub __CxxRegisterExceptionObject
|
||||
+@ stub __CxxUnregisterExceptionObject
|
||||
+@ stub __DestructExceptionObject
|
||||
+@ stub __FrameUnwindFilter
|
||||
+@ stub __GetPlatformExceptionInfo
|
||||
+@ cdecl __RTCastToVoid(ptr) MSVCRT___RTCastToVoid
|
||||
+@ cdecl __RTDynamicCast(ptr long ptr ptr long) MSVCRT___RTDynamicCast
|
||||
+@ cdecl __RTtypeid(ptr) MSVCRT___RTtypeid
|
||||
+@ stub __TypeMatch
|
||||
+@ stub __current_exception
|
||||
+@ stub __current_exception_context
|
||||
+@ stub __intrinsic_setjmp
|
||||
+@ stub __processing_throw
|
||||
+@ stub __report_gsfailure
|
||||
+@ stub __std_exception_copy
|
||||
+@ stub __std_exception_destroy
|
||||
+@ stub __std_terminate
|
||||
+@ stub __std_type_info_compare
|
||||
+@ stub __std_type_info_destroy_list
|
||||
+@ stub __std_type_info_hash
|
||||
+@ stub __std_type_info_name
|
||||
+@ stub __telemetry_main_invoke_trigger
|
||||
+@ stub __telemetry_main_return_trigger
|
||||
+@ cdecl __unDName(ptr str long ptr ptr long)
|
||||
+@ cdecl __unDNameEx(ptr str long ptr ptr ptr long)
|
||||
+@ cdecl __uncaught_exception() MSVCRT___uncaught_exception
|
||||
+@ stub __uncaught_exceptions
|
||||
+@ stub __vcrt_GetModuleFileNameW
|
||||
+@ stub __vcrt_GetModuleHandleW
|
||||
+@ stub __vcrt_InitializeCriticalSectionEx
|
||||
+@ stub __vcrt_LoadLibraryExW
|
||||
+@ cdecl -arch=i386 -norelay _chkesp()
|
||||
+@ cdecl -arch=i386 _except_handler2(ptr ptr ptr ptr)
|
||||
+@ cdecl -arch=i386 _except_handler3(ptr ptr ptr ptr)
|
||||
+@ cdecl -arch=i386 _except_handler4_common(ptr ptr ptr ptr ptr ptr)
|
||||
+@ stub _get_purecall_handler
|
||||
+@ cdecl _get_unexpected() MSVCRT__get_unexpected
|
||||
+@ cdecl -arch=i386 _global_unwind2(ptr)
|
||||
+@ stub _is_exception_typeof
|
||||
+@ cdecl -arch=i386 _local_unwind2(ptr long)
|
||||
+@ cdecl -arch=i386 _local_unwind4(ptr ptr long)
|
||||
+@ cdecl -arch=i386 _longjmpex(ptr long) MSVCRT_longjmp
|
||||
+@ cdecl _purecall()
|
||||
+@ stdcall -arch=i386 _seh_longjmp_unwind4(ptr)
|
||||
+@ stdcall -arch=i386 _seh_longjmp_unwind(ptr)
|
||||
+@ cdecl _set_purecall_handler(ptr)
|
||||
+@ stub -arch=win32 ?_set_se_translator@@YAP6AXIPAU_EXCEPTION_POINTERS@@@ZH@Z # void(__cdecl*__cdecl _set_se_translator(int))(unsigned int,struct _EXCEPTION_POINTERS *)
|
||||
+@ stub -arch=win64 ?_set_se_translator@@YAP6AXIPEAU_EXCEPTION_POINTERS@@@ZH@Z # void(__cdecl*__cdecl _set_se_translator(int))(unsigned int,struct _EXCEPTION_POINTERS * __ptr64)
|
||||
+@ cdecl -arch=i386 -norelay _setjmp3(ptr long) MSVCRT__setjmp3
|
||||
+@ cdecl -arch=i386,x86_64,arm longjmp(ptr long) MSVCRT_longjmp
|
||||
+@ cdecl memchr(ptr long long) MSVCRT_memchr
|
||||
+@ cdecl memcmp(ptr ptr long) MSVCRT_memcmp
|
||||
+@ cdecl memcpy(ptr ptr long) MSVCRT_memcpy
|
||||
+@ cdecl memmove(ptr ptr long) MSVCRT_memmove
|
||||
+@ cdecl memset(ptr long long) MSVCRT_memset
|
||||
+@ stub set_unexpected
|
||||
+@ cdecl strchr(str long) MSVCRT_strchr
|
||||
+@ cdecl strrchr(str long) MSVCRT_strrchr
|
||||
+@ cdecl strstr(str str) MSVCRT_strstr
|
||||
+@ stub unexpected
|
||||
+@ cdecl wcschr(wstr long) MSVCRT_wcschr
|
||||
+@ cdecl wcsrchr(wstr long) ntdll.wcsrchr
|
||||
+@ cdecl wcsstr(wstr wstr) MSVCRT_wcsstr
|
||||
--
|
||||
2.5.0
|
||||
|
@@ -0,0 +1,26 @@
|
||||
From af073a4d16fe89994017690db5a719940e66534b Mon Sep 17 00:00:00 2001
|
||||
From: Martin Storsjo <martin@martin.st>
|
||||
Date: Mon, 3 Aug 2015 22:26:03 +0300
|
||||
Subject: vcruntime140: Hook up a function with a new name to the existing
|
||||
implementation
|
||||
|
||||
---
|
||||
dlls/vcruntime140/vcruntime140.spec | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/vcruntime140/vcruntime140.spec b/dlls/vcruntime140/vcruntime140.spec
|
||||
index 9027955..adfb0f0 100644
|
||||
--- a/dlls/vcruntime140/vcruntime140.spec
|
||||
+++ b/dlls/vcruntime140/vcruntime140.spec
|
||||
@@ -46,7 +46,7 @@
|
||||
@ stub __uncaught_exceptions
|
||||
@ stub __vcrt_GetModuleFileNameW
|
||||
@ stub __vcrt_GetModuleHandleW
|
||||
-@ stub __vcrt_InitializeCriticalSectionEx
|
||||
+@ cdecl -arch=i386,win64 __vcrt_InitializeCriticalSectionEx(ptr long long) MSVCR110__crtInitializeCriticalSectionEx
|
||||
@ stub __vcrt_LoadLibraryExW
|
||||
@ cdecl -arch=i386 -norelay _chkesp()
|
||||
@ cdecl -arch=i386 _except_handler2(ptr ptr ptr ptr)
|
||||
--
|
||||
2.5.0
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user