summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>2010-02-15 21:13:59 +0000
committerChí-Thanh Christopher Nguyễn <chithanh@gentoo.org>2010-02-15 21:13:59 +0000
commit4be45ff269bf00a2536abf9394307e03746d69b7 (patch)
treee20bdb632205946e7bf45100c9f5e74cc12ff010 /x11-base
parentRemove old versions (diff)
downloadgentoo-2-4be45ff269bf00a2536abf9394307e03746d69b7.tar.gz
gentoo-2-4be45ff269bf00a2536abf9394307e03746d69b7.tar.bz2
gentoo-2-4be45ff269bf00a2536abf9394307e03746d69b7.zip
initial import of x11-base/nouveau-drm for bug #253705
(Portage version: 2.2_rc62/cvs/Linux x86_64)
Diffstat (limited to 'x11-base')
-rw-r--r--x11-base/nouveau-drm/ChangeLog11
-rw-r--r--x11-base/nouveau-drm/files/nouveau-drm-20100212-Makefile102
-rw-r--r--x11-base/nouveau-drm/metadata.xml9
-rw-r--r--x11-base/nouveau-drm/nouveau-drm-20100212.ebuild57
4 files changed, 179 insertions, 0 deletions
diff --git a/x11-base/nouveau-drm/ChangeLog b/x11-base/nouveau-drm/ChangeLog
new file mode 100644
index 000000000000..950172b07fca
--- /dev/null
+++ b/x11-base/nouveau-drm/ChangeLog
@@ -0,0 +1,11 @@
+# ChangeLog for x11-base/nouveau-drm
+# Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2
+# $Header: /var/cvsroot/gentoo-x86/x11-base/nouveau-drm/ChangeLog,v 1.1 2010/02/15 21:13:57 chithanh Exp $
+
+*nouveau-drm-20100212 (15 Feb 2010)
+
+ 15 Feb 2010; Chí-Thanh Christopher Nguyễn <chithanh@gentoo.org>
+ +nouveau-drm-20100212.ebuild, +files/nouveau-drm-20100212-Makefile,
+ +metadata.xml:
+ Initial import for bug #253705
+
diff --git a/x11-base/nouveau-drm/files/nouveau-drm-20100212-Makefile b/x11-base/nouveau-drm/files/nouveau-drm-20100212-Makefile
new file mode 100644
index 000000000000..123bc5339d3e
--- /dev/null
+++ b/x11-base/nouveau-drm/files/nouveau-drm-20100212-Makefile
@@ -0,0 +1,102 @@
+# This Makefile is loosely based on the drm.git/linux-core/Makefile and
+# the preliminary work by Christopher James Halse Rogers.
+# Edited by Pekka Paalanen <pq@iki.fi>
+
+# By default, the build is done against the running linux kernel source.
+# To build against a different kernel source tree, set LINUXDIR:
+#
+# make LINUXDIR=/path/to/kernel/source
+
+# By default, it is assumed the Nouveau kernel tree is found in $PWD/../.
+# To use a different path to the Nouveau kernel tree, set NOUVEAUROOTDIR:
+#
+# make NOUVEAUROOTDIR=/path/to/nouveau/linux-2.6
+
+
+ifndef LINUXDIR
+RUNNING_REL := $(shell uname -r)
+
+LINUXDIR := $(shell if [ -e /lib/modules/$(RUNNING_REL)/source ]; then \
+ echo /lib/modules/$(RUNNING_REL)/source; \
+ else echo /lib/modules/$(RUNNING_REL)/build; fi)
+endif
+
+NOUVEAUGITREMOTE ?= origin
+NOUVEAUROOTDIR ?= $(CURDIR)/..
+override NOUVEAUROOTDIR := $(abspath $(NOUVEAUROOTDIR))
+
+TESTFILE := include/drm/nouveau_drm.h
+ifeq ($(wildcard $(NOUVEAUROOTDIR)/$(TESTFILE)),)
+$(error $(NOUVEAUROOTDIR) does not look like the right kernel tree, \
+ please set NOUVEAUROOTDIR)
+endif
+
+GIT_REVISION := $(shell GIT_DIR=$(NOUVEAUROOTDIR)/.git \
+ git describe --always --abbrev=17 2> /dev/null)
+
+DRMINC := -I$(NOUVEAUROOTDIR)/include/drm
+DRMDIR := $(NOUVEAUROOTDIR)/drivers/gpu/drm
+DRMCFG := \
+ CONFIG_DRM=m \
+ CONFIG_DRM_KMS_HELPER=m \
+ CONFIG_DRM_TTM=m \
+ CONFIG_DRM_NOUVEAU=m \
+ CONFIG_DRM_NOUVEAU_KMS=n \
+ CONFIG_DRM_NOUVEAU_BACKLIGHT=y \
+ CONFIG_DRM_NOUVEAU_DEBUG=y \
+ CONFIG_DRM_I2C_CH7006=m \
+ CONFIG_DRM_TDFX=n \
+ CONFIG_DRM_R128=n \
+ CONFIG_DRM_RADEON=n \
+ CONFIG_DRM_MGA=n \
+ CONFIG_DRM_I810=n \
+ CONFIG_DRM_I830=n \
+ CONFIG_DRM_I915=n \
+ CONFIG_DRM_SIS=n \
+ CONFIG_DRM_SAVAGE=n \
+ CONFIG_DRM_VIA=n
+
+EXTRA_CFLAGS :=
+MYEXTRA_CFLAGS :=
+MYEXTRA_CFLAGS += -DCONFIG_DRM_NOUVEAU_BACKLIGHT
+MYEXTRA_CFLAGS += -DCONFIG_DRM_NOUVEAU_DEBUG
+
+ifneq ($(GIT_REVISION),)
+MYEXTRA_CFLAGS += '-DGIT_REVISION=\"$(GIT_REVISION)\"'
+endif
+
+MYPARMS := -C $(LINUXDIR) KCPPFLAGS="$(DRMINC)" SUBDIRS="$(DRMDIR)" $(DRMCFG)
+
+MYEXTRA_CFLAGS += $(EXTRA_CFLAGS)
+ifneq ($(MYEXTRA_CFLAGS),)
+MYPARMS += EXTRA_CFLAGS="$(MYEXTRA_CFLAGS)"
+endif
+
+.PHONY: all modules install clean archive FORCE
+
+all: modules
+FORCE:
+
+modules:
+ $(MAKE) $(MYPARMS) modules
+
+install:
+ $(MAKE) $(MYPARMS) modules_install
+
+clean:
+ $(MAKE) $(MYPARMS) clean
+
+archive: newttm-devel-compat.tar.gz newttm-devel.tar.gz master.tar.gz
+
+newttm-devel-compat.tar.gz: EXTRAS=nouveau README-nouveau
+
+%.tar: FORCE
+ GIT_DIR=$(NOUVEAUROOTDIR)/.git \
+ git archive --format=tar --prefix=$*/ $(NOUVEAUGITREMOTE)/$* \
+ drivers/gpu/drm include/drm $(EXTRAS) > $@
+
+%.tar.gz: %.tar
+ gzip -9 -c $< > $@
+
+# The commit id of the archive can be read with
+# $ zcat foo.tar.gz | git get-tar-commit-id
diff --git a/x11-base/nouveau-drm/metadata.xml b/x11-base/nouveau-drm/metadata.xml
new file mode 100644
index 000000000000..40a4ce953dab
--- /dev/null
+++ b/x11-base/nouveau-drm/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+<maintainer>
+ <email>chithanh@gentoo.org</email>
+ <name>Chí-Thanh Christopher Nguyễn</name>
+</maintainer>
+<herd>x11</herd>
+</pkgmetadata>
diff --git a/x11-base/nouveau-drm/nouveau-drm-20100212.ebuild b/x11-base/nouveau-drm/nouveau-drm-20100212.ebuild
new file mode 100644
index 000000000000..bed269d8020c
--- /dev/null
+++ b/x11-base/nouveau-drm/nouveau-drm-20100212.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2010 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/x11-base/nouveau-drm/nouveau-drm-20100212.ebuild,v 1.1 2010/02/15 21:13:57 chithanh Exp $
+
+EAPI=2
+
+inherit linux-info linux-mod
+
+DESCRIPTION="Nouveau DRM Kernel Modules for X11"
+HOMEPAGE="http://nouveau.freedesktop.org/"
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE=""
+
+DEPEND="virtual/linux-sources"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/master
+
+CONFIG_CHECK="~BACKLIGHT_CLASS_DEVICE ~DEBUG_FS !DRM ~FB_CFB_FILLRECT ~FB_CFB_COPYAREA ~FB_CFB_IMAGEBLIT ~FRAMEBUFFER_CONSOLE ~!FB_VESA ~!FB_UVESA ~I2C_ALGOBIT ~VGA_ARB"
+
+pkg_setup() {
+ linux-mod_pkg_setup
+ if kernel_is lt 2 6 32; then
+ eerror "You need kernel 2.6.32 for nouveau-drm"
+ die "Incompatible kernel version"
+ fi
+ if kernel_is ge 2 6 33; then
+ elog "For newer kernels newer than 2.6.32 there is integrated nouveau DRM."
+ elog "Use that if you experience build issues."
+ fi
+}
+
+src_compile() {
+ set_arch_to_kernel
+ emake \
+ LINUXDIR="${KERNEL_DIR}" \
+ NOUVEAUROOTDIR="${PWD}" \
+ -f "${FILESDIR}"/${P}-Makefile \
+ || die "Compiling kernel modules failed"
+}
+
+src_install() {
+ insinto /lib/modules/${KV_FULL}/${PN}
+ doins drivers/gpu/drm/{*/,}*.ko || die "doins failed"
+}
+
+pkg_postinst() {
+ if ! has_version x11-drivers/nouveau-firmware; then
+ ewarn "Nouveau firmware not detected, for acceleration on NV50 (G80)"
+ ewarn "and newer chipsets, emerge x11-drivers/nouveau-firmware."
+ fi
+}