Compare commits

..

1 Commits

Author SHA1 Message Date
Michael MĂĽller
8d274db63d Add first patches for d3d10. 2014-08-22 23:01:03 +02:00
804 changed files with 8424 additions and 101604 deletions

3
.gitignore vendored
View File

@@ -1,2 +1,5 @@
debian/tools/wine
.depcache
.srccache
*.ok
*.pyc

152
DEVELOPER.md Normal file
View File

@@ -0,0 +1,152 @@
Developers and maintainers guide
================================
This document will provide some information targeted at developers, who
either want to build/package Wine-Compholio for their distribution, but also
for developers who would like to contribute their patches to Wine-Compholio,
to get them included in future releases.
Compiling Wine-Compholio
========================
**Warning:** Please note that starting with Wine-Compholio 1.7.23 it is
deprecated to manually apply patches without using the Makefile. To avoid
typical pitfalls for package maintainers (like trying to use the patch
commandline utility for binary patches or not updating the patchlist) it is
highly recommended to use the Makefile in order to apply all patches. This
ensures that the the correct patch utility is used, that the list of patches
is updated appropriately, and so on. Please note that it is still possible
to exclude patches if desired, take a look at the end of this document for
more details.
Instructions
------------
The following instructions (based on the [Gentoo
Wiki](https://wiki.gentoo.org/wiki/Netflix/Pipelight#Compiling_manually))
will give a short overview how to compile Wine-Compholio, but of course not
explain all details. Make sure to install all required Wine dependencies
before proceeding.
As the first step please grab the latest Wine source:
```bash
wget http://prdownloads.sourceforge.net/wine/wine-1.7.24.tar.bz2
wget https://github.com/compholio/wine-compholio-daily/archive/v1.7.24.tar.gz
```
Extract the archives:
```bash
tar xvjf wine-1*.tar.bz2
cd wine-1*
tar xvzf ../v1.7.24.tar.gz --strip-components 1
```
And apply the patches:
```bash
make -C ./patches DESTDIR=$(pwd) install
```
Afterwards run configure (you can also specify a prefix if you don't want to install
Wine-Compholio system-wide):
```bash
./configure --with-xattr
```
Before you continue you should make sure that `./configure` doesn't show any
warnings (look at the end of the output). If there are any warnings, this
most likely means that you're missing some important header files. Install
them and repeat the `./configure` step until all problems are fixed.
Afterwards compile it (and grab a cup of coffee):
```bash
make
```
And install it (you only need sudo for a system-wide installation):
```bash
sudo make install
```
Excluding patches
-----------------
It is also possible to apply only a subset of the patches, for example if
you're compiling for a distribution where PulseAudio is not installed, or
if you just don't like a specific patchset. Please note that some patchsets
depend on each other, and requesting an impossible situation might result
in a failure to apply all patches.
Lets assume you want to exclude the patchset in directory `DIRNAME`, then
just invoke the Makefile like this:
```bash
make -C ./patches DESTDIR=$(pwd) install -W DIRNAME.ok
```
Using the same method its also possible to exclude multiple patchsets. If you
want to exclude a very large number of patches, it is easier to do specify
a list of patches which should be included instead. To apply for example
only the patchsets in directory `DIRNAME1` and `DIRNAME2`, you can use:
```bash
make -C ./patches DESTDIR=$(pwd) PATCHLIST="DIRNAME1.ok DIRNAME2.ok" install
```
Contributing to Wine-Compholio
==============================
Please note that Wine-Compholio is not just an arbitrary collection of Wine
patches. We see Wine-Compholio as a **testing version** in preparation for
patches to be submitted to upstream Wine. This implies that all patches should
at least have a minimum standard quality. Unlike some other PPAs/AURs which
provide heavily patched Wine versions, we will not accept hacks for very
specific games. Such hacks often break compatibility with other applications,
which means we probably don't want to include them, sorry.
If you think your patches are indeed a proper implementation, then feel free
to contribute them. Please note that to allow possible later inclusion
into upstream Wine, we will require you to pay attention to the same
[rules](http://wiki.winehq.org/SubmittingPatches). Please be patient and
give us up to about a week to review them - we're a very small team, so
it might take some time, and we want to make sure that the implementation
doesn't contain any critical errors, which could cause regressions. If you
want to contribute huge sets of patches, we would really like you to *stay
contributing* in the future. Even if we accepted your patches, this doesn't
necessary mean we understand all of it, and if you cannot or don't want
to maintain them (especially in case of errors, or difficult rebasing),
we will probably end up removing them again.
You can also suggest adding patches written by other people - in this case
your request should include who wrote the patch. Anonymous patches which
don't include the author information aren't welcome, similar to the rules
for upstream Wine.
Attribution guidelines
----------------------
The Wine "Compholio" Edition repository expects all patches to conform to
Wine's (undocumented) attribution guidelines. There are a variety of ways
to attribute patches, but they all involve an additional line to the patch
subject:
```
commit 0000000000000000000000000000000000000000
Author: Example Author <example.email@email-provider.com>
Date: Sat Jul 26 12:31:50 2014 -0600
Name of patch.
TYPE-OF-ATTRIBUTION.
```
TYPE-OF-ATTRIBUTION can be any of the following:
`Found/Spotted by FINDER.`: The resolved issue was found by FINDER, they
should receive appropriate credit for finding the problem - even though
their patch was not used in the final implementation.
`Based on patch by AUTHOR.`: The patch created by AUTHOR was a starting point
for the patch, some modifications were made to their patch - but they should
receive credit since the original implementation was theirs.

View File

@@ -1,15 +1,15 @@
Wine Staging license
====================
Wine-Compholio license
======================
**Note:** Some files in this repository are provided under a different license.
Please check the list of exceptions below. Unless stated otherwise all files
are part of **Wine Staging** and are licensed under the terms of the
are part of **Wine-Compholio** and are licensed under the terms of the
[LGPLv2.1](#gnu-lgpl-version-21), to stay compatible with Wine:
```
Copyright (C) 2014-2015 the Wine Staging project authors.
Copyright (C) 2014 the Wine-Compholio project authors.
Wine Staging is free software; you can redistribute it and/or
Wine-Compholio is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
@@ -26,7 +26,7 @@ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
### Exceptions
The following files are not part of Wine Staging and provided under a
The following files are not part of Wine-Compholio and provided under a
different license. These files are not linked to the rest of the project in
any way and are simply installed for end-user convenience.

597
README.md

File diff suppressed because it is too large Load Diff

422
debian/changelog vendored
View File

@@ -1,422 +1,7 @@
wine-staging (1.7.38) unstable; urgency=low
* Various improvements to patchupdate.py.
* Various improvements to dxva2 vaapi support.
* Long overdue update to the TransmitFile patches.
* Disabled patchset for reg.exe cleanup (partially accepted upstream).
* Added patch to report the correct refresh rates for some NVIDIA cards.
* Added patch to mark DllCanUnloadNow and DllGetClassObject as private (by Amine Khaldi, wine-patched/pull/3).
* Added patch to skip Wine specific __wine_check_for_events calls in ReactOS (by Amine Khaldi, wine-patched/pull/4).
* Added patch to declare pDirectInputCreateEx in a MSVC compatible way (by Amine Khaldi, wine-patched/pull/5).
* Added patch to complete and properly pack DNS_HEADER structure (by Amine Khaldi, wine-patched/pull/6).
* Added patch to fix race-condition when threads are killed during shutdown.
* Added patch to avoid deadlock by using _exit() in NtTerminateProcess.
* Added patch to fallback to global key state for threads without a queue.
* Added patch to implement SetFileInformationByHandle.
* Added patch for CopyFileEx progress callback and cancellation support.
* Added first set of patches for job objects (by Andrew Cook).
* Added patch for stub of gdiplus.GdipCreateEffect.
* Added patches for ntoskrnl.ProbeFor{Read,Write}.
* Added patch for support of shell32 file operation progress dialog.
* Added patch for basic implementation of job objects.
* Added patch to display animations for SHFileOperation progress dialog.
* Added patch to enforce that surfaces are flushed after ReleaseDC.
* Added patch to implement IProgressDialog::SetAnimation.
* Added patch in order to allow to override number of quality levels for D3DMULTISAMPLE_NONMASKABLE.
* Added patch for job object completion support.
* Added patch to properly track handle count of wineserver objects.
* Added patch to implement JOB_OBJECT_LIMIT_KILL_ON_JOB_CLOSE.
* Added patch to implement PROGDLG_AUTOTIME for IProgressDialog.
* Added patch to implement support for NULL job handles in IsProcessInJob.
* Added patch to implement support for waiting on job object.
* Added patch to fix crash in clip_cursor_notify caused by uninitialized TLS.
* Added patches to make various functions in d3d8 / ddraw hotpatchable (required for fraps).
* Added patch to make GetLogicalProcessorInformationEx a stub which returns TRUE.
* Added patches to fix race-condition when closing browseui IProcessDialog.
* Added patch to avoid unloading msctf library while textservices are activated.
* Added patch to correct DDSCAPS2 and DDSURFACEDESC2 structure (by Amine Khaldi, wine-patched/pull/7).
* Added patch to fix crash when trying to switch back to a 16-bit stack.
* Added patches to improve performance by reusing old async IO structure if possible.
* Added patch to increase wineconsole commandline buffer size.
* Added patch to replace hardcoded values with sizeof(GUID) for d3dxof.
* Added patch to implement cuModuleLoad wrapper function.
* Added patch to process APC calls before starting process.
* Removed patch to properly call DriverUnload when unloading device drivers (accepted upstream).
* Removed patch to allow Accept-Encoding for HTTP/1.0 in wininet (accepted upstream).
* Removed patch to declare pDirectInputCreateEx in a MSVC compatible way (accepted upstream).
* Removed patch to limit cross thread access to ImmSet* functions (accepted upstream).
* Removed patch to fix arguments for OSMesaMakeCurrent when using 16 bit formats (accepted upstream).
* Removed patch to fix memory leak in ApplicationAssociationRegistration_QueryCurrentDefault (accepted upstream).
* Removed patch to complete and properly pack DNS_HEADER structure (accepted upstream).
* Removed patch to avoid accessing stack below ESP when restoring thread context (accepted upstream).
* Removed patch to fix mouse jittering in Planetside 2 (accepted upstream).
* Removed patch to handle write watches while we're on the signal stack (accepted upstream).
* Removed patch with tests for NtQueryLicenseKey (accepted upstream).
* Removed patch to fix crash when trying to switch back to a 16-bit stack (accepted upstream).
* Removed patch to fix definition of SECTION_BASIC_INFORMATION and SECTION_IMAGE_INFORMATION (accepted upstream).
* Removed patch to add library override instead of closing winecfg when pressing ENTER (accepted upstream).
* Removed patch to fix init of LONGLONG variable with a negative value in TGA decoder (accepted upstream).
* Removed patch to fix parameters for ConvertToIndexedBlendedMesh stub (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sat, 07 Mar 2015 23:09:11 +0100
wine-staging (1.7.37) unstable; urgency=low
* Fix a TRACE line in the iphlpapi-TCP_Table patchset.
* Fix an issue in the d3dx9_36-GetShaderSemantics patchset.
* Update patchset for RtlUnwindEx on x86_64 and fix a second bug.
* Updated patch for DXTn support to avoid libtxc_dxtn as compile time dependency.
* Added patch to avoid race-conditions in NtReadFile() operations with write watches.
* Added patch to avoid race-conditions with write watches in WS2_async_accept.
* Added patch to implement D3DXGetShaderOutputSemantics.
* Added patch to implement basic handling of write watches while we're on the signal stack.
* Added patch to add stub for ntoskrnl.ExAcquireResourceExclusiveLite.
* Added patch to add stub for ntoskrnl.ExReleaseResourceForThread.
* Added patch to add stub for ntoskrnl.ExDeleteResourceLite.
* Added patch to avoid accessing stack below ESP when restoring thread context.
* Added patch to implement IApplicationAssociationRegistration::QueryCurrentDefault.
* Added patch to improve stubs for AEV_{Get,Set}MasterVolumeLevel.
* Added patch to improve stubs for AEV_{Get,Set}Mute.
* Added patch to implement semi-stub for GetFileVersionInfoSizeExA/W.
* Added patch to implement semi-stub for GetFileVersionInfoExA/W.
* Added patch to ignore unsupported alpha channels in TIFF decoder.
* Added patch to add stub for ntoskrnl.Mm{Map,Unmap}LockedPages.
* Added patch to implement ntoskrnl.KeInitializeMutex.
* Added patch for support of non-blocking SIO_ADDRESS_LIST_CHANGE requests.
* Added patch for MPEG2/H264 DXVA2 video decoding through vaapi.
* Removed patches for UTF7 support (accepted upstream).
* Removed patches for SIO_ADDRESS_LIST_CHANGE ioctl (accepted upstream).
* Removed patch for IApplicationAssociationRegistration::QueryCurrentDefault (accepted upstream).
* Removed patch for IDirectPlayVoiceClient::GetCompressionTypes (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 22 Feb 2015 06:58:09 +0100
wine-staging (1.7.36) unstable; urgency=low
* Fix an incompatibility of patchinstall.sh with non-bash shells under specific situations.
* Improve dinput-Events patch to be compatible with applications which do not explicitly poll for input.
* Added patch to properly call DriverUnload when unloading device drivers.
* Added patch to fix check for end_frame in RtlUnwindEx on x86_64.
* Added patch to fix mouse jittering in Planetside 2.
* Added patch to implement additional stubs for vcomp dlls.
* Added patchset to implement Vista+ threadpool functions for work / timers.
* Added patchset for Vista+ threadpool wait objects.
* Added patch to fix crash in Jedi Knight: Dark Forces II when winmm is set to native.
* Added patch to fix arguments for OSMesaMakeCurrent when using 16 bit formats.
* Added patch to add library override instead of closing winecfg when pressing ENTER over the combobox.
* Added patchset for various improvements and cleanup of reg.exe.
* Added patch to add performance library registry keys needed by MS SQL Server Management Studio Express 2008 R2.
* Added patch to implement NVIDIA video encoder library (nvencodeapi).
* Added patch to make nvcuda.dll compatible with CUDA 7.0.
* Added patch to implement stub for ntoskrnl.IoGetAttachedDeviceReference.
* Added patch to implement stubs for ntoskrnl.Ex{Acquire,Release}FastMutexUnsafe.
* Added patch to implement stubs for ntoskrnl.ObReferenceObjectByPointer and ntoskrnl.ObDereferenceObject.
* Added patch to implement stub for ntoskrnl.KeDelayExecutionThread.
* Added patch to improve various ntoskrnl stub functions.
* Added patch to fix wrong defition of ntoskrnl.IoReleaseCancelSpinLock function.
* Added patch to improve stub for AEV_GetVolumeRange.
* Removed patch to add additional tests for SLGetWindowsInformationDWORD (accepted upstream).
* Removed patch to avoid filling KdHelp structure for usermode applications (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 08 Feb 2015 19:14:24 +0100
wine-staging (1.7.35) unstable; urgency=low
* Add stub for KeWaitForMultipleObjects.
* Add support for patchinstall.sh parameters '--no-patchlist' and '--no-autoconf'.
* Add support for Gentoo epatch backend to patchinstall.sh.
* Fix compile warnings on x86_64 in several patchsets.
* Automatically enable fallback method to apply patches when running from inside of a git subdirectory.
* Synchronize CSMT patchset with https://github.com/stefand/wine.
* Several improvements to make nvcuvid (CUDA video decoding) better compatible with x86_64.
* Properly wrap CUDA stream callbacks by forwarding them to a separate worker thread.
* Added patch to quote program name in ShellExecute[Ex] when it contains spaces.
* Added patch to implement support for DDS file format in D3DXSaveTextureToFileInMemory.
* Added patch to avoid appending duplicate NULL character when importing keys with regedit.
* Added patch for IConnectionPoint/INetworkListManagerEvents stub interface.
* Added patch to fix init of LONGLONG variable with a negative value in TGA decoder.
* Added patch to implement stubs for D3DXCreateAnimationController interface.
* Added patch to implement semi-stub for IDirectPlayVoiceClient::GetCompressionTypes.
* Added patch to fix cursor clip regression / broken raw input in multiple games.
* Added patches to implement ntoskrnl driver testing framework.
* Added patch to fix handling of window attributes for WS_EX_LAYERED | WS_EX_COMPOSITED.
* Removed patch to fix RandR on some broken nVidia systems (accepted upstream).
* Removed patch to set last error on success in WSARecv (accepted upstream).
* Removed patch to fix handling of subdirectory in FtpFindFirstFile (accepted upstream).
* Removed patch to initialize irp.Tail.Overlay.OriginalFileObject with stub file object (accepted upstream).
* Removed patch to fix incorrect behaviour of PathIsDirectoryEmptyW (accepted upstream).
* Removed patch to store IOCS data in a property instead of GWLP_USERDATA (accepted upstream).
* Removed patch to fix color key regression (fixed upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sat, 24 Jan 2015 16:03:35 +0100
wine-staging (1.7.34-1) unstable; urgency=low
* Debian/Ubuntu specific package dependency fix (no changes for other distros).
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 11 Jan 2015 19:14:09 +0100
wine-staging (1.7.34) unstable; urgency=low
* Huge rewrite of patchupdate.py, deprecation of Makefile based way to apply patches.
* Rename debian package from 'wine-compholio' to 'wine-staging' and provide compatibility package.
* Avoid duplicate wined3d specfile by adding PARENTSPEC Makefile argument.
* Fix issue in DOS Attributes patch which broke ./configure on systems with alternative shells.
* Fix issue in user32-WndProc patch which caused crashes for some 16-bit apps.
* Fix issue in ws2_32-WriteWatches patch which can cause exceptions on the signal stack.
* Fix issue with invalid handles being incorrect when a new process is created.
* Update DXTn patches to better handle when libtxc_dxtn is missing or support is not compiled in.
* Added patch for WSARecv to call SetLastError on success.
* Added patch for CreateProcess to prioritize the working directory over the system search path.
* Added patch with stubs for WinSqm[Start|End]Session.
* Added patch to fix handling of subdirectory in FtpFindFirstFile.
* Added patch to return proper charcount for GetLocaleInfo with LOCALE_IFIRSTDAYOFWEEK.
* Added patch to ensure X11 input events are handled even without explicit message loop.
* Added test for server-Unexpected_Wakeup patch.
* Added patch for stub of ntdll.RtlSetHeapInformation.
* Added patch for IDXGIOutput::GetDesc.
* Added patch for ID3DXEffect::FindNextValidTechnique.
* Added patch with stub for D3DXComputeTangentFrameEx.
* Added patch with stub for D3DXIntersect.
* Added test for RtlIpv4StringToAddressExA.
* Added patch for support of SLGetWindowsInformationDWORD.
* Added patch to expect the correct buffer size for different IOCTL_DVD_READ_STRUCTURE requests.
* Added patch to use actual program name if available to describe PulseAudio streams.
* Added patch to try harder to get the host name address in getaddrinfo().
* Added patch to fix invalid usage of RegOpenKeyExW in msdmo.
* Added patch to add support for named pipe message mode.
* Added patch to avoid calling IDirect3DDevice7_DrawIndexedPrimitive if there is no primitive.
* Added patch to fix access violation when calling GetStringTypeW with NULL src.
* Added patch for ID3DXFont::DrawTextA/W support.
* Added patch to fix parameters for ConvertToIndexedBlendedMesh stub.
* Added patch for basic CUDA support.
* Added patches for D3DXComputeNormals and D3DXComputeNormalMap.
* Added patch for nvapi stubs (required for GPU PhysX support).
* Added patch to fix NULL dereference in ICSeqCompressFrameStart.
* Added patch to implement support for CUDA GPU video decoding.
* Added patch to fix color key regression causing pink rectangles around text.
* Rebased winepulse-Pulseaudio_Support patches to latest version from http://repo.or.cz/w/wine/multimedia.git.
* Removed patch to emulate write to CR4 register (accepted upstream).
* Removed patch with stub for KeSetSystemAffinityThread (accepted upstream).
* Removed patch to implement combase HSTRING objects (accepted upstream).
* Removed patch to add fake ProductId to registry (accepted upstream).
* Removed patch to implement stubs for MFStartup and MFShutdown (accepted upstream).
* Removed patch to implement shlwapi.StrCatChainW (accepted upstream).
* Removed patch to implement semi-stub for psapi/kernel32 K32EnumProcessModulesEx (accepted upstream).
* Removed patch to return proper charcount for GetLocaleInfo with LOCALE_IFIRSTDAYOFWEEK (accepted upstream).
* Removed patch to export SHILCreateFromPath by name (accepted upstream).
* Removed patch for stub of ntdll.RtlSetHeapInformation (accepted upstream).
* Removed patch for wine64 support on FreeBSD (accepted upstream).
* Removed patch for IoCsqInitialize (accepted upstream).
* Removed patch to fix invalid usage of RegOpenKeyExW in msdmo (fixed upstream).
* Removed patch to reallocate buffer when adding records to AVI files (fixed upstream).
* Partially removed patches for ntdll DOS attributes (accepted upstream).
* Partially removed patches for UTF7 support (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sat, 10 Jan 2015 22:22:01 +0100
wine-compholio (1.7.33) unstable; urgency=low
* Various improvements of patchupdate.py.
* Added patches for wined3d CSMT (command stream) support.
* Added additional tests for VerifyVersionInfoA.
* Added patch to fix condition handling in RtlVerifyVersionInfo.
* Added patch to set last error when GetRawInputDeviceList fails.
* Added patch to fix possible segfault in pulse_rd_loop of PulseAudio backend.
* Added patch to implement support for GetPropValue to PulseAudio backend.
* Added patch to implement shlwapi.StrCatChainW.
* Added patch to allow Accept-Encoding for HTTP/1.0 in wininet.
* Added patch for combase HSTRING objects.
* Added patch to implement stubs for MFStartup and MFShutdown.
* Added patch for additional tests of CoWaitForMultipleHandles with WM_QUIT.
* Added patch to fix return value of ScrollWindowEx for invisible windows.
* Added patch to ignore unsupported flags for CoInternetSetFeatureEnabled.
* Added patch to provide named entry point shell32.SHILCreateFromPath for vista apps.
* Added patch to reallocate buffer when adding records to AVI files.
* Added patch to implement support for loader dll redirections.
* Added patch to add winecfg Staging tab.
* Removed patch to fix copy and paste errors in ws2_32 tests (accepted upstream).
* Removed patch to fix ordering of IP addresses by metric if two addresses have the same metric (accepted upstream).
* Removed patch to reset data->pWintrustData->u.pFile->hFile after closing handle (accepted upstream).
* Removed patch to simplify implementation of ws32 get_poll_results (accepted upstream).
* Removed patch to fix passing of unicode environment from msvcrt to CreateProcessW (accepted upstream).
* Removed patches for api-ms-win-core-* stub dlls (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Mon, 15 Dec 2014 00:53:01 +0100
wine-compholio (1.7.32) unstable; urgency=low
* Various optimizations of patchupdate.py.
* Update patch for SO_CONNECT_TIME and adding better tests.
* Update patch for FD Cache and use faster method on x86_64.
* Added patch to ensure dbghelp always checks for debug symbols in BINDIR.
* Added patch for pulseaudio exclusive mode support.
* Added patch to take abs() of vertex z coordinate as FFP fog coordinate.
* Added patch to ensure ShowWindow avoids interthread no-op messages.
* Added patch to avoid race-conditions of async WSARecv() operations with write watches.
* Added patch to fix issues with write watches when using Exagear.
* Added patch to avoid failure because of missing ptrace support for Exagear.
* Added patch to automatically detect if tests are running under Wine.
* Added patch to avoid sending unexpected wakeup with uninitialized cookie value.
* Added patch to fix issues with dragging layers between images in Adobe Photoshop 7.0.
* Added patch to ensure wintrust resets data->pWintrustData->u.pFile->hFile after closing handle.
* Added patch to add additional format conversions for DXT1 and DXT3.
* Added patch to implement stubs for additional api-ms-win-core-* dlls.
* Added patch to fix copy and paste error recently introduced in ws2_32 tests.
* Added patch to change bug reporting URL in winedbg.
* Added patch to implement semi-stub for psapi/kernel32 K32EnumProcessModulesEx.
* Added patch to fix ordering of IP addresses by metric if two addresses have the same metric.
* Added patch to fix handling of empty section and key name for profile files.
* Added patch to fix passing of unicode environment from msvcrt to CreateProcessW.
* Removed patch to close server fd is there is no space in thread inflight fd list (accepted upstream).
* Removed patch to fix bugs in StrStr functions (accepted upstream).
* Removed patches to avoid sending messages in FindWindowExW (accepted upstream).
* Removed patch to fix implementation ofCoWaitForMultipleHandles (accepted upstream).
* Removed patch to avoid interthread no-op messages in ShowWindow (accepted upstream).
* Removed patches to take abs() of vertex z coordinate as FFP fog coordinate (fixed upstream).
* Removed patch to fix detection of gnutls on Ubuntu 14.10 (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 30 Nov 2014 15:22:49 +0100
wine-compholio (1.7.31) unstable; urgency=low
* Improve output of 'wine --patches' and simplify syntax of definition files.
* Update kernel32-GetSystemTimes patches.
* Improve style for ntdll-Fix_Alignment patches.
* Added possibility to temporarily disable patches to patch system.
* Added patch to allow selecting specific audio device for PulseAudio backend.
* Added patch with stub for NtSetLdtEntries/ZwSetLdtEntries.
* Added patch to prevent processing message events for CoWaitForMultipleHandles when APC calls are queued.
* Added patch with stub for KeSetSystemAffinityThread.
* Added patch to implement DXTn support for d3dx9_36.
* Added patch to return correct values for GetThreadTimes.
* Added patch to align texture dimensions to block size for compressed textures.
* Added patch with stub for IoCsqInitialize.
* Added patch with stubs for vectored continue handler functions.
* Added patch to fix wglDescribePixelFormat when NULL is passed as pixel format descriptor.
* Added patch to allow NULL pointer for optional arguments of D3DXIntersectTri.
* Added patch to fix crash of winedevice when relocation entry crosses page boundary.
* Added patch to emulate 'mov Eb, Gb' instruction on x86 processor architecture.
* Added patch to emulate access to KI_USER_SHARED_DATA kernel page on x86_64.
* Added patch to initialize irp.Tail.Overlay.OriginalFileObject with stub file object.
* Added patch to implement emulation of SIDT instruction when using Exagear.
* Added patch to return more context attributes in schan_InitializeSecurityContextW.
* Added patch to avoid crashing when broken app tries to release surface although refcount is zero.
* Added patch to avoid sending window messages in FindWindowExW.
* Added patch to fix handling of invert_y in DrawTextExW.
* Added patch to fix implementation of K32GetPerformanceInfo.
* Added patch to close server fd if there is no space in thread inflight fd list.
* Added patch to avoid failing in d3dx9_mesh_OptimizeInplace because of unimplemented vertex reordering.
* Added patch to workaround bugs in CompareStringW (triggered by Adobe Flash).
* Removed patch for iphlpapi stub functions (accepted upstream).
* Removed patches for FindFirstFileExW (accepted upstream).
* Removed patches for TLB dependencies lookup in resources (accepted upstream).
* Removed patches for ws2_32.inet_pton implementation (fixed upstream).
* Removed patch to update properties when applying MSI transforms (fixed upstream).
* Removed patch to silence repeated GSUB_apply_ChainContext[Subst|Pos] FIXMEs (accepted upstream).
* Removed patch with additional tests for MsgWaitForMultipleObjectsEx (accepted upstream).
* Removed patches for D3DXCreatePolygon (accepted upstream).
* Removed patches vor vectored continue handler stubs (accepted upstream).
* Removed patches for K32GetPerformanceInfo (accepted upstream).
* Removed patch for D3DXIntersectTri (accepted upstream).
* Partially removed patches for UTF-7 tests (accepted upstream).
* Partially removed patches for WS_SO_CONNECT_TIME (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sat, 15 Nov 2014 15:36:38 +0100
wine-compholio (1.7.30) unstable; urgency=low
* Fix wrong escaping of quote/slash characters in patchupdater script.
* Added additional conversion functions to DXTn patch.
* Added patch to filter specific warning messages for D3DCompileShader.
* Added patch to implement iphlpapi stub functions.
* Added patch to implement support for pasting HTML from native Unix applications.
* Added patch to implement RtlDecompressBuffer.
* Added patch to emulate write to CR4 register.
* Added patch for implementation of GdipCreateRegionRgnData.
* Added patch for implementation of D3DXCreatePolygon.
* Added patch for TLB dependencies lookup in resources.
* Added patch to update ProductVersion when applying MSI transforms.
* Added patch for ITextSelection_fnGetDuplicate implementation.
* Removed patch to avoid Clang compiler warning because of unused Vtable (accepted upstream).
* Removed patch for additional ATL thunks (accepted upstream).
* Removed patch to Ă­mplement IRichEditOle and ITextDocument support for ITextServices (accepted upstream).
* Removed patch to fix compile errors on Archlinux (fixed upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 02 Nov 2014 00:45:28 +0100
wine-compholio (1.7.29) unstable; urgency=low
* Updated DOS Attributes patch to better detect XATTR functions.
* Updated patch for shell32 default folder ACLs.
* Updated NtQuerySection patch.
* Updated patch for WRITECOPY memory protection.
* Added patch to support IDF_CHECKFIRST in SetupPromptForDisk.
* Added patch to fix issues when executing pages with guard page / write watch permissions.
* Added patch to set return value of basic_string_wchar_dtor to return NULL.
* Added patch for UTF7 encoding/decoding support.
* Added patch to implement ID3DXSkinInfoImpl_UpdateSkinnedMesh.
* Added patch for implementation of D3DXGetShaderInputSemantics.
* Added patch to ensure tests check exact return value of ParseURLFromOutsideSourceX.
* Added patch for additional ATL thunks.
* Added patch to add partially support for sessionStorage.
* Added patch for implementation of GetNumaProcessorNode.
* Added patch for wine64 support on FreeBSD/PC-BSD.
* Added patch for improved multi monitor support.
* Added patch for implementation of BindImageEx.
* Removed patch to fix issues with drag image in ImageLists (accepted upstream).
* Removed patch to set ldr.EntryPoint for main executable (accepted upstream).
* Removed patch to implement stubs for [Get|Set]SystemFileCacheSize (accepted upstream).
* Removed patches for ATL thunk implementation (accepted upstream).
* Partially removed patches for WRITECOPY memory protection (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 19 Oct 2014 19:37:21 +0200
wine-compholio (1.7.28) unstable; urgency=low
* Added missing recommendation for libtxc-dxtn-s2tc0 on Ubuntu.
* Added patch to fix issues with over-the-spot input method.
* Added patch to fix winemenubuilder desktop icon wine path (when using multiple wine versions).
* Added patch to support FIND_FIRST_EX_CASE_SENSITIVE flag in FindFirstFileExW.
* Added patch to send WM_PAINT event during dialog creation.
* Added patch to fix issues when driver dispatch routine returns different status codes.
* Added several patches for Unity3D Editor.
* Added patch to fix differences between exception handling behaviour in Wine and Windows.
* Added patch to export ?_BADOFF@std@@3_JB on both i386 and win64.
* Added patch to limit cross thread access to ImmSet* functions.
* Added patch for IRichEditOle and ITextDocument support for ITextServices.
* Added patch to fix implementation of SH*Shared commands.
* Added patch to handle WRITECOPY memory protection properly on i386 (disabled by default).
* Added patch to fix some issues with write watches / guard page access.
* Added patch to implement NtQuerySection.
* Added patches to make clearly visible, that this is a patched wine version.
* Added patch for FindFirstFileExW level FindExInfoBasic.
* Removed patch to support FIND_FIRST_EX_CASE_SENSITIVE flag in FindFirstFileExW (accepted upstream).
* Removed patch to fix implementation of SH*Shared commands (accepted upstream).
* Removed patch to export ?_BADOFF@std@@3_JB on both i386 and win64 (accepted upstream).
* Partially removed patches for CreateProcess ACLs (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sat, 04 Oct 2014 04:36:22 +0200
wine-compholio (1.7.27) unstable; urgency=low
* Fixed some issues in the patches for GetSystemTimes.
* Added patch to support FIND_FIRST_EX_LARGE_FETCH flag in FindFirstFileExW.
* Added patch to fix deadlock caused by incorrect wrapper of glu polygon/contour function.
* Added patch to avoid filling out KdHelp for usermode applications.
* Added patch to silence repeated GSUB_apply_ChainContext[Subst|Pos] FIXMEs.
* Added patch to revert wined3d pixelformat changes (causes regression in many games).
* Added patch to implement software decoding/encoding of DXT1 textures.
* Removed patch to use assembly wrapper for TLS callbacks (accepted upstream).
* Removed patch to fix uninitialized cch struct member in GetMenuItemInfo (accepted upstream).
* Removed some patches for riched20/IText*-interface (accepted upstream).
* Removed patch to fix deadlock caused by incorrect wrapper of glu functions (accepted upstream).
* Removed patch for stub of BCryptGetFipsAlgorithmMode (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sat, 20 Sep 2014 05:52:23 +0200
wine-compholio (1.7.26) unstable; urgency=low
* Added new make targets 'series' and 'install-git'.
* Some improvements in the patch system scripts.
* Fixed issues in the winepulse configure script.
* Fixed some issues in patches for Inherited ACLs.
* Fixed some issues in patches for backwards compatibility with old ACL format.
* Added patch to fix unintentional leaks with ntdll internals.
* Added patch to add support for DOS hidden/system file attributes.
* Added patch to use dynamic linking for libpcap.
* Added patch to fix issues when using setcap on wine executable.
* Added patch to improve heap allocation performance by using more freelists.
* Added patch to fix detection of ncurses on Archlinux (avoids ugly workarounds at build time).
* Added patch to fix detection of gnutls on Ubuntu 14.10.
* Added patch to use assembly wrapper for TLS callbacks.
* Added patch to fix uninitialized cch struct member in GetMenuItemInfo.
* Removed patch to fix issue with msi/ITERATE_MoveFiles (accepted upstream).
* Removed patch to fix detection of ncurses on Archlinux (accepted upstream).
-- Sebastian Lackner <sebastian@fds-team.de> Sun, 07 Sep 2014 23:50:25 +0200
wine-compholio (1.7.25) unstable; urgency=low
wine-compholio (1.7.25) UNRELEASED; urgency=low
* Improve generation of README.md on patch update.
* Updated patches for riched20 IText* Interface.
* Fixed some issues in the patches for TransmitFile.
* Fixed some issues in the patches for CreateProcess ACLs.
* Fixed issue with gitapply.sh script on Gentoo systems.
* Added patch with stub for DwmInvalidateIconicBitmaps.
* Added Courier Prime (OFLv1.1) as a Courier New replacement.
* Added patch to implement DOS hidden/system file attributes.
* Added patch to better detect broken nVidia RandR 1.2 support.
* Added patch to set linker version in PE header.
* Added patch to move NtProtectVirtualMemory and NtCreateSection to separate pages.
@@ -425,13 +10,12 @@ wine-compholio (1.7.25) unstable; urgency=low
* Added patch to fix issues with OpenProcess on terminated processes.
* Added patch to fix issues with msi/ITERATE_MoveFiles.
* Added patch to avoid grouping all Wine windows together.
* Added patch to implement KF_FLAG_DEFAULT_PATH for SHGetKnownFolderPath.
* Added patch to implement GetFinalPathNameByHandle.
* Updated patches for riched20 IText* Interface.
* Removed patch to update gl_drawable for embedded windows (deprecated).
* Removed patch to return empty D3D hardware flags for RGB device enumeration (accepted upstream).
* Removed patch with stub for DwmInvalidateIconicBitmaps (accepted upstream).
* Removed patch for SetNamedPipeHandleState implementation (accepted upstream).
-- Erich E. Hoover <erich.e.hoover@gmail.com> Sun, 24 Aug 2014 11:09:58 -0600
-- Erich E. Hoover <erich.e.hoover@gmail.com> Mon, 11 Aug 2014 16:21:22 -0600
wine-compholio (1.7.24) unstable; urgency=low
* Various further improvements to the patch system.

112
debian/control vendored
View File

@@ -1,4 +1,4 @@
Source: wine-staging
Source: wine-compholio
Section: otherosfs
Priority: optional
Maintainer: Erich E. Hoover <erich.e.hoover@gmail.com>
@@ -46,9 +46,7 @@ Build-Depends: autotools-dev,
libssl-dev,
libstdc++6-4.5-dev | libstdc++-dev,
libtiff5-dev | libtiff4-dev | libtiff-dev,
libtxc-dxtn-s2tc-dev,
libv4l-dev,
libva-dev,
libx11-dev,
libxcomposite-dev,
libxcursor-dev,
@@ -70,7 +68,7 @@ Build-Depends: autotools-dev,
x11proto-xinerama-dev
Standards-Version: 3.9.2
Package: wine-staging-i386
Package: wine-compholio-i386
Architecture: i386
Multi-Arch: foreign
Pre-Depends: dpkg (>= 1.14.12ubuntu3), ${misc:Pre-Depends}
@@ -88,16 +86,12 @@ Recommends: libcapi20-3,
libjpeg8,
libopenal1 (>= 1:1.12),
libosmesa6,
libpcap0.8,
libpng12-0,
libpulse0,
libsane,
libssl1.0.0,
libtiff5 | libtiff4,
libtxc-dxtn-s2tc0,
libv4l-0,
libva-drm1,
libva-x11-1,
libxcomposite1,
libxcursor1,
libxi6,
@@ -111,8 +105,14 @@ Recommends: libcapi20-3,
libgsm1
Section: otherosfs
Priority: optional
Description: The Staging Edition is a special build of the popular Wine software
Replaces: wine-compholio (<< 1.7.15-1~)
Breaks: wine-compholio (<< 1.7.15-1~)
Description: The Compholio Edition is a special build of the popular Wine software
with patches representing my current staging tree for Wine.
Currently these patches fix:
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
at 99% (Bug 31858).
.
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
Wine is a compatibility layer for running Windows applications on Linux.
@@ -126,7 +126,7 @@ Description: The Staging Edition is a special build of the popular Wine software
work, there may be some loss of functionality compared with the stable release
provided by the regular wine package.
Package: wine-staging-amd64
Package: wine-compholio-amd64
Architecture: amd64
Multi-Arch: foreign
Pre-Depends: dpkg (>= 1.14.12ubuntu3), ${misc:Pre-Depends}
@@ -144,16 +144,12 @@ Recommends: libcapi20-3,
libjpeg8,
libopenal1 (>= 1:1.12),
libosmesa6,
libpcap0.8,
libpng12-0,
libpulse0,
libsane,
libssl1.0.0,
libtiff5 | libtiff4,
libtxc-dxtn-s2tc0,
libv4l-0,
libva-drm1,
libva-x11-1,
libxcomposite1,
libxcursor1,
libxi6,
@@ -167,8 +163,14 @@ Recommends: libcapi20-3,
libgsm1
Section: otherosfs
Priority: optional
Description: The Staging Edition is a special build of the popular Wine software
Replaces: wine-compholio (<< 1.7.15-1~)
Breaks: wine-compholio (<< 1.7.15-1~)
Description: The Compholio Edition is a special build of the popular Wine software
with patches representing my current staging tree for Wine.
Currently these patches fix:
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
at 99% (Bug 31858).
.
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
Wine is a compatibility layer for running Windows applications on Linux.
@@ -182,17 +184,21 @@ Description: The Staging Edition is a special build of the popular Wine software
work, there may be some loss of functionality compared with the stable release
provided by the regular wine package.
Package: wine-staging
Package: wine-compholio
Architecture: i386 amd64
Multi-Arch: foreign
Pre-Depends: dpkg (>= 1.14.12ubuntu3), ${misc:Pre-Depends}
Depends: ${misc:Depends}, ${shlibs:Depends},
wine-staging-i386 (= ${binary:Version}) [i386 amd64],
wine-staging-amd64 (= ${binary:Version}) [amd64],
wine-compholio-i386 (= ${binary:Version}) [i386 amd64],
wine-compholio-amd64 (= ${binary:Version}) [amd64],
Section: otherosfs
Priority: optional
Description: The Staging Edition is a special build of the popular Wine software
Description: The Compholio Edition is a special build of the popular Wine software
with patches representing my current staging tree for Wine.
Currently these patches fix:
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
at 99% (Bug 31858).
.
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
Wine is a compatibility layer for running Windows applications on Linux.
@@ -208,17 +214,23 @@ Description: The Staging Edition is a special build of the popular Wine software
work, there may be some loss of functionality compared with the stable release
provided by the regular wine package.
Package: wine-staging-dev
Package: wine-compholio-dev
Architecture: i386 amd64
Pre-Depends: dpkg (>= 1.14.12ubuntu3), ${misc:Pre-Depends}
Depends: libc6-dev,
${shlibs:Depends},
wine-staging-i386 (= ${binary:Version}) [i386 amd64],
wine-staging-amd64 (= ${binary:Version}) [amd64],
wine-compholio-i386 (= ${binary:Version}) [i386 amd64],
wine-compholio-amd64 (= ${binary:Version}) [amd64],
Section: libdevel
Priority: optional
Description: The Staging Edition is a special build of the popular Wine software
Replaces: wine-compholio (<< 1.7.15-1~)
Breaks: wine-compholio (<< 1.7.15-1~)
Description: The Compholio Edition is a special build of the popular Wine software
with patches representing my current staging tree for Wine.
Currently these patches fix:
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
at 99% (Bug 31858).
.
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
Wine is a compatibility layer for running Windows applications on Linux.
@@ -229,17 +241,23 @@ Description: The Staging Edition is a special build of the popular Wine software
This package consists of the development files needed to compile programs
using wine's free version of the Microsoft Windows API.
Package: wine-staging-dbg
Package: wine-compholio-dbg
Architecture: i386 amd64
Multi-Arch: same
Pre-Depends: dpkg (>= 1.14.12ubuntu3), ${misc:Pre-Depends}
Depends: ${shlibs:Depends},
wine-staging-i386 (= ${binary:Version}) [i386 amd64],
wine-staging-amd64 (= ${binary:Version}) [amd64],
wine-compholio-i386 (= ${binary:Version}) [i386 amd64],
wine-compholio-amd64 (= ${binary:Version}) [amd64],
Section: debug
Priority: optional
Description: The Staging Edition is a special build of the popular Wine software
Replaces: wine-compholio (<< 1.7.15-1~)
Breaks: wine-compholio (<< 1.7.15-1~)
Description: The Compholio Edition is a special build of the popular Wine software
with patches representing my current staging tree for Wine.
Currently these patches fix:
* Netflix on Firefox hangs with loading bar at 100% (Bug 31993).
* Netflix on Firefox fails with Internet Connection Problem when loading bar is
at 99% (Bug 31858).
.
Microsoft Windows Compatibility Layer (Binary Emulator and Library)
Wine is a compatibility layer for running Windows applications on Linux.
@@ -249,43 +267,3 @@ Description: The Staging Edition is a special build of the popular Wine software
.
This package includes debugging symbols useful for reporting crashes and other
failures.
Package: wine-compholio
Architecture: i386 amd64
Depends: wine-staging, ${misc:Depends}
Priority: extra
Section: oldlibs
Description: Transitional dummy package
This is a transitional dummy package. It can safely be removed.
Package: wine-compholio-i386
Architecture: i386
Depends: wine-staging-i386, ${misc:Depends}
Priority: extra
Section: oldlibs
Description: Transitional dummy package
This is a transitional dummy package. It can safely be removed.
Package: wine-compholio-amd64
Architecture: amd64
Depends: wine-staging-amd64, ${misc:Depends}
Priority: extra
Section: oldlibs
Description: Transitional dummy package
This is a transitional dummy package. It can safely be removed.
Package: wine-compholio-dev
Architecture: i386 amd64
Depends: wine-staging-dev, ${misc:Depends}
Priority: extra
Section: oldlibs
Description: Transitional dummy package
This is a transitional dummy package. It can safely be removed.
Package: wine-compholio-dbg
Architecture: i386 amd64
Depends: wine-staging-dbg, ${misc:Depends}
Priority: extra
Section: oldlibs
Description: Transitional dummy package
This is a transitional dummy package. It can safely be removed.

23
debian/postinst vendored Executable file
View File

@@ -0,0 +1,23 @@
#!/bin/sh -e
if [ "$1" = "upgrade" ] ; then
if ps -C wineserver > /dev/null && test -d /var/lib/update-notifier/user.d/ ; then
cp -f /usr/share/wine/wineserver-restart-required.update-notifier /var/lib/update-notifier/user.d/wineserver-restart-required
fi
fi
service procps start || /etc/init.d/procps restart
# Automatically added by dh_installmime
if [ "$1" = "configure" ] && [ -x "`which update-mime 2>/dev/null`" ]; then
update-mime
fi
# End automatically added section
# Automatically added by dh_makeshlibs
if [ "$1" = "configure" ]; then
ldconfig
fi
# End automatically added section

10
debian/postrm vendored Executable file
View File

@@ -0,0 +1,10 @@
#!/bin/sh
set -e
# Automatically added by dh_installmime
if which update-mime >/dev/null 2>&1; then update-mime; fi
# End automatically added section
# Automatically added by dh_makeshlibs
if [ "$1" = "remove" ]; then
ldconfig
fi
# End automatically added section

9
debian/prerm vendored Executable file
View File

@@ -0,0 +1,9 @@
#!/bin/sh -e
if [ "$1" = "remove" ] ; then
if [ -x /usr/sbin/update-binfmts ]; then
/usr/sbin/update-binfmts --package wine --remove wine /usr/bin/wine || true
fi
fi

43
debian/rules vendored
View File

@@ -14,11 +14,11 @@ endif
override_dh_auto_configure:
# Apply our patches, reconfigure, and update the wineserver protocol request data
"$(CURDIR)/patches/patchinstall.sh" DESTDIR="$(CURDIR)" --all
make -C "$(CURDIR)/patches/" DESTDIR="$(CURDIR)" install
# Run configure
ifeq ($(DEB_BUILD_ARCH), amd64)
./configure --prefix=/opt/wine-staging \
./configure --prefix=/opt/wine-compholio \
--libdir=\$${prefix}/lib64 \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
@@ -27,7 +27,7 @@ ifeq ($(DEB_BUILD_ARCH), amd64)
--with-xattr \
$(CONFFLAGS)
else
./configure --prefix=/opt/wine-staging \
./configure --prefix=/opt/wine-compholio \
--libdir=\$${prefix}/lib \
--mandir=\$${prefix}/share/man \
--infodir=\$${prefix}/share/info \
@@ -42,42 +42,31 @@ override_dh_auto_test:
override_dh_installdocs:
dh_installdocs --link-doc=wine-staging
# Create copies of license files
cp "$(CURDIR)/LICENSE" "$(CURDIR)/LICENSE.wine"
cp "$(CURDIR)/LICENSE.md" "$(CURDIR)/LICENSE.wine-compholio"
dh_installdocs --link-doc=wine-compholio
override_dh_install:
dh_install --fail-missing
# These files will end up in multiple packages otherwise
rm -f debian/wine-staging/opt/wine-staging/bin/wine
rm -f debian/wine-staging/opt/wine-staging/bin/wine-preloader
rm -f debian/wine-staging/opt/wine-staging/bin/wine64
rm -f debian/wine-staging/opt/wine-staging/bin/wine64-preloader
rm -f debian/wine-compholio/opt/wine-compholio/bin/wine
rm -f debian/wine-compholio/opt/wine-compholio/bin/wine-preloader
rm -f debian/wine-compholio/opt/wine-compholio/bin/wine64
rm -f debian/wine-compholio/opt/wine-compholio/bin/wine64-preloader
# Create compatibility symlinks
mkdir -p debian/wine-compholio/opt/wine-compholio/bin
for _file in $$(ls "debian/wine-staging/opt/wine-staging/bin"); do \
ln -s "/opt/wine-staging/bin/$$_file" "debian/wine-compholio/opt/wine-compholio/bin/$$_file"; \
done
# Architecture specific compatibility symlinks
ifeq ($(DEB_HOST_ARCH),amd64)
for _file in wine wine-preloader wine64 wine64-preloader; do \
ln -s "/opt/wine-staging/bin/$$_file" "debian/wine-compholio/opt/wine-compholio/bin/$$_file"; \
done
else
for _file in wine wine-preloader; do \
ln -s "/opt/wine-staging/bin/$$_file" "debian/wine-compholio/opt/wine-compholio/bin/$$_file"; \
done
endif
override_dh_strip:
dh_strip -Xwine-pthread -Xwine-kthread --dbg-package=wine-staging-dbg
dh_strip -Xwine-pthread -Xwine-kthread --dbg-package=wine-compholio-dbg
override_dh_shlibdeps:
ifeq ($(DEB_HOST_ARCH),amd64)
dh_shlibdeps -l $(CURDIR)/debian/tmp/opt/wine-staging/lib64/
dh_shlibdeps -l $(CURDIR)/debian/tmp/opt/wine-compholio/lib64/
else
dh_shlibdeps -l $(CURDIR)/debian/tmp/opt/wine-staging/lib/
dh_shlibdeps -l $(CURDIR)/debian/tmp/opt/wine-compholio/lib/
endif

152
debian/tools/DEVELOPER.md.in vendored Normal file
View File

@@ -0,0 +1,152 @@
Developers and maintainers guide
================================
This document will provide some information targeted at developers, who
either want to build/package Wine-Compholio for their distribution, but also
for developers who would like to contribute their patches to Wine-Compholio,
to get them included in future releases.
Compiling Wine-Compholio
========================
**Warning:** Please note that starting with Wine-Compholio 1.7.23 it is
deprecated to manually apply patches without using the Makefile. To avoid
typical pitfalls for package maintainers (like trying to use the patch
commandline utility for binary patches or not updating the patchlist) it is
highly recommended to use the Makefile in order to apply all patches. This
ensures that the the correct patch utility is used, that the list of patches
is updated appropriately, and so on. Please note that it is still possible
to exclude patches if desired, take a look at the end of this document for
more details.
Instructions
------------
The following instructions (based on the [Gentoo
Wiki](https://wiki.gentoo.org/wiki/Netflix/Pipelight#Compiling_manually))
will give a short overview how to compile Wine-Compholio, but of course not
explain all details. Make sure to install all required Wine dependencies
before proceeding.
As the first step please grab the latest Wine source:
```bash
wget http://prdownloads.sourceforge.net/wine/wine-{version}.tar.bz2
wget https://github.com/compholio/wine-compholio-daily/archive/v{version}.tar.gz
```
Extract the archives:
```bash
tar xvjf wine-1*.tar.bz2
cd wine-1*
tar xvzf ../v{version}.tar.gz --strip-components 1
```
And apply the patches:
```bash
make -C ./patches DESTDIR=$(pwd) install
```
Afterwards run configure (you can also specify a prefix if you don't want to install
Wine-Compholio system-wide):
```bash
./configure --with-xattr
```
Before you continue you should make sure that `./configure` doesn't show any
warnings (look at the end of the output). If there are any warnings, this
most likely means that you're missing some important header files. Install
them and repeat the `./configure` step until all problems are fixed.
Afterwards compile it (and grab a cup of coffee):
```bash
make
```
And install it (you only need sudo for a system-wide installation):
```bash
sudo make install
```
Excluding patches
-----------------
It is also possible to apply only a subset of the patches, for example if
you're compiling for a distribution where PulseAudio is not installed, or
if you just don't like a specific patchset. Please note that some patchsets
depend on each other, and requesting an impossible situation might result
in a failure to apply all patches.
Lets assume you want to exclude the patchset in directory `DIRNAME`, then
just invoke the Makefile like this:
```bash
make -C ./patches DESTDIR=$(pwd) install -W DIRNAME.ok
```
Using the same method its also possible to exclude multiple patchsets. If you
want to exclude a very large number of patches, it is easier to do specify
a list of patches which should be included instead. To apply for example
only the patchsets in directory `DIRNAME1` and `DIRNAME2`, you can use:
```bash
make -C ./patches DESTDIR=$(pwd) PATCHLIST="DIRNAME1.ok DIRNAME2.ok" install
```
Contributing to Wine-Compholio
==============================
Please note that Wine-Compholio is not just an arbitrary collection of Wine
patches. We see Wine-Compholio as a **testing version** in preparation for
patches to be submitted to upstream Wine. This implies that all patches should
at least have a minimum standard quality. Unlike some other PPAs/AURs which
provide heavily patched Wine versions, we will not accept hacks for very
specific games. Such hacks often break compatibility with other applications,
which means we probably don't want to include them, sorry.
If you think your patches are indeed a proper implementation, then feel free
to contribute them. Please note that to allow possible later inclusion
into upstream Wine, we will require you to pay attention to the same
[rules](http://wiki.winehq.org/SubmittingPatches). Please be patient and
give us up to about a week to review them - we're a very small team, so
it might take some time, and we want to make sure that the implementation
doesn't contain any critical errors, which could cause regressions. If you
want to contribute huge sets of patches, we would really like you to *stay
contributing* in the future. Even if we accepted your patches, this doesn't
necessary mean we understand all of it, and if you cannot or don't want
to maintain them (especially in case of errors, or difficult rebasing),
we will probably end up removing them again.
You can also suggest adding patches written by other people - in this case
your request should include who wrote the patch. Anonymous patches which
don't include the author information aren't welcome, similar to the rules
for upstream Wine.
Attribution guidelines
----------------------
The Wine "Compholio" Edition repository expects all patches to conform to
Wine's (undocumented) attribution guidelines. There are a variety of ways
to attribute patches, but they all involve an additional line to the patch
subject:
```
commit 0000000000000000000000000000000000000000
Author: Example Author <example.email@email-provider.com>
Date: Sat Jul 26 12:31:50 2014 -0600
Name of patch.
TYPE-OF-ATTRIBUTION.
```
TYPE-OF-ATTRIBUTION can be any of the following:
`Found/Spotted by FINDER.`: The resolved issue was found by FINDER, they
should receive appropriate credit for finding the problem - even though
their patch was not used in the final implementation.
`Based on patch by AUTHOR.`: The patch created by AUTHOR was a starting point
for the patch, some modifications were made to their patch - but they should
receive credit since the original implementation was theirs.

View File

@@ -2,21 +2,10 @@
# This file is automatically generated, DO NOT EDIT!
#
.NOTPARALLEL:
CURDIR ?= ${{.CURDIR}}
PATCH := $(CURDIR)/../debian/tools/gitapply.sh
APPLY = (cd "$(DESTDIR)" && $(PATCH))
APPLY_FILE = @echo "Applying $(1)"; $(APPLY) < "$(CURDIR)/$(1)"
#
# This Makefile understands the following targets:
#
# install (default): apply patches to directory provided by DESTDIR
# install-git: as above, but use 'git am' to apply the patches
# series: create a 'series' file containing the patch order
# clean: delete autogenerated and temporary files
#
CURDIR ?= ${{.CURDIR}}
PATCH := $(CURDIR)/../debian/tools/gitapply.sh
APPLY := (cd $(DESTDIR) && $(PATCH))
APPLY_FILE = @echo "Applying $(1)"; $(APPLY) < $(CURDIR)/$(1)
PATCHLIST := \
{patchlist}
@@ -27,44 +16,9 @@ install: $(PATCHLIST)
cd $(DESTDIR) && autoreconf -f
cd $(DESTDIR) && ./tools/make_requests
.PHONY: install-git
install-git: PATCH := git am
install-git: install
series: APPLY_FILE = @echo "$(1)" >> series
series: $(PATCHLIST)
@cat *.ok | sort | $(CURDIR)/../debian/tools/patchlist.sh > patchlist.diff
@echo "patchlist.diff" >> series
@( \
echo ""; \
echo "The 'series' file was created in current directory. Please note that"; \
echo "'patchlist.diff' is autogenerated based on your selection of patches and not"; \
echo "included in this repository - keep in mind to update it on every release."; \
echo ""; \
echo "Moreover, depending on which patches you have selected, you will have to run"; \
echo "'autoreconf -f' and/or './tools/make_requests' after applying them."; \
echo ""; \
binary=0; \
while IFS= read -r line; do \
if grep -q "^GIT binary patch" "$$line"; then \
binary=1; break; \
fi \
done < series; \
if [ "$$binary" -ne 0 ]; then \
echo "The following files contain binary patches and cannot be applied with the"; \
echo "regular 'patch' commandline tool:"; \
echo ""; \
while IFS= read -r line; do \
grep -q "^GIT binary patch" "$$line" && echo "$$line"; \
done < series; \
echo ""; \
echo "Please use 'git apply' or '../debian/tools/gitapply.sh' from this repository."; \
echo ""; \
fi \
)
.PHONY: clean
clean:
rm -f series patchlist.diff
rm -f *.ok
.NOTPARALLEL:

View File

@@ -1,42 +1,325 @@
What is Wine Staging?
=====================
What is Wine-Compholio?
=======================
**Warning: Do not report bugs at bugs.winehq.org when using this version!
Please take a look [here](http://bugs.wine-staging.com) for more information
about how to report bugs.**
**Wine Staging** (formerly wine-compholio) is a special wine version containing
bug fixes and features that are not yet available in regular wine versions. The
idea behind Wine Staging is to provide new features faster to end users and to
give developers the possibility to discuss and improve their patches before
they are sent upstream. We also intend to create a community of wine developers
to share experience and to make it easier for beginners to start hacking on
wine.
Although we are reviewing all patches before adding them, you may encounter
additional bugs, which are not present in regular wine. Make sure to report
such issues in our bug tracker instead of winehq.org so that we can try to
solve them in future versions. Thanks!
How to install and use Wine Staging
===================================
Ready-to-use packages for Wine Staging are available for a variety
of different Linux distributions directly for download. Just follow the
instructions available on the
[Wiki](https://github.com/wine-compholio/wine-staging/wiki/Installation).
When using Wine Staging there are a few differences compared to regular
Wine. The main difference is that it is not sufficient to type `wine` to
run it, but instead you will have to type `/opt/wine-staging/bin/wine`.
Besides that there are also some other differences, for example additional
configuration options to tweak performance, which are not available in regular
Wine. All those differences are also documented on the
[Wiki](https://github.com/wine-compholio/wine-staging/wiki/Usage).
The **Wine "Compholio" Edition** is a special patched version of Wine that
includes both patches written by our team directly and specific patches by
third party developers that we consider good enough for inclusion. This can
be seen as a testing version in preparation for patches to be submitted
to upstream Wine - don't be surprised if you encounter additional bugs,
which are not present in regular wine, and always report such issues to us
(via github), so we can improve our fixes even further. Thanks!
Included bug fixes and improvements
===================================
Included bugfixes and improvements
----------------------------------
{fixes}
How to install Wine-Compholio
=============================
Ready-to-use packages for Wine-Compholio are available for a variety
of different Linux distributions directly for download. Just follow the
instructions below to install it (and all required dependencies). After the
installation, please take a look at the next section for instructions how
to use it in order to run your desired application.
**Important:** If you already have installed 'pipelight' on your system, there
is a good chance that you already have Wine-Compholio. Take a look at the
next section on how to find out if this is the case.
If your distribution is not listed below, feel free to add a feature request -
if the demand is high enough we might consider packaging it for additional
distributions.
![alt text](http://repos.fds-team.de/misc/images/ubuntu.png) Ubuntu / Linux Mint
--------------------------------------------------------------------------------
Please run the following commands from a terminal, one line after each other.
```bash
sudo add-apt-repository ppa:pipelight/stable
sudo apt-get update
sudo apt-get install --install-recommends wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/arch.png) Arch Linux
---------------------------------------------------------------------
As a first step you have to import the key for our repository, and set the
trust level to trusted:
```bash
sudo pacman-key -r E49CC0415DC2D5CA
sudo pacman-key --lsign-key E49CC0415DC2D5CA
```
Afterwards you have to add the following lines to `/etc/pacman.conf`:
```
[compholio]
Server = http://cdn.fds-team.de/stable/arch/$arch
```
Now you can install Wine-Compholio directly using `pacman`:
```bash
sudo pacman -Syu wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/debian.png) Debian Jessie/Sid
------------------------------------------------------------------------------
*(Instructions for Debian Wheezy can be found below)*
In order to install i386 packages on a 64-bit system, you have to run the
following command as a first step:
```bash
sudo dpkg --add-architecture i386
```
Afterwards import the key for our repository:
```bash
wget http://repos.fds-team.de/Release.key
sudo apt-key add Release.key
```
And add our repository at the end of your `/etc/apt/sources.list` file:
```
# For Debian Jessie add the following line:
deb http://cdn.fds-team.de/stable/debian/ jessie main
# For Debian Sid this one:
deb http://cdn.fds-team.de/stable/debian/ sid main
```
Afterwards update the package cache and install it:
```bash
sudo apt-get update
sudo apt-get install wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/debian.png) Debian Wheezy
--------------------------------------------------------------------------
In order to install i386 packages on a 64-bit system, you have to run the
following command as a first step:
```bash
sudo dpkg --add-architecture i386
```
Afterwards import the key for our repository:
```bash
wget http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/Release.key
sudo apt-key add Release.key
```
And add our repository at the end of your `/etc/apt/sources.list` file:
```
# For Debian Wheezy add the following line:
deb http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Debian_7.0/ ./
```
Afterwards update the package cache and install it:
```bash
sudo apt-get update
sudo apt-get install wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/opensuse.png) OpenSUSE
-----------------------------------------------------------------------
All the following steps have to be executed as root user. As a first step
you have to add the repository - this step depends on the openSUSE version
you're using.
| openSUSE version | Path component |
| ------------------- | ----------------------- |
| openSUSE 12.2 | `/openSUSE_12.2/` |
| openSUSE 12.3 | `/openSUSE_12.3/` |
| openSUSE 13.1 | `/openSUSE_13.1/` |
| openSUSE Factory | `/openSUSE_Factory/` |
| openSUSE Tumbleweed | `/openSUSE_Tumbleweed/` |
The following commandline is an example for openSUSE 13.1, for a different
version just replace the path component according to the table above:
```bash
zypper ar --refresh http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/openSUSE_13.1/home:DarkPlayer:Pipelight.repo
```
Afterwards just run the following commands to install it:
```bash
zypper ref
zypper install wine-compholio
```
![alt text](http://repos.fds-team.de/misc/images/fedora.png) Fedora
-------------------------------------------------------------------
**Warning:** In contrary to other distributions, its not possible to have both
a regular wine version and Wine-Compholio installed at the same time - using
the instructions below will replace your regular version. Moreover it will
be installed to `/usr/bin/wine` in contrary to `/opt/wine-compholio/bin/wine`.
As a first step you have to add the repository - this step depends on the
Fedora version you're using.
| Fedora version | Patch component |
| --------------- | --------------- |
| Fedora 18 | `/Fedora_18/` |
| Fedora 19 | `/Fedora_19/` |
| Fedora 20 | `/Fedora_20/` |
The following commandline is an example for Fedora 19, for a different version
just replace the path component according to the table above:
```bash
sudo wget http://download.opensuse.org/repositories/home:/DarkPlayer:/Pipelight/Fedora_19/home:DarkPlayer:Pipelight.repo -O /etc/yum.repos.d/pipelight.repo
```
Afterwards run the following command to install the package:
```bash
sudo yum install wine-compholio
```
Please note that you might run into trouble if the official Fedora package
(without compholio patches) is newer than the one from the repository above,
so if something doesn't work, always make sure that you have installed
our version. To do that just run:
```bash
/usr/bin/wine --patches
```
When you're using Wine-Compholio this will show to a list of all patches
included, for an unpatched version this command will fail.
![alt text](http://repos.fds-team.de/misc/images/mageia.png) Mageia 4
---------------------------------------------------------------------
As a first step please add the key for our repository
```bash
wget http://repos.fds-team.de/Release.key
rpm --import Release.key
```
If you're using a 32-bit version of Mageia just add the repository
for 32-bit packages:
```bash
sudo urpmi.addmedia "Compholio 32-bit" http://cdn.fds-team.de/stable/mageia/4/i586/
```
For a 64-bit version of Mageia you'll need both the 32-bit and the
64-bit repository:
```bash
sudo urpmi.addmedia "Compholio 32-bit" http://cdn.fds-team.de/stable/mageia/4/i586/
sudo urpmi.addmedia "Compholio 64-bit" http://cdn.fds-team.de/stable/mageia/4/x86_64/
```
Afterwards run the following commands to install the package:
```bash
sudo urpmi.update -a
sudo urpmi wine-compholio
```
Using Wine-Compholio
====================
Since we don't want to duplicate a lot of information here, we recommend
to take a look at the [official Wine FAQ](http://wiki.winehq.org/FAQ) for
general information about how to use Wine. The following part will mainly
concentrate on the differences between wine and Wine-Compholio.
Running Wine-Compholio
----------------------
**Using multiple Wine versions:** Unless you specify a special `WINEPREFIX`
environment variable, Wine-Compholio will use the same wineprefix `~/.wine`
(in your home directory) like regular wine. This allows you to use your
already installed programs directly, without much effort or reinstalling
them. Often you have both regular wine and Wine-Compholio installed at the
same time, which is *absolutely no problem* - by typing in either `wine`
(=regular wine) or `/opt/wine-compholio/bin/wine` you can decide, which
wine version you want to run. You can switch between versions as often as
you like - just make sure that all Windows programs have terminated before
starting them with a different version.
To run Wine-Compholio always type `/opt/wine-compholio/bin/wine`, for example:
```bash
cd ~/.wine/drive_c/<your path>/
/opt/wine-compholio/bin/wine game.exe
```
You also have to add `/opt/wine-compholio/bin/` when running other wine
related programs, here are some additional example:
```bash
# Initialize the wine prefix
/opt/wine-compholio/bin/wineboot
# Open the wine configuration
/opt/wine-compholio/bin/winecfg
# Run winepath to convert paths
/opt/wine-compholio/bin/winepath --unix 'c:\Windows'
# Kill the running wineserver instance
/opt/wine-compholio/bin/wineserver -k
...
```
If you're an experienced user, and always want to use Wine-Compholio, you
can also add `/opt/wine-compholio/bin` to your bash profile. We will not
go into detail here, because such a setup has the big disadvantage, that
it hides which version you're using - which is very important for getting
support or reporting bugs.
Submitting bugs
---------------
**Warning: Do not submit bug reports at bugs.winehq.org when using this
version!**
If you encounter any issues, the first thing you should do is to try it with
regular wine. We're only a very small developer team, and although we would
like to do that, we probably cannot really solve all your Wine bugs. When
it turns out that the official Wine version also doesn't work, you can file
a bugreport at the official [Wine bugtracker](http://bugs.winehq.org/).
Feel free to mention that you also tested with Wine-Compholio, but all
bugreport related information (logs, crashdumps, ...) should concentrate
only on upstream wine.
If it turns out, that it works with upstream wine, but not with Wine-Compholio,
then it might be a regression caused by our patches. We would like you to
report this issue to us, so we can fix it in future versions. You can also
report issues, when testing with upstream Wine is impossible or it crashes
with a different error (for example much earlier).
When submitting a application related bug here on github, please make sure to
include at least the following information. Generally its always a good idea
to provide as much information as possible, since this will significantly
increase chances to provide support and to fix it.
1. **Which application triggers the bug**
* Application name and version number
* How to obtain it (download URL + checksum if public available)
2. **What exactly doesn't work**
* Log of the terminal output of the application
* For visual issues please additionally attach a screenshot, and describe
what it should look like
* *Optionally:* If you already know whats going wrong, please attach
appropriate `WINEDEBUG` logs or excerpts showing the issue.
3. **Details about your WINEPREFIX**
* *Recommended:* Test it in a new wine prefix, and report if this works
* Did you install any overrides? (for examples by using `winetricks`)
* Did you change any settings by running `winecfg`?
4. **Information about your Wine-Compholio version**
* *Recommended:* Test with regular wine, and report if this works
* Version number (`/opt/wine-compholio/bin/wine --version`)
* Patches in your build (`/opt/wine-compholio/bin/wine --patches`)
* Installed optional libraries (`/opt/wine-compholio/bin/wine --check-libs`)

View File

@@ -2,7 +2,7 @@
#
# Wrapper to apply binary patches without git.
#
# Copyright (C) 2014-2015 Sebastian Lackner
# Copyright (C) 2014 Sebastian Lackner
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
@@ -75,7 +75,7 @@ filesize()
# Parse environment variables
while [ "$#" -gt 0 ]; do
while [[ $# > 0 ]]; do
cmd="$1"; shift
case "$cmd" in

View File

@@ -1,349 +0,0 @@
#!/bin/sh
#
# Script to automatically install all Wine Staging patches
#
# Copyright (C) 2015 Sebastian Lackner
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
#
# Show usage information
usage()
{{
echo ""
echo "Usage: ./patchinstall.sh [DESTDIR=path] [--all] [-W patchset] [patchset ...]"
echo ""
echo "Autogenerated script to apply all Wine Staging patches on your Wine"
echo "source tree. This script replaces and enhances the old method of"
echo "using a Makefile."
echo ""
echo "Configuration:"
echo " DESTDIR=path Specify the path to the wine source tree"
echo " --all Select all patches"
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 " -W patchset Exclude a specific patchset"
echo ""
echo "Backends:"
echo " --backend=patch Use regular 'patch' utility to apply patches (default)"
echo " --backend=epatch Use 'epatch' to apply patches (Gentoo only)"
echo " --backend=git-am Use 'git am' to apply patches"
echo " --backend=git-apply Use 'git apply' to apply patches"
echo " --backend=stg Import the patches using stacked git"
echo ""
}}
# Critical error, abort
abort()
{{
echo "ERROR: $1" >&2
exit 1
}}
# Show a warning
warning()
{{
echo "WARNING: $1" >&2
}}
{patch_helpers}
# Default settings
patch_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")")"
if test ! -f "$patchdir/patchinstall.sh"; then
if test -f ./patchinstall.sh; then
patchdir="$(pwd)"
else
abort "Failed to find patch directory."
fi
fi
# Parse commandline arguments
if test "$#" -eq 0; then
abort "No commandline arguments given, don't know what to do."
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#*=}}"
shift
;;
--all)
patch_enable_all 1
shift
;;
--backend=*)
backend="${{1#*=}}"
shift
;;
--help)
usage
exit 0
;;
--no-patchlist)
enable_patchlist=0
shift
;;
--no-autoconf)
enable_autoconf=0
shift
;;
-W)
enable=2
shift
;;
*)
abort "Unknown commandline argument $1"
exit 1
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)"
elif test ! -f "$DESTDIR/tools/make_requests"; then
abort "DESTDIR does not point to the Wine source tree."
fi
# Change directory to DESTDIR, epatch depends on that
if ! cd "$DESTDIR"; then
abort "Unable to change directory to $DESTDIR."
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
# are applied, but the exitcode is zero. To avoid broken builds we
# will workaround this issue or abort. For more information see
# https://github.com/wine-compholio/wine-staging/issues/7
test ! -d ".git" && git rev-parse --git-dir >/dev/null 2>&1
workaround_git_bug="$?"
# Apply the patches using gitapply.sh, a small wrapper around 'patch'
if test "$backend" = "patch"; then
if test "$workaround_git_bug" -eq 0; then
gitapply_args="--nogit"
else
gitapply_args=""
fi
patch_apply_file ()
{{
echo "Applying $1"
if ! "$patchdir/../debian/tools/gitapply.sh" $gitapply_args < "$1"; then
abort "Failed to apply patch, aborting!"
fi
}}
# 'epatch' backend - used on Gentoo
elif test "$backend" = "epatch"; then
if test "$workaround_git_bug" -eq 0; then
gitapply_args="--nogit"
else
gitapply_args=""
fi
if ! command -v epatch >/dev/null 2>&1 || \
! command -v ebegin >/dev/null 2>&1 || \
! command -v eend >/dev/null 2>&1 || \
! command -v die >/dev/null 2>&1; then
abort "Shell functions epatch/ebegin/eend not found. You have to source this script from your ebuild."
fi
patch_apply_file ()
{{
shortname="$(basename "$1")"
if grep -q "^GIT binary patch" "$1"; then
ebegin "Applying $shortname"
"$patchdir/../debian/tools/gitapply.sh" $gitapply_args < "$1" || \
die "Failed Patch: $1!"
eend
else
epatch "$1" # epatch calls die upon failure
fi
}}
# GIT backend - apply patches using 'git am'
elif test "$backend" = "git" -o "$backend" = "git-am"; then
if test "$workaround_git_bug" -eq 0; then
abort "Backend 'git-am' not possible when DESTDIR points to a git subdirectory."
fi
patch_apply_file ()
{{
echo "Applying $1"
if ! git am "$1"; then
abort "Failed to apply patch, aborting!"
fi
}}
# Git apply backend
elif test "$backend" = "git-apply"; then
if test "$workaround_git_bug" -eq 0; then
abort "Backend 'git-apply' not possible when DESTDIR points to a git subdirectory."
fi
patch_apply_file ()
{{
echo "Applying $1"
if ! git apply "$1"; then
abort "Failed to apply patch, aborting!"
fi
}}
# Stacked GIT backend - import the patches (mainly for developers)
elif test "$backend" = "stg"; then
if test "$workaround_git_bug" -eq 0; then
abort "Backend 'stg' not possible when DESTDIR points to a git subdirectory."
fi
# Only import the regular patches, no autogenerated ones -
# moreover, don't run autoreconf or ./tools/make_requests.
enable_patchlist=0
enable_autoconf=0
patch_apply_file ()
{{
echo "Applying $1"
shortname="$(basename "$1")"
if ! echo "staging/$shortname" | cat - "$1" | stg import; then
abort "Failed to apply patch, aborting!"
fi
}}
else
abort "Selected backend $backend not supported."
fi
patch_apply ()
{{
patch_apply_file "$patchdir/$1"
}}
{patch_resolver}
# If autoupdate is enabled then create a tempfile to keep track of all patches
if test "$enable_patchlist" -eq 1; then
if test "$enable_Staging" -eq 1; then
patchlist=$(mktemp)
if test ! -f "$patchlist"; then
abort "Unable to create temporary file for patchlist."
fi
else
warning "Skipping generation of patchlist because 'Staging' patchset is disabled."
enable_patchlist=0
fi
fi
{patch_apply}
if test "$enable_patchlist" -eq 1; then
# Generate a temporary patch containing the patchlist and apply it
patch_data=$(cat "$patchlist" | sort)
if test ! -z "$patch_data"; then
patch_lines=$(echo "$patch_data" | wc -l)
patch_lines=$((${{patch_lines}}+21))
cat > "$patchlist" <<EOF
From: Wine Staging Team <webmaster@fds-team.de>
Subject: Autogenerated patch list.
diff --git a/libs/wine/config.c b/libs/wine/config.c
index 5262c76..0a3182f 100644
--- a/libs/wine/config.c
+++ b/libs/wine/config.c
@@ -478,10 +478,${{patch_lines}} @@ const char *wine_get_version(void)
return PACKAGE_VERSION;
}}
+static const struct
+{{
+ const char *author;
+ const char *subject;
+ int revision;
+}}
+wine_patch_data[] =
+{{
${{patch_data}}
+ {{ NULL, NULL, 0 }}
+}};
+
/* return the applied non-standard patches */
const void *wine_get_patches(void)
{{
- return NULL;
+ return &wine_patch_data[0];
}}
/* return the build id string */
EOF
patch_apply_file "$patchlist"
fi
rm "$patchlist"
fi
if test "$enable_autoconf" -eq 1; then
if ! autoreconf -f; then
abort "'autoreconf -f' failed."
fi
if ! ./tools/make_requests; then
abort "'./tools/make_requests' failed."
fi
fi
# Success
exit 0

73
debian/tools/patchlist.sh vendored Executable file
View File

@@ -0,0 +1,73 @@
#!/bin/sh
PATCH_DATA=$(cat);
PATCH_LINES=$(echo "${PATCH_DATA}" | wc -l);
PATCH_LINES=$((${PATCH_LINES}+20));
cat <<EOF
From: "FDS-Team" <webmaster@fds-team.de>
Subject: Autogenerated patch list.
---
diff --git a/libs/wine/config.c b/libs/wine/config.c
index a273502..5fa0cd5 100644
--- a/libs/wine/config.c
+++ b/libs/wine/config.c
@@ -478,6 +478,${PATCH_LINES} @@ const char *wine_get_version(void)
return PACKAGE_VERSION;
}
+struct wine_patch {
+ const char *hash;
+ const char *author;
+ const char *title;
+} wine_patch_data[] = {
${PATCH_DATA}
+ { NULL, NULL, NULL }
+};
+
+/* return the applied non-standard patches */
+const void * wine_get_patches(void)
+{
+ return &wine_patch_data[0];
+}
+
/* return the build id string */
const char *wine_get_build_id(void)
{
diff --git a/libs/wine/wine.def b/libs/wine/wine.def
index ed315bd..5b42029 100644
--- a/libs/wine/wine.def
+++ b/libs/wine/wine.def
@@ -83,6 +83,7 @@ EXPORTS
wine_get_sortkey
wine_get_user_name
wine_get_version
+ wine_get_patches
wine_init
wine_init_argv0_path
wine_is_dbcs_leadbyte
diff --git a/libs/wine/wine.map b/libs/wine/wine.map
index 2159fac..7cb2918 100644
--- a/libs/wine/wine.map
+++ b/libs/wine/wine.map
@@ -90,6 +90,7 @@ WINE_1.0
wine_get_ss;
wine_get_user_name;
wine_get_version;
+ wine_get_patches;
wine_init;
wine_init_argv0_path;
wine_is_dbcs_leadbyte;
diff --git a/include/wine/library.h b/include/wine/library.h
index 242bb69..aa9e585 100644
--- a/include/wine/library.h
+++ b/include/wine/library.h
@@ -43,6 +43,7 @@ extern const char *wine_get_data_dir(void);
extern const char *wine_get_server_dir(void);
extern const char *wine_get_user_name(void);
extern const char *wine_get_version(void);
+extern const void *wine_get_patches(void);
extern const char *wine_get_build_id(void);
extern void wine_init_argv0_path( const char *argv0 );
extern void wine_exec_wine_binary( const char *name, char **argv, const char *env_var );
EOF

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,106 +0,0 @@
#!/usr/bin/python2
#
# Python progressbar functions.
#
# Copyright (C) 2014 Sebastian Lackner
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2.1 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
#
import fcntl
import os
import signal
import struct
import sys
import termios
def _sig_winch(signum=None, frame=None):
"""Signal handler for SIGWINCH."""
global _term_width
h, w, hp, wp = struct.unpack('HHHH', fcntl.ioctl(sys.stdout.fileno(),
termios.TIOCGWINSZ, struct.pack('HHHH', 0, 0, 0, 0)))
_term_width = w
try:
_sig_winch()
signal.signal(signal.SIGWINCH, _sig_winch)
except IOError:
_term_width = int(os.environ.get('COLUMNS', 80)) - 1
class ProgressBar(object):
def __init__(self, desc="", msg=None, current=0, total=100):
"""Initialize a new progress bar with given properties."""
self.desc = desc
self.msg = msg
self.current = current
self.total = total
def __enter__(self):
self.update()
return self
def __exit__(self, type, value, traceback):
if type is not None:
sys.stdout.write("\r")
msg = "<interrupted>"
else:
msg = None
self.finish(msg)
if self.msg is not None:
sys.stdout.write("\n")
def update(self, value = None):
"""Redraw the progressbar and optionally update the value."""
if value is not None:
self.current = value
if self.current == 0 or (self.current >= self.total and self.msg is None):
sys.stdout.write("%s\r" % (' ' * _term_width))
sys.stdout.flush()
return
width = _term_width / 2
s1 = self.desc.ljust(width - 1, ' ')[:width - 1]
width = _term_width - width
if self.current >= self.total:
s2 = self.msg.ljust(width, ' ')[:width]
elif width > 2:
numbars = min(self.current * (width - 2) / self.total, width - 2)
s2 = "[%s%s]" % ('#' * numbars, '-' * (width - 2 - numbars))
percent = " %d%% " % min(self.current * 100 / self.total, 100)
i = (len(s2)-len(percent))/2
s2 = "%s%s%s" % (s2[:i], percent, s2[i+len(percent):])
sys.stdout.write("%s %s\r" % (s1, s2))
sys.stdout.flush()
def finish(self, msg = None):
"""Finalize the progressbar."""
if msg is not None:
self.msg = msg
self.current = self.total
self.update()
sys.stdout.flush()
if __name__ == '__main__':
import time
print ""
with ProgressBar(desc="description") as x:
for i in xrange(100):
x.update(i)
time.sleep(1)

4
debian/wine-compholio-amd64.install vendored Normal file
View File

@@ -0,0 +1,4 @@
/opt/wine-compholio/lib64/libwine.so*
/opt/wine-compholio/lib64/wine
/opt/wine-compholio/bin/wine64
/opt/wine-compholio/bin/wine64-preloader

Some files were not shown because too many files have changed in this diff Show More