Date: Sun, 15 Oct 2006 11:01:33 GMT From: Sam Lawrance <lawrance@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/104434: sysutils/915resolution: depenguinate Message-ID: <200610151101.k9FB1XxK090912@freefall.freebsd.org> Resent-Message-ID: <200610151110.k9FBAImS091202@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 104434 >Category: ports >Synopsis: sysutils/915resolution: depenguinate >Confidential: no >Severity: non-critical >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: update >Submitter-Id: current-users >Arrival-Date: Sun Oct 15 11:10:18 GMT 2006 >Closed-Date: >Last-Modified: >Originator: Sam Lawrance >Release: FreeBSD 6.0-STABLE i386 >Organization: >Environment: >Description: 915resolution is a linux binary. I was just thinking it would be nice to have on FreeSBIE, but the linux dependencies hanging off it are unattractive. >How-To-Repeat: n/a >Fix: Please see the attached patch which modifies the port to build a native version of 915resolution. --- patch-915resolution begins here --- Index: Makefile =================================================================== RCS file: /home/pcvs/ports/sysutils/915resolution/Makefile,v retrieving revision 1.3 diff -u -r1.3 Makefile --- Makefile 28 Mar 2006 08:42:03 -0000 1.3 +++ Makefile 15 Oct 2006 10:48:52 -0000 @@ -6,6 +6,7 @@ PORTNAME= 915resolution PORTVERSION= 0.5.2 +PORTREVISION= 1 PORTEPOCH= 1 CATEGORIES= sysutils MASTER_SITES= http://www.geocities.com/stomljen/ \ @@ -15,14 +16,14 @@ MAINTAINER= MrL0Lz@gmail.com COMMENT= Resolution tool for Intel i915 video cards -USE_LINUX= yes -NO_BUILD= yes -ONLY_FOR_ARCHS= i386 - PLIST_FILES= bin/915resolution +ALL_TARGET= 915resolution + +do-build: + cd ${WRKSRC} && \ + ${CC} ${CFLAGS} 915resolution.c -o 915resolution do-install: ${INSTALL_PROGRAM} ${WRKSRC}/915resolution ${PREFIX}/bin - ${BRANDELF} -t Linux ${PREFIX}/bin/915resolution .include <bsd.port.mk> Index: pkg-descr =================================================================== RCS file: /home/pcvs/ports/sysutils/915resolution/pkg-descr,v retrieving revision 1.1 diff -u -r1.1 pkg-descr --- pkg-descr 26 May 2005 21:33:34 -0000 1.1 +++ pkg-descr 15 Oct 2006 10:48:52 -0000 @@ -1,5 +1,4 @@ This is a resolution hack for Intel 915 based video cards. Based on code -written by Alain Poirer for Linux, modified by Steve Tomljenovic. Binary -install, source code included. +written by Alain Poirer for Linux, modified by Steve Tomljenovic. WWW: http://www.geocities.com/stomljen/ Index: files/patch-915resolution.c =================================================================== RCS file: files/patch-915resolution.c diff -N files/patch-915resolution.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/patch-915resolution.c 15 Oct 2006 10:48:52 -0000 @@ -0,0 +1,90 @@ +--- 915resolution.c.orig Fri Feb 3 01:28:34 2006 ++++ 915resolution.c Sun Oct 15 20:39:56 2006 +@@ -21,8 +21,10 @@ + #define __USE_GNU + #include <string.h> + #include <sys/mman.h> ++#include <machine/cpufunc.h> ++#define OUTB(a, b) outb(b, a) ++#define OUTL(a, b) outl(b, a) + #include <fcntl.h> +-#include <sys/io.h> + #include <unistd.h> + #include <assert.h> + +@@ -161,7 +163,8 @@ + void initialize_system(char * filename) { + + if (!filename) { +- if (iopl(3) < 0) { ++ FILE* iof = fopen("/dev/io", "r"); ++ if (iof == NULL) { + perror("Unable to obtain the proper IO permissions"); + exit(2); + } +@@ -169,7 +172,7 @@ + } + + cardinal get_chipset_id(void) { +- outl(0x80000000, 0xcf8); ++ OUTL(0x80000000, 0xcf8); + return inl(0xcfc); + } + +@@ -476,11 +479,11 @@ + case CT_UNKWN: + break; + case CT_855GM: +- outl(0x8000005a, 0xcf8); ++ OUTL(0x8000005a, 0xcf8); + map->b1 = inb(0xcfe); + +- outl(0x8000005a, 0xcf8); +- outb(0x33, 0xcfe); ++ OUTL(0x8000005a, 0xcf8); ++ OUTB(0x33, 0xcfe); + break; + case CT_845G: + case CT_865G: +@@ -488,13 +491,13 @@ + case CT_915GM: + case CT_945G: + case CT_945GM: +- outl(0x80000090, 0xcf8); ++ OUTL(0x80000090, 0xcf8); + map->b1 = inb(0xcfd); + map->b2 = inb(0xcfe); + +- outl(0x80000090, 0xcf8); +- outb(0x33, 0xcfd); +- outb(0x33, 0xcfe); ++ OUTL(0x80000090, 0xcf8); ++ OUTB(0x33, 0xcfd); ++ OUTB(0x33, 0xcfe); + break; + } + } +@@ -526,8 +529,8 @@ + case CT_UNKWN: + break; + case CT_855GM: +- outl(0x8000005a, 0xcf8); +- outb(map->b1, 0xcfe); ++ OUTL(0x8000005a, 0xcf8); ++ OUTB(map->b1, 0xcfe); + break; + case CT_845G: + case CT_865G: +@@ -535,9 +538,9 @@ + case CT_915GM: + case CT_945G: + case CT_945GM: +- outl(0x80000090, 0xcf8); +- outb(map->b1, 0xcfd); +- outb(map->b2, 0xcfe); ++ OUTL(0x80000090, 0xcf8); ++ OUTB(map->b1, 0xcfd); ++ OUTB(map->b2, 0xcfe); + break; + } + } --- patch-915resolution ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200610151101.k9FB1XxK090912>