]> gitweb @ CieloNegro.org - pkgsrc-xorg-server.git/commitdiff
The original wip/modular-xorg-server original
authorPHO <pho@cielonegro.org>
Sat, 28 Feb 2009 02:58:34 +0000 (11:58 +0900)
committerPHO <pho@cielonegro.org>
Sat, 28 Feb 2009 02:58:34 +0000 (11:58 +0900)
21 files changed:
.gitignore [new file with mode: 0644]
DESCR [new file with mode: 0644]
Makefile [new file with mode: 0644]
PLIST [new file with mode: 0644]
README [new file with mode: 0644]
buildlink3.mk [new file with mode: 0644]
distinfo [new file with mode: 0644]
files/modeline2c.awk [new file with mode: 0644]
files/patch-mesa [new file with mode: 0644]
files/prim_x86_gcc.h [new file with mode: 0644]
mesaconfig.mk [new file with mode: 0644]
options.mk [new file with mode: 0644]
patches/patch-ad [new file with mode: 0644]
patches/patch-ae [new file with mode: 0644]
patches/patch-af [new file with mode: 0644]
patches/patch-ag [new file with mode: 0644]
patches/patch-ah [new file with mode: 0644]
patches/patch-aj [new file with mode: 0644]
patches/patch-ak [new file with mode: 0644]
patches/patch-am [new file with mode: 0644]
patches/patch-an [new file with mode: 0644]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..7ac83b2
--- /dev/null
@@ -0,0 +1 @@
+CVS
diff --git a/DESCR b/DESCR
new file mode 100644 (file)
index 0000000..232af80
--- /dev/null
+++ b/DESCR
@@ -0,0 +1,2 @@
+The X.org X11 Server from the modularized source tree of
+X.org X11.
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..17ed2a7
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,145 @@
+# $NetBSD$
+
+DISTNAME=      xorg-server-1.4.2
+PKGNAME=       modular-${DISTNAME}
+PKGREVISION=   4
+CATEGORIES=    x11
+
+MASTER_SITES=  ${MASTER_SITE_XORG:=xserver/}
+EXTRACT_SUFX=  .tar.bz2
+
+PATCHFILES=            xserver-1.4.2-pkgsrc.patch
+PATCH_DIST_STRIP=      -p1
+SITES.xserver-1.4.2-pkgsrc.patch=\
+                       ftp://ftp.NetBSD.org/pub/NetBSD/misc/bjs/patchfiles/
+
+SPECIAL_PERMS+=                bin/Xorg ${SETUID_ROOT_PERMS}
+
+PKG_DESTDIR_SUPPORT=   user-destdir
+
+MAINTAINER=            bjs@NetBSD.org
+COMMENT=               Xorg X11 Server from modular X.org X11
+
+# XXX this package should be upgraded to 1.1.6, I think.
+BUILD_DEPENDS+=                xorg-util-macros>=1.1.5:../../devel/xorg-util-macros
+DEPENDS+=              xkbcomp-[0-9]*:../../x11/xkbcomp
+
+USE_LIBTOOL=           yes
+GNU_CONFIGURE=         yes
+PKGCONFIG_OVERRIDE+=   xorg-server.pc.in
+USE_TOOLS+=            gmake pkg-config autoconf automake
+
+BUILD_DEFS+=           VARBASE
+BUILD_DEFS_EFFECTS+=   XKB_OUTPUT_DIR
+
+OWN_DIRS+=             ${XKB_OUTPUT_DIR}
+XKB_OUTPUT_DIR?=       ${VARBASE}/db/xkb
+
+CONFIGURE_ARGS+=       --localstatedir=${VARBASE:Q}
+CONFIGURE_ARGS+=       --with-xkb-output=${XKB_OUTPUT_DIR:Q}
+
+WRKSRC=                        ${WRKDIR}/xorg-server-1.4.2
+
+.include "../../mk/bsd.prefs.mk"
+
+CONFIGURE_ARGS+=       --with-release-version=${PKGNAME}
+CONFIGURE_ARGS+=       --with-vendor-name="The NetBSD Foundation"
+CONFIGURE_ARGS+=       --with-vendor-name-short="pkgsrc"
+.if ${OPSYS} == "NetBSD"
+CONFIGURE_ARGS+=       --with-builder-addr="tech-x11@NetBSD.org"
+CONFIGURE_ARGS+=       --with-os-vendor="The NetBSD Foundation"
+.endif
+CONFIGURE_ARGS+=       --with-os-name=${MACHINE_PLATFORM}
+CONFIGURE_ARGS+=       --with-vendor-web="http://www.pkgsrc.org/"
+
+CONFIGURE_ARGS+=       --enable-xorg
+CONFIGURE_ARGS+=       --disable-config-hal
+CONFIGURE_ARGS+=       --disable-dmx
+CONFIGURE_ARGS+=       --disable-xprint
+CONFIGURE_ARGS+=       --disable-xwin
+CONFIGURE_ARGS+=       --disable-xephyr
+CONFIGURE_ARGS+=       --disable-kdrive
+CONFIGURE_ARGS+=       --disable-kdrive-vesa
+CONFIGURE_ARGS+=       --disable-xfake
+CONFIGURE_ARGS+=       --disable-xsdl
+CONFIGURE_ARGS+=       --disable-xfbdev
+CONFIGURE_ARGS+=       --disable-kbd_mode      # deprecated
+CONFIGURE_ARGS+=       --enable-builtin-fonts
+CONFIGURE_ARGS+=       --enable-dri
+
+CONFIGURE_ARGS+=       --with-int10=x86emu
+
+CONFIGURE_ENV+=                APP_MAN_SUFFIX=1 FILE_MAN_SUFFIX=5
+
+DEPENDS+=              xkeyboard-config-[0-9]*:../../x11/xkeyboard-config
+
+BUILDLINK_API_DEPENDS.compositeproto+= compositeproto>=0.4
+BUILDLINK_API_DEPENDS.fixesproto+=     fixesproto>=4.0
+BUILDLINK_API_DEPENDS.glproto+=                glproto>=1.4.8
+BUILDLINK_API_DEPENDS.kbproto+=                kbproto>=1.0.3
+BUILDLINK_API_DEPENDS.randrproto+=     randrproto>=1.2.1
+###
+### If we're using a 64-bit architecture, randrproto>=0.9.3 and
+### xf86dgaproto>=2.0.3 are required.
+###
+.if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "sparc64" || \
+    ${MACHINE_ARCH} == "alpha"
+BUILDLINK_API_DEPENDS.renderproto+=    renderproto>=0.9.3
+BUILDLINK_API_DEPENDS.xf86dgaproto+=   xf86dgaproto>=2.0.3
+.endif
+BUILDLINK_API_DEPENDS.inputproto+=     inputproto>=1.4.2
+
+post-extract: dri-post-extract
+       ${CP} ${FILESDIR}/modeline2c.awk ${WRKSRC}/hw/xfree86/common
+#      ${RM} -f ${WRKDIR}/Mesa-7.0.2/src/mesa/Makefile.orig
+#      ${RM} -f ${WRKDIR}/Mesa-7.0.2/docs/README.MINGW32.orig
+#      ${CP} ${FILESDIR}/prim_x86_gcc.h ${WRKSRC}/hw/xfree86/x86emu/x86emu/
+
+.include "options.mk"
+
+.include "../../devel/ncurses/buildlink3.mk"
+.include "../../devel/zlib/buildlink3.mk"
+.include "../../fonts/libfontenc/buildlink3.mk"
+.include "../../x11/bigreqsproto/buildlink3.mk"
+.include "../../x11/compositeproto/buildlink3.mk"
+.include "../../x11/damageproto/buildlink3.mk"
+.include "../../x11/evieext/buildlink3.mk"
+.include "../../x11/fixesproto/buildlink3.mk"
+.include "../../x11/fontsproto/buildlink3.mk"
+.include "../../x11/glproto/buildlink3.mk"
+.include "../../x11/inputproto/buildlink3.mk"
+.include "../../x11/libX11/buildlink3.mk"
+.include "../../x11/libXau/buildlink3.mk"
+.include "../../x11/libXaw/buildlink3.mk"
+.include "../../x11/libXext/buildlink3.mk"
+.include "../../x11/libXfixes/buildlink3.mk"
+.include "../../x11/libXfont/buildlink3.mk"
+.include "../../x11/libXt/buildlink3.mk"
+.include "../../x11/libXxf86misc/buildlink3.mk"
+.include "../../x11/libXxf86vm/buildlink3.mk"
+.include "../../x11/libdrm/buildlink3.mk"
+.include "../../x11/libxkbfile/buildlink3.mk"
+.include "../../x11/libxkbui/buildlink3.mk"
+.include "../../x11/pixman/buildlink3.mk"
+.include "../../x11/randrproto/buildlink3.mk"
+.include "../../x11/recordproto/buildlink3.mk"
+.include "../../x11/renderproto/buildlink3.mk"
+.include "../../x11/resourceproto/buildlink3.mk"
+.include "../../x11/scrnsaverproto/buildlink3.mk"
+.include "../../x11/trapproto/buildlink3.mk"
+.include "../../x11/videoproto/buildlink3.mk"
+.include "../../x11/xcmiscproto/buildlink3.mk"
+.include "../../x11/xextproto/buildlink3.mk"
+.include "../../x11/xf86bigfontproto/buildlink3.mk"
+.include "../../x11/xf86dgaproto/buildlink3.mk"
+.include "../../x11/xf86driproto/buildlink3.mk"
+.include "../../x11/xf86miscproto/buildlink3.mk"
+.include "../../x11/xf86vidmodeproto/buildlink3.mk"
+.include "../../x11/xineramaproto/buildlink3.mk"
+.include "../../x11/xproto/buildlink3.mk"
+.include "../../x11/xtrans/buildlink3.mk"
+
+pre-configure:
+       cd ${WRKSRC} && ${SETENV} ${CONFIGURE_ENV} autoreconf -v -i -f
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/PLIST b/PLIST
new file mode 100644 (file)
index 0000000..5e6d532
--- /dev/null
+++ b/PLIST
@@ -0,0 +1,237 @@
+@comment $NetBSD$
+bin/X
+bin/Xnest
+bin/Xorg
+bin/Xvfb
+bin/cvt
+bin/gtf
+bin/inb
+bin/inl
+bin/inw
+bin/ioport
+bin/outb
+bin/outl
+bin/outw
+bin/pcitweak
+bin/xorgconfig
+include/xorg/BT.h
+include/xorg/IBM.h
+include/xorg/TI.h
+include/xorg/XIstubs.h
+include/xorg/afb.h
+include/xorg/assyntax.h
+include/xorg/atKeynames.h
+include/xorg/bstore.h
+include/xorg/bstorestr.h
+include/xorg/bt829.h
+include/xorg/cfb.h
+include/xorg/cfb16.h
+include/xorg/cfb32.h
+include/xorg/cfb8_16.h
+include/xorg/cfb8_32.h
+include/xorg/cfbmap.h
+include/xorg/cfbmskbits.h
+include/xorg/cfbunmap.h
+include/xorg/closestr.h
+include/xorg/closure.h
+include/xorg/colormap.h
+include/xorg/colormapst.h
+include/xorg/compiler.h
+include/xorg/cursor.h
+include/xorg/cursorstr.h
+include/xorg/damage.h
+include/xorg/damagestr.h
+include/xorg/dbestruct.h
+include/xorg/dgaproc.h
+include/xorg/dix.h
+include/xorg/dixevents.h
+include/xorg/dixfont.h
+include/xorg/dixfontstr.h
+include/xorg/dixgrabs.h
+include/xorg/dixstruct.h
+include/xorg/dri.h
+include/xorg/dristruct.h
+include/xorg/edid.h
+include/xorg/exa.h
+include/xorg/exevents.h
+include/xorg/extension.h
+include/xorg/extinit.h
+include/xorg/extnsionst.h
+include/xorg/fb.h
+include/xorg/fbdevhw.h
+include/xorg/fboverlay.h
+include/xorg/fbpseudocolor.h
+include/xorg/fbrop.h
+include/xorg/fi1236.h
+include/xorg/fourcc.h
+include/xorg/gc.h
+include/xorg/gcstruct.h
+include/xorg/globals.h
+include/xorg/glyphstr.h
+include/xorg/hotplug.h
+include/xorg/i2c_def.h
+include/xorg/input.h
+include/xorg/inputstr.h
+include/xorg/mfb.h
+include/xorg/mfbmap.h
+include/xorg/mfbunmap.h
+include/xorg/mi.h
+include/xorg/mibank.h
+include/xorg/mibstore.h
+include/xorg/micmap.h
+include/xorg/micoord.h
+include/xorg/mifillarc.h
+include/xorg/mifpoly.h
+include/xorg/migc.h
+include/xorg/miline.h
+include/xorg/mipict.h
+include/xorg/mipointer.h
+include/xorg/mipointrst.h
+include/xorg/misc.h
+include/xorg/miscstruct.h
+include/xorg/mispans.h
+include/xorg/mistruct.h
+include/xorg/miwideline.h
+include/xorg/mizerarc.h
+include/xorg/msp3430.h
+include/xorg/opaque.h
+include/xorg/os.h
+include/xorg/picture.h
+include/xorg/picturestr.h
+include/xorg/pixmap.h
+include/xorg/pixmapstr.h
+include/xorg/property.h
+include/xorg/propertyst.h
+include/xorg/randrstr.h
+include/xorg/region.h
+include/xorg/regionstr.h
+include/xorg/renderedge.h
+include/xorg/resource.h
+include/xorg/rgb.h
+include/xorg/sarea.h
+include/xorg/screenint.h
+include/xorg/scrnintstr.h
+include/xorg/selection.h
+include/xorg/servermd.h
+include/xorg/shadow.h
+include/xorg/shadowfb.h
+include/xorg/site.h
+include/xorg/swaprep.h
+include/xorg/swapreq.h
+include/xorg/tda8425.h
+include/xorg/tda9850.h
+include/xorg/tda9885.h
+include/xorg/uda1380.h
+include/xorg/validate.h
+include/xorg/vbe.h
+include/xorg/vbeModes.h
+include/xorg/vgaHW.h
+include/xorg/wfbrename.h
+include/xorg/window.h
+include/xorg/windowstr.h
+include/xorg/xaa.h
+include/xorg/xaaWrapper.h
+include/xorg/xaalocal.h
+include/xorg/xaarop.h
+include/xorg/xf1bpp.h
+include/xorg/xf4bpp.h
+include/xorg/xf86.h
+include/xorg/xf86Crtc.h
+include/xorg/xf86Cursor.h
+include/xorg/xf86DDC.h
+include/xorg/xf86Modes.h
+include/xorg/xf86Module.h
+include/xorg/xf86OSmouse.h
+include/xorg/xf86Opt.h
+include/xorg/xf86Optrec.h
+include/xorg/xf86Parser.h
+include/xorg/xf86Pci.h
+include/xorg/xf86PciInfo.h
+include/xorg/xf86Priv.h
+include/xorg/xf86Privstr.h
+include/xorg/xf86RAC.h
+include/xorg/xf86RamDac.h
+include/xorg/xf86RandR12.h
+include/xorg/xf86Rename.h
+include/xorg/xf86Resources.h
+include/xorg/xf86Version.h
+include/xorg/xf86Xinput.h
+include/xorg/xf86_OSlib.h
+include/xorg/xf86_OSproc.h
+include/xorg/xf86_ansic.h
+include/xorg/xf86_libc.h
+include/xorg/xf86cmap.h
+include/xorg/xf86fbman.h
+include/xorg/xf86i2c.h
+include/xorg/xf86int10.h
+include/xorg/xf86sbusBus.h
+include/xorg/xf86str.h
+include/xorg/xf86xv.h
+include/xorg/xf86xvmc.h
+include/xorg/xf86xvpriv.h
+include/xorg/xisb.h
+include/xorg/xkbsrv.h
+include/xorg/xorg-server.h
+include/xorg/xorgVersion.h
+include/xorg/xvdix.h
+include/xorg/xvmcext.h
+lib/X11/Cards
+lib/X11/Options
+lib/libxf86config.la
+lib/pkgconfig/xorg-server.pc
+${PLIST.dri}lib/xorg/modules/extensions/libGLcore.la
+lib/xorg/modules/extensions/libdbe.la
+lib/xorg/modules/extensions/libdri.la
+lib/xorg/modules/extensions/libextmod.la
+${PLIST.dri}lib/xorg/modules/extensions/libglx.la
+lib/xorg/modules/extensions/librecord.la
+lib/xorg/modules/extensions/libxtrap.la
+lib/xorg/modules/fonts/libfreetype.la
+lib/xorg/modules/libafb.la
+lib/xorg/modules/libcfb.la
+lib/xorg/modules/libcfb32.la
+lib/xorg/modules/libexa.la
+lib/xorg/modules/libfb.la
+lib/xorg/modules/libint10.la
+lib/xorg/modules/libmfb.la
+lib/xorg/modules/libpcidata.la
+lib/xorg/modules/libshadow.la
+lib/xorg/modules/libshadowfb.la
+lib/xorg/modules/libvbe.la
+lib/xorg/modules/libvgahw.la
+lib/xorg/modules/libwfb.la
+lib/xorg/modules/libxaa.la
+lib/xorg/modules/libxf1bpp.la
+lib/xorg/modules/libxf4bpp.la
+lib/xorg/modules/libxf8_16bpp.la
+lib/xorg/modules/libxf8_32bpp.la
+lib/xorg/modules/linux/libfbdevhw.la
+lib/xorg/modules/multimedia/bt829_drv.la
+lib/xorg/modules/multimedia/fi1236_drv.la
+lib/xorg/modules/multimedia/msp3430_drv.la
+lib/xorg/modules/multimedia/tda8425_drv.la
+lib/xorg/modules/multimedia/tda9850_drv.la
+lib/xorg/modules/multimedia/tda9885_drv.la
+lib/xorg/modules/multimedia/uda1380_drv.la
+lib/xserver/SecurityPolicy
+man/man1/Xnest.1
+man/man1/Xorg.1
+man/man1/Xserver.1
+man/man1/Xvfb.1
+man/man1/cvt.1
+man/man1/gtf.1
+man/man1/pcitweak.1
+man/man1/xorgconfig.1
+man/man4/exa.4
+man/man4/fbdevhw.4
+man/man5/SecurityPolicy.5
+man/man5/xorg.conf.5
+share/aclocal/xorg-server.m4
+@dirrm lib/xserver
+@dirrm lib/xorg/modules/multimedia
+@dirrm lib/xorg/modules/linux
+@dirrm lib/xorg/modules/fonts
+@dirrm lib/xorg/modules/extensions
+@dirrm lib/xorg/modules
+@dirrm lib/xorg
+@dirrm include/xorg
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..7474d20
--- /dev/null
+++ b/README
@@ -0,0 +1,16 @@
+$NetBSD$
+
+ATTENTION NetBSD-current users (those with userland atomic ops):
+
+In order to achieve maximum benefits from this package, please
+apply the following patch for x11/libdrm, making sure to build
+graphics/MesaLib with the updated xf86drm.h.
+
+<ftp://ftp.NetBSD.org/pub/NetBSD/misc/bjs/patches/libdrm-atomic.diff>
+
+This will teach the [userland] dri drivers, mesa, and the X server's glxdri
+how to use atomic_cas_uint() for DRM_CAS.
+
+Also, if you're curious, you may try defining the MESA_EXECMEM_WIRED
+environment variable in your .xinitrc [or equivlent].  This will cause
+the heap used for glx/DRI in the X server and mesa to be wired down.
diff --git a/buildlink3.mk b/buildlink3.mk
new file mode 100644 (file)
index 0000000..59302bd
--- /dev/null
@@ -0,0 +1,30 @@
+# $NetBSD$
+
+BUILDLINK_DEPTH:=                      ${BUILDLINK_DEPTH}+
+MODULAR_XORG_SERVER_BUILDLINK3_MK:=    ${MODULAR_XORG_SERVER_BUILDLINK3_MK}+
+
+.if ${BUILDLINK_DEPTH} == "+"
+BUILDLINK_DEPENDS+=    modular-xorg-server
+.endif
+
+BUILDLINK_PACKAGES:=   ${BUILDLINK_PACKAGES:Nmodular-xorg-server}
+BUILDLINK_PACKAGES+=   modular-xorg-server
+BUILDLINK_ORDER:=      ${BUILDLINK_ORDER} ${BUILDLINK_DEPTH}modular-xorg-server
+
+.if ${MODULAR_XORG_SERVER_BUILDLINK3_MK} == "+"
+BUILDLINK_API_DEPENDS.modular-xorg-server+=    modular-xorg-server>=1.4
+BUILDLINK_PKGSRCDIR.modular-xorg-server?=      ../../wip/modular-xorg-server
+.endif # MODULAR_XORG_SERVER_BUILDLINK3_MK
+
+.include "../../x11/compositeproto/buildlink3.mk"
+.include "../../x11/fontsproto/buildlink3.mk"
+.include "../../x11/inputproto/buildlink3.mk"
+.include "../../x11/pixman/buildlink3.mk"
+.include "../../x11/randrproto/buildlink3.mk"
+.include "../../x11/renderproto/buildlink3.mk"
+.include "../../x11/videoproto/buildlink3.mk"
+.include "../../x11/xextproto/buildlink3.mk"
+.include "../../x11/xf86driproto/buildlink3.mk"
+.include "../../x11/xproto/buildlink3.mk"
+
+BUILDLINK_DEPTH:=                      ${BUILDLINK_DEPTH:S/+$//}
diff --git a/distinfo b/distinfo
new file mode 100644 (file)
index 0000000..88902d9
--- /dev/null
+++ b/distinfo
@@ -0,0 +1,20 @@
+$NetBSD$
+
+SHA1 (MesaLib-7.0.4.tar.bz2) = 7e2ecbe89d245510d2681d04e959aee6adc205c5
+RMD160 (MesaLib-7.0.4.tar.bz2) = 0394bb9e00ea13f2399bc5895d4264221bbc03ac
+Size (MesaLib-7.0.4.tar.bz2) = 3414357 bytes
+SHA1 (xorg-server-1.4.2.tar.bz2) = 385348721ecb6da4bc51a2b7ee5784de6be0a8b6
+RMD160 (xorg-server-1.4.2.tar.bz2) = 6f12b28d7e4186dfbdec3c9116c65e6831ed2e54
+Size (xorg-server-1.4.2.tar.bz2) = 6216638 bytes
+SHA1 (xserver-1.4.2-pkgsrc.patch) = 617278bfc0f530c3931261d046142faae2aab6aa
+RMD160 (xserver-1.4.2-pkgsrc.patch) = cf2ed873e830d8fa25e50f5b92fe3c438188a193
+Size (xserver-1.4.2-pkgsrc.patch) = 85205 bytes
+SHA1 (patch-ad) = 12062351308cf5950048bdc24ebbecc1208250b6
+SHA1 (patch-ae) = 1563548c823c43a38e3534d7c709705589edefff
+SHA1 (patch-af) = 2a5e199b7c75a6c26c33a5aca00e1744d7023b92
+SHA1 (patch-ag) = 93975b0c5da0534624951ff53d506efe59fb93e9
+SHA1 (patch-ah) = 699c289e2245a8ded47887fdcf5a66446669afb4
+SHA1 (patch-aj) = 05ded41f5d114b2d21bce2629999ea5758ae7e87
+SHA1 (patch-ak) = 20b62798fd6f4ea173f827a5e122cf95f4673983
+SHA1 (patch-am) = 0e7d01cbdd692b75256318a0309551f6e5d2f5ec
+SHA1 (patch-an) = 57f9b5413d0c48ac12343f9d75879a46bd334931
diff --git a/files/modeline2c.awk b/files/modeline2c.awk
new file mode 100644 (file)
index 0000000..7a89330
--- /dev/null
@@ -0,0 +1,97 @@
+#!/usr/bin/awk -f
+#
+# Copyright (c) 2007 Joerg Sonnenberger <joerg@NetBSD.org>.
+# All rights reserved.
+#
+# Based on Perl script by Dirk Hohndel.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in
+#    the documentation and/or other materials provided with the
+#    distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
+# FOR A PARTICULAR PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE
+# COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
+# INCIDENTAL, SPECIAL, EXEMPLARY OR CONSEQUENTIAL DAMAGES (INCLUDING,
+# BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
+# AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
+# OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# Usage: modeline2c.awk < modefile > xf86DefModes.c
+#
+
+BEGIN {
+       flagsdict[""] = "0"
+
+       flagsdict["+hsync +vsync"] = "V_PHSYNC | V_PVSYNC"
+       flagsdict["+hsync -vsync"] = "V_PHSYNC | V_NVSYNC"
+       flagsdict["-hsync +vsync"] = "V_NHSYNC | V_PVSYNC"
+       flagsdict["-hsync -vsync"] = "V_NHSYNC | V_NVSYNC"
+       flagsdict["+hsync +vsync interlace"] = "V_PHSYNC | V_PVSYNC | V_INTERLACE"
+       flagsdict["+hsync -vsync interlace"] = "V_PHSYNC | V_NVSYNC | V_INTERLACE"
+       flagsdict["-hsync +vsync interlace"] = "V_NHSYNC | V_PVSYNC | V_INTERLACE"
+       flagsdict["-hsync -vsync interlace"] = "V_NHSYNC | V_NVSYNC | V_INTERLACE"
+
+       print "/* $" "XFree86$ */"
+       print
+       print "/* THIS FILE IS AUTOMATICALLY GENERATED -- DO NOT EDIT -- LOOK at"
+       print " * modeline2c.awk */"
+       print ""
+       print "/*"
+       print " * Author: Joerg Sonnenberger <joerg@NetBSD.org>"
+       print " * Based on Perl script from Dirk Hohndel <hohndel@XFree86.Org>"
+       print " */"
+       print ""
+       print "#ifdef HAVE_XORG_CONFIG_H"
+       print "#include <xorg-config.h>"
+       print "#endif"
+       print ""
+       print "#ifdef __UNIXOS2__"
+       print "#define I_NEED_OS2_H"
+       print "#endif"
+       print "#include \"xf86.h\""
+       print "#include \"xf86Config.h\""
+       print "#include \"xf86Priv.h\""
+       print "#include \"xf86_OSlib.h\""
+       print ""
+       print "#include \"globals.h\""
+       print ""
+       print "#define MODEPREFIX(name) NULL, NULL, name, MODE_OK, M_T_DEFAULT"
+       print "#define MODESUFFIX       0,0, 0,0,0,0,0,0,0, 0,0,0,0,0,0,FALSE,FALSE,0,NULL,0,0.0,0.0"
+       print ""
+       print "DisplayModeRec xf86DefaultModes [] = {"
+
+       modeline = "\t{MODEPREFIX(\"%dx%d\"),%d, %d,%d,%d,%d,0, %d,%d,%d,%d,0, %s, MODESUFFIX},\n"
+       modeline_data = "^[a-zA-Z]+[ \t]+[^ \t]+[ \t0-9.]+"
+}
+
+/^[mM][oO][dD][eE][lL][iI][nN][eE]/ {
+       flags = $0
+       gsub(modeline_data, "", flags)
+       flags = tolower(flags)
+       printf(modeline, $4, $8, $3 * 1000, $4, $5, $6, $7,
+              $8, $9, $10, $11, flagsdict[flags])
+       # Half-width double scanned modes
+       printf(modeline, $4/2, $8/2, $3 * 500, $4/2, $5/2, $6/2, $7/2,
+              $8/2, $9/2, $10/2, $11/2, flagsdict[flags] " | V_DBLSCAN")
+}
+
+/^#/ {
+       print "/*" substr($0, 2) " */"
+}
+
+END {
+       printf("\t{MODEPREFIX(NULL),0,0,0,0,0,0,0,0,0,0,0,0,MODESUFFIX}\n};\n")
+}
diff --git a/files/patch-mesa b/files/patch-mesa
new file mode 100644 (file)
index 0000000..2e1a15b
--- /dev/null
@@ -0,0 +1,23 @@
+$NetBSD$
+
+--- ../Mesa-7.0.4/src/mesa/main/imports.h.orig 2008-06-24 14:27:44.000000000 -0400
++++ ../Mesa-7.0.4/src/mesa/main/imports.h
+@@ -292,7 +292,7 @@ static INLINE int GET_FLOAT_BITS( float 
+  *** LDEXPF: multiply value by an integral power of two
+  *** FREXPF: extract mantissa and exponent from value
+  ***/
+-#if defined(__gnu_linux__)
++#if defined(USE_NATIVE_LIBM_FUNCS)
+ /* C99 functions */
+ #define CEILF(x)   ceilf(x)
+ #define FLOORF(x)  floorf(x)
+@@ -515,7 +515,9 @@ static INLINE int iceil(float f)
+ /* Hardware default: All exceptions masked, extended double precision,
+  * round to nearest (IEEE compliant):
+  */
++#ifndef DEFAULT_X86_FPU
+ #define DEFAULT_X86_FPU               0x037f
++#endif
+ /* All exceptions masked, single precision, round to nearest:
+  */
+ #define FAST_X86_FPU          0x003f
diff --git a/files/prim_x86_gcc.h b/files/prim_x86_gcc.h
new file mode 100644 (file)
index 0000000..c085ddc
--- /dev/null
@@ -0,0 +1,79 @@
+/****************************************************************************
+*
+* Inline helpers for x86emu
+*
+* Copyright (C) 2008 Bart Trojanowski, Symbio Technologies, LLC
+*
+*  ========================================================================
+*
+*  Permission to use, copy, modify, distribute, and sell this software and
+*  its documentation for any purpose is hereby granted without fee,
+*  provided that the above copyright notice appear in all copies and that
+*  both that copyright notice and this permission notice appear in
+*  supporting documentation, and that the name of the authors not be used
+*  in advertising or publicity pertaining to distribution of the software
+*  without specific, written prior permission.  The authors makes no
+*  representations about the suitability of this software for any purpose.
+*  It is provided "as is" without express or implied warranty.
+*
+*  THE AUTHORS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
+*  INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
+*  EVENT SHALL THE AUTHORS BE LIABLE FOR ANY SPECIAL, INDIRECT OR
+*  CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF
+*  USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
+*  OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
+*  PERFORMANCE OF THIS SOFTWARE.
+*
+*  ========================================================================
+*
+* Language:     GNU C
+* Environment:  GCC on i386 or x86-64
+* Developer:    Bart Trojanowski
+*
+* Description:  This file defines a few x86 macros that can be used by the
+*               emulator to execute native instructions.
+*
+*               For PIC vs non-PIC code refer to:
+*               http://sam.zoy.org/blog/2007-04-13-shlib-with-non-pic-code-have-inline-assembly-and-pic-mix-well
+*
+****************************************************************************/
+#ifndef __X86EMU_PRIM_X86_GCC_H
+#define __X86EMU_PRIM_X86_GCC_H
+
+#include "x86emu/types.h"
+
+#if !defined(__GNUC__) || !(defined (__i386__) || defined(__i386) || defined(__AMD64__) || defined(__x86_64__) || defined(__amd64__))
+#error This file is intended to be used by gcc on i386 or x86-64 system
+#endif
+
+#if defined(__PIC__) && defined(__i386__)
+
+#define X86EMU_HAS_HW_CPUID 1
+static inline void hw_cpuid (u32 *a, u32 *b, u32 *c, u32 *d)
+{
+    __asm__ __volatile__ ("pushl %%ebx      \n\t"
+                          "cpuid            \n\t"
+                          "movl %%ebx, %1   \n\t"
+                          "popl %%ebx       \n\t"
+                          : "=a" (*a), "=r" (*b),
+                            "=c" (*c), "=d" (*d)
+                          : "a" (*a), "c" (*c)
+                          : "cc");
+}
+
+#else // ! (__PIC__ && __i386__)
+
+#define X86EMU_HAS_HW_CPUID 1
+static inline void hw_cpuid (u32 *a, u32 *b, u32 *c, u32 *d)
+{
+    __asm__ __volatile__ ("cpuid"
+                          : "=a" (*a), "=b" (*b),
+                            "=c" (*c), "=d" (*d)
+                          : "a" (*a), "c" (*c)
+                          : "cc");
+}
+
+#endif // __PIC__ && __i386__
+
+
+#endif // __X86EMU_PRIM_X86_GCC_H
diff --git a/mesaconfig.mk b/mesaconfig.mk
new file mode 100644 (file)
index 0000000..115601b
--- /dev/null
@@ -0,0 +1,31 @@
+# $NetBSD$
+###
+###
+### XXX This is the default heap size.  Would there be an occasion to
+### change it?  It seems large, so we should investigate further.
+###
+.include "../../mk/bsd.fast.prefs.mk"
+
+.if !empty(OPSYS:M*BSD) || ${OPSYS} == "Linux" || ${OPSYS} == "DragonFly"
+CFLAGS+=       -DUSE_NATIVE_LIBM_FUNCS
+.endif
+
+.if !empty(MACHINE_ARCH:Mi386)
+###
+### This is taken from <sys/arch/i386/include/npx.h>.  If we don't override
+### it, the FPU control word will be restored to 0x037f.
+###
+### Also, see patch-aq about the libm functions required (float functions
+### such as floorf).  Proper configuration of this should be a goal of
+### the Mesa developers; alas, it obviously is not.
+###
+### XXX We need a reliable check for these functions.
+###
+#/* NetBSD uses IEEE double precision. */
+CFLAGS.NetBSD+=                -DDEFAULT_X86_FPU=0x127f
+###
+###
+#/* FreeBSD leaves some exceptions unmasked as well. */
+###
+CFLAGS.FreeBSD+=       -DDEFAULT_x86_FPU=0x1272
+.endif
diff --git a/options.mk b/options.mk
new file mode 100644 (file)
index 0000000..8f405e5
--- /dev/null
@@ -0,0 +1,55 @@
+# $NetBSD: options.mk,v 1.2 2007/12/08 09:23:16 wiz Exp $
+
+PKG_OPTIONS_VAR=       PKG_OPTIONS.modular-xorg-server
+PKG_SUPPORTED_OPTIONS= dri inet6
+
+.include "../../mk/bsd.options.mk"
+
+PLIST_VARS+=           dri
+
+.if !empty(PKG_OPTIONS:Mdri)
+PLIST.dri=             yes
+.include "mesaconfig.mk"
+DISTFILES=             ${DEFAULT_DISTFILES}
+DISTFILES+=            MesaLib-7.0.4.tar.bz2
+_PKGSRC_PATCHES+=      ${FILESDIR}/patch-mesa # XXX is there a better way?
+SITES.MesaLib-7.0.4.tar.bz2=\
+                       ${MASTER_SITE_SOURCEFORGE:=mesa3d/}
+MESA_SRC=              ${WRKDIR}/Mesa-7.0.4
+CONFIGURE_ARGS+=       --enable-glx
+CONFIGURE_ARGS+=       --enable-aiglx
+CONFIGURE_ARGS+=       --with-mesa-source=${MESA_SRC}
+.if ${MACHINE_ARCH} == "x86_64" || ${MACHINE_ARCH} == "sparc64" || \
+    ${MACHINE_ARCH} == "alpha"
+GLX_DEFINES+=          -D__GLX_ALIGN64
+.endif
+CONFIGURE_ENV+=                GLX_DEFINES=${GLX_DEFINES:M*:Q}
+# glcore.h and dri_interface.h shipped with *proto are older than
+# those in Mesa-7.0.2. Either patch them or trick the build into using
+# the newer ones.
+#BUILDLINK_API_DEPENDS.glproto+= glproto>=1.4.8nb1
+#BUILDLINK_API_DEPENDS.xf86driproto+= xf86driproto>=2.0.3nb1
+###
+### XXX As of driproto-2.0.4 and glproto-1.4.9, this should not be needed.
+###
+dri-post-extract:
+       ${LN} -s ${MESA_SRC:Q}/include/GL ${WRKSRC:Q}/GL/glx/GL
+
+.else
+###
+### XXX Do we want this?
+###
+CONFIGURE_ARGS+=       --disable-glx
+
+dri-post-extract:
+       @${DO_NADA}
+
+# for GLX we already have the Mesa source
+.include "../../graphics/MesaLib/buildlink3.mk"
+.endif
+
+.if !empty(PKG_OPTIONS:Minet6)
+CONFIGURE_ARGS+=       --enable-ipv6
+.else
+CONFIGURE_ARGS+=       --disable-ipv6
+.endif
diff --git a/patches/patch-ad b/patches/patch-ad
new file mode 100644 (file)
index 0000000..84adf84
--- /dev/null
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- hw/xfree86/common/compiler.h.orig  2008-06-10 13:57:19.000000000 -0400
++++ hw/xfree86/common/compiler.h
+@@ -564,7 +564,7 @@ inl(unsigned short port)
+    return ret;
+ }
+-#   elif (defined(linux) || defined(Lynx) || defined(sun) || defined(__OpenBSD__) || defined(__FreeBSD__)) && defined(__sparc__)
++#   elif (defined(linux) || defined(Lynx) || defined(sun) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__NetBSD__)) && defined(__sparc__)
+ #    if !defined(Lynx)
+ #     ifndef ASI_PL
diff --git a/patches/patch-ae b/patches/patch-ae
new file mode 100644 (file)
index 0000000..57f0614
--- /dev/null
@@ -0,0 +1,22 @@
+$NetBSD$
+
+--- hw/xfree86/common/xf86Bus.c.orig   2008-06-10 13:57:19.000000000 -0400
++++ hw/xfree86/common/xf86Bus.c
+@@ -113,7 +113,7 @@ void
+ xf86BusProbe(void)
+ {
+     xf86PciProbe();
+-#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__)
++#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__) && !defined(__NetBSD__)
+     xf86SbusProbe();
+ #endif
+ }
+@@ -2382,7 +2382,7 @@ xf86PostProbe(void)
+     if (fbSlotClaimed) {
+         if (pciSlotClaimed || isaSlotClaimed 
+-#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__)
++#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__) && !defined(__NetBSD__)
+           || sbusSlotClaimed
+ #endif
+           ) { 
diff --git a/patches/patch-af b/patches/patch-af
new file mode 100644 (file)
index 0000000..fa7aa76
--- /dev/null
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- hw/xfree86/common/xf86Configure.c.orig     2008-06-10 13:57:19.000000000 -0400
++++ hw/xfree86/common/xf86Configure.c
+@@ -210,7 +210,7 @@ xf86AddBusDeviceToConfigure(const char *
+       NewDevice.GDev.identifier = "ISA Adapter";
+       NewDevice.GDev.busID = "ISA";
+       break;
+-#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__)
++#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__) && !defined(__NetBSD__)
+     case BUS_SBUS: {
+       char *promPath = NULL;
+       NewDevice.sVideo = (sbusDevicePtr) busData;
diff --git a/patches/patch-ag b/patches/patch-ag
new file mode 100644 (file)
index 0000000..2969a70
--- /dev/null
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- hw/xfree86/loader/xf86sym.c.orig   2008-06-10 13:57:19.000000000 -0400
++++ hw/xfree86/loader/xf86sym.c
+@@ -499,7 +499,7 @@ _X_HIDDEN void *xfree86LookupTab[] = {
+     SYMFUNC(xf86AddModuleInfo)
+     SYMFUNC(xf86DeleteModuleInfo)
+-#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__)
++#if (defined(__sparc__) || defined(__sparc)) && !defined(__OpenBSD__) && !defined(__NetBSD__)
+     /* xf86sbusBus.c */
+     SYMFUNC(xf86MatchSbusInstances)
+     SYMFUNC(xf86GetSbusInfoForEntity)
diff --git a/patches/patch-ah b/patches/patch-ah
new file mode 100644 (file)
index 0000000..ef72bf8
--- /dev/null
@@ -0,0 +1,13 @@
+$NetBSD$
+
+--- hw/xfree86/os-support/bus/xf86Sbus.h.orig  2008-06-06 06:03:10.000000000 -0400
++++ hw/xfree86/os-support/bus/xf86Sbus.h
+@@ -38,6 +38,8 @@
+ #include <sys/openpromio.h>
+ #elif defined(__OpenBSD__) && defined(__sparc64__)
+ /* XXX */
++#elif defined(__NetBSD__)
++/* XXX */
+ #elif defined(CSRG_BASED)
+ #if defined(__FreeBSD__)
+ #include <sys/types.h>
diff --git a/patches/patch-aj b/patches/patch-aj
new file mode 100644 (file)
index 0000000..4ef45b7
--- /dev/null
@@ -0,0 +1,33 @@
+$NetBSD$
+
+On Friday 04 July 2008, Joerg Sonnenberger wrote:
+> On Thu, Jul 03, 2008 at 07:52:31PM -0600, Sverre Froyen wrote:
+> > I've tracked the jumping cursor issue down to the function
+> > acceleratePointer in dix/getevents.c.
+>
+> All this issues in the past happened because some very smart guys
+> decided to do random broken things from signal context. Which is why
+> this is extremely hard to trace down.
+
+I still see the jumps in 1.4.2.  Perhaps my workaround (attached) could be 
+included until a proper fix is developed?
+
+--- dix/getevents.c.orig       2008-06-29 00:23:13.000000000 -0400
++++ dix/getevents.c
+@@ -613,9 +613,15 @@ GetPointerEvents(xEvent *events, DeviceI
+         clipAxis(pDev, 1, &y);
+     }
+     else {
+-        if (flags & POINTER_ACCELERATE)
++        if (flags & POINTER_ACCELERATE) {
++            int x_in;
++            if (num_valuators >= 1)
++                x_in = valuators[0];
+             acceleratePointer(pDev, first_valuator, num_valuators,
+                               valuators);
++            if (num_valuators >= 1 && valuators[0] < -3000)
++                valuators[0] = x_in;
++        }
+         if (pDev->coreEvents) {
+             /* Get and convert the core pointer coordinate space into
diff --git a/patches/patch-ak b/patches/patch-ak
new file mode 100644 (file)
index 0000000..e6cbd92
--- /dev/null
@@ -0,0 +1,16 @@
+$NetBSD$
+
+--- hw/xfree86/xorgconf.cpp.orig       2008-06-10 13:57:20.000000000 -0400
++++ hw/xfree86/xorgconf.cpp
+@@ -608,3 +608,11 @@ Section "ServerLayout"
+     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
diff --git a/patches/patch-am b/patches/patch-am
new file mode 100644 (file)
index 0000000..0b7e097
--- /dev/null
@@ -0,0 +1,15 @@
+$NetBSD: patch-ag,v 1.3 2007/08/14 21:34:37 joerg Exp $
+
+--- hw/xfree86/common/Makefile.am.orig 2008-08-02 04:52:04.000000000 -0400
++++ hw/xfree86/common/Makefile.am
+@@ -23,8 +23,8 @@ BUSSOURCES = xf86isaBus.c xf86pciBus.c x
+ MODEDEFSOURCES = $(srcdir)/vesamodes $(srcdir)/extramodes
+-xf86DefModeSet.c: $(srcdir)/modeline2c.pl $(MODEDEFSOURCES)
+-      cat $(MODEDEFSOURCES) | $(PERL) $(srcdir)/modeline2c.pl > $@
++xf86DefModeSet.c: $(srcdir)/modeline2c.awk $(MODEDEFSOURCES)
++      cat $(MODEDEFSOURCES) | $(AWK) -f $(srcdir)/modeline2c.awk > $@
+ BUILT_SOURCES = xf86DefModeSet.c
diff --git a/patches/patch-an b/patches/patch-an
new file mode 100644 (file)
index 0000000..e856d33
--- /dev/null
@@ -0,0 +1,15 @@
+$NetBSD: patch-ah,v 1.1 2007/08/14 21:34:37 joerg Exp $
+
+--- hw/xfree86/common/Makefile.in.orig 2008-06-11 10:31:17.000000000 -0400
++++ hw/xfree86/common/Makefile.in
+@@ -810,8 +810,8 @@ uninstall-am: uninstall-sdkHEADERS
+       tags uninstall uninstall-am uninstall-sdkHEADERS
+-xf86DefModeSet.c: $(srcdir)/modeline2c.pl $(MODEDEFSOURCES)
+-      cat $(MODEDEFSOURCES) | $(PERL) $(srcdir)/modeline2c.pl > $@
++xf86DefModeSet.c: $(srcdir)/modeline2c.awk $(MODEDEFSOURCES)
++      cat $(MODEDEFSOURCES) | $(AWK) -f $(srcdir)/modeline2c.awk > $@
+ # Tell versions [3.59,3.63) of GNU make to not export all variables.
+ # Otherwise a system limit (for SysV at least) may be exceeded.
+ .NOEXPORT: