Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=xorgtesting.git;a=commitdiff;h=0d0d42119460e16dd67fe1e3a5f5e153c97d83ae

commit 0d0d42119460e16dd67fe1e3a5f5e153c97d83ae
Author: Michel Hermier <herm...@frugalware.org>
Date:   Fri Dec 4 13:01:05 2009 +0100

nouveau-drm-2.6.31_3.g3ca22d1

* Nouveau package ;)

diff --git a/source/base/nouveau-drm/FrugalBuild 
b/source/base/nouveau-drm/FrugalBuild
new file mode 100644
index 0000000..633f6bf
--- /dev/null
+++ b/source/base/nouveau-drm/FrugalBuild
@@ -0,0 +1,39 @@
+# Compiling Time: 0.24 SBU
+# Maintainer: Michel Hermier <herm...@frugalware.org>
+
+_F_kernelmod_scriptlet=nouveau-drm.install
+Finclude kernel-module
+_F_kernelver=$_F_kernelver_ver-$_F_kernelver_rel
+
+pkgname=nouveau-drm
+pkgver=`Fsanitizeversion ${_F_kernelver}.g3ca22d1`
+pkgrel=1
+pkgdesc="Kernel modules for Nvidia cards (opensource)"
+groups=('base')
+archs=('i686')
+options=("${optio...@]}" 'nobuild')
+url="http://nouveau.freedesktop.org/";
+source=(Makefile nouveau-drm.install)
+sha1sum=('6fd23ee7d0bb40d70d6445959134919ac5d0dcba'
+         '')
+
+_F_scm_type="git"
+_F_scm_url="git://anongit.freedesktop.org/nouveau/linux-2.6"
+Finclude scm
+
+build()
+{
+       Funpack_scm
+
+       Fcd
+       [ -d nouveau ] || mkdir nouveau || Fdie
+       cp -f ../Makefile nouveau/ | Fdie
+               cd nouveau || Fdie
+       make LINUXDIR=/usr/src/linux clean || Fdie
+       make LINUXDIR=/usr/src/linux || Fdie
+       make LINUXDIR=/usr/src/linux INSTALL_MOD_PATH=$Fdestdir install || Fdie
+
+       Fbuild_kernelmod_scriptlet
+}
+
+# optimization OK
diff --git a/source/base/nouveau-drm/Makefile b/source/base/nouveau-drm/Makefile
new file mode 100644
index 0000000..123bc53
--- /dev/null
+++ b/source/base/nouveau-drm/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 <p...@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/source/base/nouveau-drm/nouveau-drm.install 
b/source/base/nouveau-drm/nouveau-drm.install
new file mode 100644
index 0000000..40928ef
--- /dev/null
+++ b/source/base/nouveau-drm/nouveau-drm.install
@@ -0,0 +1,51 @@
+
+backup()
+{
+       file="$1"
+       backup="$file.bak"
+
+       if [ -e "$file" ]; then
+               echo "Disabling $file"
+               mv "$file" "$backup"
+       fi
+}
+
+restore()
+{
+       file="$1"
+       backup="$file.bak"
+
+       if [ -e "$backup" ]; then
+               echo "Restoring $file"
+               mv "$backup" "$file"
+       fi
+}
+
+nouveau_do()
+{
+       action=$1
+
+       $action /lib/modules/$_F_kernelmod_uname/kernel/drivers/gpu/drm/drm.ko
+       $action /lib/modules/$_F_kernelmod_uname/kernel/drivers/gpu/drm/drm.ko
+
+       /sbin/depmod -a $_F_kernelmod_uname
+}
+
+post_install()
+{
+       nouveau_do backup
+}
+
+post_upgrade()
+{
+       post_install
+}
+
+post_remove()
+{
+       nouveau_do restore
+}
+
+op=$1
+shift
+$op $*
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to