summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Kursawe <phosphan@gentoo.org>2004-05-19 06:34:24 +0000
committerPatrick Kursawe <phosphan@gentoo.org>2004-05-19 06:34:24 +0000
commit225cfee389ac007b6ec80d1f07b08d407eeee9be (patch)
tree3891e3db13e9f749affe0b45cbe9312b1623b8e0 /media-video
parentFixed invalid symbolic link with fresh install. Thanks to ikezoe <ikezoe@user... (diff)
downloadgentoo-2-225cfee389ac007b6ec80d1f07b08d407eeee9be.tar.gz
gentoo-2-225cfee389ac007b6ec80d1f07b08d407eeee9be.tar.bz2
gentoo-2-225cfee389ac007b6ec80d1f07b08d407eeee9be.zip
Fixing #40616
Diffstat (limited to 'media-video')
-rw-r--r--media-video/mplayer/ChangeLog8
-rw-r--r--media-video/mplayer/Manifest45
-rw-r--r--media-video/mplayer/files/digest-mplayer-1.0_pre4-r25
-rw-r--r--media-video/mplayer/files/mga-kernel-2.6.patch588
-rw-r--r--media-video/mplayer/mplayer-1.0_pre4-r2.ebuild408
5 files changed, 1032 insertions, 22 deletions
diff --git a/media-video/mplayer/ChangeLog b/media-video/mplayer/ChangeLog
index a1b9bd6606f9..f75280717dfe 100644
--- a/media-video/mplayer/ChangeLog
+++ b/media-video/mplayer/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for media-video/mplayer
# Copyright 2002-2004 Gentoo Technologies, Inc.; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/ChangeLog,v 1.131 2004/05/12 13:51:58 pappy Exp $
+# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/ChangeLog,v 1.132 2004/05/19 06:34:23 phosphan Exp $
+
+*mplayer-1.0_pre4-r2 (19 May 2004)
+
+ 19 May 2004; Patrick Kursawe <phosphan@gentoo.org>
+ mplayer-1.0_pre4-r2.ebuild, files/mga-kernel-2.6.patch:
+ Fixing bug #40616 (mga driver), little cleanups for the patch section.
12 May 2004; Alexander Gabert <pappy@gentoo.org> mplayer-1.0_pre3-r5.ebuild,
mplayer-1.0_pre4-r1.ebuild, mplayer-1.0_pre4.ebuild:
diff --git a/media-video/mplayer/Manifest b/media-video/mplayer/Manifest
index 32a99d227755..696b961a951b 100644
--- a/media-video/mplayer/Manifest
+++ b/media-video/mplayer/Manifest
@@ -1,32 +1,35 @@
-MD5 bfd5ab2b005c43435b581374f68022a6 ChangeLog 22647
-MD5 9ef4af14dad87b03fde8e43f19e08d26 metadata.xml 225
-MD5 06a993cb89fac55613aad364670c41fb mplayer-0.92-r1.ebuild 11570
-MD5 f98bc5b521254207cb231a9eb853f522 mplayer-1.0_pre2-r1.ebuild 11435
-MD5 95426d21a3f8920fc3b0d94ade8ad0bd mplayer-1.0_pre3-r3.ebuild 11549
MD5 633cbda54fcb59b371bbfb86f475bd84 mplayer-1.0_pre3-r4.ebuild 11851
+MD5 00c7c3b93985919e65ea36ea90e7828f mplayer-1.0_pre4.ebuild 11094
+MD5 95426d21a3f8920fc3b0d94ade8ad0bd mplayer-1.0_pre3-r3.ebuild 11549
+MD5 f98bc5b521254207cb231a9eb853f522 mplayer-1.0_pre2-r1.ebuild 11435
+MD5 852c148987082cfd1577d44ca4989576 mplayer-1.0_pre4-r2.ebuild 11446
MD5 1a08c3bbc9cc90150bcf0228848ec76f mplayer-1.0_pre3-r5.ebuild 11525
+MD5 06a993cb89fac55613aad364670c41fb mplayer-0.92-r1.ebuild 11570
+MD5 aa54e4c73e98234b635993eb7beb7a89 ChangeLog 22868
+MD5 9ef4af14dad87b03fde8e43f19e08d26 metadata.xml 225
MD5 fc9edd731f660a6633ad81b8ae1127e2 mplayer-1.0_pre4-r1.ebuild 11026
-MD5 00c7c3b93985919e65ea36ea90e7828f mplayer-1.0_pre4.ebuild 11094
-MD5 6c2dab3392aab51766253b416ad2a10c files/default-skin.diff 396
MD5 deb1dbbf5879ed31e1b83fb7def5b600 files/digest-mplayer-0.92-r1 355
-MD5 b0205104d1242fcccdb5dfd2188f5ab2 files/digest-mplayer-1.0_pre2-r1 358
-MD5 d74f7136fa5b4fa7d9ef13f8193dfe7c files/digest-mplayer-1.0_pre3-r3 358
-MD5 d74f7136fa5b4fa7d9ef13f8193dfe7c files/digest-mplayer-1.0_pre3-r4 358
-MD5 d74f7136fa5b4fa7d9ef13f8193dfe7c files/digest-mplayer-1.0_pre3-r5 358
+MD5 059e03d1d2c965b04a5e53ed850de64a files/mplayer-0.90_rc4-gtk2.patch 6183
+MD5 98c7d58f544829621b15427ad53b98e4 files/mga-kernel-2.6.patch 16767
+MD5 e2fc2cbbc8ebf183dcb599b66c999331 files/ppc750FX-fix.patch 515
MD5 260489267a0ccf01fe300bce0ec1430d files/mencoder-segfault.patch 520
+MD5 6c2dab3392aab51766253b416ad2a10c files/default-skin.diff 396
MD5 a71fc9832d953424652af1125fb7ea64 files/mplayer-0.90-coreutils-fixup.patch 1857
-MD5 8f18911adcd661e70ad0cd84a94d49ac files/mplayer-0.90-divx.patch 25064
-MD5 26a52f084f4d177580ed9ea0187f54e7 files/mplayer-0.90-ppc-benh-2.patch 2049
-MD5 059e03d1d2c965b04a5e53ed850de64a files/mplayer-0.90_rc4-gtk2.patch 6183
+MD5 a9fa1b94e4e3842e2c5e552644b03eaa files/mplayer-1.0_pre3-alsa-gcc34.patch 299
+MD5 fef9f0571da54ae3df2e804100bd2632 files/vuln01-fix.diff 1231
+MD5 c2d65649f15837c5a326557ded4e47c5 files/mplayer.desktop 119
+MD5 8b8084aa31b466c55d15bd06bb77086d files/mplayer-1.0_pre3-xmms.patch 411
+MD5 dc67207241f6a950a4d529557ebd4053 files/digest-mplayer-1.0_pre4 358
MD5 c54c7ba8e18c8e7f3412c6d6939d010a files/mplayer-1.0-gtk2.patch 5903
+MD5 26a52f084f4d177580ed9ea0187f54e7 files/mplayer-0.90-ppc-benh-2.patch 2049
MD5 fa86dd9d6980ff064efcc9d9f919905e files/mplayer-1.0_pre3-libmatroska063.diff 810
-MD5 8b8084aa31b466c55d15bd06bb77086d files/mplayer-1.0_pre3-xmms.patch 411
-MD5 c2d65649f15837c5a326557ded4e47c5 files/mplayer.desktop 119
-MD5 e2fc2cbbc8ebf183dcb599b66c999331 files/ppc750FX-fix.patch 515
-MD5 fef9f0571da54ae3df2e804100bd2632 files/vuln01-fix.diff 1231
MD5 34f948b8f242a2aadb53a1e2b00e3155 files/vuln02-fix.diff 467
-MD5 dc67207241f6a950a4d529557ebd4053 files/digest-mplayer-1.0_pre4 358
+MD5 b0205104d1242fcccdb5dfd2188f5ab2 files/digest-mplayer-1.0_pre2-r1 358
+MD5 d74f7136fa5b4fa7d9ef13f8193dfe7c files/digest-mplayer-1.0_pre3-r3 358
+MD5 d74f7136fa5b4fa7d9ef13f8193dfe7c files/digest-mplayer-1.0_pre3-r4 358
+MD5 d74f7136fa5b4fa7d9ef13f8193dfe7c files/digest-mplayer-1.0_pre3-r5 358
MD5 dc67207241f6a950a4d529557ebd4053 files/digest-mplayer-1.0_pre4-r1 358
-MD5 a9fa1b94e4e3842e2c5e552644b03eaa files/mplayer-1.0_pre3-alsa-gcc34.patch 299
-MD5 f998f1cad3da27cac3aea1982dc5c747 files/mplayer-1.0_pre3-libavcodec-gcc34.patch 5010
+MD5 dc67207241f6a950a4d529557ebd4053 files/digest-mplayer-1.0_pre4-r2 358
MD5 a9fa1b94e4e3842e2c5e552644b03eaa files/mplayer-1.0_pre4-alsa-gcc34.patch 299
+MD5 f998f1cad3da27cac3aea1982dc5c747 files/mplayer-1.0_pre3-libavcodec-gcc34.patch 5010
+MD5 8f18911adcd661e70ad0cd84a94d49ac files/mplayer-0.90-divx.patch 25064
diff --git a/media-video/mplayer/files/digest-mplayer-1.0_pre4-r2 b/media-video/mplayer/files/digest-mplayer-1.0_pre4-r2
new file mode 100644
index 000000000000..7d0a61f16837
--- /dev/null
+++ b/media-video/mplayer/files/digest-mplayer-1.0_pre4-r2
@@ -0,0 +1,5 @@
+MD5 83ebac0f05b192516a41fca2350ca01a MPlayer-1.0pre4.tar.bz2 4913390
+MD5 1ecd31d17b51f16332b1fcc7da36b312 font-arial-iso-8859-1.tar.bz2 234242
+MD5 7b47904a925cf58ea546ca15f3df160c font-arial-iso-8859-2.tar.bz2 222208
+MD5 3f1b9eb2ba639bf42c61f7b9189f6524 svgalib_helper-1.9.17-mplayer.tar.bz2 7234
+MD5 64e2d18438bbef16822c141d846884f6 Blue-1.0.tar.bz2 219130
diff --git a/media-video/mplayer/files/mga-kernel-2.6.patch b/media-video/mplayer/files/mga-kernel-2.6.patch
new file mode 100644
index 000000000000..fb55ae81c0b4
--- /dev/null
+++ b/media-video/mplayer/files/mga-kernel-2.6.patch
@@ -0,0 +1,588 @@
+diff -rua ./Makefile ../mga-work/Makefile
+--- drivers/Makefile 2003-10-18 17:04:28.000000000 +0200
++++ drivers/Makefile.new 2003-12-11 19:38:46.000000000 +0100
+@@ -1,16 +1,30 @@
+-
+-KERNEL_INCLUDES = /usr/src/linux/include
+-INCLUDES = -I$(KERNEL_INCLUDES)
+-CFLAGS = -O2 -D__KERNEL__ -DMODULE -include $(KERNEL_INCLUDES)/linux/modversions.h -Wall
++KERNEL_DIR=/lib/modules/KERNEL_VERSION_HERE/build
++KERNEL_INCLUDES= $(KERNEL_DIR)/include
++INCLUDES = -I$(KERNEL_INCLUDES) -I$(KERNEL_INCLUDES)/asm
+ VERSION = $(shell grep UTS_RELEASE $(KERNEL_INCLUDES)/linux/version.h | cut -d '"' -f2)
+ MDIR = /lib/modules/$(VERSION)/misc
+
+-all: mga_vid.o mga_vid_test
++ifneq (,$(findstring 2.6, $(VERSION)))
++obj-m += mga_vid.o
++CFLAGS = -O2 -D__KERNEL__ -DMODULE -include $(KERNEL_INCLUDES)/config/modversions.h -Wall
++else
++CFLAGS = -O2 -D__KERNEL__ -DMODULE -include $(KERNEL_INCLUDES)/linux/modversions.h -Wall
++endif
++
++all:
++ifneq (,$(findstring 2.6, $(VERSION)))
++ $(MAKE) mga_vid.ko mga_vid_test
++else
++ $(MAKE) mga_vid.o mga_vid_test
++endif
+ # sis_vid.o
+
+ mga_vid.o: mga_vid.c mga_vid.h
+ $(CC) $(CFLAGS) $(INCLUDES) -c $(basename $@).c
+
++mga_vid.ko: mga_vid.c mga_vid.h
++ $(MAKE) -C $(KERNEL_DIR) SUBDIRS=$(PWD) modules
++
+ sis_vid.o: sis_vid.c sis_vid.h
+ $(CC) $(CFLAGS) $(INCLUDES) -c $(basename $@).c
+
+@@ -25,13 +39,21 @@
+
+ install: mga_vid.o
+ if test ! -d $(MDIR) ; then mkdir -p $(MDIR) ; fi
++ifneq (,$(findstring 2.6, $(VERSION)))
++ install -m 644 mga_vid.ko $(MDIR)/mga_vid.ko
++else
+ install -m 644 mga_vid.o $(MDIR)/mga_vid.o
++endif
+ depmod -a
+
+ dep:
+
+ clean:
+ rm -f *.o *~
++ifneq (,$(findstring 2.6, $(VERSION)))
++ rm -f *.ko .mga* mga_vid.mod.c
++endif
+
+ distclean: clean
+ rm -f mga_vid_test
++
+--- drivers/mga_vid.c 2003-10-04 19:28:54.000000000 +0200
++++ drivers/mga_vid.c.new 2004-05-11 15:38:17.377090978 +0200
+@@ -1,9 +1,14 @@
++#define MODULENAME "mga_vid"
++
+ //#define CRTC2
+
+ // YUY2 support (see config.format) added by A'rpi/ESP-team
+ // double buffering added by A'rpi/ESP-team
+ // brightness/contrast introduced by eyck
+ // multiple card support by Attila Kinali <attila@kinali.ch>
++// ported to the 2.6 series kernels by F.O. Tempel
++// thankfully using the ground work done by Ed Sweetman (for the devfs work)
++// and Gergely Nagy for pushing into the right direction with his patch for 2.6.0-test1
+
+ // Set this value, if autodetection fails! (video ram size in megabytes)
+ // #define MGA_MEMORY_SIZE 16
+@@ -36,6 +41,12 @@
+ #include <linux/config.h>
+ #include <linux/version.h>
+ #include <linux/module.h>
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
++#include <linux/moduleparam.h>
++#include <linux/kobject.h>
++#include <linux/kobj_map.h>
++#include <linux/cdev.h>
++#endif
+ #include <linux/types.h>
+ #include <linux/kernel.h>
+ #include <linux/sched.h>
+@@ -43,6 +54,10 @@
+ #include <linux/string.h>
+ #include <linux/errno.h>
+
++#ifdef MGA_ALLOW_IRQ
++#include <asm/mach-default/irq_vectors.h>
++#include <linux/interrupt.h>
++#endif
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,10)
+ #include <linux/malloc.h>
+ #else
+@@ -117,7 +132,8 @@
+ #ifndef min
+ #define min(x,y) (((x)<(y))?(x):(y))
+ #endif
+-
++// These functions are provided by the 2.6.0 kernel these days.
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
+ #if LINUX_VERSION_CODE < KERNEL_VERSION(2,4,0)
+ #include <linux/ctype.h>
+
+@@ -155,7 +171,7 @@
+ return simple_strtoul(cp,endp,base);
+ }
+ #endif
+-
++#endif // 2.6.0
+
+ typedef struct bes_registers_s
+ {
+@@ -348,17 +364,30 @@
+ #define ICLEAR 0x1e18
+ #define STATUS 0x1e14
+
+-
+-// global devfs handle for /dev/mga_vid
++/* Global handles for cdev and devfs */
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
++static struct cdev *mga_vid_cdev;
++static dev_t mga_cdev_handle;
++#ifdef CONFIG_DEVFS_FS
++typedef struct devfs_entry *devfs_handle_t;
++devfs_handle_t dev_handle = NULL;
++#endif
++#else
+ #ifdef CONFIG_DEVFS_FS
+-static devfs_handle_t dev_handle = NULL;
++ devfs_handle_t dev_handle = NULL;
++#endif
+ #endif
+
+ // card local config
+ typedef struct mga_card_s {
+
+ // local devfs handle for /dev/mga_vidX
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
+ #ifdef CONFIG_DEVFS_FS
++ struct devfs_entry *devfs_handle_t;
++#endif
++#endif
++#if CONFIG_DEVFS_FS
+ devfs_handle_t dev_handle;
+ #endif
+
+@@ -397,6 +426,7 @@
+ int next_frame;
+ } mga_card_t;
+
++
+ #define MGA_MAX_CARDS 16
+ // this is used as init value for the parameter arrays
+ // it should have exactly MGA_MAX_CARDS elements
+@@ -411,11 +441,19 @@
+ static int mga_contrast[MGA_MAX_CARDS] = MGA_MAX_CARDS_INIT_ARRAY;
+ static int mga_top_reserved[MGA_MAX_CARDS] = MGA_MAX_CARDS_INIT_ARRAY;
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
++module_param(mga_ram_size, int, 0);
++module_param(mga_top_reserved, int, 0);
++module_param(mga_brightness, int, 0);
++module_param(mga_contrast, int, 0);
++module_param(major, int, 0);
++#else
+ MODULE_PARM(mga_ram_size, "1-" __MODULE_STRING(MGA_MAX_CARDS) "i");
+ MODULE_PARM(mga_top_reserved, "1-" __MODULE_STRING(MGA_MAX_CARDS) "i");
+ MODULE_PARM(mga_brightness, "1-" __MODULE_STRING(MGA_MAX_CARDS) "i");
+ MODULE_PARM(mga_contrast, "1-" __MODULE_STRING(MGA_MAX_CARDS) "i");
+ MODULE_PARM(major, "i");
++#endif
+
+ #ifdef CRTC2
+ static void crtc2_frame_sel(mga_card_t * card, int frame)
+@@ -642,7 +680,7 @@
+ writel( card->regs.besglobctl + ((readl(card->mmio_base + VCOUNT)+2)<<16),
+ card->mmio_base + BESGLOBCTL);
+
+-#if 0
++#ifdef MP_DEBUG
+ printk(KERN_DEBUG "mga_vid: wrote BES registers\n");
+ printk(KERN_DEBUG "mga_vid: BESCTL = 0x%08x\n",
+ readl(card->mmio_base + BESCTL));
+@@ -651,6 +689,7 @@
+ printk(KERN_DEBUG "mga_vid: BESSTATUS= 0x%08x\n",
+ readl(card->mmio_base + BESSTATUS));
+ #endif
++
+ #ifdef CRTC2
+ // printk("c2ctl:0x%08x c2datactl:0x%08x\n", readl(card->mmio_base + C2CTL), readl(card->mmio_base + C2DATACTL));
+ // printk("c2misc:0x%08x\n", readl(card->mmio_base + C2MISC));
+@@ -1100,7 +1139,7 @@
+
+ #ifdef MGA_ALLOW_IRQ
+
+-static void enable_irq(mga_card_t * card){
++static void mga_enable_irq(mga_card_t * card){
+ long int cc;
+
+ cc = readl(card->mmio_base + IEN);
+@@ -1116,16 +1155,18 @@
+
+ }
+
+-static void disable_irq(mga_card_t * card){
++static void mga_disable_irq(mga_card_t * card){
+
+ writeb(0x11, card->mmio_base + CRTCX);
+ writeb(0x20, card->mmio_base + CRTCD); /* clear 0, enable off */
+
+ }
+
+-static void mga_handle_irq(int irq, void *dev_id, struct pt_regs *pregs) {
++static int mga_handle_irq(int irq, void *dev_id, struct pt_regs *pregs) {
+ // static int frame=0;
+-// static int counter=0;
++#ifdef MP_DEBUG
++ static int counter=0;
++#endif
+ long int cc;
+ mga_card_t * card = dev_id;
+
+@@ -1136,7 +1177,7 @@
+ // check whether the interrupt is really for us (irq sharing)
+ if ( irq != -1 ) {
+ cc = readl(card->mmio_base + STATUS);
+- if ( ! (cc & 0x10) ) return; /* vsyncpen */
++ if ( ! (cc & 0x10) ) return 0; /* vsyncpen */
+ // debug_irqcnt++;
+ }
+
+@@ -1152,15 +1193,15 @@
+ // i han echt kei ahnig was das obe heisse söll
+ crtc2_frame_sel(card->next_frame);
+ #endif
+-
+-#if 0
++
++#ifdef MP_DEBUG
+ ++counter;
+ if(!(counter&63)){
+ printk("mga irq counter = %d\n",counter);
+ }
+ #endif
+
+-// } else {
++ // } else {
+ // debug_irqignore = 1;
+ // }
+
+@@ -1173,7 +1214,7 @@
+ // writel( card->regs.besglobctl, card->mmio_base + BESGLOBCTL);
+
+
+- return;
++ return 0;
+
+ }
+
+@@ -1257,7 +1298,7 @@
+ mga_vid_write_regs(card, 0);
+ }
+ #ifdef MGA_ALLOW_IRQ
+- if ( card->irq != -1 ) enable_irq(card);
++ if ( card->irq != -1 ) mga_enable_irq(card);
+ #endif
+ card->next_frame=0;
+ break;
+@@ -1268,7 +1309,7 @@
+ #endif
+ card->vid_src_ready = 0;
+ #ifdef MGA_ALLOW_IRQ
+- if ( card->irq != -1 ) disable_irq(card);
++ if (card->irq != -1 ) mga_disable_irq(card);
+ #endif
+ card->regs.besctl &= ~1;
+ card->regs.besglobctl &= ~(1<<6); // UYVY format selected
+@@ -1317,6 +1358,11 @@
+ static void cards_init(mga_card_t * card, struct pci_dev * dev, int card_number, int is_g400);
+
+ // returns the number of found cards
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
++#define PCI_DEV_NAME(d) (d)->name
++#else
++#define PCI_DEV_NAME(d) pci_name((d))
++#endif
+ static int mga_vid_find_card(void)
+ {
+ struct pci_dev *dev = NULL;
+@@ -1347,27 +1393,27 @@
+ switch(dev->device) {
+ case PCI_DEVICE_ID_MATROX_G550:
+ mga_dev_name = "MGA G550";
+- printk(KERN_INFO "mga_vid: Found %s at %s [%s]\n", mga_dev_name, dev->slot_name, dev->name);
++ printk(KERN_INFO "mga_vid: Found %s at %s [%s]\n", mga_dev_name, dev->slot_name, PCI_DEV_NAME(dev));
+ cards_init(card, dev, mga_cards_num - 1, 1);
+ break;
+ case PCI_DEVICE_ID_MATROX_G400:
+ mga_dev_name = "MGA G400/G450";
+- printk(KERN_INFO "mga_vid: Found %s at %s [%s]\n", mga_dev_name, dev->slot_name, dev->name);
++ printk(KERN_INFO "mga_vid: Found %s at %s [%s]\n", mga_dev_name, dev->slot_name, PCI_DEV_NAME(dev));
+ cards_init(card, dev, mga_cards_num - 1, 1);
+ break;
+ case PCI_DEVICE_ID_MATROX_G200_AGP:
+ mga_dev_name = "MGA G200 AGP";
+- printk(KERN_INFO "mga_vid: Found %s at %s [%s]\n", mga_dev_name, dev->slot_name, dev->name);
++ printk(KERN_INFO "mga_vid: Found %s at %s [%s]\n", mga_dev_name, dev->slot_name, PCI_DEV_NAME(dev));
+ cards_init(card, dev, mga_cards_num - 1, 0);
+ break;
+ case PCI_DEVICE_ID_MATROX_G200_PCI:
+ mga_dev_name = "MGA G200";
+- printk(KERN_INFO "mga_vid: Found %s at %s [%s]\n", mga_dev_name, dev->slot_name, dev->name);
++ printk(KERN_INFO "mga_vid: Found %s at %s [%s]\n", mga_dev_name, dev->slot_name, PCI_DEV_NAME(dev));
+ cards_init(card, dev, mga_cards_num - 1, 0);
+ break;
+ default:
+ mga_cards_num--;
+- printk(KERN_INFO "mga_vid: ignoring matrox device (%d) at %s [%s]\n", dev->device, dev->slot_name, dev->name);
++ printk(KERN_INFO "mga_vid: ignoring matrox device (%d) at %s [%s]\n", dev->device, dev->slot_name, PCI_DEV_NAME(dev));
+ break;
+ }
+ }
+@@ -1473,7 +1519,7 @@
+ return(-EAGAIN);
+ }
+
+- return(0);
++ return 0;
+ }
+
+ static int mga_vid_release(struct inode *inode, struct file *file)
+@@ -1493,8 +1539,9 @@
+ // card->config.colkey_on=0; //!!!
+ mga_vid_write_regs(card, 1);
+ card->vid_in_use = 0;
+-
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
+ MOD_DEC_USE_COUNT;
++#endif
+ return 0;
+ }
+
+@@ -1508,7 +1555,11 @@
+ mga_card_t * card;
+
+ #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,2)
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
++ int minor = iminor(inode);
++#else
+ int minor = MINOR(inode->i_rdev.value);
++#endif
+ #else
+ int minor = MINOR(inode->i_rdev);
+ #endif
+@@ -1539,8 +1590,10 @@
+ return(-EBUSY);
+
+ card->vid_in_use = 1;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
+ MOD_INC_USE_COUNT;
+- return(0);
++#endif
++ return 0;
+ }
+
+ #if LINUX_VERSION_CODE >= 0x020400
+@@ -1573,10 +1626,6 @@
+ static void cards_init(mga_card_t * card, struct pci_dev * dev, int card_number, int is_g400)
+ {
+ unsigned int card_option;
+-// temp buffer for device filename creation used only by devfs
+-#ifdef CONFIG_DEVFS_FS
+- char buffer[16];
+-#endif
+
+ memset(card,0,sizeof(mga_card_t));
+ card->irq = -1;
+@@ -1647,10 +1696,11 @@
+ // case 0x13: card->ram_size = 8; break;
+ default: card->ram_size = 8;
+ }
+- }
++}
++
+ #if 0
+ // printk("List resources -----------\n");
+- for(temp=0;temp<DEVICE_COUNT_RESOURCE;temp++){
++ for(int temp=0;temp<DEVICE_COUNT_RESOURCE;temp++){
+ struct resource *res=&dev->resource[temp];
+ if(res->flags){
+ int size=(1+res->end-res->start)>>20;
+@@ -1665,7 +1715,6 @@
+ #endif
+ }
+
+-
+ #ifdef MGA_ALLOW_IRQ
+ if ( card->irq != -1 ) {
+ int tmp = request_irq(card->irq, mga_handle_irq, SA_INTERRUPT | SA_SHIRQ, "Syncfb Time Base", card);
+@@ -1683,16 +1732,15 @@
+ printk(KERN_INFO "syncfb (mga): IRQ disabled in mga_vid.c\n");
+ card->irq=-1;
+ #endif
+-
+- // register devfs, let the kernel give us major and minor numbers
+-#ifdef CONFIG_DEVFS_FS
+- snprintf(buffer, 16, "mga_vid%d", card_number);
++// register devfs, let the kernel give us major and minor numbers
++#if CONFIG_DEVFS_FS && LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
++ char buffer[16];
++ snprintf(buffer, 16, "%s%d", MODULENAME, card_number);
+ card->dev_handle = devfs_register(NULL, buffer, DEVFS_FL_AUTO_DEVNUM,
+ 0, 0,
+ S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IFCHR,
+ &mga_vid_fops, card);
+ #endif
+-
+ }
+
+ /*
+@@ -1701,71 +1749,101 @@
+
+ static int mga_vid_initialize(void)
+ {
+- int i;
+-
+-// printk(KERN_INFO "Matrox MGA G200/G400 YUV Video interface v0.01 (c) Aaron Holtzman \n");
++ int i;
+ printk(KERN_INFO "Matrox MGA G200/G400/G450/G550 YUV Video interface v2.01 (c) Aaron Holtzman & A'rpi\n");
+-
+- for(i = 0; i < MGA_MAX_CARDS; i++)
++
++ if(mga_vid_find_card())
+ {
+- if (mga_ram_size[i]) {
+- if (mga_ram_size[i]<4 || mga_ram_size[i]>64) {
+- printk(KERN_ERR "mga_vid: invalid RAMSIZE: %d MB\n", mga_ram_size[i]);
+- return -EINVAL;
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
++ if(register_chrdev(major, MODULENAME, &mga_vid_fops))
++ {
++ printk(KERN_ERR "mga_vid: unable to get major: %d\n", major);
++ return -EIO;
++ }
++ /* Have the kernel generate a major device number */
++ //if(!alloc_chrdev_region(&mga_cdev_handle, 0, mga_cards_num, "mga_vid"))
++ // major = MAJOR(mga_cdev_handle);
++ printk(KERN_INFO "mga_vid: using major: %d\n", major);
++ /* Allocate a cdev for this character device, and fill in some parameters it needs */
++ mga_vid_cdev = cdev_alloc();
++ mga_vid_cdev->owner = THIS_MODULE;
++ strcpy(mga_vid_cdev->kobj.name, MODULENAME);
++ mga_vid_cdev->ops = &mga_vid_fops;
++ /* Add this character device to the system */
++ cdev_add(mga_vid_cdev, mga_cdev_handle, mga_cards_num);
++#endif
++ for(i = 0; i < mga_cards_num; i++)
++ {
++#if CONFIG_DEVFS_FS && LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
++ /* Create the device, and register a symlink for the first card found.
++ * Lets not break default behaviour, eh? */
++ devfs_mk_cdev(MKDEV(major,i), S_IFCHR | S_IRUSR | S_IRGRP | S_IWUSR, "video/mga_vid%d", i);
++ if( i == 0 ) {
++ devfs_mk_symlink(MODULENAME,"video/mga_vid0");
++ }
++#endif
++ if (mga_ram_size[i]) {
++ if (mga_ram_size[i]<4 || mga_ram_size[i]>64) {
++ printk(KERN_ERR "mga_vid: invalid RAMSIZE: %d MB\n", mga_ram_size[i]);
++ return -EINVAL;
++ }
+ }
+ }
+- }
+
+- if(register_chrdev(major, "mga_vid", &mga_vid_fops))
+- {
+- printk(KERN_ERR "mga_vid: unable to get major: %d\n", major);
+- return -EIO;
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
++ if(register_chrdev(major, MODULENAME, &mga_vid_fops))
++ {
++ printk(KERN_ERR "mga_vid: unable to get major: %d\n", major);
++ return -EIO;
++ }
++#endif
++ return 0;
+ }
+-
+- if (!mga_vid_find_card())
++ else
+ {
+- printk(KERN_ERR "mga_vid: no supported devices found\n");
+- unregister_chrdev(major, "mga_vid");
+- return -EINVAL;
++ return -EFAULT;
+ }
+-#ifdef CONFIG_DEVFS_FS
+- else {
+- // we assume that this always succeedes
+- dev_handle = devfs_register(NULL, "mga_vid", DEVFS_FL_AUTO_DEVNUM,
+- 0,0,
+- S_IRUSR | S_IWUSR | S_IRGRP | S_IWGRP | S_IFCHR,
+- &mga_vid_fops, mga_cards[0]);
+- }
+-#endif
+-
+- return(0);
+ }
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
++module_init(mga_vid_initialize);
++#else
+ int init_module(void)
+ {
+ return mga_vid_initialize();
+ }
++#endif
+
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
++static void mga_cleanup_module(void)
++#else
+ void cleanup_module(void)
++#endif
+ {
+ int i;
+ mga_card_t * card;
+
++ printk(KERN_INFO "mga_vid: Cleaning up module\n");
+ for (i = 0; i < MGA_MAX_CARDS; i++)
+ {
+ card = mga_cards[i];
+ if(card)
+ {
+ #ifdef MGA_ALLOW_IRQ
+- if (card->irq != -1)
+- free_irq(card->irq, &(card->irq));
++ if ( card->irq != -1)
++// free_irq(card->irq, &(card->irq));
++ free_irq(card->irq, card);
+ #endif
+
+ if(card->mmio_base)
+ iounmap(card->mmio_base);
+ if(card->param_buff)
+ kfree(card->param_buff);
+-#ifdef CONFIG_DEVFS_FS
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
++#ifdef CONFIG_DEVFS_FS
++ devfs_remove("video/%s%d",MODULENAME, i);
++#endif
++#else
+ if(card->dev_handle) devfs_unregister(card->dev_handle);
+ #endif
+
+@@ -1775,9 +1853,20 @@
+ }
+
+ //FIXME turn off BES
+- printk(KERN_INFO "mga_vid: Cleaning up module\n");
++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0)
+ #ifdef CONFIG_DEVFS_FS
+- if(dev_handle) devfs_unregister(dev_handle);
++ devfs_unregister(dev_handle);
++#endif
++ unregister_chrdev(major, MODULENAME);
++#else
++#ifdef CONFIG_DEVFS_FS
++ devfs_remove(MODULENAME);
++#endif
++ cdev_del(mga_vid_cdev);
++ unregister_chrdev_region(mga_cdev_handle, mga_cards_num);
+ #endif
+- unregister_chrdev(major, "mga_vid");
+ }
++
++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,0)
++module_exit(mga_cleanup_module);
++#endif
diff --git a/media-video/mplayer/mplayer-1.0_pre4-r2.ebuild b/media-video/mplayer/mplayer-1.0_pre4-r2.ebuild
new file mode 100644
index 000000000000..f83caf01c183
--- /dev/null
+++ b/media-video/mplayer/mplayer-1.0_pre4-r2.ebuild
@@ -0,0 +1,408 @@
+# Copyright 1999-2004 Gentoo Technologies, Inc.
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/media-video/mplayer/mplayer-1.0_pre4-r2.ebuild,v 1.1 2004/05/19 06:34:24 phosphan Exp $
+
+IUSE="dga oss xmms jpeg 3dfx sse matrox sdl X svga ggi oggvorbis 3dnow aalib gnome xv opengl truetype dvd gtk gif esd fbcon encode alsa directfb arts dvb samba lirc matroska debug joystick theora ipv6 v4l v4l2 live"
+
+inherit eutils flag-o-matic check-kernel
+
+# NOTE to myself: Test this thing with and without dvd/gtk+ support,
+# as it seems the mplayer guys dont really care to
+# make it work without dvd support.
+
+# Handle PREversions as well
+MY_PV="${PV/_/}"
+S="${WORKDIR}/MPlayer-${MY_PV}"
+SRC_URI="mirror://mplayer/releases/MPlayer-${MY_PV}.tar.bz2
+ mirror://mplayer/releases/fonts/font-arial-iso-8859-1.tar.bz2
+ mirror://mplayer/releases/fonts/font-arial-iso-8859-2.tar.bz2
+ svga? ( http://mplayerhq.hu/~alex/svgalib_helper-1.9.17-mplayer.tar.bz2 )
+ gtk? ( mirror://mplayer/Skin/Blue-1.0.tar.bz2 )"
+# Only install Skin if GUI should be build (gtk as USE flag)
+DESCRIPTION="Media Player for Linux"
+HOMEPAGE="http://www.mplayerhq.hu/"
+
+# 'encode' in USE for MEncoder.
+RDEPEND="ppc? ( >=media-libs/xvid-0.9.0 )
+ amd64? ( >=media-libs/xvid-0.9.0 )
+ x86? ( >=media-libs/xvid-0.9.0
+ >=media-libs/divx4linux-20030428
+ >=media-libs/win32codecs-0.60 )
+ gtk? ( media-libs/libpng
+ virtual/x11
+ =x11-libs/gtk+-1.2*
+ =dev-libs/glib-1.2* )
+ jpeg? ( media-libs/jpeg )
+ gif? ( media-libs/giflib
+ media-libs/libungif )
+ truetype? ( >=media-libs/freetype-2.1 )
+ esd? ( media-sound/esound )
+ ggi? ( media-libs/libggi )
+ sdl? ( media-libs/libsdl )
+ alsa? ( media-libs/alsa-lib )
+ arts? ( kde-base/arts )
+ nas? ( media-libs/nas )
+ lirc? ( app-misc/lirc )
+ aalib? ( media-libs/aalib )
+ svga? ( media-libs/svgalib )
+ encode? ( media-sound/lame
+ >=media-libs/libdv-0.9.5 )
+ xmms? ( media-sound/xmms )
+ matroska? ( >=media-libs/libmatroska-0.6.0 )
+ opengl? ( virtual/opengl )
+ directfb? ( dev-libs/DirectFB )
+ oggvorbis? ( media-libs/libvorbis )
+ nls? ( sys-devel/gettext )
+ media-sound/cdparanoia
+ mpeg? ( media-libs/faad2 )
+ samba? ( >=net-fs/samba-2.2.8a )
+ theora? ( media-libs/libtheora )
+ live? ( >=media-plugins/live-2004.01.05 )
+ >=sys-apps/portage-2.0.36"
+# dvd? ( media-libs/libdvdnav )
+# Hardcode paranoia support for now, as there is no
+# related USE flag.
+
+DEPEND="${RDEPEND}
+ x86? ( dev-lang/nasm )
+ app-arch/unzip"
+
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~x86 ~ppc ~alpha ~amd64 -ia64 -hppa ~sparc"
+
+
+pkg_setup() {
+ echo
+ einfo "Please note that we do not use C[XX]FLAGS from /etc/make.conf"
+ einfo "or the environment, as the MPlayer guys then do not give support"
+ einfo "in case of bug reports!."
+ echo
+ echo -ne "\a" ; sleep 0.1 &>/dev/null ; sleep 0,1 &>/dev/null
+ echo -ne "\a" ; sleep 1
+ echo -ne "\a" ; sleep 0.1 &>/dev/null ; sleep 0,1 &>/dev/null
+ echo -ne "\a" ; sleep 1
+ sleep 3
+}
+
+src_unpack() {
+
+ unpack MPlayer-${MY_PV}.tar.bz2 \
+ font-arial-iso-8859-1.tar.bz2 font-arial-iso-8859-2.tar.bz2
+
+ use svga && unpack svgalib_helper-1.9.17-mplayer.tar.bz2
+
+ use gtk && unpack Blue-1.0.tar.bz2
+
+ cd ${S}
+
+ # Fix head/tail call for new coreutils
+ epatch ${FILESDIR}/${PN}-0.90-coreutils-fixup.patch
+
+ # Fix mencoder segfaulting with bad arguments
+ epatch ${FILESDIR}/mencoder-segfault.patch
+
+ # GCC 3.4 fixes
+ epatch ${FILESDIR}/${P}-alsa-gcc34.patch
+
+ # fixes for mga driver with kernel 2.6
+ get_KV_info
+ epatch ${FILESDIR}/mga-kernel-2.6.patch
+ sed -i -e "s/KERNEL_VERSION_HERE/${KV_full}/" drivers/Makefile \
+ || die "sed failed on kernel version substitution"
+
+ # Fix hppa detection
+ [ "${ARCH}" = "hppa" ] && sed -i -e "s/9000*/parisc*/" "${S}/configure"
+
+ if [ "`use svga`" ]
+ then
+ echo
+ einfo "Enabling vidix non-root mode."
+ einfo "(You need a proper svgalib_helper.o module for your kernel"
+ einfo " to actually use this)"
+ echo
+
+ mv ${WORKDIR}/svgalib_helper ${S}/libdha
+ cd ${S}/libdha
+ sed -i -e "s/^#CFLAGS/CFLAGS/" Makefile
+ fi
+}
+
+src_compile() {
+
+ filter-flags -fPIC
+
+ use matrox && check_KV
+
+ local myconf=
+
+ use 3dnow \
+ || myconf="${myconf} --disable-3dnow --disable-3dnowex"
+
+ use sse \
+ || myconf="${myconf} --disable-sse --disable-sse2"
+
+ # Only disable MMX if 3DNOW or SSE is not in USE
+ use mmx || use 3dnow || use sse \
+ || myconf="${myconf} --disable-mmx --disable-mmx2"
+
+ # Only disable X if gtk is not in USE
+ use X || use gtk \
+ || myconf="${myconf} --disable-gui --disable-x11 --disable-xv \
+ --disable-xmga --disable-png"
+ use jpeg \
+ || myconf="${myconf} --disable-jpeg"
+
+ use gif \
+ || myconf="${myconf} --disable-gif"
+
+ ( use matrox && use X ) \
+ && myconf="${myconf} --enable-xmga" \
+ || myconf="${myconf} --disable-xmga"
+
+ use gtk \
+ && myconf="${myconf} --enable-gui --enable-x11 \
+ --enable-xv --enable-vm --enable-png"
+
+ use encode \
+ && myconf="${myconf} --enable-mencoder --enable-tv" \
+ || myconf="${myconf} --disable-mencoder"
+
+ use v4l \
+ && myconf="${myconf} --enable-tv-v4l" \
+ || myconf="${myconf} --disable-tv-v4l"
+
+ use v4l2 \
+ && myconf="${myconf} --enable-tv-v4l2" \
+ || myconf="${myconf} --disable-tv-v4l2"
+
+ use dvd \
+ && myconf="${myconf} --enable-mpdvdkit" \
+ || myconf="${myconf} --disable-mpdvdkit --disable-dvdread"
+ # Disable dvdnav support as its not considered to be
+ # functional anyhow, and will be removed.
+
+ use mpeg \
+ && myconf="${myconf} --enable-external-faad" \
+ || myconf="${myconf} --disable-external-faad"
+
+ use dvb \
+ && myconf="${myconf} --enable-dvb" \
+ || myconf="${myconf} --disable-dvb --disable-dvbhead"
+
+ use debug \
+ && myconf="${myconf} --enable-debug"
+
+ if [ -d /opt/RealPlayer9/Real/Codecs ]
+ then
+ einfo "Setting REALLIBDIR to /opt/RealPlayer9/Real/Codecs..."
+ REALLIBDIR="/opt/RealPlayer9/Real/Codecs"
+ elif [ -d /opt/RealPlayer8/Codecs ]
+ then
+ einfo "Setting REALLIBDIR to /opt/RealPlayer8/Codecs..."
+ REALLIBDIR="/opt/RealPlayer8/Codecs"
+ else
+ REALLIBDIR="/usr/lib/real"
+ fi
+
+ if [ -e /dev/.devfsd ]
+ then
+ myconf="${myconf} --enable-linux-devfs"
+ fi
+
+ has_pic && CC="${CC} `test_flag -fno-pic` `test_flag -nopie`"
+
+ # Crashes on start when compiled with most optimizations.
+ # The code have CPU detection code now, with CPU specific
+ # optimizations, so extra should not be needed and is not
+ # recommended by the authors
+ unset CFLAGS CXXFLAGS
+ ./configure --prefix=/usr \
+ --datadir=/usr/share/mplayer \
+ --confdir=/usr/share/mplayer \
+ --disable-runtime-cpudetection \
+ --enable-largefiles \
+ --enable-menu \
+ --enable-real \
+ --with-reallibdir=${REALLIBDIR} \
+ --with-x11incdir=/usr/X11R6/include \
+ `use_enable xinerama` \
+ `use_enable oggvorbis vorbis` \
+ `use_enable esd` \
+ `use_enable truetype freetype` \
+ `use_enable opengl gl` \
+ `use_enable sdl` \
+ `use_enable nls i18n` \
+ `use_enable samba smb` \
+ `use_enable aalib aa` \
+ `use_enable oss ossaudio` \
+ `use_enable ggi` \
+ `use_enable svga` \
+ `use_enable directfb` \
+ `use_enable fbcon fbdev` \
+ `use_enable alsa` \
+ `use_enable arts` \
+ `use_enable lirc` \
+ `use_enable joystick` \
+ `use_enable theora` \
+ `use_enable nas` \
+ `use_enable 3dfx tdfxfb` \
+ `use_enable matrox mga` \
+ `use_enable xmms` \
+ `use_enable ipv6 inet6` \
+ `use_enable live` \
+ ${myconf} || die
+ # Breaks with gcc-2.95.3, bug #14479:
+ # --enable-shared-pp \
+ # Enable untested and currently unused code:
+ # --enable-dynamic-plugins \
+
+ # emake borks on fast boxes - Azarah (07 Aug 2002)
+ einfo "Make"
+ make all || die "Failed to build MPlayer!"
+ einfo "Make completed"
+
+ # We build the shared libpostproc.so here so that our
+ # mplayer binary is not linked to it, ensuring that we
+ # do not run into issues ... (bug #14479)
+ cd ${S}/libavcodec/libpostproc
+ make SHARED_PP="yes" || die "Failed to build libpostproc.so!"
+
+ if [ -n "`use matrox`" ]
+ then
+ local oldarch=${ARCH}
+ if [ ${ARCH} = "x86" ]; then
+ ARCH="i386"
+ fi
+ get_KV_info
+ cd -P /lib/modules/${KV_full}/build
+ addwrite ${PWD}/.tmp_versions
+ addwrite ${PWD}/.__modpost.cmd
+ cd ${S}/drivers
+ make all || die "Failed to build matrox driver!"
+ ARCH=${oldarch}
+ fi
+}
+
+src_install() {
+
+ einfo "Make install"
+ make prefix=${D}/usr \
+ BINDIR=${D}/usr/bin \
+ LIBDIR=${D}/usr/lib \
+ CONFDIR=${D}/usr/share/mplayer \
+ DATADIR=${D}/usr/share/mplayer \
+ MANDIR=${D}/usr/share/man \
+ install || die "Failed to install MPlayer!"
+ einfo "Make install completed"
+
+ # libpostproc is now installed by >=ffmpeg-0.4.8.20040222
+# cd ${S}/libavcodec/libpostproc
+# make prefix=${D}/usr \
+# SHARED_PP="yes" \
+# install || die "Failed to install libpostproc.so!"
+# cd ${S}
+
+ dodoc AUTHORS ChangeLog README
+ # Install the documentation; DOCS is all mixed up not just html
+ find ${S}/DOCS -type d | xargs -- chmod 0755
+ cp -r ${S}/DOCS ${D}/usr/share/doc/${PF}/ || die
+
+ # Copy misc tools to documentation path, as they're not installed
+ # directly
+ find ${S}/TOOLS -type d | xargs -- chmod 0755
+ cp -r ${S}/TOOLS ${D}/usr/share/doc/${PF} || die
+
+ # Install the default Skin and Gnome menu entry
+ if [ -n "`use gtk`" ]
+ then
+ dodir /usr/share/mplayer/Skin
+ cp -r ${WORKDIR}/Blue ${D}/usr/share/mplayer/Skin/default || die
+
+ # Fix the symlink
+ rm -rf ${D}/usr/bin/gmplayer
+ dosym mplayer /usr/bin/gmplayer
+ fi
+
+ if [ -n "`use gnome`" ]
+ then
+ insinto /usr/share/pixmaps
+ newins ${S}/Gui/mplayer/pixmaps/logo.xpm mplayer.xpm
+ insinto /usr/share/gnome/apps/Multimedia
+ doins ${FILESDIR}/mplayer.desktop
+ fi
+
+ dodir /usr/share/mplayer/fonts
+ local x=
+ # Do this generic, as the mplayer people like to change the structure
+ # of their zips ...
+ for x in $(find ${WORKDIR}/ -type d -name 'font-arial-??-iso-*')
+ do
+ cp -Rd ${x} ${D}/usr/share/mplayer/fonts
+ done
+ # Fix the font symlink ...
+ rm -rf ${D}/usr/share/mplayer/font
+ dosym fonts/font-arial-14-iso-8859-1 /usr/share/mplayer/font
+
+ insinto /etc
+ newins ${S}/etc/example.conf mplayer.conf
+ dosed -e 's/include =/#include =/' /etc/mplayer.conf
+ dosed -e 's/fs=yes/fs=no/' /etc/mplayer.conf
+ dosym ../../../etc/mplayer.conf /usr/share/mplayer/mplayer.conf
+
+ insinto /usr/share/mplayer
+ doins ${S}/etc/codecs.conf
+ doins ${S}/etc/input.conf
+ doins ${S}/etc/menu.conf
+
+ if [ -n "`use matrox`" ]
+ then
+ check_KV
+ insinto /lib/modules/${KV}/kernel/drivers/char
+ doins ${S}/drivers/mga_vid.o
+ fi
+}
+
+pkg_preinst() {
+
+ if [ -d "${ROOT}/usr/share/mplayer/Skin/default" ]
+ then
+ rm -rf ${ROOT}/usr/share/mplayer/Skin/default
+ fi
+}
+
+pkg_postinst() {
+
+ if [ -n "`use ppc`" ]
+ then
+ echo
+ einfo "When you see only GREEN salad on your G4 while playing"
+ einfo "a DivX, you should recompile _without_ altivec enabled."
+ einfo "Further information: http://bugs.gentoo.org/show_bug.cgi?id=18511"
+ echo
+ einfo "If everything functions fine with watching DivX and"
+ einfo "altivec enabled, please drop a comment on the mentioned bug!"
+ echo
+ einfo "libpostproc is no longer installed by mplayer. If you have an"
+ einfo "application that depends on it, install >=ffmpeg-0.4.8.20040222"
+ fi
+
+ depmod -a &>/dev/null || :
+}
+
+pkg_postrm() {
+
+ # Cleanup stale symlinks
+ if [ -L ${ROOT}/usr/share/mplayer/font -a \
+ ! -e ${ROOT}/usr/share/mplayer/font ]
+ then
+ rm -f ${ROOT}/usr/share/mplayer/font
+ fi
+
+ if [ -L ${ROOT}/usr/share/mplayer/subfont.ttf -a \
+ ! -e ${ROOT}/usr/share/mplayer/subfont.ttf ]
+ then
+ rm -f ${ROOT}/usr/share/mplayer/subfont.ttf
+ fi
+}
+