summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobin H. Johnson <robbat2@gentoo.org>2015-08-08 13:49:04 -0700
committerRobin H. Johnson <robbat2@gentoo.org>2015-08-08 17:38:18 -0700
commit56bd759df1d0c750a065b8c845e93d5dfa6b549d (patch)
tree3f91093cdb475e565ae857f1c5a7fd339e2d781e /x11-misc/afbinit
downloadgentoo-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 'x11-misc/afbinit')
-rw-r--r--x11-misc/afbinit/Manifest1
-rw-r--r--x11-misc/afbinit/afbinit-1.0.1-r7.ebuild44
-rw-r--r--x11-misc/afbinit/files/afbinit-mmap-1.0.1.patch20
-rw-r--r--x11-misc/afbinit/files/afbinit.init14
-rw-r--r--x11-misc/afbinit/files/rc.afb-1.0.1-r7.patch62
-rw-r--r--x11-misc/afbinit/metadata.xml7
6 files changed, 148 insertions, 0 deletions
diff --git a/x11-misc/afbinit/Manifest b/x11-misc/afbinit/Manifest
new file mode 100644
index 000000000000..dc1efe18c835
--- /dev/null
+++ b/x11-misc/afbinit/Manifest
@@ -0,0 +1 @@
+DIST afbinit-1.0.1.tar.bz2 3288 SHA256 3a9b246b34f9b518f2e9a143e5c9faacd0197baa4e5dd13f82ce3c336a3c285c
diff --git a/x11-misc/afbinit/afbinit-1.0.1-r7.ebuild b/x11-misc/afbinit/afbinit-1.0.1-r7.ebuild
new file mode 100644
index 000000000000..6964aa949c7c
--- /dev/null
+++ b/x11-misc/afbinit/afbinit-1.0.1-r7.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+inherit eutils
+
+DESCRIPTION="loads the microcode for Elite3D framebuffers to use X"
+HOMEPAGE="https://wiki.gentoo.org/wiki/No_homepage"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+IUSE=""
+
+LICENSE="GPL-1"
+SLOT="0"
+KEYWORDS="-* sparc"
+
+RDEPEND="${DEPEND}
+ sys-apps/util-linux"
+
+src_unpack() {
+ unpack ${A}
+ ##
+ # Patch rc.afb to handle both kernels 2.4.x and 2.6.x
+ einfo "Patching to handle both kernel 2.4.x and 2.6.x style afb identification"
+ cd "${S}"
+ epatch "${FILESDIR}"/rc.afb-${PVR}.patch || die "Cannot patch rc.afb init script"
+ einfo 'Patching afbinit.c to use MMAP_PUBLIC (needed for kernels > 2.6.14)'
+ epatch "${FILESDIR}"/afbinit-mmap-${PV}.patch || die "Cannot patch for mmap"
+}
+
+src_compile() {
+ emake || die "make failed"
+}
+
+src_install() {
+ dosbin afbinit
+ dosbin rc.afb
+ newinitd "${FILESDIR}"/afbinit.init afbinit
+}
+
+pkg_postinst() {
+ einfo "To use afbinit, you'll need the AFB microcode."
+ einfo "This is available via a Solaris install at /usr/lib/afb.ucode"
+ einfo "or via sun.com"
+}
diff --git a/x11-misc/afbinit/files/afbinit-mmap-1.0.1.patch b/x11-misc/afbinit/files/afbinit-mmap-1.0.1.patch
new file mode 100644
index 000000000000..43a16c0cbf49
--- /dev/null
+++ b/x11-misc/afbinit/files/afbinit-mmap-1.0.1.patch
@@ -0,0 +1,20 @@
+--- afbinit.c- 2006-01-31 15:21:31.000000000 +0000
++++ afbinit.c 2006-01-31 15:22:23.000000000 +0000
+@@ -236,7 +236,7 @@
+ /* MMAP the registers. */
+ uregs = mmap(0, 0x2000,
+ PROT_READ | PROT_WRITE,
+- MAP_PRIVATE,
++ MAP_SHARED,
+ afb_fd,
+ 0x04000000);
+ if (uregs == (void *)-1L) {
+@@ -246,7 +246,7 @@
+
+ kregs = mmap(0, 0x2000,
+ PROT_READ | PROT_WRITE,
+- MAP_PRIVATE,
++ MAP_SHARED,
+ afb_fd,
+ 0x0bc04000);
+ if (kregs == (void *)-1L) {
diff --git a/x11-misc/afbinit/files/afbinit.init b/x11-misc/afbinit/files/afbinit.init
new file mode 100644
index 000000000000..ed8fa59c017d
--- /dev/null
+++ b/x11-misc/afbinit/files/afbinit.init
@@ -0,0 +1,14 @@
+#!/sbin/runscript
+# Copyright 1999-2004 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+depend() {
+ before xdm
+}
+
+start() {
+ ebegin "Loading afbinit"
+ /usr/sbin/rc.afb
+ eend $? "Failed to load afbinit"
+}
diff --git a/x11-misc/afbinit/files/rc.afb-1.0.1-r7.patch b/x11-misc/afbinit/files/rc.afb-1.0.1-r7.patch
new file mode 100644
index 000000000000..37f5f40d1a6a
--- /dev/null
+++ b/x11-misc/afbinit/files/rc.afb-1.0.1-r7.patch
@@ -0,0 +1,62 @@
+--- rc.afb- 1999-09-08 06:42:36.000000000 +0000
++++ rc.afb 2008-03-18 17:55:11.000000000 +0000
+@@ -10,11 +10,6 @@
+ exit 0
+ fi
+
+-if [ `/bin/dmesg | /bin/grep -c "Elite 3D"` -eq 0 ]
+-then
+- exit 0
+-fi
+-
+ # The microcode loader binary and the microcode
+ # itself must exist.
+ if [ ! -x /usr/sbin/afbinit -o ! -f /usr/lib/afb.ucode ]
+@@ -22,13 +17,38 @@
+ exit 0
+ fi
+
+-# Make FB device list.
+-afb_devs=`/bin/dmesg | /bin/egrep -i "Elite 3D" | /bin/sed 's/\:.*//'`
++# Make FB device list, depending on which kind of kernel we have.
++# First, try kernel 2.4.x
++
++if [ `/bin/dmesg | /bin/grep -c "Elite 3D"` -gt 0 ]
++then
++
++ afb_devs=`/bin/dmesg | /bin/egrep -i "Elite 3D" | /bin/sed 's/\:.*//'`
++
++ # Load microcode onto each card.
++ for AFB in ${afb_devs}
++ do
++ echo -n "${AFB}: Loading Elite3D microcode... "
++ /usr/sbin/afbinit /dev/${AFB} /usr/lib/afb.ucode
++ echo "done."
++ done
++ exit 0
++else
++##
++# OK, we're not kernel 2.4.x
++# try kernel 2.6.x
++
++## if [ `/bin/dmesg | /bin/grep -c "AFB"` -gt 0 ]
++## then
+
+-# Load microcode onto each card.
+-for AFB in ${afb_devs}
+-do
+- echo -n "${AFB}: Loading Elite3D microcode... "
+- /usr/sbin/afbinit /dev/${AFB} /usr/lib/afb.ucode
+- echo "done."
+-done
++ [[ -e /proc/fb ]] || exit 0
++ afb_devs=`/bin/more -s /proc/fb | /bin/egrep -i "Elite 3D" | /bin/sed 's/\ .*//'`
++ # Load microcode onto each card.
++ for AFB in ${afb_devs}
++ do
++ echo -n "/dev/fb${AFB}: Loading Elite3D microcode... "
++ /usr/sbin/afbinit /dev/fb${AFB} /usr/lib/afb.ucode
++ echo "done."
++ done
++ exit 0
++fi
diff --git a/x11-misc/afbinit/metadata.xml b/x11-misc/afbinit/metadata.xml
new file mode 100644
index 000000000000..b87e94c3126f
--- /dev/null
+++ b/x11-misc/afbinit/metadata.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+
+ <herd>sparc</herd>
+
+</pkgmetadata>