summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonnie Berkholz <spyderous@gentoo.org>2003-12-08 07:34:05 +0000
committerDonnie Berkholz <spyderous@gentoo.org>2003-12-08 07:34:05 +0000
commit634d2093e5fc55263ae6b142801afbf696a01c9c (patch)
tree0e008d7224544fd4890924b53c71411058e21c1a
parentVersion bumped. Closing bug #34348 (diff)
downloadgentoo-2-634d2093e5fc55263ae6b142801afbf696a01c9c.tar.gz
gentoo-2-634d2093e5fc55263ae6b142801afbf696a01c9c.tar.bz2
gentoo-2-634d2093e5fc55263ae6b142801afbf696a01c9c.zip
20031202 snapshot. Adds support for mach64. Also adds initial support for gatos, accompanied by USE=gatos in xfree and a coming ati-gatos ebuild. Obsoletes USE for video cards, moving to VIDEO_CARDS.
-rw-r--r--x11-base/xfree-drm/ChangeLog10
-rw-r--r--x11-base/xfree-drm/Manifest4
-rw-r--r--x11-base/xfree-drm/files/digest-xfree-drm-4.3.0-r74
-rw-r--r--x11-base/xfree-drm/xfree-drm-4.3.0-r7.ebuild231
4 files changed, 247 insertions, 2 deletions
diff --git a/x11-base/xfree-drm/ChangeLog b/x11-base/xfree-drm/ChangeLog
index 8e6c301c1f65..53552d86ca52 100644
--- a/x11-base/xfree-drm/ChangeLog
+++ b/x11-base/xfree-drm/ChangeLog
@@ -1,6 +1,14 @@
# ChangeLog for x11-base/xfree-drm
# Copyright 2002-2003 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree-drm/ChangeLog,v 1.45 2003/12/05 16:14:19 agriffis Exp $
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree-drm/ChangeLog,v 1.46 2003/12/08 07:34:00 spyderous Exp $
+
+*xfree-drm-4.3.0-r7 (08 Dec 2003)
+
+ 08 Dec 2003; Donnie Berkholz <spyderous@gentoo.org>;
+ xfree-drm-4.3.0-r7.ebuild:
+ 20031202 snapshot. Adds support for mach64. Also adds initial support for
+ gatos, accompanied by USE=gatos in xfree and a coming ati-gatos ebuild.
+ Obsoletes USE for video cards, moving to VIDEO_CARDS.
05 Dec 2003; <agriffis@gentoo.org> xfree-drm-4.3.0-r6.ebuild:
Stable on ia64
diff --git a/x11-base/xfree-drm/Manifest b/x11-base/xfree-drm/Manifest
index 6842416eb437..120a554e5bbc 100644
--- a/x11-base/xfree-drm/Manifest
+++ b/x11-base/xfree-drm/Manifest
@@ -1,6 +1,8 @@
-MD5 9dc90b78c13f643f3f95ea1e1f177875 ChangeLog 8666
MD5 cd0b06404869599fa61bb7976be237a2 metadata.xml 476
MD5 5841333d3b65fe40becb5a2561c209e5 xfree-drm-4.3.0-r2.ebuild 2648
+MD5 5feda70ff01b5e79e75987b111037b62 xfree-drm-4.3.0-r7.ebuild 6185
+MD5 371437a67be183a2995cf5a0c7adc972 ChangeLog 8993
MD5 3b7253bf524ad0706cf4782af7c68f4b xfree-drm-4.3.0-r6.ebuild 5557
MD5 b340ab262c964f235620a98d7626d6b9 files/digest-xfree-drm-4.3.0-r2 166
+MD5 c803b7445a6e51ab9074a9873b9e31b3 files/digest-xfree-drm-4.3.0-r7 364
MD5 916b08e6047de0eeabce236b45a16b34 files/digest-xfree-drm-4.3.0-r6 169
diff --git a/x11-base/xfree-drm/files/digest-xfree-drm-4.3.0-r7 b/x11-base/xfree-drm/files/digest-xfree-drm-4.3.0-r7
new file mode 100644
index 000000000000..0055e5882aa9
--- /dev/null
+++ b/x11-base/xfree-drm/files/digest-xfree-drm-4.3.0-r7
@@ -0,0 +1,4 @@
+MD5 3cd933bb3acf3139bbc55c63688005f7 xfree-drm-4.3.0-r7-gentoo-0.1.tar.bz2 17889
+MD5 b1cc5fb755df16855915eb38747982eb linux-drm-4.3.0-kernelsource-20031202.tar.bz2 440304
+MD5 698a248d4192967eb41d9577bed8d75a linux-drm-gatos-4.3.0-kernelsource-20031202.tar.bz2 154684
+MD5 ccd16a915cd22f707ac3aac743b1398d linux-drm-mach64-4.3.0-kernelsource-20031202.tar.bz2 429549
diff --git a/x11-base/xfree-drm/xfree-drm-4.3.0-r7.ebuild b/x11-base/xfree-drm/xfree-drm-4.3.0-r7.ebuild
new file mode 100644
index 000000000000..56ef48a267a0
--- /dev/null
+++ b/x11-base/xfree-drm/xfree-drm-4.3.0-r7.ebuild
@@ -0,0 +1,231 @@
+# Copyright 1999-2003 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-base/xfree-drm/xfree-drm-4.3.0-r7.ebuild,v 1.1 2003/12/08 07:34:00 spyderous Exp $
+
+IUSE="gatos"
+IUSE_VIDEO_CARDS="3dfx gamma i810 i830 matrox rage128 radeon sis mach64"
+
+inherit eutils xfree
+
+# Make sure Portage does _NOT_ strip symbols. We will do it later and make sure
+# that only we only strip stuff that are safe to strip ...
+RESTRICT="nostrip"
+
+SNAPSHOT="20031202"
+PATCHVER="0.1"
+PATCHDIR="${WORKDIR}/patch"
+EXCLUDED="${PATCHDIR}/excluded"
+S="${WORKDIR}/drm"
+DESCRIPTION="XFree86 Kernel DRM modules"
+HOMEPAGE="http://www.xfree.org"
+# Use the same patchset for all of them; exclude patches as necessary
+SRC_URI="mirror://gentoo/${PF}-gentoo-${PATCHVER}.tar.bz2
+ mirror://gentoo/linux-drm-${PV}-kernelsource-${SNAPSHOT}.tar.bz2
+ gatos? ( mirror://gentoo/linux-drm-gatos-${PV}-kernelsource-${SNAPSHOT}.tar.bz2 )
+ video_cards_mach64? ( mirror://gentoo/linux-drm-mach64-${PV}-kernelsource-${SNAPSHOT}.tar.bz2 )"
+
+# These sources come from one of these places:
+#
+# http://www.xfree86.org/~alanh/ -- Makefile.linux from DRM snapshots
+# http://people.debian.org/~daenzer/ -- drm-ioremap patch
+# http://dri.sourceforge.net CVS -- xc/xc/programs/Xserver/hw/os-support
+# -- the CVS is at freedesktop.org now, but webpage is still sourceforge
+#
+# We throw all necessary files into one folder and turn that into our tarball.
+# find os-support/ -name *.[ch] -exec cp {} drm/ \;
+# find os-support/linux/drm/kernel/ -maxdepth 1 -type f -exec cp {} drm/ \;
+
+SLOT="${KV}"
+LICENSE="X11"
+KEYWORDS="~x86"
+
+# Need new portage for USE_EXPAND
+DEPEND=">=x11-base/xfree-${PV}
+ virtual/linux-sources
+ >=sys-apps/portage-2.0.49-r13"
+
+PROVIDE="virtual/drm"
+
+pkg_setup() {
+ # mach64 is exclusive of other modules
+ check_exclusive mach64
+
+ # Require at least one video card
+ if [ -z "${VIDEO_CARDS}" ]
+ then
+ die "Please set at least one video card in VIDEO_CARDS in make.conf or the environment. Possible VIDEO_CARDS values are: ${IUSE_VIDEO_CARDS}."
+ fi
+
+ # gatos doesn't build on anything but radeon
+ if use gatos
+ then
+ if [ ! "`use video_cards_radeon`" -a ! "`use video_cards_rage128`" ]
+ then
+ die "Remove gatos from your USE flags. It does not build for cards other than radeon and rage128."
+ fi
+ fi
+
+ # 2.6 kernels are broken for now
+ is_kernel "2" "6" && \
+ die "Please link /usr/src/linux to 2.4 kernel sources. xfree-drm does not yet work with 2.6 kernels, use the DRM in the kernel."
+
+ # Force at least make dep (this checks for bzImage, actually) (bug #22853)
+ if [ ! -f /usr/src/linux/include/config/MARKER ]
+ then
+ die "Please compile kernel sources with \"make bzImage\"."
+ fi
+
+ # Set video cards to build for
+ set_vidcards
+
+ return 0
+}
+
+src_unpack() {
+ if use gatos
+ then
+ unpack linux-drm-gatos-${PV}-kernelsource-${SNAPSHOT}.tar.bz2
+ unpack ${PF}-gentoo-${PATCHVER}.tar.bz2
+ elif use video_cards_mach64
+ then
+ unpack linux-drm-mach64-${PV}-kernelsource-${SNAPSHOT}.tar.bz2
+ unpack ${PF}-gentoo-${PATCHVER}.tar.bz2
+ else # standard case
+ unpack linux-drm-${PV}-kernelsource-${SNAPSHOT}.tar.bz2
+ unpack ${PF}-gentoo-${PATCHVER}.tar.bz2
+ fi
+
+ cd ${S}
+
+ # Move AGP checker and alanh's Makefile over
+ cp ${PATCHDIR}/picker.c ${S}
+ cp ${PATCHDIR}/Makefile.linux ${S}
+
+ patch_prepare
+
+ # Apply patches
+ EPATCH_SUFFIX="patch" epatch ${PATCHDIR}
+}
+
+src_compile() {
+ ln -sf Makefile.linux Makefile
+ einfo "Building DRM..."
+ make ${VIDCARDS} \
+ TREE="/usr/src/linux/include" KV="${KV}"
+ # Build dristat utility (bug #18799)
+ # But, don't do it if the GATOS drivers are being built, since it won't work
+ if [ ! "`use gatos`" ]
+ then
+ make dristat || die
+ fi
+}
+
+src_install() {
+ einfo "installing DRM..."
+ make \
+ TREE="/usr/src/linux/include" \
+ KV="${KV}" \
+ DESTDIR="${D}" \
+ MODS="${VIDCARDS}" \
+ install || die
+ dodoc README*
+ if [ ! "`use gatos`" ]
+ then
+ exeinto /usr/X11R6/bin
+ doexe dristat
+
+ # Strip binaries, leaving /lib/modules untouched (bug #24415)
+ strip_bins \/lib\/modules
+ fi
+}
+
+pkg_postinst() {
+ if [ "${ROOT}" = "/" ]
+ then
+ /sbin/modules-update
+ fi
+
+ if use video_cards_sis
+ then
+ einfo "SiS direct rendering only works on 300 series chipsets."
+ einfo "SiS framebuffer also needs to be enabled in the kernel."
+ fi
+}
+
+
+# Functions used earlier are defined below.
+
+check_exclusive() {
+ # If a certain module is being built, don't allow any others.
+ # Most useful for mach64, since it must be built exclusively
+ # since the two directories are both named drm to make ${S} easier
+
+ local x
+ local c="0"
+ if use video_cards_${1}
+ then
+ for x in ${IUSE_VIDEO_CARDS}
+ do
+ if use video_cards_${x}
+ then
+ c="`expr ${c} + 1`"
+ if [ "${c}" -ge "2" ]
+ then
+ die "You cannot build for ${1} and any other card at the same time."
+ fi
+ fi
+ done
+ fi
+}
+
+set_vidcards() {
+ VIDCARDS=""
+
+ use video_cards_matrox && \
+ VIDCARDS="${VIDCARDS} mga.o"
+ use video_cards_3dfx && \
+ VIDCARDS="${VIDCARDS} tdfx.o"
+ use video_cards_rage128 && \
+ VIDCARDS="${VIDCARDS} r128.o"
+ use video_cards_radeon && \
+ VIDCARDS="${VIDCARDS} radeon.o"
+ use video_cards_sis && \
+ VIDCARDS="${VIDCARDS} sis.o"
+ use video_cards_i810 && \
+ VIDCARDS="${VIDCARDS} i810.o"
+ use video_cards_i830 && \
+ VIDCARDS="${VIDCARDS} i830.o"
+ use video_cards_gamma && \
+ VIDCARDS="${VIDCARDS} gamma.o"
+ use video_cards_mach64 && \
+ VIDCARDS="${VIDCARDS} mach64.o"
+}
+
+patch_prepare() {
+ # Do patch excluding based on standard, mach64 or gatos here.
+ # Works everywhere:
+ # 002_all_dristat-compile-fix.patch
+
+ # if [ ! "`is_kernel 2 6" ]
+ # then
+ # mv -f ${PATCHDIR}/*2.6* ${EXCLUDED}
+ # fi
+
+ if use video_cards_mach64
+ then
+ einfo "Updating for mach64 build..."
+ # Also exclude all non-mach64 patches
+ # mv -f ${PATCHDIR}/3* ${EXCLUDED}
+ elif use gatos
+ then
+ einfo "Updating for gatos build..."
+ # This Makefile.linux might be more work to port to alanh's version
+ # Exclude all non-gatos patches
+ mv -f ${PATCHDIR}/2* ${EXCLUDED}
+ else # standard case
+ einfo "Updating for standard build..."
+ # Exclude all gatos or mach64 patches
+ mv -f ${PATCHDIR}/2* ${EXCLUDED}
+ mv -f ${PATCHDIR}/3* ${EXCLUDED}
+ fi
+}