1 |
# Copyright 1999-2005 Gentoo Foundation |
2 |
# Distributed under the terms of the GNU General Public License v2 |
3 |
# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-0.99.1-r1.ebuild,v 1.2 2005/08/10 22:07:21 spyderous Exp $ |
4 |
|
5 |
# Must be before x-modular eclass is inherited |
6 |
# Hack to make sure autoreconf gets run |
7 |
SNAPSHOT="yes" |
8 |
|
9 |
inherit x-modular |
10 |
|
11 |
OPENGL_DIR="xorg-x11" |
12 |
|
13 |
MESA_PN="Mesa" |
14 |
MESA_PV="6.3.1.1" |
15 |
MESA_P="${MESA_PN}-${MESA_PV}" |
16 |
|
17 |
PATCHES="${FILESDIR}/xorg-composite.patch" |
18 |
|
19 |
SRC_URI="${SRC_URI} |
20 |
glx? ( http://xorg.freedesktop.org/extras/${MESA_P}.tar.gz )" |
21 |
DESCRIPTION="X.Org X servers" |
22 |
KEYWORDS="~sparc ~x86" |
23 |
IUSE="glx dri xinerama ipv6 minimal" |
24 |
RDEPEND="x11-libs/libXfont |
25 |
x11-libs/xtrans |
26 |
x11-libs/libXau |
27 |
x11-libs/libXext |
28 |
x11-libs/libX11 |
29 |
x11-libs/libxkbfile |
30 |
x11-libs/libXdmcp |
31 |
x11-libs/libXmu |
32 |
x11-libs/libXrender |
33 |
x11-libs/libXi |
34 |
media-libs/freetype |
35 |
glx? ( >=media-libs/mesa-6 |
36 |
>=x11-base/opengl-update-2.2.2 )" |
37 |
DEPEND="${RDEPEND} |
38 |
x11-proto/randrproto |
39 |
x11-proto/renderproto |
40 |
x11-proto/fixesproto |
41 |
x11-proto/damageproto |
42 |
x11-proto/xextproto |
43 |
x11-proto/xproto |
44 |
x11-proto/xf86dgaproto |
45 |
x11-proto/xf86miscproto |
46 |
x11-proto/xf86rushproto |
47 |
x11-proto/xf86vidmodeproto |
48 |
x11-proto/xf86bigfontproto |
49 |
x11-proto/compositeproto |
50 |
x11-proto/recordproto |
51 |
x11-proto/resourceproto |
52 |
x11-proto/dmxproto |
53 |
x11-proto/videoproto |
54 |
x11-proto/scrnsaverproto |
55 |
x11-proto/evieext |
56 |
x11-proto/trapproto |
57 |
x11-proto/panoramixproto |
58 |
x11-proto/fontsproto |
59 |
x11-proto/kbproto |
60 |
x11-proto/inputproto |
61 |
x11-proto/bigreqsproto |
62 |
x11-proto/xcmiscproto |
63 |
glx? ( x11-proto/glproto ) |
64 |
dri? ( x11-proto/xf86driproto |
65 |
x11-libs/libdrm )" |
66 |
|
67 |
pkg_setup() { |
68 |
if use glx; then |
69 |
confopts="${confopts} --with-mesa-source=${WORKDIR}/${MESA_P}" |
70 |
fi |
71 |
|
72 |
# localstatedir is used for the log location; we need to override the default |
73 |
# from ebuild.sh |
74 |
# sysconfdir is used for the xorg.conf location; same applies |
75 |
CONFIGURE_OPTIONS=" |
76 |
$(use_enable xinerama) |
77 |
$(use_enable ipv6) |
78 |
$(use_enable !minimal dmx) |
79 |
$(use_enable !minimal xvfb) |
80 |
$(use_enable !minimal xnest) |
81 |
$(use_enable glx) |
82 |
$(use_enable dri) |
83 |
--enable-xorg |
84 |
--enable-composite |
85 |
--enable-xtrap |
86 |
--enable-xevie |
87 |
--sysconfdir=/etc/X11 |
88 |
--localstatedir=/var |
89 |
${confopts}" |
90 |
} |
91 |
|
92 |
src_install() { |
93 |
x-modular_src_install |
94 |
|
95 |
dynamic_libgl_install |
96 |
} |
97 |
|
98 |
pkg_postinst() { |
99 |
switch_opengl_implem |
100 |
} |
101 |
|
102 |
dynamic_libgl_install() { |
103 |
# next section is to setup the dynamic libGL stuff |
104 |
ebegin "Moving GL files for dynamic switching" |
105 |
dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions |
106 |
local x="" |
107 |
for x in ${D}/usr/$(get_libdir)/xorg/modules/libglx*; do |
108 |
if [ -f ${x} -o -L ${x} ]; then |
109 |
mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions |
110 |
fi |
111 |
done |
112 |
eend 0 |
113 |
} |
114 |
|
115 |
switch_opengl_implem() { |
116 |
# Switch to the xorg implementation. |
117 |
# Use new opengl-update that will not reset user selected |
118 |
# OpenGL interface ... |
119 |
echo |
120 |
local opengl_implem="$(${ROOT}/usr/sbin/opengl-update --get-implementation)" |
121 |
${ROOT}/usr/sbin/opengl-update --use-old ${OPENGL_DIR} |
122 |
} |