diff options
author | Donnie Berkholz <spyderous@gentoo.org> | 2003-12-08 07:34:05 +0000 |
---|---|---|
committer | Donnie Berkholz <spyderous@gentoo.org> | 2003-12-08 07:34:05 +0000 |
commit | 634d2093e5fc55263ae6b142801afbf696a01c9c (patch) | |
tree | 0e008d7224544fd4890924b53c71411058e21c1a /x11-base | |
parent | Version bumped. Closing bug #34348 (diff) | |
download | gentoo-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.
Diffstat (limited to 'x11-base')
-rw-r--r-- | x11-base/xfree-drm/ChangeLog | 10 | ||||
-rw-r--r-- | x11-base/xfree-drm/Manifest | 4 | ||||
-rw-r--r-- | x11-base/xfree-drm/files/digest-xfree-drm-4.3.0-r7 | 4 | ||||
-rw-r--r-- | x11-base/xfree-drm/xfree-drm-4.3.0-r7.ebuild | 231 |
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 +} |