summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonnie Berkholz <spyderous@gentoo.org>2006-04-21 09:12:50 +0000
committerDonnie Berkholz <spyderous@gentoo.org>2006-04-21 09:12:50 +0000
commit57177d18a0914b9a31ecaa0abe7d2aee9ef6152c (patch)
tree25b88c7490df5102c114f90f8f5508a8889464c1 /x11-base
parentBuild the Xorg X server by default. (diff)
downloadgentoo-2-57177d18a0914b9a31ecaa0abe7d2aee9ef6152c.tar.gz
gentoo-2-57177d18a0914b9a31ecaa0abe7d2aee9ef6152c.tar.bz2
gentoo-2-57177d18a0914b9a31ecaa0abe7d2aee9ef6152c.zip
Add option to build kdrive, tiny X servers; also add VIDEO_CARDS settings to select kdrive servers to build. Add option to build AIGLX with TLS support (USE=nptl) -- mesa and xorg-server must be in sync on this. Update some deps: glproto, scrnsaverproto. Don't need to inherit flag-o-matic, x-modular eclass does this for us. Make Xdmx build its own USE flag, instead of part of minimal. Force xorg-x11 OpenGL to build, because it needs a newer glxtokens.h than some binary drivers provide. Add a server_based_install() function for any actions dependent on which servers get built. Add USE=xorg to build the Xorg X server, which will be on by default.
(Portage version: 2.1_pre7-r5)
Diffstat (limited to 'x11-base')
-rw-r--r--x11-base/xorg-server/ChangeLog18
-rw-r--r--x11-base/xorg-server/files/1.0.99.901-fix-kdrive-build.patch22
-rw-r--r--x11-base/xorg-server/files/1.0.99.901-wrap-sdk-headers.patch33
-rw-r--r--x11-base/xorg-server/files/digest-xorg-server-1.0.99.901-r1 (renamed from x11-base/xorg-server/files/digest-xorg-server-1.0.99.901)0
-rw-r--r--x11-base/xorg-server/xorg-server-1.0.99.901-r1.ebuild (renamed from x11-base/xorg-server/xorg-server-1.0.99.901.ebuild)121
5 files changed, 179 insertions, 15 deletions
diff --git a/x11-base/xorg-server/ChangeLog b/x11-base/xorg-server/ChangeLog
index 5dc1783fba12..6098d850154b 100644
--- a/x11-base/xorg-server/ChangeLog
+++ b/x11-base/xorg-server/ChangeLog
@@ -1,6 +1,22 @@
# 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.104 2006/04/17 23:27:05 joshuabaergen Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/ChangeLog,v 1.105 2006/04/21 09:12:50 spyderous Exp $
+
+*xorg-server-1.0.99.901-r1 (21 Apr 2006)
+
+ 21 Apr 2006; Donnie Berkholz <spyderous@gentoo.org>;
+ +files/1.0.99.901-fix-kdrive-build.patch,
+ +files/1.0.99.901-wrap-sdk-headers.patch, -xorg-server-1.0.99.901.ebuild,
+ +xorg-server-1.0.99.901-r1.ebuild:
+ Add option to build kdrive, tiny X servers; also add VIDEO_CARDS settings to
+ select kdrive servers to build. Add option to build AIGLX with TLS support
+ (USE=nptl) -- mesa and xorg-server must be in sync on this. Update some
+ deps: glproto, scrnsaverproto. Don't need to inherit flag-o-matic, x-modular
+ eclass does this for us. Make Xdmx build its own USE flag, instead of part
+ of minimal. Force xorg-x11 OpenGL to build, because it needs a newer
+ glxtokens.h than some binary drivers provide. Add a server_based_install()
+ function for any actions dependent on which servers get built. Add USE=xorg
+ to build the Xorg X server, which will be on by default.
17 Apr 2006; Joshua Baergen <joshuabaergen@gentoo.org>
xorg-server-1.0.2-r3.ebuild:
diff --git a/x11-base/xorg-server/files/1.0.99.901-fix-kdrive-build.patch b/x11-base/xorg-server/files/1.0.99.901-fix-kdrive-build.patch
new file mode 100644
index 000000000000..7c2b7d337592
--- /dev/null
+++ b/x11-base/xorg-server/files/1.0.99.901-fix-kdrive-build.patch
@@ -0,0 +1,22 @@
+Index: xorg/hw/kdrive/ephyr/Makefile.am
+===================================================================
+RCS file: /cvs/xorg/xserver/xorg/hw/kdrive/ephyr/Makefile.am,v
+retrieving revision 1.7
+retrieving revision 1.8
+diff -u -b -B -r1.7 -r1.8
+--- xorg/hw/kdrive/ephyr/Makefile.am 30 Mar 2006 21:21:59 -0000 1.7
++++ xorg/hw/kdrive/ephyr/Makefile.am 17 Apr 2006 07:10:31 -0000 1.8
+@@ -31,11 +31,11 @@
+ Xephyr_LDADD = \
+ libxephyr.a \
+ libxephyr-hostx.a \
++ ../../../exa/libexa.la \
+ @KDRIVE_LIBS@ \
+ @KDRIVE_LIBS@ \
+ $(TSLIB_LIBS) \
+- @XEPHYR_LIBS@ \
+- ../../../exa/libexa.la
++ @XEPHYR_LIBS@
+
+ Xephyr_DEPENDENCIES = \
+ libxephyr.a \
diff --git a/x11-base/xorg-server/files/1.0.99.901-wrap-sdk-headers.patch b/x11-base/xorg-server/files/1.0.99.901-wrap-sdk-headers.patch
new file mode 100644
index 000000000000..9e30ee7cbe62
--- /dev/null
+++ b/x11-base/xorg-server/files/1.0.99.901-wrap-sdk-headers.patch
@@ -0,0 +1,33 @@
+Index: xorg/exa/Makefile.am
+===================================================================
+RCS file: /cvs/xorg/xserver/xorg/exa/Makefile.am,v
+retrieving revision 1.9
+diff -u -b -B -r1.9 Makefile.am
+--- xorg/exa/Makefile.am 16 Feb 2006 00:14:10 -0000 1.9
++++ xorg/exa/Makefile.am 17 Apr 2006 07:23:24 -0000
+@@ -1,6 +1,8 @@
+ noinst_LTLIBRARIES = libexa.la
+
++if XORG
+ sdk_HEADERS = exa.h
++endif
+
+ INCLUDES = \
+ $(XORG_INCS) \
+Index: xorg/randr/Makefile.am
+===================================================================
+RCS file: /cvs/xorg/xserver/xorg/randr/Makefile.am,v
+retrieving revision 1.5
+diff -u -b -B -r1.5 Makefile.am
+--- xorg/randr/Makefile.am 19 Jan 2006 14:51:09 -0000 1.5
++++ xorg/randr/Makefile.am 17 Apr 2006 07:23:26 -0000
+@@ -2,7 +2,9 @@
+
+ AM_CFLAGS = $(DIX_CFLAGS) @SERVER_DEFINES@ @LOADER_DEFINES@
+
++if XORG
+ sdk_HEADERS = randrstr.h
++endif
+
+ librandr_la_SOURCES = \
+ mirandr.c \
diff --git a/x11-base/xorg-server/files/digest-xorg-server-1.0.99.901 b/x11-base/xorg-server/files/digest-xorg-server-1.0.99.901-r1
index bf488330ebe8..bf488330ebe8 100644
--- a/x11-base/xorg-server/files/digest-xorg-server-1.0.99.901
+++ b/x11-base/xorg-server/files/digest-xorg-server-1.0.99.901-r1
diff --git a/x11-base/xorg-server/xorg-server-1.0.99.901.ebuild b/x11-base/xorg-server/xorg-server-1.0.99.901-r1.ebuild
index a266fc2fe651..b2da1fcaf0de 100644
--- a/x11-base/xorg-server/xorg-server-1.0.99.901.ebuild
+++ b/x11-base/xorg-server/xorg-server-1.0.99.901-r1.ebuild
@@ -1,12 +1,12 @@
# 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.99.901.ebuild,v 1.2 2006/04/17 05:28:13 spyderous Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-1.0.99.901-r1.ebuild,v 1.1 2006/04/21 09:12:50 spyderous Exp $
# Must be before x-modular eclass is inherited
# Hack to make sure autoreconf gets run
-#SNAPSHOT="yes"
+SNAPSHOT="yes"
-inherit flag-o-matic x-modular multilib
+inherit x-modular multilib
OPENGL_DIR="xorg-x11"
@@ -17,14 +17,30 @@ MESA_SRC_P="${MESA_PN}Lib-${MESA_PV}"
PATCHES="${FILESDIR}/${PN}-1.0.2-Sbus.patch
${FILESDIR}/1.0.2-try-to-fix-xorgcfg.patch
- ${FILESDIR}/1.0.2-fix-xorgconfig-rgbpath-and-mouse.patch"
+ ${FILESDIR}/1.0.2-fix-xorgconfig-rgbpath-and-mouse.patch
+ ${FILESDIR}/${PV}-fix-kdrive-build.patch
+ ${FILESDIR}/${PV}-wrap-sdk-headers.patch"
SRC_URI="${SRC_URI}
mirror://sourceforge/mesa3d/${MESA_SRC_P}.tar.bz2
http://xorg.freedesktop.org/snapshots/individual/xserver/${P}.tar.bz2"
DESCRIPTION="X.Org X servers"
KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
-IUSE="dri ipv6 minimal xprint"
+IUSE_VIDEO_CARDS="
+ video_cards_chips
+ video_cards_epson
+ video_cards_glint
+ video_cards_i810
+ video_cards_mach64
+ video_cards_mga
+ video_cards_neomagic
+ video_cards_nv
+ video_cards_r128
+ video_cards_radeon
+ video_cards_siliconmotion
+ video_cards_via"
+IUSE="${IUSE_VIDEO_CARDS}
+ dmx dri ipv6 kdrive minimal nptl sdl xorg xprint"
RDEPEND="x11-libs/libXfont
x11-libs/xtrans
x11-libs/libXau
@@ -55,7 +71,8 @@ RDEPEND="x11-libs/libXfont
x11-libs/libXtst
x11-libs/libXres )
x11-libs/libxkbui
- x11-libs/liblbxutil"
+ x11-libs/liblbxutil
+ kdrive? ( sdl? ( media-libs/libsdl ) )"
# Xres is dmx-dependent, xkbui is xorgcfg-dependent
# Xaw is dmx- and xorgcfg-dependent
# Xpm is dmx- and xorgcfg-dependent, pulls in Xt
@@ -77,7 +94,7 @@ DEPEND="${RDEPEND}
x11-proto/recordproto
x11-proto/resourceproto
x11-proto/videoproto
- x11-proto/scrnsaverproto
+ >=x11-proto/scrnsaverproto-1.1.0
x11-proto/evieext
x11-proto/trapproto
>=x11-proto/xineramaproto-1.1-r1
@@ -86,7 +103,7 @@ DEPEND="${RDEPEND}
x11-proto/inputproto
x11-proto/bigreqsproto
x11-proto/xcmiscproto
- >=x11-proto/glproto-1.4.1_pre20051013
+ >=x11-proto/glproto-1.4.6
!minimal? ( x11-proto/dmxproto )
dri? ( x11-proto/xf86driproto
>=x11-libs/libdrm-2 )
@@ -102,22 +119,86 @@ pkg_setup() {
# --enable-xorg needed because darwin defaults off
# --enable-install-setuid needed because sparcs default off
+
+ # SDL only available in kdrive build
+ if use kdrive && use sdl; then
+ conf_opts="${conf_opts} --enable-xsdl"
+ else
+ conf_opts="${conf_opts} --disable-xsdl"
+ fi
+
CONFIGURE_OPTIONS="
$(use_enable ipv6)
- $(use_enable !minimal dmx)
+ $(use_enable dmx)
+ $(use_enable kdrive)
$(use_enable !minimal xvfb)
$(use_enable !minimal xnest)
$(use_enable dri)
+ $(use_enable xorg)
+ $(use_with xorg mesa-source=${WORKDIR}/${MESA_P})
$(use_enable xprint)
- --with-mesa-source=${WORKDIR}/${MESA_P}
- --enable-xorg
+ $(use_enable nptl glx-tls)
--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"
+ --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/75dpi,/usr/share/fonts/100dpi,/usr/share/fonts/TTF,/usr/share/fonts/Type1
+ ${conf_opts}"
+
+ if built_with_use media-libs/mesa nptl; then
+ local diemsg="You must build xorg-server and mesa with the same nptl USE setting."
+ use nptl || die "${diemsg}"
+ else
+ use nptl && die "${diemsg}"
+ fi
# (#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_unpack() {
+ x-modular_specs_check
+ x-modular_dri_check
+ x-modular_unpack_source
+ x-modular_patch_source
+
+ # Set up kdrive servers to build
+ if use kdrive; then
+ einfo "Removing unused kdrive drivers ..."
+ for card in ${IUSE_VIDEO_CARDS}; do
+ real_card=${card#video_cards_}
+
+ # Differences between VIDEO_CARDS name and kdrive server name
+ real_card=${real_card/glint/pm2}
+ real_card=${real_card/radeon/ati}
+ real_card=${real_card/nv/nvidia}
+ real_card=${real_card/siliconmotion/smi}
+ if ! use ${card}; then
+ ebegin " ${real_card}"
+ sed -i \
+ -e "s:${real_card}::g" \
+ ${S}/hw/kdrive/Makefile.am \
+ || die "sed of ${real_card} failed"
+ eend
+ fi
+
+ done
+
+ # smi and via are the only things on line 2. If line 2 ends up blank,
+ # we need to get rid of the backslash at the end of line 1.
+ if ! use video_cards_siliconmotion && ! use video_cards_via; then
+ sed -i \
+ -e "s:^\(VESA_SUBDIRS.*\)\\\:\1:g" \
+ ${S}/hw/kdrive/Makefile.am
+ fi
+
+ # Only need to reconf if we're modifying kdrive's Makefile.am
+ x-modular_reconf_source
+ fi
}
src_install() {
@@ -125,7 +206,7 @@ src_install() {
dynamic_libgl_install
- use xprint && xprint_src_install
+ server_based_install
}
pkg_postinst() {
@@ -154,12 +235,24 @@ dynamic_libgl_install() {
eend 0
}
+server_based_install() {
+ use xprint && xprint_src_install
+
+ if ! use xorg; then
+ rm ${D}/usr/share/man/man1/Xserver.1x \
+ ${D}/usr/$(get_libdir)/xserver/SecurityPolicy \
+ ${D}/usr/$(get_libdir)/pkgconfig/xorg-server.pc \
+ ${D}/usr/share/man/man1/Xserver.1x
+ fi
+}
+
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 --use-old ${OPENGL_DIR}
+ eselect opengl set ${OLD_IMPLEM}
}
xprint_src_install() {