diff options
author | sobomax <sobomax@FreeBSD.org> | 2000-08-25 09:08:01 +0000 |
---|---|---|
committer | sobomax <sobomax@FreeBSD.org> | 2000-08-25 09:08:01 +0000 |
commit | d47b4286f6d384c28641e10837f8e8665d5dfd12 (patch) | |
tree | 2529589e8f36e3a86bc197dbb09bd318ef5b1dfd /graphics/svgalib | |
parent | 091ffe7db8c1427611c2c397a402cc5e64da73c5 (diff) | |
download | FreeBSD-ports-d47b4286f6d384c28641e10837f8e8665d5dfd12.zip FreeBSD-ports-d47b4286f6d384c28641e10837f8e8665d5dfd12.tar.gz |
Add svgalib - a *native* port of well-knows Linux console graphics library.
Please note, that it's a work in progress, so some features doesn't work (for
example mouse support). However, the functionality already present is
sufficient to run some of the popular apps (quakeforge for example).
I tested it on ATI Mach64 and C&T55554 adapters.
Diffstat (limited to 'graphics/svgalib')
26 files changed, 901 insertions, 0 deletions
diff --git a/graphics/svgalib/Makefile b/graphics/svgalib/Makefile new file mode 100644 index 0000000..9117821 --- /dev/null +++ b/graphics/svgalib/Makefile @@ -0,0 +1,111 @@ +# New ports collection makefile for: svgalib +# Date created: 24 August 2000 +# Whom: sobomax@FreeBSD.org +# +# $FreeBSD$ +# + +PORTNAME= svgalib +PORTVERSION= 1.4.2 +CATEGORIES= graphics devel +MASTER_SITES= http://www.svgalib.org/ + +MAINTAINER= sobomax@freebsd.org + +USE_GMAKE= yes +INSTALLS_SHLIB= yes + +ALL_TARGET= shared + +MAN1= convfont.1 dumpreg.1 fix132x43.1 restorefont.1 \ + restorepalette.1 restoretextmode.1 runx.1 \ + savetextmode.1 setmclk.1 svgakeymap.1 \ + textmode.1 +MAN3= currentcontext.3 gl_allocatecontext.3 gl_bcircle.3 \ + gl_circle.3 gl_clearscreen.3 gl_colorfont.3 \ + gl_compileboxmask.3 gl_compiledboxmasksize.3 \ + gl_copybox.3 gl_copyboxfromcontext.3 \ + gl_copyboxtocontext.3 gl_copyscreen.3 \ + gl_disableclipping.3 gl_enableclipping.3 \ + gl_enablepageflipping.3 gl_expandfont.3 gl_fillbox.3 \ + gl_fillcircle.3 gl_font8x8.3 gl_freecontext.3 \ + gl_getbox.3 gl_getcontext.3 gl_getpalette.3 \ + gl_getpalettecolor.3 gl_getpalettecolors.3 \ + gl_getpixel.3 gl_getpixelrgb.3 gl_hline.3 gl_line.3 \ + gl_printf.3 gl_putbox.3 gl_putboxmask.3 \ + gl_putboxmaskcompiled.3 gl_putboxpart.3 gl_rgbcolor.3 \ + gl_scalebox.3 gl_setclippingwindow.3 gl_setcontext.3 \ + gl_setcontextheight.3 gl_setcontextvga.3 \ + gl_setcontextvgavirtual.3 gl_setcontextvirtual.3 \ + gl_setcontextwidth.3 gl_setdisplaystart.3 gl_setfont.3 \ + gl_setfontcolors.3 gl_setpalette.3 gl_setpalettecolor.3 \ + gl_setpalettecolors.3 gl_setpixel.3 gl_setpixelrgb.3 \ + gl_setrgbpalette.3 gl_setscreenoffset.3 \ + gl_setwritemode.3 gl_striangle.3 gl_swtriangle.3 \ + gl_triangle.3 gl_trigetcolorlookup.3 \ + gl_trisetcolorlookup.3 gl_trisetdrawpoint.3 gl_write.3 \ + gl_writen.3 gl_wtriangle.3 graph_mem.3 \ + joystick_button1.3 joystick_button2.3 \ + joystick_button3.3 joystick_button4.3 joystick_close.3 \ + joystick_getaxis.3 joystick_getb1.3 joystick_getb2.3 \ + joystick_getb3.3 joystick_getb4.3 joystick_getbutton.3 \ + joystick_getnumaxes.3 joystick_getnumbuttons.3 \ + joystick_getx.3 joystick_gety.3 joystick_getz.3 \ + joystick_init.3 joystick_setdefaulthandler.3 \ + joystick_sethandler.3 joystick_update.3 joystick_x.3 \ + joystick_y.3 joystick_z.3 keyboard_clearstate.3 \ + keyboard_close.3 keyboard_getstate.3 keyboard_init.3 \ + keyboard_init_return_fd.3 keyboard_keypressed.3 \ + keyboard_setdefaulteventhandler.3 \ + keyboard_seteventhandler.3 keyboard_translatekeys.3 \ + keyboard_update.3 keyboard_waitforupdate.3 \ + mouse_close.3 mouse_getbutton.3 mouse_getcaps.3 \ + mouse_getposition_6d.3 mouse_getx.3 mouse_gety.3 \ + mouse_init.3 mouse_init_return_fd.3 \ + mouse_setdefaulteventhandler.3 mouse_seteventhandler.3 \ + mouse_setposition.3 mouse_setposition_6d.3 \ + mouse_setrange_6d.3 mouse_setscale.3 mouse_setwrap.3 \ + mouse_setxrange.3 mouse_setyrange.3 mouse_update.3 \ + mouse_waitforupdate.3 vga_accel.3 vga_addmode.3 \ + vga_addtiming.3 vga_bitblt.3 vga_blitwait.3 \ + vga_changetiming.3 vga_claimvideomemory.3 vga_clear.3 \ + vga_copytoplanar16.3 vga_copytoplanar256.3 \ + vga_copytoplane.3 vga_disabledriverreport.3 \ + vga_drawline.3 vga_drawpixel.3 vga_drawscanline.3 \ + vga_drawscansegment.3 vga_dumpregs.3 vga_ext_set.3 \ + vga_fillblt.3 vga_flip.3 vga_getch.3 vga_getcolors.3 \ + vga_getcurrentchipset.3 vga_getcurrentmode.3 \ + vga_getcurrenttiming.3 vga_getdefaultmode.3 \ + vga_getgraphmem.3 vga_getkey.3 vga_getmodeinfo.3 \ + vga_getmodename.3 vga_getmodenumber.3 \ + vga_getmonitortype.3 vga_getmousetype.3 \ + vga_getpalette.3 vga_getpalvec.3 vga_getpixel.3 \ + vga_getscansegment.3 vga_gettextfont.3 \ + vga_gettextmoderegs.3 vga_getxdim.3 vga_getydim.3 \ + vga_guesstiming.3 vga_hasmode.3 vga_hlinelistblt.3 \ + vga_imageblt.3 vga_init.3 vga_lastmodenumber.3 \ + vga_lockvc.3 vga_oktowrite.3 vga_puttextfont.3 \ + vga_runinbackground.3 vga_runinbackground_version.3 \ + vga_safety_fork.3 vga_screenoff.3 vga_screenon.3 \ + vga_setchipset.3 vga_setchipsetandfeatures.3 \ + vga_setcolor.3 vga_setdisplaystart.3 vga_setegacolor.3 \ + vga_setflipchar.3 vga_setlinearaddressing.3 \ + vga_setlogicalwidth.3 vga_setmode.3 vga_setmodeX.3 \ + vga_setmousesupport.3 vga_setpage.3 vga_setpalette.3 \ + vga_setpalvec.3 vga_setreadpage.3 vga_setrgbcolor.3 \ + vga_settextmoderegs.3 vga_setwritepage.3 vga_unlockvc.3 \ + vga_waitevent.3 vga_waitretrace.3 vga_white.3 +MAN5= libvga.config.5 libvga.et4000.5 svgalibrc.5 +MAN6= accel.6 bg_test.6 eventtest.6 forktest.6 fun.6 \ + joytest.6 keytest.6 lineart.6 mach32info.6 mjoytest.6 \ + mousetest.6 plane.6 printftest.6 scrolltest.6 \ + speedtest.6 spin.6 svidtune.6 testaccel.6 testgl.6 \ + testlinear.6 threed.6 vgatest.6 wrapdemo.6 +MAN7= svgalib.7 svgalib.chips.7 svgalib.et4000.7 \ + svgalib.faq.7 svgalib.mach32.7 threedkit.7 vgagl.7 +MAN8= mode3.8 + +pre-patch: + ${PERL} -pi -e 's.\x0D..' ${WRKSRC}/utils/gtf/* + +.include <bsd.port.mk> diff --git a/graphics/svgalib/distinfo b/graphics/svgalib/distinfo new file mode 100644 index 0000000..7497122 --- /dev/null +++ b/graphics/svgalib/distinfo @@ -0,0 +1 @@ +MD5 (svgalib-1.4.2.tar.gz) = 4576058f43adbc2c433aeba25603fd82 diff --git a/graphics/svgalib/files/patch-aa b/graphics/svgalib/files/patch-aa new file mode 100644 index 0000000..4bd46c5 --- /dev/null +++ b/graphics/svgalib/files/patch-aa @@ -0,0 +1,103 @@ +--- Makefile.cfg.orig Fri Jul 21 11:21:34 2000 ++++ Makefile.cfg Fri Aug 25 05:05:04 2000 +@@ -9,8 +9,8 @@ + # to n means yes! + + MAJOR_VER = 1 +-MINOR_VER = 4.2 +-VERSION = $(MAJOR_VER).$(MINOR_VER) ++MINOR_VER = ++VERSION = $(MAJOR_VER) + + #---------------------------------------------------------------------- + # Configuration Section +@@ -24,8 +24,8 @@ + + # Common prefix for installation directories. + # NOTE: This directory must exist when you start the install. +-TOPDIR= +-prefix = $(TOPDIR)/usr/local ++TOPDIR=$(PREFIX) ++prefix = $(PREFIX) + exec_prefix = $(prefix) + + # Directory where the shared stubs and static library will be installed. +@@ -82,7 +82,7 @@ + # BACKGROUND = y + + # Uncomment this if you want to compile and install the static libs. +-# INSTALLSTATICLIB = installstaticlib ++INSTALLSTATICLIB = installstaticlib + + # Comment this out if you don't want to install the shared libs. + # If you do not install the shared nor the static libs, 'make static' +@@ -94,7 +94,7 @@ + # a.out image is available install it in the first directory named something + # like *aout/ in /etc/ld.so.conf. + # If you want this, do not comment out the next line: +-INSTALLAOUTLIB = installaoutcompat ++#INSTALLAOUTLIB = installaoutcompat + + # Comment this out if you want to keep old shared images. Old header files, + # library stubs and static libraries CANNOT be kept in public locations +@@ -126,20 +126,20 @@ + #INCLUDE_ET4000_DRIVER = y + INCLUDE_CIRRUS_DRIVER = y + INCLUDE_TVGA_DRIVER = y +-#INCLUDE_OAK_DRIVER = y +-#INCLUDE_EGA_DRIVER = y ++INCLUDE_OAK_DRIVER = y ++INCLUDE_EGA_DRIVER = y + INCLUDE_MACH32_DRIVER = y + INCLUDE_S3_DRIVER = y +-#INCLUDE_ET3000_DRIVER = y +-#INCLUDE_GVGA6400_DRIVER = y +-#INCLUDE_ARK_DRIVER = y +-#INCLUDE_ATI_DRIVER = y +-#INCLUDE_ALI_DRIVER = y ++INCLUDE_ET3000_DRIVER = y ++INCLUDE_GVGA6400_DRIVER = y ++INCLUDE_ARK_DRIVER = y ++INCLUDE_ATI_DRIVER = y ++INCLUDE_ALI_DRIVER = y + INCLUDE_CHIPS_DRIVER = y + INCLUDE_APM_DRIVER = y + INCLUDE_NV3_DRIVER = y + INCLUDE_ET6000_DRIVER = y +-INCLUDE_VESA_DRIVER = y ++#INCLUDE_VESA_DRIVER = y + INCLUDE_MX_DRIVER = y + INCLUDE_PARADISE_DRIVER = y + INCLUDE_RAGE_DRIVER = y +@@ -154,15 +154,15 @@ + #INCLUDE_ET4000_DRIVER_TEST = y + INCLUDE_CIRRUS_DRIVER_TEST = y + INCLUDE_TVGA_DRIVER_TEST = y +-#INCLUDE_OAK_DRIVER_TEST = y +-#INCLUDE_EGA_DRIVER_TEST = y ++INCLUDE_OAK_DRIVER_TEST = y ++INCLUDE_EGA_DRIVER_TEST = y + INCLUDE_MACH32_DRIVER_TEST = y +-#INCLUDE_GVGA6400_DRIVER_TEST = y ++INCLUDE_GVGA6400_DRIVER_TEST = y + INCLUDE_S3_DRIVER_TEST = y +-#INCLUDE_ET3000_DRIVER_TEST = y +-#INCLUDE_ARK_DRIVER_TEST = y +-#INCLUDE_ATI_DRIVER_TEST = y +-#INCLUDE_ALI_DRIVER_TEST = y ++INCLUDE_ET3000_DRIVER_TEST = y ++INCLUDE_ARK_DRIVER_TEST = y ++INCLUDE_ATI_DRIVER_TEST = y ++INCLUDE_ALI_DRIVER_TEST = y + INCLUDE_CHIPS_DRIVER_TEST = y + INCLUDE_APM_DRIVER_TEST = y + INCLUDE_NV3_DRIVER_TEST = y +@@ -177,7 +177,7 @@ + INCLUDE_NEO_DRIVER_TEST = y + + #Might be too dangerous: +-INCLUDE_VESA_DRIVER_TEST = y ++#INCLUDE_VESA_DRIVER_TEST = y + + # + # Comment out any dac support that you don't want included in the library. diff --git a/graphics/svgalib/files/patch-ab b/graphics/svgalib/files/patch-ab new file mode 100644 index 0000000..d7494f5 --- /dev/null +++ b/graphics/svgalib/files/patch-ab @@ -0,0 +1,37 @@ +--- src/Makefile.orig Thu Jul 6 19:10:58 2000 ++++ src/Makefile Fri Aug 25 05:15:15 2000 +@@ -14,7 +14,7 @@ + # Compiler Section (overrides Makefile.cfg) + #---------------------------------------------------------------------- + +-INCLUDES += -I$(srcdir)/src ++INCLUDES += -I$(srcdir)/src -I$(srcdir)/src/config + + #---------------------------------------------------------------------- + # Rules Section +@@ -361,6 +361,7 @@ + libvga.so.$(VERSION): $(ALLOBJS) + $(CC) -s -shared -Wl,-soname,libvga.so.$(MAJOR_VER) \ + -o libvga.so.$(VERSION) $(ALLOBJS) -lm ++ /bin/ln -sf libvga.so.$(VERSION) libvga.so + + $(sharedlibdir)/libvga.so.$(VERSION): libvga.so.$(VERSION) + $(INSTALL_PROGRAM) $< $(sharedlibdir)/$< +@@ -375,7 +376,7 @@ + $(AR) rcs libvga.a $(ALLOBJS) + + libvgagl.a: FORCE +- make -f $(srcdir)/gl/Makefile $@ srcdir="$(srcdir)" DLLFLAGS="$(DLLFLAGS)" ++ $(MAKE) -f $(srcdir)/gl/Makefile $@ srcdir="$(srcdir)" DLLFLAGS="$(DLLFLAGS)" + + vga.o: vga.c + $(CC) $(CFLAGS) $(VGA_DEFINES) -c -o $@ $< +@@ -397,7 +398,7 @@ + + dep: + rm -f .depend.src +- make .depend.src ++ $(MAKE) .depend.src + + .depend.src: + echo '# Module dependencies' >>.depend.src diff --git a/graphics/svgalib/files/patch-ac b/graphics/svgalib/files/patch-ac new file mode 100644 index 0000000..129486d --- /dev/null +++ b/graphics/svgalib/files/patch-ac @@ -0,0 +1,10 @@ +--- gl/inlstring.h.orig Fri Aug 25 05:11:26 2000 ++++ gl/inlstring.h Fri Aug 25 05:11:36 2000 +@@ -1,6 +1,6 @@ + /* Based on functions in linux/string.h */ + +-#include <linux/types.h> /* for size_t */ ++#include <sys/types.h> /* for size_t */ + + #if defined(__alpha__) || defined (NO_ASSEMBLY) + diff --git a/graphics/svgalib/files/patch-ad b/graphics/svgalib/files/patch-ad new file mode 100644 index 0000000..bd8393e --- /dev/null +++ b/graphics/svgalib/files/patch-ad @@ -0,0 +1,11 @@ +--- utils/gtf/scitech.h.orig Fri Aug 25 05:23:32 2000 ++++ utils/gtf/scitech.h Fri Aug 25 05:24:02 2000 +@@ -228,7 +228,7 @@ + #endif + + /* 32-bit FreeBSD compile environment */ +-#elif defined(__FREEBSD__) ++#elif defined(__FreeBSD__) + #ifndef __32BIT__ + #define __32BIT__ + #endif diff --git a/graphics/svgalib/files/patch-ae b/graphics/svgalib/files/patch-ae new file mode 100644 index 0000000..78014b7 --- /dev/null +++ b/graphics/svgalib/files/patch-ae @@ -0,0 +1,20 @@ +--- Makefile.orig Fri Aug 25 05:26:16 2000 ++++ Makefile Fri Aug 25 05:26:20 2000 +@@ -210,7 +210,7 @@ + @$(INSTALL_DATA) staticlib/libvgagl.a $(libdir)/libvgagl.a + @chmod a+r $(libdir)/libvgagl.a + +-installutils: textutils lrmi ++installutils: textutils + @if [ ! -d $(bindir) ]; then \ + echo No $(bindir) directory, creating it.; \ + mkdir $(bindir); \ +@@ -236,8 +236,6 @@ + @cp utils/textmode $(bindir) + @echo "savetextmode: Script that saves textmode information used by 'textmode'." + @cp utils/savetextmode $(bindir) +- @echo "mode3: Restore textmode by setting VESA mode 3." +- @cp lrmi-0.6m/mode3 $(bindir) + @echo "Installing keymap utilities in $(bindir):" + @echo "svgakeymap: Perl script that generates scancode conversion maps." + @cp utils/svgakeymap $(bindir) diff --git a/graphics/svgalib/files/patch-af b/graphics/svgalib/files/patch-af new file mode 100644 index 0000000..40837e5 --- /dev/null +++ b/graphics/svgalib/files/patch-af @@ -0,0 +1,12 @@ +diff -druN svgalib-1.4.2.orig/src/et6000.c src/et6000.c +--- svgalib-1.4.2.orig/src/et6000.c Fri Aug 25 04:39:39 2000 ++++ src/et6000.c Fri Aug 25 04:39:57 2000 +@@ -10,7 +10,7 @@ + #include "vga.h" + #include "libvga.h" + #include "driver.h" +-#include <linux/pci.h> ++/*#include <linux/pci.h>*/ + #include "timing.h" + #include "interface.h" + #include "vgaregs.h" diff --git a/graphics/svgalib/files/patch-ag b/graphics/svgalib/files/patch-ag new file mode 100644 index 0000000..8db8446 --- /dev/null +++ b/graphics/svgalib/files/patch-ag @@ -0,0 +1,12 @@ +diff -druN svgalib-1.4.2.orig/src/joystick/joydev.h src/joystick/joydev.h +--- svgalib-1.4.2.orig/src/joystick/joydev.h Fri Aug 25 04:39:39 2000 ++++ src/joystick/joydev.h Fri Aug 25 04:39:57 2000 +@@ -1,6 +1,6 @@ +-#include <linux/version.h> ++/*#include <linux/version.h>*/ + +-#if ( LINUX_VESION_CODE >= 131584) ++#if 0 /*( LINUX_VESION_CODE >= 131584) */ + #include <linux/joystick.h> + #else + /* Joystick interface modeled after svgalibs keyboard and mouse interfaces diff --git a/graphics/svgalib/files/patch-ah b/graphics/svgalib/files/patch-ah new file mode 100644 index 0000000..ff36715 --- /dev/null +++ b/graphics/svgalib/files/patch-ah @@ -0,0 +1,50 @@ +diff -druN svgalib-1.4.2.orig/src/keyboard/keyboard.c src/keyboard/keyboard.c +--- svgalib-1.4.2.orig/src/keyboard/keyboard.c Fri Aug 25 04:39:39 2000 ++++ src/keyboard/keyboard.c Fri Aug 25 04:39:57 2000 +@@ -28,12 +28,13 @@ + #include <sys/ioctl.h> + #include <fcntl.h> + #include <termios.h> +-#include <linux/kd.h> ++#include <sys/kbio.h> + /* linux/keyboard.h defines NR_KEYS and some scancode-like constants, so it */ + /* should also be useful for svgalib programs using the keyboard. It misses */ + /* a few KERNEL ifdefs around kernel data structures though. */ +-#include <linux/keyboard.h> +-#include <sys/vt.h> ++/*#include <linux/keyboard.h>*/ ++#define NR_KEYS 128 ++#include <sys/consio.h> + /* Needed to check uid of keymap files */ + #include <sys/stat.h> + #include <unistd.h> +@@ -340,7 +341,7 @@ + + tcsetattr(__svgalib_kbd_fd, TCSAFLUSH, &newkbdtermios); + +- ioctl(__svgalib_kbd_fd, KDSKBMODE, K_MEDIUMRAW); ++ ioctl(__svgalib_kbd_fd, KDSKBMODE, K_RAW); + + keyboard_clearstate(); + +@@ -578,7 +579,7 @@ + /* VT switch. */ + /* *** what about F11 & F12? */ + int j, vt = 0; +- struct vt_stat vts; ++ int vts; + for (j = 0; j < 12; j++) + if (functionkey_state & (1 << j)) { + vt = j + 1; +@@ -587,9 +588,9 @@ + } + + /* Do not switch vt's if need not to */ +- ioctl(__svgalib_tty_fd, VT_GETSTATE, &vts); ++ ioctl(__svgalib_tty_fd, VT_GETACTIVE, &vts); + +- if(vt != vts.v_active) { ++ if(vt != vts) { + /* if switching vt's, need to clear keystates */ + keyboard_clearstate(); + /* diff --git a/graphics/svgalib/files/patch-ai b/graphics/svgalib/files/patch-ai new file mode 100644 index 0000000..968188e --- /dev/null +++ b/graphics/svgalib/files/patch-ai @@ -0,0 +1,12 @@ +diff -druN svgalib-1.4.2.orig/src/libvga.h src/libvga.h +--- svgalib-1.4.2.orig/src/libvga.h Fri Aug 25 04:39:39 2000 ++++ src/libvga.h Fri Aug 25 04:39:57 2000 +@@ -358,7 +358,7 @@ + + #else + +-#define SVGALIB_ACQUIRE_SIG SIGUNUSED ++#define SVGALIB_ACQUIRE_SIG SIGUSR2 + #define SVGALIB_RELEASE_SIG SIGPROF + + #endif diff --git a/graphics/svgalib/files/patch-aj b/graphics/svgalib/files/patch-aj new file mode 100644 index 0000000..dbc2972 --- /dev/null +++ b/graphics/svgalib/files/patch-aj @@ -0,0 +1,204 @@ +diff -druN svgalib-1.4.2.orig/src/mach32.c src/mach32.c +--- svgalib-1.4.2.orig/src/mach32.c Fri Aug 25 04:39:39 2000 ++++ src/mach32.c Fri Aug 25 04:39:57 2000 +@@ -2415,7 +2415,7 @@ + return ptr; + } + +-static int isnumber(char *str) ++static int is_number(char *str) + { + if (str == NULL) + return 0; +@@ -2607,11 +2607,11 @@ + goto ex_inv_mod; + } + if (*ptr == ':') { /*No. of clock given */ +- if (!isnumber(ptr + 1)) ++ if (!is_number(ptr + 1)) + goto inv_clk; + i = atoi(ptr + 1); + } else { /* search clock in table */ +- if (!isnumber(ptr)) ++ if (!is_number(ptr)) + goto inv_clk; + flag = atoi(ptr); + for (i = 0; i < 32; i++) +@@ -2627,45 +2627,45 @@ + mptr->disp_cntl = 0x23; /* Assume non interlaced */ + /* The rest is straight forward: */ + ptr = strtok(NULL, " "); +- if (!isnumber(ptr)) { ++ if (!is_number(ptr)) { + inv_time: + puts("mach32-config: Invalid define command, timing is invalid"); + goto ex_inv_mod; + } + mptr->h_disp = (atoi(ptr) >> 3) - 1; + ptr = strtok(NULL, " "); +- if (!isnumber(ptr)) ++ if (!is_number(ptr)) + goto inv_time; + i = atoi(ptr); + mptr->h_sync_strt = (i >> 3) - 1; + ptr = strtok(NULL, " "); +- if (!isnumber(ptr)) ++ if (!is_number(ptr)) + goto inv_time; + mptr->h_sync_wid = ((atoi(ptr) - i) >> 3); + if (mptr->h_sync_wid > 0x1f) + mptr->h_sync_wid = 0x1f; + ptr = strtok(NULL, " "); +- if (!isnumber(ptr)) ++ if (!is_number(ptr)) + goto inv_time; + mptr->h_total = (atoi(ptr) >> 3) - 1; + + ptr = strtok(NULL, " "); +- if (!isnumber(ptr)) ++ if (!is_number(ptr)) + goto inv_time; + mptr->v_disp = mach32_skip2(atoi(ptr) - 1); + ptr = strtok(NULL, " "); +- if (!isnumber(ptr)) ++ if (!is_number(ptr)) + goto inv_time; + i = atoi(ptr); + mptr->v_sync_strt = mach32_skip2(i - 1); + ptr = strtok(NULL, " "); +- if (!isnumber(ptr)) ++ if (!is_number(ptr)) + goto inv_time; + mptr->v_sync_wid = atoi(ptr) - i; + if (mptr->v_sync_wid > 0x1f) + mptr->v_sync_wid = 0x1f; + ptr = strtok(NULL, " "); +- if (!isnumber(ptr)) ++ if (!is_number(ptr)) + goto inv_time; + mptr->v_total = mach32_skip2(atoi(ptr) - 1); + for (;;) { /* Parse for additional goodies */ +@@ -2701,7 +2701,7 @@ + return ptr; + case 3: + ptr = strtok(NULL, " "); +- if (!isnumber(ptr)) { ++ if (!is_number(ptr)) { + puts("mach32-config: illegal setlinelength command.\n" + "Usage: setlinelength integer modes..."); + return ptr; +@@ -2719,7 +2719,7 @@ + puts("Don't use the maxclock's commands out of the environment variable."); + return ptr; + } +- if (!isnumber(ptr)) { ++ if (!is_number(ptr)) { + ilmaxclk: + puts("mach32-config: illegal maxclock16 or maxclock24 command.\n" + "Usage: maxclock16 integer or maxclock24 integer"); +@@ -2731,7 +2731,7 @@ + ptr = strtok(NULL, " "); + if (!mode) + goto maxclk_deny; +- if (!isnumber(ptr)) ++ if (!is_number(ptr)) + goto ilmaxclk; + mach32_maxclk24 = atoi(ptr); + break; +@@ -2741,7 +2741,7 @@ + for (i = 0; i < 16; i++) { + ptr = strtok(NULL, " "); + clocks_set = 1; +- if (!isnumber(ptr)) { ++ if (!is_number(ptr)) { + puts("mach32-config: illegal clocks command.\n" + "Usage: clocks integer integer ...\n" + "16 clocks have to be specified.\n" +@@ -2776,7 +2776,7 @@ + ptr = strtok(NULL, " "); + if (!mode) + goto maxclk_deny; +- if (!isnumber(ptr)) ++ if (!is_number(ptr)) + goto ilmaxclk; + mach32_maxclk8 = atoi(ptr); + break; +@@ -2784,7 +2784,7 @@ + ptr = strtok(NULL, " "); + if (!mode) + goto maxclk_deny; +- if (!isnumber(ptr)) ++ if (!is_number(ptr)) + goto ilmaxclk; + mach32_maxclk32 = atoi(ptr); + break; +@@ -2803,7 +2803,7 @@ + puts("The vfifo, latch, blank commands are not allowed out of the environment."); + return ptr; + } +- if (!isnumber(ptr)) { ++ if (!is_number(ptr)) { + ilvfi: + puts("Illegal vfifo command"); + return ptr; +@@ -2814,7 +2814,7 @@ + ptr = strtok(NULL, " "); + if (!mode) + goto tweak_deny; +- if (!isnumber(ptr)) { ++ if (!is_number(ptr)) { + puts("Illegal latch command"); + return ptr; + } +@@ -2824,7 +2824,7 @@ + ptr = strtok(NULL, " "); + if (!mode) + goto tweak_deny; +- if (!isnumber(ptr)) { ++ if (!is_number(ptr)) { + puts("Illegal blank command"); + return ptr; + } +@@ -2834,7 +2834,7 @@ + ptr = strtok(NULL, " "); + if (!mode) + goto tweak_deny; +- if (!isnumber(ptr)) ++ if (!is_number(ptr)) + goto ilvfi; + vfifo16 = atoi(ptr) & 0xf; + break; +@@ -2842,7 +2842,7 @@ + ptr = strtok(NULL, " "); + if (!mode) + goto tweak_deny; +- if (!isnumber(ptr)) ++ if (!is_number(ptr)) + goto ilvfi; + vfifo24 = atoi(ptr) & 0xf; + break; +@@ -2850,13 +2850,13 @@ + ptr = strtok(NULL, " "); + if (!mode) + goto tweak_deny; +- if (!isnumber(ptr)) ++ if (!is_number(ptr)) + goto ilvfi; + vfifo32 = atoi(ptr) & 0xf; + break; + case 20: + ptr = strtok(NULL, " "); +- if (!isnumber(ptr)) { ++ if (!is_number(ptr)) { + ilsetupli: + puts("Illegal setuplinear command.\n" + "usage: setuplinear address size\n" +@@ -2998,7 +2998,7 @@ + else if (!strcasecmp(ptr, "keep")) + svga_clock = (-1); + else { +- if (!isnumber(ptr)) ++ if (!is_number(ptr)) + goto invpar; + i = atoi(ptr); + if ((i < 0) || (i > 0x1f)) diff --git a/graphics/svgalib/files/patch-ak b/graphics/svgalib/files/patch-ak new file mode 100644 index 0000000..7bcd2af --- /dev/null +++ b/graphics/svgalib/files/patch-ak @@ -0,0 +1,21 @@ +diff -druN svgalib-1.4.2.orig/src/mouse/ms.c src/mouse/ms.c +--- svgalib-1.4.2.orig/src/mouse/ms.c Fri Aug 25 04:39:39 2000 ++++ src/mouse/ms.c Fri Aug 25 04:39:57 2000 +@@ -116,7 +116,7 @@ + tty.c_iflag = IGNBRK | IGNPAR; + tty.c_oflag = 0; + tty.c_lflag = 0; +- tty.c_line = 0; ++/* tty.c_line = 0;*/ + tty.c_cc[VTIME] = 0; + tty.c_cc[VMIN] = 1; + +@@ -509,7 +509,7 @@ + tty.c_iflag = IGNBRK | IGNPAR; + tty.c_oflag = 0; + tty.c_lflag = 0; +- tty.c_line = 0; ++/* tty.c_line = 0;*/ + tty.c_cc[VTIME] = 0; + tty.c_cc[VMIN] = 1; + tty.c_cflag = cflag[m_type] | B1200; diff --git a/graphics/svgalib/files/patch-al b/graphics/svgalib/files/patch-al new file mode 100644 index 0000000..40fbf10 --- /dev/null +++ b/graphics/svgalib/files/patch-al @@ -0,0 +1,11 @@ +diff -druN svgalib-1.4.2.orig/src/nv3.c src/nv3.c +--- svgalib-1.4.2.orig/src/nv3.c Fri Aug 25 04:39:39 2000 ++++ src/nv3.c Fri Aug 25 04:39:57 2000 +@@ -17,6 +17,7 @@ + #include <stdlib.h> + #include <stdio.h> /* for printf */ + #include <string.h> /* for memset */ ++#include <sys/types.h> + #include <sys/mman.h> + #include <fcntl.h> + #include <math.h> diff --git a/graphics/svgalib/files/patch-am b/graphics/svgalib/files/patch-am new file mode 100644 index 0000000..86ea29e --- /dev/null +++ b/graphics/svgalib/files/patch-am @@ -0,0 +1,156 @@ +--- src/vga.c.orig Thu Jul 6 19:10:32 2000 ++++ src/vga.c Fri Aug 25 06:32:01 2000 +@@ -22,10 +22,10 @@ + #include <unistd.h> + #include <stdarg.h> + #include <sys/mman.h> +-#include <sys/kd.h> ++#include <sys/kbio.h> + #include <sys/ioctl.h> + #include <sys/stat.h> +-#include <sys/vt.h> ++#include <sys/consio.h> + #include <sys/wait.h> + #include <errno.h> + #include <ctype.h> +@@ -37,6 +37,22 @@ + #include "keyboard/vgakeyboard.h" + #include "vgaregs.h" + ++int permfd = -1; ++int ioperm(unsigned long from, unsigned long num, int on) ++{ ++ if (permfd == -1) ++ permfd = open("/dev/io", O_RDONLY); ++ if (permfd != -1) ++ return 0; ++ else ++ return 1; ++} ++ ++int iopl(int level) ++{ ++ return ioperm(0, 0, 0); ++} ++ + #ifdef BACKGROUND + #include "vgabg.h" + +@@ -745,7 +761,7 @@ + /* Leave keyboard alone when rawkeyboard is enabled! */ + if (__svgalib_kbd_fd < 0) { + /* set graphics mode termio parameters */ +- ioctl(0, TCSETSW, &graph_termio); ++ ioctl(0, TIOCSETAW, &graph_termio); + } + } + +@@ -755,7 +771,7 @@ + /* Leave keyboard alone when rawkeyboard is enabled! */ + if (__svgalib_kbd_fd < 0) { + /* restore text mode termio parameters */ +- ioctl(0, TCSETSW, &text_termio); ++ ioctl(0, TIOCSETAW, &text_termio); + } + } + +@@ -766,9 +782,9 @@ + + /* Well, one could argue that sigint is not enabled at all when in __svgalib_nosigint + but sometimes they *still* are enabled b4 graph_termio is set.. */ +- ioctl(0, TCGETS, &cur_termio); ++ ioctl(0, TIOCGETA, &cur_termio); + cur_termio.c_lflag &= ~ISIG; +- ioctl(0, TCSETSW, &cur_termio); ++ ioctl(0, TIOCSETAW, &cur_termio); + } + + +@@ -778,9 +794,9 @@ + + if (__svgalib_nosigint) /* do not reenable, they are often reenabled by text_termio */ + return; +- ioctl(0, TCGETS, &cur_termio); ++ ioctl(0, TIOCGETA, &cur_termio); + cur_termio.c_lflag |= ISIG; +- ioctl(0, TCSETSW, &cur_termio); ++ ioctl(0, TIOCSETAW, &cur_termio); + } + + /* The following is rather messy and inelegant. The only solution I can */ +@@ -851,7 +867,7 @@ + if (!getuid()) + return 1; /* root can do it always */ + #endif +- sprintf(fname, "/dev/tty%d", vc); ++ sprintf(fname, "/dev/ttyv%d", vc); + if ((stat(fname, &sbuf) >= 0) && (getuid() == sbuf.st_uid)) { + return 1; + } +@@ -862,7 +878,7 @@ + void __svgalib_open_devconsole(void) + { + struct vt_mode vtm; +- struct vt_stat vts; ++ int vts; + struct stat sbuf; + char fname[30]; + +@@ -903,15 +919,15 @@ + goto error; + if (svgalib_vc <= 0) + goto error; +- sprintf(fname, "/dev/tty%d", svgalib_vc); ++ sprintf(fname, "/dev/ttyv%d", svgalib_vc - 1); + close(__svgalib_tty_fd); + /* change our control terminal: */ + setpgid(0,getppid()); + setsid(); + /* We must use RDWR to allow for output... */ + if (((__svgalib_tty_fd = open(fname, O_RDWR)) >= 0) && +- (ioctl(__svgalib_tty_fd, VT_GETSTATE, &vts) >= 0)) { +- if (!check_owner(vts.v_active)) ++ (ioctl(__svgalib_tty_fd, VT_GETACTIVE, &vts) >= 0)) { ++ if (!check_owner(vts)) + goto error; + /* success, redirect all stdios */ + if (DREP) +@@ -928,8 +944,8 @@ + /* clear screen and switch to it */ + fwrite("\e[H\e[J", 6, 1, stderr); + fflush(stderr); +- if (svgalib_vc != vts.v_active) { +- startup_vc = vts.v_active; ++ if (svgalib_vc != vts) { ++ startup_vc = vts; + ioctl(__svgalib_tty_fd, VT_ACTIVATE, svgalib_vc); + __svgalib_waitvtactive(); + } +@@ -1240,7 +1256,7 @@ + SIGTRAP, SIGIOT, SIGBUS, SIGFPE, + SIGSEGV, SIGPIPE, SIGALRM, SIGTERM, + SIGXCPU, SIGXFSZ, SIGVTALRM, +-/* SIGPROF ,*/ SIGPWR}; ++/* SIGPROF ,*/ SIGUSR1}; + static struct sigaction old_signal_handler[sizeof(sig2catch)]; + + struct vt_mode __svgalib_oldvtmode; +@@ -1822,15 +1838,15 @@ + #endif + + /* save text mode termio parameters */ +- ioctl(0, TCGETS, &text_termio); ++ ioctl(0, TIOCGETA, &text_termio); + + graph_termio = text_termio; + + /* change termio parameters to allow our own I/O processing */ +- graph_termio.c_iflag &= ~(BRKINT | PARMRK | INPCK | IUCLC | IXON | IXOFF); ++ graph_termio.c_iflag &= ~(BRKINT | PARMRK | INPCK | IXON | IXOFF); + graph_termio.c_iflag |= (IGNBRK | IGNPAR); + +- graph_termio.c_oflag &= ~(ONOCR); ++/* graph_termio.c_oflag &= ~(ONOCR);*/ + + graph_termio.c_lflag &= ~(ICANON | ECHO | ECHOE | ECHOK | ECHONL | NOFLSH); + if (__svgalib_nosigint) diff --git a/graphics/svgalib/files/patch-an b/graphics/svgalib/files/patch-an new file mode 100644 index 0000000..63f8544 --- /dev/null +++ b/graphics/svgalib/files/patch-an @@ -0,0 +1,19 @@ +diff -druN svgalib-1.4.2.orig/src/vgamisc.c src/vgamisc.c +--- svgalib-1.4.2.orig/src/vgamisc.c Fri Aug 25 04:39:39 2000 ++++ src/vgamisc.c Fri Aug 25 04:39:57 2000 +@@ -73,12 +73,12 @@ + return __svgalib_graph_mem; + } + +-#include <syscall.h> +-#include <linux/kernel.h> ++#include <sys/syscall.h> ++/*#include <linux/kernel.h>*/ + + int __svgalib_physmem(void) + { +-#ifdef __alpha__ ++#if defined(__alpha__) || defined(__FreeBSD__) + printf("__svgalib_physmem: are you sure you wanna do this??\n"); + return -1; + #else diff --git a/graphics/svgalib/files/patch-ao b/graphics/svgalib/files/patch-ao new file mode 100644 index 0000000..07ab9f8 --- /dev/null +++ b/graphics/svgalib/files/patch-ao @@ -0,0 +1,10 @@ +--- src/ark.c.orig Fri Aug 25 05:03:06 2000 ++++ src/ark.c Fri Aug 25 05:03:21 2000 +@@ -25,6 +25,7 @@ + #include <stdlib.h> + #include <stdio.h> + #include <string.h> ++#include <sys/types.h> + #include <sys/mman.h> + #include <signal.h> + #include "vga.h" diff --git a/graphics/svgalib/files/patch-ap b/graphics/svgalib/files/patch-ap new file mode 100644 index 0000000..59299b9 --- /dev/null +++ b/graphics/svgalib/files/patch-ap @@ -0,0 +1,11 @@ +--- utils/Makefile.orig Fri Aug 25 05:31:18 2000 ++++ utils/Makefile Fri Aug 25 05:31:23 2000 +@@ -15,7 +15,7 @@ + + CFLAGS = $(WARN) $(OPTIMIZE) -I../include + #Use the next one for the Alpha/AXP if you need it +-#LDFLAGS = -L../staticlib ++LDFLAGS = -L../sharedlib + LIBS = -lvga -lm + + #---------------------------------------------------------------------- diff --git a/graphics/svgalib/files/patch-aq b/graphics/svgalib/files/patch-aq new file mode 100644 index 0000000..780ffc0 --- /dev/null +++ b/graphics/svgalib/files/patch-aq @@ -0,0 +1,10 @@ +--- gl/Makefile.orig Fri Aug 25 06:05:40 2000 ++++ gl/Makefile Fri Aug 25 06:06:28 2000 +@@ -31,6 +31,7 @@ + libvgagl.so.$(VERSION): $(MODULES) + $(CC) -s -shared -Wl,-soname,libvgagl.so.$(MAJOR_VER) -o libvgagl.so.$(VERSION) \ + $(MODULES) ++ /bin/ln -sf libvgagl.so.$(MAJOR_VER) libvgagl.so + + libvgagl.a: $(MODULES) + rm -f libvgagl.a diff --git a/graphics/svgalib/files/patch-ar b/graphics/svgalib/files/patch-ar new file mode 100644 index 0000000..8d08004 --- /dev/null +++ b/graphics/svgalib/files/patch-ar @@ -0,0 +1,11 @@ +--- demos/Makefile.orig Fri Aug 25 06:09:33 2000 ++++ demos/Makefile Fri Aug 25 06:09:50 2000 +@@ -29,7 +29,7 @@ + + # Determine what library (static or shared) we will be linking programs with + ifdef INSTALLSHAREDLIB +- LIBS = -lvgagl -lvga ++ LIBS = -L../sharedlib -lvgagl -lvga + endif + ifndef LIBS + LIBS = ../staticlib/libvgagl.a ../staticlib/libvga.a -lm diff --git a/graphics/svgalib/files/patch-as b/graphics/svgalib/files/patch-as new file mode 100644 index 0000000..ce525e6 --- /dev/null +++ b/graphics/svgalib/files/patch-as @@ -0,0 +1,10 @@ +--- demos/accel.c.orig Fri Aug 25 06:13:16 2000 ++++ demos/accel.c Fri Aug 25 06:13:30 2000 +@@ -12,7 +12,6 @@ + #include <unistd.h> + #include <time.h> + #include <math.h> +-#include <alloca.h> + #include <string.h> + #include "vga.h" + #include "vgagl.h" diff --git a/graphics/svgalib/files/patch-at b/graphics/svgalib/files/patch-at new file mode 100644 index 0000000..95555e3 --- /dev/null +++ b/graphics/svgalib/files/patch-at @@ -0,0 +1,11 @@ +--- demos/forktest.c.orig Fri Aug 25 06:13:58 2000 ++++ demos/forktest.c Fri Aug 25 06:14:15 2000 +@@ -18,7 +18,7 @@ + SIGTRAP, SIGIOT, SIGBUS, SIGFPE, + SIGSEGV, SIGPIPE, SIGALRM, SIGTERM, + SIGXCPU, SIGXFSZ, SIGVTALRM, +- SIGPROF, SIGPWR}; ++ SIGPROF, SIGUSR1}; + + + static int newcolor(void) diff --git a/graphics/svgalib/files/patch-au b/graphics/svgalib/files/patch-au new file mode 100644 index 0000000..99862b4 --- /dev/null +++ b/graphics/svgalib/files/patch-au @@ -0,0 +1,11 @@ +--- demos/linearfork.c.orig Fri Aug 25 06:14:48 2000 ++++ demos/linearfork.c Fri Aug 25 06:15:00 2000 +@@ -18,7 +18,7 @@ + SIGTRAP, SIGIOT, SIGBUS, SIGFPE, + SIGSEGV, SIGPIPE, SIGALRM, SIGTERM, + SIGXCPU, SIGXFSZ, SIGVTALRM, +- SIGPROF, SIGPWR}; ++ SIGPROF, SIGUSR1}; + + + static int newcolor(void) diff --git a/graphics/svgalib/pkg-comment b/graphics/svgalib/pkg-comment new file mode 100644 index 0000000..cc9fe79 --- /dev/null +++ b/graphics/svgalib/pkg-comment @@ -0,0 +1 @@ +A low level console graphics library diff --git a/graphics/svgalib/pkg-descr b/graphics/svgalib/pkg-descr new file mode 100644 index 0000000..04bd811 --- /dev/null +++ b/graphics/svgalib/pkg-descr @@ -0,0 +1,13 @@ +This is a low level console graphics library, originally based on VGAlib 1.2 by +Tommy Frandsen. VGAlib supported a number of standard VGA graphics modes, +as well high resolution/high color modes on many popular graphics adapters. As +of now, support for many more chipsets has been added. + +It supports transparent virtual console switching, that is, you can switch +consoles to and from text and graphics mode consoles using alt-[function key]. +Also, svgalib corrects most of VGAlib's textmode corruption behaviour by +catching SIGSEGV, SIGFPE, SIGILL, and other fatal signals and ensuring that +a program is running in the currently visible virtual console before setting a +graphics mode. + +WWW: http://www.svgalib.org/ diff --git a/graphics/svgalib/pkg-plist b/graphics/svgalib/pkg-plist new file mode 100644 index 0000000..42f2454 --- /dev/null +++ b/graphics/svgalib/pkg-plist @@ -0,0 +1,23 @@ +bin/dumpreg +bin/restorefont +bin/restorepalette +bin/restoretextmode +bin/savetextmode +bin/svgakeymap +bin/textmode +etc/vga/dvorak-us.keymap +etc/vga/libvga.config +etc/vga/libvga.et4000 +etc/vga/null.keymap +include/vga.h +include/vgagl.h +include/vgajoystick.h +include/vgakeyboard.h +include/vgamouse.h +lib/libvga.a +lib/libvga.so +lib/libvga.so.1 +lib/libvgagl.a +lib/libvgagl.so +lib/libvgagl.so.1 +@dirrm etc/vga |