summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonnie Berkholz <dberkholz@gentoo.org>2006-06-30 04:33:00 +0000
committerDonnie Berkholz <dberkholz@gentoo.org>2006-06-30 04:33:00 +0000
commit7f40ae86d89b35a320d876c4fd17d3c7fbdb22fe (patch)
treeeb64b6ec63c6f1848dc7ce290aa6695683423e6f /x11-base
parentFiltered out the assumed -mv8 use flag as it was removed in >=gcc-4.0.0 (diff)
downloadhistorical-7f40ae86d89b35a320d876c4fd17d3c7fbdb22fe.tar.gz
historical-7f40ae86d89b35a320d876c4fd17d3c7fbdb22fe.tar.bz2
historical-7f40ae86d89b35a320d876c4fd17d3c7fbdb22fe.zip
Fix dual-head.
Package-Manager: portage-2.1.1_pre1-r2
Diffstat (limited to 'x11-base')
-rw-r--r--x11-base/xorg-server/ChangeLog8
-rw-r--r--x11-base/xorg-server/Manifest19
-rw-r--r--x11-base/xorg-server/files/1.0.2-fix-rom-read-dualhead.patch116
-rw-r--r--x11-base/xorg-server/files/digest-xorg-server-1.0.2-r79
-rw-r--r--x11-base/xorg-server/xorg-server-1.0.2-r7.ebuild207
5 files changed, 354 insertions, 5 deletions
diff --git a/x11-base/xorg-server/ChangeLog b/x11-base/xorg-server/ChangeLog
index 89b9202f9d60..b4a37be3dd33 100644
--- a/x11-base/xorg-server/ChangeLog
+++ b/x11-base/xorg-server/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for x11-base/xorg-server
# Copyright 1999-2006 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/ChangeLog,v 1.132 2006/06/30 02:01:56 geoman Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/ChangeLog,v 1.133 2006/06/30 04:33:00 spyderous Exp $
+
+*xorg-server-1.0.2-r7 (30 Jun 2006)
+
+ 30 Jun 2006; Donnie Berkholz <spyderous@gentoo.org>;
+ +files/1.0.2-fix-rom-read-dualhead.patch, +xorg-server-1.0.2-r7.ebuild:
+ Fix dual-head.
30 Jun 2006; Stephen P. Becker <geoman@gentoo.org>
xorg-server-1.1.0-r1.ebuild:
diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest
index 530076133f50..8d08cc8c7325 100644
--- a/x11-base/xorg-server/Manifest
+++ b/x11-base/xorg-server/Manifest
@@ -6,6 +6,10 @@ AUX 1.0.2-fix-readKernelMapping-overrun.patch 468 RMD160 6d1f528b14df15b1ff6b658
MD5 a8fb013a42270146a12186aeb0651071 files/1.0.2-fix-readKernelMapping-overrun.patch 468
RMD160 6d1f528b14df15b1ff6b658ff611550c39014838 files/1.0.2-fix-readKernelMapping-overrun.patch 468
SHA256 28b0502d4e151813455a10a522488d1dddce8671492022433507ff61df277c12 files/1.0.2-fix-readKernelMapping-overrun.patch 468
+AUX 1.0.2-fix-rom-read-dualhead.patch 3344 RMD160 8e908ee65c4afdf78d8a8eb35af3a3d7f0288eca SHA1 fa406b2e5027e072d67f63c5b2193b5b0871e5cc SHA256 e7e10432b87a692a9d9e6a69299eaaff4b8ed150508f4df2b1342ee07fc5af5a
+MD5 bfe540b7dff88d33ed771535a7a1dc5b files/1.0.2-fix-rom-read-dualhead.patch 3344
+RMD160 8e908ee65c4afdf78d8a8eb35af3a3d7f0288eca files/1.0.2-fix-rom-read-dualhead.patch 3344
+SHA256 e7e10432b87a692a9d9e6a69299eaaff4b8ed150508f4df2b1342ee07fc5af5a files/1.0.2-fix-rom-read-dualhead.patch 3344
AUX 1.0.2-fix-xorgconfig-rgbpath-and-mouse.patch 2021 RMD160 5cffbd24fc7d3d817b050de268ce23e64ed83b5d SHA1 838913c520e5fa4a62a06afb9882e9117458e181 SHA256 6c32348b9c8460250b2600ae8672c5cadce4b5cca5577b9937a703afbfc57620
MD5 6d3ecb7a2b6736047a08447cda7f8ed6 files/1.0.2-fix-xorgconfig-rgbpath-and-mouse.patch 2021
RMD160 5cffbd24fc7d3d817b050de268ce23e64ed83b5d files/1.0.2-fix-xorgconfig-rgbpath-and-mouse.patch 2021
@@ -71,14 +75,18 @@ EBUILD xorg-server-1.0.2-r6.ebuild 6140 RMD160 48eb86bf38ce9029e33d20c504d0be6eb
MD5 65ebbfe3b11ecbc256d305d02aa215e7 xorg-server-1.0.2-r6.ebuild 6140
RMD160 48eb86bf38ce9029e33d20c504d0be6eb114ef0e xorg-server-1.0.2-r6.ebuild 6140
SHA256 3b10c1c7d6b1cac5b679baf1881107079d945c81c26e75a997ff3ae333ef019c xorg-server-1.0.2-r6.ebuild 6140
+EBUILD xorg-server-1.0.2-r7.ebuild 6187 RMD160 546cd232b59779a73be08a87cbe2ae4851cdf1b3 SHA1 cd4c5cb03a196501186500ea1c1cea1d2dfe7349 SHA256 b26d2196f00b7e640f5fd3a7cca47e31afc4a048505ffe5b8914e8c4c8930cec
+MD5 248595a1eded262db04cbfc02d64b9e3 xorg-server-1.0.2-r7.ebuild 6187
+RMD160 546cd232b59779a73be08a87cbe2ae4851cdf1b3 xorg-server-1.0.2-r7.ebuild 6187
+SHA256 b26d2196f00b7e640f5fd3a7cca47e31afc4a048505ffe5b8914e8c4c8930cec xorg-server-1.0.2-r7.ebuild 6187
EBUILD xorg-server-1.1.0-r1.ebuild 24126 RMD160 0fa524a061fd536e5dac47e84b5535ff52c0a7d4 SHA1 ae20032b4981bb7102d524697c27fefec38f3d8e SHA256 82bcba6e52f57f1345a1154eb8ce13d109e662be327a6e09bbe28fb15556f03b
MD5 3e3ef30169fe83b3b0b4a711d06b1aa1 xorg-server-1.1.0-r1.ebuild 24126
RMD160 0fa524a061fd536e5dac47e84b5535ff52c0a7d4 xorg-server-1.1.0-r1.ebuild 24126
SHA256 82bcba6e52f57f1345a1154eb8ce13d109e662be327a6e09bbe28fb15556f03b xorg-server-1.1.0-r1.ebuild 24126
-MISC ChangeLog 28677 RMD160 5786529792747ff1acc3e7fc3e9bdc524a7bd3cb SHA1 99a9ff19153b1ea79d987718d6c7652e002bb986 SHA256 0f216fc48c795b4ee71463b6307ec44b119a582f411b0f7ed2747a8813a644d3
-MD5 9c9c484585cc00543d45ed5c5eb6b529 ChangeLog 28677
-RMD160 5786529792747ff1acc3e7fc3e9bdc524a7bd3cb ChangeLog 28677
-SHA256 0f216fc48c795b4ee71463b6307ec44b119a582f411b0f7ed2747a8813a644d3 ChangeLog 28677
+MISC ChangeLog 28864 RMD160 8bc17fac09b7a497db2cf44af4c7c922546b5dd0 SHA1 0448b84799560f7a0e060526bfdc7f15e9e9910e SHA256 c29a59f32742ac5479ed63b6da58945f4ecf78accab2278fb32d6774d26765ae
+MD5 938257e46d5097b05f07607d762c24cb ChangeLog 28864
+RMD160 8bc17fac09b7a497db2cf44af4c7c922546b5dd0 ChangeLog 28864
+SHA256 c29a59f32742ac5479ed63b6da58945f4ecf78accab2278fb32d6774d26765ae ChangeLog 28864
MISC metadata.xml 156 RMD160 c1274bdccf57603d580de0075ba07a35b7509560 SHA1 6f78f604e3d079d39189b40aaaa1ddb06182ad91 SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055
MD5 a37bab73e2f24b213932c30997d3d360 metadata.xml 156
RMD160 c1274bdccf57603d580de0075ba07a35b7509560 metadata.xml 156
@@ -86,6 +94,9 @@ SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055 metadata
MD5 a36a121279d71c130aefdf8f84e432cf files/digest-xorg-server-1.0.2-r6 771
RMD160 1e76b7ca2a6430d0901f036dc90692bb1bf14546 files/digest-xorg-server-1.0.2-r6 771
SHA256 8d9ab78da2938d08246fae35c4f61a04a7b9932cd722a549707731c9d9a87ab8 files/digest-xorg-server-1.0.2-r6 771
+MD5 a36a121279d71c130aefdf8f84e432cf files/digest-xorg-server-1.0.2-r7 771
+RMD160 1e76b7ca2a6430d0901f036dc90692bb1bf14546 files/digest-xorg-server-1.0.2-r7 771
+SHA256 8d9ab78da2938d08246fae35c4f61a04a7b9932cd722a549707731c9d9a87ab8 files/digest-xorg-server-1.0.2-r7 771
MD5 0b4a5b66471e1dcc4176e5e3eac4e47f files/digest-xorg-server-1.1.0-r1 500
RMD160 5b942d1403fee2bf47c380017eed89ad1bf6121c files/digest-xorg-server-1.1.0-r1 500
SHA256 356da215b18f2bbfa4e1509d15d26e56ba0372f28390d3c1903375f6c2f7abae files/digest-xorg-server-1.1.0-r1 500
diff --git a/x11-base/xorg-server/files/1.0.2-fix-rom-read-dualhead.patch b/x11-base/xorg-server/files/1.0.2-fix-rom-read-dualhead.patch
new file mode 100644
index 000000000000..0dea68479b9b
--- /dev/null
+++ b/x11-base/xorg-server/files/1.0.2-fix-rom-read-dualhead.patch
@@ -0,0 +1,116 @@
+https://bugs.freedesktop.org/show_bug.cgi?id=6751
+
+X.org breaks on newer Linux kernels as it re-writes BARs behind the kernels back
+when attempting to read the ROMs, this causes crashes and hangs on dual-card
+systems.
+
+--- hw/xfree86/os-support/bus/Pci.c 2005-11-08 11:04:56.000000000 -0800
++++ hw/xfree86/os-support/bus/Pci.c 2006-06-29 15:48:37.000000000 -0700
+@@ -233,6 +233,8 @@
+
+ static pciConfigPtr pci_devp[MAX_PCI_DEVICES + 1] = {NULL, };
+
++static int (*pciOSHandleBIOS)(PCITAG Tag, int basereg, unsigned char *buf, int len);
++
+ /*
+ * Platform specific PCI function pointers.
+ *
+@@ -266,6 +268,11 @@
+ #endif
+ }
+
++void pciSetOSBIOSPtr(int (*bios_fn)(PCITAG Tag, int basereg, unsigned char * buf, int len))
++{
++ pciOSHandleBIOS = bios_fn;
++}
++
+ PCITAG
+ pciFindFirst(CARD32 id, CARD32 mask)
+ {
+@@ -1347,6 +1354,13 @@
+ PCITAG *pTag;
+ int i;
+
++ /* fall back to the old code if the OS code fails */
++ if (pciOSHandleBIOS) {
++ n = pciOSHandleBIOS(Tag, basereg, func, ptr);
++ if (n)
++ return n;
++ }
++
+ n = handlePciBIOS(Tag,basereg,func,ptr);
+ if (n)
+ return n;
+--- hw/xfree86/os-support/bus/Pci.h 2005-11-08 11:04:56.000000000 -0800
++++ hw/xfree86/os-support/bus/Pci.h 2006-06-29 15:43:50.000000000 -0700
+@@ -431,6 +431,7 @@
+ Bool pciMfDev(int, int);
+ ADDRESS pciAddrNOOP(PCITAG tag, PciAddrType type, ADDRESS);
+
++extern void pciSetOSBIOSPtr(int (*bios_fn)(PCITAG Tag, int basereg, unsigned char * buf, int len));
+ extern PCITAG (*pciFindFirstFP)(void);
+ extern PCITAG (*pciFindNextFP)(void);
+
+--- hw/xfree86/os-support/bus/linuxPci.c 2005-11-08 11:04:56.000000000 -0800
++++ hw/xfree86/os-support/bus/linuxPci.c 2006-06-29 15:43:50.000000000 -0700
+@@ -73,6 +73,7 @@
+ static void linuxPciCfgWriteByte(PCITAG tag, int off, CARD8 val);
+ static CARD16 linuxPciCfgReadWord(PCITAG tag, int off);
+ static void linuxPciCfgWriteWord(PCITAG tag, int off, CARD16 val);
++static int linuxPciHandleBIOS(PCITAG Tag, int basereg, unsigned char *buf, int len);
+
+ static pciBusFuncs_t linuxFuncs0 = {
+ /* pciReadLong */ linuxPciCfgRead,
+@@ -125,6 +126,7 @@
+ pciBusInfo[0] = &linuxPci0;
+ pciFindFirstFP = pciGenFindFirst;
+ pciFindNextFP = pciGenFindNext;
++ pciSetOSBIOSPtr(linuxPciHandleBIOS);
+ }
+
+ static int
+@@ -892,3 +894,44 @@
+ }
+
+ #endif /* !INCLUDE_XF86_NO_DOMAIN */
++
++int linuxPciHandleBIOS(PCITAG Tag, int basereg, unsigned char *buf, int len)
++{
++ unsigned int dom, bus, dev, func;
++ unsigned int fd;
++ char file[256];
++ struct stat st;
++ int ret;
++ int sofar = 0;
++
++ dom = PCI_DOM_FROM_TAG(Tag);
++ bus = PCI_BUS_FROM_TAG(Tag);
++ dev = PCI_DEV_FROM_TAG(Tag);
++ func = PCI_FUNC_FROM_TAG(Tag);
++ sprintf(file, "/sys/bus/pci/devices/%04x:%02x:%02x.%1x/rom",
++ dom, bus, dev, func);
++
++ if (stat(file, &st) == 0)
++ {
++ if ((fd = open(file, O_RDWR)))
++ basereg = 0x0;
++
++ /* enable the ROM first */
++ write(fd, "1", 2);
++ lseek(fd, 0, SEEK_SET);
++ do {
++ /* copy the ROM until we hit Len, EOF or read error */
++ ret = read(fd, buf+sofar, len-sofar);
++ if (ret <= 0)
++ break;
++ sofar += ret;
++ } while (sofar < len);
++
++ write(fd, "0", 2);
++ close(fd);
++ if (sofar < len)
++ xf86MsgVerb(X_INFO, 3, "Attempted to read BIOS %dKB from %s: got %dKB\n", len/1024, file, sofar/1024);
++ return sofar;
++ }
++ return 0;
++}
diff --git a/x11-base/xorg-server/files/digest-xorg-server-1.0.2-r7 b/x11-base/xorg-server/files/digest-xorg-server-1.0.2-r7
new file mode 100644
index 000000000000..b2e8218ffcfa
--- /dev/null
+++ b/x11-base/xorg-server/files/digest-xorg-server-1.0.2-r7
@@ -0,0 +1,9 @@
+MD5 2f35e003812df5817ebec8fc3c6943e8 1.0.2-overlay-window.patch.bz2 6388
+RMD160 f1223f88da72461585ff72e5cc3c0e15cd9a1306 1.0.2-overlay-window.patch.bz2 6388
+SHA256 99653c8f59a3d3dd2bd6979e4a52cfb81a32dd3d8bead0bd06274bad57823a67 1.0.2-overlay-window.patch.bz2 6388
+MD5 7674d2c603b5834259e4e5a820cefd5b MesaLib-6.4.2.tar.bz2 2913009
+RMD160 6bf1afc0d3bd3f5e3b5c1a019838f40603446509 MesaLib-6.4.2.tar.bz2 2913009
+SHA256 bc84da436f9d92485dfa1c6670689c6807950a8372637c9952f689a1e1f9aa86 MesaLib-6.4.2.tar.bz2 2913009
+MD5 5cd3316f07ed32a05cbd69e73a71bc74 xorg-server-1.0.2.tar.bz2 6006486
+RMD160 ee47746009fa7c36e692bf4bae629ccd1bd0d4b4 xorg-server-1.0.2.tar.bz2 6006486
+SHA256 b30c57271d147c1f45ba7f15fcc7e7917b61c6dfb97d514e25c7bc91ddd970ba xorg-server-1.0.2.tar.bz2 6006486
diff --git a/x11-base/xorg-server/xorg-server-1.0.2-r7.ebuild b/x11-base/xorg-server/xorg-server-1.0.2-r7.ebuild
new file mode 100644
index 000000000000..2b0352fe353d
--- /dev/null
+++ b/x11-base/xorg-server/xorg-server-1.0.2-r7.ebuild
@@ -0,0 +1,207 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-1.0.2-r7.ebuild,v 1.1 2006/06/30 04:33:00 spyderous Exp $
+
+# Must be before x-modular eclass is inherited
+# Hack to make sure autoreconf gets run
+SNAPSHOT="yes"
+
+inherit flag-o-matic x-modular multilib
+
+OPENGL_DIR="xorg-x11"
+
+MESA_PN="Mesa"
+MESA_PV="6.4.2"
+MESA_P="${MESA_PN}-${MESA_PV}"
+MESA_SRC_P="${MESA_PN}Lib-${MESA_PV}"
+
+PATCHES="${FILESDIR}/${P}-Sbus.patch
+ ${FILESDIR}/CVE-2006-1526-xrender-mitri.patch
+ ${FILESDIR}/${P}-sparc64-cfbrrop-fix.patch
+ ${FILESDIR}/${P}-64bit-fix-indirect-vertex-array.patch
+ ${FILESDIR}/${P}-64bit-fix-have-dix-config.patch
+ ${FILESDIR}/${P}-64bit-fix-for-glx.patch
+ ${FILESDIR}/${P}-Xprt-build.patch
+ ${FILESDIR}/${P}-xprint-init.patch
+ ${FILESDIR}/${PV}-Xprint-xprintdir.patch
+ ${FILESDIR}/${PV}-try-to-fix-xorgcfg.patch
+ ${FILESDIR}/${PV}-fix-xorgconfig-rgbpath-and-mouse.patch
+ ${DISTDIR}/${PV}-overlay-window.patch.bz2
+ ${FILESDIR}/${PV}-fix-readKernelMapping-overrun.patch
+ ${FILESDIR}/${PV}-fix-rom-read-dualhead.patch
+ ${FILESDIR}/x11r7.0-setuid.diff"
+
+SRC_URI="${SRC_URI}
+ mirror://sourceforge/mesa3d/${MESA_SRC_P}.tar.bz2
+ http://dev.gentoo.org/~spyderous/xorg-x11/1.0.2/1.0.2-overlay-window.patch.bz2"
+DESCRIPTION="X.Org X servers"
+# It's suid and has lazy bindings, so FEATURES="stricter" doesn't work
+RESTRICT="stricter"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="dri ipv6 minimal xprint"
+RDEPEND="x11-libs/libXfont
+ x11-libs/xtrans
+ x11-libs/libXau
+ x11-libs/libXext
+ x11-libs/libX11
+ x11-libs/libxkbfile
+ x11-libs/libXdmcp
+ x11-libs/libXmu
+ x11-libs/libXrender
+ x11-libs/libXi
+ media-libs/freetype
+ media-libs/mesa
+ media-fonts/font-adobe-75dpi
+ media-fonts/font-misc-misc
+ media-fonts/font-cursor-misc
+ x11-misc/xbitmaps
+ || ( x11-misc/xkeyboard-config x11-misc/xkbdata )
+ x11-apps/iceauth
+ x11-apps/rgb
+ x11-apps/xauth
+ x11-apps/xinit
+ app-admin/eselect-opengl
+ x11-libs/libXaw
+ x11-libs/libXpm
+ x11-libs/libXxf86misc
+ x11-libs/libXxf86vm
+ !minimal? ( x11-libs/libdmx
+ x11-libs/libXtst
+ x11-libs/libXres )
+ >=x11-libs/libxkbui-1.0.2
+ x11-libs/liblbxutil"
+ # Xres is dmx-dependent, xkbui is xorgcfg-dependent
+ # Xaw is dmx- and xorgcfg-dependent
+ # Xpm is dmx- and xorgcfg-dependent, pulls in Xt
+ # Xxf86misc and Xxf86vm are xorgcfg-dependent
+ # liblbxutil is lbx- dependent
+DEPEND="${RDEPEND}
+ x11-proto/randrproto
+ x11-proto/renderproto
+ >=x11-proto/fixesproto-4
+ x11-proto/damageproto
+ x11-proto/xextproto
+ x11-proto/xproto
+ x11-proto/xf86dgaproto
+ x11-proto/xf86miscproto
+ x11-proto/xf86rushproto
+ x11-proto/xf86vidmodeproto
+ x11-proto/xf86bigfontproto
+ >=x11-proto/compositeproto-0.3
+ x11-proto/recordproto
+ x11-proto/resourceproto
+ x11-proto/videoproto
+ x11-proto/scrnsaverproto
+ x11-proto/evieext
+ x11-proto/trapproto
+ >=x11-proto/xineramaproto-1.1-r1
+ x11-proto/fontsproto
+ >=x11-proto/kbproto-1.0-r1
+ x11-proto/inputproto
+ x11-proto/bigreqsproto
+ x11-proto/xcmiscproto
+ >=x11-proto/glproto-1.4.1_pre20051013
+ !minimal? ( x11-proto/dmxproto )
+ dri? ( x11-proto/xf86driproto
+ >=x11-libs/libdrm-2 )
+ xprint? ( x11-proto/printproto
+ x11-apps/mkfontdir
+ x11-apps/mkfontscale )"
+LICENSE="${LICENSE} MIT"
+
+pkg_setup() {
+ # localstatedir is used for the log location; we need to override the default
+ # from ebuild.sh
+ # sysconfdir is used for the xorg.conf location; same applies
+
+ # --enable-xorg needed because darwin defaults off
+ # --enable-install-setuid needed because sparcs default off
+ CONFIGURE_OPTIONS="
+ $(use_enable ipv6)
+ $(use_enable !minimal dmx)
+ $(use_enable !minimal xvfb)
+ $(use_enable !minimal xnest)
+ $(use_enable dri)
+ $(use_enable xprint)
+ --with-mesa-source=${WORKDIR}/${MESA_P}
+ --enable-xorg
+ --sysconfdir=/etc/X11
+ --localstatedir=/var
+ --enable-install-setuid
+ --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1"
+
+ # (#121394) Causes window corruption
+ filter-flags -fweb
+
+ # Nothing else provides new enough glxtokens.h
+ ewarn "Forcing on xorg-x11 for new enough glxtokens.h..."
+ OLD_IMPLEM="$(eselect opengl show)"
+ eselect opengl set --impl-headers ${OPENGL_DIR}
+}
+
+src_install() {
+ x-modular_src_install
+
+ dynamic_libgl_install
+
+ use xprint && xprint_src_install
+}
+
+pkg_postinst() {
+ switch_opengl_implem
+}
+
+pkg_postrm() {
+ # Get rid of module dir to ensure opengl-update works properly
+ if ! has_version x11-base/xorg-server; then
+ if [ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]; then
+ rm -rf ${ROOT}/usr/$(get_libdir)/xorg/modules
+ fi
+ fi
+}
+
+dynamic_libgl_install() {
+ # next section is to setup the dynamic libGL stuff
+ ebegin "Moving GL files for dynamic switching"
+ dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions
+ local x=""
+ for x in ${D}/usr/$(get_libdir)/xorg/modules/extensions/libglx*; do
+ if [ -f ${x} -o -L ${x} ]; then
+ mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions
+ fi
+ done
+ eend 0
+}
+
+switch_opengl_implem() {
+ # Switch to the xorg implementation.
+ # Use new opengl-update that will not reset user selected
+ # OpenGL interface ...
+ echo
+# eselect opengl set --use-old ${OPENGL_DIR}
+ eselect opengl set ${OLD_IMPLEM}
+}
+
+xprint_src_install() {
+ # RH-style init script, we provide a wrapper
+ exeinto /usr/$(get_libdir)/misc
+ doexe ${S}/Xprint/etc/init.d/xprint
+ # Patch init script for fonts location
+ sed -e 's:/lib/X11/fonts/:/share/fonts/:g' \
+ -i ${D}/usr/$(get_libdir)/misc/xprint
+ # Install the wrapper
+ newinitd ${FILESDIR}/xprint.init xprint
+ # Install profile scripts
+ insinto /etc/profile.d
+ doins ${S}/Xprint/etc/profile.d/xprint*
+ insinto /etc/X11/xinit/xinitrc.d
+ newins ${S}/Xprint/etc/Xsession.d/cde_xsessiond_xprint.sh \
+ 92xprint-xpserverlist.sh
+ # Patch profile scripts
+ sed -e "s:/bin/sh.*get_xpserverlist:/usr/$(get_libdir)/misc/xprint \
+ get_xpserverlist:g" -i ${D}/etc/profile.d/xprint* \
+ ${D}/etc/X11/xinit/xinitrc.d/92xprint-xpserverlist.sh
+ # Move profile scripts, we can't touch /etc/profile.d/ in Gentoo
+ dodoc ${D}/etc/profile.d/xprint*
+ rm -f ${D}/etc/profile.d/xprint*
+}