From 2a75fc7dfdb4af4c49503c9e5d9e9fb7941a031c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lucio=20Andr=C3=A9s=20Illanes=20Albornoz?= Date: Wed, 22 Aug 2018 19:10:55 +0000 Subject: vars/build.vars:native_packages_deps_x11: adds xwin v1.20.1 (via Redfoxmoon.) vars/build.vars:xwin:${PKG_DISABLED}: disabled pending fix. patches/xwin/*: via Redfoxmoon. --- patches/xwin/ERROR.patch | 28 +++++++ patches/xwin/configure.patch | 12 +++ patches/xwin/ddraw.patch | 38 +++++++++ patches/xwin/internal_h.patch | 162 +++++++++++++++++++++++++++++++++++++++ patches/xwin/no_wow64.patch | 24 ++++++ patches/xwin/void.patch | 11 +++ patches/xwin/xevents.patch | 11 +++ patches/xwin/xwinclip_link.patch | 11 +++ 8 files changed, 297 insertions(+) create mode 100644 patches/xwin/ERROR.patch create mode 100644 patches/xwin/configure.patch create mode 100644 patches/xwin/ddraw.patch create mode 100644 patches/xwin/internal_h.patch create mode 100644 patches/xwin/no_wow64.patch create mode 100644 patches/xwin/void.patch create mode 100644 patches/xwin/xevents.patch create mode 100644 patches/xwin/xwinclip_link.patch (limited to 'patches/xwin') diff --git a/patches/xwin/ERROR.patch b/patches/xwin/ERROR.patch new file mode 100644 index 00000000..07fd3325 --- /dev/null +++ b/patches/xwin/ERROR.patch @@ -0,0 +1,28 @@ +--- xorg-server-1.20.1.orig/hw/xwin/winwindow.c 2018-08-07 18:31:04.000000000 +0200 ++++ xorg-server-1.20.1/hw/xwin/winwindow.c 2018-08-22 19:39:37.078925268 +0200 +@@ -269,14 +269,14 @@ + + if (pWinPriv->hRgn) { + if (CombineRgn(hRgnWin, hRgnWin, pWinPriv->hRgn, RGN_AND) +- == ERROR) { ++ == 0) { + ErrorF("winAddRgn - CombineRgn () failed\n"); + } + } + + OffsetRgn(hRgnWin, iX, iY); + +- if (CombineRgn(hRgn, hRgn, hRgnWin, RGN_OR) == ERROR) { ++ if (CombineRgn(hRgn, hRgn, hRgnWin, RGN_OR) == 0) { + ErrorF("winAddRgn - CombineRgn () failed\n"); + } + +@@ -363,7 +363,7 @@ + } + + /* Merge the Windows region with the accumulated region */ +- if (CombineRgn(hRgn, hRgn, hRgnRect, RGN_OR) == ERROR) { ++ if (CombineRgn(hRgn, hRgn, hRgnRect, RGN_OR) == 0) { + ErrorF("winReshapeRootless - CombineRgn() failed\n"); + } + diff --git a/patches/xwin/configure.patch b/patches/xwin/configure.patch new file mode 100644 index 00000000..07416c00 --- /dev/null +++ b/patches/xwin/configure.patch @@ -0,0 +1,12 @@ +diff -Nru xorg-server-1.20.1.orig/configure xorg-server-1.20.1/configure +--- xorg-server-1.20.1.orig/configure 2018-08-07 18:31:15.000000000 +0200 ++++ xorg-server-1.20.1/configure 2018-08-18 19:48:22.107953995 +0200 +@@ -30480,7 +30480,7 @@ + fi + + case $host_os in +- cygwin*) ++ cygwin* | midipix*) + XWIN_SERVER_NAME=XWin + + $as_echo "#define HAS_DEVWINDOWS 1" >>confdefs.h diff --git a/patches/xwin/ddraw.patch b/patches/xwin/ddraw.patch new file mode 100644 index 00000000..c368217a --- /dev/null +++ b/patches/xwin/ddraw.patch @@ -0,0 +1,38 @@ +--- xorg-server-1.20.1.orig/hw/xwin/ddraw.h 2018-08-07 18:31:04.000000000 +0200 ++++ xorg-server-1.20.1/hw/xwin/ddraw.h 2018-08-22 08:26:12.917568413 +0200 +@@ -1,4 +1,4 @@ +-#ifdef __MINGW64_VERSION_MAJOR ++#if defined(__MINGW64_VERSION_MAJOR) + #include_next + #define __XWIN_DDRAW_H + #endif +@@ -9,10 +9,29 @@ + #include + #include + ++/* temporary! */ ++#include ++ + #if defined(NONAMELESSUNION) && !defined(DUMMYUNIONNAME1) + #define DUMMYUNIONNAME1 u1 + #endif + ++#if !defined(DUMMYUNIONNAME2) ++#define DUMMYUNIONNAME2 u2 ++#endif ++ ++#if !defined(DUMMYUNIONNAME3) ++#define DUMMYUNIONNAME3 u3 ++#endif ++ ++#if !defined(DUMMYUNIONNAME4) ++#define DUMMYUNIONNAME4 u4 ++#endif ++ ++#if !defined(DUMMYUNIONNAME5) ++#define DUMMYUNIONNAME5 u5 ++#endif ++ + #define ICOM_CALL_( xfn, p, args) (p)->lpVtbl->xfn args + + #ifdef UNICODE diff --git a/patches/xwin/internal_h.patch b/patches/xwin/internal_h.patch new file mode 100644 index 00000000..e33c7cb7 --- /dev/null +++ b/patches/xwin/internal_h.patch @@ -0,0 +1,162 @@ +diff -Nru xorg-server-1.20.1.orig/hw/xwin/winclipboard/internal.h xorg-server-1.20.1/hw/xwin/winclipboard/internal.h +--- xorg-server-1.20.1.orig/hw/xwin/winclipboard/internal.h 1970-01-01 01:00:00.000000000 +0100 ++++ xorg-server-1.20.1/hw/xwin/winclipboard/internal.h 2018-08-18 20:46:30.468338239 +0200 +@@ -0,0 +1,158 @@ ++/* ++ *Copyright (C) 2003-2004 Harold L Hunt II All Rights Reserved. ++ * ++ *Permission is hereby granted, free of charge, to any person obtaining ++ * a copy of this software and associated documentation files (the ++ *"Software"), to deal in the Software without restriction, including ++ *without limitation the rights to use, copy, modify, merge, publish, ++ *distribute, sublicense, and/or sell copies of the Software, and to ++ *permit persons to whom the Software is furnished to do so, subject to ++ *the following conditions: ++ * ++ *The above copyright notice and this permission notice shall be ++ *included in all copies or substantial portions of the Software. ++ * ++ *THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ *EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ *MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ *NONINFRINGEMENT. IN NO EVENT SHALL HAROLD L HUNT II BE LIABLE FOR ++ *ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF ++ *CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION ++ *WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ * ++ *Except as contained in this notice, the name of Harold L Hunt II ++ *shall not be used in advertising or otherwise to promote the sale, use ++ *or other dealings in this Software without prior written authorization ++ *from Harold L Hunt II. ++ * ++ * Authors: Harold L Hunt II ++ */ ++ ++#ifndef WINCLIPBOARD_INTERNAL_H ++#define WINCLIPBOARD_INTERNAL_H ++ ++/* Standard library headers */ ++#include ++#include ++#include ++#ifndef _MSC_VER ++#include ++#endif ++#if defined __CYGWIN__ || defined(__midipix__) ++#include ++#else ++#include ++#endif ++#include ++#include ++#ifdef _MSC_VER ++typedef int pid_t; ++#endif ++#include ++ ++/* X headers */ ++#include ++#include ++#include ++#include ++ ++/* Windows headers */ ++#include ++ ++#include "../winmsg.h" ++ ++#define WIN_XEVENTS_SUCCESS 0 ++#define WIN_XEVENTS_FAILED 1 ++#define WIN_XEVENTS_NOTIFY_DATA 3 ++#define WIN_XEVENTS_NOTIFY_TARGETS 4 ++ ++#define WM_WM_REINIT (WM_USER + 200) ++#define WM_WM_QUIT (WM_USER + 201) ++ ++#define ARRAY_SIZE(a) (sizeof((a)) / sizeof((a)[0])) ++ ++/* ++ * References to external symbols ++ */ ++ ++extern char *display; ++/* ++ * winclipboardinit.c ++ */ ++ ++Bool ++ winInitClipboard(void); ++ ++/* ++ * winclipboardtextconv.c ++ */ ++ ++void ++ winClipboardDOStoUNIX(char *pszData, int iLength); ++ ++void ++ winClipboardUNIXtoDOS(char **ppszData, int iLength); ++ ++/* ++ * winclipboardthread.c ++ */ ++ ++ ++typedef struct ++{ ++ Atom atomClipboard; ++ Atom atomLocalProperty; ++ Atom atomUTF8String; ++ Atom atomCompoundText; ++ Atom atomTargets; ++ Atom atomIncr; ++} ClipboardAtoms; ++ ++/* Modern clipboard API functions */ ++typedef wBOOL (WINAPI *ADDCLIPBOARDFORMATLISTENERPROC)(HWND hwnd); ++typedef wBOOL (WINAPI *REMOVECLIPBOARDFORMATLISTENERPROC)(HWND hwnd); ++ ++extern Bool g_fHasModernClipboardApi; ++extern ADDCLIPBOARDFORMATLISTENERPROC g_fpAddClipboardFormatListener; ++extern REMOVECLIPBOARDFORMATLISTENERPROC g_fpRemoveClipboardFormatListener; ++ ++/* ++ * winclipboardwndproc.c ++ */ ++ ++Bool winClipboardFlushWindowsMessageQueue(HWND hwnd); ++ ++LRESULT CALLBACK ++winClipboardWindowProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam); ++ ++typedef struct ++{ ++ Display *pClipboardDisplay; ++ Window iClipboardWindow; ++ ClipboardAtoms *atoms; ++} ClipboardWindowCreationParams; ++ ++/* ++ * winclipboardxevents.c ++ */ ++ ++typedef struct ++{ ++ Bool fUseUnicode; ++ Atom *targetList; ++ unsigned char *incr; ++ unsigned long int incrsize; ++} ClipboardConversionData; ++ ++int ++winClipboardFlushXEvents(HWND hwnd, ++ Window iWindow, Display * pDisplay, ClipboardConversionData *data, ClipboardAtoms *atom); ++ ++ ++Atom ++winClipboardGetLastOwnedSelectionAtom(ClipboardAtoms *atoms); ++ ++void ++winClipboardInitMonitoredSelections(void); ++ ++#endif diff --git a/patches/xwin/no_wow64.patch b/patches/xwin/no_wow64.patch new file mode 100644 index 00000000..462e105f --- /dev/null +++ b/patches/xwin/no_wow64.patch @@ -0,0 +1,24 @@ +--- xorg-server-1.20.1.orig/hw/xwin/winos.c 2018-08-07 18:31:04.000000000 +0200 ++++ xorg-server-1.20.1/hw/xwin/winos.c 2018-08-20 20:47:53.954276769 +0200 +@@ -36,6 +36,7 @@ + static const char* + IsWow64(void) + { ++#ifndef __midipix__ + #ifdef __x86_64__ + return " (64-bit)"; + #else +@@ -51,6 +52,13 @@ + /* OS doesn't support IsWow64Process() */ + return ""; + #endif ++#else ++#ifdef __NT64 ++ return " (64-bit)"; ++#else ++ return " (32-bit)"; ++#endif ++#endif + } + + /* diff --git a/patches/xwin/void.patch b/patches/xwin/void.patch new file mode 100644 index 00000000..d35ea636 --- /dev/null +++ b/patches/xwin/void.patch @@ -0,0 +1,11 @@ +--- xorg-server-1.20.1.orig/hw/xwin/winshadgdi.c 2018-08-07 18:31:04.000000000 +0200 ++++ xorg-server-1.20.1/hw/xwin/winshadgdi.c 2018-08-20 22:51:52.902466150 +0200 +@@ -332,7 +332,7 @@ + pScreenPriv->hbmpShadow = CreateDIBSection(pScreenPriv->hdcScreen, + (BITMAPINFO *) pScreenPriv-> + pbmih, DIB_RGB_COLORS, +- (VOID **) &pScreenInfo->pfb, ++ (void **) &pScreenInfo->pfb, + NULL, 0); + if (pScreenPriv->hbmpShadow == NULL || pScreenInfo->pfb == NULL) { + winW32Error(2, "winAllocateFBShadowGDI - CreateDIBSection failed:"); diff --git a/patches/xwin/xevents.patch b/patches/xwin/xevents.patch new file mode 100644 index 00000000..7c646b3c --- /dev/null +++ b/patches/xwin/xevents.patch @@ -0,0 +1,11 @@ +diff -Nru xorg-server-1.20.1.orig/hw/xwin/winclipboard/xevents.c xorg-server-1.20.1/hw/xwin/winclipboard/xevents.c +--- xorg-server-1.20.1.orig/hw/xwin/winclipboard/xevents.c 2018-08-07 18:31:04.000000000 +0200 ++++ xorg-server-1.20.1/hw/xwin/winclipboard/xevents.c 2018-08-18 21:12:13.501053574 +0200 +@@ -45,6 +45,7 @@ + + #include + #include ++#include + #include + #include + #include diff --git a/patches/xwin/xwinclip_link.patch b/patches/xwin/xwinclip_link.patch new file mode 100644 index 00000000..824104f1 --- /dev/null +++ b/patches/xwin/xwinclip_link.patch @@ -0,0 +1,11 @@ +--- xorg-server-1.20.1.orig/hw/xwin/winclipboard/Makefile.in 2018-08-07 18:31:19.000000000 +0200 ++++ xorg-server-1.20.1/hw/xwin/winclipboard/Makefile.in 2018-08-19 00:16:17.393701487 +0200 +@@ -632,7 +632,7 @@ + libXWinclipboard_la_LDFLAGS = -static -no-undefined + xwinclip_SOURCES = xwinclip.c debug.c + xwinclip_CFLAGS = $(XWINMODULES_CFLAGS) +-xwinclip_LDADD = libXWinclipboard.la $(XWINMODULES_LIBS) -lgdi32 -lpthread ++xwinclip_LDADD = libXWinclipboard.la $(XWINMODULES_LIBS) -lgdi32 -luser32 -lkernel32 -lpthread + appmandir = $(APP_MAN_DIR) + #appman_PRE = list of application man page files set by calling Makefile.am + appman_DATA = $(appman_PRE:man=$(APP_MAN_SUFFIX)) -- cgit v1.2.3