diff options
author | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 13:49:04 -0700 |
---|---|---|
committer | Robin H. Johnson <robbat2@gentoo.org> | 2015-08-08 17:38:18 -0700 |
commit | 56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch) | |
tree | 3f91093cdb475e565ae857f1c5a7fd339e2d781e /media-libs/svgalib | |
download | gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.gz gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.tar.bz2 gentoo-56bd759df1d0c750a065b8c845e93d5dfa6b549d.zip |
proj/gentoo: Initial commit
This commit represents a new era for Gentoo:
Storing the gentoo-x86 tree in Git, as converted from CVS.
This commit is the start of the NEW history.
Any historical data is intended to be grafted onto this point.
Creation process:
1. Take final CVS checkout snapshot
2. Remove ALL ChangeLog* files
3. Transform all Manifests to thin
4. Remove empty Manifests
5. Convert all stale $Header$/$Id$ CVS keywords to non-expanded Git $Id$
5.1. Do not touch files with -kb/-ko keyword flags.
Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
X-Thanks: Alec Warner <antarus@gentoo.org> - did the GSoC 2006 migration tests
X-Thanks: Robin H. Johnson <robbat2@gentoo.org> - infra guy, herding this project
X-Thanks: Nguyen Thai Ngoc Duy <pclouds@gentoo.org> - Former Gentoo developer, wrote Git features for the migration
X-Thanks: Brian Harring <ferringb@gentoo.org> - wrote much python to improve cvs2svn
X-Thanks: Rich Freeman <rich0@gentoo.org> - validation scripts
X-Thanks: Patrick Lauer <patrick@gentoo.org> - Gentoo dev, running new 2014 work in migration
X-Thanks: Michał Górny <mgorny@gentoo.org> - scripts, QA, nagging
X-Thanks: All of other Gentoo developers - many ideas and lots of paint on the bikeshed
Diffstat (limited to 'media-libs/svgalib')
-rw-r--r-- | media-libs/svgalib/Manifest | 1 | ||||
-rw-r--r-- | media-libs/svgalib/files/svgalib-1.9.19-pic.patch | 17 | ||||
-rw-r--r-- | media-libs/svgalib/files/svgalib-1.9.25-build.patch | 73 | ||||
-rw-r--r-- | media-libs/svgalib/files/svgalib-1.9.25-build2.patch | 14 | ||||
-rw-r--r-- | media-libs/svgalib/files/svgalib-1.9.25-glibc210.patch | 109 | ||||
-rw-r--r-- | media-libs/svgalib/files/svgalib-1.9.25-kernel3.4.patch | 29 | ||||
-rwxr-xr-x | media-libs/svgalib/files/svgalib-1.9.25-linux2.6.28.patch | 30 | ||||
-rw-r--r-- | media-libs/svgalib/files/svgalib-1.9.25-linux2.6.36-r1.patch | 32 | ||||
-rw-r--r-- | media-libs/svgalib/files/svgalib-1.9.25-linux2.6.patch | 289 | ||||
-rw-r--r-- | media-libs/svgalib/files/svgalib-1.9.25-qa.patch | 33 | ||||
-rw-r--r-- | media-libs/svgalib/files/svgalib-1.9.25-segfault.patch | 11 | ||||
-rw-r--r-- | media-libs/svgalib/files/svgalib.udev.rules.d.2 | 1 | ||||
-rw-r--r-- | media-libs/svgalib/metadata.xml | 11 | ||||
-rw-r--r-- | media-libs/svgalib/svgalib-1.9.25-r4.ebuild | 129 |
14 files changed, 779 insertions, 0 deletions
diff --git a/media-libs/svgalib/Manifest b/media-libs/svgalib/Manifest new file mode 100644 index 000000000000..a79e61aa7af1 --- /dev/null +++ b/media-libs/svgalib/Manifest @@ -0,0 +1 @@ +DIST svgalib-1.9.25.tar.gz 987084 SHA256 2ad5da713a6bd69622c483de4e4f448ed2b82f7b954db43dc477d5b6b12d8602 SHA512 697e417e6fb4fc3c41f47945a87bd0252f33b565ac1b20d98f984168c6b3ac0f04887e929fbf912ef7bb7b0a3b0a1763cc7cf3e316b62235cc926ca4b1ed96f7 WHIRLPOOL 7956941849ff5d3516681736b224246c11345c6982f074fb58f1145c9c24b9a539334a47d6596bd0c524c0b9d09e0ee713cec0e6d531be9f981c7556cf7615e1 diff --git a/media-libs/svgalib/files/svgalib-1.9.19-pic.patch b/media-libs/svgalib/files/svgalib-1.9.19-pic.patch new file mode 100644 index 000000000000..b068886cc1d1 --- /dev/null +++ b/media-libs/svgalib/files/svgalib-1.9.19-pic.patch @@ -0,0 +1,17 @@ +the -fPIC flag does work for lrmi + +http://bugs.gentoo.org/51698 + +--- svgalib-1.9.19/src/Makefile.jj 2004-09-09 09:08:24.369399280 -0700 ++++ svgalib-1.9.19/src/Makefile 2004-09-09 09:08:32.340187536 -0700 +@@ -462,8 +462,8 @@ + $(CC) $(CFLAGS) $(VGA_DEFINES) -c -o $@ $< + + #lrmi must NOT be compiled as -fPIC +-lrmi.o: lrmi.c +- $(CC) $(CFLAGS:-fPIC=) -c -o $@ $< ++#lrmi.o: lrmi.c ++# $(CC) $(CFLAGS:-fPIC=) -c -o $@ $< + + $(RAMDAC): %.o: %.c + $(CC) $(CFLAGS) $(RAMDAC_DEFINES) -c -o $@ $< diff --git a/media-libs/svgalib/files/svgalib-1.9.25-build.patch b/media-libs/svgalib/files/svgalib-1.9.25-build.patch new file mode 100644 index 000000000000..946b5303663d --- /dev/null +++ b/media-libs/svgalib/files/svgalib-1.9.25-build.patch @@ -0,0 +1,73 @@ +fix up build + +dont strip the binary as portage will take care of it + +--- svgalib-1.9.25/Makefile.cfg ++++ svgalib-1.9.25/Makefile.cfg +@@ -44,7 +44,7 @@ CONFDIR = $(SRCDIR)/src/config + # Common prefix for installation directories. + # NOTE: This directory must exist when you start the install. + TOPDIR= +-prefix = $(TOPDIR)/usr/local ++prefix = $(TOPDIR)/usr + exec_prefix = $(prefix) + + # Directory where the shared stubs and static library will be installed. +@@ -313,14 +313,13 @@ + WARN = -Wall -Wstrict-prototypes + INCLUDES = -I$(srcdir)/include -I. + CFLAGS = $(WARN) $(DLLFLAGS) $(INCLUDES) $(OPTIMIZE) $(DEFINES) +-LDFLAGS = -s + + # additional flags for shared lib. + DLLFLAGS = -fPIC -DPIC + + # Utilites used. + AR = ar +-INSTALL_PROGRAM = install -sm755 ++INSTALL_PROGRAM = install -m755 + INSTALL_SCRIPT = install -m755 + INSTALL_SHLIB = install -m755 + INSTALL_DATA = install -m644 +--- svgalib-1.9.25/Makefile ++++ svgalib-1.9.25/Makefile +@@ -99,8 +99,6 @@ + (cd $(sharedlibdir); \ + ln -sf $$foo `echo $$foo | sed 's/\.so\..*/.so/'` ); \ + done +- @./fixldsoconf +- -ldconfig + + installstaticlib: static + @echo Installing static libraries in $(libdir). +--- svgalib-1.9.25/gl/Makefile ++++ svgalib-1.9.25/gl/Makefile +@@ -29,7 +29,7 @@ all: libvgagl.a + .PHONY: all clean dep + + libvgagl.so.$(VERSION): $(MODULES) +- $(CC) -s -shared -Wl,-soname,libvgagl.so.$(MAJOR_VER) -o libvgagl.so.$(VERSION) \ ++ $(CC) -shared -Wl,-soname,libvgagl.so.$(MAJOR_VER) -o libvgagl.so.$(VERSION) \ + $(MODULES) + + libvgagl.a: $(MODULES) +--- svgalib-1.9.25/threeDKit/Makefile ++++ svgalib-1.9.25/threeDKit/Makefile +@@ -58,7 +58,6 @@ + $(sharedlibdir)/lib3dkit.so.$(VERSION): lib3dkit.so.$(VERSION) + $(INSTALL_SHLIB) $< $(sharedlibdir)/$< + (cd $(sharedlibdir); ln -sf lib3dkit.so.$(VERSION) `echo lib3dkit.so.$(VERSION) | sed 's/\.so\..*/.so/'` ) +- -ldconfig + + install: $(sharedlibdir)/lib3dkit.so.$(VERSION) installheaders + +--- svgalib-1.9.25/src/Makefile ++++ svgalib-1.9.25/src/Makefile +@@ -453,7 +453,6 @@ + + $(sharedlibdir)/libvga.so.$(VERSION): libvga.so.$(VERSION) + $(INSTALL_SHLIB) $< $(sharedlibdir)/$< +- -ldconfig + + install: $(sharedlibdir)/libvga.so.$(VERSION) + diff --git a/media-libs/svgalib/files/svgalib-1.9.25-build2.patch b/media-libs/svgalib/files/svgalib-1.9.25-build2.patch new file mode 100644 index 000000000000..a367363f044a --- /dev/null +++ b/media-libs/svgalib/files/svgalib-1.9.25-build2.patch @@ -0,0 +1,14 @@ +--- svgalib-1.9.21/Makefile.makefiles 2005-03-18 14:49:10.000000000 +0100 ++++ svgalib-1.9.21/Makefile 2005-07-08 21:16:12.000000000 +0200 +@@ -152,8 +126,10 @@ + @echo "savetextmode: Script that saves textmode information used by 'textmode'." + @$(INSTALL_SCRIPT) utils/savetextmode $(bindir) + ifeq ($(LRMI),lrmi) +- @echo "mode3: Restore textmode by setting VESA mode 3." ++ @echo "mode3: Restore textmode by setting VESA mode 3." + @$(INSTALL_PROGRAM) lrmi-0.6m/mode3 $(bindir) ++ @echo "vga_reset: Restore textmode by resetting graphic board." ++ @cp lrmi-0.6m/vga_reset $(bindir) + endif + @echo "Installing keymap utilities in $(bindir):" + @echo "svgakeymap: Perl script that generates scancode conversion maps." diff --git a/media-libs/svgalib/files/svgalib-1.9.25-glibc210.patch b/media-libs/svgalib/files/svgalib-1.9.25-glibc210.patch new file mode 100644 index 000000000000..ed80935e955a --- /dev/null +++ b/media-libs/svgalib/files/svgalib-1.9.25-glibc210.patch @@ -0,0 +1,109 @@ +diff -Naur svgalib-1.9.25/utils/gtf/gtfcalc.c svgalib-1.9.25.new/utils/gtf/gtfcalc.c +--- svgalib-1.9.25/utils/gtf/gtfcalc.c 2005-07-10 15:33:16.000000000 -0400 ++++ svgalib-1.9.25.new/utils/gtf/gtfcalc.c 2009-07-09 15:39:08.743610103 -0400 +@@ -64,7 +64,9 @@ + + /*-------------------------- Implementation -------------------------------*/ + +-static double round(double v) ++static double svg_round(double v); ++ ++double svg_round(double v) + { + return floor(v + 0.5); + } +@@ -84,9 +86,9 @@ + ****************************************************************************/ + { + c->margin = GC.margin; +- c->cellGran = round(GC.cellGran); +- c->minPorch = round(GC.minPorch); +- c->vSyncRqd = round(GC.vSyncRqd); ++ c->cellGran = svg_round(GC.cellGran); ++ c->minPorch = svg_round(GC.minPorch); ++ c->vSyncRqd = svg_round(GC.vSyncRqd); + c->hSync = GC.hSync; + c->minVSyncBP = GC.minVSyncBP; + if (GC.k == 0) +@@ -140,13 +142,13 @@ + vFreq = hFreq = dotClock = freq; + + /* Round pixels to character cell granularity */ +- hPixels = round(hPixels / c.cellGran) * c.cellGran; ++ hPixels = svg_round(hPixels / c.cellGran) * c.cellGran; + + /* For interlaced mode halve the vertical parameters, and double + * the required field refresh rate. + */ + if (wantInterlace) { +- vLines = round(vLines / 2); ++ vLines = svg_round(vLines / 2); + vFieldRate = vFreq * 2; + dotClock = dotClock * 2; + interlace = 0.5; +@@ -158,8 +160,8 @@ + + /* Determine the lines for margins */ + if (wantMargins) { +- topMarginLines = round(c.margin / 100 * vLines); +- botMarginLines = round(c.margin / 100 * vLines); ++ topMarginLines = svg_round(c.margin / 100 * vLines); ++ botMarginLines = svg_round(c.margin / 100 * vLines); + } + else { + topMarginLines = 0; +@@ -173,11 +175,11 @@ + (vLines + (2*topMarginLines) + c.minPorch + interlace) * 1000000; + + /* Find the number of lines in vSync + back porch */ +- vSyncBP = round(c.minVSyncBP / hPeriodEst); ++ vSyncBP = svg_round(c.minVSyncBP / hPeriodEst); + } + else if (type == GTF_lockHF) { + /* Find the number of lines in vSync + back porch */ +- vSyncBP = round((c.minVSyncBP * hFreq) / 1000); ++ vSyncBP = svg_round((c.minVSyncBP * hFreq) / 1000); + } + + /* Find the number of lines in the V back porch alone */ +@@ -205,8 +207,8 @@ + + /* Find the number of pixels in the left and right margins */ + if (wantMargins) { +- leftMarginPixels = round(hPixels * c.margin) / (100 * c.cellGran); +- rightMarginPixels = round(hPixels * c.margin) / (100 * c.cellGran); ++ leftMarginPixels = svg_round(hPixels * c.margin) / (100 * c.cellGran); ++ rightMarginPixels = svg_round(hPixels * c.margin) / (100 * c.cellGran); + } + else { + leftMarginPixels = 0; +@@ -235,17 +237,17 @@ + } + + /* Find the number of pixels in blanking time */ +- hBlankPixels = round((hTotalActivePixels * idealDutyCycle) / ++ hBlankPixels = svg_round((hTotalActivePixels * idealDutyCycle) / + ((100 - idealDutyCycle) * 2 * c.cellGran)) * (2 * c.cellGran); + + /* Find the total number of pixels */ + hTotalPixels = hTotalActivePixels + hBlankPixels; + + /* Find the horizontal back porch */ +- hBackPorch = round((hBlankPixels / 2) / c.cellGran) * c.cellGran; ++ hBackPorch = svg_round((hBlankPixels / 2) / c.cellGran) * c.cellGran; + + /* Find the horizontal sync width */ +- hSyncWidth = round(((c.hSync/100) * hTotalPixels) / c.cellGran) * c.cellGran; ++ hSyncWidth = svg_round(((c.hSync/100) * hTotalPixels) / c.cellGran) * c.cellGran; + + /* Find the horizontal sync + back porch */ + hSyncBP = hBackPorch + hSyncWidth; +@@ -258,7 +260,7 @@ + hPeriod = 1000 / hFreq; + + /* Find the number of lines in vSync + back porch */ +- vSyncBP = round((c.minVSyncBP * hFreq) / 1000); ++ vSyncBP = svg_round((c.minVSyncBP * hFreq) / 1000); + + /* Find the number of lines in the V back porch alone */ + vBackPorch = vSyncBP - c.vSyncRqd; diff --git a/media-libs/svgalib/files/svgalib-1.9.25-kernel3.4.patch b/media-libs/svgalib/files/svgalib-1.9.25-kernel3.4.patch new file mode 100644 index 000000000000..5e2d1e527cbb --- /dev/null +++ b/media-libs/svgalib/files/svgalib-1.9.25-kernel3.4.patch @@ -0,0 +1,29 @@ +diff -Naur svgalib-1.9.25/kernel/svgalib_helper/main.c svgalib-1.9.25_new/kernel/svgalib_helper/main.c
+--- svgalib-1.9.25/kernel/svgalib_helper/main.c 2006-01-12 18:17:53.000000000 +0000
++++ svgalib-1.9.25_new/kernel/svgalib_helper/main.c 2012-06-25 15:02:11.000000000 +0100
+@@ -33,7 +33,9 @@
+
+ #include <asm/processor.h>
+ #include <asm/uaccess.h>
+-#include <asm/system.h> /* cli(), *_flags */
++#if LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0)
++ #include <asm/system.h> /* cli(), *_flags */
++#endif
+ #include <asm/segment.h> /* memcpy and such */
+ #include <asm/io.h>
+ #include <asm/pgtable.h>
+diff -Naur svgalib-1.9.25/kernel/svgalib_helper/Makefile svgalib-1.9.25_new/kernel/svgalib_helper/Makefile
+--- svgalib-1.9.25/kernel/svgalib_helper/Makefile 2006-05-20 13:31:04.000000000 +0100
++++ svgalib-1.9.25_new/kernel/svgalib_helper/Makefile 2012-06-25 13:39:38.000000000 +0100
+@@ -11,9 +11,11 @@
+ PWD := $(shell pwd)
+ TARGET := svgalib_helper
+
++ ifneq ($(TOPDIR),)
+ ifeq ($(PATCHLEVEL),4)
+ include $(TOPDIR)/Rules.make
+ endif
++ endif
+
+ else
+
\ No newline at end of file diff --git a/media-libs/svgalib/files/svgalib-1.9.25-linux2.6.28.patch b/media-libs/svgalib/files/svgalib-1.9.25-linux2.6.28.patch new file mode 100755 index 000000000000..7742110da429 --- /dev/null +++ b/media-libs/svgalib/files/svgalib-1.9.25-linux2.6.28.patch @@ -0,0 +1,30 @@ +--- svgalib-1.9.25-original/kernel/svgalib_helper/kernel26compat.h 2008-12-26 15:52:24.000000000 +0100 ++++ svgalib-1.9.25/kernel/svgalib_helper/kernel26compat.h 2008-12-26 16:48:46.000000000 +0100 +@@ -128,7 +128,7 @@ + MKDEV(SVGALIB_HELPER_MAJOR, _minor), \ + _name); + /* 2.6.27 changed device_create to device_create_drvdata */ +-#else ++#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28) + # define SLH_SYSFS_ADD_CONTROL \ + device_create_drvdata(svgalib_helper_class, NULL, \ + MKDEV(SVGALIB_HELPER_MAJOR, 0), \ +@@ -139,6 +139,18 @@ + &sh_pci_devs[_minor]->dev->dev, \ + MKDEV(SVGALIB_HELPER_MAJOR, _minor), \ + "%s%d", _name, _minor); ++/* 2.6.28 changed device_create_drvdata back to device_create */ ++#else ++# define SLH_SYSFS_ADD_CONTROL \ ++ device_create(svgalib_helper_class, NULL, \ ++ MKDEV(SVGALIB_HELPER_MAJOR, 0), NULL, \ ++ "%s%d", "svga", 0); ++ ++# define SLH_SYSFS_ADD_DEVICE(_name, _minor) \ ++ device_create(svgalib_helper_class, \ ++ &sh_pci_devs[_minor]->dev->dev, \ ++ MKDEV(SVGALIB_HELPER_MAJOR, _minor), NULL, \ ++ "%s%d", _name, _minor); + #endif + + # define SLH_SYSFS_REMOVE_DEVICE(i) \ diff --git a/media-libs/svgalib/files/svgalib-1.9.25-linux2.6.36-r1.patch b/media-libs/svgalib/files/svgalib-1.9.25-linux2.6.36-r1.patch new file mode 100644 index 000000000000..ad8d94cb8702 --- /dev/null +++ b/media-libs/svgalib/files/svgalib-1.9.25-linux2.6.36-r1.patch @@ -0,0 +1,32 @@ +--- svgalib-1.9.25.orig/kernel/svgalib_helper/main.c ++++ svgalib-1.9.25/kernel/svgalib_helper/main.c +@@ -162,10 +162,16 @@ static void task_startad(void *data) { + get_user(pciv.address, &user_pciv->address); \ + get_user(pciv.val, &user_pciv->val); + #define PUT_PCIV \ +- put_user(pciv.val, &user_pciv->val); ++ put_user(pciv.val, &user_pciv->val); ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36) + static int svgalib_helper_ioctl( struct inode *inode, struct file *filp, + unsigned int cmd, unsigned long arg) { ++#else ++static int svgalib_helper_ioctl(struct file *filp, ++ unsigned int cmd, unsigned long arg) { ++ struct inode *inode=filp->f_dentry->d_inode; ++#endif + + io_t iov, *user_iov=(io_t *)arg; + pcic_t pciv, *user_pciv=(pcic_t *)arg; + int minor = my_minor(inode->i_rdev); +@@ -595,7 +601,11 @@ struct file_operations svgalib_helper_fo + #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,3,0) + .owner = THIS_MODULE, + #endif ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,36) + .ioctl = svgalib_helper_ioctl, ++#else ++ .unlocked_ioctl = svgalib_helper_ioctl, ++#endif + .mmap = svgalib_helper_mmap, + .open = svgalib_helper_open, + .release = svgalib_helper_release, diff --git a/media-libs/svgalib/files/svgalib-1.9.25-linux2.6.patch b/media-libs/svgalib/files/svgalib-1.9.25-linux2.6.patch new file mode 100644 index 000000000000..20ab1fe1ed16 --- /dev/null +++ b/media-libs/svgalib/files/svgalib-1.9.25-linux2.6.patch @@ -0,0 +1,289 @@ + - get rid of warning when linux/device.h doesnt exist + - touch up the Makefile to let the ebuild handle the module details + - fix support with io remap stuff in newer kernels + - dont include headers that dont exist in 2.4.x kernels + - use module_param() for 2.6.x and MODULE_PARM() for all others + - dont declare all_devices as static since it is exported + - dont include <linux/config.h> as the build system does it for us + - in lrmi, map old flag names to new names for versions >= 2.6.26 + +--- svgalib/kernel/svgalib_helper/Makefile ++++ svgalib/kernel/svgalib_helper/Makefile +@@ -25,7 +25,7 @@ + endif + + +-CLASS_SIMPLE := $(shell grep class_simple_create $(KDIR)/include/linux/device.h) ++CLASS_SIMPLE := $(shell grep -s class_simple_create $(KDIR)/include/linux/device.h) + + ifneq ($(CLASS_SIMPLE),) + CLASS_CFLAGS = -DCLASS_SIMPLE=1 +--- svgalib/kernel/svgalib_helper/Makefile.alt ++++ svgalib/kernel/svgalib_helper/Makefile.alt +@@ -37,7 +37,7 @@ + CFLAGS += -DSVGALIB_HELPER_MAJOR=$(SVGALIB_HELPER_MAJOR) + + ifeq (1,$(findstring 1,$(MODVER))) +- CFLAGS += -DMODVERSIONS -include $(INCLUDEDIR)/linux/modversions.h ++ CFLAGS += -DMODVERSIONS -DCONFIG_MODVERSIONS=1 + endif + + TARGET = svgalib_helper +@@ -50,7 +50,8 @@ + endif + endif + +-all: .depend $(OBJS) ++modules: $(OBJS) ++all: .depend modules + + $(TARGET).o: $(SRC:.c=.o) + $(LD) -r $^ -o $@ +@@ -61,8 +62,8 @@ + install: device modules_install + + modules_install: $(OBJS) +- mkdir -p /lib/modules/$(VER)/kernel/misc +- install -m 0644 -c $(OBJS) /lib/modules/$(VER)/kernel/misc ++ mkdir -p $(TOPDIR)/lib/modules/$(VER)/kernel/misc ++ install -m 0644 -c $(OBJS) $(TOPDIR)/lib/modules/$(VER)/kernel/misc + + device: + rm -f /dev/svgalib_helper* /dev/svga_helper* /dev/svga /dev/svga? +--- svgalib/kernel/svgalib_helper/kernel26compat.h ++++ svgalib/kernel/svgalib_helper/kernel26compat.h +@@ -10,7 +10,7 @@ + # define PCI_GET_CLASS pci_find_class + # define PCI_GET_DEVICE pci_find_device + +-# if defined (PG_chainlock) ++# if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,3) + # define my_io_remap_page_range(vma, start, ofs, len, prot) \ + io_remap_page_range(vma,start,ofs,len,prot) + # else +@@ -70,6 +70,7 @@ + + /* These are also not present in 2.6 kernels ... */ + #if (!defined _LINUX_DEVFS_FS_KERNEL_H) || (defined KERNEL_2_6) ++#include <linux/fs.h> + static inline int devfs_register_chrdev (unsigned int major, const char *name, + struct file_operations *fops) + { +@@ -77,7 +78,12 @@ + } + static inline int devfs_unregister_chrdev (unsigned int major,const char *name) + { +- return unregister_chrdev (major, name); ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) ++ return unregister_chrdev (major, name); ++#else ++ unregister_chrdev (major, name); ++ return 0; ++#endif + } + #endif + +@@ -99,7 +105,8 @@ + class_device_create(svgalib_helper_class, \ + MKDEV(SVGALIB_HELPER_MAJOR, _minor), \ + &sh_pci_devs[_minor]->dev->dev, _name); +-#else /* 2.6.15 changed class_device_create */ ++/* 2.6.15 changed class_device_create */ ++#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,26) + # define SLH_SYSFS_ADD_CONTROL \ + class_device_create(svgalib_helper_class, NULL, \ + MKDEV(SVGALIB_HELPER_MAJOR, 0), \ +@@ -109,7 +116,30 @@ + class_device_create(svgalib_helper_class, NULL, \ + MKDEV(SVGALIB_HELPER_MAJOR, _minor), \ + &sh_pci_devs[_minor]->dev->dev, _name); +-#endif /* 2.6.15 */ ++/* 2.6.26 changed class_device_create to device_create */ ++#elif LINUX_VERSION_CODE < KERNEL_VERSION(2,6,27) ++# define SLH_SYSFS_ADD_CONTROL \ ++ device_create(svgalib_helper_class, NULL, \ ++ MKDEV(SVGALIB_HELPER_MAJOR, 0), \ ++ "svga"); ++ ++# define SLH_SYSFS_ADD_DEVICE(_name, _minor) \ ++ device_create(svgalib_helper_class, &sh_pci_devs[_minor]->dev->dev, \ ++ MKDEV(SVGALIB_HELPER_MAJOR, _minor), \ ++ _name); ++/* 2.6.27 changed device_create to device_create_drvdata */ ++#else ++# define SLH_SYSFS_ADD_CONTROL \ ++ device_create_drvdata(svgalib_helper_class, NULL, \ ++ MKDEV(SVGALIB_HELPER_MAJOR, 0), \ ++ "%s%d", "svga", 0); ++ ++# define SLH_SYSFS_ADD_DEVICE(_name, _minor) \ ++ device_create_drvdata(svgalib_helper_class, \ ++ &sh_pci_devs[_minor]->dev->dev, \ ++ MKDEV(SVGALIB_HELPER_MAJOR, _minor), \ ++ "%s%d", _name, _minor); ++#endif + + # define SLH_SYSFS_REMOVE_DEVICE(i) \ + class_destroy(svgalib_helper_class); +@@ -161,3 +191,7 @@ + #ifndef PCI_VENDOR_ID_RENDITION + #define PCI_VENDOR_ID_RENDITION 0x1163 + #endif ++ ++#ifndef IRQF_SHARED ++# define IRQF_SHARED SA_SHIRQ ++#endif +--- svgalib/kernel/svgalib_helper/main.c ++++ svgalib/kernel/svgalib_helper/main.c +@@ -1,5 +1,3 @@ +-#include <linux/config.h> +- + #if defined (CONFIG_MODVERSIONS) && !defined (MODVERSIONS) + # define MODVERSIONS + #endif +@@ -17,15 +15,22 @@ + #include <linux/ioport.h> + #include <linux/interrupt.h> + #include <linux/pci.h> ++#include <linux/version.h> ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,18) + #include <linux/devfs_fs_kernel.h> ++#endif + #include <linux/mm.h> ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) + #include <linux/thread_info.h> ++#endif + #include <linux/smp.h> + #include <linux/smp_lock.h> + + #include <linux/sched.h> + #include <linux/wait.h> ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,0) + #include <linux/syscalls.h> ++#endif + + #define __KERNEL_SYSCALLS__ + #include <linux/unistd.h> +@@ -50,7 +55,7 @@ + #include "displaystart.h" + + int debug=0; +-static int all_devices=0; ++int all_devices=0; + int num_devices=0; + + static char *sdev_id="svgalib_helper"; +@@ -98,7 +103,11 @@ + static volatile int vsync=0; + static wait_queue_head_t vsync_wait; + +-static irqreturn_t vsync_interrupt(int irq, void *dev_id, struct pt_regs *regs) ++static irqreturn_t vsync_interrupt(int irq, void *dev_id ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,19) ++, struct pt_regs *regs ++#endif ++) + { + struct sh_pci_device *dev = (struct sh_pci_device *)dev_id; + +@@ -355,7 +364,7 @@ + vsync=1; + i=0; + while(irqs[i]!=-1) +- request_irq(irqs[i++], vsync_interrupt, SA_SHIRQ, "svgalib_helper", sdev_id); ++ request_irq(irqs[i++], vsync_interrupt, IRQF_SHARED, "svgalib_helper", sdev_id); + vga_enable_vsync((void *)sdev_id); + wait_event_interruptible(vsync_wait, !vsync); + i=0; +@@ -443,7 +452,7 @@ + int i=sh_pci_devs[minor]->dev->irq; + sh_pci_devs[minor]->opencount++; + if(sh_pci_devs[minor]->opencount==1 && i!=0 && i!=-1 && i!=255) +- request_irq(i, vsync_interrupt, SA_SHIRQ, "svgalib_helper", sh_pci_devs[minor]); ++ request_irq(i, vsync_interrupt, IRQF_SHARED, "svgalib_helper", sh_pci_devs[minor]); + } + + #ifndef KERNEL_2_6 +@@ -763,10 +772,15 @@ + + } + ++#ifdef KERNEL_2_6 ++module_param(debug, int, 0); ++module_param(all_devices, int, 0); ++#else + MODULE_PARM(debug, "i"); +-MODULE_PARM_DESC(debug, "Debug output level."); +- + MODULE_PARM(all_devices, "i"); ++#endif ++ ++MODULE_PARM_DESC(debug, "Debug output level."); + MODULE_PARM_DESC(all_devices, "Give access to all PCI devices, regardless of class."); + + +--- svgalib/src/lrmi.6.c ++++ svgalib/src/lrmi.6.c +@@ -169,6 +169,13 @@ + } + } + ++#ifndef TF_MASK ++#define TF_MASK X86_EFLAGS_TF ++#define IF_MASK X86_EFLAGS_IF ++#define IOPL_MASK X86_EFLAGS_IOPL ++#define VIF_MASK X86_EFLAGS_VIF ++#define VIP_MASK X86_EFLAGS_VIP ++#endif + + #define DEFAULT_VM86_FLAGS (IF_MASK | IOPL_MASK) + #define DEFAULT_STACK_SIZE 0x1000 +--- svgalib/src/lrmi.9.c ++++ svgalib/src/lrmi.9.c +@@ -206,6 +206,13 @@ + + + #if defined(__linux__) ++#ifndef TF_MASK ++#define TF_MASK X86_EFLAGS_TF ++#define IF_MASK X86_EFLAGS_IF ++#define IOPL_MASK X86_EFLAGS_IOPL ++#define VIF_MASK X86_EFLAGS_VIF ++#define VIP_MASK X86_EFLAGS_VIP ++#endif + #define DEFAULT_VM86_FLAGS (IF_MASK | IOPL_MASK) + #elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) + #define DEFAULT_VM86_FLAGS (PSL_I | PSL_IOPL) +--- svgalib/lrmi-0.6m/lrmi.c ++++ svgalib/lrmi-0.6m/lrmi.c +@@ -170,6 +170,14 @@ + } + + ++#ifndef TF_MASK ++#define TF_MASK X86_EFLAGS_TF ++#define IF_MASK X86_EFLAGS_IF ++#define IOPL_MASK X86_EFLAGS_IOPL ++#define VIF_MASK X86_EFLAGS_VIF ++#define VIP_MASK X86_EFLAGS_VIP ++#endif ++ + #define DEFAULT_VM86_FLAGS (IF_MASK | IOPL_MASK) + #define DEFAULT_STACK_SIZE 0x1000 + #define RETURN_TO_32_INT 255 +--- svgalib/lrmi-0.9/lrmi.c ++++ svgalib/lrmi-0.9/lrmi.c +@@ -203,6 +203,13 @@ + + + #if defined(__linux__) ++#ifndef TF_MASK ++#define TF_MASK X86_EFLAGS_TF ++#define IF_MASK X86_EFLAGS_IF ++#define IOPL_MASK X86_EFLAGS_IOPL ++#define VIF_MASK X86_EFLAGS_VIF ++#define VIP_MASK X86_EFLAGS_VIP ++#endif + #define DEFAULT_VM86_FLAGS (IF_MASK | IOPL_MASK) + #elif defined(__NetBSD__) || defined(__FreeBSD__) || defined(__OpenBSD__) + #define DEFAULT_VM86_FLAGS (PSL_I | PSL_IOPL) diff --git a/media-libs/svgalib/files/svgalib-1.9.25-qa.patch b/media-libs/svgalib/files/svgalib-1.9.25-qa.patch new file mode 100644 index 000000000000..5f6f5a2c3aa7 --- /dev/null +++ b/media-libs/svgalib/files/svgalib-1.9.25-qa.patch @@ -0,0 +1,33 @@ +diff -Naur svgalib-1.9.25.orig/demos/bg_test.c svgalib-1.9.25/demos/bg_test.c +--- svgalib-1.9.25.orig/demos/bg_test.c 2005-07-16 23:59:22.000000000 +0400 ++++ svgalib-1.9.25/demos/bg_test.c 2012-06-09 20:28:24.698448313 +0400 +@@ -9,6 +9,7 @@ + #include <stdio.h> + #include <stdlib.h> + #include <unistd.h> ++#include <string.h> + #include <strings.h> + #include <vga.h> + #include <vgagl.h> +diff -Naur svgalib-1.9.25.orig/demos/eventtest.c svgalib-1.9.25/demos/eventtest.c +--- svgalib-1.9.25.orig/demos/eventtest.c 2012-06-09 20:26:47.000000000 +0400 ++++ svgalib-1.9.25/demos/eventtest.c 2012-06-09 20:26:53.464932538 +0400 +@@ -5,6 +5,7 @@ + #include <unistd.h> + #include <sys/time.h> + #include <sys/types.h> ++#include <time.h> + #include <vga.h> + #include <vgagl.h> + #include <vgamouse.h> +diff -Naur svgalib-1.9.25.orig/demos/vgatweak.c svgalib-1.9.25/demos/vgatweak.c +--- svgalib-1.9.25.orig/demos/vgatweak.c 2000-08-06 14:20:02.000000000 +0400 ++++ svgalib-1.9.25/demos/vgatweak.c 2012-06-09 20:29:51.108801463 +0400 +@@ -4,6 +4,7 @@ + + #include <stdio.h> + #include <unistd.h> /* for usleep( long ) */ ++#include <stdlib.h> + #include <string.h> + #include "vga.h" + diff --git a/media-libs/svgalib/files/svgalib-1.9.25-segfault.patch b/media-libs/svgalib/files/svgalib-1.9.25-segfault.patch new file mode 100644 index 000000000000..da7c1c21c646 --- /dev/null +++ b/media-libs/svgalib/files/svgalib-1.9.25-segfault.patch @@ -0,0 +1,11 @@ +--- svgalib-1.9.25/src/vgamodesel.c~ ++++ svgalib-1.9.25/src/vgamodesel.c +@@ -35,7 +35,7 @@ int __svgalib_name2number(char *m) + int vga_getmodenumber(char *m) + { + int i; +- char s[3]; ++ char s[8]; + + __svgalib_getchipset(); /* Do initialisation first */ + i = __svgalib_name2number(m); diff --git a/media-libs/svgalib/files/svgalib.udev.rules.d.2 b/media-libs/svgalib/files/svgalib.udev.rules.d.2 new file mode 100644 index 000000000000..368a3219a134 --- /dev/null +++ b/media-libs/svgalib/files/svgalib.udev.rules.d.2 @@ -0,0 +1 @@ +KERNEL=="svga*", MODE="0660", GROUP="video" diff --git a/media-libs/svgalib/metadata.xml b/media-libs/svgalib/metadata.xml new file mode 100644 index 000000000000..88cb7d32c603 --- /dev/null +++ b/media-libs/svgalib/metadata.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<maintainer> + <email>bircoph@gentoo.org</email> + <name>Andrew Savchenko</name> +</maintainer> +<use> + <flag name="kernel-helper">Build the helper kernel module</flag> +</use> +</pkgmetadata> diff --git a/media-libs/svgalib/svgalib-1.9.25-r4.ebuild b/media-libs/svgalib/svgalib-1.9.25-r4.ebuild new file mode 100644 index 000000000000..2f7f0b82733f --- /dev/null +++ b/media-libs/svgalib/svgalib-1.9.25-r4.ebuild @@ -0,0 +1,129 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI="4" + +inherit eutils flag-o-matic toolchain-funcs linux-mod + +DESCRIPTION="A library for running svga graphics on the console" +HOMEPAGE="http://www.svgalib.org/" +SRC_URI="http://www.arava.co.il/matan/${PN}/${P}.tar.gz" + +LICENSE="BSD" +SLOT="0" +KEYWORDS="-* x86" +IUSE="build +kernel-helper" + +DEPEND="" +RDEPEND="" + +MODULE_NAMES="svgalib_helper(misc:${S}/kernel/svgalib_helper)" +BUILD_TARGETS="default" + +pkg_setup() { + linux-mod_pkg_setup + BUILD_PARAMS="KDIR=${KV_OUT_DIR}" +} + +src_prepare() { + epatch "${FILESDIR}"/${PN}-1.9.25-linux2.6.patch + epatch "${FILESDIR}"/${PN}-1.9.19-pic.patch #51698 + epatch "${FILESDIR}"/${PN}-1.9.25-build.patch + epatch "${FILESDIR}"/${PN}-1.9.25-linux2.6.28.patch + epatch "${FILESDIR}"/${PN}-1.9.25-glibc210.patch #274305 + epatch "${FILESDIR}"/${PN}-1.9.25-linux2.6.36-r1.patch + epatch "${FILESDIR}"/${PN}-1.9.25-segfault.patch + epatch "${FILESDIR}"/${PN}-1.9.25-build2.patch + epatch "${FILESDIR}"/${PN}-1.9.25-qa.patch + epatch "${FILESDIR}"/${PN}-1.9.25-kernel3.4.patch + sed -i -e '/linux\/smp_lock.h/d' kernel/svgalib_helper/main.c || die +} + +src_compile() { + use kernel-helper || export NO_HELPER=y + + export CC=$(tc-getCC) + + # First build static + emake OPTIMIZE="${CFLAGS}" static || die "Failed to build static libraries!" + # Then build shared ... + emake OPTIMIZE="${CFLAGS}" shared || die "Failed to build shared libraries!" + # Missing in some cases ... + ln -s libvga.so.${PV} sharedlib/libvga.so + # Build lrmi and tools ... + emake OPTIMIZE="${CFLAGS}" LDFLAGS+=" -L../sharedlib" \ + textutils lrmi utils \ + || die "Failed to build libraries and utils!" + # Build the gl stuff tpp + emake OPTIMIZE="${CFLAGS}" -C gl || die "Failed to build gl!" + emake OPTIMIZE="${CFLAGS}" -C gl libvgagl.so.${PV} \ + || die "Failed to build libvgagl.so.${PV}!" + # Missing in some cases ... + ln -s libvgagl.so.${PV} sharedlib/libvgagl.so + emake OPTIMIZE="${CFLAGS}" -C src libvga.so.${PV} \ + || die "Failed to build libvga.so.${PV}!" + cp -pPR src/libvga.so.${PV} sharedlib/ + # Build threeDKit ... + emake OPTIMIZE="${CFLAGS}" LDFLAGS+=" -L../sharedlib" \ + -C threeDKit lib3dkit.a || die "Failed to build threeDKit!" + # Build demo's ... + emake OPTIMIZE="${CFLAGS} -I../gl" LDFLAGS+=" -L../sharedlib" \ + demoprogs || die "Failed to build demoprogs!" + + ! use build && use kernel-helper && linux-mod_src_compile +} + +src_install() { + local x= + + dodir /etc/svgalib /usr/{include,lib,bin,share/man} + + emake \ + TOPDIR="${D}" OPTIMIZE="${CFLAGS}" INSTALLMODULE="" \ + install || die "Failed to install svgalib!" + ! use build && use kernel-helper && linux-mod_src_install + + insinto /usr/include + doins gl/vgagl.h + dolib.a staticlib/libvga.a || die "dolib.a libvga" + dolib.a gl/libvgagl.a || die "dolib.a libvgagl" + dolib.a threeDKit/lib3dkit.a + dolib.so gl/libvgagl.so.${PV} || die "dolib.so libvgagl.so" + local abiver=$(sed -n '/^MAJOR_VER.*=/{s:.*=[ ]*::;p}' Makefile.cfg) + for x in lib3dkit libvga libvgagl ; do + dosym ${x}.so.${PV} /usr/lib/${x}.so + dosym ${x}.so.${PV} /usr/lib/${x}.so.${abiver} + done + + insinto /usr/include + doins src/vga.h gl/vgagl.h src/mouse/vgamouse.h src/joystick/vgajoystick.h + doins src/keyboard/vgakeyboard.h kernel/svgalib_helper/svgalib_helper.h + + insinto /lib/udev/rules.d + newins "${FILESDIR}"/svgalib.udev.rules.d.2 30-svgalib.rules + + exeinto /usr/lib/svgalib/demos + for x in "${S}"/demos/* ; do + [[ -x ${x} ]] && doexe ${x} + done + + cd "${S}"/threeDKit + exeinto /usr/lib/svgalib/threeDKit + local THREED_PROGS="plane wrapdemo" + doexe ${THREED_PROGS} + + cd "${S}" + dodoc 0-README + cd "${S}"/doc + dodoc CHANGES DESIGN TODO + docinto txt + dodoc Driver-programming-HOWTO add_driver svgalib.lsm \ + README.{joystick,keymap,multi-monitor,patching,vesa} + # avoid installation of a broken symlink + newdoc ../lrmi-0.6m/README README.lrmi +} + +pkg_postinst() { + ! use build && use kernel-helper && linux-mod_pkg_postinst +} |