summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--patches/xwin/ERROR.patch28
-rw-r--r--patches/xwin/configure.patch12
-rw-r--r--patches/xwin/ddraw.patch38
-rw-r--r--patches/xwin/internal_h.patch162
-rw-r--r--patches/xwin/no_wow64.patch24
-rw-r--r--patches/xwin/void.patch11
-rw-r--r--patches/xwin/xevents.patch11
-rw-r--r--patches/xwin/xwinclip_link.patch11
-rw-r--r--vars/build.vars11
9 files changed, 307 insertions, 1 deletions
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 <ddraw.h>
+ #define __XWIN_DDRAW_H
+ #endif
+@@ -9,10 +9,29 @@
+ #include <wingdi.h>
+ #include <objbase.h>
+
++/* temporary! */
++#include <guiddef.h>
++
+ #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 <assert.h>
++#include <stdio.h>
++#include <stdlib.h>
++#ifndef _MSC_VER
++#include <unistd.h>
++#endif
++#if defined __CYGWIN__ || defined(__midipix__)
++#include <sys/select.h>
++#else
++#include <X11/Xwinsock.h>
++#endif
++#include <fcntl.h>
++#include <setjmp.h>
++#ifdef _MSC_VER
++typedef int pid_t;
++#endif
++#include <pthread.h>
++
++/* X headers */
++#include <X11/X.h>
++#include <X11/Xatom.h>
++#include <X11/Xproto.h>
++#include <X11/Xutil.h>
++
++/* Windows headers */
++#include <X11/Xwindows.h>
++
++#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 <limits.h>
+ #include <wchar.h>
++#include <string.h>
+ #include <X11/Xutil.h>
+ #include <X11/Xatom.h>
+ #include <X11/extensions/Xfixes.h>
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))
diff --git a/vars/build.vars b/vars/build.vars
index a4844504..2181c7c2 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};