diff --git a/patches/xwin/ERROR.patch b/patches/xwin/ERROR.patch new file mode 100644 index 0000000..07fd332 --- /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 0000000..07416c0 --- /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 0000000..c368217 --- /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 0000000..e33c7cb --- /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 0000000..462e105 --- /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 0000000..d35ea63 --- /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 0000000..7c646b3 --- /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 0000000..824104f --- /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)) diff --git a/vars/build.vars b/vars/build.vars index a484450..2181c7c 100644 --- a/vars/build.vars +++ b/vars/build.vars @@ -677,7 +677,7 @@ NATIVE_PACKAGES_DEPS_X11_PACKAGES=" util_macros xorgproto xcb_proto xtrans libpthread_stubs libXau xcb xcb_util xcb_util_image xcb_util_wm libX11 libXext freetype fontconfig Xrender libXft libXfixes libXi libXtst libICE libSM libXt libXmu libXpm libXaw libxkbfile -libXdamage libfontenc libXfont2 libXdmcp mesa glew harfbuzz pixman cairo +libXdamage libfontenc libXfont2 libXdmcp xwin mesa glew harfbuzz pixman cairo dbus dbus_glib sdl2 pango atk at_spi2_core at_spi2_atk gdk libepoxy gtk2 gtk3 imlib2 libcaca libxfce4util xfconf libxfce4ui"; NATIVE_PACKAGES_DEPS_X11_PREFIX="${PREFIX_NATIVE}"; @@ -781,6 +781,15 @@ NATIVE_PACKAGES_DEPS_X11_PYTHON="${PREFIX}/bin/python"; : ${PKG_LIBXDMCP_SHA256SUM:=81fe09867918fff258296e1e1e159f0dc639cb30d201c53519f25ab73af4e4e2}; : ${PKG_LIBXDMCP_VERSION:=1.1.2}; : ${PKG_LIBXDMCP_URL:=https://x.org/releases/individual/lib/libXdmcp-${PKG_LIBXDMCP_VERSION}.tar.bz2}; +: ${PKG_XWIN_SHA256SUM:=59c99fe86fe75b8164c6567bfc6e982aecc2e4a51e6fbac1b842d5d00549e918}; +: ${PKG_XWIN_VERSION:=1.20.1}; +: ${PKG_XWIN_URL:=https://x.org/releases/individual/xserver/xorg-server-${PKG_XWIN_VERSION}.tar.bz2}; +: ${PKG_XWIN_CONFIGURE_ARGS_EXTRA:="--enable-xwin --disable-xorg --disable-dri --disable-dri2 --disable-dri3 --disable-pciaccess --disable-glx"}; +: ${PKG_XWIN_CFLAGS_CONFIGURE_EXTRA:="-DWINAPI_ANSI_DEFAULT -I${PREFIX_NATIVE}/include/w32api.ports/"}; +: ${PKG_XWIN_DISABLED:=1}; +: ${PKG_XWIN_LDFLAGS_CONFIGURE_EXTRA:="-L${PREFIX_NATIVE}/lib/w32lib/"}; +: ${PKG_XWIN_CFLAGS_BUILD_EXTRA:=-Wno-redundant-decls}; +: ${PKG_XWIN_MAKEFLAGS_BUILD_EXTRA:=V=99}; : ${PKG_MESA_SHA256SUM:=694e5c3d37717d23258c1f88bc134223c5d1aac70518d2f9134d6df3ee791eea}; : ${PKG_MESA_VERSION:=18.0.0}; : ${PKG_MESA_URL:=https://mesa.freedesktop.org/archive/mesa-${PKG_MESA_VERSION}.tar.xz};