summaryrefslogtreecommitdiff
path: root/x11
diff options
context:
space:
mode:
authordholland <dholland@pkgsrc.org>2022-05-22 21:29:58 +0000
committerdholland <dholland@pkgsrc.org>2022-05-22 21:29:58 +0000
commiteea8fd2e48842cf20e02de75da37149fcf36656e (patch)
tree457539b0286499225bf3fcd8d3fbdb71bde81fd3 /x11
parentaf3e5efd44ed3bbead161b534d326a9cafcb04b7 (diff)
downloadpkgsrc-eea8fd2e48842cf20e02de75da37149fcf36656e.tar.gz
modular-xorg-server: apply changes in PR 41501 to fix Solaris sparc build.
From Claes Nästén.
Diffstat (limited to 'x11')
-rw-r--r--x11/modular-xorg-server/distinfo6
-rw-r--r--x11/modular-xorg-server/patches/patch-hw_xfree86_os-support_bus_Sbus.c125
-rw-r--r--x11/modular-xorg-server/patches/patch-hw_xfree86_os-support_solaris_sun__init.c22
-rw-r--r--x11/modular-xorg-server/patches/patch-os_backtrace.c14
4 files changed, 116 insertions, 51 deletions
diff --git a/x11/modular-xorg-server/distinfo b/x11/modular-xorg-server/distinfo
index 4bf39d1ca88..db39b7ede74 100644
--- a/x11/modular-xorg-server/distinfo
+++ b/x11/modular-xorg-server/distinfo
@@ -1,4 +1,4 @@
-$NetBSD: distinfo,v 1.116 2021/12/15 23:35:00 wiz Exp $
+$NetBSD: distinfo,v 1.117 2022/05/22 21:29:58 dholland Exp $
BLAKE2s (xorg-server-1.20.14.tar.xz) = 207f7e9d968765e4ee9d916007fdd32827ed33516b2457b83002b709476e8319
SHA512 (xorg-server-1.20.14.tar.xz) = be3dc32cce7d55d7e38c5f6557027f13f39224c76cc83e5800555d5ce89dbdc3731773a2d186a5b97db9fc8731a2b2dd6e9829af2b01ee2559246d4aef7c4963
@@ -13,9 +13,11 @@ SHA1 (patch-hw_xfree86_os-support_bsd_arm__video.c) = 9c03b24f44eafc5fabe27e9d6c
SHA1 (patch-hw_xfree86_os-support_bsd_bsd__VTsw.c) = 90343f694c27a6fdd5070e1167687943bd056a99
SHA1 (patch-hw_xfree86_os-support_bsd_bsd__init.c) = b58ce2005251c1b3f723ee87c759f75bcb27e230
SHA1 (patch-hw_xfree86_os-support_bsd_i386__video.c) = f2c72562a40c0e3109991453aff9c2c082526b1b
-SHA1 (patch-hw_xfree86_os-support_bus_Sbus.c) = 0035b970bdae1bab51b8ca6bfeed060ec4df3a60
+SHA1 (patch-hw_xfree86_os-support_bus_Sbus.c) = 8507a2ac60c77031048a386dc5c48f0ef86cb8de
SHA1 (patch-hw_xfree86_os-support_solaris_solaris-amd64.S) = 088a3118deb7567194e08dd46e34cb6edba38400
+SHA1 (patch-hw_xfree86_os-support_solaris_sun__init.c) = 6148072cfaf1cb8d0a2f465b51429563c8ea2c15
SHA1 (patch-hw_xfree86_os-support_xf86_OSproc.h) = e1c049857893d2f050d5fb297a3e8ef86f0b1d7e
SHA1 (patch-hw_xfree86_os_support_bus_xf86Sbus.h) = 0e0a243b737f8f762c9f8f24a2265d1b6aefb544
SHA1 (patch-hw_xwayland_xwayland-input.c) = b876642a56f4930dfaa88cff77d4518cfe9d73e0
+SHA1 (patch-os_backtrace.c) = 8cf93febb737dd850706d140b467b73f61ecd3ad
SHA1 (patch-test_xtest.c) = 77622ef481e91e64b3a6dd64b8579404f33ec88f
diff --git a/x11/modular-xorg-server/patches/patch-hw_xfree86_os-support_bus_Sbus.c b/x11/modular-xorg-server/patches/patch-hw_xfree86_os-support_bus_Sbus.c
index 311ceb7a8ba..03ae703c0aa 100644
--- a/x11/modular-xorg-server/patches/patch-hw_xfree86_os-support_bus_Sbus.c
+++ b/x11/modular-xorg-server/patches/patch-hw_xfree86_os-support_bus_Sbus.c
@@ -1,8 +1,8 @@
-$NetBSD: patch-hw_xfree86_os-support_bus_Sbus.c,v 1.3 2016/11/16 10:14:37 wiz Exp $
+$NetBSD: patch-hw_xfree86_os-support_bus_Sbus.c,v 1.4 2022/05/22 21:29:58 dholland Exp $
-Merge most of netbsdSbus.c from xsrc.
+Merge most of netbsdSbus.c from xsrc, but leave the Solaris support in place.
---- hw/xfree86/os-support/bus/Sbus.c.orig 2016-08-11 19:08:48.000000000 +0000
+--- hw/xfree86/os-support/bus/Sbus.c.orig 2022-05-22 21:01:31.709546787 +0000
+++ hw/xfree86/os-support/bus/Sbus.c
@@ -34,6 +34,9 @@
#ifdef __sun
@@ -14,15 +14,17 @@ Merge most of netbsdSbus.c from xsrc.
#include "xf86.h"
#include "xf86Priv.h"
#include "xf86_OSlib.h"
-@@ -50,7 +53,6 @@ static int promP1275 = -1;
+@@ -50,7 +53,9 @@ static int promP1275 = -1;
#define MAX_PROP 128
#define MAX_VAL (4096-128-4)
--static struct openpromio *promOpio;
++#ifdef __sun
+ static struct openpromio *promOpio;
++#endif
sbusDevicePtr *xf86SbusInfo = NULL;
-@@ -68,68 +70,75 @@ struct sbus_devtable sbusDeviceTable[] =
+@@ -68,15 +73,27 @@ struct sbus_devtable sbusDeviceTable[] =
{SBUS_DEVICE_GT, FBTYPE_SUNGT, "gt", NULL, "Sun Graphics Tower"},
{SBUS_DEVICE_MGX, -1, "mgx", NULL, "Quantum 3D MGXplus"},
{SBUS_DEVICE_LEO, FBTYPE_SUNLEO, "leo", "sunleo", "Sun ZX or Turbo ZX"},
@@ -30,55 +32,76 @@ Merge most of netbsdSbus.c from xsrc.
+ {SBUS_DEVICE_TCX, FBTYPE_TCXCOLOR, "tcx", "suntcx", "Sun TCX or S24"},
{SBUS_DEVICE_FFB, FBTYPE_CREATOR, "ffb", "sunffb", "Sun FFB"},
{SBUS_DEVICE_FFB, FBTYPE_CREATOR, "afb", "sunffb", "Sun Elite3D"},
++#ifdef FBTYPE_P9100
+ {SBUS_DEVICE_P9100, FBTYPE_P9100, "pnozz", "pnozz", "Weitek P9100"},
++#endif /* FBTYPE_P9100 */
++#ifdef FBTYPE_AG10E
+ {SBUS_DEVICE_AG10E, FBTYPE_AG10E, "ag10e", "ag10e", "Fujitsu AG-10e"},
++#endif /* FBTYPE_AG10E */
{0, 0, NULL}
};
++#ifndef __sun
+static struct ofiocdesc ofio;
+static char of_buf[256];
++#endif
+
int
promGetSibling(int node)
{
-- promOpio->oprom_size = sizeof(int);
++#ifdef __sun
+ promOpio->oprom_size = sizeof(int);
if (node == -1)
+@@ -86,11 +103,20 @@ promGetSibling(int node)
return 0;
-- *(int *) promOpio->oprom_array = node;
-- if (ioctl(promFd, OPROMNEXT, promOpio) < 0)
+ promCurrentNode = *(int *) promOpio->oprom_array;
+ return *(int *) promOpio->oprom_array;
++#else
++ if (node == -1)
++ return 0;
+ if (ioctl(promFd, OFIOCGETNEXT, &node) < 0)
- return 0;
-- promCurrentNode = *(int *) promOpio->oprom_array;
-- return *(int *) promOpio->oprom_array;
++ return 0;
+ promCurrentNode = node;
+ return node;
++#endif
}
int
promGetChild(int node)
{
-- promOpio->oprom_size = sizeof(int);
++#ifdef __sun
+ promOpio->oprom_size = sizeof(int);
if (!node || node == -1)
+@@ -100,26 +126,52 @@ promGetChild(int node)
return 0;
-- *(int *) promOpio->oprom_array = node;
-- if (ioctl(promFd, OPROMCHILD, promOpio) < 0)
+ promCurrentNode = *(int *) promOpio->oprom_array;
+ return *(int *) promOpio->oprom_array;
++#else
++ if (!node || node == -1)
++ return 0;
+ if (ioctl(promFd, OFIOCGETCHILD, &node) < 0)
- return 0;
-- promCurrentNode = *(int *) promOpio->oprom_array;
-- return *(int *) promOpio->oprom_array;
++ return 0;
+ promCurrentNode = node;
+ return node;
++#endif
}
char *
promGetProperty(const char *prop, int *lenp)
{
-- promOpio->oprom_size = MAX_VAL;
++#ifdef __sun
+ promOpio->oprom_size = MAX_VAL;
-- strcpy(promOpio->oprom_array, prop);
-- if (ioctl(promFd, OPROMGETPROP, promOpio) < 0)
+ strcpy(promOpio->oprom_array, prop);
+ if (ioctl(promFd, OPROMGETPROP, promOpio) < 0)
+ return 0;
++
+ if (lenp)
+ *lenp = promOpio->oprom_size;
+ return promOpio->oprom_array;
++#else
+ ofio.of_nodeid = promCurrentNode;
+ ofio.of_name = (char *)prop;
+ ofio.of_namelen = strlen(prop);
@@ -86,78 +109,82 @@ Merge most of netbsdSbus.c from xsrc.
+ ofio.of_buflen = sizeof(of_buf);
+
+ if (ioctl(promFd, OFIOCGET, &ofio) < 0)
- return 0;
++ return 0;
+
+ of_buf[ofio.of_buflen] = '\0';
+
- if (lenp)
-- *lenp = promOpio->oprom_size;
-- return promOpio->oprom_array;
++ if (lenp)
+ *lenp = ofio.of_buflen;
+ return of_buf;
++#endif
}
int
promGetBool(const char *prop)
{
-- promOpio->oprom_size = 0;
++#ifdef __sun
+ promOpio->oprom_size = 0;
+-
+ *(int *) promOpio->oprom_array = 0;
+ for (;;) {
+ promOpio->oprom_size = MAX_PROP;
+@@ -130,6 +182,19 @@ promGetBool(const char *prop)
+ if (!strcmp(promOpio->oprom_array, prop))
+ return 1;
+ }
++#else
+ ofio.of_nodeid = promCurrentNode;
+ ofio.of_name = (char *)prop;
+ ofio.of_namelen = strlen(prop);
+ ofio.of_buf = of_buf;
+ ofio.of_buflen = sizeof(of_buf);
-
-- *(int *) promOpio->oprom_array = 0;
-- for (;;) {
-- promOpio->oprom_size = MAX_PROP;
-- if (ioctl(promFd, OPROMNXTPROP, promOpio) < 0)
-- return 0;
-- if (!promOpio->oprom_size)
-- return 0;
-- if (!strcmp(promOpio->oprom_array, prop))
-- return 1;
-- }
++
+ if (ioctl(promFd, OFIOCGET, &ofio) < 0)
+ return 0;
+ if (ofio.of_buflen < 0)
+ return 0;
+ return 1;
++#endif
}
#define PROM_NODE_SIBLING 0x01
-@@ -180,8 +189,8 @@ promIsP1275(void)
+@@ -180,8 +245,8 @@ promIsP1275(void)
promP1275 = TRUE;
else
promP1275 = FALSE;
-#elif defined(__FreeBSD__)
- promP1275 = TRUE;
+#elif defined(__FreeBSD__) || defined(__NetBSD__)
-+ promP1275 = TRUE;
++ promP1275 = TRUE;
#else
#error Missing promIsP1275() function for this OS
#endif
-@@ -198,8 +207,6 @@ sparcPromClose(void)
+@@ -198,8 +263,10 @@ sparcPromClose(void)
close(promFd);
promFd = -1;
}
-- free(promOpio);
-- promOpio = NULL;
++#ifdef __sun
+ free(promOpio);
+ promOpio = NULL;
++#endif
promOpenCount = 0;
}
-@@ -213,11 +220,6 @@ sparcPromInit(void)
+@@ -213,11 +280,13 @@ sparcPromInit(void)
promFd = open("/dev/openprom", O_RDONLY, 0);
if (promFd == -1)
return -1;
-- promOpio = (struct openpromio *) malloc(4096);
-- if (!promOpio) {
-- sparcPromClose();
-- return -1;
-- }
++#ifdef __sun
+ promOpio = (struct openpromio *) malloc(4096);
+ if (!promOpio) {
+ sparcPromClose();
+ return -1;
+ }
++#endif
promRootNode = promGetSibling(0);
if (!promRootNode) {
sparcPromClose();
-@@ -399,9 +401,9 @@ sparcPromAssignNodes(void)
+@@ -399,9 +468,9 @@ sparcPromAssignNodes(void)
* were the types of the cards missed. */
char buffer[64];
int fbNum, devId;
diff --git a/x11/modular-xorg-server/patches/patch-hw_xfree86_os-support_solaris_sun__init.c b/x11/modular-xorg-server/patches/patch-hw_xfree86_os-support_solaris_sun__init.c
new file mode 100644
index 00000000000..5081b57602f
--- /dev/null
+++ b/x11/modular-xorg-server/patches/patch-hw_xfree86_os-support_solaris_sun__init.c
@@ -0,0 +1,22 @@
+$NetBSD: patch-hw_xfree86_os-support_solaris_sun__init.c,v 1.1 2022/05/22 21:29:58 dholland Exp $
+
+Fix sparc Solaris build.
+
+--- hw/xfree86/os-support/solaris/sun_init.c~ 2021-12-15 19:01:24.000000000 +0000
++++ hw/xfree86/os-support/solaris/sun_init.c
+@@ -61,6 +61,7 @@ static char consoleDev[PATH_MAX] = "/dev
+ Used by hw/xfree86/common/xf86AutoConfig.c for VIS_GETIDENTIFIER */
+ _X_HIDDEN char xf86SolarisFbDev[PATH_MAX] = "/dev/fb";
+
++#ifdef HAS_USL_VTS
+ static void
+ switch_to(int vt, const char *from)
+ {
+@@ -76,6 +77,7 @@ switch_to(int vt, const char *from)
+ xf86Msg(X_WARNING, "%s: VT_WAITACTIVE failed: %s\n",
+ from, strerror(errno));
+ }
++#endif
+
+ void
+ xf86OpenConsole(void)
diff --git a/x11/modular-xorg-server/patches/patch-os_backtrace.c b/x11/modular-xorg-server/patches/patch-os_backtrace.c
new file mode 100644
index 00000000000..5bae2b6048d
--- /dev/null
+++ b/x11/modular-xorg-server/patches/patch-os_backtrace.c
@@ -0,0 +1,14 @@
+$NetBSD: patch-os_backtrace.c,v 1.3 2022/05/22 21:29:58 dholland Exp $
+
+Use standard headers, needed on Solaris.
+
+--- os/backtrace.c~ 2021-12-15 19:01:24.000000000 +0000
++++ os/backtrace.c
+@@ -29,6 +29,7 @@
+ #include "misc.h"
+ #include <errno.h>
+ #include <string.h>
++#include <unistd.h>
+
+ #ifdef HAVE_LIBUNWIND
+