diff options
Diffstat (limited to 'x11-servers/xorg-server/files')
27 files changed, 1467 insertions, 0 deletions
diff --git a/x11-servers/xorg-server/files/patch-945GM.patch b/x11-servers/xorg-server/files/patch-945GM.patch new file mode 100644 index 000000000..a0fd8f94d --- /dev/null +++ b/x11-servers/xorg-server/files/patch-945GM.patch @@ -0,0 +1,335 @@ +# +# Add support to Intel 945GM +# +--- programs/Xserver/hw/xfree86/drivers/i810/common.h.orig Mon Jul 17 11:41:34 2006 ++++ programs/Xserver/hw/xfree86/drivers/i810/common.h Mon Jul 17 11:43:00 2006 +@@ -322,6 +322,11 @@ + #define PCI_CHIP_I945_G_BRIDGE 0x2770 + #endif + ++#ifndef PCI_CHIP_I945_GM ++#define PCI_CHIP_I945_GM 0x27A2 ++#define PCI_CHIP_I945_GM_BRIDGE 0x27A0 ++#endif ++ + #define IS_I810(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I810 || \ + pI810->PciInfo->chipType == PCI_CHIP_I810_DC100 || \ + pI810->PciInfo->chipType == PCI_CHIP_I810_E) +@@ -335,6 +340,7 @@ + #define IS_I915G(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I915_G || pI810->PciInfo->chipType == PCI_CHIP_E7221_G) + #define IS_I915GM(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I915_GM) + #define IS_I945G(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I945_G) ++#define IS_I945GM(pI810) (pI810->PciInfo->chipType == PCI_CHIP_I945_GM) + + #define IS_MOBILE(pI810) (IS_I830(pI810) || IS_I85X(pI810) || IS_I915GM(pI810)) + +--- programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c.orig Mon Jul 17 11:41:34 2006 ++++ programs/Xserver/hw/xfree86/drivers/i810/i810_driver.c Mon Jul 17 11:44:09 2006 +@@ -136,6 +136,7 @@ + {PCI_CHIP_E7221_G, "E7221 (i915)"}, + {PCI_CHIP_I915_GM, "915GM"}, + {PCI_CHIP_I945_G, "945G"}, ++ {PCI_CHIP_I945_GM, "945GM"}, + {-1, NULL} + }; + +@@ -154,6 +155,7 @@ + {PCI_CHIP_E7221_G, PCI_CHIP_E7221_G, RES_SHARED_VGA}, + {PCI_CHIP_I915_GM, PCI_CHIP_I915_GM, RES_SHARED_VGA}, + {PCI_CHIP_I945_G, PCI_CHIP_I945_G, RES_SHARED_VGA}, ++ {PCI_CHIP_I945_GM, PCI_CHIP_I945_GM, RES_SHARED_VGA}, + {-1, -1, RES_UNDEFINED } + }; + +@@ -569,6 +571,7 @@ + case PCI_CHIP_E7221_G: + case PCI_CHIP_I915_GM: + case PCI_CHIP_I945_G: ++ case PCI_CHIP_I945_GM: + xf86SetEntitySharable(usedChips[i]); + + /* Allocate an entity private if necessary */ +--- programs/Xserver/hw/xfree86/drivers/i810/i830_cursor.c.orig Mon Jul 17 11:41:34 2006 ++++ programs/Xserver/hw/xfree86/drivers/i810/i830_cursor.c Mon Jul 17 11:46:20 2006 +@@ -86,7 +86,7 @@ + + DPRINTF(PFX, "I830InitHWCursor\n"); + /* Initialise the HW cursor registers, leaving the cursor hidden. */ +- if (IS_MOBILE(pI830) || IS_I915G(pI830) || IS_I945G(pI830)) { ++ if (IS_MOBILE(pI830) || IS_I915G(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) { + temp = INREG(CURSOR_A_CONTROL); + temp &= ~(CURSOR_MODE | MCURSOR_GAMMA_ENABLE | MCURSOR_MEM_TYPE_LOCAL | + MCURSOR_PIPE_SELECT); +@@ -308,7 +308,7 @@ + } + + /* have to upload the base for the new position */ +- if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) { ++ if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) { + if (pI830->CursorIsARGB) + OUTREG(CURSOR_A_BASE, pI830->CursorMemARGB->Physical); + else +@@ -339,7 +339,7 @@ + pI830->CursorMemARGB->Physical, pI830->CursorMemARGB->Start); + + pI830->cursorOn = TRUE; +- if (IS_MOBILE(pI830) || IS_I915G(pI830) || IS_I945G(pI830)) { ++ if (IS_MOBILE(pI830) || IS_I915G(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) { + temp = INREG(CURSOR_A_CONTROL); + temp &= ~(CURSOR_MODE | MCURSOR_PIPE_SELECT); + if (pI830->CursorIsARGB) +@@ -387,7 +387,7 @@ + DPRINTF(PFX, "I830HideCursor\n"); + + pI830->cursorOn = FALSE; +- if (IS_MOBILE(pI830) || IS_I915G(pI830) || IS_I945G(pI830)) { ++ if (IS_MOBILE(pI830) || IS_I915G(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) { + temp = INREG(CURSOR_A_CONTROL); + temp &= ~CURSOR_MODE; + temp |= CURSOR_MODE_DISABLE; +--- programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c.orig Mon Jul 17 11:41:34 2006 ++++ programs/Xserver/hw/xfree86/drivers/i810/i830_driver.c Mon Jul 17 11:49:23 2006 +@@ -196,6 +196,7 @@ + {PCI_CHIP_E7221_G, "E7221 (i915)"}, + {PCI_CHIP_I915_GM, "915GM"}, + {PCI_CHIP_I945_G, "945G"}, ++ {PCI_CHIP_I945_GM, "945GM"}, + {-1, NULL} + }; + +@@ -208,6 +209,7 @@ + {PCI_CHIP_E7221_G, PCI_CHIP_E7221_G, RES_SHARED_VGA}, + {PCI_CHIP_I915_GM, PCI_CHIP_I915_GM, RES_SHARED_VGA}, + {PCI_CHIP_I945_G, PCI_CHIP_I945_G, RES_SHARED_VGA}, ++ {PCI_CHIP_I945_GM, PCI_CHIP_I945_GM, RES_SHARED_VGA}, + {-1, -1, RES_UNDEFINED} + }; + +@@ -1323,7 +1325,7 @@ + * The GTT varying according the the FbMapSize and the popup is 4KB */ + range = (pI830->FbMapSize / (1024*1024)) + 4; + +- if (IS_I85X(pI830) || IS_I865G(pI830) || IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) { ++ if (IS_I85X(pI830) || IS_I865G(pI830) || IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) { + switch (gmch_ctrl & I830_GMCH_GMS_MASK) { + case I855_GMCH_GMS_STOLEN_1M: + memsize = MB(1) - KB(range); +@@ -1341,11 +1343,11 @@ + memsize = MB(32) - KB(range); + break; + case I915G_GMCH_GMS_STOLEN_48M: +- if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) ++ if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) + memsize = MB(48) - KB(range); + break; + case I915G_GMCH_GMS_STOLEN_64M: +- if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) ++ if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) + memsize = MB(64) - KB(range); + break; + } +@@ -2090,6 +2092,9 @@ + case PCI_CHIP_I945_G: + chipname = "945G"; + break; ++ case PCI_CHIP_I945_GM: ++ chipname = "945GM"; ++ break; + default: + chipname = "unknown chipset"; + break; +@@ -2127,7 +2132,7 @@ + pI830->LinearAddr = pI830->pEnt->device->MemBase; + from = X_CONFIG; + } else { +- if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) { ++ if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) { + pI830->LinearAddr = pI830->PciInfo->memBase[2] & 0xF0000000; + from = X_PROBED; + } else if (pI830->PciInfo->memBase[1] != 0) { +@@ -2149,7 +2154,7 @@ + pI830->MMIOAddr = pI830->pEnt->device->IOBase; + from = X_CONFIG; + } else { +- if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) { ++ if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) { + pI830->MMIOAddr = pI830->PciInfo->memBase[0] & 0xFFF80000; + from = X_PROBED; + } else if (pI830->PciInfo->memBase[1]) { +@@ -2194,7 +2199,7 @@ + pI830->FbMapSize = 0x4000000; /* 64MB - has this been tested ?? */ + } + } else { +- if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) { ++ if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) { + if (pI830->PciInfo->memBase[2] & 0x08000000) + pI830->FbMapSize = 0x8000000; /* 128MB aperture */ + else +@@ -2227,7 +2232,7 @@ + if (pI830->PciInfo->chipType == PCI_CHIP_E7221_G) + pI830->availablePipes = 1; + else +- if (IS_MOBILE(pI830) || IS_I915G(pI830) || IS_I945G(pI830)) ++ if (IS_MOBILE(pI830) || IS_I915G(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) + pI830->availablePipes = 2; + else + pI830->availablePipes = 1; +@@ -2872,7 +2877,7 @@ + } + + /* Check if the HW cursor needs physical address. */ +- if (IS_MOBILE(pI830) || IS_I915G(pI830) || IS_I945G(pI830)) ++ if (IS_MOBILE(pI830) || IS_I915G(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) + pI830->CursorNeedsPhysical = TRUE; + else + pI830->CursorNeedsPhysical = FALSE; +--- programs/Xserver/hw/xfree86/drivers/i810/i830_memory.c.orig Mon Jul 17 11:41:34 2006 ++++ programs/Xserver/hw/xfree86/drivers/i810/i830_memory.c Mon Jul 17 11:51:02 2006 +@@ -1239,7 +1239,7 @@ + + i830Reg->Fence[nr] = 0; + +- if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) ++ if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) + fence_mask = ~I915G_FENCE_START_MASK; + else + fence_mask = ~I830_FENCE_START_MASK; +@@ -1247,7 +1247,7 @@ + if (start & fence_mask) { + xf86DrvMsg(X_WARNING, pScrn->scrnIndex, + "SetFence: %d: start (0x%08x) is not %s aligned\n", +- nr, start, (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) ? "1MB" : "512k"); ++ nr, start, (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) ? "1MB" : "512k"); + return; + } + +@@ -1267,7 +1267,7 @@ + + val = (start | FENCE_X_MAJOR | FENCE_VALID); + +- if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) { ++ if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) { + switch (size) { + case MB(1): + val |= I915G_FENCE_SIZE_1M; +@@ -1328,7 +1328,7 @@ + } + } + +- if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) ++ if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) + fence_pitch = pitch / 512; + else + fence_pitch = pitch / 128; +--- programs/Xserver/hw/xfree86/drivers/i810/i830_video.c.orig Mon Jul 17 11:41:34 2006 ++++ programs/Xserver/hw/xfree86/drivers/i810/i830_video.c Mon Jul 17 11:52:36 2006 +@@ -617,7 +617,7 @@ + adapt->nAttributes = NUM_ATTRIBUTES; + if (pI830->Clone) + adapt->nAttributes += CLONE_ATTRIBUTES; +- if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) ++ if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) + adapt->nAttributes += GAMMA_ATTRIBUTES; /* has gamma */ + adapt->pAttributes = xnfalloc(sizeof(XF86AttributeRec) * adapt->nAttributes); + /* Now copy the attributes */ +@@ -628,7 +628,7 @@ + memcpy((char*)att, (char*)CloneAttributes, sizeof(XF86AttributeRec) * CLONE_ATTRIBUTES); + att+=CLONE_ATTRIBUTES; + } +- if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) { ++ if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) { + memcpy((char*)att, (char*)GammaAttributes, sizeof(XF86AttributeRec) * GAMMA_ATTRIBUTES); + att+=GAMMA_ATTRIBUTES; + } +@@ -688,7 +688,7 @@ + if (pI830->Clone) + xvPipe = MAKE_ATOM("XV_PIPE"); + +- if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830)) { ++ if (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830)) { + xvGamma0 = MAKE_ATOM("XV_GAMMA0"); + xvGamma1 = MAKE_ATOM("XV_GAMMA1"); + xvGamma2 = MAKE_ATOM("XV_GAMMA2"); +@@ -806,7 +806,7 @@ + overlay->OCONFIG |= OVERLAY_PIPE_B; + if (pPriv->overlayOK) + OVERLAY_UPDATE; +- } else if (attribute == xvGamma0 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830))) { ++ } else if (attribute == xvGamma0 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830))) { + /* Avoid video anomalies, so set gamma registers when overlay is off */ + /* We also clamp the values if they are outside the ranges */ + if (!*pI830->overlayOn) { +@@ -815,35 +815,35 @@ + pPriv->gamma1 = pPriv->gamma0 + 0x7d; + } else + return BadRequest; +- } else if (attribute == xvGamma1 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830))) { ++ } else if (attribute == xvGamma1 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830))) { + if (!*pI830->overlayOn) { + pPriv->gamma1 = value; + if (pPriv->gamma1 - pPriv->gamma0 > 0x7d) + pPriv->gamma0 = pPriv->gamma1 - 0x7d; + } else + return BadRequest; +- } else if (attribute == xvGamma2 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830))) { ++ } else if (attribute == xvGamma2 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830))) { + if (!*pI830->overlayOn) { + pPriv->gamma2 = value; + if (pPriv->gamma3 - pPriv->gamma2 > 0x7d) + pPriv->gamma3 = pPriv->gamma2 + 0x7d; + } else + return BadRequest; +- } else if (attribute == xvGamma3 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830))) { ++ } else if (attribute == xvGamma3 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830))) { + if (!*pI830->overlayOn) { + pPriv->gamma3 = value; + if (pPriv->gamma3 - pPriv->gamma2 > 0x7d) + pPriv->gamma2 = pPriv->gamma3 - 0x7d; + } else + return BadRequest; +- } else if (attribute == xvGamma4 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830))) { ++ } else if (attribute == xvGamma4 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830))) { + if (!*pI830->overlayOn) { + pPriv->gamma4 = value; + if (pPriv->gamma5 - pPriv->gamma4 > 0x7d) + pPriv->gamma5 = pPriv->gamma4 + 0x7d; + } else + return BadRequest; +- } else if (attribute == xvGamma5 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830))) { ++ } else if (attribute == xvGamma5 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830))) { + if (!*pI830->overlayOn) { + pPriv->gamma5 = value; + if (pPriv->gamma5 - pPriv->gamma4 > 0x7d) +@@ -875,7 +875,7 @@ + attribute == xvGamma2 || + attribute == xvGamma3 || + attribute == xvGamma4 || +- attribute == xvGamma5) && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830))) { ++ attribute == xvGamma5) && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830))) { + I830UpdateGamma(pScrn); + } + +@@ -895,17 +895,17 @@ + *value = pPriv->contrast; + } else if (pI830->Clone && attribute == xvPipe) { + *value = pPriv->pipe; +- } else if (attribute == xvGamma0 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830))) { ++ } else if (attribute == xvGamma0 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830))) { + *value = pPriv->gamma0; +- } else if (attribute == xvGamma1 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830))) { ++ } else if (attribute == xvGamma1 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830))) { + *value = pPriv->gamma1; +- } else if (attribute == xvGamma2 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830))) { ++ } else if (attribute == xvGamma2 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830))) { + *value = pPriv->gamma2; +- } else if (attribute == xvGamma3 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830))) { ++ } else if (attribute == xvGamma3 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830))) { + *value = pPriv->gamma3; +- } else if (attribute == xvGamma4 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830))) { ++ } else if (attribute == xvGamma4 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830))) { + *value = pPriv->gamma4; +- } else if (attribute == xvGamma5 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830))) { ++ } else if (attribute == xvGamma5 && (IS_I915G(pI830) || IS_I915GM(pI830) || IS_I945G(pI830) || IS_I945GM(pI830))) { + *value = pPriv->gamma5; + } else if (attribute == xvColorKey) { + *value = pPriv->colorKey; diff --git a/x11-servers/xorg-server/files/patch-CVE-2006-0745 b/x11-servers/xorg-server/files/patch-CVE-2006-0745 new file mode 100644 index 000000000..afb7d4de7 --- /dev/null +++ b/x11-servers/xorg-server/files/patch-CVE-2006-0745 @@ -0,0 +1,20 @@ +--- programs/Xserver/hw/xfree86/common/xf86Init.c.orig 2006-03-17 23:30:10.000000000 +0200 ++++ programs/Xserver/hw/xfree86/common/xf86Init.c 2006-03-17 23:29:35.000000000 +0200 +@@ -1376,7 +1376,7 @@ + } + + /* First the options that are only allowed for root */ +- if (getuid() == 0 || geteuid != 0) ++ if (getuid() == 0 || geteuid() != 0) + { + if (!strcmp(argv[i], "-modulepath")) + { +@@ -1679,7 +1679,7 @@ + } + if (!strcmp(argv[i], "-configure")) + { +- if (getuid() != 0 && geteuid == 0) { ++ if (getuid() != 0 && geteuid() == 0) { + ErrorF("The '-configure' option can only be used by root.\n"); + exit(1); + } diff --git a/x11-servers/xorg-server/files/patch-FreeBSD.cf b/x11-servers/xorg-server/files/patch-FreeBSD.cf new file mode 100644 index 000000000..9a208d778 --- /dev/null +++ b/x11-servers/xorg-server/files/patch-FreeBSD.cf @@ -0,0 +1,93 @@ +--- config/cf/FreeBSD.cf.orig Sun Aug 15 10:03:36 2004 ++++ config/cf/FreeBSD.cf Sun Feb 6 03:56:59 2005 +@@ -78,6 +78,7 @@ + #define HasIssetugid YES + #define HasPoll YES + #endif ++#define BuildHtmlManPages NO + + #if OSMajorVersion >= 4 + #define HasGetIfAddrs YES +@@ -116,15 +117,14 @@ + # endif + # if (OSRelVersion < 500043) + # define NeedUIThrStubs YES +-# endif +-# if (OSRelVersion >= 502102) +-# define ThreadsLibraries -lpthread +-# elif (OSRelVersion >= 500016) +-# define ThreadsLibraries -lc_r ++# define BuildThreadStubLibrary YES ++# define SharedX11Reqs $(LDPRELIB) $(XTHRSTUBLIB) ++# define SharedXtReqs $(LDPRELIB) $(XONLYLIB) $(SMLIB) $(ICELIB) $(XTHRSTUBLIB) + # else +-# define ThreadsLibraries -pthread ++# define BuildThreadStubLibrary NO + # endif +-# define SystemMTDefines -D_THREAD_SAFE ++# define ThreadsLibraries FreeBSDPTHREAD_LIBS ++# define SystemMTDefines FreeBSDPTHREAD_CFLAGS + #endif + + /* This fixes linking C programs against libGLU on FreeBSD 3.x */ +@@ -172,12 +172,14 @@ + #endif + #endif + +-#ifndef CcCmd +-#define CcCmd cc +-#endif +-#ifndef CplusplusCmd +-#define CplusplusCmd c++ ++#if BuildThreadStubLibrary && (!defined(UseInstalledX11) || !UseInstalledX11) ++#define CcCmd $(CLIENTENVSETUP) FreeBSDCC ++#define CplusplusCmd $(CLIENTENVSETUP) FreeBSDCXX ++#else ++#define CcCmd FreeBSDCC ++#define CplusplusCmd FreeBSDCXX + #endif ++ + #define CppCmd /usr/bin/cpp + #define PreProcessCmd CppCmd + #define StandardCppOptions -traditional +@@ -338,7 +340,7 @@ + #ifndef LibraryRpathLoadFlags + # if UseRpath + # if UseElfFormat +-# define LibraryRpathLoadFlags -rpath $(USRLIBDIRPATH) ++# define LibraryRpathLoadFlags -Wl,-rpath $(USRLIBDIRPATH) + # else + # define LibraryRpathLoadFlags -R $(USRLIBDIRPATH) + # endif +@@ -442,7 +444,9 @@ + #define AsVISOption -Av9a + #define AsOutputArchSize 64 + #endif +- ++#ifdef PpcArchitecture ++#define XF86INT10_BUILD X86INT10_STUB ++#endif + #define StandardDefines -DCSRG_BASED + + #if OSMajorVersion > 1 +@@ -463,18 +467,8 @@ + #define XawI18nDefines -DUSE_XWCHAR_STRING -DUSE_XMBTOWC + #endif + +-/* The GCC strength-reduce bug is fixed for FreeBSD 2.1.5 and later */ +-#ifndef DefaultGcc2i386Opt +-#if OSMajorVersion > 2 || (OSMajorVersion == 2 && OSMinorVersion > 1) || (OSMajorVersion == 2 && OSMinorVersion == 1 && OSTeenyVersion >= 5) +-#define DefaultGcc2i386Opt -O2 GccAliasingArgs +-#endif +-#endif +- +-#ifdef i386Architecture +-# define OptimizedCDebugFlags DefaultGcc2i386Opt +-#else +-# define OptimizedCDebugFlags -O +-#endif ++#define DefaultGcc2i386Opt ++#define OptimizedCDebugFlags FreeBSDCFLAGS + + #ifndef PreIncDir + # define PreIncDir /usr/include diff --git a/x11-servers/xorg-server/files/patch-Imake.rules b/x11-servers/xorg-server/files/patch-Imake.rules new file mode 100644 index 000000000..deea1cb88 --- /dev/null +++ b/x11-servers/xorg-server/files/patch-Imake.rules @@ -0,0 +1,67 @@ +--- config/cf/Imake.rules.orig Mon Dec 9 15:00:42 2002 ++++ config/cf/Imake.rules Mon Oct 13 17:04:19 2003 +@@ -1406,7 +1406,7 @@ + * this Imakefile is within the source tree. + */ + #ifndef RmanDependency +-#ifdef UseInstalled ++#if defined(UseInstalled) || defined(UseInstalledPrograms) + #define RmanDependency() /**/ + #else + #define RmanDependency() @@\ +@@ -1421,7 +1421,7 @@ + #endif /* RmanDependency */ + + #ifndef RmanCmdDependency +-#ifdef UseInstalled ++#if defined(UseInstalled) || defined(UseInstalledPrograms) + #define RmanCmdDependency /**/ + #else + #define RmanCmdDependency ProgramTargetName($(RMAN)) +@@ -1874,7 +1874,7 @@ + * this Imakefile is within the source tree. + */ + #ifndef DependDependency +-#ifdef UseInstalled ++#if defined(UseInstalled) || defined(UseInstalledPrograms) + #define DependDependency() /**/ + #else + #define DependDependency() @@\ +@@ -1969,7 +1969,7 @@ + * within the source tree. + */ + #ifndef ImakeDependency +-#ifdef UseInstalled ++#if defined(UseInstalled) || defined(UseInstalledPrograms) + #define ImakeDependency(target) /**/ + #else + #define ImakeDependency(target) @@\ +@@ -2066,11 +2066,18 @@ + * ProjectUnsharedLibReferences - variables for unshared libraries + */ + #ifndef ProjectUnsharedLibReferences ++#if defined(UseInstalledLibraries) ++#define ProjectUnsharedLibReferences(varname,libname,libsource,buildlibdir) @@\ ++Concat3(DEP,varname,LIB) = @@\ ++Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) @@\ ++LintLibReferences(varname,libname,libsource) ++#else + #define ProjectUnsharedLibReferences(varname,libname,libsource,buildlibdir) @@\ + Concat3(DEP,varname,LIB) = _UseCat($(USRLIBDIR)/,buildlibdir/,LibraryTargetName(libname)) @@\ + Concat(varname,LIB) = LoaderLibPrefix Concat(-l,libname) @@\ + LintLibReferences(varname,libname,libsource) + #endif ++#endif + + /* + * ProjectUnsharedFontLibReferences - unshared font libraries +@@ -3126,6 +3133,9 @@ + + #ifdef UseInstalled + #define ImakeSubCmdHelper $(IMAKE_CMD) ++#elif defined(UseInstalledPrograms) ++#define ImakeSubCmdHelper $(IMAKE) -I$(IMAKEPREFIX)$(IRULESRC) \ ++ $(IMAKE_DEFINES) $(IMAKE_WARNINGS) + #else + #define ImakeSubCmdHelper $(IMAKEPREFIX)$(IMAKE) -I$(IMAKEPREFIX)$(IRULESRC) \ + $(IMAKE_DEFINES) $(IMAKE_WARNINGS) diff --git a/x11-servers/xorg-server/files/patch-Imake.tmpl b/x11-servers/xorg-server/files/patch-Imake.tmpl new file mode 100644 index 000000000..526e2e5de --- /dev/null +++ b/x11-servers/xorg-server/files/patch-Imake.tmpl @@ -0,0 +1,75 @@ +--- config/cf/Imake.tmpl.orig Mon Dec 9 19:20:41 2002 ++++ config/cf/Imake.tmpl Thu Jan 2 14:34:20 2003 +@@ -237,7 +237,8 @@ + + #ifndef RmanCmd + #if BuildRman +-#ifdef UseInstalled /* assume BINDIR in path */ ++#if defined(UseInstalled) || defined(UseInstalledPrograms) ++/* assume BINDIR in path */ + #define RmanCmd rman + #else + #define RmanCmd $(TOP)/config/util/rman +@@ -1348,7 +1349,8 @@ + #define LoaderLibPrefix /**/ + #endif + #ifndef ImakeCmd +-#ifdef UseInstalled /* assume BINDIR in path */ ++#if defined(UseInstalled) || defined(UseInstalledPrograms) ++/* assume BINDIR in path */ + #define ImakeCmd imake + #else + #define ImakeCmd $(IMAKESRC)/imake +@@ -1359,19 +1361,22 @@ + #endif + #ifndef DependCmd + #if UseGccMakeDepend +-#ifdef UseInstalled /* assume BINDIR in path */ ++#if defined(UseInstalled) || defined(UseInstalledPrograms) ++/* assume BINDIR in path */ + #define DependCmd gccmakedep + #else + #define DependCmd $(DEPENDSRC)/gccmakedep + #endif + #elif UseCCMakeDepend +-#ifdef UseInstalled /* assume BINDIR in path */ ++#if defined(UseInstalled) || defined(UseInstalledPrograms) ++/* assume BINDIR in path */ + #define DependCmd ccmakedep + #else + #define DependCmd $(DEPENDSRC)/ccmakedep + #endif + #else +-#ifdef UseInstalled /* assume BINDIR in path */ ++#if defined(UseInstalled) || defined(UseInstalledPrograms) ++/* assume BINDIR in path */ + #define DependCmd makedepend + #else + #define DependCmd $(DEPENDSRC)/makedepend +@@ -1398,21 +1403,23 @@ + #ifndef ExportListCmd + # ifndef ExportListGenSource + # define ExportListCmd /**/ +-# elif !defined(UseInstalled) ++# elif !defined(UseInstalled) && !defined(UseInstalledPrograms) + # define ExportListCmd $(CONFIGSRC)/util/exportlistgen + # else + # define ExportListCmd exportlistgen + # endif + #endif + #ifndef MkdirHierCmd +-#ifdef UseInstalled /* assume BINDIR in path */ ++#if defined(UseInstalled) || defined(UseInstalledPrograms) ++/* assume BINDIR in path */ + #define MkdirHierCmd mkdirhier + #else + #define MkdirHierCmd $(SHELL) $(CONFIGSRC)/util/mkdirhier.sh + #endif + #endif + #ifndef RevPathCmd +-#ifdef UseInstalled /* assume BINDIR in path */ ++#if defined(UseInstalled) || defined(UseInstalledPrograms) ++/* assume BINDIR in path */ + #define RevPathCmd revpath + #else + #define RevPathCmd $(CONFIGSRC)/util/revpath diff --git a/x11-servers/xorg-server/files/patch-Library.tmpl b/x11-servers/xorg-server/files/patch-Library.tmpl new file mode 100644 index 000000000..e94aae3bf --- /dev/null +++ b/x11-servers/xorg-server/files/patch-Library.tmpl @@ -0,0 +1,21 @@ +--- config/cf/Library.tmpl.orig Mon May 24 12:06:57 2004 ++++ config/cf/Library.tmpl Fri Sep 10 21:46:00 2004 +@@ -389,7 +389,7 @@ + */ + + #ifndef MakeStringsDependency +-# ifndef UseInstalled ++# if !defined(UseInstalled) && !defined(UseInstalledPrograms) + # define MakeStringsDependency @@\ + MAKESTRS = $(CONFIGSRC)/util/makestrs @@\ + NoCmpScript(HostProgramTargetName($(MAKESTRS)) $(MAKESTRS).Osuf) @@\ +@@ -399,7 +399,8 @@ + @@\ + includes:: HostProgramTargetName($(MAKESTRS)) + # else +-# define MakeStringsDependency /**/ ++# define MakeStringsDependency @@\ ++MAKESTRS = makestrs + # endif + #endif + diff --git a/x11-servers/xorg-server/files/patch-X11.rules b/x11-servers/xorg-server/files/patch-X11.rules new file mode 100644 index 000000000..052e96012 --- /dev/null +++ b/x11-servers/xorg-server/files/patch-X11.rules @@ -0,0 +1,17 @@ +--- config/cf/X11.rules.orig Sun May 30 12:49:38 2004 ++++ config/cf/X11.rules Sun May 30 12:50:02 2004 +@@ -23,6 +23,14 @@ + # define UseInstalledX11 YES + #endif + ++#ifndef UseInstalledPrograms ++# define UseInstalledPrograms NO ++#endif ++ ++#ifndef UseInstalledClients ++# define UseInstalledClients NO ++#endif ++ + #ifndef ImportX11 + # ifdef UseImports + # define ImportX11 YES diff --git a/x11-servers/xorg-server/files/patch-X11.tmpl b/x11-servers/xorg-server/files/patch-X11.tmpl new file mode 100644 index 000000000..c27d14d8e --- /dev/null +++ b/x11-servers/xorg-server/files/patch-X11.tmpl @@ -0,0 +1,79 @@ +--- X11.tmpl.orig Fri Sep 3 09:18:18 2004 ++++ config/cf/X11.tmpl Wed Dec 29 13:42:37 2004 +@@ -616,7 +616,7 @@ + #define BuildXft1Library BuildRenderLibrary + #endif + #ifndef UseFontconfig +-#define UseFontconfig BuildXftLibrary ++#define UseFontconfig (BuildXftLibrary || BuildXft1Library) + #endif + #ifndef BuildFontconfigLibrary + #define BuildFontconfigLibrary (UseFontconfig && !HasFontconfig) +@@ -773,6 +773,9 @@ + #ifndef ThreadedProject + #define ThreadedProject ThreadedX + #endif ++#ifndef BuildThreadStubLibrary ++#define BuildThreadStubLibrary NO ++#endif + #ifndef NeedUIThrStubs + #define NeedUIThrStubs NO + #endif +@@ -1606,7 +1609,7 @@ + #endif + + #ifndef PsWrap +-# ifndef UseInstalled ++# if !defined(UseInstalled) && !defined(UseInstalledPrograms) + # define PsWrap $(PSWRAPSRC)/pswrap + # else + # define PsWrap pswrap +@@ -1683,7 +1686,7 @@ + + INSTAPPFLAGS = $(INSTDATFLAGS) /* XXX - this should go away - XXX */ + +-#if UseInstalledX11 ++#if UseInstalledX11 || UseInstalledClients + RGB = $(XBINDIR)/rgb + FONTC = $(XBINDIR)/bdftopcf + MKFONTSCALE = $(XBINDIR)/mkfontscale +@@ -1843,6 +1846,39 @@ + DEPXLIBONLY = $(DEPXONLYLIB) + XLIBONLY = $(XONLYLIB) + LINTXONLYLIB = $(LINTXONLY) ++ ++#if BuildThreadStubLibrary ++#ifndef SharedLibXThrStub ++#define SharedLibXThrStub YES ++#endif ++#ifndef NormalLibXThrStub ++#define NormalLibXThrStub NO ++#endif ++#ifndef DebugLibXThrStub ++#define DebugLibXThrStub NO ++#endif ++#ifndef ProfileLibXThrStub ++#define ProfileLibXThrStub NO ++#endif ++ XTHRSTUBLIBSRC = $(LIBSRC)/XThrStub ++#if SharedLibXThrStub ++#ifndef SharedXThrStubRev ++#define SharedXThrStubRev 6.1 ++#endif ++SharedLibReferences(XTHRSTUB,XThrStub,$(XTHRSTUBLIBSRC),SOXTHRSTUBREV,SharedXThrStubRev) ++#else ++ProjectUnsharedLibReferences(XTHRSTUB,XThrStub,$(XTHRSTUBSRC),XBuildLibDir) ++#endif ++#else ++#undef SharedLibXThrStub ++#define SharedLibXThrStub NO ++#undef NormalLibXThrStub ++#define NormalLibXThrStub NO ++#undef DebugLibXThrStub ++#define DebugLibXThrStub NO ++#undef ProfileLibXThrStub ++#define ProfileLibXThrStub NO ++#endif + + #if BuildScreenSaverLibrary + #ifndef SharedLibXss diff --git a/x11-servers/xorg-server/files/patch-Xserver-Imakefile b/x11-servers/xorg-server/files/patch-Xserver-Imakefile new file mode 100644 index 000000000..5dab87bd4 --- /dev/null +++ b/x11-servers/xorg-server/files/patch-Xserver-Imakefile @@ -0,0 +1,8 @@ +--- programs/Xserver/Imakefile.orig Sat May 29 14:12:45 2004 ++++ programs/Xserver/Imakefile Sat May 29 14:12:16 2004 +@@ -1095,5 +1095,3 @@ + + DEFAULTFONTPATH = DefaultFontPath + EXTRAMANDEFS = -D__default_font_path__="`echo $(DEFAULTFONTPATH) | sed -e 's/,/, /g'`" +- +-InstallManPage(Xserver,$(MANDIR)) diff --git a/x11-servers/xorg-server/files/patch-Xserver-Xext-xvmc.c b/x11-servers/xorg-server/files/patch-Xserver-Xext-xvmc.c new file mode 100644 index 000000000..6a9380e45 --- /dev/null +++ b/x11-servers/xorg-server/files/patch-Xserver-Xext-xvmc.c @@ -0,0 +1,14 @@ +Index: programs/Xserver/Xext/xvmc.c +diff -u -p programs/Xserver/Xext/xvmc.c.orig programs/Xserver/Xext/xvmc.c +--- programs/Xserver/Xext/xvmc.c.orig Sun Jul 3 17:53:36 2005 ++++ programs/Xserver/Xext/xvmc.c Thu Jan 26 14:22:20 2006 +@@ -24,8 +24,8 @@ + + #ifdef HAS_XVMCSHM + #ifndef Lynx +-#include <sys/ipc.h> + #include <sys/types.h> ++#include <sys/ipc.h> + #include <sys/shm.h> + #else + #include <ipc.h> diff --git a/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-common-xf86Config.c b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-common-xf86Config.c new file mode 100644 index 000000000..129b262f1 --- /dev/null +++ b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-common-xf86Config.c @@ -0,0 +1,18 @@ +Index: programs/Xserver/hw/xfree86/common/xf86Config.c +diff -u -p programs/Xserver/hw/xfree86/common/xf86Config.c.orig programs/Xserver/hw/xfree86/common/xf86Config.c +--- programs/Xserver/hw/xfree86/common/xf86Config.c.orig Wed Dec 21 07:30:50 2005 ++++ programs/Xserver/hw/xfree86/common/xf86Config.c Thu Jan 26 15:10:39 2006 +@@ -505,8 +505,12 @@ GenerateDriverlist(char * dirname, char + { + #ifdef XFree86LOADER + char **ret; +- char *subdirs[] = { dirname, NULL }; ++ char *subdirs[2]; + static const char *patlist[] = {"(.*)_drv\\.so", "(.*)_drv\\.o", NULL}; ++ ++ subdirs[0] = dirname; ++ subdirs[1] = NULL; ++ + ret = LoaderListDirs(subdirs, patlist); + + /* fix up the probe order for video drivers */ diff --git a/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-bsd-i386_video.c b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-bsd-i386_video.c new file mode 100644 index 000000000..8fc64d32f --- /dev/null +++ b/x11-servers/xorg-server/files/patch-Xserver-hw-xfree86-os-support-bsd-i386_video.c @@ -0,0 +1,12 @@ +Index: programs/Xserver/hw/xfree86/os-support/bsd/i386_video.c +diff -u -p programs/Xserver/hw/xfree86/os-support/bsd/i386_video.c.orig programs/Xserver/hw/xfree86/os-support/bsd/i386_video.c +--- programs/Xserver/hw/xfree86/os-support/bsd/i386_video.c.orig Tue Oct 4 01:46:14 2005 ++++ programs/Xserver/hw/xfree86/os-support/bsd/i386_video.c Thu Jan 26 14:57:56 2006 +@@ -35,6 +35,7 @@ + #include "xf86Priv.h" + + #include <errno.h> ++#include <sys/types.h> + #include <sys/mman.h> + + #ifdef HAS_MTRR_SUPPORT diff --git a/x11-servers/xorg-server/files/patch-Xserver-os-xprintf.c b/x11-servers/xorg-server/files/patch-Xserver-os-xprintf.c new file mode 100644 index 000000000..d8f304d15 --- /dev/null +++ b/x11-servers/xorg-server/files/patch-Xserver-os-xprintf.c @@ -0,0 +1,13 @@ +Index: programs/Xserver/os/xprintf.c +diff -u -p programs/Xserver/os/xprintf.c.orig programs/Xserver/os/xprintf.c +--- programs/Xserver/os/xprintf.c.orig Sun Jul 3 17:53:52 2005 ++++ programs/Xserver/os/xprintf.c Thu Jan 26 12:47:37 2006 +@@ -39,7 +39,7 @@ + # ifdef __va_copy + # define va_copy __va_copy + # else +-# error "no working va_copy was found" ++# define va_copy(dest, src) ((dest) = (src)) + # endif + #endif + diff --git a/x11-servers/xorg-server/files/patch-bsdResource.c b/x11-servers/xorg-server/files/patch-bsdResource.c new file mode 100644 index 000000000..e031b2681 --- /dev/null +++ b/x11-servers/xorg-server/files/patch-bsdResource.c @@ -0,0 +1,68 @@ +--- programs/Xserver/hw/xfree86/os-support/bsd/bsdResource.c.orig Fri Apr 23 21:54:07 2004 ++++ programs/Xserver/hw/xfree86/os-support/bsd/bsdResource.c Tue May 17 00:48:36 2005 +@@ -18,7 +18,7 @@ + + #ifdef INCLUDE_XF86_NO_DOMAIN + +-#if defined(__alpha__) || defined(__sparc64__) || defined(__amd64__) ++#if defined(__alpha__) || defined(__amd64__) + + resPtr + xf86BusAccWindowsFromOS(void) +@@ -112,7 +112,7 @@ + return ret; + } + +-#elif defined(__powerpc__) ++#elif defined(__powerpc__) || defined(__sparc__) || defined(__sparc64__) + + resPtr + xf86BusAccWindowsFromOS(void) +@@ -123,7 +123,11 @@ + RANGE(range, 0x00000000, 0xffffffff, ResExcMemBlock); + ret = xf86AddResToList(ret, &range, -1); + ++#if defined(__sparc__) || defined(__sparc64__) ++ RANGE(range, 0x00000000, 0x00ffffff, ResExcIoBlock); ++#else + RANGE(range, 0x00000000, 0x0000ffff, ResExcIoBlock); ++#endif + ret = xf86AddResToList(ret, &range, -1); + return ret; + } +@@ -137,7 +141,11 @@ + RANGE(range, 0x00000000, 0xffffffff, ResExcMemBlock); + ret = xf86AddResToList(ret, &range, -1); + ++#if defined(__sparc__) || defined(__sparc64__) ++ RANGE(range, 0x00000000, 0x00ffffff, ResExcIoBlock); ++#else + RANGE(range, 0x00000000, 0x0000ffff, ResExcIoBlock); ++#endif + ret = xf86AddResToList(ret, &range, -1); + return ret; + } +@@ -153,7 +161,11 @@ + RANGE(range, 0x00000000, 0xffffffff, ResExcMemBlock); + ret = xf86AddResToList(ret, &range, -1); + ++#if defined(__sparc__) || defined(__sparc64__) ++ RANGE(range, 0x00000000, 0x00ffffff, ResExcIoBlock); ++#else + RANGE(range, 0x00000000, 0x0000ffff, ResExcIoBlock); ++#endif + ret = xf86AddResToList(ret, &range, -1); + return ret; + } +@@ -175,7 +187,11 @@ + ret = xf86AddResToList(ret, &range, -1); + RANGE(range, 0x00000000, 0x00000000, ResExcIoBlock); + ret = xf86AddResToList(ret, &range, -1); ++#if defined(__sparc__) || defined(__sparc64__) ++ RANGE(range, 0x00ffffff, 0x00ffffff, ResExcIoBlock); ++#else + RANGE(range, 0x0000ffff, 0x0000ffff, ResExcIoBlock); ++#endif + ret = xf86AddResToList(ret, &range, -1); + + return ret; diff --git a/x11-servers/xorg-server/files/patch-font-FreeType-ftfuncs.c b/x11-servers/xorg-server/files/patch-font-FreeType-ftfuncs.c new file mode 100644 index 000000000..68e18f831 --- /dev/null +++ b/x11-servers/xorg-server/files/patch-font-FreeType-ftfuncs.c @@ -0,0 +1,231 @@ +--- lib/font/FreeType/ftfuncs.c.orig 2005-10-23 19:32:05.000000000 +0100 ++++ lib/font/FreeType/ftfuncs.c 2006-06-01 23:21:34.000000000 +0100 +@@ -54,10 +54,7 @@ + #include FT_TYPE1_TABLES_H + #include FT_XFREE86_H + #include FT_BBOX_H +-#include FT_INTERNAL_TRUETYPE_TYPES_H + #include FT_TRUETYPE_TAGS_H +-#include FT_INTERNAL_SFNT_H +-#include FT_INTERNAL_STREAM_H + /* + * If you want to use FT_Outline_Get_CBox instead of + * FT_Outline_Get_BBox, define here. +@@ -123,6 +120,46 @@ + }; + + ++/* read 2-byte value from a SFNT table */ ++static FT_UShort ++sfnt_get_ushort( FT_Face face, ++ FT_ULong table_tag, ++ FT_ULong table_offset ) ++{ ++ FT_Byte buff[2]; ++ FT_ULong len = sizeof(buff); ++ FT_UShort result = 0; ++ ++ if ( !FT_Load_Sfnt_Table( face, table_tag, table_offset, buff, &len ) ); ++ result = (FT_UShort)( (buff[0] << 8) | buff[1] ); ++ ++ return result; ++} ++ ++#define sfnt_get_short(f,t,o) ((FT_Short)sfnt_get_ushort((f),(t),(o))) ++ ++ ++#if 0 ++static FT_ULong ++sfnt_get_ulong( FT_Face face, ++ FT_ULong table_tag, ++ FT_ULong table_offset ) ++{ ++ FT_Byte buff[4]; ++ FT_ULong len = sizeof(buff); ++ FT_UShort result = 0; ++ ++ if ( !FT_Load_Sfnt_Table( face, table_tag, table_offset, buff, &len ); ++ result = ((FT_ULong)buff[0] << 24) | ((FT_ULong)buff[1] << 16) | ++ ((FT_ULong)buff[2] << 8) | (FT_ULong)buff[3]; ++ ++ return result; ++} ++#endif ++ ++ ++ ++ + static int ftypeInitP = 0; /* is the engine initialised? */ + FT_Library ftypeLibrary; + +@@ -211,6 +248,10 @@ + if(maxp && maxp->maxContours == 0) + face->bitmap = 1; + } ++ ++ face->num_hmetrics = (FT_UInt) sfnt_get_ushort( face->face, ++ TTAG_hhea, 34 ); ++ + /* Insert face in hashtable and return it */ + face->next = faceTable[bucket]; + faceTable[bucket] = face; +@@ -462,6 +503,29 @@ + } + + if( FT_IS_SFNT( face->face ) ) { ++#if 1 ++ FT_F26Dot6 tt_char_width, tt_char_height, tt_dim_x, tt_dim_y; ++ FT_UInt nn; ++ ++ instance->strike_index=0xFFFFU; ++ ++ tt_char_width = (int)(trans->scale*(1<<6) + 0.5); ++ tt_char_height = (int)(trans->scale*(1<<6) + 0.5); ++ ++ tt_dim_x = ( ( tt_char_width * trans->xres + (36+32*72) ) / 72 ) & -64; ++ tt_dim_y = ( ( tt_char_height * trans->yres + (36+32*72) ) / 72 ) & -64; ++ ++ for ( nn = 0; nn < face->face->num_fixed_sizes; nn++ ) ++ { ++ FT_Bitmap_Size* sz = &face->face->available_sizes[nn]; ++ ++ if ( tt_dim_x == sz->x_ppem && tt_dim_y == sz->y_ppem ) ++ { ++ instance->strike_index = nn; ++ break; ++ } ++ } ++#else + /* See Set_Char_Sizes() in ttdriver.c */ + FT_Error err; + TT_Face tt_face; +@@ -486,6 +550,7 @@ + sfnt = (SFNT_Service)tt_face->sfnt; + err = sfnt->set_sbit_strike(tt_face,tt_x_ppem,tt_y_ppem,&instance->strike_index); + if ( err ) instance->strike_index=0xFFFFU; ++#endif + } + + /* maintain a linked list of instances */ +@@ -803,31 +868,36 @@ + * parse the htmx field in TrueType font. + */ + +-/* from src/truetype/ttgload.c */ + static void +-tt_get_metrics( TT_HoriHeader* header, ++tt_get_metrics( FT_Face face, + FT_UInt idx, ++ FT_UInt num_hmetrics, + FT_Short* bearing, + FT_UShort* advance ) +-/* Copyright 1996-2001, 2002 by */ +-/* David Turner, Robert Wilhelm, and Werner Lemberg. */ + { +- TT_LongMetrics longs_m; +- FT_UShort k = header->number_Of_HMetrics; ++ /* read the metrics directly from the horizontal header, we ++ * parse the SFNT table directly through the standard FreeType API. ++ * this works with any version of the library and doesn't need to ++ * peek at its internals. Maybe a bit less ++ */ ++ FT_UInt count = num_hmetrics; + +- if ( k == 0 ) { +- *bearing = *advance = 0; +- return; ++ if ( count == 0 ) ++ { ++ *advance = 0; ++ *bearing = 0; + } ++ else if ( idx < count ) ++ { ++ FT_ULong offset = idx*4; + +- if ( idx < (FT_UInt)k ) { +- longs_m = (TT_LongMetrics )header->long_metrics + idx; +- *bearing = longs_m->bearing; +- *advance = longs_m->advance; ++ *advance = sfnt_get_ushort( face, TTAG_hmtx, offset ); ++ *bearing = sfnt_get_short ( face, TTAG_hmtx, offset+2 ); + } +- else { +- *bearing = ((TT_ShortMetrics*)header->short_metrics)[idx - k]; +- *advance = ((TT_LongMetrics )header->long_metrics)[k - 1].advance; ++ else ++ { ++ *advance = sfnt_get_ushort( face, TTAG_hmtx, (count-1)*4 ); ++ *bearing = sfnt_get_short ( face, TTAG_hmtx, (count+idx)*2 ); + } + } + +@@ -835,6 +905,7 @@ + ft_get_very_lazy_bbox( FT_UInt index, + FT_Face face, + FT_Size size, ++ FT_UInt num_hmetrics, + double slant, + FT_Matrix *matrix, + FT_BBox *bbox, +@@ -842,14 +913,13 @@ + FT_Long *vertAdvance) + { + if ( FT_IS_SFNT( face ) ) { +- TT_Face ttface = (TT_Face)face; + FT_Size_Metrics *smetrics = &size->metrics; + FT_Short leftBearing = 0; + FT_UShort advance = 0; + FT_Vector p0, p1, p2, p3; + + /* horizontal */ +- tt_get_metrics(&ttface->horizontal, index, ++ tt_get_metrics( face, num_hmetrics, index, + &leftBearing, &advance); + + #if 0 +@@ -910,7 +980,27 @@ + FT_UShort glyph_index, FT_Glyph_Metrics *metrics_return, + int *sbitchk_incomplete_but_exist ) + { +-#if (FREETYPE_VERSION >= 2001008) ++#if 1 ++ if ( strike_index != 0xFFFFU && ft_face->available_sizes != 0) ++ { ++ FT_Error error; ++ FT_Bitmap_Size* sz = &ft_face->available_sizes[strike_index]; ++ ++ error = FT_Set_Pixel_Sizes( ft_face, sz->x_ppem/64, sz->y_ppem/64 ); ++ if ( !error ) ++ { ++ error = FT_Load_Glyph( ft_face, glyph_index, FT_LOAD_SBITS_ONLY ); ++ if ( !error ) ++ { ++ if ( metrics_return != NULL ) ++ *metrics_return = ft_face->glyph->metrics; ++ ++ return 0; ++ } ++ } ++ } ++ return -1; ++#elif (FREETYPE_VERSION >= 2001008) + SFNT_Service sfnt; + TT_Face face; + FT_Error error; +@@ -1043,6 +1133,7 @@ + if( bitmap_metrics == NULL ) { + if ( sbitchk_incomplete_but_exist==0 && (instance->ttcap.flags & TTCAP_IS_VERY_LAZY) ) { + if( ft_get_very_lazy_bbox( idx, face->face, instance->size, ++ face->num_hmetrics, + instance->ttcap.vl_slant, + &instance->transformation.matrix, + &bbox, &outline_hori_advance, +@@ -1221,6 +1312,7 @@ + if( is_outline == 1 ){ + if( correct ){ + if( ft_get_very_lazy_bbox( idx, face->face, instance->size, ++ face->num_hmetrics, + instance->ttcap.vl_slant, + &instance->transformation.matrix, + &bbox, &outline_hori_advance, diff --git a/x11-servers/xorg-server/files/patch-font-FreeType-ftfuncs.h b/x11-servers/xorg-server/files/patch-font-FreeType-ftfuncs.h new file mode 100644 index 000000000..925263c00 --- /dev/null +++ b/x11-servers/xorg-server/files/patch-font-FreeType-ftfuncs.h @@ -0,0 +1,12 @@ +$NetBSD: patch-bj,v 1.3 2006/06/01 22:44:09 tron Exp $ + +--- lib/font/FreeType/ftfuncs.h.orig 2005-07-07 15:59:47.000000000 +0100 ++++ lib/font/FreeType/ftfuncs.h 2006-06-01 23:21:39.000000000 +0100 +@@ -47,6 +47,7 @@ + char *filename; + FT_Face face; + int bitmap; ++ FT_UInt num_hmetrics; + struct _FTInstance *instances; + struct _FTInstance *active_instance; + struct _FTFace *next; /* link to next face in bucket */ diff --git a/x11-servers/xorg-server/files/patch-font-FreeType-ftsystem.c b/x11-servers/xorg-server/files/patch-font-FreeType-ftsystem.c new file mode 100644 index 000000000..df7c97dce --- /dev/null +++ b/x11-servers/xorg-server/files/patch-font-FreeType-ftsystem.c @@ -0,0 +1,12 @@ +$NetBSD: patch-bk,v 1.3 2006/06/01 22:44:09 tron Exp $ + +--- lib/font/FreeType/ftsystem.c.orig 2005-07-09 07:36:10.000000000 +0100 ++++ lib/font/FreeType/ftsystem.c 2006-06-01 23:21:53.000000000 +0100 +@@ -35,7 +35,6 @@ + #endif + #include <ft2build.h> + #include FT_CONFIG_CONFIG_H +-#include FT_INTERNAL_DEBUG_H + #include FT_SYSTEM_H + #include FT_ERRORS_H + #include FT_TYPES_H diff --git a/x11-servers/xorg-server/files/patch-font-bitmap-pcfread.c b/x11-servers/xorg-server/files/patch-font-bitmap-pcfread.c new file mode 100644 index 000000000..c676e1934 --- /dev/null +++ b/x11-servers/xorg-server/files/patch-font-bitmap-pcfread.c @@ -0,0 +1,101 @@ +--- lib/font/bitmap/pcfread.c.orig Sat Jul 9 08:36:12 2005 ++++ lib/font/bitmap/pcfread.c Thu Aug 24 21:56:56 2006 +@@ -45,6 +45,7 @@ + #endif + + #include <stdarg.h> ++#include <stdint.h> + + void + pcfError(const char* message, ...) +@@ -133,6 +134,10 @@ + return (PCFTablePtr) NULL; + count = pcfGetLSB32(file); + if (IS_EOF(file)) return (PCFTablePtr) NULL; ++ if (count < 0 || count > INT32_MAX / sizeof(PCFTableRec)) { ++ pcfError("pcfReadTOC(): invalid file format\n"); ++ return NULL; ++ } + tables = (PCFTablePtr) xalloc(count * sizeof(PCFTableRec)); + if (!tables) { + pcfError("pcfReadTOC(): Couldn't allocate tables (%d*%d)\n", count, sizeof(PCFTableRec)); +@@ -252,6 +257,10 @@ + if (!PCF_FORMAT_MATCH(format, PCF_DEFAULT_FORMAT)) + goto Bail; + nprops = pcfGetINT32(file, format); ++ if (nprops <= 0 || nprops > INT32_MAX / sizeof(FontPropRec)) { ++ pcfError("pcfGetProperties(): invalid nprops value (%d)\n", nprops); ++ goto Bail; ++ } + if (IS_EOF(file)) goto Bail; + props = (FontPropPtr) xalloc(nprops * sizeof(FontPropRec)); + if (!props) { +@@ -267,6 +276,13 @@ + props[i].name = pcfGetINT32(file, format); + isStringProp[i] = pcfGetINT8(file, format); + props[i].value = pcfGetINT32(file, format); ++ if (props[i].name < 0 ++ || (isStringProp[i] != 0 && isStringProp[i] != 1) ++ || (isStringProp[i] && props[i].value < 0)) { ++ pcfError("pcfGetProperties(): invalid file format %d %d %d\n", ++ props[i].name, isStringProp[i], props[i].value); ++ goto Bail; ++ } + if (IS_EOF(file)) goto Bail; + } + /* pad the property array */ +@@ -282,6 +298,7 @@ + } + if (IS_EOF(file)) goto Bail; + string_size = pcfGetINT32(file, format); ++ if (string_size < 0) goto Bail; + if (IS_EOF(file)) goto Bail; + strings = (char *) xalloc(string_size); + if (!strings) { +@@ -422,6 +439,10 @@ + else + nmetrics = pcfGetINT16(file, format); + if (IS_EOF(file)) goto Bail; ++ if (nmetrics < 0 || nmetrics > INT32_MAX / sizeof(CharInfoRec)) { ++ pcfError("pcfReadFont(): invalid file format\n"); ++ goto Bail; ++ } + metrics = (CharInfoPtr) xalloc(nmetrics * sizeof(CharInfoRec)); + if (!metrics) { + pcfError("pcfReadFont(): Couldn't allocate metrics (%d*%d)\n", nmetrics, sizeof(CharInfoRec)); +@@ -447,7 +468,7 @@ + nbitmaps = pcfGetINT32(file, format); + if (nbitmaps != nmetrics || IS_EOF(file)) + goto Bail; +- ++ /* nmetrics is alreadt ok, so nbitmap also is */ + offsets = (CARD32 *) xalloc(nbitmaps * sizeof(CARD32)); + if (!offsets) { + pcfError("pcfReadFont(): Couldn't allocate offsets (%d*%d)\n", nbitmaps, sizeof(CARD32)); +@@ -461,6 +482,7 @@ + for (i = 0; i < GLYPHPADOPTIONS; i++) { + bitmapSizes[i] = pcfGetINT32(file, format); + if (IS_EOF(file)) goto Bail; ++ if (bitmapSizes[i] < 0) goto Bail; + } + + sizebitmaps = bitmapSizes[PCF_GLYPH_PAD_INDEX(format)]; +@@ -536,6 +558,7 @@ + if (IS_EOF(file)) goto Bail; + if (nink_metrics != nmetrics) + goto Bail; ++ /* nmetrics already checked */ + ink_metrics = (xCharInfo *) xalloc(nink_metrics * sizeof(xCharInfo)); + if (!ink_metrics) { + pcfError("pcfReadFont(): Couldn't allocate ink_metrics (%d*%d)\n", nink_metrics, sizeof(xCharInfo)); +@@ -809,6 +832,10 @@ + else + nmetrics = pcfGetINT16(file, format); + if (IS_EOF(file)) goto Bail; ++ if (nmetrics < 0 || nmetrics > INT32_MAX / sizeof(CharInfoRec)) { ++ pcfError("pmfReadFont(): invalid file format\n"); ++ goto Bail; ++ } + metrics = (CharInfoPtr) xalloc(nmetrics * sizeof(CharInfoRec)); + if (!metrics) { + pcfError("pmfReadFont(): Couldn't allocate metrics (%d*%d)\n", nmetrics, sizeof(CharInfoRec)); diff --git a/x11-servers/xorg-server/files/patch-mitri.c b/x11-servers/xorg-server/files/patch-mitri.c new file mode 100644 index 000000000..8c4ef0f57 --- /dev/null +++ b/x11-servers/xorg-server/files/patch-mitri.c @@ -0,0 +1,25 @@ +Index: render/mitri.c +=================================================================== +RCS file: /cvs/xorg/xserver/xorg/render/mitri.c,v +retrieving revision 1.5 +diff -u -r1.5 mitri.c +--- programs/Xserver/render/mitri.c 3 Jul 2005 07:02:08 -0000 1.5 ++++ programs/Xserver/render/mitri.c 18 Apr 2006 22:34:08 -0000 +@@ -145,7 +145,7 @@ + if (npoint < 3) + return; + ntri = npoint - 2; +- tris = ALLOCATE_LOCAL (ntri & sizeof (xTriangle)); ++ tris = ALLOCATE_LOCAL (ntri * sizeof (xTriangle)); + if (!tris) + return; + for (tri = tris; npoint >= 3; npoint--, points++, tri++) +@@ -177,7 +177,7 @@ + if (npoint < 3) + return; + ntri = npoint - 2; +- tris = ALLOCATE_LOCAL (ntri & sizeof (xTriangle)); ++ tris = ALLOCATE_LOCAL (ntri * sizeof (xTriangle)); + if (!tris) + return; + first = points++; diff --git a/x11-servers/xorg-server/files/patch-render.c b/x11-servers/xorg-server/files/patch-render.c new file mode 100644 index 000000000..2bcd61775 --- /dev/null +++ b/x11-servers/xorg-server/files/patch-render.c @@ -0,0 +1,11 @@ +--- programs/Xserver/render/render.c.orig Mon May 29 09:43:15 2006 ++++ programs/Xserver/render/render.c Mon May 29 09:45:02 2006 +@@ -1340,7 +1340,7 @@ + { + if (buffer + sizeof (GlyphSet) < end) + { +- memcpy(&gs, buffer, sizeof(GlyphSet)); ++ gs = *(CARD32 *) buffer; + glyphSet = (GlyphSetPtr) SecurityLookupIDByType (client, + gs, + GlyphSetType, diff --git a/x11-servers/xorg-server/files/patch-servermd.h b/x11-servers/xorg-server/files/patch-servermd.h new file mode 100644 index 000000000..4315d78de --- /dev/null +++ b/x11-servers/xorg-server/files/patch-servermd.h @@ -0,0 +1,11 @@ +--- programs/Xserver/include/servermd.h.orig Sun Jan 8 14:05:55 2006 ++++ programs/Xserver/include/servermd.h Sun Jan 8 14:06:22 2006 +@@ -216,7 +216,7 @@ + defined(__sparc__) || defined(__mc68000__) + + #if defined(__sparc) || defined(__sparc__) +-# if !defined(sparc) ++# if !defined(sparc) && !defined(__FreeBSD__) + # define sparc 1 + # endif + #endif diff --git a/x11-servers/xorg-server/files/patch-sunffb-nocfb b/x11-servers/xorg-server/files/patch-sunffb-nocfb new file mode 100644 index 000000000..934268ca4 --- /dev/null +++ b/x11-servers/xorg-server/files/patch-sunffb-nocfb @@ -0,0 +1,101 @@ +--- programs/Xserver/hw/xfree86/drivers/sunffb/ffb_accel.c.orig Fri Mar 31 00:22:07 2006 ++++ programs/Xserver/hw/xfree86/drivers/sunffb/ffb_accel.c Fri Mar 31 00:35:35 2006 +@@ -43,8 +43,6 @@ + #include "ffb_rcache.h" + #include "ffb_loops.h" + #include "ffb_regs.h" +-#include "ffb_stip.h" +-#include "ffb_gc.h" + + int CreatorScreenPrivateIndex; + int CreatorGCPrivateIndex; +--- programs/Xserver/hw/xfree86/drivers/sunffb/ffb_dga.c.orig Fri Mar 31 00:22:07 2006 ++++ programs/Xserver/hw/xfree86/drivers/sunffb/ffb_dga.c Fri Mar 31 00:36:08 2006 +@@ -36,7 +36,6 @@ + #include "ffb_regs.h" + #include "ffb_rcache.h" + #include "ffb_fifo.h" +-#include "ffb_stip.h" + #include "ffb_loops.h" + + static Bool FFB_OpenFramebuffer(ScrnInfoPtr, char **, unsigned char **, +--- programs/Xserver/hw/xfree86/drivers/sunffb/ffb_dri.c.orig Fri Mar 31 00:22:07 2006 ++++ programs/Xserver/hw/xfree86/drivers/sunffb/ffb_dri.c Fri Mar 31 00:37:04 2006 +@@ -33,11 +33,6 @@ + + #include "xf86PciInfo.h" + #include "xf86Pci.h" +-#define PSZ 8 +-#include "cfb.h" +-#undef PSZ +-#include "cfb16.h" +-#include "cfb32.h" + + #include "miline.h" + +--- programs/Xserver/hw/xfree86/drivers/sunffb/Imakefile.orig Fri Mar 31 00:22:07 2006 ++++ programs/Xserver/hw/xfree86/drivers/sunffb/Imakefile Fri Mar 31 00:34:27 2006 +@@ -60,16 +60,10 @@ + #define FFBsObjectRule(name) + #endif + +-SRCS = ffb_driver.c ffb_accel.c ffb_attr.c ffb_stip.c ffb_bcopy.c \ +- ffb_cplane.c ffb_fspans.c ffb_point.c ffb_seg.c ffb_plygon.c \ +- ffb_line.c ffb_glyph.c ffb_frect.c ffb_circle.c ffb_checks.c \ +- ffb_stubs.c ffb_gc.c ffb_gspans.c ffb_sspans.c ffb_zeroarc.c \ +- ffb_cursor.c ffb_dga.c ffb_dac.c ffb_wid.c ffb_dbe.c $(DRISRCS) +-OBJS = ffb_driver.o ffb_accel.o ffb_attr.o ffb_stip.o ffb_bcopy.o \ +- ffb_cplane.o ffb_fspans.o ffb_point.o ffb_seg.o ffb_plygon.o \ +- ffb_line.o ffb_glyph.o ffb_frect.o ffb_circle.o ffb_checks.o \ +- ffb_stubs.o ffb_gc.o ffb_gspans.o ffb_sspans.o ffb_zeroarc.o \ +- ffb_cursor.o ffb_dga.o ffb_dac.o ffb_wid.o ffb_dbe.o $(VISOBJS) \ ++SRCS = ffb_driver.c ffb_accel.c ffb_attr.c \ ++ ffb_cursor.c ffb_dga.c ffb_dac.c ffb_wid.c $(DRISRCS) ++OBJS = ffb_driver.o ffb_accel.o ffb_attr.o \ ++ ffb_cursor.o ffb_dga.o ffb_dac.o ffb_wid.o $(VISOBJS) \ + $(DRIOBJS) + + #if defined(XF86DriverSDK) +@@ -107,28 +101,10 @@ + FFBCObjectRule(ffb_accel) + FFBCObjectRule(ffb_driver) + FFBCObjectRule(ffb_attr) +-FFBCObjectRule(ffb_stip) +-FFBCObjectRule(ffb_bcopy) +-FFBCObjectRule(ffb_cplane) +-FFBCObjectRule(ffb_fspans) +-FFBCObjectRule(ffb_point) +-FFBCObjectRule(ffb_seg) +-FFBCObjectRule(ffb_plygon) +-FFBCObjectRule(ffb_line) +-FFBCObjectRule(ffb_glyph) +-FFBCObjectRule(ffb_frect) +-FFBCObjectRule(ffb_circle) +-FFBCObjectRule(ffb_checks) +-FFBCObjectRule(ffb_stubs) +-FFBCObjectRule(ffb_gc) +-FFBCObjectRule(ffb_gspans) +-FFBCObjectRule(ffb_sspans) +-FFBCObjectRule(ffb_zeroarc) + FFBCObjectRule(ffb_cursor) + FFBCObjectRule(ffb_dga) + FFBCObjectRule(ffb_dac) + FFBCObjectRule(ffb_wid) +-FFBCObjectRule(ffb_dbe) + FFBsObjectRule(VISmoveImage) + FFBsObjectRule(ffb_asm) + #if BuildXF86DRI +--- programs/Xserver/hw/xfree86/drivers/sunffb/ffb_driver.c.orig Wed Apr 19 13:13:47 2006 ++++ programs/Xserver/hw/xfree86/drivers/sunffb/ffb_driver.c Wed Apr 19 13:14:25 2006 +@@ -411,11 +411,6 @@ + xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Acceleration disabled\n"); + } + +- if (xf86LoadSubModule(pScrn, "xf8_32wid") == NULL) { +- FFBFreeRec(pScrn); +- return FALSE; +- } +- + if (xf86LoadSubModule(pScrn, "fb") == NULL) { + FFBFreeRec(pScrn); + return FALSE; diff --git a/x11-servers/xorg-server/files/patch-xf86.tmpl b/x11-servers/xorg-server/files/patch-xf86.tmpl new file mode 100644 index 000000000..3bf0b443d --- /dev/null +++ b/x11-servers/xorg-server/files/patch-xf86.tmpl @@ -0,0 +1,12 @@ +--- config/cf/xf86.tmpl.orig Tue Dec 17 04:21:38 2002 ++++ config/cf/xf86.tmpl Thu Jan 2 14:10:44 2003 +@@ -19,6 +19,9 @@ + #ifdef UseInstalled + IMAKE_CMD = $(IMAKE) -DUseInstalled -I$(TOP) -I$(IRULESRC) \ + $(IMAKE_DEFINES) $(IMAKE_WARNINGS) ++#elif UseInstalledPrograms ++ IMAKE_CMD = $(IMAKE) -I$(TOP) -I$(IRULESRC) \ ++ $(IMAKE_DEFINES) $(IMAKE_WARNINGS) + #else + IMAKE_CMD = $(IMAKE) -I$(TOP) -I$(IRULESRC) \ + $(IMAKE_DEFINES) $(IMAKE_WARNINGS) diff --git a/x11-servers/xorg-server/files/patch-xf86Events.c b/x11-servers/xorg-server/files/patch-xf86Events.c new file mode 100644 index 000000000..bdd5bc51c --- /dev/null +++ b/x11-servers/xorg-server/files/patch-xf86Events.c @@ -0,0 +1,76 @@ +--- programs/Xserver/hw/xfree86/common/xf86Events.c.orig Sun Sep 26 04:17:42 2004 ++++ programs/Xserver/hw/xfree86/common/xf86Events.c Sun Sep 26 04:17:25 2004 +@@ -448,7 +448,7 @@ + #if defined(SYSCONS_SUPPORT) || defined(PCVT_SUPPORT) || defined(WSCONS_SUPPORT) + static Bool first_time = TRUE; + #endif +-#if defined(__sparc__) && defined(__linux__) ++#if defined(__sparc__) && (defined(__linux__) || defined(__FreeBSD__)) + static int kbdSun = -1; + #endif + /* Disable any keyboard processing while in suspend */ +@@ -464,7 +464,7 @@ + } + #endif + +-#if defined (__sparc__) && defined(__linux__) ++#if defined(__sparc__) && (defined(__linux__) || defined(__FreeBSD__)) + if (kbdSun == -1) { + if ((xf86Info.xkbmodel && !strcmp(xf86Info.xkbmodel, "sun")) + || (xf86Info.xkbrules && !strcmp(xf86Info.xkbrules, "sun"))) +@@ -474,7 +474,7 @@ + } + if (kbdSun) + goto special; +-#endif /* __sparc__ && __linux__ */ ++#endif /* __sparc__ && (__linux__ || __FreeBSD__) */ + + #ifdef __linux__ + if (xf86Info.kbdCustomKeycodes) { +@@ -525,6 +525,7 @@ + } else + #endif /* i386 && SVR4 */ + { ++ if (!xf86IsPc98()) { + switch (scanCode) { + case 0x59: scanCode = KEY_0x59; break; + case 0x5a: scanCode = KEY_0x5A; break; +@@ -555,6 +556,7 @@ + case 0x75: scanCode = KEY_0x75; break; + case 0x76: scanCode = KEY_0x76; break; + } ++ } /* end if (!xf86IsPc98()) */ + } + } + +@@ -636,10 +638,12 @@ + * they need to get the same key code as the base key on the same + * physical keyboard key. + */ ++ if (!xf86IsPc98()) { + if (scanCode == KEY_SysReqest) + scanCode = KEY_Print; + else if (scanCode == KEY_Break) + scanCode = KEY_Pause; ++ } + #endif + + /* +@@ -676,7 +680,7 @@ + } + } + #endif +-#if defined (__sparc__) && defined(__linux__) ++#if defined(__sparc__) && (defined(__linux__) || defined(__FreeBSD__)) + special: + if (kbdSun) { + switch (scanCode) { +@@ -710,7 +714,7 @@ + */ + scanCode--; + } +-#endif /* defined (__sparc__) && defined(__linux__) */ ++#endif /* __sparc__ && (__linux__ || __FreeBSD__) */ + + #ifdef XKB + if ((xf86Info.ddxSpecialKeys == SKWhenNeeded && diff --git a/x11-servers/xorg-server/files/patch-xf86cfg-Imakefile b/x11-servers/xorg-server/files/patch-xf86cfg-Imakefile new file mode 100644 index 000000000..5728d915f --- /dev/null +++ b/x11-servers/xorg-server/files/patch-xf86cfg-Imakefile @@ -0,0 +1,11 @@ +--- programs/Xserver/hw/xfree86/xf86cfg/Imakefile.orig Sat Sep 11 15:11:04 2004 ++++ programs/Xserver/hw/xfree86/xf86cfg/Imakefile Sat Sep 11 15:11:07 2004 +@@ -25,6 +25,8 @@ + SNPRINTFOBJS = snprintf.o + #endif + ++XAWLIB = -lXaw ++ + SRCS =\ + accessx.c\ + card-cfg.c\ diff --git a/x11-servers/xorg-server/files/patch-xf86sym.c b/x11-servers/xorg-server/files/patch-xf86sym.c new file mode 100644 index 000000000..1372be144 --- /dev/null +++ b/x11-servers/xorg-server/files/patch-xf86sym.c @@ -0,0 +1,10 @@ +--- programs/Xserver/hw/xfree86/loader/xf86sym.c.orig Fri May 7 18:51:51 2004 ++++ programs/Xserver/hw/xfree86/loader/xf86sym.c Fri May 7 18:52:02 2004 +@@ -63,7 +63,6 @@ + #include "xf86.h" + #include "xf86Resources.h" + #include "xf86_OSproc.h" +-#include "xf86Parser.h" + #include "xf86Config.h" + #ifdef XINPUT + # include "xf86Xinput.h" diff --git a/x11-servers/xorg-server/files/patch-xorgconf.cpp b/x11-servers/xorg-server/files/patch-xorgconf.cpp new file mode 100644 index 000000000..e21fac8d8 --- /dev/null +++ b/x11-servers/xorg-server/files/patch-xorgconf.cpp @@ -0,0 +1,14 @@ +--- programs/Xserver/hw/xfree86/xorgconf.cpp.orig Fri Dec 31 14:40:27 2004 ++++ programs/Xserver/hw/xfree86/xorgconf.cpp Fri Dec 31 14:40:28 2004 +@@ -624,3 +624,11 @@ + InputDevice "Keyboard1" "CoreKeyboard" + EndSection + ++ ++XCOMM Two experimental extensions are available -- Composite and XEVIE. Uncomment ++XCOMM the section below to enable Composite. Many extensions can also be disabled ++XCOMM in this manner. ++ ++XCOMM Section "Extensions" ++XCOMM Option "Composite" "Enable" ++XCOMM EndSection |