diff options
109 files changed, 13488 insertions, 0 deletions
diff --git a/dev-lang/ocaml/Manifest b/dev-lang/ocaml/Manifest new file mode 100644 index 0000000..d6f5a83 --- /dev/null +++ b/dev-lang/ocaml/Manifest @@ -0,0 +1,16 @@ +AUX ocaml-rebuild.sh 1361 RMD160 a9c452fbea18de3b38d8240f887f8595e529643e SHA1 2a682ce872c51e66a5ab13160da16b0f6d8bd366 SHA256 a8004cd4bca96ab3fc595fcfd7dbe88903833f9e430149c3d04c9fda84362b64 +MD5 bcc5109143faee7e7b8f7f76bd4726a7 files/ocaml-rebuild.sh 1361 +RMD160 a9c452fbea18de3b38d8240f887f8595e529643e files/ocaml-rebuild.sh 1361 +SHA256 a8004cd4bca96ab3fc595fcfd7dbe88903833f9e430149c3d04c9fda84362b64 files/ocaml-rebuild.sh 1361 +DIST ocaml-3.08.3.tar.bz2 2055260 RMD160 cf09753d9e61ed5148e59d1b1b923f80d9dd4d01 SHA1 c31dfbad9317853dd64d4234f46c6d61eb4b8677 SHA256 319f771f7eb651a47f93dc175b75606e945a43dac16c097060cd055b88b23da6 +EBUILD ocaml-3.08.3.ebuild 2653 RMD160 77077f20bf733e427ed68be54fd5ead92f2d5efe SHA1 45a9f6ad52e50338989e41a82da15c4a8ef3fb1b SHA256 54cef787b4eda16f9da12c2b2595d85aa923369d24118e27d13d7b7604375697 +MD5 376254e6877e6023a95e53c16a80286d ocaml-3.08.3.ebuild 2653 +RMD160 77077f20bf733e427ed68be54fd5ead92f2d5efe ocaml-3.08.3.ebuild 2653 +SHA256 54cef787b4eda16f9da12c2b2595d85aa923369d24118e27d13d7b7604375697 ocaml-3.08.3.ebuild 2653 +MISC metadata.xml 155 RMD160 dfaa057e679b01302a807c75a32a910098b26809 SHA1 94024f83dcacbb53e92be090dd0f994ec93dc90d SHA256 118048376ebb76f57628b0819f3de4856e73959c2578c88715d37ea2d1e0af81 +MD5 8b350f19c06fcabf1053b0421b7c3f5a metadata.xml 155 +RMD160 dfaa057e679b01302a807c75a32a910098b26809 metadata.xml 155 +SHA256 118048376ebb76f57628b0819f3de4856e73959c2578c88715d37ea2d1e0af81 metadata.xml 155 +MD5 f15a3e5724d0752cec18935adb5e9a35 files/digest-ocaml-3.08.3 244 +RMD160 8e57ce3394e22f65c4201eb43f194d2465b09b07 files/digest-ocaml-3.08.3 244 +SHA256 3b7fd82bd62171bce784b8c38198b088369a40a041aa91ec554473a0a14e3cd7 files/digest-ocaml-3.08.3 244 diff --git a/dev-lang/ocaml/files/digest-ocaml-3.08.3 b/dev-lang/ocaml/files/digest-ocaml-3.08.3 new file mode 100644 index 0000000..97e0409 --- /dev/null +++ b/dev-lang/ocaml/files/digest-ocaml-3.08.3 @@ -0,0 +1,3 @@ +MD5 8277bb1537051fe5151dc31c350d64cd ocaml-3.08.3.tar.bz2 2055260 +RMD160 cf09753d9e61ed5148e59d1b1b923f80d9dd4d01 ocaml-3.08.3.tar.bz2 2055260 +SHA256 319f771f7eb651a47f93dc175b75606e945a43dac16c097060cd055b88b23da6 ocaml-3.08.3.tar.bz2 2055260 diff --git a/dev-lang/ocaml/files/digest-ocaml-3.10.0 b/dev-lang/ocaml/files/digest-ocaml-3.10.0 new file mode 100644 index 0000000..53cf443 --- /dev/null +++ b/dev-lang/ocaml/files/digest-ocaml-3.10.0 @@ -0,0 +1,3 @@ +MD5 5ec0b860730925f738d91ca96d692406 ocaml-3.10.0.tar.gz 3402010 +RMD160 40032fb06a3ae76838a56bad51119e5b30a099fd ocaml-3.10.0.tar.gz 3402010 +SHA256 daa56c4ebc21640be84e124fc5fefe091d0048d412b7e2b1e68bc2f56ff74314 ocaml-3.10.0.tar.gz 3402010 diff --git a/dev-lang/ocaml/files/ocaml-rebuild.sh b/dev-lang/ocaml/files/ocaml-rebuild.sh new file mode 100644 index 0000000..fa76994 --- /dev/null +++ b/dev-lang/ocaml/files/ocaml-rebuild.sh @@ -0,0 +1,62 @@ +#!/bin/sh +# run like this: ocaml-rebuild.sh [-h | -f] [emerge_options] + +emerge=/usr/bin/emerge + +if [ "$1" = "-h" ] +then + echo "usage: ocaml-rebuild.sh [-h | -f(orce)] [emerge_options]" + echo "With -f, the packages will first be unmerged and then emerged" + echo "with the given options to ensuree correct dependancy analysis." + echo "Otherwise emerge is run with the --pretend flag and the given" + echo "options." + echo "It is recommended to keep the list of rebuilt packages printed" + echo "in pretend mode in case something go wrong" + exit 1 +fi + +if [ "$1" = "-f" ] +then + pretend=0 + shift +else + pretend=1 +fi + +depends=`find /var/db/pkg -name DEPEND -exec grep -l 'dev-lang/ocaml\\|dev-ml/findlib' {} \;` + +for dep in $depends +do + dir=`dirname $dep` + pkg=`basename $dir` + category=`cat $dir/CATEGORY` + slot=`cat $dir/SLOT` + + toclean="=$category/$pkg $toclean" + tocleanstr="\"$category/$pkg\" $tocleanstr" + + if [ $slot -eq 0 ] + then + tobuild=">=$category/$pkg $tobuild" + tobuildstr="\">=$category/$pkg\" $tobuildstr" + else + tobuild="=$category/$pkg $tobuild" + tobuildstr="\"=$category/$pkg\" $tobuildstr" + fi +done + +echo Cleaning $tocleanstr +echo Building $tobuildstr + +if [ "$toclean" != "" ] +then + if [ $pretend -eq 1 ] + then + $emerge --pretend $@ $tobuild + else + $emerge unmerge $toclean + $emerge $@ $tobuild + fi +else + echo "Nothing to update" +fi diff --git a/dev-lang/ocaml/metadata.xml b/dev-lang/ocaml/metadata.xml new file mode 100644 index 0000000..2193d77 --- /dev/null +++ b/dev-lang/ocaml/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>ml</herd> +</pkgmetadata> diff --git a/dev-lang/ocaml/ocaml-3.08.3.ebuild b/dev-lang/ocaml/ocaml-3.08.3.ebuild new file mode 100644 index 0000000..0001191 --- /dev/null +++ b/dev-lang/ocaml/ocaml-3.08.3.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-lang/ocaml/ocaml-3.08.4.ebuild,v 1.15 2007/05/11 19:12:07 aballier Exp $ + +inherit flag-o-matic eutils multilib + +DESCRIPTION="fast modern type-inferring functional programming language descended from the ML (Meta Language) family" +HOMEPAGE="http://www.ocaml.org/" + +SRC_URI="http://caml.inria.fr/distrib/ocaml-3.08/${P}.tar.bz2" + +LICENSE="QPL-1.0 LGPL-2" +SLOT="0" +KEYWORDS="alpha amd64 arm hppa ia64 ~ppc ~ppc64 -s390 sparc ~x86 ~mips" +IUSE="tk latex" + +DEPEND="tk? ( >=dev-lang/tk-3.3.3 )" + +pkg_setup() { + ewarn + ewarn "Building ocaml with unsafe CFLAGS can have unexpected results" + ewarn "Please retry building with safer CFLAGS before reporting bugs" + ewarn "Likewise, building with a hardened gcc is not possible." + ewarn +} + +src_compile() { + filter-flags "-fstack-protector" + replace-flags "-O?" -O2 + if use mips ; then + filter-flags "-mips?" + replace-cpu-flags mips? mips1 + fi + + local myconf + use tk || myconf="-no-tk" + + # Fix for bug #23767. + if [ "${ARCH}" = "sparc" ]; then + myconf="${myconf} -host sparc-unknown-linux-gnu" + fi + + # Fix for bug #46703 + export LC_ALL=C + + ./configure -prefix /usr \ + -bindir /usr/bin \ + -libdir /usr/$(get_libdir)/ocaml \ + -mandir /usr/share/man \ + --with-pthread ${myconf} || die + + sed -i -e "s/\(BYTECCCOMPOPTS=.*\)/\1 ${CFLAGS}/" config/Makefile + sed -i -e "s/\(NATIVECCCOMPOPTS=.*\)/\1 ${CFLAGS}/" config/Makefile + + make world || die + # Native code generation unsupported on some archs + if ! use ppc64 && ! use mips ; then + make opt || die + make opt.opt || die + fi +} + +src_install() { + make BINDIR=${D}/usr/bin \ + LIBDIR=${D}/usr/$(get_libdir)/ocaml \ + MANDIR=${D}/usr/share/man \ + install || die + + # compiler libs + dodir /usr/lib/ocaml/compiler-libs + insinto /usr/lib/ocaml/compiler-libs + doins {utils,typing,parsing}/*.{mli,cmi,cmo,cmx,o} + + # headers + dodir /usr/include + dosym /usr/include/caml /usr/lib/ocaml/caml + + # silly, silly makefiles + dosed "s:${D}::g" /usr/$(get_libdir)/ocaml/ld.conf + + # documentation + dodoc Changes INSTALL LICENSE README Upgrading +} + +pkg_postinst() { + if use latex; then + echo "TEXINPUTS=/usr/$(get_libdir)/ocaml/ocamldoc:" > /etc/env.d/99ocamldoc + fi + + echo + elog "OCaml is not binary compatible from version to version," + elog "so you (may) need to rebuild all packages depending on it that" + elog "are actually installed on your system." + elog "To do so, you can run: " + elog "sh ${FILESDIR}/ocaml-rebuild.sh [-h | emerge options]" + elog "Which will call emerge on all old packages with the given options" + echo +} diff --git a/dev-util/strace/ChangeLog b/dev-util/strace/ChangeLog new file mode 100644 index 0000000..b9e7b7f --- /dev/null +++ b/dev-util/strace/ChangeLog @@ -0,0 +1,342 @@ +# ChangeLog for dev-util/strace +# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-util/strace/ChangeLog,v 1.94 2007/02/19 04:12:57 vapier Exp $ + + 19 Feb 2007; Mike Frysinger <vapier@gentoo.org> + +files/strace-4.5.15-mips-sprintsigmask.patch, strace-4.5.15.ebuild: + Fix building on mips due to updated sprintsigmask(). + +*strace-4.5.15 (17 Jan 2007) + + 17 Jan 2007; Mike Frysinger <vapier@gentoo.org> +strace-4.5.15.ebuild: + Version bump. + + 02 Dec 2006; Mike Frysinger <vapier@gentoo.org> + +files/strace-4.5.14-CTL_PROC.patch, strace-4.5.14.ebuild: + Fix building with 2.6.18+ headers #150907 by Mario Fetka. + + 05 Oct 2006; Mike Frysinger <vapier@gentoo.org> + +files/strace-4.5.14-PT_GETSIGINFO.patch, strace-4.5.14.ebuild: + Fix building with newer glibcs #149945 by Alexander Jenisch. + + 12 Jul 2006; Aron Griffis <agriffis@gentoo.org> strace-4.5.14.ebuild: + Mark 4.5.14 stable on ia64. #137914 + + 09 Jul 2006; Joshua Kinard <kumba@gentoo.org> strace-4.5.14.ebuild: + Marked stable on mips. + + 29 Jun 2006; Jose Luis Rivero <yoswink@gentoo.org> strace-4.5.14.ebuild: + Stable on alpha wrt bug #137914 + + 26 Jun 2006; Andrej Kacian <ticho@gentoo.org> strace-4.5.14.ebuild: + Stable on x86, bug #137914. + + 25 Jun 2006; Christian Birchinger <joker@gentoo.org> strace-4.5.14.ebuild: + Added sparc stable keyword + + 25 Jun 2006; Guy Martin <gmsoft@gentoo.org> strace-4.5.14.ebuild: + Stable on hppa. + + 25 Jun 2006; Marcus D. Hanwell <cryos@gentoo.org> strace-4.5.14.ebuild: + Marked stable on amd64, bug 137914. + + 25 Jun 2006; Tobias Scherbaum <dertobi123@gentoo.org> + strace-4.5.14.ebuild: + ppc stable, bug #137914 + + 25 Jun 2006; Markus Rothe <corsair@gentoo.org> strace-4.5.14.ebuild: + Stable on ppc64; bug #137914 + + 11 Jun 2006; Simon Stelling <blubb@gentoo.org> strace-4.5.12.ebuild: + stable on amd64 + + 25 May 2006; Guy Martin <gmsoft@gentoo.org> strace-4.5.12.ebuild: + Stable on hppa. + + 21 May 2006; Markus Rothe <corsair@gentoo.org> strace-4.5.12.ebuild: + Stable on ppc64; now realy.. + + 11 May 2006; Michael Sterrett <mr_bones_@gentoo.org> strace-4.5.12.ebuild: + ppc64 needs dev-libs/libaio first + + 08 May 2006; Markus Rothe <corsair@gentoo.org> strace-4.5.12.ebuild: + Stable on ppc64 + + 06 May 2006; Mark Loeser <halcy0n@gentoo.org> strace-4.5.12.ebuild: + Stable on x86 + + 02 May 2006; Gustavo Zacarias <gustavoz@gentoo.org> strace-4.5.12.ebuild: + Stable on sparc + + 23 Mar 2006; Emanuele Giaquinta <exg@gentoo.org> strace-4.5.12.ebuild: + Stable on ppc. + + 06 Feb 2006; Aron Griffis <agriffis@gentoo.org> strace-4.5.12.ebuild: + Mark 4.5.12 stable on alpha + + 04 Feb 2006; Aron Griffis <agriffis@gentoo.org> strace-4.5.12.ebuild: + Mark 4.5.12 stable on ia64 + +*strace-4.5.14 (18 Jan 2006) + + 18 Jan 2006; Mike Frysinger <vapier@gentoo.org> +strace-4.5.14.ebuild: + Version bump. + + 07 Jan 2006; Mike Frysinger <vapier@gentoo.org> + +files/strace-fix-arm-bad-syscall.patch, strace-4.5.12.ebuild: + Add a patch to follow fake arm syscalls. + + 20 Nov 2005; Mike Frysinger <vapier@gentoo.org> + files/strace-4.5.12-libaio.patch, strace-4.5.12.ebuild: + Update libaio patch to work with both old and new versions #103427. + + 16 Sep 2005; Ciaran McCreesh <ciaranm@gentoo.org> ChangeLog: + Converted to UTF-8, fixed encoding screwups + + 24 Aug 2005; Mike Frysinger <vapier@gentoo.org> + +files/strace-4.5.12-libaio.patch, strace-4.5.12.ebuild: + Fix up libaio support #103427 by Mathieu Seigneurin. + + 18 Aug 2005; Mike Frysinger <vapier@gentoo.org> + +files/strace-4.5.12-quota.patch, strace-4.5.12.ebuild: + Fix building with newer glibc snapshots with a patch from upstream cvs + #102080 by Alexey Maximov/Hanno Meyer-Thurow/Mark Loeser. + +*strace-4.5.12 (12 Aug 2005) + + 12 Aug 2005; Mike Frysinger <vapier@gentoo.org> + +files/strace-dont-use-REG_SYSCALL-for-sh.patch, + +files/strace-superh-update.patch, +files/strace-undef-syscall.patch, + +strace-4.5.12.ebuild: + Version bump and fix SuperH support. + + 29 Jun 2005; Joshua Kinard <kumba@gentoo.org> strace-4.5.11.ebuild: + Marked stable on mips. + + 28 May 2005; Mike Frysinger <vapier@gentoo.org> + +files/strace-4.5.11-alpha-stat64.patch, strace-4.5.11.ebuild: + Add a temp workaround to alpha stat64 issues. + +*strace-4.5.11 (24 May 2005) + + 24 May 2005; Mike Frysinger <vapier@gentoo.org> +strace-4.5.11.ebuild: + Version bump #93657 by Diego Pettenò. + + 08 Apr 2005; Markus Rothe <corsair@gentoo.org> strace-4.5.9.ebuild: + Stable on ppc64 + + 30 Mar 2005; Michael Hanselmann <hansmi@gentoo.org> strace-4.5.9.ebuild: + Stable on ppc. + + 21 Mar 2005; Guy Martin <gmsoft@gentoo.org> strace-4.5.9.ebuild: + Stable on hppa. + + 17 Mar 2005; Marcus D. Hanwell <cryos@gentoo.org> strace-4.5.9.ebuild: + Marked stable on amd64. + + 14 Mar 2005; Gustavo Zacarias <gustavoz@gentoo.org> strace-4.5.9.ebuild: + Stable on sparc + + 13 Mar 2005; Aron Griffis <agriffis@gentoo.org> strace-4.5.9.ebuild: + Stable on alpha and x86 + +*strace-4.5.9 (11 Feb 2005) + + 11 Feb 2005; Mike Frysinger <vapier@gentoo.org> +strace-4.5.9.ebuild: + Version bump. + + 08 Feb 2005; Aron Griffis <agriffis@gentoo.org> strace-4.5.8.ebuild: + more ia64 fixes for building against linux26-headers-2.6.8.1-r2 + + 08 Feb 2005; Aron Griffis <agriffis@gentoo.org> + +files/strace-4.5.8-ia64.patch, strace-4.5.8.ebuild: + add ia64 patch and mark stable on ia64 + + 05 Feb 2005; Michael Hanselmann <hansmi@gentoo.org> strace-4.5.7.ebuild: + Stable on ppc. + + 31 Dec 2004; Ciaran McCreesh <ciaranm@gentoo.org> : + Change encoding to UTF-8 for GLEP 31 compliance + + 19 Dec 2004; Bryan Østergaard <kloeri@gentoo.org> strace-4.5.7.ebuild: + Stable on alpha. + + 16 Dec 2004; Dylan Carlson <absinthe@gentoo.org> strace-4.5.7.ebuild: + Stable on amd64. + + 26 Nov 2004; Jeremy Huddleston <eradicator@gentoo.org> + strace-4.5.8.ebuild: + -sparc. + + 23 Nov 2004; Gustavo Zacarias <gustavoz@gentoo.org> strace-4.5.7.ebuild: + Stable on sparc + +*strace-4.5.8 (21 Nov 2004) + + 21 Nov 2004; Mike Frysinger <vapier@gentoo.org> + +strace-4.5.8.ebuild: + Version bump #71696. + +*strace-4.5.7 (21 Sep 2004) + + 22 Sep 2004; Danny van Dyk <kugelfang@gentoo.org> +strace-4.5.2.ebuild, + +files/strace-4.5.2-s390-april2004.diff: + Added strace-4.5.2 with s390 patches. This is the recommended version + in s390 acc. to Stream April 2004 and has been marked s390. + + 21 Sep 2004; Mike Frysinger <vapier@gentoo.org> +strace-4.5.7.ebuild: + Version bump. + + 07 Aug 2004; Tom Martin <slarti@gentoo.org> strace-4.4.94.ebuild: + Typo in DESCRIPTION: usefull -> useful. Bug 59717. + + 05 Aug 2004; Mike Frysinger <vapier@gentoo.org> : + Version bump. + + 01 Jul 2004; Jeremy Huddleston <eradicator@gentoo.org> strace-4.4.94.ebuild, + strace-4.4.98-r1.ebuild, strace-4.4.98.ebuild, strace-4.5.1.ebuild, + strace-4.5.ebuild: + virtual/glibc -> virtual/libc + + 05 Jun 2004; <tuxus@gentoo.org> strace-4.4.98-r1.ebuild, + strace-4.4.98.ebuild: + Change ~mips -mips + + 04 Jun 2004; Bryan Østergaard <kloeri@gentoo.org> strace-4.5.1.ebuild: + Stable on alpha. + + 15 May 2004; Joshua Kinard <kumba@gentoo.org> strace-4.5.1.ebuild: + Marked stable on mips. + + 06 May 2004; Gustavo Zacarias <gustavoz@gentoo.org> strace-4.5.1.ebuild: + Stable on sparc + + 28 Apr 2004; Jon Portnoy <avenj@gentoo.org> strace-4.5.1.ebuild : + Stable on x86 and AMD64. + +*strace-4.4.98-r1 (18 Apr 2004) + + 18 Apr 2004; Michael McCabe <randy@gentoo.org> +strace-4.4.98-r1.ebuild: + Added s390 specific fix to close bug 47916 and added s390 keyword + +*strace-4.4.98-r1 18 Apr 2004 + + 18 Apr 2004; <> + # INSERT ENTRY HERE + + 16 Feb 2004; <tgall@gentoo.org> strace-4.5.1.ebuild: + Move to ppc64 stable + + 05 Feb 2004; <tuxus@gentoo.org> strace-4.5.ebuild: + Move to mips stable + + 12 Jan 2004; <gustavoz@gentoo.org> strace-4.5.1.ebuild: + patch exclusion for sparc, it's b0rked + + 08 Jan 2004; Martin Holzer <mholzer@gentoo.org> strace-4.4.98.ebuild: + adding IUSE for static. Closes 36082 + + 28 Dec 2003; Joshua Kinard <kumba@gentoo.org> strace-4.4.98.ebuild: + Move to mips stable (~mips -> mips) + + 25 Dec 2003; <plasmaroo@gentoo.org> strace-4.5.1.ebuild, + files/strace-4.5.1-2.6.patch: + Added a patch allowing strace to compile successfully on 2.6 kernels. + +*strace-4.5.1 (18 Nov 2003) + + 18 Nov 2003; Martin Holzer <mholzer@gentoo.org> strace-4.5.1.ebuild: + Version bumped. + + 28 Oct 2003; Chris PeBenito <pebenito@gentoo.org> strace-4.4-r1.ebuild: + Remove unneeded SELinux patch. + + 22 Oct 2003; Bartosch Pixa <darkspecter@gentoo.org> strace-4.4.98.ebuild: + set ppc in keywords + +*strace-4.5 (25 Sep 2003) + + 25 Sep 2003; Martin Holzer <mholzer@gentoo.org> strace-4.5.ebuild: + Version bumped. + + 15 Jul 2003; Christian Birchinger <joker@gentoo.org> strace-4.4.98.ebuild: + Added sparc stable keyword + + 13 Jun 2003; <msterret@gentoo.org> strace-4.4.93.ebuild, + strace-4.4.94.ebuild, strace-4.4.98.ebuild, strace-4.4.ebuild: + added IUSE + +*strace-4.4.98 (12 Jun 2003) + + 04 Aug 2003; Guy Martin <gmsoft@gentoo.org> strace-4.4.98.ebuild : + Marked stable on hppa. + + 12 Jun 2003; <msterret@gentoo.org> strace-4.4.98.ebuild: + version bump as per Bug 22718 + +*strace-4.4.94 (03 Apr 2003) + + 03 Apr 2003; Martin Holzer <mholzer@gentoo.org> strace-4.4.94.ebuild: + Version bumped. Closes #18668. + +*strace-4.4.93 (16 Feb 2003) + + 03 Apr 2003; Martin Holzer <mholzer@gentoo.org> strace-4.4.93.ebuild: + Updated SRC_URI + + 22 Feb 2003; Aron Griffis <agriffis@gentoo.org> strace-4.4.93.ebuild : + Mark stable on alpha + + 16 Feb 2003; Jan Seidel <tuxus@gentoo.org> strace-4.4.93.ebuild : + Added mips to keywords + + 14 Feb 2003; Guy Martin <gmsoft@gentoo.org> strace-4.4-r1.ebuild : + Added -DHPPA for gcc on hppa. Added hppa to keywords. + +*strace-4.4-r1 (31 Dec 2002) + + 30 Mar 2003; Christian Birchinger <joker@gentoo.org> strace-4.4-r1.ebuild: + Added sparc stable keyword + + 23 Mar 2003; Joshua Brindle <method@gentoo.org> strace-4.4-r1.ebuild: + added selinux support, thanks pebenito + + 22 Mar 2003; Zach Welch <zwelch@gentoo.org> strace-4.4-r1.ebuild, + files/strace-4.4-arm-configure.patch, files/strace-4.4-arm.patch: + add ARM patches for strace + + 31 Dec 2002; Mike Frysinger <vapier@gentoo.org> : + Added support for static. + +*strace-4.4 (27 Apr 2002) + + 26 Sep 2002; Mike Frysinger <vapier@gentoo.org> : + Updated SRC_URI to mirror: and added alpha to KEYWORDS + + 27 Aug 2002; Maarten Thibaut <murphy@gentoo.org> strace-4.4.ebuild : + + Added sparc and sparc64 to keywords. + Bugfix for sparc and sparc64 where emerge would fail if the "-O3" option + were present in CFLAGS. + + 01 Aug 2002; Mark Guertin <gerk@gentoo.org> strace-4.4.ebuild : + + Added ppc to keywords + + 17 May 2002; Bruce A. Locke <blocke@shivan.org> strace-4.4.ebuild : + + SourceForge mirror change and general ebuild cleanup + + 27 Apr 2002; Jon Nelson <jnelson@gentoo.org> ChangeLog : + + Updated to 4.4 + +*strace-4.3 (1 Feb 2002) + + 1 Feb 2002; G.Bevin <gbevin@gentoo.org> ChangeLog : + + Added initial ChangeLog which should be updated whenever the package is + updated in any way. This changelog is targetted to users. This means that the + comments should well explained and written in clean English. The details about + writing correct changelogs are explained in the skel.ChangeLog file which you + can find in the root directory of the portage repository. diff --git a/dev-util/strace/Manifest b/dev-util/strace/Manifest new file mode 100644 index 0000000..df01534 --- /dev/null +++ b/dev-util/strace/Manifest @@ -0,0 +1,72 @@ +AUX strace-4.5.11-alpha-stat64.patch 1418 RMD160 a136a80eac15bca87fe6b2d39d65949fc2249d0a SHA1 09bfdf92442b9ac694b98c3c8710af9947f49521 SHA256 33ce8bf0b266c2741607907460686a82e23df0ac79fdb7fe5b4436d119b101de +MD5 cbd6857cb3c5b57e1364ca621fb1a5b3 files/strace-4.5.11-alpha-stat64.patch 1418 +RMD160 a136a80eac15bca87fe6b2d39d65949fc2249d0a files/strace-4.5.11-alpha-stat64.patch 1418 +SHA256 33ce8bf0b266c2741607907460686a82e23df0ac79fdb7fe5b4436d119b101de files/strace-4.5.11-alpha-stat64.patch 1418 +AUX strace-4.5.11-fbsd.patch 4767 RMD160 aa04c24f5dc8dd6baee0286e1901f31aee54f10a SHA1 9f97462ca68cf73cbf21c78a702c1d47525d73b5 SHA256 15e78c360ab72210b2e168d50e80b88e0188c149364545c9ff3f06d6b3b6f1fb +MD5 3eb9b0a09aef20e2fd45e7f6e73557d1 files/strace-4.5.11-fbsd.patch 4767 +RMD160 aa04c24f5dc8dd6baee0286e1901f31aee54f10a files/strace-4.5.11-fbsd.patch 4767 +SHA256 15e78c360ab72210b2e168d50e80b88e0188c149364545c9ff3f06d6b3b6f1fb files/strace-4.5.11-fbsd.patch 4767 +AUX strace-4.5.12-libaio.patch 1552 RMD160 d4084416ed298ae07ea672569d04a22feb2f9188 SHA1 eec055eacba686d98bd36556be28eca96596b995 SHA256 6ea8fe265b9161ca708aa3b5fd31eee4584b9c7fcf829dcd8624a965fb048a78 +MD5 773009048510f12c898d4bf9126bc564 files/strace-4.5.12-libaio.patch 1552 +RMD160 d4084416ed298ae07ea672569d04a22feb2f9188 files/strace-4.5.12-libaio.patch 1552 +SHA256 6ea8fe265b9161ca708aa3b5fd31eee4584b9c7fcf829dcd8624a965fb048a78 files/strace-4.5.12-libaio.patch 1552 +AUX strace-4.5.12-quota.patch 2947 RMD160 2c2773c1ea16fef1e0ce9e7350861a5e6e2b7e37 SHA1 a1d0c1dcd8abb04e195aed3f4285095b4cb8caa3 SHA256 1ecab1a88be09da7047e6a07749303bd1f306a9b0af095c61c707b0ff8c6ef08 +MD5 a60a27ad25c9a4be8f74cac3b50d26e1 files/strace-4.5.12-quota.patch 2947 +RMD160 2c2773c1ea16fef1e0ce9e7350861a5e6e2b7e37 files/strace-4.5.12-quota.patch 2947 +SHA256 1ecab1a88be09da7047e6a07749303bd1f306a9b0af095c61c707b0ff8c6ef08 files/strace-4.5.12-quota.patch 2947 +AUX strace-4.5.12-superh-update.patch 540 RMD160 4a021623687f0bbb6dc1e102ab5e304fea123857 SHA1 17c911fef9c8fb9cad0f9f671372ec4b9b29dd43 SHA256 267d553bec04725e3d723b3afe825c8307774d75c9f9424c6801048fc85712b9 +MD5 d35971fd734b9597cc50db1060fd2b8f files/strace-4.5.12-superh-update.patch 540 +RMD160 4a021623687f0bbb6dc1e102ab5e304fea123857 files/strace-4.5.12-superh-update.patch 540 +SHA256 267d553bec04725e3d723b3afe825c8307774d75c9f9424c6801048fc85712b9 files/strace-4.5.12-superh-update.patch 540 +AUX strace-4.5.14-CTL_PROC.patch 353 RMD160 5a0c556334991b9b6855fed33942377e6c0e3278 SHA1 745fadf652a51b509f53a742e153e7c923a33c75 SHA256 f00b59ec7a93ac1b3c6fa786e03611e387f9235b187122602b8f439eab3c13b5 +MD5 9bba6568be37f6b0179eb9fdbde37ee0 files/strace-4.5.14-CTL_PROC.patch 353 +RMD160 5a0c556334991b9b6855fed33942377e6c0e3278 files/strace-4.5.14-CTL_PROC.patch 353 +SHA256 f00b59ec7a93ac1b3c6fa786e03611e387f9235b187122602b8f439eab3c13b5 files/strace-4.5.14-CTL_PROC.patch 353 +AUX strace-4.5.14-PT_GETSIGINFO.patch 766 RMD160 c44f89db60f0eaf8c9f37f2579dfc82cc0aff1ff SHA1 a870fc6d5fce4289cd4167c6534e38673919f72e SHA256 8b58a9ba6e917e4f6bf3f3821271364511d3dfaa2e6cdd96d461da9c63af2b8a +MD5 f3397466058b002f3641219f3fad9b60 files/strace-4.5.14-PT_GETSIGINFO.patch 766 +RMD160 c44f89db60f0eaf8c9f37f2579dfc82cc0aff1ff files/strace-4.5.14-PT_GETSIGINFO.patch 766 +SHA256 8b58a9ba6e917e4f6bf3f3821271364511d3dfaa2e6cdd96d461da9c63af2b8a files/strace-4.5.14-PT_GETSIGINFO.patch 766 +AUX strace-4.5.15-mips-sigcontext.patch 455 RMD160 7e954ce42b27e3b9f989ab1a22f4af8bc48f9650 SHA1 6d31be6421782ce511b35f4dfd566c91678616fd SHA256 9777379bcec5292f44a4fbcbb79b597a1403c908ee5f77ffe5a3562c525d2d81 +MD5 1879f1eea87c5a22025bc9a27af0f3ea files/strace-4.5.15-mips-sigcontext.patch 455 +RMD160 7e954ce42b27e3b9f989ab1a22f4af8bc48f9650 files/strace-4.5.15-mips-sigcontext.patch 455 +SHA256 9777379bcec5292f44a4fbcbb79b597a1403c908ee5f77ffe5a3562c525d2d81 files/strace-4.5.15-mips-sigcontext.patch 455 +AUX strace-4.5.15-mips-sprintsigmask.patch 375 RMD160 574513146fc496056bfab38b885c2e03bc6f0f66 SHA1 1ad6d61c6655a92e8e19d83b56f1cf01cfcc4b69 SHA256 a91ded61685b74b05fbd1716ead449810552508d7c7377e14929c362fa2f6e21 +MD5 2601f6f425544219ea603773650272cb files/strace-4.5.15-mips-sprintsigmask.patch 375 +RMD160 574513146fc496056bfab38b885c2e03bc6f0f66 files/strace-4.5.15-mips-sprintsigmask.patch 375 +SHA256 a91ded61685b74b05fbd1716ead449810552508d7c7377e14929c362fa2f6e21 files/strace-4.5.15-mips-sprintsigmask.patch 375 +AUX strace-4.5.8-ia64.patch 2271 RMD160 8a26565e9286deb508a2b1626b41e9856d81c385 SHA1 848a4f32b9b6f75fdebfae4de0e907221022354b SHA256 7882ae9504c1ff1446d7b0df3a27642a8703b3065adf2df1e66b83dd9a13b0f3 +MD5 335622a1648a690be4e5eddba97f3034 files/strace-4.5.8-ia64.patch 2271 +RMD160 8a26565e9286deb508a2b1626b41e9856d81c385 files/strace-4.5.8-ia64.patch 2271 +SHA256 7882ae9504c1ff1446d7b0df3a27642a8703b3065adf2df1e66b83dd9a13b0f3 files/strace-4.5.8-ia64.patch 2271 +AUX strace-dont-use-REG_SYSCALL-for-sh.patch 630 RMD160 77a2ba5b252632970baafdb11ba7841a28b1fbec SHA1 d3cd6b7f22174a25a386deedd1441517106c528e SHA256 5a3f73e6671753d990b0782aa91b8f3204cc2857b9e45e20a2b87471207c17a3 +MD5 df94e08f4b2b33edc62a8e700bdb37ca files/strace-dont-use-REG_SYSCALL-for-sh.patch 630 +RMD160 77a2ba5b252632970baafdb11ba7841a28b1fbec files/strace-dont-use-REG_SYSCALL-for-sh.patch 630 +SHA256 5a3f73e6671753d990b0782aa91b8f3204cc2857b9e45e20a2b87471207c17a3 files/strace-dont-use-REG_SYSCALL-for-sh.patch 630 +AUX strace-fix-arm-bad-syscall.patch 560 RMD160 56cbe4c575118f78efa40abc7fc84852e30d502c SHA1 d9c4a8687cff9d68ebf892880073bc5585dd87e7 SHA256 b7f57f8fc46af991046e87a6afd2468f337f4ba42f8b4a78fdb8278c47b92aa9 +MD5 ee93a7bc6c247bdc094c2d9f932bfb5a files/strace-fix-arm-bad-syscall.patch 560 +RMD160 56cbe4c575118f78efa40abc7fc84852e30d502c files/strace-fix-arm-bad-syscall.patch 560 +SHA256 b7f57f8fc46af991046e87a6afd2468f337f4ba42f8b4a78fdb8278c47b92aa9 files/strace-fix-arm-bad-syscall.patch 560 +AUX strace-superh-update.patch 300 RMD160 905c73c036b986ee1388130564bf6f4a3a5d1840 SHA1 18993f21c8068741398d562e57aed6afaaaa806b SHA256 7e90b6557b61594f3bfea6f9f95892d668ebeb8dd6f2d01a74eebf8b09b653ec +MD5 ff683dfacf57a09947ca5e6c4406249d files/strace-superh-update.patch 300 +RMD160 905c73c036b986ee1388130564bf6f4a3a5d1840 files/strace-superh-update.patch 300 +SHA256 7e90b6557b61594f3bfea6f9f95892d668ebeb8dd6f2d01a74eebf8b09b653ec files/strace-superh-update.patch 300 +AUX strace-undef-syscall.patch 656 RMD160 d487e514648b51fa6d40b27736c1d1c41416770f SHA1 a07b28189d83c579552e7c825d7ab7bc87d9ee36 SHA256 fbda53ace470c2bdb28cfee7acca2568f6242504adef4b731f60eaf57df915f7 +MD5 661ca5a1974846c6f778c6c47d8b382e files/strace-undef-syscall.patch 656 +RMD160 d487e514648b51fa6d40b27736c1d1c41416770f files/strace-undef-syscall.patch 656 +SHA256 fbda53ace470c2bdb28cfee7acca2568f6242504adef4b731f60eaf57df915f7 files/strace-undef-syscall.patch 656 +DIST strace-4.5.15.tar.bz2 455607 RMD160 0c6aaa8820a0985d89b21a5da9578b27435c8906 SHA1 a6bd153eeb1a25a50bb5a1d92887a4911ec9ad48 SHA256 ba8c492c1b2033d4e2131f05df9e3780d4bc35bea87aa32a6052dd53a814e288 +EBUILD strace-4.5.15.ebuild 1270 RMD160 80d3489c9b231bea3e2b6826463a2352f91bce1f SHA1 c66adae1ebb098c3950f5440ac28f79af29322c7 SHA256 e5e620ee8b8cdc81b40ce5a02dc7f8650bde826a90fbfd27535da7ee9473d855 +MD5 b26624c0d64bd25012a217ba31f72c58 strace-4.5.15.ebuild 1270 +RMD160 80d3489c9b231bea3e2b6826463a2352f91bce1f strace-4.5.15.ebuild 1270 +SHA256 e5e620ee8b8cdc81b40ce5a02dc7f8650bde826a90fbfd27535da7ee9473d855 strace-4.5.15.ebuild 1270 +MISC ChangeLog 11282 RMD160 61b83885451b36ae94b1f4a8473c7ad2bf42f57a SHA1 855ecac1a86c30b10b6419653ab9b0488390ef2a SHA256 7cab6fd2d6e8da4cf986ecc76119fc6e521f806a61e506ac89ffd0d866d3fa71 +MD5 cd71078d6bfa3011829c4c8d1daeb86f ChangeLog 11282 +RMD160 61b83885451b36ae94b1f4a8473c7ad2bf42f57a ChangeLog 11282 +SHA256 7cab6fd2d6e8da4cf986ecc76119fc6e521f806a61e506ac89ffd0d866d3fa71 ChangeLog 11282 +MISC metadata.xml 164 RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 SHA1 9c213f5803676c56439df3716be07d6692588856 SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92 +MD5 9a09f8d531c582e78977dbfd96edc1f2 metadata.xml 164 +RMD160 f43cbec30b7074319087c9acffdb9354b17b0db3 metadata.xml 164 +SHA256 f5f2891f2a4791cd31350bb2bb572131ad7235cd0eeb124c9912c187ac10ce92 metadata.xml 164 +MD5 80c9289783c55e39c2f2468c04315689 files/digest-strace-4.5.15 244 +RMD160 806438be0f55997ed17003e1d55b4c53a83b9ea9 files/digest-strace-4.5.15 244 +SHA256 a03c34145a567f175deabdc589913d8b7ca08e40639dc704071b969ef999f5b4 files/digest-strace-4.5.15 244 diff --git a/dev-util/strace/files/digest-strace-4.5.15 b/dev-util/strace/files/digest-strace-4.5.15 new file mode 100644 index 0000000..bf58fb3 --- /dev/null +++ b/dev-util/strace/files/digest-strace-4.5.15 @@ -0,0 +1,3 @@ +MD5 ef40944118841803391d212cb64d3c5b strace-4.5.15.tar.bz2 455607 +RMD160 0c6aaa8820a0985d89b21a5da9578b27435c8906 strace-4.5.15.tar.bz2 455607 +SHA256 ba8c492c1b2033d4e2131f05df9e3780d4bc35bea87aa32a6052dd53a814e288 strace-4.5.15.tar.bz2 455607 diff --git a/dev-util/strace/files/strace-4.5.11-alpha-stat64.patch b/dev-util/strace/files/strace-4.5.11-alpha-stat64.patch new file mode 100644 index 0000000..e55f61d --- /dev/null +++ b/dev-util/strace/files/strace-4.5.11-alpha-stat64.patch @@ -0,0 +1,37 @@ +Hack around an ugly issue. The only arch to provide the st_flags and st_gen +members of the stat structure is alpha. However, alpha only provides it for +stat and not stat64. So the autoconf script checks the stat structure for +all the relevant members but does not check stat64, thus setting up defines +that say these two members are present. To make matters worse, glibc defines +(via sys/stat.h -> bits/stat.h) both stat and stat64 with the st_flags and +st_gen members. Since file.c makes sure to hide the glibc defines and use the +kernel defines, even if we tried to detect stat64.st_flags and stat64.st_gen +in the autoconf script, the glibc headers would be parsed thereforce providing +false positives. + +--- file.c ++++ file.c +@@ -997,13 +997,6 @@ + tprintf("st_atime=%s, ", sprinttime(statbuf.st_atime)); + tprintf("st_mtime=%s, ", sprinttime(statbuf.st_mtime)); + tprintf("st_ctime=%s", sprinttime(statbuf.st_ctime)); +-#if HAVE_STRUCT_STAT_ST_FLAGS +- tprintf(", st_flags="); +- if (statbuf.st_flags) { +- printflags(fileflags, statbuf.st_flags); +- } else +- tprintf("0"); +-#endif + #if HAVE_STRUCT_STAT_ST_ACLCNT + tprintf(", st_aclcnt=%d", statbuf.st_aclcnt); + #endif +@@ -1014,9 +1007,6 @@ + tprintf(", st_fstype=%.*s", + (int) sizeof statbuf.st_fstype, statbuf.st_fstype); + #endif +-#if HAVE_STRUCT_STAT_ST_GEN +- tprintf(", st_gen=%u", statbuf.st_gen); +-#endif + tprintf("}"); + } + else diff --git a/dev-util/strace/files/strace-4.5.11-fbsd.patch b/dev-util/strace/files/strace-4.5.11-fbsd.patch new file mode 100644 index 0000000..1c1e31f --- /dev/null +++ b/dev-util/strace/files/strace-4.5.11-fbsd.patch @@ -0,0 +1,181 @@ +Add support for FreeBSD. + +Patch by Piego Pettenò + +http://bugs.gentoo.org/93657 + +--- strace-4.5.11/configure.ac ++++ strace-4.5.11/configure.ac +@@ -192,16 +192,24 @@ + fi + + AC_CHECK_FUNCS(sigaction strerror strsignal pread sys_siglist _sys_siglist getdents mctl prctl sendmsg inet_ntop if_indextoname) +-AC_CHECK_HEADERS([sys/reg.h sys/filio.h sys/acl.h sys/asynch.h sys/door.h stropts.h sys/conf.h sys/stream.h sys/tihdr.h sys/tiuser.h sys/sysconfig.h ioctls.h sys/ioctl.h sys/ptrace.h termio.h linux/ptrace.h asm/reg.h sys/uio.h sys/aio.h poll.h sys/poll.h sys/vfs.h asm/sysmips.h linux/utsname.h sys/nscsys.h mqueue.h sys/epoll.h], [], []) ++AC_CHECK_HEADERS([sys/reg.h sys/filio.h sys/acl.h sys/asynch.h sys/door.h stropts.h sys/conf.h sys/stream.h sys/tihdr.h sys/tiuser.h sys/sysconfig.h ioctls.h sys/ioctl.h sys/ptrace.h termio.h linux/ptrace.h asm/reg.h sys/uio.h sys/aio.h poll.h sys/poll.h sys/vfs.h asm/sysmips.h linux/utsname.h sys/nscsys.h mqueue.h sys/epoll.h sys/param.h], [], []) + AC_CHECK_HEADERS([linux/icmp.h linux/in6.h linux/netlink.h linux/if_packet.h], + [], [], [#include <linux/socket.h>]) + AC_CHECK_HEADERS([asm/sigcontext.h], [], [], [#include <signal.h>]) +-AC_CHECK_HEADERS([netinet/tcp.h netinet/udp.h],,, [#include <netinet/in.h>]) ++AC_CHECK_HEADERS([netinet/tcp.h netinet/udp.h],,, ++[#include <sys/types.h> ++#include <netinet/in.h>]) ++ ++AC_CHECK_HEADERS([sys/mount.h],,, ++[#include <sys/types.h> ++#include <sys/param.h>]) + + AC_MP_PROCFS + AC_POLLABLE_PROCFS + +-AC_CHECK_MEMBERS([struct msghdr.msg_control],,, [#include <sys/socket.h>]) ++AC_CHECK_MEMBERS([struct msghdr.msg_control],,, ++[#include <sys/types.h> ++#include <sys/socket.h>]) + AC_STRUCT_PR_SYSCALL + + AC_CHECK_MEMBERS([struct T_conn_res.QUEUE_ptr, +@@ -209,6 +217,19 @@ + [#include <sys/stream.h> + #include <sys/tihdr.h>]) + ++AC_CHECK_MEMBERS([struct fsid.val, ++ struct fsid.__val],,, ++[#include <sys/types.h> ++#ifdef HAVE_SYS_PARAM_H ++# include <sys/param.h> ++#endif ++#ifdef HAVE_SYS_VFS_H ++# include <sys/vfs.h> ++#endif ++#ifdef HAVE_SYS_MOUNT_H ++# include <sys/mount.h> ++#endif]) ++ + AC_CHECK_TYPES([struct __old_kernel_stat],,, [#include <asm/stat.h>]) + + AC_CHECK_TYPES([struct pt_all_user_regs, struct ia64_fpreg],,, +--- strace-4.5.11/file.c ++++ strace-4.5.11/file.c +@@ -200,6 +200,10 @@ + #include <ustat.h> + #endif + ++#if defined(HAVE_STRUCT_FSID_VAL) && ! defined(HAVE_STRUCT_FSID___VAL) ++#define __val val ++#endif ++ + /* + * This is a really dirty trick but it should always work. Traditional + * Unix says r/w/rw are 0/1/2, so we make them true flags 1/2/3 by +@@ -2495,6 +2499,8 @@ + } + + ++#ifdef LINUX ++ + static const struct xlat advise[] = { + { POSIX_FADV_NORMAL, "POSIX_FADV_NORMAL" }, + { POSIX_FADV_RANDOM, "POSIX_FADV_RANDOM" }, +@@ -2506,7 +2512,6 @@ + }; + + +-#ifdef LINUX + int + sys_fadvise64(tcp) + struct tcb *tcp; +@@ -2524,7 +2529,6 @@ + } + return 0; + } +-#endif + + + int +@@ -2545,3 +2549,5 @@ + } + return 0; + } ++ ++#endif +--- strace-4.5.11/net.c ++++ strace-4.5.11/net.c +@@ -1112,6 +1112,7 @@ + tprintf("}}"); + return; + } ++#ifdef SCM_CREDENTIALS + if (u.cmsg.cmsg_type == SCM_CREDENTIALS + && CMSG_LEN(sizeof(struct ucred)) <= u.cmsg.cmsg_len) { + struct ucred *uc = (struct ucred *) CMSG_DATA (&u.cmsg); +@@ -1119,6 +1120,7 @@ + (long)uc->pid, (long)uc->uid, (long)uc->gid); + return; + } ++#endif + } + tprintf(", ...}"); + } +--- strace-4.5.11/sock.c ++++ strace-4.5.11/sock.c +@@ -46,6 +46,7 @@ + #endif + #endif + #include <net/if.h> ++#include <netinet/in.h> + + extern const struct xlat addrfams[]; + +@@ -55,16 +56,26 @@ + { IFF_DEBUG, "IFF_DEBUG" }, + { IFF_LOOPBACK, "IFF_LOOPBACK" }, + { IFF_POINTOPOINT, "IFF_POINTOPOINT" }, ++#ifdef IFF_NOTRAILERS + { IFF_NOTRAILERS, "IFF_NOTRAILERS" }, ++#endif + { IFF_RUNNING, "IFF_RUNNING" }, + { IFF_NOARP, "IFF_NOARP" }, + { IFF_PROMISC, "IFF_PROMISC" }, + { IFF_ALLMULTI, "IFF_ALLMULTI" }, ++#ifdef IFF_MASTER + { IFF_MASTER, "IFF_MASTER" }, ++#endif ++#ifdef IFF_SLAVE + { IFF_SLAVE, "IFF_SLAVE" }, ++#endif + { IFF_MULTICAST, "IFF_MULTICAST" }, ++#ifdef IFF_PORTSEL + { IFF_PORTSEL, "IFF_PORTSEL" }, ++#endif ++#ifdef IFF_AUTOMEDIA + { IFF_AUTOMEDIA, "IFF_AUTOMEDIA" }, ++#endif + { 0, NULL } + }; + +--- strace-4.5.11/strace.c ++++ strace-4.5.11/strace.c +@@ -617,6 +617,23 @@ + cleanup(); + exit(1); + } ++#ifdef FREEBSD ++ { ++ int status; ++ pid_t err; ++ ++ do { ++ err = waitpid(pid, &status, WUNTRACED); ++ } while (err == -1 && errno == EINTR); ++ if (err == -1) { ++ fprintf(stderr, ++ "waitpid() failed: %s\n", ++ strerror(errno)); ++ cleanup(); ++ exit(1); ++ } ++ } ++#endif + #ifdef USE_PROCFS + if (proc_open(tcp, 0) < 0) { + fprintf(stderr, "trouble opening proc file\n"); diff --git a/dev-util/strace/files/strace-4.5.12-libaio.patch b/dev-util/strace/files/strace-4.5.12-libaio.patch new file mode 100644 index 0000000..e24d3c3 --- /dev/null +++ b/dev-util/strace/files/strace-4.5.12-libaio.patch @@ -0,0 +1,60 @@ +Make libaio support a proper option and update the checks to support +both new and old versions of libaio. + +http://bugs.gentoo.org/103427 + +--- strace/configure.ac ++++ strace/configure.ac +@@ -170,6 +170,26 @@ + struct stat.st_rdev]) + AC_STAT64 + ++AC_ARG_ENABLE(libaio, ++ AC_HELP_STRING([--enable-libaio],[enable support for libaio @<:@default=auto@:>@]), ++ [enable_libaio=$enableval], ++ [enable_libaio=auto] ++) ++if test "x$enable_libaio" != "xno" ; then ++ AC_CHECK_HEADER([libaio.h],[have_libaio=yes],[have_libaio=no]) ++ if test "x$enable_libaio$have_libaio" = "xyesno" ; then ++ AC_MSG_ERROR(Could not detect libaio.h) ++ elif test "x$have_libaio" = "xyes" ; then ++ AC_DEFINE(HAVE_LIBAIO_H, 1, [System has libaio.h]) ++ AC_CHECK_MEMBERS([ ++ struct iocb.data, ++ struct iocb.aio_data, ++ struct iocb.key, ++ struct iocb.aio_key], ++ [], [], [#include <libaio.h>]) ++ fi ++fi ++ + AC_TYPE_SIGNAL + AC_TYPE_UID_T + AC_TYPE_MODE_T +--- strace/desc.c ++++ strace/desc.c +@@ -767,7 +767,11 @@ + continue; + } + tprintf("{%p, %u, %hu, %hu, %d}", ++#ifdef HAVE_STRUCT_IOCB_AIO_DATA ++ iocb.aio_data, iocb.aio_data, ++#else + iocb.data, iocb.key, ++#endif + iocb.aio_lio_opcode, + iocb.aio_reqprio, iocb.aio_fildes); + } +@@ -793,7 +797,11 @@ + #ifdef HAVE_LIBAIO_H + if (umove(tcp, tcp->u_arg[1], &iocb) == 0) { + tprintf("{%p, %u, %hu, %hu, %d}, ", ++#ifdef HAVE_STRUCT_IOCB_AIO_DATA ++ iocb.aio_data, iocb.aio_data, ++#else + iocb.data, iocb.key, ++#endif + iocb.aio_lio_opcode, + iocb.aio_reqprio, iocb.aio_fildes); + } else diff --git a/dev-util/strace/files/strace-4.5.12-quota.patch b/dev-util/strace/files/strace-4.5.12-quota.patch new file mode 100644 index 0000000..161d0fc --- /dev/null +++ b/dev-util/strace/files/strace-4.5.12-quota.patch @@ -0,0 +1,89 @@ +Changes from upstream cvs to fix breakage with newer glibc's + +http://bugs.gentoo.org/102080 + +--- strace-4.5.12/configure.ac ++++ strace-4.5.12/configure.ac +@@ -216,6 +216,8 @@ + + AC_CHECK_TYPES([struct user_desc],,, [#include <asm/ldt.h>]) + ++AC_CHECK_MEMBERS([struct dqblk.dqb_curblocks],,, [#include <sys/quota.h>]) ++ + AC_CHECK_DECLS([sys_errlist]) + AC_CHECK_DECLS([sys_siglist, _sys_siglist],,, [#include <signal.h>]) + +--- strace-4.5.12/resource.c ++++ strace-4.5.12/resource.c +@@ -464,6 +464,7 @@ + + #ifdef LINUX + ++#define OLD_CMD(c) ((c)<<8) + #define NEW_CMD(c) ((0x80<<16)+(c)) + #define XQM_CMD(c) (('X'<<8)+(c)) + #define NEW_COMMAND(c) (( ((c) >> SUBCMDSHIFT) & (0x80 << 16))) +@@ -471,15 +472,15 @@ + #define OLD_COMMAND(c) (!NEW_COMMAND(c) && !XQM_COMMAND(c)) + + static const struct xlat quotacmds[] = { +- { Q_QUOTAON, "Q_QUOTAON" }, +- { Q_QUOTAOFF, "Q_QUOTAOFF" }, +- { Q_GETQUOTA, "Q_GETQUOTA" }, +- { Q_SETQUOTA, "Q_SETQUOTA" }, +- { Q_SETUSE, "Q_SETUSE" }, +- { Q_SYNC, "Q_SYNC" }, +- { Q_SETQLIM, "Q_SETQLIM" }, +- { Q_GETSTATS, "Q_GETSTATS" }, +- { Q_RSQUASH, "Q_RSQUASH" }, ++ { OLD_CMD(0x1), "Q_QUOTAON" }, ++ { OLD_CMD(0x2), "Q_QUOTAOFF" }, ++ { OLD_CMD(0x3), "Q_GETQUOTA" }, ++ { OLD_CMD(0x4), "Q_SETQUOTA" }, ++ { OLD_CMD(0x5), "Q_SETUSE" }, ++ { OLD_CMD(0x6), "Q_SYNC" }, ++ { OLD_CMD(0x7), "Q_SETQLIM" }, ++ { OLD_CMD(0x8), "Q_GETSTATS" }, ++ { OLD_CMD(0x10),"Q_RSQUASH" }, + { NEW_CMD(0x1), "Q_SYNC" }, + { NEW_CMD(0x2), "Q_QUOTAON" }, + { NEW_CMD(0x3), "Q_QUOTAOFF" }, +@@ -528,21 +529,29 @@ + + if (!tcp->u_arg[3]) + tprintf("NULL"); +- else if (!verbose(tcp) || !OLD_COMMAND(cmd)) ++ else if (!verbose(tcp) || ++#ifdef HAVE_STRUCT_DQBLK_DQB_CURBLOCKS ++ ! ++#endif ++ OLD_COMMAND(cmd)) + tprintf("%#lx", tcp->u_arg[3]); + else if (umoven(tcp, tcp->u_arg[3], sizeof(struct dqblk), + (char *) &dq) < 0) + tprintf("???"); + else { + tprintf("{"); +- tprintf("%u, ", dq.dqb_bhardlimit); +- tprintf("%u, ", dq.dqb_bsoftlimit); +- tprintf("%u, ", dq.dqb_curblocks); +- tprintf("%u, ", dq.dqb_ihardlimit); +- tprintf("%u, ", dq.dqb_isoftlimit); +- tprintf("%u, ", dq.dqb_curinodes); +- tprintf("%lu, ", dq.dqb_btime); +- tprintf("%lu", dq.dqb_itime); ++ tprintf("%llu, ", (unsigned long long) dq.dqb_bhardlimit); ++ tprintf("%llu, ", (unsigned long long) dq.dqb_bsoftlimit); ++#ifdef HAVE_STRUCT_DQBLK_DQB_CURBLOCKS ++ tprintf("%llu, ", (unsigned long long) dq.dqb_curblocks); ++#else ++ tprintf("%llu, ", (unsigned long long) dq.dqb_curspace); ++#endif ++ tprintf("%llu, ", (unsigned long long) dq.dqb_ihardlimit); ++ tprintf("%llu, ", (unsigned long long) dq.dqb_isoftlimit); ++ tprintf("%llu, ", (unsigned long long) dq.dqb_curinodes); ++ tprintf("%llu, ", (unsigned long long) dq.dqb_btime); ++ tprintf("%llu", (unsigned long long) dq.dqb_itime); + tprintf("}"); + } + diff --git a/dev-util/strace/files/strace-4.5.12-superh-update.patch b/dev-util/strace/files/strace-4.5.12-superh-update.patch new file mode 100644 index 0000000..d402997 --- /dev/null +++ b/dev-util/strace/files/strace-4.5.12-superh-update.patch @@ -0,0 +1,24 @@ +Fix configure script to work with targets like 'sh4-unknown-linux-gnu' + +--- configure.ac ++++ configure.ac +@@ -91,14 +91,14 @@ + arch=hppa + AC_DEFINE([HPPA], 1, [Define for the HPPA architecture.]) + ;; +-sh) +- arch=sh +- AC_DEFINE([SH], 1, [Define for the SH architecture.]) +- ;; +-sh64) ++sh64*) + arch=sh64 + AC_DEFINE([SH64], 1, [Define for the SH64 architecture.]) + ;; ++sh*) ++ arch=sh ++ AC_DEFINE([SH], 1, [Define for the SH architecture.]) ++ ;; + x86?64*) + arch=x86_64 + AC_DEFINE([X86_64], 1, [Define for the AMD x86-64 architecture.]) diff --git a/dev-util/strace/files/strace-4.5.14-CTL_PROC.patch b/dev-util/strace/files/strace-4.5.14-CTL_PROC.patch new file mode 100644 index 0000000..f172917 --- /dev/null +++ b/dev-util/strace/files/strace-4.5.14-CTL_PROC.patch @@ -0,0 +1,17 @@ +fix building with 2.6.18+ headers + +http://bugs.gentoo.org/150907 + +--- strace-4.5.14/system.c ++++ strace-4.5.14/system.c +@@ -1591,6 +1591,10 @@ + #endif + + #ifdef LINUX ++/* linux-2.6.18+ has dropped this enum */ ++#ifndef CTL_PROC ++# define CTL_PROC 4 ++#endif + static const struct xlat sysctl_root[] = { + { CTL_KERN, "CTL_KERN" }, + { CTL_VM, "CTL_VM" }, diff --git a/dev-util/strace/files/strace-4.5.14-PT_GETSIGINFO.patch b/dev-util/strace/files/strace-4.5.14-PT_GETSIGINFO.patch new file mode 100644 index 0000000..3e2ba7e --- /dev/null +++ b/dev-util/strace/files/strace-4.5.14-PT_GETSIGINFO.patch @@ -0,0 +1,18 @@ +strace assumes that if PT_GETSIGINFO is defined, you're building for ia64 as +this was the only architecture that exported PT_GETSIGINFO via glibc userspace +headers. with newer glibc's, support for PT_GETSIGINFO has been added to all +linux architectures so we can no longer assume PT_GETSIGINFO == ia64. + +http://bugs.gentoo.org/149945 + +--- strace.c 11 Oct 2006 22:55:25 -0000 1.71 ++++ strace.c 11 Oct 2006 23:11:44 -0000 1.72 +@@ -2261,7 +2261,7 @@ Process %d attached (waiting for parent) + if (!cflag + && (qual_flags[WSTOPSIG(status)] & QUAL_SIGNAL)) { + unsigned long addr = 0, pc = 0; +-#ifdef PT_GETSIGINFO ++#if defined(PT_CR_IPSR) && defined(PT_CR_IIP) && defined(PT_GETSIGINFO) + # define PSR_RI 41 + struct siginfo si; + unsigned long psr; diff --git a/dev-util/strace/files/strace-4.5.15-mips-sigcontext.patch b/dev-util/strace/files/strace-4.5.15-mips-sigcontext.patch new file mode 100644 index 0000000..7917a1e --- /dev/null +++ b/dev-util/strace/files/strace-4.5.15-mips-sigcontext.patch @@ -0,0 +1,22 @@ +--- signal.c.orig ++++ signal.c +@@ -67,6 +67,7 @@ + + #ifdef LINUX + ++#include <linux/version.h> + #ifdef IA64 + # include <asm/ptrace_offsets.h> + #endif /* !IA64 */ +@@ -1435,7 +1436,11 @@ + if (umove(tcp, sp, &sc) < 0) + return 0; + tcp->u_arg[0] = 1; ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,0) + tcp->u_arg[1] = sc.sc_sigset; ++#else ++ tcp->u_arg[1] = sc.sc_hi2; ++#endif + } else { + tcp->u_rval = tcp->u_error = 0; + if(tcp->u_arg[0] == 0) diff --git a/dev-util/strace/files/strace-4.5.15-mips-sprintsigmask.patch b/dev-util/strace/files/strace-4.5.15-mips-sprintsigmask.patch new file mode 100644 index 0000000..2f7c2ac --- /dev/null +++ b/dev-util/strace/files/strace-4.5.15-mips-sprintsigmask.patch @@ -0,0 +1,13 @@ +local sprintsigmask() now takes three args rather than two + +--- signal.c ++++ signal.c +@@ -1440,7 +1440,7 @@ struct tcb *tcp; + tcp->u_rval = tcp->u_error = 0; + if(tcp->u_arg[0] == 0) + return 0; +- tcp->auxstr = sprintsigmask("mask now ", tcp->u_arg[1]); ++ tcp->auxstr = sprintsigmask("mask now ", tcp->u_arg[1], 0); + return RVAL_NONE | RVAL_STR; + } + return 0; diff --git a/dev-util/strace/files/strace-4.5.8-ia64.patch b/dev-util/strace/files/strace-4.5.8-ia64.patch new file mode 100644 index 0000000..922f62c --- /dev/null +++ b/dev-util/strace/files/strace-4.5.8-ia64.patch @@ -0,0 +1,97 @@ +Remove some obsolete ia64-related hacks from the strace source +08 Feb 2005 agriffis@gentoo.org + +--- strace-4.5.8/process.c ++++ strace-4.5.8/process.c +@@ -82,14 +82,10 @@ + + #ifdef HAVE_LINUX_PTRACE_H + #undef PTRACE_SYSCALL +-# ifdef HAVE_STRUCT_IA64_FPREG +-# define ia64_fpreg XXX_ia64_fpreg +-# endif + # ifdef HAVE_STRUCT_PT_ALL_USER_REGS + # define pt_all_user_regs XXX_pt_all_user_regs + # endif + #include <linux/ptrace.h> +-# undef ia64_fpreg + # undef pt_all_user_regs + #endif + +--- strace-4.5.8/signal.c ++++ strace-4.5.8/signal.c +@@ -53,14 +53,10 @@ + #endif + #elif defined(HAVE_LINUX_PTRACE_H) + #undef PTRACE_SYSCALL +-# ifdef HAVE_STRUCT_IA64_FPREG +-# define ia64_fpreg XXX_ia64_fpreg +-# endif + # ifdef HAVE_STRUCT_PT_ALL_USER_REGS + # define pt_all_user_regs XXX_pt_all_user_regs + # endif + #include <linux/ptrace.h> +-# undef ia64_fpreg + # undef pt_all_user_regs + #endif + +--- strace-4.5.8/syscall.c ++++ strace-4.5.8/syscall.c +@@ -63,14 +63,10 @@ + #endif + #elif defined(HAVE_LINUX_PTRACE_H) + #undef PTRACE_SYSCALL +-# ifdef HAVE_STRUCT_IA64_FPREG +-# define ia64_fpreg XXX_ia64_fpreg +-# endif + # ifdef HAVE_STRUCT_PT_ALL_USER_REGS + # define pt_all_user_regs XXX_pt_all_user_regs + # endif + #include <linux/ptrace.h> +-# undef ia64_fpreg + # undef pt_all_user_regs + #endif + +--- strace-4.5.8/system.c ++++ strace-4.5.8/system.c +@@ -32,6 +32,23 @@ + + #include "defs.h" + ++#ifdef HAVE_SYS_REG_H ++# include <sys/reg.h> ++# ifndef PTRACE_PEEKUSR ++# define PTRACE_PEEKUSR PTRACE_PEEKUSER ++# endif ++# ifndef PTRACE_POKEUSR ++# define PTRACE_POKEUSR PTRACE_POKEUSER ++# endif ++#elif defined(HAVE_LINUX_PTRACE_H) ++# undef PTRACE_SYSCALL ++# ifdef HAVE_STRUCT_PT_ALL_USER_REGS ++# define pt_all_user_regs XXX_pt_all_user_regs ++# endif ++# include <linux/ptrace.h> ++# undef pt_all_user_regs ++#endif ++ + #ifdef LINUX + #define _LINUX_SOCKET_H + #define _LINUX_FS_H +--- strace-4.5.8/util.c ++++ strace-4.5.8/util.c +@@ -63,14 +63,10 @@ + # define PTRACE_PEEKUSR PTRACE_PEEKUSER + #elif defined(HAVE_LINUX_PTRACE_H) + #undef PTRACE_SYSCALL +-# ifdef HAVE_STRUCT_IA64_FPREG +-# define ia64_fpreg XXX_ia64_fpreg +-# endif + # ifdef HAVE_STRUCT_PT_ALL_USER_REGS + # define pt_all_user_regs XXX_pt_all_user_regs + # endif + #include <linux/ptrace.h> +-# undef ia64_fpreg + # undef pt_all_user_regs + #endif + diff --git a/dev-util/strace/files/strace-dont-use-REG_SYSCALL-for-sh.patch b/dev-util/strace/files/strace-dont-use-REG_SYSCALL-for-sh.patch new file mode 100644 index 0000000..9030ecc --- /dev/null +++ b/dev-util/strace/files/strace-dont-use-REG_SYSCALL-for-sh.patch @@ -0,0 +1,10 @@ +--- strace/process.c ++++ strace/process.c +@@ -2663,7 +2663,6 @@ const struct xlat struct_user_offsets[] + { 4*REG_GBR, "4*REG_GBR" }, + { 4*REG_MACH, "4*REG_MACH" }, + { 4*REG_MACL, "4*REG_MACL" }, +- { 4*REG_SYSCALL, "4*REG_SYSCALL" }, + { 4*REG_FPUL, "4*REG_FPUL" }, + { 4*REG_FPREG0, "4*REG_FPREG0" }, + { 4*(REG_FPREG0+1), "4*REG_FPREG1" }, diff --git a/dev-util/strace/files/strace-fix-arm-bad-syscall.patch b/dev-util/strace/files/strace-fix-arm-bad-syscall.patch new file mode 100644 index 0000000..125440d --- /dev/null +++ b/dev-util/strace/files/strace-fix-arm-bad-syscall.patch @@ -0,0 +1,20 @@ +http://www.fluff.org/ben/patches/strace/ + +--- strace-4.5.12-orig/syscall.c 2005-06-08 21:45:28.000000000 +0100 ++++ strace-4.5.12/syscall.c 2005-10-25 19:26:39.000000000 +0100 +@@ -1013,6 +1013,15 @@ struct tcb *tcp; + /* + * Note: we only deal with only 32-bit CPUs here. + */ ++ ++ if (!(tcp->flags & TCB_INSYSCALL) && ++ (tcp->flags & TCB_WAITEXECVE)) { ++ /* caught a fake syscall from the execve's exit */ ++ tcp->flags &= ~TCB_WAITEXECVE; ++ return 0; ++ } ++ ++ + if (regs.ARM_cpsr & 0x20) { + /* + * Get the Thumb-mode system call number diff --git a/dev-util/strace/files/strace-superh-update.patch b/dev-util/strace/files/strace-superh-update.patch new file mode 100644 index 0000000..ff865a2 --- /dev/null +++ b/dev-util/strace/files/strace-superh-update.patch @@ -0,0 +1,28 @@ +--- strace/configure ++++ strace/configure +@@ -1993,19 +1993,19 @@ + _ACEOF + + ;; +-sh) +- arch=sh ++sh64) ++ arch=sh64 + + cat >>confdefs.h <<\_ACEOF +-#define SH 1 ++#define SH64 1 + _ACEOF + + ;; +-sh64) +- arch=sh64 ++sh*) ++ arch=sh + + cat >>confdefs.h <<\_ACEOF +-#define SH64 1 ++#define SH 1 + _ACEOF + + ;; diff --git a/dev-util/strace/files/strace-undef-syscall.patch b/dev-util/strace/files/strace-undef-syscall.patch new file mode 100644 index 0000000..410e499 --- /dev/null +++ b/dev-util/strace/files/strace-undef-syscall.patch @@ -0,0 +1,15 @@ +--- strace-4.5.12/linux/syscallent.h.orig 2005-08-09 01:48:54.000000000 -0600 ++++ strace-4.5.12/linux/syscallent.h 2005-08-09 01:50:23.000000000 -0600 +@@ -298,7 +298,11 @@ + { 3, 0, sys_io_cancel, "io_cancel" }, /* 249 */ + { 5, TF, sys_fadvise64, "fadvise64" }, /* 250 */ + { 5, 0, printargs, "SYS_251" }, /* 251 */ +- { 1, TP, sys_exit, "exit_group", __NR_exit_group }, /* 252 */ ++ { 1, TP, sys_exit, "exit_group" ++#ifdef __NR_exit_group ++ , __NR_exit_group ++#endif ++ }, /* 252 */ + { 4, 0, printargs, "lookup_dcookie"}, /* 253 */ + { 1, 0, sys_epoll_create, "epoll_create" }, /* 254 */ + { 4, 0, sys_epoll_ctl, "epoll_ctl" }, /* 255 */ diff --git a/dev-util/strace/metadata.xml b/dev-util/strace/metadata.xml new file mode 100644 index 0000000..96a2d58 --- /dev/null +++ b/dev-util/strace/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>base-system</herd> +</pkgmetadata> diff --git a/dev-util/strace/strace-4.5.15.ebuild b/dev-util/strace/strace-4.5.15.ebuild new file mode 100644 index 0000000..37c2817 --- /dev/null +++ b/dev-util/strace/strace-4.5.15.ebuild @@ -0,0 +1,46 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-util/strace/strace-4.5.15.ebuild,v 1.2 2007/02/19 04:12:57 vapier Exp $ + +inherit flag-o-matic autotools + +DESCRIPTION="A useful diagnostic, instructional, and debugging tool" +HOMEPAGE="http://sourceforge.net/projects/strace/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE="as-is" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86" +IUSE="static aio" + +DEPEND="aio? ( dev-libs/libaio )" + +src_unpack() { + unpack ${A} + cd "${S}" + + #epatch "${FILESDIR}"/${PN}-4.5.11-fbsd.patch + + epatch "${FILESDIR}"/strace-dont-use-REG_SYSCALL-for-sh.patch + epatch "${FILESDIR}"/${PN}-4.5.12-superh-update.patch + epatch "${FILESDIR}"/strace-fix-arm-bad-syscall.patch + epatch "${FILESDIR}"/${PN}-4.5.15-mips-sprintsigmask.patch + epatch "${FILESDIR}"/${PN}-4.5.12-libaio.patch #103427 + epatch "${FILESDIR}"/${PN}-4.5.15-mips-sigcontext.patch + + eautoreconf +} + +src_compile() { + filter-lfs-flags + + use static && append-ldflags -static + + econf $(use_enable aio libaio) || die + emake || die +} + +src_install() { + emake install DESTDIR="${D}" || die + dodoc ChangeLog CREDITS NEWS PORTING README* TODO +} diff --git a/media-libs/mesa/Manifest b/media-libs/mesa/Manifest new file mode 100644 index 0000000..d4dd7ed --- /dev/null +++ b/media-libs/mesa/Manifest @@ -0,0 +1,24 @@ +AUX 6.5.2-i965-wine-fix.patch 2888 RMD160 e899ac128933eb1a65e5c79de97408679beb2a50 SHA1 741221fba69b3891665e16da5baf6e66be62449d SHA256 bc19f4b5ce44a90c6b2aeab2c1148200539791ff9d0c60c5ffc2d4d8fe5fee78 +MD5 7815fb0ffaf1d8bfa6cf9d3bda43e34a files/6.5.2-i965-wine-fix.patch 2888 +RMD160 e899ac128933eb1a65e5c79de97408679beb2a50 files/6.5.2-i965-wine-fix.patch 2888 +SHA256 bc19f4b5ce44a90c6b2aeab2c1148200539791ff9d0c60c5ffc2d4d8fe5fee78 files/6.5.2-i965-wine-fix.patch 2888 +AUX lib/libGL.la 755 RMD160 a60984e0d56d559c2c15bd4693e01404a7e0a408 SHA1 d6e231ffaccd1b13c3628744031cc761ffaf76d8 SHA256 b32ffd7f3f866da7dbae80ba78b1dc5b4924b33ab133b13397af9cda0a274f91 +MD5 eae9808321f1e10f5cc6520c33914b3e files/lib/libGL.la 755 +RMD160 a60984e0d56d559c2c15bd4693e01404a7e0a408 files/lib/libGL.la 755 +SHA256 b32ffd7f3f866da7dbae80ba78b1dc5b4924b33ab133b13397af9cda0a274f91 files/lib/libGL.la 755 +AUX lib/libGLU.la 752 RMD160 04de8835526a3472480d7c285dd33d497bcc0bd7 SHA1 12c57ac5e7e8a94d4d41b0f37b0fb3f470791c39 SHA256 e28519d7ae719bc106f7d4239799580474d1b69a2254ede3b2179a5e50655fe5 +MD5 9abdd26694e6f1d7bd93193f900acc6c files/lib/libGLU.la 752 +RMD160 04de8835526a3472480d7c285dd33d497bcc0bd7 files/lib/libGLU.la 752 +SHA256 e28519d7ae719bc106f7d4239799580474d1b69a2254ede3b2179a5e50655fe5 files/lib/libGLU.la 752 +AUX mesa-6.5.2-loongson.patch 426 RMD160 00b0f76db3c0fec2768383ad35284905b4793b2d SHA1 0c29f74c34529481aaf165671f90e733ad31feb7 SHA256 8d0a3951b086c18ffdb171b9aea014a69b19d67a9020aa881fcc460ebbd90bf9 +MD5 598c24dccfcdcc99c07d883f7c09f36a files/mesa-6.5.2-loongson.patch 426 +RMD160 00b0f76db3c0fec2768383ad35284905b4793b2d files/mesa-6.5.2-loongson.patch 426 +SHA256 8d0a3951b086c18ffdb171b9aea014a69b19d67a9020aa881fcc460ebbd90bf9 files/mesa-6.5.2-loongson.patch 426 +DIST MesaLib-6.5.2.tar.bz2 3295166 RMD160 9a92d69110c066ae6734bcaafb78f222ac2df6d3 SHA1 ba860bb6ee57c02202342dfd5927464a068ea18f SHA256 137f50a30461d51eb9af5aac737bc788d536354cf47b26129b97bde6e41fb85f +EBUILD mesa-6.5.2-r1.ebuild 9079 RMD160 1cf3756421c1ee729abe1678a4fb42cfaf66540a SHA1 d47e10012f2e756a5ad1b98aebe2ec086648cfb1 SHA256 540531f75b020e77d57228cc651c1d181f53eafcb3e8858f6213c08ae8650ce9 +MD5 fab8a4011acb9cdb39ee18fa9ebe6956 mesa-6.5.2-r1.ebuild 9079 +RMD160 1cf3756421c1ee729abe1678a4fb42cfaf66540a mesa-6.5.2-r1.ebuild 9079 +SHA256 540531f75b020e77d57228cc651c1d181f53eafcb3e8858f6213c08ae8650ce9 mesa-6.5.2-r1.ebuild 9079 +MD5 c0c5f49d272303a5fb0883697d6594ef files/digest-mesa-6.5.2-r1 247 +RMD160 5e03f47a1a56342ba577b02e917b260302afb1a7 files/digest-mesa-6.5.2-r1 247 +SHA256 f9339d87fc164d7137d1f589bb7a5995d6a19302bf26d4002f92e9bf4d1a9821 files/digest-mesa-6.5.2-r1 247 diff --git a/media-libs/mesa/files/6.5.2-i965-wine-fix.patch b/media-libs/mesa/files/6.5.2-i965-wine-fix.patch new file mode 100644 index 0000000..63acd15 --- /dev/null +++ b/media-libs/mesa/files/6.5.2-i965-wine-fix.patch @@ -0,0 +1,109 @@ +--- a/src/mesa/drivers/dri/i965/brw_context.h ++++ b/src/mesa/drivers/dri/i965/brw_context.h +@@ -599,6 +599,7 @@ struct brw_context + + struct { + struct brw_wm_prog_data *prog_data; ++ struct brw_wm_compile *compile_data; + + /* Input sizes, calculated from active vertex program: + */ +diff --git a/src/mesa/drivers/dri/i965/brw_wm.c b/src/mesa/drivers/dri/i965/brw_wm.c +index 3e2f2d0..0f842d2 100644 +--- a/src/mesa/drivers/dri/i965/brw_wm.c ++++ b/src/mesa/drivers/dri/i965/brw_wm.c +@@ -138,64 +138,75 @@ static void do_wm_prog( struct brw_conte + struct brw_fragment_program *fp, + struct brw_wm_prog_key *key) + { +- struct brw_wm_compile c; ++ struct brw_wm_compile *c; + const GLuint *program; + GLuint program_size; + +- memset(&c, 0, sizeof(c)); +- memcpy(&c.key, key, sizeof(*key)); ++ c = brw->wm.compile_data; ++ if (c == NULL) { ++ brw->wm.compile_data = calloc(1, sizeof(*brw->wm.compile_data)); ++ c = brw->wm.compile_data; ++ } else { ++ memset(c, 0, sizeof(*brw->wm.compile_data)); ++ } ++ memcpy(&c->key, key, sizeof(*key)); + +- c.fp = fp; +- c.env_param = brw->intel.ctx.FragmentProgram.Parameters; ++ c->fp = fp; ++ c->env_param = brw->intel.ctx.FragmentProgram.Parameters; + + + /* Augment fragment program. Add instructions for pre- and + * post-fragment-program tasks such as interpolation and fogging. + */ +- brw_wm_pass_fp(&c); ++ brw_wm_pass_fp(c); + + /* Translate to intermediate representation. Build register usage + * chains. + */ +- brw_wm_pass0(&c); ++ brw_wm_pass0(c); + + /* Dead code removal. + */ +- brw_wm_pass1(&c); ++ brw_wm_pass1(c); + + /* Hal optimization + */ +- brw_wm_pass_hal (&c); ++ brw_wm_pass_hal (c); + + /* Register allocation. + */ +- c.grf_limit = BRW_WM_MAX_GRF/2; ++ c->grf_limit = BRW_WM_MAX_GRF/2; + + /* This is where we start emitting gen4 code: + */ +- brw_init_compile(&c.func); ++ brw_init_compile(&c->func); + +- brw_wm_pass2(&c); ++ brw_wm_pass2(c); + +- c.prog_data.total_grf = c.max_wm_grf; +- c.prog_data.total_scratch = c.last_scratch ? c.last_scratch + 0x40 : 0; ++ c->prog_data.total_grf = c->max_wm_grf; ++ if (c->last_scratch) { ++ c->prog_data.total_scratch = ++ c->last_scratch + 0x40; ++ } else { ++ c->prog_data.total_scratch = 0; ++ } + + /* Emit GEN4 code. + */ +- brw_wm_emit(&c); ++ brw_wm_emit(c); + + /* get the program + */ +- program = brw_get_program(&c.func, &program_size); ++ program = brw_get_program(&c->func, &program_size); + + /* + */ + brw->wm.prog_gs_offset = brw_upload_cache( &brw->cache[BRW_WM_PROG], +- &c.key, +- sizeof(c.key), ++ &c->key, ++ sizeof(c->key), + program, + program_size, +- &c.prog_data, ++ &c->prog_data, + &brw->wm.prog_data ); + } + diff --git a/media-libs/mesa/files/digest-mesa-6.5.2-r1 b/media-libs/mesa/files/digest-mesa-6.5.2-r1 new file mode 100644 index 0000000..ee5bf23 --- /dev/null +++ b/media-libs/mesa/files/digest-mesa-6.5.2-r1 @@ -0,0 +1,3 @@ +MD5 e4d894181f1859651658b3704633e10d MesaLib-6.5.2.tar.bz2 3295166 +RMD160 9a92d69110c066ae6734bcaafb78f222ac2df6d3 MesaLib-6.5.2.tar.bz2 3295166 +SHA256 137f50a30461d51eb9af5aac737bc788d536354cf47b26129b97bde6e41fb85f MesaLib-6.5.2.tar.bz2 3295166 diff --git a/media-libs/mesa/files/lib/libGL.la b/media-libs/mesa/files/lib/libGL.la new file mode 100644 index 0000000..cc2fd24 --- /dev/null +++ b/media-libs/mesa/files/lib/libGL.la @@ -0,0 +1,32 @@ +# libGL.la - a libtool library file +# Generated by ltmain.sh - GNU libtool 1.4 (1.920 2001/04/24 23:26:18) +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libGL.so.1' + +# Names of this library. +library_names='libGL.so.1.2 libGL.so.1 libGL.so' + +# The name of the static archive. +old_library='' + +# Libraries that this one depends upon. +dependency_libs=' -L/usr/${libdir} -lSM -lICE -lXmu -lXt -lXext -lXi -lX11 -ldl -lpthread ' + +# Version information for libGL. +current=3 +age=2 +revision=0 + +# Is this an already installed library? +installed=yes + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/usr/${libdir}' diff --git a/media-libs/mesa/files/lib/libGLU.la b/media-libs/mesa/files/lib/libGLU.la new file mode 100644 index 0000000..cc76b4b --- /dev/null +++ b/media-libs/mesa/files/lib/libGLU.la @@ -0,0 +1,32 @@ +# libGLU.la - a libtool library file +# Generated by ltmain.sh - GNU libtool 1.4 (1.920 2001/04/24 23:26:18) +# +# Please DO NOT delete this file! +# It is necessary for linking the library. + +# The name that we can dlopen(3). +dlname='libGLU.so.1' + +# Names of this library. +library_names='libGLU.so.1.3 libGLU.so.1 libGLU.so' + +# The name of the static archive. +old_library='' + +# Libraries that this one depends upon. +dependency_libs=' -L/usr/lib -lGL -lSM -lICE -lXmu -lXt -lXext -lXi -lX11 -ldl -lpthread ' + +# Version information for libGLU. +current=4 +age=3 +revision=0 + +# Is this an already installed library? +installed=yes + +# Files to dlopen/dlpreopen +dlopen='' +dlpreopen='' + +# Directory that this library needs to be installed in: +libdir='/usr/lib' diff --git a/media-libs/mesa/files/mesa-6.5.2-loongson.patch b/media-libs/mesa/files/mesa-6.5.2-loongson.patch new file mode 100644 index 0000000..fa82abe --- /dev/null +++ b/media-libs/mesa/files/mesa-6.5.2-loongson.patch @@ -0,0 +1,11 @@ +--- Mesa-6.5.2/include/GL/internal/sarea.h.orig 2007-03-01 05:27:22.000000000 +0800 ++++ Mesa-6.5.2/include/GL/internal/sarea.h 2007-03-01 05:27:49.000000000 +0800 +@@ -44,6 +44,8 @@ + /* SAREA area needs to be at least a page */ + #if defined(__alpha__) + #define SAREA_MAX 0x2000 ++#elif defined(__mips__) ++#define SAREA_MAX 0x4000 + #elif defined(__ia64__) + #define SAREA_MAX 0x10000 /* 64kB */ + #else diff --git a/media-libs/mesa/mesa-6.5.2-r1.ebuild b/media-libs/mesa/mesa-6.5.2-r1.ebuild new file mode 100644 index 0000000..91674f6 --- /dev/null +++ b/media-libs/mesa/mesa-6.5.2-r1.ebuild @@ -0,0 +1,335 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-6.5.2-r1.ebuild,v 1.1 2007/02/19 22:21:17 joshuabaergen Exp $ + +inherit eutils toolchain-funcs multilib flag-o-matic portability + +OPENGL_DIR="xorg-x11" + +MY_PN="${PN/m/M}" +MY_P="${MY_PN}-${PV}" +MY_SRC_P="${MY_PN}Lib-${PV}" +DESCRIPTION="OpenGL-like graphic library for Linux" +HOMEPAGE="http://mesa3d.sourceforge.net/" +SRC_URI="mirror://sourceforge/mesa3d/${MY_SRC_P}.tar.bz2" +LICENSE="LGPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE_VIDEO_CARDS=" + video_cards_i810 + video_cards_mach64 + video_cards_mga + video_cards_none + video_cards_r128 + video_cards_radeon + video_cards_s3virge + video_cards_savage + video_cards_sis + video_cards_sunffb + video_cards_tdfx + video_cards_trident + video_cards_via" +IUSE="${IUSE_VIDEO_CARDS} + debug + doc + hardened + motif + nptl + xcb" + +RESTRICT="stricter" +RDEPEND="dev-libs/expat + x11-libs/libX11 + x11-libs/libXext + x11-libs/libXxf86vm + x11-libs/libXi + x11-libs/libXmu + >=x11-libs/libdrm-2.2 + x11-libs/libICE + app-admin/eselect-opengl + motif? ( virtual/motif ) + doc? ( app-doc/opengl-manpages ) + !<=x11-base/xorg-x11-6.9 + xcb? ( x11-libs/libxcb )" +DEPEND="${RDEPEND} + dev-util/pkgconfig + x11-misc/makedepend + x11-proto/inputproto + x11-proto/xextproto + !hppa? ( x11-proto/xf86driproto ) + x11-proto/xf86vidmodeproto + >=x11-proto/glproto-1.4.8 + motif? ( x11-proto/printproto )" + +S="${WORKDIR}/${MY_P}" + +# Think about: ggi, svga, fbcon, no-X configs + +if use debug; then + if ! has splitdebug ${FEATURES}; then + RESTRICT="${RESTRICT} nostrip" + fi +fi + +pkg_setup() { + if use xcb; then + if ! built_with_use x11-libs/libX11 xcb; then + msg="You must build libX11 with xcb enabled." + eerror ${msg} + die ${msg} + fi + fi + + if use debug; then + strip-flags + append-flags -g + fi + + append-flags -fno-strict-aliasing + + if use x86-fbsd; then + CONFIG="freebsd-dri-x86" + elif use amd64-fbsd; then + CONFIG="freebsd-dri-amd64" + elif use kernel_FreeBSD; then + CONFIG="freebsd-dri" + elif use x86; then + CONFIG="linux-dri-x86" + elif use amd64; then + [[ ${ABI} == "amd64" ]] && CONFIG="linux-dri-x86-64" + [[ ${ABI} == "x86" ]] && CONFIG="linux-dri-x86" + elif use ppc; then + CONFIG="linux-dri-ppc" + else + CONFIG="linux-dri" + fi +} + +src_unpack() { + HOSTCONF="${S}/configs/${CONFIG}" + + unpack ${A} + cd ${S} + + epatch "${FILESDIR}/${PV}-i965-wine-fix.patch" + epatch "${FILESDIR}/${P}-loongson.patch" + + # FreeBSD 6.* doesn't have posix_memalign(). + [[ ${CHOST} == *-freebsd6.* ]] && sed -i -e "s/-DHAVE_POSIX_MEMALIGN//" configs/freebsd{,-dri} + + # Don't compile debug code with USE=-debug - bug #125004 + if ! use debug; then + einfo "Removing DO_DEBUG defs in dri drivers..." + find src/mesa/drivers/dri -name *.[hc] -exec egrep -l "\#define\W+DO_DEBUG\W+1" {} \; | xargs sed -i -re "s/\#define\W+DO_DEBUG\W+1/\#define DO_DEBUG 0/" ; + fi + + # Set up libdir + echo "LIB_DIR = $(get_libdir)" >> ${HOSTCONF} + + # Set default dri drivers directory + echo 'DRI_DRIVER_SEARCH_DIR = /usr/$(LIB_DIR)/dri' >> ${HOSTCONF} + + # Do we want thread-local storage (TLS)? + if use nptl; then + echo "ARCH_FLAGS += -DGLX_USE_TLS" >> ${HOSTCONF} + fi + + echo "X11_INCLUDES = `pkg-config --cflags-only-I x11`" >> ${HOSTCONF} + if use xcb; then + echo "DEFINES += -DUSE_XCB" >> ${HOSTCONF} + echo "X11_INCLUDES += `pkg-config --cflags-only-I xcb` `pkg-config --cflags-only-I x11-xcb` `pkg-config --cflags-only-I xcb-glx`" >> ${HOSTCONF} + echo "GL_LIB_DEPS += `pkg-config --libs xcb` `pkg-config --libs x11-xcb` `pkg-config --libs xcb-glx`" >> ${HOSTCONF} + fi + + # Configurable DRI drivers + if use video_cards_i810; then + add_drivers i810 i915 i915tex i965 + fi + if use video_cards_mach64; then + add_drivers mach64 + fi + if use video_cards_mga; then + add_drivers mga + fi + if use video_cards_r128; then + add_drivers r128 + fi + if use video_cards_radeon; then + add_drivers radeon r200 r300 + fi + if use video_cards_s3virge; then + add_drivers s3v + fi + if use video_cards_savage; then + add_drivers savage + fi + if use video_cards_sis; then + add_drivers sis + fi + if use video_cards_sunffb; then + add_drivers ffb + fi + if use video_cards_tdfx; then + add_drivers tdfx + fi + if use video_cards_trident; then + add_drivers trident + fi + if use video_cards_via; then + add_drivers unichrome + fi + + # Set drivers to everything on which we ran add_drivers() + echo "DRI_DIRS = ${DRI_DRIVERS}" >> ${HOSTCONF} + + if use hardened; then + einfo "Deactivating assembly code for hardened build" + echo "ASM_FLAGS =" >> ${HOSTCONF} + echo "ASM_SOURCES =" >> ${HOSTCONF} + echo "ASM_API =" >> ${HOSTCONF} + fi + + if use sparc; then + einfo "Sparc assembly code is not working; deactivating" + echo "ASM_FLAGS =" >> ${HOSTCONF} + echo "ASM_SOURCES =" >> ${HOSTCONF} + fi + + # Replace hardcoded /usr/X11R6 with this + echo "EXTRA_LIB_PATH = `pkg-config --libs-only-L x11`" >> ${HOSTCONF} + + echo 'CFLAGS = $(OPT_FLAGS) $(PIC_FLAGS) $(ARCH_FLAGS) $(DEFINES) $(ASM_FLAGS)' >> ${HOSTCONF} + echo "OPT_FLAGS = ${CFLAGS}" >> ${HOSTCONF} + echo "CC = $(tc-getCC)" >> ${HOSTCONF} + echo "CXX = $(tc-getCXX)" >> ${HOSTCONF} + # bug #110840 - Build with PIC, since it hasn't been shown to slow it down + echo "PIC_FLAGS = -fPIC" >> ${HOSTCONF} + + # Removed glut, since we have separate freeglut/glut ebuilds + # Remove EGL, since Brian Paul says it's not ready for a release + echo "SRC_DIRS = glx/x11 mesa glu glw" >> ${HOSTCONF} + + # Get rid of glut includes + rm -f ${S}/include/GL/glut*h + + # r200 breaks without this, since it's the only EGL-enabled driver so far + echo "USING_EGL = 0" >> ${HOSTCONF} + + # Don't build EGL demos. EGL isn't ready for release, plus they produce a + # circular dependency with glut. + echo "PROGRAM_DIRS =" >> ${HOSTCONF} + + # Documented in configs/default + if use motif; then + # Add -lXm + echo "GLW_LIB_DEPS += -lXm" >> ${HOSTCONF} + # Add GLwMDrawA.c + echo "GLW_SOURCES += GLwMDrawA.c" >> ${HOSTCONF} + fi +} + +src_compile() { + emake -j1 ${CONFIG} || die "Build failed" +} + +src_install() { + dodir /usr + make \ + INSTALL_DIR="${D}/usr" \ + DRI_DRIVER_INSTALL_DIR="${D}/usr/\$(LIB_DIR)/dri" \ + INCLUDE_DIR="${D}/usr/include" \ + install || die "Installation failed" + + if ! use motif; then + rm ${D}/usr/include/GL/GLwMDrawA.h + fi + + # Don't install private headers + rm ${D}/usr/include/GL/GLw*P.h + + fix_opengl_symlinks + dynamic_libgl_install + + # Install libtool archives + insinto /usr/$(get_libdir) + # (#67729) Needs to be lib, not $(get_libdir) + doins ${FILESDIR}/lib/libGLU.la + sed -e "s:\${libdir}:$(get_libdir):g" ${FILESDIR}/lib/libGL.la \ + > ${D}/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.la + + # On *BSD libcs dlopen() and similar functions are present directly in + # libc.so and does not require linking to libdl. portability eclass takes + # care of finding the needed library (if needed) witht the dlopen_lib + # function. + sed -i -e 's:-ldl:'$(dlopen_lib)':g' \ + ${D}/usr/$(get_libdir)/libGLU.la \ + ${D}/usr/$(get_libdir)/opengl/xorg-x11/lib/libGL.la + + # Create the two-number versioned libs (.so.#.#), since only .so.# and + # .so.#.#.# were made + dosym libGLU.so.1.3.060502 /usr/$(get_libdir)/libGLU.so.1.3 + dosym libGLw.so.1.0.0 /usr/$(get_libdir)/libGLw.so.1.0 + + # libGLU doesn't get the plain .so symlink either + dosym libGLU.so.1 /usr/$(get_libdir)/libGLU.so + + # Figure out why libGL.so.1.5 is built (directfb), and why it's linked to + # as the default libGL.so.1 +} + +pkg_postinst() { + switch_opengl_implem +} + +fix_opengl_symlinks() { + # Remove invalid symlinks + local LINK + for LINK in $(find ${D}/usr/$(get_libdir) \ + -name libGL\.* -type l); do + rm -f ${LINK} + done + # Create required symlinks + if [[ ${CHOST} == *-freebsd* ]]; then + # FreeBSD doesn't use major.minor versioning, so the library is only + # libGL.so.1 and no libGL.so.1.2 is ever used there, thus only create + # libGL.so symlink and leave libGL.so.1 being the real thing + dosym libGL.so.1 /usr/$(get_libdir)/libGL.so + else + dosym libGL.so.1.2 /usr/$(get_libdir)/libGL.so + dosym libGL.so.1.2 /usr/$(get_libdir)/libGL.so.1 + fi +} + +dynamic_libgl_install() { + # next section is to setup the dynamic libGL stuff + ebegin "Moving libGL and friends for dynamic switching" + dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/{lib,extensions,include} + local x="" + for x in ${D}/usr/$(get_libdir)/libGL.so* \ + ${D}/usr/$(get_libdir)/libGL.la \ + ${D}/usr/$(get_libdir)/libGL.a; do + if [ -f ${x} -o -L ${x} ]; then + # libGL.a cause problems with tuxracer, etc + mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/lib + fi + done + # glext.h added for #54984 + for x in ${D}/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do + if [ -f ${x} -o -L ${x} ]; then + mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/include + fi + done + eend 0 +} + +switch_opengl_implem() { + # Switch to the xorg implementation. + # Use new opengl-update that will not reset user selected + # OpenGL interface ... + echo + eselect opengl set --use-old ${OPENGL_DIR} +} + +add_drivers() { + DRI_DRIVERS="${DRI_DRIVERS} $@" +} diff --git a/net-p2p/mldonkey/ChangeLog b/net-p2p/mldonkey/ChangeLog new file mode 100644 index 0000000..c727ef0 --- /dev/null +++ b/net-p2p/mldonkey/ChangeLog @@ -0,0 +1,738 @@ +# ChangeLog for net-p2p/mldonkey +# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/net-p2p/mldonkey/ChangeLog,v 1.167 2007/07/09 10:13:16 tove Exp $ + + 09 Jul 2007; Jeroen Roovers <jer@gentoo.org> mldonkey-2.8.7.ebuild: + Stable for HPPA (bug #184625). + + 08 Jul 2007; Joseph Jezak <josejx@gentoo.org> mldonkey-2.8.7.ebuild: + Marked ppc stable for bug #184625. + + 08 Jul 2007; Raúl Porcel <armin76@gentoo.org> mldonkey-2.8.7.ebuild: + ia64/x86 stable wrt #184625 + + 02 Jul 2007; Piotr JaroszyÅ„ski <peper@gentoo.org> mldonkey-2.8.5.ebuild, + mldonkey-2.8.7.ebuild: + (QA) RESTRICT clean up. + + 13 Jun 2007; Raúl Porcel <armin76@gentoo.org> -mldonkey-2.8.3.ebuild, + -mldonkey-2.8.4.ebuild: + old + + 13 Jun 2007; Christoph Mende <angelos@gentoo.org> mldonkey-2.8.5.ebuild: + Stable on amd64 wrt bug 179882 + + 08 Jun 2007; Raúl Porcel <armin76@gentoo.org> + files/mldonkey.initd-2.8-r1: + Swap one line in the init script, thanks to Jörg Eitemüller <destotelhorus + at googlemail dot com> for reporting in bug 181140 + +*mldonkey-2.8.7 (03 Jun 2007) + + 03 Jun 2007; Raúl Porcel <armin76@gentoo.org> +mldonkey-2.8.7.ebuild: + Version bump + + 01 Jun 2007; nixnut <nixnut@gentoo.org> mldonkey-2.8.5.ebuild: + Stable on ppc wrt bug 179882 + + 28 May 2007; Jeroen Roovers <jer@gentoo.org> mldonkey-2.8.5.ebuild: + Stable for HPPA (bug #179882). + + 26 May 2007; Raúl Porcel <armin76@gentoo.org> mldonkey-2.8.5.ebuild: + ia64 + x86 stable wrt #179882 + + 17 May 2007; Raúl Porcel <armin76@gentoo.org> mldonkey-2.8.3.ebuild, + mldonkey-2.8.4.ebuild, mldonkey-2.8.5.ebuild: + Remove useless mldonkey script, bug 178883 + + 04 May 2007; Raúl Porcel <armin76@gentoo.org> mldonkey-2.8.4.ebuild: + ia64 + x86 stable + +*mldonkey-2.8.5 (23 Apr 2007) + + 23 Apr 2007; Raúl Porcel <armin76@gentoo.org> +mldonkey-2.8.5.ebuild: + Version bump + + 22 Apr 2007; Raúl Porcel <armin76@gentoo.org> mldonkey-2.8.3.ebuild, + mldonkey-2.8.4.ebuild: + Use doconfd and doinitd, bug 174266 + + 10 Apr 2007; Raúl Porcel <armin76@gentoo.org> mldonkey-2.8.3.ebuild, + mldonkey-2.8.4.ebuild: + Remove idiot batch USE-flag, bug 174021 + + 08 Apr 2007; Raúl Porcel <armin76@gentoo.org> + -files/mldonkey-2.8.2-avoid_dupl_sending.patch, -mldonkey-2.8.2-r1.ebuild: + drop old + + 07 Apr 2007; Christian Faulhammer <opfer@gentoo.org> + mldonkey-2.8.3.ebuild: + stable amd64, bug 165591 + + 06 Apr 2007; Tobias Scherbaum <dertobi123@gentoo.org> + mldonkey-2.8.3.ebuild: + ppc stable, bug #165591 + + 04 Apr 2007; Raúl Porcel <armin76@gentoo.org> mldonkey-2.8.3.ebuild, + mldonkey-2.8.4.ebuild: + Make install fail if dobin fails, bug 173317 + +*mldonkey-2.8.4 (02 Apr 2007) + + 02 Apr 2007; Raúl Porcel <armin76@gentoo.org> -files/dp500.patch, + -files/mldonkey.confd, -files/mldonkey.initd, -mldonkey-2.7.7.ebuild, + mldonkey-2.8.3.ebuild, +mldonkey-2.8.4.ebuild: + Version bump, ia64 stable wrt bug 165591 and cleanup old + + 20 Mar 2007; Jeroen Roovers <jer@gentoo.org> mldonkey-2.8.3.ebuild: + Stable for HPPA (bug #165591). + + 13 Mar 2007; Raúl Porcel <armin76@gentoo.org> mldonkey-2.8.3.ebuild: + x86 stable + + 25 Feb 2007; Matti Bickel <mabi@gentoo.org> mldonkey-2.8.2-r1.ebuild: + ppc stable (bug #165591) + + 13 Feb 2007; Steve Dibb <beandog@gentoo.org> mldonkey-2.8.2-r1.ebuild: + amd64 stable, bug 165591 + +*mldonkey-2.8.3 (11 Feb 2007) + + 11 Feb 2007; Raúl Porcel <armin76@gentoo.org> +mldonkey-2.8.3.ebuild: + Version bump, bug 166350 + + 06 Feb 2007; Jeroen Roovers <jer@gentoo.org> mldonkey-2.8.2-r1.ebuild: + Stable for HPPA (bug #165591). + + 06 Feb 2007; Raúl Porcel <armin76@gentoo.org> mldonkey-2.8.2-r1.ebuild: + x86 stable wrt bug 165591 + + 24 Jan 2007; Raúl Porcel <armin76@gentoo.org> + -files/mldonkey-2.7.3-configure.patch, -files/mldonkey-2.7.6-magic.patch, + +files/mldonkey.confd-2.8, -files/mldonkey.initd-2.8, + +files/mldonkey.initd-2.8-r1, -mldonkey-2.6.4-r2.ebuild, + -mldonkey-2.7.3.ebuild, -mldonkey-2.7.6-r1.ebuild, -mldonkey-2.8.2.ebuild, + mldonkey-2.8.2-r1.ebuild: + Drop old , add new initd script and confd, thanks to Christian Schlotter + <again at gmx at de>, bug 141177 + + 13 Jan 2007; Raúl Porcel <armin76@gentoo.org> mldonkey-2.7.7.ebuild, + mldonkey-2.8.2-r1.ebuild: + Change HOMEPAGE, bug 161875 + +*mldonkey-2.8.2-r1 (12 Jan 2007) + + 12 Jan 2007; Raúl Porcel <armin76@gentoo.org> + +files/mldonkey-2.8.2-avoid_dupl_sending.patch, +mldonkey-2.8.2-r1.ebuild: + Add new patch, from bug 161169, thanks to spiralvoice <spiralvoice at + hotmail dot com> + + 21 Dec 2006; Saleem Abdulrasool <compnerd@gentoo.org> + -mldonkey-2.5.16-r9.ebuild: + gnome-1.x removal + + 07 Dec 2006; Karol Wojtaszek <sekretarz@gentoo.org> + +files/mldonkey.initd-2.8, mldonkey-2.8.2.ebuild: + Fixed mldonkey init script to work with new mldonkey-2.8.2, bug #157242 + +*mldonkey-2.8.2 (02 Dec 2006) + + 02 Dec 2006; Karol Wojtaszek <sekretarz@gentoo.org> + +mldonkey-2.8.2.ebuild: + Version bump, bug #147718 + + 15 Oct 2006; Aron Griffis <agriffis@gentoo.org> mldonkey-2.7.7.ebuild: + Mark 2.7.7 stable on ia64. #138373 + + 26 Sep 2006; Gustavo Zacarias <gustavoz@gentoo.org> mldonkey-2.7.7.ebuild: + Stable on hppa wrt #138373 + + 12 Sep 2006; Joshua Jackson <tsunam@gentoo.org> mldonkey-2.7.7.ebuild: + Stable x86; bug #137373 + + 05 Sep 2006; Joseph Jezak <josejx@gentoo.org> mldonkey-2.7.7.ebuild: + Marked ppc stable for bug #138373. + + 02 Sep 2006; <blubb@gentoo.org> mldonkey-2.7.7.ebuild: + stable on amd64 + + 09 Aug 2006; Joshua Jackson <tsunam@gentoo.org> mldonkey-2.7.7.ebuild: + Stable x86; bug #138373 + + 05 Jul 2006; Gustavo Zacarias <gustavoz@gentoo.org> mldonkey-2.7.7.ebuild: + Keyworded ~sparc wrt #139014, use ~sparc ocaml + +*mldonkey-2.7.7 (20 Jun 2006) + + 20 Jun 2006; Jon Hood <squinky86@gentoo.org> -mldonkey-2.7.6.ebuild, + +mldonkey-2.7.7.ebuild: + Version bump, remove buggy version. Resolves #137314. Thanks spiralvoice + <spiralvoice@hotmail.com>! + +*mldonkey-2.7.6-r1 (18 Jun 2006) + + 18 Jun 2006; Karol Wojtaszek <sekretarz@gentoo.org> + +files/mldonkey-2.7.6-magic.patch, +mldonkey-2.7.6-r1.ebuild: + Add patch which fixes a serious performance problem when MLDonkey + downloads lots of new files or torrents with a lot (>100) subfiles, bug #136700 + + 09 Jun 2006; Karol Wojtaszek <sekretarz@gentoo.org> + -mldonkey-2.5.21-r2.ebuild, -mldonkey-2.6.5.ebuild, + -mldonkey-2.6.7.ebuild, -mldonkey-2.7.5.ebuild: + Ebuild clean up + +*mldonkey-2.7.6 (09 Jun 2006) + + 09 Jun 2006; Karol Wojtaszek <sekretarz@gentoo.org> + +mldonkey-2.7.6.ebuild: + Version bump. Removed threads USE flag. Bug #133944 and #127016 + +*mldonkey-2.7.5 (18 May 2006) + + 18 May 2006; Jon Hood <squinky86@gentoo.org> + -files/mldonkey-2.5.16-configure.patch, + -files/mldonkey-2.5.21-configure.patch, + -files/mldonkey-2.6.0-gtk2-gentoo.patch, +files/dp500.patch, + -mldonkey-2.6.0-r1.ebuild, -mldonkey-2.7.0.ebuild, -mldonkey-2.7.1.ebuild, + -mldonkey-2.7.2.ebuild, +mldonkey-2.7.5.ebuild: + Version bump, #124199. Thanks to Andreas Calvo <fflipy@hotmail.com>, + spiralvoice <spiralvoice@hotmail.com>, and many others in bug #124199 for + cleaning this up. + + 27 Apr 2006; Matthieu Sozeau <mattam@gentoo.org> + +files/mldonkey-2.7.3-configure.patch, mldonkey-2.7.3.ebuild: + Patch for ocaml-3.09.2, may need to be backported. + + 15 Mar 2006; Gustavo Zacarias <gustavoz@gentoo.org> mldonkey-2.7.3.ebuild: + Seems to work nice enough, deserves ~hppa + + 10 Mar 2006; Aron Griffis <agriffis@gentoo.org> mldonkey-2.7.3.ebuild: + Mark 2.7.3 stable on ia64. #107206 + + 28 Jan 2006; Marcin Kryczek <mkay@gentoo.org> + -files/mldonkey-2.7.0-endianess.patch.bz2, mldonkey-2.7.0.ebuild: + Moving binary patches from CVS to mirrors + + 23 Jan 2006; Marcin Kryczek <mkay@gentoo.org> -mldonkey-2.6.0.ebuild, + -mldonkey-2.6.4-r1.ebuild: + Removing ebuilds with obsolete gtk2 USE flag + +*mldonkey-2.7.3 (19 Jan 2006) + + 19 Jan 2006; Marcin Kryczek <mkay@gentoo.org> +mldonkey-2.7.3.ebuild: + Version bump. Adding RESTRICT=nomirror as an upstream developer wished + +*mldonkey-2.7.2 (13 Jan 2006) + + 13 Jan 2006; Marcin Kryczek <mkay@gentoo.org> +mldonkey-2.7.2.ebuild: + Version bump + + 04 Jan 2006; Karol Wojtaszek <sekretarz@gentoo.org> files/mldonkey.initd: + Fixed typos, bug #115226 by Christian Schlotter <again@gmx.de> + + 31 Dec 2005; Simon Stelling <blubb@gentoo.org> mldonkey-2.6.4-r2.ebuild: + stable on amd64 + +*mldonkey-2.7.1 (20 Dec 2005) + + 20 Dec 2005; Karol Wojtaszek <sekretarz@gentoo.org> files/mldonkey.initd, + +mldonkey-2.7.1.ebuild: + Version bump, bug #115226 + + 29 Nov 2005; Karol Wojtaszek <sekretarz@gentoo.org> + +files/mldonkey-2.7.0-endianess.patch.bz2, mldonkey-2.7.0.ebuild: + Added patch to make mldonkey working on amd64 and other little-endian machines + +*mldonkey-2.7.0 (21 Nov 2005) + + 21 Nov 2005; Marcin Kryczek <mkay@gentoo.org> +mldonkey-2.7.0.ebuild: + Version bump + + 21 Nov 2005; Marcin Kryczek <mkay@gentoo.org> mldonkey-2.6.7.ebuild: + Filtering -fomit-fram-pointer + +*mldonkey-2.6.7 (29 Oct 2005) + + 29 Oct 2005; Marcin Kryczek <mkay@gentoo.org> +mldonkey-2.6.7.ebuild: + Version bump + + 20 Oct 2005; <mkay@gentoo.org> files/mldonkey.confd, files/mldonkey.initd: + Updated start script (and configuration in conf.d). This fixes bug #109469 + and bug #109604 + + 15 Oct 2005; <mkay@gentoo.org> mldonkey-2.6.0.ebuild, + mldonkey-2.6.0-r1.ebuild: + 2.6.0 version needs ocaml-3.08.3. it won't build with 3.08.4. Fixing deps + +*mldonkey-2.6.5 (14 Oct 2005) + + 14 Oct 2005; <mkay@gentoo.org> +mldonkey-2.6.5.ebuild: + Version bump. Thanks Benjamin Schleinzer + + 06 Oct 2005; Michael Hanselmann <hansmi@gentoo.org> + mldonkey-2.6.4-r2.ebuild: + Stable on ppc. + + 02 Oct 2005; <mkay@gentoo.org> mldonkey-2.6.4-r1.ebuild, + mldonkey-2.6.4-r2.ebuild: + Stable on x86 + +*mldonkey-2.6.4-r2 (20 Sep 2005) +*mldonkey-2.6.0-r1 (20 Sep 2005) + + 20 Sep 2005; <mkay@gentoo.org> -files/2.5.28-config.patch, + -mldonkey-2.5.16-r10.ebuild, -mldonkey-2.5.27-r1.ebuild, + -mldonkey-2.5.28-r4.ebuild, +mldonkey-2.6.0-r1.ebuild, + -mldonkey-2.6.2.ebuild, -mldonkey-2.6.3.ebuild, -mldonkey-2.6.4.ebuild, + +mldonkey-2.6.4-r2.ebuild: + New revision bump without gtk2 flag. Also removing few older versions + + 19 Sep 2005; <mkay@gentoo.org> mldonkey-2.6.2.ebuild, + mldonkey-2.6.3.ebuild, mldonkey-2.6.4.ebuild, mldonkey-2.6.4-r1.ebuild: + Updated einfo about xpi handler (thanks Qiangning Hong for reporting bug + #106136) + + 19 Sep 2005; <mkay@gentoo.org> mldonkey-2.6.4-r1.ebuild: + Added checking if gd was built with truetype. Thanks Frittella Laurento for + bug #106396 + + 18 Sep 2005; <mkay@gentoo.org> files/mldonkey.initd: + Fixed init script. Thanks M. Giritli <giritli@sonne.uni-freiburg.de> for bug + #103433 + + 16 Sep 2005; Ciaran McCreesh <ciaranm@gentoo.org> ChangeLog: + Converted to UTF-8, fixed encoding screwups + +*mldonkey-2.6.4-r1 (14 Sep 2005) + + 14 Sep 2005; <mkay@gentoo.org> +mldonkey-2.6.4-r1.ebuild: + Clean a mess in USE flags - closing bug #103239 (thanks everyone, who takes + part in discussion). Also droping 'oldgtk' flag and support for old gui, + since it's not maintaned anymore. + +*mldonkey-2.6.4 (06 Sep 2005) + + 06 Sep 2005; Martin Holzer <mholzer@gentoo.org> +mldonkey-2.6.4.ebuild: + Version bumped. + + 27 Aug 2005; <sekretarz@gentoo.org> mldonkey-2.6.2.ebuild, + mldonkey-2.6.3.ebuild: + Fixed path to xpi file, bug #103891 + + 26 Aug 2005; <sekretarz@gentoo.org> mldonkey-2.6.2.ebuild, + mldonkey-2.6.3.ebuild: + Added patch to change ed2k_hash name to mld_hash, bug #103693 + +*mldonkey-2.6.3 (26 Aug 2005) + + 26 Aug 2005; Martin Holzer <mholzer@gentoo.org> +mldonkey-2.6.3.ebuild: + Version bumped. + + 21 Aug 2005; <sekretarz@gentoo.org> metadata.xml: + Removed squinky86 from metadata.xml on jakub request, bug #103131 + + 21 Aug 2005; <sekretarz@gentoo.org> mldonkey-2.6.2.ebuild: + Added missing parentheses in DEPEND and RDEPEND. Fixed some typos. Bug + #103237 and #103131 + +*mldonkey-2.6.2 (21 Aug 2005) + + 21 Aug 2005; <sekretarz@gentoo.org> +files/mldonkey-gui.desktop, + +mldonkey-2.6.2.ebuild: + Version bump, added mozilla use flag and installing ed2k handler for + mozilla/firefox, installing of desktop file. Thanks Przemyslaw Maciag + <p_maciag@wp.pl> in bug #102097 + + 07 Aug 2005; Michael Hanselmann <hansmi@gentoo.org> + mldonkey-2.5.16-r9.ebuild: + Stable on ppc. + + 25 Jul 2005; <sekretarz@gentoo.org> + +files/mldonkey-2.6.0-gtk2-gentoo.patch, mldonkey-2.6.0.ebuild: + Fixed compile problems with enabled ekg2, thanks Marcin Kryczek + <aye@gentoo.pl> in bug #100120 + + 24 Jul 2005; <sekretarz@gentoo.org> mldonkey-2.6.0.ebuild: + Turned off batch configure option, cought by Phil + +*mldonkey-2.6.0 (23 Jul 2005) + + 23 Jul 2005; <sekretarz@gentoo.org> +mldonkey-2.6.0.ebuild: + Version bump, bug #84100 + + 06 May 2005; Bryan Østergaard <kloeri@gentoo.org> + mldonkey-2.5.16-r10.ebuild: + Fix typo, bug 89322. + + 24 Mar 2005; Karol Wojtaszek <sekretarz@gentoo.org> +files/mldonkey.png, + mldonkey-2.5.16-r10.ebuild: + Add desktop entry when gtk use flag is enabled, bug #83300 + +*mldonkey-2.5.16-r10 (27 Feb 2005) + + 27 Feb 2005; Jon Hood <squinky86@gentoo.org> +mldonkey-2.5.16-r10.ebuild: + Version bump, #80553. Thanks Holger <holger@wizards.de> and Costas + <cca@freemail.gr>. + + 05 Feb 2005; Jan Brinkmann <luckyduck@gentoo.org> mldonkey-2.5.16-r9.ebuild: + added ~amd64 to KEYWORDS of 2.5.16-r9. fixes #76523 + + 29 Nov 2004; Jon Hood <squinky86@gentoo.org> files/mldonkey.initd, + -mldonkey-2.5.16-r7.ebuild, -mldonkey-2.5.16-r8.ebuild, + mldonkey-2.5.16-r9.ebuild, -mldonkey-2.5.28-r3.ebuild, + -mldonkey-2.5.28.ebuild: + 2.5.16-r9 stable on x86 due to older versions getting banned, thanks + Lorenz Bauer <scahoo@bluebottle.com>, #70659; new init script from + Martin Bays <gentoo_bugz@zugzwang.port5.com>, #65245, cleanup old ebuilds. + +*mldonkey-2.5.16-r9 (23 Nov 2004) + + 23 Nov 2004; Jon Hood <squinky86@gentoo.org> +mldonkey-2.5.16-r9.ebuild: + Version bump irt #70659; thanks Lorenz Bauer <scahoo@bluebottle.com> and + Vanquirius <marcelogoes@gmail.com>. + +*mldonkey-2.5.28-r4 (24 Oct 2004) + + 24 Oct 2004; Jon Hood <squinky86@gentoo.org> +mldonkey-2.5.28-r4.ebuild: + Version bump. + +*mldonkey-2.5.28-r3 (18 Oct 2004) + + 18 Oct 2004; Jon Hood <squinky86@gentoo.org> -mldonkey-2.5.28-r1.ebuild, + -mldonkey-2.5.28-r2.ebuild, +mldonkey-2.5.28-r3.ebuild: + Version bump, remove old versions. Thanks spiralvoice, #66920. + +*mldonkey-2.5.28-r2 (05 Oct 2004) + + 05 Oct 2004; Jon Hood <squinky86@gentoo.org> +mldonkey-2.5.28-r2.ebuild: + Version bump, new patch_pack. + +*mldonkey-2.5.28-r1 (30 Aug 2004) + + 30 Aug 2004; Jon Hood <squinky86@gentoo.org> +mldonkey-2.5.28-r1.ebuild: + Version bump; add experimental patch_pack for testing (masked). + + 24 Aug 2004; Jon Hood <squinky86@gentoo.org> +files/2.5.28-config.patch, + mldonkey-2.5.28.ebuild: + Add configure patch to not install lablgtk if it is not available, #61425. + + 22 Aug 2004; Travis Tilley <lv@gentoo.org> mldonkey-2.5.28.ebuild: + added ~amd64 keyword + +*mldonkey-2.5.28 (19 Aug 2004) + + 19 Aug 2004; Jon Hood <squinky86@gentoo.org> +mldonkey-2.5.28.ebuild: + Version bump, closes #60867. + +*mldonkey-2.5.27-r1 (17 Aug 2004) + + 17 Aug 2004; Jon Hood <squinky86@gentoo.org> -mldonkey-2.5.21-r1.ebuild, + +mldonkey-2.5.27-r1.ebuild, -mldonkey-2.5.27.ebuild: + Version bump, closes #60714. + + 16 Aug 2004; Guy Martin <gmsoft@gentoo.org> mldonkey-2.5.16-r8.ebuild: + Marked stable on hppa (#60390). + + 14 Aug 2004; Jon Hood <squinky86@gentoo.org> mldonkey-2.5.27.ebuild: + Fix DEPEND on ocaml and gtk2 use invocation; thanks xake and gustavoz, #58891. + +*mldonkey-2.5.27 (13 Aug 2004) + + 13 Aug 2004; Jon Hood <squinky86@gentoo.org> -mldonkey-2.5.22-r1.ebuild, + +mldonkey-2.5.27.ebuild: + Version bump, closes #58891. Thanks Benjamin Schleinzer <thor@4players.de> and + spiralvoice <spiralvoice@hotmail.com>. Remove non-working ebuild. + +*mldonkey-2.5.16-r8 (08 Aug 2004) + + 08 Aug 2004; Jon Hood <squinky86@gentoo.org> +mldonkey-2.5.16-r8.ebuild: + Version bump. Closes #57956. + + 05 Aug 2004; Jon Hood <squinky86@gentoo.org> -mldonkey-2.5.16-r5.ebuild, + -mldonkey-2.5.16-r6.ebuild, mldonkey-2.5.16-r7.ebuild: + Stable on x86. + + 04 Aug 2004; Jon Hood <squinky86@gentoo.org> files/mldonkey.initd: + Fix init script thanks to Antonio <netbix@tiscali.it> in #58331 and + Tiv <tivadar.szemethy@vanderbilt.edu> in #59435. + +*mldonkey-2.5.22-r1 (03 Aug 2004) + + 03 Aug 2004; Jon Hood <squinky86@gentoo.org> +mldonkey-2.5.22-r1.ebuild: + Version bump, masking until issues in #58891 are resolved. Thanks to Benjamin + Schleinzer <thor@4players.de> and spiralvoice <spiralvoice@hotmail.com>. + + 30 Jul 2004; Jon Hood <squinky86@gentoo.org> files/mldonkey + -mldonkey-2.5.16-r4.ebuild, mldonkey-2.5.16-r6.ebuild, + files/mldonkey.initd, -files/97mldonkey, + -files/mldonkey-2.5.16-16g.patch, -files/mldonkey-2.5.16-oldbt.patch: + fix init script irt #58857 + Stable on x86; remove old version. + Remove unused patches and files + + 27 Jul 2004; Guillaume Destuynder <kang@gentoo.org> + mldonkey-2.5.16-r(4,5,6,7).ebuild, + mldonkey-2.5.21-r(1,2).ebuild: + Fixed #58526, incorrect enewuser usage + + 19 Jul 2004; Jon Hood <squinky86@gentoo.org> mldonkey-2.5.16-r5.ebuild: + stable on x86 + + 15 Jul 2004; Jon Hood <squinky86@gentoo.org> files/mldonkey: + fix mldonkey init script for more options; thanks to Matthias Bernges + <matthiasbernges@gmx.de> for the updates + +*mldonkey-2.5.16-r7 (06 Jul 2004) + + 06 Jul 2004; Jon Hood <squinky86@gentoo.org> +mldonkey-2.5.16-r7.ebuild: + version bump irt #55555, change all ocaml dependencies to >=3.07 + + 04 Jul 2004; Jon Hood <squinky86@gentoo.org> mldonkey-2.5.21-r2.ebuild: + fix RDEPEND on lablgtk, closes #56081 + + 28 Jun 2004; Jon Hood <squinky86@gentoo.org> mldonkey-2.5.16-r6.ebuild, + mldonkey-2.5.21-r2.ebuild: + ebuild cleanups thanks to spiralvoice in #54530 + +*mldonkey-2.5.16-r6 (28 Jun 2004) + + 28 Jun 2004; Jon Hood <squinky86@gentoo.org> +mldonkey-2.5.16-r6.ebuild: + version bump + + 20 Jun 2004; Jon Hood <squinky86@gentoo.org> -mldonkey-2.5.16-r3.ebuild, + mldonkey-2.5.16-r4.ebuild: + stable on x86 + +*mldonkey-2.5.16-r5 (18 Jun 2004) + +*mldonkey-2.5.21-r2 (18 Jun 2004) + + 18 Jun 2004; Jon Hood <squinky86@gentoo.org> +mldonkey-2.5.16-r5.ebuild, + -mldonkey-2.5.18.ebuild, -mldonkey-2.5.19.ebuild, -mldonkey-2.5.20.ebuild, + +mldonkey-2.5.21-r2.ebuild, -mldonkey-2.5.21.ebuild, + -files/mldonkey-2.5.18-configure.patch, + -files/mldonkey-2.5.19-configure.patch, + -files/mldonkey-2.5.20-configure.patch: + version bumps; thanks to teedog <teedog@myrealbox.com> in #54260 and #52032; + ebuild cleanups (2.5.16 is stable branch, 2.5.21 is testing branch) + +*mldonkey-2.5.16-r4 (21 May 2004) + + 15 Jun 2004; Jon Hood <squinky86@gentoo.org> : + version bump of prefered branch of mldonkey, thanks to teedog + <teedog@myrealbox.com>, #53363 + +*mldonkey-2.5.21-r1 (21 May 2004) + + 21 May 2004; Jon Hood <squinky86@gentoo.org> -mldonkey-2.5.11.ebuild, + -mldonkey-2.5.12.ebuild, -mldonkey-2.5.16-r1.ebuild, + -mldonkey-2.5.16-r2.ebuild, mldonkey-2.5.16-r3.ebuild, + -mldonkey-2.5.16.ebuild, +mldonkey-2.5.21-r1.ebuild, mldonkey-2.5.21.ebuild, + -mldonkey-2.5.4.ebuild: + cleanup ebuilds; version bump; apply changes from #51496 + + 11 May 2004; Guy Martin <gmsoft@gentoo.org> : + Marked stable on hppa. + +*mldonkey-2.5.21 (05 May 2004) + + 05 May 2004; Jon Hood <squinky86@gentoo.org> + +files/mldonkey-2.5.21-configure.patch, +mldonkey-2.5.21.ebuild: + Wow, three version bumps in a day! Recloses #49847. + +*mldonkey-2.5.20 (05 May 2004) + + 05 May 2004; Jon Hood <squinky86@gentoo.org> + +files/mldonkey-2.5.20-configure.patch, +mldonkey-2.5.20.ebuild: + version bump, closes #49847 + +*mldonkey-2.5.19 (05 May 2004) + + 05 May 2004; Martin Holzer <mholzer@gentoo.org> mldonkey-2.5.19.ebuild, + files/mldonkey-2.5.19-configure.patch: + Version bumped. + + 26 Apr 2004; Aron Griffis <agriffis@gentoo.org> mldonkey-2.5.11.ebuild, + mldonkey-2.5.12.ebuild, mldonkey-2.5.16-r1.ebuild, + mldonkey-2.5.16-r2.ebuild, mldonkey-2.5.16.ebuild, mldonkey-2.5.4.ebuild: + Add die following econf for bug 48950 + +*mldonkey-2.5.18 (17 Apr 2004) + + 17 Apr 2004; Martin Holzer <mholzer@gentoo.org> mldonkey-2.5.18.ebuild, + files/mldonkey-2.5.18-configure.patch: + Version bumped. + + 17 Apr 2004; Martin Holzer <mholzer@gentoo.org> mldonkey-2.5.16-r2.ebuild, + mldonkey-2.5.16-r3.ebuild: + adding make depend. closes 47329 + +*mldonkey-2.5.16-r3 (13 Apr 2004) + + 13 Apr 2004; Martin Holzer <mholzer@gentoo.org> mldonkey-2.5.16-r2.ebuild, + mldonkey-2.5.16-r3.ebuild: + updating patch. big fix for 47329. + +*mldonkey-2.5.16-r2 (07 Apr 2004) +*mldonkey-2.5.16-r1 (07 Apr 2004) + + 07 Apr 2004; Jeremy Huddleston <eradicator@gentoo.org> + mldonkey-2.5.16-r1.ebuild, mldonkey-2.5.16-r2.ebuild, + files/mldonkey-2.5.16-16g.patch, files/mldonkey-2.5.16-configure.patch, + files/mldonkey-2.5.16-oldbt.patch: + -r1 has the old, pre 16 bittorrent code. -r2 has threading enabled as two + solution options to bug #45471 and #46409. + + 17 Mar 2004; Jeremy Huddleston <eradicator@gentoo.org> files/mldonkey, + files/mldonkey.initd: + updated init script for small fix. See bug #44563 + + 12 Mar 2004; Jeremy Huddleston <eradicator@gentoo.org> + mldonkey-2.5.11.ebuild, mldonkey-2.5.12.ebuild, mldonkey-2.5.16.ebuild: + Fixed lablgtk DEPEND to accept any 1.x version but not the 2.x versions... bug + #44227. + +*mldonkey-2.5.16 (10 Mar 2004) + + 10 Mar 2004; Hanno Boeck <hanno@gentoo.org> mldonkey-2.5.16.ebuild: + Version bump. + + 24 Feb 2004; Jeremy Huddleston <eradicator@gentoo.org> metadata.xml, + mldonkey-2.5.11.ebuild, mldonkey-2.5.12.ebuild: + Fixed installed documentation (Bug #41764). + Fixed init.d script (Bug #41347). + + 17 Feb 2004; Aron Griffis <agriffis@gentoo.org> mldonkey-2.5.12.ebuild: + add ~alpha and ~ia64 + +*mldonkey-2.5.12 (16 Feb 2004) + + 16 Feb 2004; Martin Holzer <mholzer@gentoo.org> mldonkey-2.5.12.ebuild: + Version bumped. + +*mldonkey-2.5.11 (11 Feb 2004) + + 11 Feb 2004; Martin Holzer <mholzer@gentoo.org> mldonkey-2.5.11.ebuild: + Version bumped. + + 22 Jan 2004; Matthieu Sozeau <mattam@gentoo.org> mldonkey-2.5.3-r1.ebuild, + mldonkey-2.5.3-r2.ebuild, mldonkey-2.5.4.ebuild: + Changed lablgtk dependancies to =lablgtk-1.2.5 before lablgtk-2 inclusion. + + 18 Dec 2003; Heinrich Wendel <lanius@gentoo.org> mldonkey-2.5.4.ebuild: + Moved enewuser to src_install, so the home directory is created. + It was in pkg_setup but the image dir will be cleaned before src_install. + + 30 Nov 2003; Jeremy Maitin-Shepard <jbms@gentoo.org> + mldonkey-2.5.3-r1.ebuild, mldonkey-2.5.3-r2.ebuild, mldonkey-2.5.4.ebuild: + Changed `either' to 'also' in the post-install message. + Bug reported by Adam <adam@tpetaccia.com>. + + 19 Nov 2003; Heinrich Wendel <lanius@gentoo.org> mldonkey-2.5.4.ebuild: + inherit eutils to fix enewuser, thx to iggy for pointing that out + + 18 Oct 2003; Heinrich Wendel <lanius@gentoo.org> mldonkey-2.5.4.ebuild: + fixed compiling with ocaml 3.07 + +*mldonkey-2.5.4 (17 Oct 2003) + + 17 Oct 2003; Heinrich Wendel <lanius@gentoo.org> mldonkey-2.5-r1.ebuild, + mldonkey-2.5.4.ebuild, files/mldonkey: + version bump / --enable-batch mode / additionaly docs / bug #30983 / bug #31228 + + 07 Oct 2003; Martin Holzer <mholzer@gentoo.org> mldonkey-2.5.3-r1.ebuild, + mldonkey-2.5.3-r2.ebuild: + fixing ocml version. closes #29996 + +*mldonkey-2.5.3-r2 (24 Sep 2003) + + 24 Sep 2003; Markus Nigbur <pyrania@gentoo.org> mldonkey-2.5.3-r2.ebuild, + files/mldonkey.initd: + Bugfixes in the initscript (bug #29374) + + 10 Sep 2003; Caleb Tennis <caleb@gentoo.org> mldonkey-2.5.3-r1.ebuild: + Rethink the config files - bug #27005 + + 17 Aug 2003; Martin Holzer <mholzer@gentoo.org> mldonkey-2.5.3-r1.ebuild: + Marked x86 stable. + +*mldonkey-2.5.3-r1 (06 Aug 2003) + + 06 Aug 2003; Caleb Tennis <caleb@gentoo.org> mldonkey-2.5.3-r1.ebuild: + Added extra functionality, like a new p2p user and some added features. + Thanks to Julian Hoch, this closes bug #25695. + +*mldonkey-2.5.3 (17 Jun 2003) + + 17 Jun 2003; Caleb Tennis <caleb@gentoo.org> mldonkey-2.5.3.ebuild: + Version bump to 2.5-3. E-Build submitted by Gregorio Guidi (bug #22605). + +*mldonkey-2.5-r1 (02 Jun 2003) + + 02 Jun 2003; Caleb Tennis <caleb@gentoo.org> mldonkey-2.5-r1.ebuild, mldonkey: + New revision based on the fact the old ebuild (2.5) didn't work 100% properly. + Thanks to Gregorio Guidi for the submission - closes bug #20884. + +*mldonkey-2.5 (28 May 2003) + + 28 May 2003; Caleb Tennis <caleb@gentoo.org> mldonkey-2.5.ebuild: + version bump, thanks to Sridhar Dhanapalan (bug #21764) + +*mldonkey-2.04_rc1 (23 Mar 2003) + + 23 Mar 2003; Hannes Mehnert <hannes@gentoo.org> mldonkey-2.04_rc1.ebuild: + version bump, thanks to Vesa Kaihlavirta <vpkaihla@cc.jyu.fi> (bug #17365) + +*mldonkwy-2.02-r2 (26 Jan 2003) + + 26 Jan 2003; Hannes Mehnert <hannes@gentoo.org> mldonkey-2.02-r2.ebuild: + new pango-patches, thanks to spam@matzsoft.de (Mathias Menzel-Nielsen) + (bug #14370) + + 14 Jan 2003; Hannes Mehnert <hannes@gentoo.org> mldonkey-2.01-r1.ebuild: + fixed SRC_URI + +*mldonkey-2.02-r1 (03 Jan 2003) + + 28 Jan 2003; Jon Nall <nall@gentoo.org> mldonkey-2.02-r1.ebuild : + added ~ppc + + 03 Jan 2003; Hannes Mehnert <hannes@gentoo.org> mldonkey-2.02-r1.ebuild: + added pango patch if USE=mldonkeypango is set. + +*mldonkey-2.02 (24 Dec 2002) + + 24 Dec 2002; J.Alberto Suarez L. <bass@gentoo.org> mldonkey-2.02.ebuild: + New version. + Some changes in the ebuil: removed pango patch, 'N' variable introduced for src. + Merry XMas =D + +*mldonkey-2.01-r1 (15 Dec 2002) + + 16 Dec 2002; Seemant Kulleen <seemant@gentoo.org> mldonkey-2.01.ebuild + mldonkey-2.01-r1.ebuild : + + Moved 2.01 to stable, and changed the configure settings slightly. Should + go into /var not /usr/var for the state stuff and use econf instead + + 12 Dec 2002; Hannes Mehnert <hannes@mehnert.org> mldonkey-2.01-r1.ebuild: + included patch from http://concept.free.free.fr/mldonkey/ + +*mldonkey-2.01 (12 Dec 2002) + + 12 Dec 2002; Hannes Mehnert <hannes@mehnert.org> mldonkey-2.01.ebuild: + version bump + +*mldonkey-2.00-r1 (09 Dec 2002) + + 09 Dec 2002; Hannes Mehnert <hannes@mehnert.org> mldonkey-2.00-r1.ebuild: + this ebuild is now from source. Thanks to gentoo-bug@loitsch.org (Christian + Loitsch) for submission (bug #9677) + + 26 Jun 2002; Thilo Bangert <bangert@gentoo.org> : + + move to net-p2p + + 16 jun 2002; J. Alberto Suárez L. <bass@gentoo.org> mldonkey-1.16.ebuild : + + First relase diff --git a/net-p2p/mldonkey/Manifest b/net-p2p/mldonkey/Manifest new file mode 100644 index 0000000..9daf910 --- /dev/null +++ b/net-p2p/mldonkey/Manifest @@ -0,0 +1,40 @@ +AUX mldonkey 336 RMD160 e12f193088e91ddb02baa63533115075abea0dae SHA1 11af8f2912799262112feaa52358cc0fd62abb26 SHA256 38392622dd39cd8d73e9a6944593e82e45ec0d12cc0134fb736d443a9b17f3d7 +MD5 ac93ed074d62909b2a496045f0740127 files/mldonkey 336 +RMD160 e12f193088e91ddb02baa63533115075abea0dae files/mldonkey 336 +SHA256 38392622dd39cd8d73e9a6944593e82e45ec0d12cc0134fb736d443a9b17f3d7 files/mldonkey 336 +AUX mldonkey-Makefile.in-byte-compile.patch 949 RMD160 cc9413ffc3c76603b36731eb9503c81204e4ec24 SHA1 cf69a0c8009e7e056acaddfd7506913926cee58a SHA256 385ad27de9d5df9925112c90f65e34c350bc17b15694d78b34ea0f858420fe2b +MD5 8a77cef40009ebd0db6b1228a6f0db85 files/mldonkey-Makefile.in-byte-compile.patch 949 +RMD160 cc9413ffc3c76603b36731eb9503c81204e4ec24 files/mldonkey-Makefile.in-byte-compile.patch 949 +SHA256 385ad27de9d5df9925112c90f65e34c350bc17b15694d78b34ea0f858420fe2b files/mldonkey-Makefile.in-byte-compile.patch 949 +AUX mldonkey-gui.desktop 263 RMD160 c8da2a5e90446cefe75e93969b975093b2d367b0 SHA1 6e350814866f741ef76389c98df34af22751e164 SHA256 8ba9aec085500abbc7fcf53cf34a61e23a5b68cdc8b4b856f4395a5729608eb9 +MD5 93e16748ad44af182177978057266aa7 files/mldonkey-gui.desktop 263 +RMD160 c8da2a5e90446cefe75e93969b975093b2d367b0 files/mldonkey-gui.desktop 263 +SHA256 8ba9aec085500abbc7fcf53cf34a61e23a5b68cdc8b4b856f4395a5729608eb9 files/mldonkey-gui.desktop 263 +AUX mldonkey.confd-2.8 887 RMD160 0575b16320fc74fbe417150315d2247a536259d1 SHA1 28000a260fe9b7c216112ba877f55835a09aabd7 SHA256 d395ecece23a23dcb41addf63b70220996011ceb29d8738afb3c048b666cd96e +MD5 936ea40c208c5c3f294bd39080f966f1 files/mldonkey.confd-2.8 887 +RMD160 0575b16320fc74fbe417150315d2247a536259d1 files/mldonkey.confd-2.8 887 +SHA256 d395ecece23a23dcb41addf63b70220996011ceb29d8738afb3c048b666cd96e files/mldonkey.confd-2.8 887 +AUX mldonkey.initd-2.8-r1 3350 RMD160 2e42afffc1cf4ee00312138b92616b7081549749 SHA1 27c696e27064338683e5a25a79f36599de461f7b SHA256 bf3f3f802d76c024bb2c3ed7079ed788184f11ab5f6fa3b21f3f36f07add8e04 +MD5 b9d3cbb7a1f3a641154fadb933ce9098 files/mldonkey.initd-2.8-r1 3350 +RMD160 2e42afffc1cf4ee00312138b92616b7081549749 files/mldonkey.initd-2.8-r1 3350 +SHA256 bf3f3f802d76c024bb2c3ed7079ed788184f11ab5f6fa3b21f3f36f07add8e04 files/mldonkey.initd-2.8-r1 3350 +AUX mldonkey.png 6835 RMD160 2ef0cbc5be4de95893b43da0281bd52f5aabb314 SHA1 bf61199ffd324558f49940a5ca6a68a36f4656b2 SHA256 c16ecc040b5ea82ed06b04a76c5d7304d7aca2f0854176aa8d78aa90831d8798 +MD5 855aedd7fba1ffe74d7f6c0bce98f45f files/mldonkey.png 6835 +RMD160 2ef0cbc5be4de95893b43da0281bd52f5aabb314 files/mldonkey.png 6835 +SHA256 c16ecc040b5ea82ed06b04a76c5d7304d7aca2f0854176aa8d78aa90831d8798 files/mldonkey.png 6835 +DIST mldonkey-2.8.7.tar.bz2 2713064 RMD160 5392be0982f879e566fb8f8532445b49dde3b121 SHA1 598e1443ac9b7684301892b620e620d11c333001 SHA256 3be67f516a0f100d7f526ac532336f9572b31377e1bbaa0f1cc67433b5d5675e +EBUILD mldonkey-2.8.7.ebuild 4445 RMD160 bdbda5080b4a5053e0f3e860b2c655e192753beb SHA1 72fdcb784600d1d9e18d9faf6dd8b83d5783e8a9 SHA256 072359831b67da050e42f14928ab1015d8d87c2503021ab2d13bc49b96755325 +MD5 a7111f1a5259bf3438c8b3e5b95cd300 mldonkey-2.8.7.ebuild 4445 +RMD160 bdbda5080b4a5053e0f3e860b2c655e192753beb mldonkey-2.8.7.ebuild 4445 +SHA256 072359831b67da050e42f14928ab1015d8d87c2503021ab2d13bc49b96755325 mldonkey-2.8.7.ebuild 4445 +MISC ChangeLog 26283 RMD160 d7ec51975cc6a88774a84812075c16aeb9a14704 SHA1 5f173e66af4befe053e5ab7aea3189b420fd773c SHA256 a6146f229b47d020afa0e514f0250f909048678af862392ac1e5dc630067f4bd +MD5 14d80f46a29203a32008f4bf5c9cd740 ChangeLog 26283 +RMD160 d7ec51975cc6a88774a84812075c16aeb9a14704 ChangeLog 26283 +SHA256 a6146f229b47d020afa0e514f0250f909048678af862392ac1e5dc630067f4bd ChangeLog 26283 +MISC metadata.xml 242 RMD160 d0edc89382298dee00d3571b62a5f457ef268751 SHA1 25511186cac54f1353a3347f72da7f5d05b9da57 SHA256 b354d71d5efbed0ff97e27564894438b42a8bd8b577007cadc6972dd37d6b5f8 +MD5 ee159929f3e247f937fe88bb1919d8bd metadata.xml 242 +RMD160 d0edc89382298dee00d3571b62a5f457ef268751 metadata.xml 242 +SHA256 b354d71d5efbed0ff97e27564894438b42a8bd8b577007cadc6972dd37d6b5f8 metadata.xml 242 +MD5 c49497da048b45cc8a76cab5cf68a8b3 files/digest-mldonkey-2.8.7 250 +RMD160 8d1a46460461cf219cd389b198874982b20213b3 files/digest-mldonkey-2.8.7 250 +SHA256 ecf10b70d9f44cc34936503c4bd01670b61be36a4b4da3520aafe73d9952d4b6 files/digest-mldonkey-2.8.7 250 diff --git a/net-p2p/mldonkey/files/digest-mldonkey-2.8.7 b/net-p2p/mldonkey/files/digest-mldonkey-2.8.7 new file mode 100644 index 0000000..f2edf9c --- /dev/null +++ b/net-p2p/mldonkey/files/digest-mldonkey-2.8.7 @@ -0,0 +1,3 @@ +MD5 bfb30ebcb48f0a9ec0f44f41559afd38 mldonkey-2.8.7.tar.bz2 2713064 +RMD160 5392be0982f879e566fb8f8532445b49dde3b121 mldonkey-2.8.7.tar.bz2 2713064 +SHA256 3be67f516a0f100d7f526ac532336f9572b31377e1bbaa0f1cc67433b5d5675e mldonkey-2.8.7.tar.bz2 2713064 diff --git a/net-p2p/mldonkey/files/mldonkey b/net-p2p/mldonkey/files/mldonkey new file mode 100755 index 0000000..6a407cd --- /dev/null +++ b/net-p2p/mldonkey/files/mldonkey @@ -0,0 +1,15 @@ +#!/bin/sh + +. /etc/conf.d/mldonkey + +if [ ! -d ${HOME}/.mldonkey ] ; then + echo "Creating subdirectory \".mldonkey\" in your home" + echo "to store config files and downloaded files..." + + if ! mkdir ${HOME}/.mldonkey ; then + echo "Creation of subdirectory failed! Exiting..." + exit 1 + fi +fi + +cd ${HOME}/.mldonkey && exec /usr/bin/mlnet diff --git a/net-p2p/mldonkey/files/mldonkey-Makefile.in-byte-compile.patch b/net-p2p/mldonkey/files/mldonkey-Makefile.in-byte-compile.patch new file mode 100644 index 0000000..2c9bad5 --- /dev/null +++ b/net-p2p/mldonkey/files/mldonkey-Makefile.in-byte-compile.patch @@ -0,0 +1,22 @@ +--- Makefile.in.orig 2007-07-18 02:15:44.000000000 +0800 ++++ Makefile.in 2007-07-18 02:47:15.000000000 +0800 +@@ -1514,6 +1514,9 @@ + opt: $(RESFILE) $(TMPSOURCES) $(TARGETS) + + byte: $(TMPSOURCES) $(foreach target, $(TARGETS), $(target).byte) ++ for i in $(foreach target, $(TARGETS), $(target).byte); do \ ++ cp $$i $${i/.byte/}; \ ++ done + + static: $(foreach target, $(TARGETS), $(target).static) + +@@ -1662,6 +1665,9 @@ + cd $(LOCAL)/ocamlopt-$(REQUIRED_OCAML); $(MAKE) + + utils.byte: mld_hash.byte make_torrent.byte copysources.byte get_range.byte subconv.byte ++ for i in $^ ; do\ ++ cp $$i $${i/.byte/}; \ ++ done + utils.opt: svg_converter mld_hash make_torrent copysources get_range subconv + utils.opt.static: svg_converter mld_hash.static make_torrent.static copysources.static get_range.static subconv.static + utils.byte.static: mld_hash.byte.static make_torrent.byte.static copysources.byte.static get_range.byte.static subconv.byte.static diff --git a/net-p2p/mldonkey/files/mldonkey-gui.desktop b/net-p2p/mldonkey/files/mldonkey-gui.desktop new file mode 100644 index 0000000..fdda462 --- /dev/null +++ b/net-p2p/mldonkey/files/mldonkey-gui.desktop @@ -0,0 +1,12 @@ +[Desktop Entry] +Version=0.9.4 +Encoding=UTF-8 +Name=MLDonkey GUI +Comment=MLDonkey graphical interface +Comment[pl]=Graficzny interfejs do programu MLDonkey +Exec=mlgui +Icon=mldonkey.png +Terminal=false +Type=Application +Categories=GTK;Network;P2P; +# vi: encoding=utf-8 diff --git a/net-p2p/mldonkey/files/mldonkey.confd-2.8 b/net-p2p/mldonkey/files/mldonkey.confd-2.8 new file mode 100644 index 0000000..1d1f282 --- /dev/null +++ b/net-p2p/mldonkey/files/mldonkey.confd-2.8 @@ -0,0 +1,39 @@ +# /etc/conf.d/mldonkey +# Config file for mldonkey control script + +# Change the following vars only if you know +# what you're doing, there's no checking for +# invalid data yet! + +# owner of mlnet process (don't change, must be existing) +USER="p2p" + +# mldonkey's working dir (must be existing) +MLDONKEY_DIR="/home/p2p/mldonkey" + +# logfile (/dev/null for nowhere) +LOG="/var/log/mldonkey.log" + +# set to true, if you have enabled logging to syslog in MLDonkey with +# set log_to_syslog true +USE_LOGGER=false + +# bandwidth control, values in kb/s +LOW_DOWN="6" +LOW_UP="2" +HIGH_DOWN="30" +HIGH_UP="10" + +# nice level, 0<x<19, more nice -> less cpuspeed consumed +NICE="19" + +# mldonkey server ip, usually localhost +SERVER="localhost" + +# port for webinterface, usually 4080 +PORT="4080" + +# to enable password restricted access, +# uncomment and set BOTH following vars: +#USERNAME="admin" +#PASSWORD="" diff --git a/net-p2p/mldonkey/files/mldonkey.initd-2.8-r1 b/net-p2p/mldonkey/files/mldonkey.initd-2.8-r1 new file mode 100644 index 0000000..312ea69 --- /dev/null +++ b/net-p2p/mldonkey/files/mldonkey.initd-2.8-r1 @@ -0,0 +1,147 @@ +#!/sbin/runscript + +opts="start stop restart reload slow fast info" + +MLDONKEY_BINARY=${MLDONKEY_BINARY:-/usr/bin/mlnet} +MLDONKEY_TIMEOUT=${TIMEOUT:-10} + +depend() { + need net + ${USE_LOGGER} && use logger +} + +start() { + ebegin "Starting ${SVCNAME}" + + if [ -z "${MLDONKEY_DIR}" ]; then + ewarn "mldonkey's start script has been changed. You should remove" + ewarn "BASEDIR and SUBDIR from /etc/conf.d/mldonkey and set MLDONKEY_DIR" + ewarn "to the correct value (you probably want" + ewarn "MLDONKEY_DIR=${BASEDIR}/${SUBDIR})" + MLDONKEY_DIR=${BASEDIR}/${SUBDIR} + einfo "Using ${MLDONKEY_DIR} as working directory" + fi + + local result=0 + if [ ! -d ${MLDONKEY_DIR} ]; then + einfo "Directory ${MLDONKEY_DIR} not existing, trying to create..." + if `mkdir -p ${MLDONKEY_DIR} 2>/dev/null`; then + chown ${USER}:users ${MLDONKEY_DIR} + else + eerror "Directory ${MLDONKEY_DIR} could not be created!" + ((result++)) + fi + fi + + cd ${MLDONKEY_DIR} + env MLDONKEY_DIR=${MLDONKEY_DIR} start-stop-daemon --quiet --start \ + -c ${USER} -N ${NICE} -x ${MLDONKEY_BINARY} &>${LOG} & + sleep 5 + + if ! pgrep -u ${USER} mlnet >/dev/null; then + eerror "${SVCNAME} could not be started! Check logfile: ${LOG}" + ((result++)) + fi + + eend $result +} + +setup_uri() { + BASE="http://" + if [[ -n ${USERNAME} && -n ${PASSWORD} ]]; then + BASE=${BASE}${USERNAME}:${PASSWORD}@ + fi + BASE=${BASE}${SERVER}:${PORT} +} + +stop() { + ebegin "Stopping ${SVCNAME} -- please wait" + + setup_uri + wget --spider --timeout=${MLDONKEY_TIMEOUT} ${BASE}/submit?q=close_fds -q + wget --spider --timeout=${MLDONKEY_TIMEOUT} ${BASE}/submit?q=save -q + wget --spider --timeout=${MLDONKEY_TIMEOUT} ${BASE}/submit?q=kill -q + + # give it a chance to die: + local timeout=${MLDONKEY_TIMEOUT} + while [ $timeout -gt 0 ] && pgrep -u ${USER} mlnet &>/dev/null; do + sleep 1 + ((timeout--)) + done + + start-stop-daemon --oknodo --stop -x ${MLDONKEY_BINARY} &>${LOG} + + eend $? +} + +restart() { + svc_stop + sleep 5 + svc_start +} + +reload() { + if ! service_started ${SVCNAME}; then + eerror "${SVCNAME} is not started" + return 0 + fi + + ebegin "Reloading ${SVCNAME}" + + start-stop-daemon --stop --signal HUP --oknodo \ + --exec ${MLDONKEY_BINARY} &>${LOG} + + eend $? +} + +slow() { + if ! service_started ${SVCNAME}; then + start_service ${SVCNAME} + fi + + ebegin "Reducing bandwidth to ${LOW_DOWN}k/${LOW_UP}k" + + setup_uri + wget --spider --timeout=${MLDONKEY_TIMEOUT} \ + ${BASE}/submit?q=set+max_hard_download_rate+${LOW_DOWN} -q + wget --spider --timeout=${MLDONKEY_TIMEOUT} \ + ${BASE}/submit?q=set+max_hard_upload_rate+${LOW_UP} -q + + eend $? +} + +fast() { + if ! service_started ${SVCNAME}; then + start_service ${SVCNAME} + fi + + ebegin "Increasing bandwidth to ${HIGH_DOWN}k/${HIGH_UP}k" + + setup_uri + wget --spider --timeout=${MLDONKEY_TIMEOUT} \ + ${BASE}/submit?q=set+max_hard_upload_rate+${HIGH_UP} -q + wget --spider --timeout=${MLDONKEY_TIMEOUT} \ + ${BASE}/submit?q=set+max_hard_download_rate+${HIGH_DOWN} -q + + + eend $? +} + + +info() { + if ! service_started ${SVCNAME}; then + eerror "${SVCNAME} is not started" + return 0 + fi + + setup_uri + local result=$(/usr/bin/wget --timeout=${MLDONKEY_TIMEOUT} \ + -O - ${BASE}/submit?q=vo 2> /dev/null | \ + /bin/grep -C1 max_hard_upload | \ + /bin/grep value=\" | /bin/cut -d\" -f2) + if [[ ${result} -eq ${LOW_UP} ]]; then + einfo "${SVCNAME} runs slow" + else + einfo "${SVCNAME} runs fast" + fi +} diff --git a/net-p2p/mldonkey/files/mldonkey.png b/net-p2p/mldonkey/files/mldonkey.png Binary files differnew file mode 100644 index 0000000..e43f94d --- /dev/null +++ b/net-p2p/mldonkey/files/mldonkey.png diff --git a/net-p2p/mldonkey/metadata.xml b/net-p2p/mldonkey/metadata.xml new file mode 100644 index 0000000..fb26f9f --- /dev/null +++ b/net-p2p/mldonkey/metadata.xml @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>net-p2p</herd> +<longdescription>An ocaml client to access the eDonkey network.</longdescription> +</pkgmetadata> diff --git a/net-p2p/mldonkey/mldonkey-2.8.7.ebuild b/net-p2p/mldonkey/mldonkey-2.8.7.ebuild new file mode 100644 index 0000000..e74d573 --- /dev/null +++ b/net-p2p/mldonkey/mldonkey-2.8.7.ebuild @@ -0,0 +1,172 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/net-p2p/mldonkey/mldonkey-2.8.7.ebuild,v 1.5 2007/07/09 04:31:52 jer Exp $ + +inherit flag-o-matic + +IUSE="doc fasttrack gd gnutella gtk guionly magic" + +DESCRIPTION="MLDonkey is a multi-network P2P application written in Ocaml, coming with its own Gtk GUI, web and telnet interface." +HOMEPAGE="http://mldonkey.sourceforge.net/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~alpha ~amd64 hppa ia64 ppc ~sparc x86" +RESTRICT="mirror strip" + +RDEPEND="dev-lang/perl + guionly? ( >=gnome-base/librsvg-2.4.0 + >=dev-ml/lablgtk-2.6 ) + gtk? ( >=gnome-base/librsvg-2.4.0 + >=dev-ml/lablgtk-2.6 ) + gd? ( >=media-libs/gd-2.0.28 ) + magic? ( sys-apps/file )" + +DEPEND="${RDEPEND} + >=sys-devel/autoconf-2.58 + >=dev-lang/ocaml-3.08.3" + +MLUSER="p2p" + +pkg_setup() { + if use gtk; then + echo "" + einfo "If the compile with gui fails, and you have updated Ocaml" + einfo "recently, you may have forgotten that you need to run" + einfo "/usr/portage/dev-lang/ocaml/files/ocaml-rebuild.sh" + einfo "to learn which ebuilds you need to recompile" + einfo "each time you update Ocaml to a different version" + einfo "see the Ocaml ebuild for details" + echo "" + fi + + if use gtk && !(built_with_use dev-ml/lablgtk svg); then + eerror "dev-ml/lablgtk must be built with the 'svg' USE flag to use the gtk gui" + die "Recompile dev-ml/lablgtk with enabled svg USE flag" + fi + + if use gd && !(built_with_use media-libs/gd truetype); then + eerror "media-libs/gd must be built with 'truetype' to compile" + eerror "MLDonkey with gd support" + die "Recompile media-libs/gd with enabled truetype USE flag" + fi +} + +src_unpack() { + unpack ${A} && cd "${S}" + + + export WANT_AUTOCONF=2.5 + cd "${S}"/config + epatch ${FILESDIR}/${PN}-Makefile.in-byte-compile.patch + autoconf + cd "${S}" +} + +src_compile() { + append-ldflags -Wl,-z,noexecstack + if use mips ; then + filter-flags "-mips?" + replace-cpu-flags mips? mips1 + fi + + # the dirs are not (yet) used, but it doesn't hurt to specify them anyway + + # onlygui Disable all nets support, build only chosen GUI + + if use gtk || use guionly; then + myconf="--enable-gui=newgui2" + else + myconf="--disable-gui" + fi + + if use guionly; then + myconf="${myconf} --disable-multinet --disable-donkey" + fi + + cd ${S} + econf \ + --sysconfdir=/etc/mldonkey \ + --sharedstatedir=/var/mldonkey \ + --localstatedir=/var/mldonkey \ + --enable-checks \ + --disable-batch \ + $(use_enable fasttrack) \ + $(use_enable gnutella) \ + $(use_enable gnutella gnutella2) \ + $(use_enable gd) \ + $(use_enable magic) \ + ${myconf} || die "econf failed" + + export OCAMLRUNPARAM="l=256M" + emake || die "emake failed" + + if ! use guionly; then + emake utils || die "emake utils failed" + fi; +} + +src_install() { + if ! use guionly; then + dobin mlnet mld_hash get_range copysources make_torrent subconv \ + || die "dobin failed" + + newconfd "${FILESDIR}/mldonkey.confd-2.8" mldonkey + fperms 600 /etc/conf.d/mldonkey + newinitd "${FILESDIR}/mldonkey.initd-2.8-r1" mldonkey + fi + + if use gtk; then + dobin mlgui mlguistarter || die "dobin failed" + domenu ${FILESDIR}/${PN}-gui.desktop + doicon ${FILESDIR}/${PN}.png + fi + + if use doc ; then + cd ${S}/distrib + dodoc ChangeLog *.txt + dohtml *.html + + insinto /usr/share/doc/${PF}/scripts + doins kill_mldonkey mldonkey_command mldonkey_previewer make_buginfo + + cd ${S}/docs + dodoc *.txt *.tex *.pdf + dohtml *.html + + cd ${S}/docs/developers + dodoc *.txt *.tex + + cd ${S}/docs/images + insinto /usr/share/doc/${PF}/html/images + doins * + fi +} + +pkg_preinst() { + if ! use guionly; then + enewuser ${MLUSER} -1 /bin/bash /home/p2p users + fi +} + +pkg_postinst() { + if ! use guionly; then + echo + einfo "If you want to start MLDonkey as a system service, use" + einfo "the /etc/init.d/mldonkey script. To control bandwidth, use" + einfo "the 'slow' and 'fast' arguments. Be sure to have a look at" + einfo "/etc/conf.d/mldonkey also." + echo + einfo "Attention: 2.6 has changed the inifiles structure, so downgrading" + einfo "will be problematic." + einfo "User settings (admin) are transferred to users.ini from " + einfo "downloads.ini" + einfo "Old ini files are automatically converted to the new format" + echo + else + echo + einfo "Simply run mlgui to start the chosen MLDonkey gui." + einfo "It puts its config files into ~/.mldonkey" + fi +} diff --git a/profiles/default-linux/mips/2007.0/loongson/n32/make.defaults b/profiles/default-linux/mips/2007.0/loongson/n32/make.defaults new file mode 100644 index 0000000..ebfbe70 --- /dev/null +++ b/profiles/default-linux/mips/2007.0/loongson/n32/make.defaults @@ -0,0 +1,27 @@ +# Copyright 2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/profiles/default-linux/mips/2007.0/cobalt/n32/make.defaults,v 1.1 2007/02/11 11:20:43 eroyf Exp $ + +# IP22/IP32 N32 Generic Profile +# Also Catalyst Build Profile for N32 + +ARCH="mips" +PROFILE_ARCH="cobalt" + +# The n32 userland needs a 64bit compiler and CHOST +CHOST="mips64el-unknown-linux-gnu" + +# Sandbox is broken on mips (Bug #45814) +FEATURES="-sandbox ccache autoconfig" + +# Compiler flags +# We build a *minimum* of mips3, because IP22/IP32 are, at minimum, mips3 capable +# systems (IP22 R4x00 systems are mips3; IP32 is mips4). Enforce n32 as the default +# ABI as well. +CFLAGS="-O2 -pipe -march=mips3 -mabi=n32" +CXXFLAGS=${CFLAGS} + +ACCEPT_KEYWORDS="mips" + +USE="readline fortran gpm berkdb gdbm tcpd pam libwww ssl nls perl python sdl mips n32" +STAGE1_USE="mips n32 cobalt" diff --git a/profiles/default-linux/mips/2007.0/loongson/n32/nptl/make.defaults b/profiles/default-linux/mips/2007.0/loongson/n32/nptl/make.defaults new file mode 100644 index 0000000..cc6f22e --- /dev/null +++ b/profiles/default-linux/mips/2007.0/loongson/n32/nptl/make.defaults @@ -0,0 +1,27 @@ +# Copyright 2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/profiles/default-linux/mips/2007.0/cobalt/n32/nptl/make.defaults,v 1.1 2007/02/11 11:20:43 eroyf Exp $ + +# IP22/IP32 N32/NPTL Generic Profile +# Also Catalyst Build Profile for N32/NPTL + +ARCH="mips" +PROFILE_ARCH="cobalt" + +# The n32 userland needs a 64bit compiler and CHOST +CHOST="mips64el-unknown-linux-gnu" + +# Sandbox is broken on mips (Bug #45814) +FEATURES="-sandbox ccache autoconfig" + +# Compiler flags +# We build a *minimum* of mips3, because IP22/IP32 are, at minimum, mips3 capable +# systems (IP22 R4x00 systems are mips3; IP32 is mips4). Enforce n32 as the default +# ABI as well. +CFLAGS="-O2 -pipe -march=mips3 -mabi=n32" +CXXFLAGS=${CFLAGS} + +ACCEPT_KEYWORDS="mips" + +USE="readline fortran gpm berkdb gdbm tcpd pam libwww ssl nls perl python sdl mips n32 nptl nptlonly" +STAGE1_USE="mips n32 nptl nptlonly cobalt" diff --git a/profiles/default-linux/mips/2007.0/loongson/n32/nptl/package.mask b/profiles/default-linux/mips/2007.0/loongson/n32/nptl/package.mask new file mode 100644 index 0000000..6111fdd --- /dev/null +++ b/profiles/default-linux/mips/2007.0/loongson/n32/nptl/package.mask @@ -0,0 +1,8 @@ +# Copyright 2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/profiles/default-linux/mips/2007.0/cobalt/n32/nptl/package.mask,v 1.1 2007/02/11 11:20:43 eroyf Exp $ + +# Unmask gcc-4.x and glibc-2.4 +->=sys-devel/gcc-4.0 +->=sys-libs/glibc-2.4 +->=sys-kernel/mips-sources-2.6.17 diff --git a/profiles/default-linux/mips/2007.0/loongson/n32/nptl/parent b/profiles/default-linux/mips/2007.0/loongson/n32/nptl/parent new file mode 100644 index 0000000..f3229c5 --- /dev/null +++ b/profiles/default-linux/mips/2007.0/loongson/n32/nptl/parent @@ -0,0 +1 @@ +.. diff --git a/profiles/default-linux/mips/2007.0/loongson/n32/nptl/use.mask b/profiles/default-linux/mips/2007.0/loongson/n32/nptl/use.mask new file mode 100644 index 0000000..27ddea3 --- /dev/null +++ b/profiles/default-linux/mips/2007.0/loongson/n32/nptl/use.mask @@ -0,0 +1,8 @@ +# Copyright 2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/profiles/default-linux/mips/2007.0/cobalt/n32/nptl/use.mask,v 1.1 2007/02/11 11:20:43 eroyf Exp $ + +# Unmask nptl +-nptl +-nptlonly + diff --git a/profiles/default-linux/mips/2007.0/loongson/n32/parent b/profiles/default-linux/mips/2007.0/loongson/n32/parent new file mode 100644 index 0000000..f3229c5 --- /dev/null +++ b/profiles/default-linux/mips/2007.0/loongson/n32/parent @@ -0,0 +1 @@ +.. diff --git a/profiles/default-linux/mips/2007.0/loongson/n32/use.mask b/profiles/default-linux/mips/2007.0/loongson/n32/use.mask new file mode 100644 index 0000000..93957db --- /dev/null +++ b/profiles/default-linux/mips/2007.0/loongson/n32/use.mask @@ -0,0 +1,6 @@ +# Copyright 2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/profiles/default-linux/mips/2007.0/cobalt/n32/use.mask,v 1.1 2007/02/11 11:20:43 eroyf Exp $ + +# Unmask n32 +-n32 diff --git a/profiles/default-linux/mips/2007.0/loongson/o32/make.defaults b/profiles/default-linux/mips/2007.0/loongson/o32/make.defaults new file mode 100644 index 0000000..9c84570 --- /dev/null +++ b/profiles/default-linux/mips/2007.0/loongson/o32/make.defaults @@ -0,0 +1,26 @@ +# Copyright 2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/profiles/default-linux/mips/2007.0/cobalt/o32/make.defaults,v 1.1 2007/02/11 11:20:44 eroyf Exp $ + +# Cobalt O32 Profile +# Also Catalyst Build Profile for Cobalt O32 + +ARCH="mips" +PROFILE_ARCH="cobalt" + +# Cobalt systems are Little-Endian, and do not support (yet) 64bit kernels +CHOST="mipsel-unknown-linux-gnu" + +# Sandbox is broken on mips (Bug #45814) +FEATURES="-sandbox ccache autoconfig" + +# Compiler flags +# We build as R5000, because Cobalts have an RM5231A CPU in them. Enforce o32 +# as the default ABI as well. +CFLAGS="-O2 -pipe -march=r5000 -mabi=32" +CXXFLAGS=${CFLAGS} + +ACCEPT_KEYWORDS="mips" + +USE="readline fortran gpm berkdb gdbm tcpd pam libwww ssl nls perl python sdl mips cobalt" +STAGE1_USE="mips cobalt" diff --git a/profiles/default-linux/mips/2007.0/loongson/o32/nptl/make.defaults b/profiles/default-linux/mips/2007.0/loongson/o32/nptl/make.defaults new file mode 100644 index 0000000..801946c --- /dev/null +++ b/profiles/default-linux/mips/2007.0/loongson/o32/nptl/make.defaults @@ -0,0 +1,26 @@ +# Copyright 2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/profiles/default-linux/mips/2007.0/cobalt/o32/nptl/make.defaults,v 1.1 2007/02/11 11:20:44 eroyf Exp $ + +# Cobalt O32/NPTL Profile +# Also Catalyst Build Profile for Cobalt O32/NPTL + +ARCH="mips" +PROFILE_ARCH="cobalt" + +# Cobalt systems are Little-Endian, and do not support (yet) 64bit kernels +CHOST="mipsel-unknown-linux-gnu" + +# Sandbox is broken on mips (Bug #45814) +FEATURES="-sandbox ccache autoconfig" + +# Compiler flags +# We build as R5000, because Cobalts have an RM5231A CPU in them. Enforce o32 +# as the default ABI as well. +CFLAGS="-O2 -pipe -march=r5000 -mabi=32" +CXXFLAGS=${CFLAGS} + +ACCEPT_KEYWORDS="mips" + +USE="readline fortran gpm berkdb gdbm tcpd pam libwww ssl nls perl python sdl mips cobalt nptl nptlonly" +STAGE1_USE="mips cobalt nptl nptlonly" diff --git a/profiles/default-linux/mips/2007.0/loongson/o32/nptl/package.mask b/profiles/default-linux/mips/2007.0/loongson/o32/nptl/package.mask new file mode 100644 index 0000000..619b7cb --- /dev/null +++ b/profiles/default-linux/mips/2007.0/loongson/o32/nptl/package.mask @@ -0,0 +1,6 @@ +# Copyright 2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/profiles/default-linux/mips/2007.0/cobalt/o32/nptl/package.mask,v 1.1 2007/02/11 11:20:44 eroyf Exp $ + +# Unmask glibc-2.4 +->=sys-libs/glibc-2.4 diff --git a/profiles/default-linux/mips/2007.0/loongson/o32/nptl/parent b/profiles/default-linux/mips/2007.0/loongson/o32/nptl/parent new file mode 100644 index 0000000..f3229c5 --- /dev/null +++ b/profiles/default-linux/mips/2007.0/loongson/o32/nptl/parent @@ -0,0 +1 @@ +.. diff --git a/profiles/default-linux/mips/2007.0/loongson/o32/nptl/use.mask b/profiles/default-linux/mips/2007.0/loongson/o32/nptl/use.mask new file mode 100644 index 0000000..f5c1a2e --- /dev/null +++ b/profiles/default-linux/mips/2007.0/loongson/o32/nptl/use.mask @@ -0,0 +1,8 @@ +# Copyright 2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/profiles/default-linux/mips/2007.0/cobalt/o32/nptl/use.mask,v 1.1 2007/02/11 11:20:44 eroyf Exp $ + +# Unmask nptl +-nptl +-nptlonly + diff --git a/profiles/default-linux/mips/2007.0/loongson/o32/parent b/profiles/default-linux/mips/2007.0/loongson/o32/parent new file mode 100644 index 0000000..f3229c5 --- /dev/null +++ b/profiles/default-linux/mips/2007.0/loongson/o32/parent @@ -0,0 +1 @@ +.. diff --git a/profiles/default-linux/mips/2007.0/loongson/package.mask b/profiles/default-linux/mips/2007.0/loongson/package.mask new file mode 100644 index 0000000..21a82e9 --- /dev/null +++ b/profiles/default-linux/mips/2007.0/loongson/package.mask @@ -0,0 +1,10 @@ +# for gorg to function properly +>dev-libs/libxml2-2.6.26 +>dev-libs/libxslt-1.1.17 + +# forget why to mask it +>app-text/poppler-0.5.3 + +# newer qt doesn't build +>x11-libs/qt-3.3.4-r8 +>media-libs/freetype-2.1.10-r2 diff --git a/profiles/default-linux/mips/2007.0/loongson/package.provided b/profiles/default-linux/mips/2007.0/loongson/package.provided new file mode 100644 index 0000000..7689658 --- /dev/null +++ b/profiles/default-linux/mips/2007.0/loongson/package.provided @@ -0,0 +1 @@ +sys-kernel/mips-sources-2.6.20.11 diff --git a/profiles/default-linux/mips/2007.0/loongson/parent b/profiles/default-linux/mips/2007.0/loongson/parent new file mode 100644 index 0000000..45d0298 --- /dev/null +++ b/profiles/default-linux/mips/2007.0/loongson/parent @@ -0,0 +1 @@ +../../../../../../../../usr/portage/profiles/default-linux/mips/2007.0 diff --git a/profiles/default-linux/mips/2007.0/loongson/use.mask b/profiles/default-linux/mips/2007.0/loongson/use.mask new file mode 100644 index 0000000..3aaa154 --- /dev/null +++ b/profiles/default-linux/mips/2007.0/loongson/use.mask @@ -0,0 +1,11 @@ +# Copyright 2006 Gentoo Foundation. +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/profiles/default-linux/mips/2007.0/cobalt/use.mask,v 1.1 2007/02/11 11:20:43 eroyf Exp $ + +# Cobalt only does mips32, thus it doesn't know about n32/n64 (yet) +n32 +n64 +-dri +-video_cards_radeon +-arts +-mad diff --git a/profiles/profile.desc b/profiles/profile.desc new file mode 100644 index 0000000..83bb0a3 --- /dev/null +++ b/profiles/profile.desc @@ -0,0 +1 @@ +mips default-linux/mips/2007.0/loongson/o32/nptl stable diff --git a/profiles/repo_name b/profiles/repo_name new file mode 100644 index 0000000..a8f1585 --- /dev/null +++ b/profiles/repo_name @@ -0,0 +1 @@ +loongson diff --git a/x11-base/xorg-server/ChangeLog b/x11-base/xorg-server/ChangeLog new file mode 100644 index 0000000..01538b2 --- /dev/null +++ b/x11-base/xorg-server/ChangeLog @@ -0,0 +1,1175 @@ +# ChangeLog for x11-base/xorg-server +# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/ChangeLog,v 1.219 2007/02/19 21:34:17 joshuabaergen Exp $ + +*xorg-server-1.2.0-r1 (19 Feb 2007) + + 19 Feb 2007; Joshua Baergen <joshuabaergen@gentoo.org> + +files/1.2.0-server-damage-version.patch, + +files/1.2.0-server-randr-version.patch, +xorg-server-1.2.0-r1.ebuild: + Fix several issues: + + Bug #163613 - Server should report its damage implementation version rather + than the protocol header version. (Todd Merrill) + + Bug #164146 - Xprint file locations have changed since 1.1, so fix the ebuild + to find them correctly. (Ed Catmur) + + Bug #167651 - Server should report its randr implementation version rather + than the protocol header version. (Me) + + 24 Jan 2007; Donnie Berkholz <dberkholz@gentoo.org>; + -files/1.0.2-Xprint-xprintdir.patch, -files/1.0.2-dbe-render.diff, + -files/1.0.2-fix-readKernelMapping-overrun.patch, + -files/1.0.2-fix-rom-read-dualhead.patch, + -files/1.0.2-fix-xorgconfig-rgbpath-and-mouse.patch, + -files/1.0.2-try-to-fix-xorgcfg.patch, -files/x11r7.0-setuid.diff, + -files/xorg-server-1.0.2-64bit-fix-for-glx.patch, + -files/xorg-server-1.0.2-64bit-fix-have-dix-config.patch, + -files/xorg-server-1.0.2-64bit-fix-indirect-vertex-array.patch, + -files/xorg-server-1.0.2-Sbus.patch, + -files/xorg-server-1.0.2-Xprt-build.patch, + -files/xorg-server-1.0.2-sparc64-cfbrrop-fix.patch, + -files/xorg-server-1.0.2-xprint-init.patch, + -files/CVE-2006-1526-xrender-mitri.patch, -xorg-server-1.0.2-r8.ebuild: + Stop supporting Xorg 7.0. + + 24 Jan 2007; Donnie Berkholz <dberkholz@gentoo.org>; + -files/1.0.99.901-Xprint-xprintdir.patch, + -files/xorg-server-1.1.99.901-GetDrawableAttributes.patch, + -files/1.1.99.903-sparc-includes.patch, + -files/xorg-server-1.1.0-setuid.diff, -files/1.1.99.903-mesa-6.5.2.patch, + -xorg-server-1.0.2-r7.ebuild, -xorg-server-1.1.0-r1.ebuild, + -xorg-server-1.1.1.ebuild, -xorg-server-1.1.1-r2.ebuild, + -xorg-server-1.1.1-r3.ebuild, -xorg-server-1.1.99.903-r1.ebuild: + Clean up. + +*xorg-server-1.2.0 (24 Jan 2007) + + 24 Jan 2007; Donnie Berkholz <dberkholz@gentoo.org>; + +xorg-server-1.2.0.ebuild: + Bump. Upstream incorporated some version of all of our patches, so no more + need for the aiglx USE flag. + + 22 Jan 2007; Steve Dibb <beandog@gentoo.org> xorg-server-1.0.2-r8.ebuild, + xorg-server-1.1.1-r4.ebuild: + amd64 stable, bug 157421 + + 22 Jan 2007; Donnie Berkholz <dberkholz@gentoo.org>; + +files/1.1.1-fixdualhead.patch, +files/1.1.99.903-sparc-includes.patch, + +files/1.1.1-sparc-includes.patch, xorg-server-1.1.1-r4.ebuild, + xorg-server-1.1.99.903-r1.ebuild: + (#159671) Fix sparc build with current kernel headers. (#159375) Fix dual + head when direct rendering is enabled. No revision bump because these affect + a minority of users. + + 15 Jan 2007; Tim Yamin <plasmaroo@gentoo.org> xorg-server-1.1.1-r4.ebuild: + Stable on IA64; bug #157421. + + 15 Jan 2007; Bryan Østergaard <kloeri@gentoo.org> + xorg-server-1.1.1-r4.ebuild: + Stable on Alpha, bug 157421. + + 14 Jan 2007; René Nussbaumer <killerfox@gentoo.org> + xorg-server-1.1.1-r4.ebuild: + Stable on hppa. See bug #157421. + + 14 Jan 2007; Markus Rothe <corsair@gentoo.org> + xorg-server-1.0.2-r8.ebuild, xorg-server-1.1.1-r4.ebuild: + Stable on ppc64; bug #157421 + + 14 Jan 2007; Ferris McCormick <fmccor@gentoo.org> + xorg-server-1.1.1-r4.ebuild: + Stable on sparc --- Security Bug #157421 --- everything as expected. + + 13 Jan 2007; Andrej Kacian <ticho@gentoo.org> xorg-server-1.0.2-r8.ebuild, + xorg-server-1.1.1-r4.ebuild: + Stable on x86, bug #157421. + + 13 Jan 2007; Tobias Scherbaum <dertobi123@gentoo.org> + xorg-server-1.1.1-r4.ebuild: + Stable on ppc wrt bug #157421. + +*xorg-server-1.1.1-r4 (13 Jan 2007) +*xorg-server-1.0.2-r8 (13 Jan 2007) + + 13 Jan 2007; Joshua Baergen <joshuabaergen@gentoo.org> + +files/1.0.2-dbe-render.diff, +files/1.1.1-dbe-render.diff, + +xorg-server-1.0.2-r8.ebuild, +xorg-server-1.1.1-r4.ebuild: + Fix multiple vulnerabilities in Render and DBE extensions. (Bug #157421) + + 07 Dec 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.1.1-r3.ebuild: + Only apply the GLX endianness fix if AIGLX is enabled, since it fixes one of + the AIGLX patches. Thanks to Elisamuel Resto and Mike Auty for figuring out + what the problem was. Closes bug #157401. + + 07 Dec 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.2.99.0.ebuild: + Build against the Mesa 6.5.2 release instead of the snapshot. + +*xorg-server-1.1.1-r3 (07 Dec 2006) + + 07 Dec 2006; Joshua Baergen <joshuabaergen@gentoo.org> + +files/1.1.1-fix_big_endian_glx.patch, +xorg-server-1.1.1-r3.ebuild: + Fix GLX endianness on big endian systems. This gets rid of the funky colours + on systems such as PPC when running Compiz/Beryl. (Bug #156715, Rasmus Wiman) + + 05 Dec 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.1.99.903-r1.ebuild, xorg-server-1.2.99.0.ebuild: + Require kbproto 1.0.3. + +*xorg-server-1.1.99.903-r1 (04 Dec 2006) + + 04 Dec 2006; Joshua Baergen <joshuabaergen@gentoo.org> + +files/1.1.99.903-mesa-6.5.2.patch, -xorg-server-1.1.99.903.ebuild, + +xorg-server-1.1.99.903-r1.ebuild: + Build the 7.2 server against Mesa 6.5.2. Includes a patch from Hanno Böck. + +*xorg-server-1.1.99.903 (02 Dec 2006) + + 02 Dec 2006; Joshua Baergen <joshuabaergen@gentoo.org> + +files/xorg-server-1.1.99.901-GetDrawableAttributes.patch, + -xorg-server-1.1.99.902.ebuild, +xorg-server-1.1.99.903.ebuild: + Version bump for 7.2RC3. Includes several more bugfixes. + + A patch has been added from upstream Bugzilla that fixes Compiz/AIGLX + operation on the server. It's unknown if the patch has any negative + side-effects yet, so it's hidden behind USE="aiglx" again. + + 01 Dec 2006; Gustavo Zacarias <gustavoz@gentoo.org> + xorg-server-1.1.1-r1.ebuild: + Stable on hppa wrt #144549 + + 14 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.1.99.902.ebuild: + xorgcfg appears to build OK again - re-enable it. + +*xorg-server-1.1.99.902 (13 Nov 2006) + + 13 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org> + -xorg-server-1.1.99.901.ebuild, +xorg-server-1.1.99.902.ebuild: + Bump for 7.2RC2. Brings quite a few more bugfixes. + +*xorg-server-1.1.1-r2 (09 Nov 2006) + + 09 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org> + +files/1.1.1-fix_acpi_tokenize.patch, +xorg-server-1.1.1-r2.ebuild: + Fix X crashes when opening/closing laptop lids on some laptops. (Bug #152184, + Wendall Cada for the report) + + 05 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org> + +files/1.2.99.0-fix-sysconfdir-references.patch: + Add missing patch. + + 04 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.2.99.0.ebuild: + SDL is also currently broken in 1.2.99.0 according to Daniel Stone. + + 04 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.2.99.0.ebuild: + 1.2.99.0: + - xprint is broken (bug #154067, Cyrill Helg) + - fix install location of dbus configuration file + + 04 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.2.99.0.ebuild: + Add DBUS dependency. Bump dependencies on evdev, keyboard and mouse drivers + to enforce input hotplug-compatible versions. + + 03 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.2.99.0.ebuild: + Add 'dbus' USE-flag and disable dmx correctly. + + 03 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.2.99.0.ebuild: + 1.2.99 needs libdrm >= 2.2. Thanks to steev again. + + 03 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.2.99.0.ebuild: + 1.2.99 depends on inputproto >=1.4. Thanks to Steev for the catch. + + 03 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.2.99.0.ebuild: + Eradicate all references to the currently broken DMX. (Jakub Moc, bug #153928) + +*xorg-server-1.2.99.0 (03 Nov 2006) + + 03 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org> + +xorg-server-1.2.99.0.ebuild: + Add initial input hotplug development release. + +*xorg-server-1.1.99.901 (30 Oct 2006) + + 30 Oct 2006; Joshua Baergen <joshuabaergen@gentoo.org> + +xorg-server-1.1.99.901.ebuild: + Add 7.2RC1 server snapshot. xorgcfg is broken (probably minorly), and compiz + compatibility patches are also broken. Loads of fixes and changes since 7.1. + + 25 Oct 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.1.1-r1.ebuild: + Unbreaking kdrive, part 4: Move all the kdrive setup code out to a separate + function kdrive_setup(). Make variables local to that function. + + 25 Oct 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.1.1-r1.ebuild: + Unbreaking kdrive, part 3: Build fbdev and vesa for all cases in which other + servers require them. This replaces the existing fix for bug #136370 and + should also fix bug #152797. + + 25 Oct 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.1.1-r1.ebuild: + Unbreaking kdrive, part 2: Instead of checking whether a certain VIDEO_CARDS + setting is in a long list of invalid cards for non-x86 systems, check + whether it's the single valid setting; Check whether VIDEO_CARDS settings + are valid kdrive servers before moving into the more complex processing. + + 25 Oct 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.1.1-r1.ebuild: + Unbreaking kdrive, part 1: Fix logic and variable names when forcing + fbdev/vesa on for Xati; Don't skip binary drivers, it needlessly complicates + the code for no useful end result. + + 18 Oct 2006; Aron Griffis <agriffis@gentoo.org> + xorg-server-1.1.1-r1.ebuild: + Mark 1.1.1-r1 stable on alpha. #144549 + + 17 Oct 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.1.1-r1.ebuild: + Don't try to install xorg.conf.example if the xorg server isn't built. (Bug + #151670, Balint Dobai-Pataky) + + 15 Oct 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.1.1-r1.ebuild: + Don't try to install xorg.conf.example with USE="minimal". (Bug #151421, + George Kargiotakis) + + 14 Oct 2006; Aron Griffis <agriffis@gentoo.org> + xorg-server-1.1.1-r1.ebuild: + Mark 1.1.1-r1 stable on ia64. #144549 + + 13 Oct 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.1.1-r1.ebuild: + AMD64/x86 stable for bug #144549 (X7.1). + + 13 Oct 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.1.1-r1.ebuild: + Hide AIGLX patches behind the "aiglx" USE flag, since the patches seem to + cause some EXA slowdowns (bug #147841, reported by Giacomo Perale). + + 12 Oct 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.1.1-r1.ebuild: + Really fix bug #150052. + + 12 Oct 2006; Joshua Baergen <joshuabaergen@gentoo.org> + +files/xorg-conf-example.patch, xorg-server-1.1.1-r1.ebuild: + Install xorg.conf.example like 6.x did. (Bug #138623, requested by + Christopher Covington; patch written by Donnie and I) Don't build kdrive + servers that use vm86.h on non-x86 systems. (Bug #150052, Shvetsov Alex) + + 06 Oct 2006; Chris Gianelloni <wolf31o2@gentoo.org> + xorg-server-1.1.0-r1.ebuild, xorg-server-1.1.1.ebuild, + xorg-server-1.1.1-r1.ebuild: + Remove references to nvidia-glx now that it has been removed from the tree. + + 20 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; + files/1.1.1-sparc64-ati-lockups.patch: + Base ifdef on __sparc__ rather than __sparc64__. The issue happens on 64-bit + kernel/32-bit userland, so sparc64 isn't defined when building the userland. + + 20 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.1.1-r1.ebuild: + Use new glproto for eye candy to work properly. + + 16 Sep 2006; Hanno Boeck <hanno@gentoo.org> xorg-server-1.1.1-r1.ebuild: + Fix download URLs. + + 16 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.1.1-r1.ebuild: + Use Mesa 6.5.1 instead of a random prerelease snapshot. + + 15 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; + -files/1.1.1-remove-altix.patch, +files/1.1.1-sparc64-ati-lockups.patch, + xorg-server-1.1.1.ebuild, xorg-server-1.1.1-r1.ebuild: + Use upstream's fix for sparc mach64 lockups. An 18-line patch instead of a + 582-line patch is a good thing. + + 12 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.1.0-r1.ebuild, xorg-server-1.1.1.ebuild, + xorg-server-1.1.1-r1.ebuild: + Some comments got displaced to the wrong spot. + + 12 Sep 2006; Gustavo Zacarias <gustavoz@gentoo.org> + xorg-server-1.1.1.ebuild: + Stable on hppa + + 08 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.0.2-r7.ebuild, xorg-server-1.1.0-r1.ebuild, + xorg-server-1.1.1.ebuild, xorg-server-1.1.1-r1.ebuild: + (#128448) Depend on xplsprinters if USE=xprint, because it's used in profile + scripts. + + 06 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +files/xorg-x11-server-1.1.1-mesa-6.5.1.patch: + Forgot to cvs add the patch, thanks fmccor. + +*xorg-server-1.1.1-r1 (05 Sep 2006) + + 05 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +files/01-no-move-damage.patch, +files/02-dont-backfill-bg-none.patch, + +files/03-tfp-damage.patch, +files/04-mesa-copy-sub-buffer.patch, + +files/05-offscreen-pixmaps.patch, +files/06-aiglx-happy-vt-switch.patch, + +files/xorg-server-1.1.1-install-libxf86config-headers.patch, + +files/1.1.1-fix-xrandr-zoom-keys.patch, +xorg-server-1.1.1-r1.ebuild: + Bump. (#145797) Add patches for AIGLX+compiz. (#146197) Fix resolution + switching with ctrl-alt-+/-. Install libxf86config + headers for + pyxf86config, and extramodes and vesamodes for system-config-display. Do + correct bash substitution for nvidia kdrive server. This uses a mesa + snapshot in anticipation of the 6.5.1 release. Some changes will need to + happen to get it back to using a standard Mesa release tarball. + + 03 Sep 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.1.0-r1.ebuild, xorg-server-1.1.1.ebuild: + kdrive's VESA driver does not build on AMD64. (Bruno Roggeri, bug #145274) + + 27 Aug 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.1.0-r1.ebuild, xorg-server-1.1.1.ebuild: + Remove trailing whitespace. + + 27 Aug 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.1.0-r1.ebuild, xorg-server-1.1.1.ebuild: + Allow 7.1-compatible nvidia-drivers and nvidia-legacy-drivers. + + 26 Aug 2006; Hanno Boeck <hanno@gentoo.org> xorg-server-1.1.0-r1.ebuild, + xorg-server-1.1.1.ebuild: + linuxwacom moved from x11-misc to x11-drivers. + + 22 Aug 2006; Ferris McCormick <fmccor@gentoo.org> + xorg-server-1.1.1.ebuild: + Stable on sparc, Bug #144549 --- Thanks to dberkholz for incorporating + remove-altix patch. + + 22 Aug 2006; Stephen P. Becker <geoman@gentoo.org> + xorg-server-1.1.1.ebuild: + stable on mips, bug 144549 + + 21 Aug 2006; Markus Rothe <corsair@gentoo.org> xorg-server-1.1.1.ebuild: + Stable on ppc64; bug #144549 + + 21 Aug 2006; Joseph Jezak <josejx@gentoo.org> xorg-server-1.1.1.ebuild: + Marked ppc stable for bug #144549. + + 20 Aug 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +files/1.1.1-remove-altix.patch, xorg-server-1.1.1.ebuild: + (fd.o #3914) Altix support breaks some sparc64 systems with Mach64 video, so + conditionally patch it out. This patch will be maintained and forward-ported + by the sparc team. This is the last stable blocker for modular X on sparc. + + 18 Aug 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.1.1.ebuild: + Move architecture-specific video driver defaults into profiles. + + 12 Aug 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.1.0-r1.ebuild, xorg-server-1.1.1.ebuild: + libdmx and dmxproto should be in USE=dmx dep, not USE=minimal. + + 02 Aug 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.1.0-r1.ebuild, xorg-server-1.1.1.ebuild: + Add VIDEO_CARDS=fglrx back in, now that there's a compatible driver. + + 19 Jul 2006; Guy Martin <gmsoft@gentoo.org> xorg-server-1.0.2-r7.ebuild: + Stable on hppa. + + 16 Jul 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.1.0-r1.ebuild: + Add the warning to this version too. + + 16 Jul 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.1.1.ebuild: + Add some warnings about the change in reduced blanking behaviour. (Bug + #135544, Steffen Strobel) + + 11 Jul 2006; Aron Griffis <agriffis@gentoo.org> + xorg-server-1.1.0-r1.ebuild: + Mark 1.1.0-r1 stable on ia64 + + 09 Jul 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.1.1.ebuild: + Also don't build xorgcfg on USE=minimal. + + 09 Jul 2006; Donnie Berkholz <dberkholz@gentoo.org>; + -xorg-server-1.0.2-r6.ebuild: + Pull old version. + +*xorg-server-1.1.1 (09 Jul 2006) + + 09 Jul 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +xorg-server-1.1.1.ebuild: + Bump. Bunches of rendering and crasher fixes, incorporates security fix and + the 2 xprint patches, and more. + + 07 Jul 2006; Donnie Berkholz <dberkholz@gentoo.org>; ChangeLog: + Update to my new email address. + + 06 Jul 2006; Chris Gianelloni <wolf31o2@gentoo.org> + xorg-server-1.1.0-r1.ebuild: + Added blocker on x11-drivers/nvidia-drivers and + x11-drivers/nvidia-legacy-drivers since they don't work on 1.1 yet. + + 01 Jul 2006; Joshua Baergen <joshuabaergen@gentoo.org> + files/x11r7.0-setuid.diff, files/xorg-server-1.1.0-setuid.diff: + Fix the setuid patches. (Thanks to Rudo Thomas for the catch in bug #138688) + + 01 Jul 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.1.0-r1.ebuild: + ppc/sparc/mips/alpha/arm/sh stable + + 30 Jun 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.1.0-r1.ebuild: + sparc shouldn't pull in vesa and vga. + + 30 Jun 2006; Markus Rothe <corsair@gentoo.org> + xorg-server-1.1.0-r1.ebuild: + Stable on ppc64 + + 30 Jun 2006; Chris Gianelloni <wolf31o2@gentoo.org> + xorg-server-1.0.2-r7.ebuild: + Stable on amd64. + + 30 Jun 2006; Markus Rothe <corsair@gentoo.org> + xorg-server-1.0.2-r7.ebuild: + Stable on ppc64 + + 30 Jun 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.0.2-r7.ebuild: + x86 stable. + +*xorg-server-1.0.2-r7 (30 Jun 2006) + + 30 Jun 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +files/1.0.2-fix-rom-read-dualhead.patch, +xorg-server-1.0.2-r7.ebuild: + Fix dual-head. + + 30 Jun 2006; Stephen P. Becker <geoman@gentoo.org> + xorg-server-1.1.0-r1.ebuild: + added video_cards_impact to IUSE_VIDEO_CARDS, enable it for mips users + + 27 Jun 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.1.0-r1.ebuild: + Only pull in loadable drivers if the xorg USE-flag is set. (bug #135873) + + 28 Jun 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.1.0-r1.ebuild: + Fix typo video_cards_3dfx > video_cards_tdfx (Jakub Moc). + + 26 Jun 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.1.0-r1.ebuild: + Fix kdrive+ATI build. (Priit Laes, bug #136370) + + 26 Jun 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.1.0-r1.ebuild: + Allow USE="-* minimal" for xorg-server so that Xvfb can be built by itself. + (Patch by Ed Catmur, bug #137991) + + 21 Jun 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.1.0-r1.ebuild: + Fix up VIDEO_CARDS for mips, they don't want ati, mga, sisusb. + +*xorg-server-1.1.0-r1 (20 Jun 2006) +*xorg-server-1.0.2-r6 (20 Jun 2006) + + 20 Jun 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +files/xorg-server-1.1.0-setuid.diff, +files/x11r7.0-setuid.diff, + -xorg-server-1.0.2-r4.ebuild, -xorg-server-1.0.2-r5.ebuild, + +xorg-server-1.0.2-r6.ebuild, -xorg-server-1.1.0.ebuild, + +xorg-server-1.1.0-r1.ebuild: + Security bump. Failure to check the return value of setuid() in a privileged + process could be used by a local user for file overwriting and possible + privilege escalation in corner cases. See + http://lists.freedesktop.org/archives/xorg/2006-June/016146.html for more + information. + + 17 Jun 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.1.0.ebuild: + Drop nvidia and fglrx flags for now and block all nvidia-glx and ati-drivers + versions since neither of the binary drivers are supported currently. + (Jakub Moc, bug #136788) + +*xorg-server-1.0.2-r5 (11 Jun 2006) + + 11 Jun 2006; Joshua Baergen <joshuabaergen@gentoo.org> + +files/1.0.2-fix-readKernelMapping-overrun.patch, + +xorg-server-1.0.2-r5.ebuild: + Fix an overrun that was causing various issues on VT switch. This is already + fixed in 1.1. (Matthias Dahl, bug #127608) + + 04 Jun 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.1.0.ebuild: + Ensure eautoreconf gets run when building xprint and kdrive. (Walter Meinl, + bug #135263) + + 04 Jun 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.1.0.ebuild: + Have the ebuild fail if no server will be built, instead of appearing to + complete successfully but not installing enough binaries for a usable X. + (Bug #132140) + +*xorg-server-1.1.0 (23 May 2006) + + 23 May 2006; Joshua Baergen <joshuabaergen@gentoo.org> + -xorg-server-1.0.99.903.ebuild, +xorg-server-1.1.0.ebuild: + Bump for 7.1 final. Includes various crash fixes, etc. + + 14 May 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.0.2-r4.ebuild: + Force on xorg-x11 opengl implem for compile, to ensure we have recent enough + glxtokens.h. Reported by johey on freenode. + + 14 May 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.0.99.903.ebuild: + (#133295) Fix kdrive build when s3 is on, because it also sedded out the s3 + from the middle of sis300. Also a fix for turning off sis300 at all. Fixes + by Kent Fredric. + + 14 May 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.0.2-r4.ebuild, xorg-server-1.0.99.903.ebuild: + Add RESTRICT=stricter, because FEATURES=stricter dies on installing anything + suid with lazy bindings. The X server needs lazy bindings because of how its + module loading works. Hopefully at some point, upstream will change this. + Suggested by Kevin F. Quinn. + + 13 May 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.0.99.903.ebuild: + Move driver dependencies from the meta-ebuild to xorg-server as a + PDEPEND. (Michal Suchanek, bug #132696) + +*xorg-server-1.0.99.903 (13 May 2006) + + 13 May 2006; Donnie Berkholz <dberkholz@gentoo.org>; + -xorg-server-1.0.99.902-r1.ebuild, +xorg-server-1.0.99.903.ebuild: + Bump to 7.1RC3. + + 13 May 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.0.2-r4.ebuild, xorg-server-1.0.99.902-r1.ebuild: + Force update to libxkbui-1.0.2 per dberkholz' suggestion, hopefully fixing + _XkbStrCaseCmp-related issues. + +*xorg-server-1.0.99.902-r1 (02 May 2006) +*xorg-server-1.0.2-r4 (02 May 2006) + + 02 May 2006; Joshua Baergen <joshuabaergen@gentoo.org> + +files/CVE-2006-1526-xrender-mitri.patch, -xorg-server-1.0.2-r3.ebuild, + +xorg-server-1.0.2-r4.ebuild, -xorg-server-1.0.99.902.ebuild, + +xorg-server-1.0.99.902-r1.ebuild: + Security bump and remove all affected versions. Please see Bug #130979 for + details. + + 30 Apr 2006; Donnie Berkholz <dberkholz@gentoo.org>; + -files/1.0.99.901-fix-kdrive-build.patch, + -files/1.0.99.901-wrap-sdk-headers.patch, + -xorg-server-1.0.99.901-r1.ebuild: + Pull old 7.1RC ebuild. + + 30 Apr 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.0.99.902.ebuild: + (#131817) Move the nptl diemsg out of an if, since we also use it in the else. + +*xorg-server-1.0.99.902 (29 Apr 2006) + + 29 Apr 2006; Joshua Baergen <joshuabaergen@gentoo.org> + +xorg-server-1.0.99.902.ebuild: + Version bump. Includes quite a few bugfixes. + + 24 Apr 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.0.99.901-r1.ebuild: + We don't need to apply the xf86Sbus.h creation patch anymore. It was + applying successfully by appending itself to the already-complete file in + the tarball. + + 23 Apr 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.0.99.901-r1.ebuild: + Fix the USE=-xorg build, can't do use_with() on mesa-source because it won't + accept the --without option. + + 23 Apr 2006; Donnie Berkholz <dberkholz@gentoo.org>; + files/digest-xorg-server-1.0.99.901-r1: + Fix digest. + + 23 Apr 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +files/xorg-server-1.0.2-Xprt-build.patch, + +files/1.0.2-Xprint-xprintdir.patch, + +files/xorg-server-1.0.2-xprint-init.patch, + +files/1.0.99.901-Xprint-xprintdir.patch, xorg-server-1.0.2-r3.ebuild, + xorg-server-1.0.99.901-r1.ebuild: + (#128448) Fix xprint (Ed Catmur). Still needs a dep added on xplsprinters + when xprint is in USE, but arches haven't keyworded it yet. + +*xorg-server-1.0.99.901-r1 (21 Apr 2006) + + 21 Apr 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +files/1.0.99.901-fix-kdrive-build.patch, + +files/1.0.99.901-wrap-sdk-headers.patch, -xorg-server-1.0.99.901.ebuild, + +xorg-server-1.0.99.901-r1.ebuild: + Add option to build kdrive, tiny X servers; also add VIDEO_CARDS settings to + select kdrive servers to build. Add option to build AIGLX with TLS support + (USE=nptl) -- mesa and xorg-server must be in sync on this. Update some + deps: glproto, scrnsaverproto. Don't need to inherit flag-o-matic, x-modular + eclass does this for us. Make Xdmx build its own USE flag, instead of part + of minimal. Force xorg-x11 OpenGL to build, because it needs a newer + glxtokens.h than some binary drivers provide. Add a server_based_install() + function for any actions dependent on which servers get built. Add USE=xorg + to build the Xorg X server, which will be on by default. + + 17 Apr 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.0.2-r3.ebuild: + Drop the mesa version check since it shouldn't be required. + + 17 Apr 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.0.99.901.ebuild: + AIGLX defaults on, don't need to enable it. + +*xorg-server-1.0.99.901 (14 Apr 2006) + + 14 Apr 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.0.2-r3.ebuild, -xorg-server-1.0.99.2.ebuild, + +xorg-server-1.0.99.901.ebuild: + Bump xorg-server for 7.1RC1. Change Mesa dependencies on all servers to + account for the changed paths in Mesa 6.5-r2. + +*xorg-server-1.0.99.2 (12 Apr 2006) + + 12 Apr 2006; Joshua Baergen <joshuabaergen@gentoo.org> + +xorg-server-1.0.99.2.ebuild: + Add a xorg-server snapshot from upstream. This snapshot compiles against Mesa + 6.5 and has AIGLX enabled. + + 31 Mar 2006; Diego Pettenò <flameeyes@gentoo.org> + xorg-server-1.0.2-r3.ebuild: + Add ~x86-fbsd keyword. + + 31 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>; ChangeLog: + Only need that ChangeLog message once. + +*xorg-server-1.0.2-r3 (31 Mar 2006) + + 31 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +files/xorg-server-1.0.2-64bit-fix-for-glx.patch, + -xorg-server-1.0.2-r2.ebuild, +xorg-server-1.0.2-r3.ebuild: + Really fix 64-bit direct rendering. glcontextmodes.[ch] doesn't include + glheader.h, so it also needs to include dix-config.h. + +*xorg-server-1.0.2-r2 (28 Mar 2006) + + 28 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +files/xorg-server-1.0.2-64bit-fix-have-dix-config.patch, + +files/xorg-server-1.0.2-64bit-fix-indirect-vertex-array.patch, + -xorg-server-1.0.2-r1.ebuild, +xorg-server-1.0.2-r2.ebuild: + Re-add 64-bit direct rendering patches that got lost in the 1.0.2 bump. + + 24 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>; +files/xprint.init, + xorg-server-1.0.2-r1.ebuild: + (#127425) Install xprint init scripts and directories, patch by Ed Catmur. + + 24 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.0.2-r1.ebuild: + Re-add font-adobe-75dpi to RDEPEND, caught by Jonathan Adamczewski. + + 24 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.0.2-r1.ebuild: + Add deps on compositeproto 0.3 and fixesproto 4.0, otherwise build may break + with overlay window patch. + +*xorg-server-1.0.2-r1 (24 Mar 2006) + + 24 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>; + -xorg-server-1.0.2.ebuild, +xorg-server-1.0.2-r1.ebuild: + (#127333) Fix crashing of pretty much all gtk+-2 apps. We had the + client-side updates to composite and fixes extensions, but we didn't let the + server know about them, which resulted in lots of BadRequests. + + 23 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.0.2.ebuild: + Depends on media-fonts/font-adobe-75dpi for xorgcfg. + + 23 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +files/1.0.2-fix-xorgconfig-rgbpath-and-mouse.patch, + +files/1.0.2-try-to-fix-xorgcfg.patch, xorg-server-1.0.2.ebuild: + (#117299) Fix xorgconfig, which was producing an invalid RgbPath setting. + (#117071) Attempt to fix xorgcfg. I couldn't test without /etc/X11/xorg.conf + because it was producing invalid modes on my monitor, but it worked when + xorg.conf was present. + +*xorg-server-1.0.2 (21 Mar 2006) + + 21 Mar 2006; Donnie Berkholz <dberkholz@gentoo.org>; + -files/xorg-server-1.0.1-64bit-fix-have-dix-config.patch, + -files/xorg-server-1.0.1-64bit-fix-indirect-vertex-array.patch, + -files/xorg-server-1.0.1-Sbus.patch, + -files/xorg-server-1.0.1-amd64-fix-for-glx.patch, + -files/xorg-server-1.0.1-backtrace.patch, + +files/xorg-server-1.0.2-Sbus.patch, + +files/xorg-server-1.0.2-sparc64-cfbrrop-fix.patch, + -xorg-server-1.0.1-r4.ebuild, +xorg-server-1.0.2.ebuild: + (#125803) Fix local root vulnerability present in 6.8.99.x and newer. This + does NOT affect 6.8.2. + +*xorg-server-1.0.1-r4 (19 Feb 2006) + + 19 Feb 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +files/xorg-server-1.0.1-64bit-fix-have-dix-config.patch, + +files/xorg-server-1.0.1-64bit-fix-indirect-vertex-array.patch, + -xorg-server-1.0.1-r3.ebuild, +xorg-server-1.0.1-r4.ebuild: + Really fix GLX on 64-bit systems. + + 14 Feb 2006; Markus Rothe <corsair@gentoo.org> + xorg-server-1.0.1-r3.ebuild: + Added ~ppc64 + +*xorg-server-1.0.1-r3 (13 Feb 2006) + + 13 Feb 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +files/xorg-server-1.0.1-amd64-fix-for-glx.patch, + -xorg-server-1.0.1-r2.ebuild, +xorg-server-1.0.1-r3.ebuild: + (#122140) Add patch to fix OpenGL on amd64, thanks to Igor V. Kovalenko + <garrison@mail.ru>. Also update to Mesa 6.4.2 tarball so people only need to + download one version of it. + + 06 Feb 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.0.1-r2.ebuild: + Add an OR dependency with xkbdata for new x11-misc/xkeyboard-config, and + prefer it over xkbdata. + + 03 Feb 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.0.1-r2.ebuild: + (#121394) Filter -fweb, because it causes window corruption. + + 31 Jan 2006; Rene Nussbaumer <killerfox@gentoo.org> + xorg-server-1.0.1-r2.ebuild: + Unstable on hppa. + +*xorg-server-1.0.1-r2 (26 Jan 2006) + + 26 Jan 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +files/xorg-server-1.0.1-backtrace.patch, -xorg-server-1.0.1.ebuild, + -xorg-server-1.0.1-r1.ebuild, +xorg-server-1.0.1-r2.ebuild: + Fix the automatic backtraces at the bottom of /var/log/Xorg.*.log on segfaults. + + 19 Jan 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-1.0.1.ebuild, xorg-server-1.0.1-r1.ebuild: + Update the license. + + 04 Jan 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.0.1-r1.ebuild: + No need to specify configure options that are the default. + + 04 Jan 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-1.0.1-r1.ebuild: + No need to manually create Xorg -> X symlink anymore. + +*xorg-server-1.0.1-r1 (03 Jan 2006) + + 03 Jan 2006; Joshua Baergen <joshuabaergen@gentoo.org> + +xorg-server-1.0.1-r1.ebuild: + Fix the libglx* relocation routine to look in the right place so that xorg-x11 + will play nice with eselect. Bug #117100. + + 26 Dec 2005; Stefaan De Roeck <stefaan@gentoo.org> + xorg-server-1.0.1.ebuild: + Marked ~alpha + +*xorg-server-1.0.1 (23 Dec 2005) + + 23 Dec 2005; Donnie Berkholz <dberkholz@gentoo.org>; + +files/xorg-server-1.0.1-Sbus.patch, -xorg-server-0.99.4-r2.ebuild, + -xorg-server-1.0.0.ebuild, +xorg-server-1.0.1.ebuild: + Bump for 7.0. (#111361) Add patch to fix sparc build. + +*xorg-server-1.0.0 (17 Dec 2005) + + 17 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org> + +xorg-server-1.0.0.ebuild: + Bump for 7.0RC4. + + 09 Dec 2005; Donnie Berkholz <dberkholz@gentoo.org>; + -files/fix-xkb-compile-path-2.patch: + Unused file. + + 09 Dec 2005; Donnie Berkholz <dberkholz@gentoo.org>; + -xorg-server-0.99.2-r2.ebuild, -xorg-server-0.99.3.ebuild, + -xorg-server-0.99.3-r1.ebuild, -xorg-server-0.99.4.ebuild, + -xorg-server-0.99.4-r1.ebuild: + Pull old versions. + +*xorg-server-0.99.4-r2 (06 Dec 2005) + + 06 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org> + +xorg-server-0.99.4-r2.ebuild: + Build against Mesa 6.4.1 instead of Mesa 6.4. Caught by dagb. + +*xorg-server-0.99.4-r1 (05 Dec 2005) + + 05 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org> + +xorg-server-0.99.4-r1.ebuild: + It would appear that libglx (silently) fails to build if libdrm is not >= + version 2. Rev-bump so that anyone who has merged this already gets a forced + re-merge and thus gets a working glx extension. + +*xorg-server-0.99.4 (04 Dec 2005) + + 04 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org> + +xorg-server-0.99.4.ebuild: + Bump for 7.0RC3. + + 14 Nov 2005; Joshua Baergen <joshuabaergen@gentoo.org> + +files/fix-xkb-compile-path-2.patch, -files/fix-xkb-compile-path.patch, + xorg-server-0.99.3-r1.ebuild: + Remove CVS tags from patch as they don't do anything but break installs. + Fixes bug #112476. + +*xorg-server-0.99.3-r1 (14 Nov 2005) + + 14 Nov 2005; Joshua Baergen <joshuabaergen@gentoo.org> + +files/fix-xkb-compile-path.patch, +xorg-server-0.99.3-r1.ebuild: + Fix xkb issue spotted by dberkholz. + +*xorg-server-0.99.3 (11 Nov 2005) + + 11 Nov 2005; Joshua Baergen <joshuabaergen@gentoo.org> + +xorg-server-0.99.3.ebuild: + Bump for 7.0RC2. + +*xorg-server-0.99.2-r2 (09 Nov 2005) + + 09 Nov 2005; Donnie Berkholz <dberkholz@gentoo.org>; + -xorg-server-0.99.2-r1.ebuild, +xorg-server-0.99.2-r2.ebuild: + Build against mesa 6.4 instead of 6.3.2. + + 31 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>; + -xorg-server-0.99.1_p20051013-r1.ebuild, -xorg-server-0.99.2.ebuild: + Pull old versions. + + 29 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.2-r1.ebuild: + Note that X->Xorg symlink will be taken care of for any new snapshots, so we + can remove the line from the ebuild. + + 20 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.2-r1.ebuild: + Use --enable-install-setuid instead of manually changing permissions. + +*xorg-server-0.99.2-r1 (20 Oct 2005) + + 20 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>; + +xorg-server-0.99.2-r1.ebuild: + (#109926) No need to specify xkb path anymore, it's wrong now as well. + +*xorg-server-0.99.2 (20 Oct 2005) + + 20 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>; + +xorg-server-0.99.2.ebuild: + Bump for 7.0 RC1. + + 19 Oct 2005; Stephen P. Becker <geoman@gentoo.org> + xorg-server-0.99.1_p20051013-r1.ebuild: + added ~mips keyword + + 17 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1_p20051013-r1.ebuild: + (#109354) In some mystical way all the dependency changes got reverted in + the new revision. + + 16 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>; + -files/0.99.1-r10-check-for-glproto.patch, + -files/0.99.1-r10_CAN-2005-2495.patch, -files/fix-transparencies.patch, + -xorg-server-0.99.1-r10.ebuild, -xorg-server-0.99.1_p20051013.ebuild: + Pull old ebuilds. + +*xorg-server-0.99.1_p20051013-r1 (16 Oct 2005) + + 16 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>; + +xorg-server-0.99.1_p20051013-r1.ebuild: + (#109467) Set a non-broken default font path so things like Xvfb actually work. + + 15 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1_p20051013.ebuild: + Add x11-libs/libXtst for dmx. + + 15 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1_p20051013.ebuild: + (#109354) Add lots of deps -- libXaw, libXpm, libXxf86misc, libXxf86vm. Add + notes on which parts depend on them. + + 14 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1_p20051013.ebuild: + Also wrap dmxproto dep in minimal USE. + + 14 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1_p20051013.ebuild: + (#109124) Add dep on libdmx, within check for USE=minimal. Also move libXres + dep within there, because it's for dmx. + + 14 Oct 2005; Joshua Baergen <joshuabaergen@gentoo.org> + xorg-server-0.99.1_p20051013.ebuild: + Add missing deps (x11-libs/libXres and x11-libs/libxkbui). + + 14 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>; + -files/0.99.1-r9_CAN-2005-2495.patch, + -files/0.99.1-r9-check-for-glproto.patch, -xorg-server-0.99.1-r9.ebuild: + Drop old revision. + +*xorg-server-0.99.1_p20051013 (14 Oct 2005) + + 14 Oct 2005; Donnie Berkholz <dberkholz@gentoo.org>; + +xorg-server-0.99.1_p20051013.ebuild: + Update to today's CVS. Enable xprint USE flag. Stop filtering + -fomit-frame-pointer, because it works now. Add dep on + >=x11-proto/glproto-1.4.1_pre20051013 to fix build breakage. + + 04 Oct 2005; Joshua Baergen <joshuabaergen@gentoo.org> + +files/0.99.1-r10-check-for-glproto.patch, + +files/0.99.1-r10_CAN-2005-2495.patch: + Oops, forgot the version-dependent patches. + +*xorg-server-0.99.1-r10 (04 Oct 2005) + + 04 Oct 2005; Joshua Baergen <joshuabaergen@gentoo.org> + +files/fix-transparencies.patch, +xorg-server-0.99.1-r10.ebuild: + Added fix for OO/wine transparencies from bug #96053. Thanks to bartron for + both patches. + + 27 Sep 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1-r9.ebuild: + As of 20050927, xprint will require mkfontdir/mkfontscale for XpConfig. + + 13 Sep 2005; Joshua Baergen <joshuabaergen@gentoo.org> + -files/0.99.1-r6-check-for-glproto.patch, + -files/0.99.1-r8-check-for-glproto.patch, -files/fix-xnest.patch, + -files/make-fbcompose-endian-safe.patch, -xorg-server-0.99.1-r7.ebuild, + -xorg-server-0.99.1-r8.ebuild: + Remove old versions and patches. + +*xorg-server-0.99.1-r9 (13 Sep 2005) + + 13 Sep 2005; Joshua Baergen <joshuabaergen@gentoo.org> + +files/0.99.1-r9_CAN-2005-2495.patch, + +files/0.99.1-r9-check-for-glproto.patch, +xorg-server-0.99.1-r9.ebuild: + Bump to include security fix from bug #105688. + + 12 Sep 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1-r8.ebuild: + Add some deps so we get a server that actually runs after emerging it. In + specific: media-fonts/font-misc-misc media-fonts/font-cursor-misc + x11-misc/xbitmaps x11-misc/xkbdata x11-apps/iceauth x11-apps/rgb + x11-apps/xauth x11-apps/xinit. + + 09 Sep 2005; Donnie Berkholz <dberkholz@gentoo.org>; +metadata.xml: + Add metadata. + +*xorg-server-0.99.1-r8 (08 Sep 2005) + + 08 Sep 2005; Donnie Berkholz <dberkholz@gentoo.org>; + +files/0.99.1-r8-check-for-glproto.patch, +xorg-server-0.99.1-r8.ebuild: + Update to CVS HEAD as of 20050907. Update glproto patch to apply cleanly. + + 06 Sep 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1-r7.ebuild: + Make --enable-xcsecurity always on, remove nvidia USE. + + 03 Sep 2005; Jeremy Huddleston <eradicator@gentoo.org> + xorg-server-0.99.1-r7.ebuild: + Changed opengl-update envocation to use eselect instead. + + 03 Sep 2005; Doug Goldstein <cardoe@gentoo.org> + +xorg-server-0.99.1-r7.ebuild, -xorg-server-0.99.1-r6.ebuild: + Added support for the XCSecurity option, which is what's needed to make + binary Nvidia drivers work + + 02 Sep 2005; Joshua Baergen <joshuabaergen@gentoo.org> + -files/0.99.1-r5-check-for-glproto.patch, + +files/0.99.1-r6-check-for-glproto.patch: + Apparently this patch has a package revision-based name. + + 02 Sep 2005; Joshua Baergen <joshuabaergen@gentoo.org> + +files/make-fbcompose-endian-safe.patch, -xorg-server-0.99.1-r5.ebuild, + +xorg-server-0.99.1-r6.ebuild: + Makes certain draw code endian-safe. Should fix things for big-endian + arches. Thanks to Stanislaw Skowronek and geoman in bug #104318. + +*xorg-server-0.99.1-r6 (02 Sep 2005) + + 02 Sep 2005; Joshua Baergen <joshuabaergen@gentoo.org> + +files/make-fbcompose-endian-safe.patch, -xorg-server-0.99.1-r5.ebuild, + +xorg-server-0.99.1-r6.ebuild: + Added fix to make colour calculations endian safe. Thanks to Stanislaw + Skowronek for the patch and geoman for the heads-up. Fixes bug #104318. + + 30 Aug 2005; Herbie Hopkins <herbs@gentoo.org> + xorg-server-0.99.1-r5.ebuild: + s/lib/$(get_libdir) + + 23 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + -files/check-for-glproto.patch, -files/fix-xf86misc-typo.patch, + -files/xorg-server-0.99.1-x86_64-1.patch, -xorg-server-0.99.1-r4.ebuild: + Pull old version. + + 23 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + +files/0.99.1-r5-check-for-glproto.patch, xorg-server-0.99.1-r5.ebuild: + (#fd.o 3990) Add 0.99.1-r5-check-for-glproto.patch. Pass + --with-xkb-path=/usr/lib/X11/xkb in attempt to get VT switching closer to + working. Update CVS patch to 20050822-1, which makes xprint almost work. + +*xorg-server-0.99.1-r5 (22 Aug 2005) + + 22 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + +files/fix-xnest.patch, +xorg-server-0.99.1-r5.ebuild: + Update to CVS as of 20050822. This should make amd64 and sparc work. Update + included mesa to 6.3.2. Stop forcing glx on, it's on by default. Add + --disable-static so we don't build .a files for server modules. Add + fix-xnest.patch to fix breakage in the Xnest linking, caused by the + configure.ac reworking a couple of days ago. + + 21 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1-r4.ebuild: + xprint build is broken; force it off. + + 21 Aug 2005; Luca Barbato <lu_zero@gentoo.org> + xorg-server-0.99.1-r4.ebuild: + Marked ~ppc + + 21 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + -files/xorg-composite.patch, -files/xorg-server-fbmmx-local.patch, + -xorg-server-0.99.1.ebuild, -xorg-server-0.99.1-r1.ebuild, + -xorg-server-0.99.1-r2.ebuild, -xorg-server-0.99.1-r3.ebuild: + Drop old versions. + +*xorg-server-0.99.1-r4 (21 Aug 2005) + + 21 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + +xorg-server-0.99.1-r4.ebuild: + Update to today's CVS. This adds a USE flag for xprint. Also, get rid of the + glx USE flag, because everybody should get it. + + 20 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1.ebuild, xorg-server-0.99.1-r1.ebuild, + xorg-server-0.99.1-r2.ebuild, xorg-server-0.99.1-r3.ebuild: + panoramixproto moved to xineramaproto. + + 17 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + +files/xorg-server-fbmmx-local.patch, xorg-server-0.99.1-r3.ebuild: + (fd.o #4073) Fix compilation failures at fbmmx.c. Patch from Diego Pettenò + <flameeyes@gentoo.org>. + + 16 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1-r3.ebuild: + Wrap opengl things in `if use glx..` + + 15 Aug 2005; Herbie Hopkins <herbs@gentoo.org> + xorg-server-0.99.1-r3.ebuild: + Marked ~amd64. + + 14 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + +files/xorg-server-0.99.1-x86_64-1.patch, xorg-server-0.99.1-r3.ebuild: + Add xorg-server-0.99.1-x86_64-1.patch to fix configure.ac on amd64. + + 14 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1-r3.ebuild: + Wrap pkg_postrm() module dir removal in ! has_version. + + 12 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1-r3.ebuild: + No longer necessary to force --enable-composite; it's on by default. + + 12 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1-r3.ebuild: + Update opengl-update dependency to 2.2.3 for proper handling of + /usr/libdir/modules/extensions/. + + 12 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1-r3.ebuild: + Remove xinerama USE flag; building without it causes major issues. + + 12 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1-r3.ebuild: + Add pkg_postrm() to get rid of /usr/lib/xorg/modules. This should make + things work better for people crazy enough to downgrade to monolithic. + +*xorg-server-0.99.1-r3 (12 Aug 2005) + + 12 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + +xorg-server-0.99.1-r3.ebuild: + Set /usr/bin/Xorg suid so it starts. + + 12 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1-r2.ebuild: + Fix the patch that mysteriously broke. + + 12 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + +files/check-for-glproto.patch, +files/fix-xf86misc-typo.patch, + +xorg-server-0.99.1-r2.ebuild: + Re-add, this time with a huge patch on the mirror. + + 12 Aug 2005; Diego Pettenò <flameeyes@gentoo.org> + -files/check-for-glproto.patch, -files/fix-xf86misc-typo.patch, + -files/xorg-server-0.99.1-update-to-CVS-HEAD-20050811.patch, + -xorg-server-0.99.1-r2.ebuild: + Removed 0.99.1-r2 version (3.3MB patch is not good). + +*xorg-server-0.99.1-r2 (12 Aug 2005) + + 12 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + +files/check-for-glproto.patch, +files/fix-xf86misc-typo.patch, + +files/xorg-server-0.99.1-update-to-CVS-HEAD-20050811.patch, + +xorg-server-0.99.1-r2.ebuild: + Add xorg-server-0.99.1-update-to-CVS-HEAD-20050811.patch to fix big-endian + breakage, composite, some other stuff. Split out non-composite things from + xorg-composite.patch to check-for-glproto.patch and fix-xf86misc-typo.patch. + + 11 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1-r1.ebuild: + Make an X->Xorg symlink in here until upstream can make one. + + 11 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1-r1.ebuild: + Add more deps: inputproto, bigreqsproto, xcmiscproto. All reported by aaronf0. + + 10 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1-r1.ebuild: + Move confopts into pkg_setup(), and therefore also CONFIGURE_OPTIONS. + +*xorg-server-0.99.1-r1 (10 Aug 2005) + + 10 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + +xorg-server-0.99.1-r1.ebuild: + Rev bump to make sure people get working GL setup. + + 10 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1.ebuild: + Add GL handling, /usr/lib/opengl, opengl-update, etc. + + 10 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1.ebuild: + Add dep on x11-proto/kbproto, again from aaronf0. + + 10 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1.ebuild: + Add dep on fontsproto, reported by aaronf0 on irc. + + 09 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1.ebuild: + (#101883) Add trapproto and panoramixproto as deps. + + 08 Aug 2005; Ferris McCormick <fmccor@gentoo.org> + xorg-server-0.99.1.ebuild: + Add ~sparc keyword (prepare for X Modular testing). + + 08 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + xorg-server-0.99.1.ebuild: + (#101749) Add dependencies on videoproto, scrnsaverproto and evieext. + Reported by Georgi Georgiev <chutz@gg3.net>. + +*xorg-server-0.99.1 (08 Aug 2005) + + 08 Aug 2005; Donnie Berkholz <dberkholz@gentoo.org>; + +files/xorg-composite.patch, +xorg-server-0.99.1.ebuild: + Initial commit for modular X. + diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest new file mode 100644 index 0000000..0881330 --- /dev/null +++ b/x11-base/xorg-server/Manifest @@ -0,0 +1,124 @@ +AUX 01-no-move-damage.patch 1149 RMD160 f40d73e020376e1b9603dfa5ceb2fd0b48b45e31 SHA1 b8adef394d05a8769627d71b8da302f7fc3622d5 SHA256 9396f282e3d62927e86c4aa38b0d6245b83ca8e2ea48624f22c3c6d35751d997 +MD5 0faff1bfae0c6378fae5d2875fb3972c files/01-no-move-damage.patch 1149 +RMD160 f40d73e020376e1b9603dfa5ceb2fd0b48b45e31 files/01-no-move-damage.patch 1149 +SHA256 9396f282e3d62927e86c4aa38b0d6245b83ca8e2ea48624f22c3c6d35751d997 files/01-no-move-damage.patch 1149 +AUX 02-dont-backfill-bg-none.patch 581 RMD160 b38e5b7c945434e6b60748a5f853d7eb773f3427 SHA1 862c2435249d475dd7fdd229449a89b8e2f2207b SHA256 fe5e71b9b5cb7ea4b484e76015bf364e7e1e307c1d35ed3497dc30c9b75dc7ea +MD5 016e4e9f4bf2296ac756b476ff2c0495 files/02-dont-backfill-bg-none.patch 581 +RMD160 b38e5b7c945434e6b60748a5f853d7eb773f3427 files/02-dont-backfill-bg-none.patch 581 +SHA256 fe5e71b9b5cb7ea4b484e76015bf364e7e1e307c1d35ed3497dc30c9b75dc7ea files/02-dont-backfill-bg-none.patch 581 +AUX 03-tfp-damage.patch 5982 RMD160 7b044a9d151bdd573c80b93b7249888184fad782 SHA1 30c64426cb9db4e1fbabbd8bb8af92b3f7ed682d SHA256 dcc6fe0f6d4031b345e8f3a5a0f5bfbbf43db9ce972fb4ca7b58961fb178da59 +MD5 5994755d0cda4a71d78529f34bf798c7 files/03-tfp-damage.patch 5982 +RMD160 7b044a9d151bdd573c80b93b7249888184fad782 files/03-tfp-damage.patch 5982 +SHA256 dcc6fe0f6d4031b345e8f3a5a0f5bfbbf43db9ce972fb4ca7b58961fb178da59 files/03-tfp-damage.patch 5982 +AUX 04-mesa-copy-sub-buffer.patch 11609 RMD160 d525afd68510bed628742c28d29eec7c47e0592b SHA1 c9a654962fa930b3cced371ba9737f140c46612e SHA256 daeef79d8bd3ae91f2906f7fa62f15892307bfb5f1650ef832bd490a2d6606f5 +MD5 406413344cfe615626dc73f02c1baf5c files/04-mesa-copy-sub-buffer.patch 11609 +RMD160 d525afd68510bed628742c28d29eec7c47e0592b files/04-mesa-copy-sub-buffer.patch 11609 +SHA256 daeef79d8bd3ae91f2906f7fa62f15892307bfb5f1650ef832bd490a2d6606f5 files/04-mesa-copy-sub-buffer.patch 11609 +AUX 05-offscreen-pixmaps.patch 1548 RMD160 e0f87c88379861340524847a57bf72119256a610 SHA1 c57a9aafec35b8158098751028a76a2979379625 SHA256 73be09f2f3756021bd6261fc05733eb39084c2190e7ca107bfa01c7d447a34a6 +MD5 8cae706ff61477f510f9f14b3d64fea9 files/05-offscreen-pixmaps.patch 1548 +RMD160 e0f87c88379861340524847a57bf72119256a610 files/05-offscreen-pixmaps.patch 1548 +SHA256 73be09f2f3756021bd6261fc05733eb39084c2190e7ca107bfa01c7d447a34a6 files/05-offscreen-pixmaps.patch 1548 +AUX 06-aiglx-happy-vt-switch.patch 6043 RMD160 fce467afaa3988b511b9796af164f36172bf6b7b SHA1 ad8eaa9c48699501145a15cc22b98e88a2c4a0f2 SHA256 112f1cccc0f3e1af1d76109e845c0e89462b6e95c2fd1cc80ca9370806a617dc +MD5 e9248d96ffd078829f56f3d8075a5304 files/06-aiglx-happy-vt-switch.patch 6043 +RMD160 fce467afaa3988b511b9796af164f36172bf6b7b files/06-aiglx-happy-vt-switch.patch 6043 +SHA256 112f1cccc0f3e1af1d76109e845c0e89462b6e95c2fd1cc80ca9370806a617dc files/06-aiglx-happy-vt-switch.patch 6043 +AUX 1.1.1-dbe-render.diff 5323 RMD160 cbddae4efaa558f3c4ea0b256bd14cc005251493 SHA1 67cfe51fdf314db3cf712cb180bdc7635788ffa3 SHA256 0c0e0c6c8e7f1928d595c90cccfa2dacdcdf52656271b2fea52f202597e5d7ab +MD5 cffab2cec60a2af892e2853840cf2659 files/1.1.1-dbe-render.diff 5323 +RMD160 cbddae4efaa558f3c4ea0b256bd14cc005251493 files/1.1.1-dbe-render.diff 5323 +SHA256 0c0e0c6c8e7f1928d595c90cccfa2dacdcdf52656271b2fea52f202597e5d7ab files/1.1.1-dbe-render.diff 5323 +AUX 1.1.1-fix-xrandr-zoom-keys.patch 6332 RMD160 cec1b86e0a6ea88e1e65543046fd1b91ab112b04 SHA1 ebaea3bdff2564d898fe0f1bcacdafcbcfe4b9f6 SHA256 b7bb87d2170f2dd369a8b3a496dae0e93792419ccc7c78449e9affc8f07650ac +MD5 919801a6a806a9cf93777ee8bb4367bc files/1.1.1-fix-xrandr-zoom-keys.patch 6332 +RMD160 cec1b86e0a6ea88e1e65543046fd1b91ab112b04 files/1.1.1-fix-xrandr-zoom-keys.patch 6332 +SHA256 b7bb87d2170f2dd369a8b3a496dae0e93792419ccc7c78449e9affc8f07650ac files/1.1.1-fix-xrandr-zoom-keys.patch 6332 +AUX 1.1.1-fix_acpi_tokenize.patch 737 RMD160 23e67ce9e8122c163b9baa78ee517abd382e46a9 SHA1 4c0a41a8dc060442fdfbc35f05e58134bd5c2eb0 SHA256 f3ed429b3b5c36f0efa06c11ddbd1dfbf929f031ec6365c5f47a75f7a182367b +MD5 8753388aa11cec9eab4123a0803aaf66 files/1.1.1-fix_acpi_tokenize.patch 737 +RMD160 23e67ce9e8122c163b9baa78ee517abd382e46a9 files/1.1.1-fix_acpi_tokenize.patch 737 +SHA256 f3ed429b3b5c36f0efa06c11ddbd1dfbf929f031ec6365c5f47a75f7a182367b files/1.1.1-fix_acpi_tokenize.patch 737 +AUX 1.1.1-fix_big_endian_glx.patch 655 RMD160 aa6377a33c015af994053add2c5571a13bd0658a SHA1 9133c745ebe3b1dd39518b245c4836c9a53f40d6 SHA256 2b9f53f31fe9f4e36db01fcbf74745fddfa70a28e41614da608c53af81993dbf +MD5 87c7bd720ae0573bf5ed8d5879bd781b files/1.1.1-fix_big_endian_glx.patch 655 +RMD160 aa6377a33c015af994053add2c5571a13bd0658a files/1.1.1-fix_big_endian_glx.patch 655 +SHA256 2b9f53f31fe9f4e36db01fcbf74745fddfa70a28e41614da608c53af81993dbf files/1.1.1-fix_big_endian_glx.patch 655 +AUX 1.1.1-fixdualhead.patch 625 RMD160 2b91d2feb1605c7fb7731e888f391e07ac6d6c67 SHA1 364b7d6ec0bb55547d81ff3ccbd84b41f5b537dd SHA256 e16f498897e470dbefb6ac38f73393b091b9bdd2f306f0441502eaaaa0d3bd61 +MD5 1b43b231253a92ff4c82565b94cb7158 files/1.1.1-fixdualhead.patch 625 +RMD160 2b91d2feb1605c7fb7731e888f391e07ac6d6c67 files/1.1.1-fixdualhead.patch 625 +SHA256 e16f498897e470dbefb6ac38f73393b091b9bdd2f306f0441502eaaaa0d3bd61 files/1.1.1-fixdualhead.patch 625 +AUX 1.1.1-sparc-includes.patch 1216 RMD160 fcfe14696821581f316413564c6a3f787dae3937 SHA1 55270574dbbc95cac7d8102a7a855e5c8800439f SHA256 1b80656cf450f0df3d25cda3e57909ff71834ad489d6033f9d16e2d6d76e34d4 +MD5 0600d155724d1a1c64ee02bfffca20ff files/1.1.1-sparc-includes.patch 1216 +RMD160 fcfe14696821581f316413564c6a3f787dae3937 files/1.1.1-sparc-includes.patch 1216 +SHA256 1b80656cf450f0df3d25cda3e57909ff71834ad489d6033f9d16e2d6d76e34d4 files/1.1.1-sparc-includes.patch 1216 +AUX 1.1.1-sparc64-ati-lockups.patch 652 RMD160 7d642aa1c0153a4c48b8d2338b1afafdbc130852 SHA1 31f3b422d4dc621a7638cf4f9b388ce6a5cccec4 SHA256 0db8886c157b253449057865c938b63aa8a4f11d746e5df4ed2a12b75d718c51 +MD5 b20d4cd92f74e0722b9cf2e5f0704655 files/1.1.1-sparc64-ati-lockups.patch 652 +RMD160 7d642aa1c0153a4c48b8d2338b1afafdbc130852 files/1.1.1-sparc64-ati-lockups.patch 652 +SHA256 0db8886c157b253449057865c938b63aa8a4f11d746e5df4ed2a12b75d718c51 files/1.1.1-sparc64-ati-lockups.patch 652 +AUX 1.2.0-client-leak.patch 363 RMD160 788a7468df4305319ee3a05137ce0b90e76b982a SHA1 67ee249858947cea7fcd9a08db3ff3e81cd0036e SHA256 5969bf63e88ab4030c6913237379b76fb55e9e1f249a058eb17487a4b7103b87 +MD5 c46eeebdde41ceb57f1dca6ef4b1a8b7 files/1.2.0-client-leak.patch 363 +RMD160 788a7468df4305319ee3a05137ce0b90e76b982a files/1.2.0-client-leak.patch 363 +SHA256 5969bf63e88ab4030c6913237379b76fb55e9e1f249a058eb17487a4b7103b87 files/1.2.0-client-leak.patch 363 +AUX 1.2.0-server-damage-version.patch 1322 RMD160 25ba5ce01bc338d3a906ec959a0f1ad3303c5dd2 SHA1 129565a0151d42b85c43f273da507396111bdc9b SHA256 28a049c39e7995f7768eed34993f12252da416093e2f919c1ae84cb2dfee9f09 +MD5 789e294aaa7f8a03551f639dc022c568 files/1.2.0-server-damage-version.patch 1322 +RMD160 25ba5ce01bc338d3a906ec959a0f1ad3303c5dd2 files/1.2.0-server-damage-version.patch 1322 +SHA256 28a049c39e7995f7768eed34993f12252da416093e2f919c1ae84cb2dfee9f09 files/1.2.0-server-damage-version.patch 1322 +AUX 1.2.0-server-randr-version.patch 444 RMD160 05a4c38c141bf5dddd1f94eb61dba62b79f17658 SHA1 5faef7578c55439433b10731c87d82536db7232b SHA256 226560c2d5c0c76987e2e315c2eef805e96ee9189aa3394148968fa13392f17e +MD5 e14a71605039b6cded7ce9541ded2f1e files/1.2.0-server-randr-version.patch 444 +RMD160 05a4c38c141bf5dddd1f94eb61dba62b79f17658 files/1.2.0-server-randr-version.patch 444 +SHA256 226560c2d5c0c76987e2e315c2eef805e96ee9189aa3394148968fa13392f17e files/1.2.0-server-randr-version.patch 444 +AUX 1.2.99.0-fix-sysconfdir-references.patch 421 RMD160 4af58784b1af8c02ebe395530da3e0a3f619c9a9 SHA1 3c836428f18aa6e42a8ab243c59c9693af57100e SHA256 216905a6ac45ae01cbec53c5a8a5ebd53e9c8f647e91d57d926f9109a73cef24 +MD5 cceefbe34d34bd2d776d95d63851ec51 files/1.2.99.0-fix-sysconfdir-references.patch 421 +RMD160 4af58784b1af8c02ebe395530da3e0a3f619c9a9 files/1.2.99.0-fix-sysconfdir-references.patch 421 +SHA256 216905a6ac45ae01cbec53c5a8a5ebd53e9c8f647e91d57d926f9109a73cef24 files/1.2.99.0-fix-sysconfdir-references.patch 421 +AUX xorg-conf-example.patch 1924 RMD160 04325d6624ad01ee69702b069be3665b5e96b647 SHA1 2d7b8328c695dc179e4f6e1d0e4609bb449159ee SHA256 ceb0dd0ccc6b02a026b599f1c838fc0a0c3f789f58407e85ee783ddaf9989350 +MD5 f2c08e04fd4d36bf1e9e5fd25102c243 files/xorg-conf-example.patch 1924 +RMD160 04325d6624ad01ee69702b069be3665b5e96b647 files/xorg-conf-example.patch 1924 +SHA256 ceb0dd0ccc6b02a026b599f1c838fc0a0c3f789f58407e85ee783ddaf9989350 files/xorg-conf-example.patch 1924 +AUX xorg-server-1.1.1-install-libxf86config-headers.patch 422 RMD160 297df8f5478195a8e0c0589436c9dad457c91539 SHA1 435f5d3c410a7e17b31c27c44a1f36145db626ea SHA256 85de5a76afb5a6c6ab0ac0d0f7d7decad99035cbbc04362e69a1627f04d86269 +MD5 f17556037156af0294c22e094172d1f6 files/xorg-server-1.1.1-install-libxf86config-headers.patch 422 +RMD160 297df8f5478195a8e0c0589436c9dad457c91539 files/xorg-server-1.1.1-install-libxf86config-headers.patch 422 +SHA256 85de5a76afb5a6c6ab0ac0d0f7d7decad99035cbbc04362e69a1627f04d86269 files/xorg-server-1.1.1-install-libxf86config-headers.patch 422 +AUX xorg-server-1.2.0-loongson.patch 1931 RMD160 cc84def06fdfa7099342411baa037529166f56c0 SHA1 3596b2abaab7f58e78722988f9e4f1ca97bd7cd3 SHA256 e77dad77f9c36053ddc52f2aa6af7fc6c65b24a9d8456ac346382ca2a18b6d90 +MD5 eb8a89c732436e561035fc866162eedb files/xorg-server-1.2.0-loongson.patch 1931 +RMD160 cc84def06fdfa7099342411baa037529166f56c0 files/xorg-server-1.2.0-loongson.patch 1931 +SHA256 e77dad77f9c36053ddc52f2aa6af7fc6c65b24a9d8456ac346382ca2a18b6d90 files/xorg-server-1.2.0-loongson.patch 1931 +AUX xorg-server-1.3.0.0-loongson.patch 1931 RMD160 cc84def06fdfa7099342411baa037529166f56c0 SHA1 3596b2abaab7f58e78722988f9e4f1ca97bd7cd3 SHA256 e77dad77f9c36053ddc52f2aa6af7fc6c65b24a9d8456ac346382ca2a18b6d90 +MD5 eb8a89c732436e561035fc866162eedb files/xorg-server-1.3.0.0-loongson.patch 1931 +RMD160 cc84def06fdfa7099342411baa037529166f56c0 files/xorg-server-1.3.0.0-loongson.patch 1931 +SHA256 e77dad77f9c36053ddc52f2aa6af7fc6c65b24a9d8456ac346382ca2a18b6d90 files/xorg-server-1.3.0.0-loongson.patch 1931 +AUX xorg-x11-server-1.1.1-mesa-6.5.1.patch 1684 RMD160 8a6142a781d0ee626b4569f2324c6884234c7856 SHA1 287d09b104826c0ac852d401457c230fa96f7296 SHA256 8428c09c0bd11e7db9fbf0807754312cfb7c2659b2c203f8ad9741fc35c356c0 +MD5 f6f3f09436867be5b09782fed580b6f3 files/xorg-x11-server-1.1.1-mesa-6.5.1.patch 1684 +RMD160 8a6142a781d0ee626b4569f2324c6884234c7856 files/xorg-x11-server-1.1.1-mesa-6.5.1.patch 1684 +SHA256 8428c09c0bd11e7db9fbf0807754312cfb7c2659b2c203f8ad9741fc35c356c0 files/xorg-x11-server-1.1.1-mesa-6.5.1.patch 1684 +AUX xprint.init 598 RMD160 85de6a023912d8ac40cba4f32b5559655e0e281e SHA1 1590a29e11f813bb1353b4cc815708e97bfbb96b SHA256 9474c19d125d9534b93c038cba7c4bdc7c45bf3ed51279ff2e130fe031a15c13 +MD5 9bf4e36931c99f405aa6766ff5614e51 files/xprint.init 598 +RMD160 85de6a023912d8ac40cba4f32b5559655e0e281e files/xprint.init 598 +SHA256 9474c19d125d9534b93c038cba7c4bdc7c45bf3ed51279ff2e130fe031a15c13 files/xprint.init 598 +DIST MesaLib-6.5.2.tar.bz2 3295166 RMD160 9a92d69110c066ae6734bcaafb78f222ac2df6d3 SHA1 ba860bb6ee57c02202342dfd5927464a068ea18f SHA256 137f50a30461d51eb9af5aac737bc788d536354cf47b26129b97bde6e41fb85f +DIST xorg-server-1.2.0.tar.bz2 6014596 RMD160 0bbc5ccb5cbbe7627b4f09f17848b188e8be2a50 SHA1 85fa0e8fa7d6bea6f1a73c66a57488ea68dffa17 SHA256 e3e56b35ee13098f4ee79948beb20bfc9a06d1a7a35fb906405ff1531b92bb85 +DIST xorg-server-1.3.0.0.tar.bz2 5968263 RMD160 1a4fecd73aed0d5adabe84066c24ce69dc2c2dc1 SHA1 6f9645fe70da5b6a121f3e8fa6c2fc1e4307390c SHA256 93c656f142f37607c15372dd24c5de9eab82cd79c5d60449174a928d345c2975 +EBUILD xorg-server-1.2.0-r1.ebuild 16442 RMD160 ac4717116f699a89feb7070b57123cfc7bc2dc07 SHA1 8996dccbdbfe6c1a54122bf8ffc3a22886646c5b SHA256 becbdd3224bc6acc1cd1bf7933000d2a1f99042cb59ab074419b8057ee7f4e13 +MD5 e70fcb819cdf4877377b74d7a1b7b98b xorg-server-1.2.0-r1.ebuild 16442 +RMD160 ac4717116f699a89feb7070b57123cfc7bc2dc07 xorg-server-1.2.0-r1.ebuild 16442 +SHA256 becbdd3224bc6acc1cd1bf7933000d2a1f99042cb59ab074419b8057ee7f4e13 xorg-server-1.2.0-r1.ebuild 16442 +EBUILD xorg-server-1.2.0-r2.ebuild 16479 RMD160 3274a5a2bcbb4c650642a692a6b0eb08707c2515 SHA1 2b0b7ce45032e44f6e4bdb699d9ced9839173ca0 SHA256 74009fe505532f613e8c3d609af91c1837822e9b4c1ac114a2c9ca9cf94ff536 +MD5 4de5a292b9d36612ea3716164210a96a xorg-server-1.2.0-r2.ebuild 16479 +RMD160 3274a5a2bcbb4c650642a692a6b0eb08707c2515 xorg-server-1.2.0-r2.ebuild 16479 +SHA256 74009fe505532f613e8c3d609af91c1837822e9b4c1ac114a2c9ca9cf94ff536 xorg-server-1.2.0-r2.ebuild 16479 +EBUILD xorg-server-1.3.0.0.ebuild 16332 RMD160 96f7260adacacec77d9eff7a1459c87a9b9d5ae8 SHA1 c10e6ea1dcab9e7a2f0231c4372aa065d1ec9fea SHA256 582a8abbfcd8962944b5a751a0ce385add7d33354e905b1ef52e6b55d747c7dc +MD5 23808a3e81201ffca520193a0140fbb2 xorg-server-1.3.0.0.ebuild 16332 +RMD160 96f7260adacacec77d9eff7a1459c87a9b9d5ae8 xorg-server-1.3.0.0.ebuild 16332 +SHA256 582a8abbfcd8962944b5a751a0ce385add7d33354e905b1ef52e6b55d747c7dc xorg-server-1.3.0.0.ebuild 16332 +MISC ChangeLog 46548 RMD160 fd66dad1dc5b8181e294f00b2d867e273f375fed SHA1 c1c264afd91f7d13bd8c4cd5d8d03cc9327e1e14 SHA256 ae56c39d52f287b2e1e0c5be5bffe5207fbc60e0cbf906a15f50f7f849bd69d7 +MD5 e31a590302270c7d0072ec4c5e2b8cde ChangeLog 46548 +RMD160 fd66dad1dc5b8181e294f00b2d867e273f375fed ChangeLog 46548 +SHA256 ae56c39d52f287b2e1e0c5be5bffe5207fbc60e0cbf906a15f50f7f849bd69d7 ChangeLog 46548 +MISC metadata.xml 156 RMD160 c1274bdccf57603d580de0075ba07a35b7509560 SHA1 6f78f604e3d079d39189b40aaaa1ddb06182ad91 SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055 +MD5 a37bab73e2f24b213932c30997d3d360 metadata.xml 156 +RMD160 c1274bdccf57603d580de0075ba07a35b7509560 metadata.xml 156 +SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055 metadata.xml 156 +MD5 92aecc687a1f65f481da05e14bab56c3 files/digest-xorg-server-1.2.0-r1 506 +RMD160 2816986513ee6479e25d5c213f00ceb38b905ccb files/digest-xorg-server-1.2.0-r1 506 +SHA256 4cd7c7723d603c993f0cc320ebf294ff367030d2d5c0bb1a9d4d02221235ef07 files/digest-xorg-server-1.2.0-r1 506 +MD5 92aecc687a1f65f481da05e14bab56c3 files/digest-xorg-server-1.2.0-r2 506 +RMD160 2816986513ee6479e25d5c213f00ceb38b905ccb files/digest-xorg-server-1.2.0-r2 506 +SHA256 4cd7c7723d603c993f0cc320ebf294ff367030d2d5c0bb1a9d4d02221235ef07 files/digest-xorg-server-1.2.0-r2 506 +MD5 f5088a38f31782713a97f0cf19bfbbd1 files/digest-xorg-server-1.3.0.0 512 +RMD160 70dafff2a513850c2631793f877a2ffe294758c6 files/digest-xorg-server-1.3.0.0 512 +SHA256 ae8d04a5e64f7aedd5cc910085a1db5ce1638012a3bfedeab142ce99b0d3968a files/digest-xorg-server-1.3.0.0 512 diff --git a/x11-base/xorg-server/files/01-no-move-damage.patch b/x11-base/xorg-server/files/01-no-move-damage.patch new file mode 100644 index 0000000..4278043 --- /dev/null +++ b/x11-base/xorg-server/files/01-no-move-damage.patch @@ -0,0 +1,33 @@ +Disable damage notifications on move for manually redirected windows. +The automatic compositor needs damage notification on move, but a +compositing manager doesn't. + +--- ./composite/compwindow.c.spiffiffity 2006-03-29 12:51:53.000000000 -0500 ++++ ./composite/compwindow.c 2006-04-13 23:18:42.000000000 -0400 +@@ -571,12 +571,15 @@ + } + else + { ++ CompWindowPtr cw = GetCompWindow (pWin); ++ + ptOldOrg.x -= dx; + ptOldOrg.y -= dy; + REGION_TRANSLATE (prgnSrc, prgnSrc, + pWin->drawable.x - ptOldOrg.x, + pWin->drawable.y - ptOldOrg.y); +- DamageDamageRegion (&pWin->drawable, prgnSrc); ++ if (pWin->redirectDraw && cw->update == CompositeRedirectAutomatic) ++ DamageDamageRegion (&pWin->drawable, prgnSrc); + } + cs->CopyWindow = pScreen->CopyWindow; + pScreen->CopyWindow = compCopyWindow; +@@ -655,7 +658,8 @@ + /* + * Report that as damaged so it will be redrawn + */ +- DamageDamageRegion (&pWin->drawable, &damage); ++ if (cw->update == CompositeRedirectAutomatic) ++ DamageDamageRegion (&pWin->drawable, &damage); + REGION_UNINIT (pScreen, &damage); + /* + * Save the new border clip region diff --git a/x11-base/xorg-server/files/02-dont-backfill-bg-none.patch b/x11-base/xorg-server/files/02-dont-backfill-bg-none.patch new file mode 100644 index 0000000..9a5cacd --- /dev/null +++ b/x11-base/xorg-server/files/02-dont-backfill-bg-none.patch @@ -0,0 +1,21 @@ +Disable backfilling of windows created with bg=none, which otherwise +would force a framebuffer readback. + +--- ./composite/compalloc.c.spiffiffity 2006-03-13 16:59:55.000000000 -0500 ++++ ./composite/compalloc.c 2006-04-12 16:37:50.000000000 -0400 +@@ -478,6 +478,7 @@ + * Copy bits from the parent into the new pixmap so that it will + * have "reasonable" contents in case for background None areas. + */ ++#if 0 + if (pGC) + { + XID val = IncludeInferiors; +@@ -492,6 +493,7 @@ + w, h, 0, 0); + FreeScratchGC (pGC); + } ++#endif + return pPixmap; + } + diff --git a/x11-base/xorg-server/files/03-tfp-damage.patch b/x11-base/xorg-server/files/03-tfp-damage.patch new file mode 100644 index 0000000..942d44e --- /dev/null +++ b/x11-base/xorg-server/files/03-tfp-damage.patch @@ -0,0 +1,211 @@ +--- ./GL/glx/glxdrawable.h.tfp-damage 2006-03-11 19:11:33.000000000 -0500 ++++ ./GL/glx/glxdrawable.h 2006-06-20 20:33:53.000000000 -0400 +@@ -41,6 +41,8 @@ + ** + */ + ++#include <damage.h> ++ + typedef struct { + + DrawablePtr pDraw; +@@ -49,7 +51,7 @@ + ScreenPtr pScreen; + Bool idExists; + int refcnt; +- ++ DamagePtr pDamage; + } __GLXpixmap; + + struct __GLXdrawable { +--- ./GL/glx/glxcmds.c.tfp-damage 2006-05-09 13:44:26.000000000 -0400 ++++ ./GL/glx/glxcmds.c 2006-06-20 20:33:53.000000000 -0400 +@@ -1271,6 +1271,7 @@ + pGlxPixmap->pGlxScreen = pGlxScreen; + pGlxPixmap->pScreen = pScreen; + pGlxPixmap->idExists = True; ++ pGlxPixmap->pDamage = NULL; + pGlxPixmap->refcnt = 0; + + pGlxPixmap->modes = modes; +--- ./GL/glx/glxdri.c.tfp-damage 2006-04-02 21:25:21.000000000 -0400 ++++ ./GL/glx/glxdri.c 2006-06-21 00:39:40.000000000 -0400 +@@ -296,24 +296,18 @@ + } + + static void +-glxFillAlphaChannel (PixmapPtr pixmap) ++glxFillAlphaChannel (PixmapPtr pixmap, int x, int y, int width, int height) + { +- int i, j; +- CARD32 *pixels = (CARD32 *)pixmap->devPrivate.ptr; ++ int i; ++ CARD32 *p, *end, *pixels = (CARD32 *)pixmap->devPrivate.ptr; + CARD32 rowstride = pixmap->devKind / 4; +- CARD32 x, y; +- +- x = pixmap->drawable.x; +- y = pixmap->drawable.y; + +- for (i = y; i < pixmap->drawable.height + y; ++i) ++ for (i = y; i < y + height; i++) + { +- for (j = x; j < pixmap->drawable.width + x; ++j) +- { +- int index = i * rowstride + j; +- +- pixels[index] |= 0xFF000000; +- } ++ p = &pixels[i * rowstride + x]; ++ end = p + width; ++ while (p < end) ++ *p++ |= 0xFF000000; + } + } + +@@ -326,7 +320,6 @@ + * - No fbconfig handling for TEXTURE_TARGET + * - No fbconfig exposure of Y inversion state + * - No GenerateMipmapEXT support (due to no FBO support) +- * - No damage tracking between binds + * - No support for anything but 16bpp and 32bpp-sparse pixmaps + */ + +@@ -335,38 +328,97 @@ + int buffer, + __GLXpixmap *glxPixmap) + { ++ RegionPtr pRegion; + PixmapPtr pixmap; + int bpp; +- Bool npot; ++ GLenum target, format, type; + + pixmap = (PixmapPtr) glxPixmap->pDraw; +- bpp = pixmap->drawable.depth >= 24 ? 4 : 2; /* XXX 24bpp packed, 8, etc */ +- ++ if (!glxPixmap->pDamage) { ++ glxPixmap->pDamage = DamageCreate(NULL, NULL, DamageReportNone, ++ TRUE, glxPixmap->pScreen, NULL); ++ if (!glxPixmap->pDamage) ++ return BadAlloc; ++ ++ DamageRegister ((DrawablePtr) pixmap, glxPixmap->pDamage); ++ pRegion = NULL; ++ } else { ++ pRegion = DamageRegion(glxPixmap->pDamage); ++ if (REGION_NIL(pRegion)) ++ return Success; ++ } ++ ++ /* XXX 24bpp packed, 8, etc */ ++ if (pixmap->drawable.depth >= 24) { ++ bpp = 4; ++ format = GL_BGRA; ++ type = GL_UNSIGNED_BYTE; ++ } else { ++ bpp = 2; ++ format = GL_RGB; ++ type = GL_UNSIGNED_SHORT_5_6_5; ++ } ++ ++ target = GL_TEXTURE_RECTANGLE_ARB; ++ + CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_ROW_LENGTH, +- pixmap->devKind / bpp) ); +- CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS, +- pixmap->drawable.y) ); +- CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS, +- pixmap->drawable.x) ); +- +- if (pixmap->drawable.depth == 24) +- glxFillAlphaChannel(pixmap); +- +- npot = !(glxCountBits(pixmap->drawable.width) == 1 && +- glxCountBits(pixmap->drawable.height) == 1) /* || +- strstr(CALL_GetString(GL_EXTENSIONS, +- "GL_ARB_texture_non_power_of_two")) */ ; +- +- CALL_TexImage2D( GET_DISPATCH(), +- ( npot ? GL_TEXTURE_RECTANGLE_ARB : GL_TEXTURE_2D, +- 0, +- bpp == 4 ? 4 : 3, +- pixmap->drawable.width, +- pixmap->drawable.height, +- 0, +- bpp == 4 ? GL_BGRA : GL_RGB, +- bpp == 4 ? GL_UNSIGNED_BYTE : GL_UNSIGNED_SHORT_5_6_5, +- pixmap->devPrivate.ptr ) ); ++ pixmap->devKind / bpp) ); ++ if (pRegion == NULL) ++ { ++ if (pixmap->drawable.depth == 24) ++ glxFillAlphaChannel(pixmap, ++ pixmap->drawable.x, ++ pixmap->drawable.y, ++ pixmap->drawable.width, ++ pixmap->drawable.height); ++ ++ CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS, ++ pixmap->drawable.x) ); ++ CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS, ++ pixmap->drawable.y) ); ++ ++ CALL_TexImage2D( GET_DISPATCH(), ++ (target, ++ 0, ++ bpp == 4 ? 4 : 3, ++ pixmap->drawable.width, ++ pixmap->drawable.height, ++ 0, ++ format, ++ type, ++ pixmap->devPrivate.ptr) ); ++ } else { ++ int i, numRects; ++ BoxPtr p; ++ ++ numRects = REGION_NUM_RECTS (pRegion); ++ p = REGION_RECTS (pRegion); ++ for (i = 0; i < numRects; i++) ++ { ++ if (pixmap->drawable.depth == 24) ++ glxFillAlphaChannel(pixmap, ++ pixmap->drawable.x + p[i].x1, ++ pixmap->drawable.y + p[i].y1, ++ p[i].x2 - p[i].x1, ++ p[i].y2 - p[i].y1); ++ ++ CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_PIXELS, ++ pixmap->drawable.x + p[i].x1) ); ++ CALL_PixelStorei( GET_DISPATCH(), (GL_UNPACK_SKIP_ROWS, ++ pixmap->drawable.y + p[i].y1) ); ++ ++ CALL_TexSubImage2D( GET_DISPATCH(), ++ (target, ++ 0, ++ p[i].x1, p[i].y1, ++ p[i].x2 - p[i].x1, p[i].y2 - p[i].y1, ++ format, ++ type, ++ pixmap->devPrivate.ptr) ); ++ } ++ } ++ ++ DamageEmpty(glxPixmap->pDamage); + + return Success; + } +--- ./GL/glx/glxext.c.tfp-damage 2006-03-16 20:47:25.000000000 -0500 ++++ ./GL/glx/glxext.c 2006-06-20 20:33:53.000000000 -0400 +@@ -141,6 +141,10 @@ + + pGlxPixmap->idExists = False; + if (!pGlxPixmap->refcnt) { ++ if (pGlxPixmap->pDamage) { ++ DamageUnregister (pGlxPixmap->pDraw, pGlxPixmap->pDamage); ++ DamageDestroy(pGlxPixmap->pDamage); ++ } + /* + ** The DestroyPixmap routine should decrement the refcount and free + ** only if it's zero. diff --git a/x11-base/xorg-server/files/04-mesa-copy-sub-buffer.patch b/x11-base/xorg-server/files/04-mesa-copy-sub-buffer.patch new file mode 100644 index 0000000..2b62dad --- /dev/null +++ b/x11-base/xorg-server/files/04-mesa-copy-sub-buffer.patch @@ -0,0 +1,361 @@ +--- ./GL/glx/glxdrawable.h.mesa-copy-sub-buffer 2006-07-06 21:40:41.000000000 -0400 ++++ ./GL/glx/glxdrawable.h 2006-07-06 21:56:33.000000000 -0400 +@@ -58,6 +58,8 @@ + void (*destroy)(__GLXdrawable *private); + GLboolean (*resize)(__GLXdrawable *private); + GLboolean (*swapBuffers)(__GLXdrawable *); ++ void (*copySubBuffer)(__GLXdrawable *drawable, ++ int x, int y, int w, int h); + + /* + ** list of drawable private structs +--- ./GL/glx/glxcmds.c.mesa-copy-sub-buffer 2006-07-06 21:40:41.000000000 -0400 ++++ ./GL/glx/glxcmds.c 2006-07-06 22:30:01.000000000 -0400 +@@ -1331,21 +1331,14 @@ + + /*****************************************************************************/ + +-/* +-** NOTE: There is no portable implementation for swap buffers as of +-** this time that is of value. Consequently, this code must be +-** implemented by somebody other than SGI. +-*/ +-int __glXSwapBuffers(__GLXclientState *cl, GLbyte *pc) ++static __GLXdrawable * ++SyncContextGetDrawable (__GLXclientState *cl, GLXContextTag tag, ++ XID drawId, int *status) + { + ClientPtr client = cl->client; + DrawablePtr pDraw; +- xGLXSwapBuffersReq *req = (xGLXSwapBuffersReq *) pc; +- GLXContextTag tag = req->contextTag; +- XID drawId = req->drawable; + __GLXpixmap *pGlxPixmap; + __GLXcontext *glxc = NULL; +- int error; + + /* + ** Check that the GLX drawable is valid. +@@ -1361,11 +1354,11 @@ + ** Drawable is an X pixmap, which is not allowed. + */ + client->errorValue = drawId; +- return __glXBadDrawable; ++ *status = __glXBadDrawable; ++ return NULL; + } + } else { +- pGlxPixmap = (__GLXpixmap *) LookupIDByType(drawId, +- __glXPixmapRes); ++ pGlxPixmap = (__GLXpixmap *) LookupIDByType(drawId, __glXPixmapRes); + if (pGlxPixmap) { + /* + ** Drawable is a GLX pixmap. +@@ -1375,21 +1368,23 @@ + ** Drawable is neither a X window nor a GLX pixmap. + */ + client->errorValue = drawId; +- return __glXBadDrawable; ++ *status = __glXBadDrawable; ++ return NULL; + } + } + + if (tag) { + glxc = __glXLookupContextByTag(cl, tag); + if (!glxc) { +- return __glXBadContextTag; ++ *status = __glXBadContextTag; ++ return NULL; + } + /* + ** The calling thread is swapping its current drawable. In this case, + ** glxSwapBuffers is in both GL and X streams, in terms of + ** sequentiality. + */ +- if (__glXForceCurrent(cl, tag, &error)) { ++ if (__glXForceCurrent(cl, tag, status)) { + /* + ** Do whatever is needed to make sure that all preceding requests + ** in both streams are completed before the swap is executed. +@@ -1397,33 +1392,53 @@ + CALL_Finish( GET_DISPATCH(), () ); + __GLX_NOTE_FLUSHED_CMDS(glxc); + } else { +- return error; ++ return NULL; + } + } + ++ *status = Success; + if (pDraw) { +- __GLXdrawable *glxPriv; ++ __GLXdrawable *glxPriv; + + if (glxc) { + glxPriv = __glXGetDrawable(glxc, pDraw, drawId); + if (glxPriv == NULL) { +- return __glXBadDrawable; ++ *status = __glXBadDrawable; ++ return NULL; + } + } + else { + glxPriv = __glXFindDrawable(drawId); + if (glxPriv == NULL) { + /* This is a window we've never seen before, do nothing */ +- return Success; ++ return NULL; + } + } + +- if ((*glxPriv->swapBuffers)(glxPriv) == GL_FALSE) { +- return __glXBadDrawable; +- } ++ return glxPriv; + } + +- return Success; ++ return NULL; ++} ++ ++/* ++** NOTE: There is no portable implementation for swap buffers as of ++** this time that is of value. Consequently, this code must be ++** implemented by somebody other than SGI. ++*/ ++int __glXSwapBuffers(__GLXclientState *cl, GLbyte *pc) ++{ ++ xGLXSwapBuffersReq *req = (xGLXSwapBuffersReq *) pc; ++ GLXContextTag tag = req->contextTag; ++ __GLXdrawable *glxPriv; ++ int status; ++ ++ glxPriv = SyncContextGetDrawable (cl, tag, req->drawable, &status); ++ if (glxPriv && (*glxPriv->swapBuffers)(glxPriv) == GL_FALSE) { ++ return __glXBadDrawable; ++ } ++ ++ return status; + } + + +@@ -1544,6 +1559,30 @@ + pGlxPixmap); + } + ++int __glXCopySubBufferMESA(__GLXclientState *cl, GLbyte *pc) ++{ ++ xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc; ++ GLXContextTag tag = req->contextTag; ++ __GLXdrawable *glxPriv; ++ GLXDrawable drawId; ++ int x, y, width, height; ++ int status; ++ ++ pc += __GLX_VENDPRIV_HDR_SIZE; ++ ++ drawId = *((CARD32 *) (pc)); ++ x = *((INT32 *) (pc + 4)); ++ y = *((INT32 *) (pc + 8)); ++ width = *((INT32 *) (pc + 12)); ++ height = *((INT32 *) (pc + 16)); ++ ++ glxPriv = SyncContextGetDrawable (cl, tag, drawId, &status); ++ if (glxPriv) ++ (*glxPriv->copySubBuffer)(glxPriv, x, y, width, height); ++ ++ return status; ++} ++ + /* + ** Get drawable attributes + */ +@@ -2173,7 +2212,9 @@ + case X_GLXvop_BindTexImageEXT: + return __glXBindTexImageEXT(cl, pc); + case X_GLXvop_ReleaseTexImageEXT: +- return __glXReleaseTexImageEXT(cl, pc); ++ return __glXReleaseTexImageEXT(cl, pc); ++ case X_GLXvop_CopySubBufferMESA: ++ return __glXCopySubBufferMESA(cl, pc); + } + #endif + +--- ./GL/glx/glxdri.c.mesa-copy-sub-buffer 2006-07-06 21:40:41.000000000 -0400 ++++ ./GL/glx/glxdri.c 2006-07-06 21:59:38.000000000 -0400 +@@ -112,12 +112,28 @@ + * months ago. :( + * 20050727 - Gut all the old interfaces. This breaks compatability with + * any DRI driver built to any previous version. ++ * 20060314 - Added support for GLX_MESA_copy_sub_buffer. + */ ++ + #define INTERNAL_VERSION 20050727 + + static const char CREATE_NEW_SCREEN_FUNC[] = + "__driCreateNewScreen_" STRINGIFY (INTERNAL_VERSION); + ++/* The DRI driver entry point version wasn't bumped when the ++ * copySubBuffer functionality was added to the DRI drivers, but the ++ * functionality is still conditional on the value of the ++ * internal_api_version passed to __driCreateNewScreen. However, the ++ * screen constructor doesn't fail for a DRI driver that's older than ++ * the passed in version number, so there's no way we can know for ++ * sure that we can actually use the copySubBuffer functionality. But ++ * since the earliest (and at this point only) released mesa version ++ * (6.5) that uses the 20050727 entry point does have copySubBuffer, ++ * we'll just settle for that. We still have to pass in a higher to ++ * the screen constructor to enable the functionality. ++ */ ++#define COPY_SUB_BUFFER_INTERNAL_VERSION 20060314 ++ + static void + __glXDRIleaveServer(void) + { +@@ -177,6 +193,27 @@ + return TRUE; + } + ++static void ++__glXDRIdrawableCopySubBuffer(__GLXdrawable *basePrivate, ++ int x, int y, int w, int h) ++{ ++ __GLXDRIdrawable *private = (__GLXDRIdrawable *) basePrivate; ++ __GLXDRIscreen *screen; ++ ++ /* FIXME: We're jumping through hoops here to get the DRIdrawable ++ * which the dri driver tries to keep to it self... cf. FIXME in ++ * createDrawable. */ ++ ++ screen = (__GLXDRIscreen *) __glXgetActiveScreen(private->base.pDraw->pScreen->myNum); ++ private->driDrawable = (screen->driScreen.getDrawable)(NULL, ++ private->base.drawId, ++ screen->driScreen.private); ++ ++ (*private->driDrawable->copySubBuffer)(NULL, ++ private->driDrawable->private, ++ x, y, w, h); ++} ++ + static __GLXdrawable * + __glXDRIcontextCreateDrawable(__GLXcontext *context, + DrawablePtr pDraw, +@@ -195,10 +232,11 @@ + return NULL; + } + +- private->base.destroy = __glXDRIdrawableDestroy; +- private->base.resize = __glXDRIdrawableResize; +- private->base.swapBuffers = __glXDRIdrawableSwapBuffers; +- ++ private->base.destroy = __glXDRIdrawableDestroy; ++ private->base.resize = __glXDRIdrawableResize; ++ private->base.swapBuffers = __glXDRIdrawableSwapBuffers; ++ private->base.copySubBuffer = __glXDRIdrawableCopySubBuffer; ++ + #if 0 + /* FIXME: It would only be natural that we called + * driScreen->createNewDrawable here but the DRI drivers manage +@@ -218,7 +256,6 @@ + return &private->base; + } + +- + static void + __glXDRIcontextDestroy(__GLXcontext *baseContext) + { +@@ -770,7 +807,7 @@ + __DRIframebuffer framebuffer; + int fd = -1; + int status; +- int api_ver = INTERNAL_VERSION; ++ int api_ver = COPY_SUB_BUFFER_INTERNAL_VERSION; + drm_magic_t magic; + drmVersionPtr version; + char *driverName; +--- ./GL/glx/g_disptab.h.mesa-copy-sub-buffer 2006-03-11 19:11:33.000000000 -0500 ++++ ./GL/glx/g_disptab.h 2006-07-06 21:56:33.000000000 -0400 +@@ -48,6 +48,7 @@ + extern int __glXSwapBuffers(__GLXclientState*, GLbyte*); + extern int __glXBindTexImageEXT(__GLXclientState *cl, GLbyte *pc); + extern int __glXReleaseTexImageEXT(__GLXclientState *cl, GLbyte *pc); ++extern int __glXCopySubBufferMESA(__GLXclientState *cl, GLbyte *pc); + extern int __glXGetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc); + extern int __glXUseXFont(__GLXclientState*, GLbyte*); + extern int __glXCreateGLXPixmap(__GLXclientState*, GLbyte*); +@@ -76,6 +77,7 @@ + extern int __glXSwapSwapBuffers(__GLXclientState*, GLbyte*); + extern int __glXSwapBindTexImageEXT(__GLXclientState *cl, GLbyte *pc); + extern int __glXSwapReleaseTexImageEXT(__GLXclientState *cl, GLbyte *pc); ++extern int __glXSwapReleaseTexImageEXT(__GLXclientState *cl, GLbyte *pc); + extern int __glXSwapGetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc); + extern int __glXSwapUseXFont(__GLXclientState*, GLbyte*); + extern int __glXSwapCreateGLXPixmap(__GLXclientState*, GLbyte*); +@@ -105,4 +107,11 @@ + extern __GLXdispatchSingleProcPtr __glXSingleTable[__GLX_SINGLE_TABLE_SIZE]; + extern __GLXdispatchRenderProcPtr __glXSwapRenderTable[__GLX_RENDER_TABLE_SIZE]; + extern __GLXdispatchSingleProcPtr __glXSwapSingleTable[__GLX_SINGLE_TABLE_SIZE]; ++ ++/* Copied from mesa src/glx/x11/glxcmds.c ++ * ++ * Apparently there's no standardized opcode for this extension. ++ */ ++#define X_GLXvop_CopySubBufferMESA 5154 /* temporary */ ++ + #endif /* _GLX_g_disptab_h_ */ +--- ./GL/glx/glxscreens.c.mesa-copy-sub-buffer 2006-03-20 15:10:29.000000000 -0500 ++++ ./GL/glx/glxscreens.c 2006-07-06 21:56:33.000000000 -0400 +@@ -139,6 +139,7 @@ + "GLX_SGIX_swap_barrier " + #endif + "GLX_SGIX_fbconfig " ++ "GLX_MESA_copy_sub_buffer " + ; + + __GLXscreen **__glXActiveScreens; +--- ./GL/glx/glxcmdsswap.c.mesa-copy-sub-buffer 2006-04-02 22:09:15.000000000 -0400 ++++ ./GL/glx/glxcmdsswap.c 2006-07-06 21:56:33.000000000 -0400 +@@ -432,6 +432,31 @@ + return __glXReleaseTexImageEXT(cl, (GLbyte *)pc); + } + ++int __glXSwapCopySubBufferMESA(__GLXclientState *cl, GLbyte *pc) ++{ ++ xGLXVendorPrivateReq *req = (xGLXVendorPrivateReq *) pc; ++ GLXDrawable *drawId; ++ int *buffer; ++ ++ (void) drawId; ++ (void) buffer; ++ ++ __GLX_DECLARE_SWAP_VARIABLES; ++ ++ pc += __GLX_VENDPRIV_HDR_SIZE; ++ ++ __GLX_SWAP_SHORT(&req->length); ++ __GLX_SWAP_INT(&req->contextTag); ++ __GLX_SWAP_INT(pc); ++ __GLX_SWAP_INT(pc + 4); ++ __GLX_SWAP_INT(pc + 8); ++ __GLX_SWAP_INT(pc + 12); ++ __GLX_SWAP_INT(pc + 16); ++ ++ return __glXCopySubBufferMESA(cl, pc); ++ ++} ++ + int __glXSwapGetDrawableAttributesSGIX(__GLXclientState *cl, GLbyte *pc) + { + xGLXVendorPrivateWithReplyReq *req = (xGLXVendorPrivateWithReplyReq *)pc; +@@ -899,7 +924,9 @@ + case X_GLXvop_BindTexImageEXT: + return __glXSwapBindTexImageEXT(cl, pc); + case X_GLXvop_ReleaseTexImageEXT: +- return __glXSwapReleaseTexImageEXT(cl, pc); ++ return __glXSwapReleaseTexImageEXT(cl, pc); ++ case X_GLXvop_CopySubBufferMESA: ++ return __glXSwapCopySubBufferMESA(cl, pc); + } + #endif + diff --git a/x11-base/xorg-server/files/05-offscreen-pixmaps.patch b/x11-base/xorg-server/files/05-offscreen-pixmaps.patch new file mode 100644 index 0000000..3841b04 --- /dev/null +++ b/x11-base/xorg-server/files/05-offscreen-pixmaps.patch @@ -0,0 +1,55 @@ +--- ./hw/xfree86/xaa/xaaInit.c.offscreen-pixmaps 2006-07-05 14:31:42.000000000 -0400 ++++ ./hw/xfree86/xaa/xaaInit.c 2006-08-30 16:47:29.000000000 -0400 +@@ -98,6 +98,30 @@ + xfree(infoRec); + } + ++void ++XAAEvictPixmaps(void) ++{ ++ XAAScreenPtr pScreenPriv; ++ XAAInfoRecPtr infoRec; ++ ScreenPtr pScreen; ++ int i; ++ ++ xf86MsgVerb(X_INFO, 3, "XAA: Evicting pixmaps\n"); ++ ++ for (i = 0; i < screenInfo.numScreens; i++) { ++ pScreen = screenInfo.screens[i]; ++ infoRec = GET_XAAINFORECPTR_FROM_SCREEN(pScreen); ++ ++ pScreenPriv = pScreen->devPrivates[XAAScreenIndex].ptr; ++ infoRec = pScreenPriv->AccelInfoRec; ++ ++ infoRec->offscreenDepths = 0; ++ infoRec->Flags &= ~OFFSCREEN_PIXMAPS; ++ ++ XAAMoveOutOffscreenPixmaps(pScreen); ++ XAAInvalidatePixmapCache(pScreen); ++ } ++} + + Bool + XAAInit(ScreenPtr pScreen, XAAInfoRecPtr infoRec) +--- ./GL/glx/glxdri.c.offscreen-pixmaps 2006-08-30 16:46:45.000000000 -0400 ++++ ./GL/glx/glxdri.c 2006-08-30 16:45:52.000000000 -0400 +@@ -367,6 +367,19 @@ + int bpp; + GLenum target, format, type; + ++ /* When the GLX_EXT_texture_from_pixmap is used, as it's ++ * implemented here, we want to pull pixmap out of video memory ++ * and into host memory. */ ++ { ++ extern void XAAEvictPixmaps(void); ++ static int evictedPixmaps; ++ ++ if (!evictedPixmaps) { ++ XAAEvictPixmaps(); ++ evictedPixmaps = TRUE; ++ } ++ } ++ + pixmap = (PixmapPtr) glxPixmap->pDraw; + if (!glxPixmap->pDamage) { + glxPixmap->pDamage = DamageCreate(NULL, NULL, DamageReportNone, diff --git a/x11-base/xorg-server/files/06-aiglx-happy-vt-switch.patch b/x11-base/xorg-server/files/06-aiglx-happy-vt-switch.patch new file mode 100644 index 0000000..314f1f0 --- /dev/null +++ b/x11-base/xorg-server/files/06-aiglx-happy-vt-switch.patch @@ -0,0 +1,241 @@ +diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c +index cfa9996..77fa4bf 100644 +--- a/GL/glx/glxdri.c ++++ b/GL/glx/glxdri.c +@@ -63,27 +63,30 @@ #include "dispatch.h" + #define STRINGIFY(macro_or_string) STRINGIFY_ARG (macro_or_string) + #define STRINGIFY_ARG(contents) #contents + +-typedef struct __GLXDRIscreen __GLXDRIscreen; +-typedef struct __GLXDRIcontext __GLXDRIcontext; ++typedef struct __GLXDRIscreen __GLXDRIscreen; ++typedef struct __GLXDRIcontext __GLXDRIcontext; + typedef struct __GLXDRIdrawable __GLXDRIdrawable; + + struct __GLXDRIscreen { +- __GLXscreen base; ++ __GLXscreen base; + +- __DRIscreen driScreen; +- void *driver; ++ xf86EnterVTProc *enterVT; ++ xf86LeaveVTProc *leaveVT; ++ ++ __DRIscreen driScreen; ++ void *driver; + }; + + struct __GLXDRIcontext { +- __GLXcontext base; ++ __GLXcontext base; + +- __DRIcontext driContext; ++ __DRIcontext driContext; + }; + + struct __GLXDRIdrawable { +- __GLXdrawable base; ++ __GLXdrawable base; + +- __DRIdrawable *driDrawable; ++ __DRIdrawable *driDrawable; + }; + + /* History: +@@ -594,8 +597,7 @@ static __DRIfuncPtr getProcAddress(const + + static __DRIscreen *findScreen(__DRInativeDisplay *dpy, int scrn) + { +- __GLXDRIscreen *screen = +- (__GLXDRIscreen *) __glXgetActiveScreen(scrn); ++ __GLXDRIscreen *screen = (__GLXDRIscreen *) __glXgetActiveScreen(scrn); + + return &screen->driScreen; + } +@@ -789,6 +791,30 @@ static const __DRIinterfaceMethods inter + + static const char dri_driver_path[] = DRI_DRIVER_PATH; + ++static Bool ++glxDRIEnterVT (int index, int flags) ++{ ++ __GLXDRIscreen *screen = (__GLXDRIscreen *) __glXgetActiveScreen(index); ++ ++ LogMessage(X_INFO, "AIGLX: Resuming AIGLX clients after VT switch\n"); ++ ++ glxResumeClients(); ++ ++ return (*screen->enterVT) (index, flags); ++} ++ ++static void ++glxDRILeaveVT (int index, int flags) ++{ ++ __GLXDRIscreen *screen = (__GLXDRIscreen *) __glXgetActiveScreen(index); ++ ++ LogMessage(X_INFO, "AIGLX: Suspending AIGLX clients for VT switch\n"); ++ ++ glxSuspendClients(); ++ ++ return (*screen->leaveVT) (index, flags); ++} ++ + static __GLXscreen * + __glXDRIscreenProbe(ScreenPtr pScreen) + { +@@ -813,6 +839,7 @@ __glXDRIscreenProbe(ScreenPtr pScreen) + void *dev_priv = NULL; + char filename[128]; + Bool isCapable; ++ ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + + if (!xf86LoaderCheckSymbol("DRIQueryDirectRenderingCapable")) { + LogMessage(X_ERROR, "AIGLX: DRI module not loaded\n"); +@@ -983,6 +1010,11 @@ __glXDRIscreenProbe(ScreenPtr pScreen) + + __glXsetEnterLeaveServerFuncs(__glXDRIenterServer, __glXDRIleaveServer); + ++ screen->enterVT = pScrn->EnterVT; ++ pScrn->EnterVT = glxDRIEnterVT; ++ screen->leaveVT = pScrn->LeaveVT; ++ pScrn->LeaveVT = glxDRILeaveVT; ++ + LogMessage(X_INFO, + "AIGLX: Loaded and initialized %s\n", filename); + +diff --git a/GL/glx/glxext.c b/GL/glx/glxext.c +index 8bbb83f..edc257c 100644 +--- a/GL/glx/glxext.c ++++ b/GL/glx/glxext.c +@@ -234,13 +231,11 @@ GLboolean __glXFreeContext(__GLXcontext + * __glXDispatch() or as a callback from the resource manager. In + * the latter case we need to lift the DRI lock manually. */ + +- if (!inDispatch) +- __glXleaveServer(); ++ __glXleaveServer(); + + cx->destroy(cx); + +- if (!inDispatch) +- __glXenterServer(); ++ __glXenterServer(); + + return GL_TRUE; + } +@@ -336,7 +331,7 @@ void GlxExtensionInit(void) + /* + ** Initialize table of client state. There is never a client 0. + */ +- for (i=1; i <= MAXCLIENTS; i++) { ++ for (i = 1; i <= MAXCLIENTS; i++) { + __glXClients[i] = 0; + } + +@@ -407,11 +402,36 @@ __GLXcontext *__glXForceCurrent(__GLXcli + + /************************************************************************/ + +-/* +-** Top level dispatcher; all commands are executed from here down. +-*/ ++static int glxServerLeaveCount; ++static int glxBlockClients; + +-/* I cried when I wrote this. Damn you XAA! */ ++void glxSuspendClients(void) ++{ ++ int i; ++ ++ for (i = 1; i <= MAXCLIENTS; i++) { ++ if (__glXClients[i] == NULL || !__glXClients[i]->inUse) ++ continue; ++ ++ IgnoreClient(__glXClients[i]->client); ++ } ++ ++ glxBlockClients = TRUE; ++} ++ ++void glxResumeClients(void) ++{ ++ int i; ++ ++ glxBlockClients = FALSE; ++ ++ for (i = 1; i <= MAXCLIENTS; i++) { ++ if (__glXClients[i] == NULL || !__glXClients[i]->inUse) ++ continue; ++ ++ AttendClient(__glXClients[i]->client); ++ } ++} + + static void + __glXnopEnterServer(void) +@@ -436,14 +456,19 @@ void __glXsetEnterLeaveServerFuncs(void + + void __glXenterServer(void) + { +- (*__glXenterServerFunc)(); ++ glxServerLeaveCount--; ++ ++ if (glxServerLeaveCount == 0) ++ (*__glXenterServerFunc)(); + } + + void __glXleaveServer(void) + { +- (*__glXleaveServerFunc)(); +-} ++ if (glxServerLeaveCount == 0) ++ (*__glXleaveServerFunc)(); + ++ glxServerLeaveCount++; ++} + + /* + ** Top level dispatcher; all commands are executed from here down. +@@ -496,6 +521,15 @@ static int __glXDispatch(ClientPtr clien + return __glXError(GLXBadLargeRequest); + } + ++ /* If we're currently blocking GLX clients, just put this guy to ++ * sleep, reset the request and return. */ ++ if (glxBlockClients) { ++ ResetCurrentRequest(client); ++ client->sequence--; ++ IgnoreClient(client); ++ return(client->noClientException); ++ } ++ + /* + ** Use the opcode to index into the procedure table. + */ +@@ -506,12 +540,8 @@ static int __glXDispatch(ClientPtr clien + + __glXleaveServer(); + +- inDispatch = True; +- + retval = proc(cl, (GLbyte *) stuff); + +- inDispatch = False; +- + __glXenterServer(); + + return retval; +diff --git a/GL/glx/glxserver.h b/GL/glx/glxserver.h +index 8ece1e2..9eed1bc 100644 +--- a/GL/glx/glxserver.h ++++ b/GL/glx/glxserver.h +@@ -136,6 +136,9 @@ void __glXsetEnterLeaveServerFuncs(void + void __glXenterServer(void); + void __glXleaveServer(void); + ++void glxSuspendClients(void); ++void glxResumeClients(void); ++ + /* + ** State kept per client. + */ diff --git a/x11-base/xorg-server/files/1.1.1-dbe-render.diff b/x11-base/xorg-server/files/1.1.1-dbe-render.diff new file mode 100644 index 0000000..d2f27e5 --- /dev/null +++ b/x11-base/xorg-server/files/1.1.1-dbe-render.diff @@ -0,0 +1,183 @@ +diff --git a/dbe/dbe.c b/dbe/dbe.c +index 5b43dd1..6a2ed6a 100644 +--- a/dbe/dbe.c ++++ b/dbe/dbe.c +@@ -39,6 +39,11 @@ + #endif + + #include <string.h> ++#if HAVE_STDINT_T ++#include <stdint.h> ++#elif !defined(UINT32_MAX) ++#define UINT32_MAX 0xffffffffU ++#endif + + #include <X11/X.h> + #include <X11/Xproto.h> +@@ -713,11 +718,14 @@ ProcDbeSwapBuffers(ClientPtr client) + return(Success); + } + ++ if (nStuff > UINT32_MAX / sizeof(DbeSwapInfoRec)) ++ return BadAlloc; ++ + /* Get to the swap info appended to the end of the request. */ + dbeSwapInfo = (xDbeSwapInfo *)&stuff[1]; + + /* Allocate array to record swap information. */ +- swapInfo = (DbeSwapInfoPtr)ALLOCATE_LOCAL(nStuff * sizeof(DbeSwapInfoRec)); ++ swapInfo = (DbeSwapInfoPtr)Xalloc(nStuff * sizeof(DbeSwapInfoRec)); + if (swapInfo == NULL) + { + return(BadAlloc); +@@ -732,14 +740,14 @@ ProcDbeSwapBuffers(ClientPtr client) + if (!(pWin = SecurityLookupWindow(dbeSwapInfo[i].window, client, + SecurityWriteAccess))) + { +- DEALLOCATE_LOCAL(swapInfo); ++ Xfree(swapInfo); + return(BadWindow); + } + + /* Each window must be double-buffered - BadMatch. */ + if (DBE_WINDOW_PRIV(pWin) == NULL) + { +- DEALLOCATE_LOCAL(swapInfo); ++ Xfree(swapInfo); + return(BadMatch); + } + +@@ -748,7 +756,7 @@ ProcDbeSwapBuffers(ClientPtr client) + { + if (dbeSwapInfo[i].window == dbeSwapInfo[j].window) + { +- DEALLOCATE_LOCAL(swapInfo); ++ Xfree(swapInfo); + return(BadMatch); + } + } +@@ -759,7 +767,7 @@ ProcDbeSwapBuffers(ClientPtr client) + (dbeSwapInfo[i].swapAction != XdbeUntouched ) && + (dbeSwapInfo[i].swapAction != XdbeCopied )) + { +- DEALLOCATE_LOCAL(swapInfo); ++ Xfree(swapInfo); + return(BadValue); + } + +@@ -789,12 +797,12 @@ ProcDbeSwapBuffers(ClientPtr client) + error = (*pDbeScreenPriv->SwapBuffers)(client, &nStuff, swapInfo); + if (error != Success) + { +- DEALLOCATE_LOCAL(swapInfo); ++ Xfree(swapInfo); + return(error); + } + } + +- DEALLOCATE_LOCAL(swapInfo); ++ Xfree(swapInfo); + return(Success); + + } /* ProcDbeSwapBuffers() */ +@@ -876,10 +884,12 @@ ProcDbeGetVisualInfo(ClientPtr client) + + REQUEST_AT_LEAST_SIZE(xDbeGetVisualInfoReq); + ++ if (stuff->n > UINT32_MAX / sizeof(DrawablePtr)) ++ return BadAlloc; + /* Make sure any specified drawables are valid. */ + if (stuff->n != 0) + { +- if (!(pDrawables = (DrawablePtr *)ALLOCATE_LOCAL(stuff->n * ++ if (!(pDrawables = (DrawablePtr *)Xalloc(stuff->n * + sizeof(DrawablePtr)))) + { + return(BadAlloc); +@@ -892,7 +902,7 @@ ProcDbeGetVisualInfo(ClientPtr client) + if (!(pDrawables[i] = (DrawablePtr)SecurityLookupDrawable( + drawables[i], client, SecurityReadAccess))) + { +- DEALLOCATE_LOCAL(pDrawables); ++ Xfree(pDrawables); + return(BadDrawable); + } + } +@@ -904,7 +914,7 @@ ProcDbeGetVisualInfo(ClientPtr client) + { + if (pDrawables) + { +- DEALLOCATE_LOCAL(pDrawables); ++ Xfree(pDrawables); + } + + return(BadAlloc); +@@ -931,7 +941,7 @@ ProcDbeGetVisualInfo(ClientPtr client) + /* Free pDrawables if we needed to allocate it above. */ + if (pDrawables) + { +- DEALLOCATE_LOCAL(pDrawables); ++ Xfree(pDrawables); + } + + return(BadAlloc); +@@ -1012,7 +1022,7 @@ ProcDbeGetVisualInfo(ClientPtr client) + + if (pDrawables) + { +- DEALLOCATE_LOCAL(pDrawables); ++ Xfree(pDrawables); + } + + return(client->noClientException); +diff --git a/render/render.c b/render/render.c +index e4d8d6b..55f360a 100644 +--- a/render/render.c ++++ b/render/render.c +@@ -47,6 +47,12 @@ + #include <X11/Xfuncproto.h> + #include "cursorstr.h" + ++#if HAVE_STDINT_H ++#include <stdint.h> ++#elif !defined(UINT32_MAX) ++#define UINT32_MAX 0xffffffffU ++#endif ++ + static int ProcRenderQueryVersion (ClientPtr pClient); + static int ProcRenderQueryPictFormats (ClientPtr pClient); + static int ProcRenderQueryPictIndexValues (ClientPtr pClient); +@@ -1103,11 +1109,14 @@ ProcRenderAddGlyphs (ClientPtr client) + } + + nglyphs = stuff->nglyphs; ++ if (nglyphs > UINT32_MAX / sizeof(GlyphNewRec)) ++ return BadAlloc; ++ + if (nglyphs <= NLOCALGLYPH) + glyphsBase = glyphsLocal; + else + { +- glyphsBase = (GlyphNewPtr) ALLOCATE_LOCAL (nglyphs * sizeof (GlyphNewRec)); ++ glyphsBase = (GlyphNewPtr) Xalloc (nglyphs * sizeof (GlyphNewRec)); + if (!glyphsBase) + return BadAlloc; + } +@@ -1164,7 +1173,7 @@ ProcRenderAddGlyphs (ClientPtr client) + } + + if (glyphsBase != glyphsLocal) +- DEALLOCATE_LOCAL (glyphsBase); ++ Xfree (glyphsBase); + return client->noClientException; + bail: + while (glyphs != glyphsBase) +@@ -1173,7 +1182,7 @@ bail: + xfree (glyphs->glyph); + } + if (glyphsBase != glyphsLocal) +- DEALLOCATE_LOCAL (glyphsBase); ++ Xfree (glyphsBase); + return err; + } + diff --git a/x11-base/xorg-server/files/1.1.1-fix-xrandr-zoom-keys.patch b/x11-base/xorg-server/files/1.1.1-fix-xrandr-zoom-keys.patch new file mode 100644 index 0000000..fc9bd8d --- /dev/null +++ b/x11-base/xorg-server/files/1.1.1-fix-xrandr-zoom-keys.patch @@ -0,0 +1,186 @@ +diff --git a/dix/Makefile.am b/dix/Makefile.am +index c9a19f7..414f125 100644 +--- a/dix/Makefile.am ++++ b/dix/Makefile.am +@@ -29,7 +29,8 @@ libdix_la_SOURCES = \ + swaprep.c \ + swapreq.c \ + tables.c \ +- window.c ++ window.c \ ++ strcasecmp.c + + libxpstubs_la_SOURCES = \ + xpstubs.c +diff --git a/hw/xfree86/dixmods/Makefile.am b/hw/xfree86/dixmods/Makefile.am +index d1b806a..9023a0c 100644 +--- a/hw/xfree86/dixmods/Makefile.am ++++ b/hw/xfree86/dixmods/Makefile.am +@@ -95,6 +95,7 @@ libtype1_la_SOURCES = type1mod.c + libdixmods_la_SOURCES = $(top_srcdir)/mi/miinitext.c + + libxorgxkb_la_SOURCES = xkbVT.c xkbPrivate.c xkbKillSrv.c ++libxorgxkb_la_LIBADD = $(top_builddir)/dix/libdix.la + + libxtrap_la_LDFLAGS = -avoid-version + libxtrap_la_LIBADD = $(top_builddir)/XTrap/libxtrap.la +diff --git a/hw/xfree86/dixmods/xkbPrivate.c b/hw/xfree86/dixmods/xkbPrivate.c +index 0479bca..b986432 100644 +--- a/hw/xfree86/dixmods/xkbPrivate.c ++++ b/hw/xfree86/dixmods/xkbPrivate.c +@@ -26,13 +26,13 @@ XkbDDXPrivate(DeviceIntPtr dev,KeyCode k + if (xf86act->type == XkbSA_XFree86Private) { + memcpy(msgbuf, xf86act->data, XkbAnyActionDataSize); + msgbuf[XkbAnyActionDataSize]= '\0'; +- if (strcmp(msgbuf, "-vmode")==0) ++ if (strcasecmp(msgbuf, "-vmode")==0) + xf86ProcessActionEvent(ACTION_PREV_MODE, NULL); +- else if (strcmp(msgbuf, "+vmode")==0) ++ else if (strcasecmp(msgbuf, "+vmode")==0) + xf86ProcessActionEvent(ACTION_NEXT_MODE, NULL); +- else if (strcmp(msgbuf, "ungrab")==0) ++ else if (strcasecmp(msgbuf, "ungrab")==0) + xf86ProcessActionEvent(ACTION_DISABLEGRAB, NULL); +- else if (strcmp(msgbuf, "clsgrb")==0) ++ else if (strcasecmp(msgbuf, "clsgrb")==0) + xf86ProcessActionEvent(ACTION_CLOSECLIENT, NULL); + else + xf86ProcessActionEvent(ACTION_MESSAGE, (void *) msgbuf); +diff --git a/include/dix.h b/include/dix.h +index 0177721..84fc849 100644 +--- a/include/dix.h ++++ b/include/dix.h +@@ -820,4 +820,10 @@ typedef struct { + SelectionCallbackKind kind; + } SelectionInfoRec; + ++/* strcasecmp.c */ ++#if NEED_STRCASECMP ++#define strcasecmp xstrcasecmp ++extern int xstrcasecmp(char *s1, char *s2); ++#endif ++ + #endif /* DIX_H */ +diff --git a/xkb/maprules.c b/xkb/maprules.c +index d4e9829..eff02ad 100644 +--- a/xkb/maprules.c ++++ b/xkb/maprules.c +@@ -62,12 +62,6 @@ #define PR_DEBUG1(s,a) + #define PR_DEBUG2(s,a,b) + #endif + +-#ifdef NEED_STRCASECMP +-extern int _XkbStrCaseCmp(char *s1, char *s2); +-#else +-#define _XkbStrCaseCmp strcasecmp +-#endif +- + /***====================================================================***/ + + #define DFLT_LINE_SIZE 128 +@@ -1092,20 +1086,20 @@ int len,headingtype,extra_ndx = 0; + for ( ; GetInputLine(file,&line,False); line.num_line= 0) { + if (line.line[0]=='!') { + tok = strtok(&(line.line[1]), " \t"); +- if (_XkbStrCaseCmp(tolower(tok),"model") == 0) ++ if (strcasecmp(tok,"model") == 0) + headingtype = HEAD_MODEL; +- else if (_XkbStrCaseCmp(tok,"layout") == 0) ++ else if (strcasecmp(tok,"layout") == 0) + headingtype = HEAD_LAYOUT; +- else if (_XkbStrCaseCmp(tok,"variant") == 0) ++ else if (strcasecmp(tok,"variant") == 0) + headingtype = HEAD_VARIANT; +- else if (_XkbStrCaseCmp(tok,"option") == 0) ++ else if (strcasecmp(tok,"option") == 0) + headingtype = HEAD_OPTION; + else { + int i; + headingtype = HEAD_EXTRA; + extra_ndx= -1; + for (i=0;(i<rules->num_extra)&&(extra_ndx<0);i++) { +- if (!_XkbStrCaseCmp(tok,rules->extra_names[i])) ++ if (!strcasecmp(tok,rules->extra_names[i])) + extra_ndx= i; + } + if (extra_ndx<0) { +diff --git a/xkb/xkbfmisc.c b/xkb/xkbfmisc.c +index 3389ba8..3ed68c2 100644 +--- a/xkb/xkbfmisc.c ++++ b/xkb/xkbfmisc.c +@@ -247,19 +247,3 @@ XkbNameMatchesPattern(char *name,char *p + /* if we get here, the pattern is exhausted (-:just like me:-) */ + return (name[0]=='\0'); + } +- +-#ifdef NEED_STRCASECMP +-_X_HIDDEN int +-_XkbStrCaseCmp(char *str1,char *str2) +-{ +- const u_char *us1 = (const u_char *)str1, *us2 = (const u_char *)str2; +- +- while (tolower(*us1) == tolower(*us2)) { +- if (*us1++ == '\0') +- return (0); +- us2++; +- } +- +- return (tolower(*us1) - tolower(*us2)); +-} +-#endif +diff --git a/dix/strcasecmp.c b/dix/strcasecmp.c +new file mode 100644 +index 0000000..bf3f008 +--- /dev/null ++++ b/dix/strcasecmp.c +@@ -0,0 +1,50 @@ ++/* $Xorg: xkbmisc.c,v 1.4 2000/08/17 19:46:44 cpqbld Exp $ */ ++/************************************************************ ++ Copyright (c) 1995 by Silicon Graphics Computer Systems, Inc. ++ ++ Permission to use, copy, modify, and distribute this ++ software and its documentation for any purpose and without ++ fee is hereby granted, provided that the above copyright ++ notice appear in all copies and that both that copyright ++ notice and this permission notice appear in supporting ++ documentation, and that the name of Silicon Graphics not be ++ used in advertising or publicity pertaining to distribution ++ of the software without specific prior written permission. ++ Silicon Graphics makes no representation about the suitability ++ of this software for any purpose. It is provided "as is" ++ without any express or implied warranty. ++ ++ SILICON GRAPHICS DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS ++ SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY ++ AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL SILICON ++ GRAPHICS BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL ++ DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, ++ DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE ++ OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH ++ THE USE OR PERFORMANCE OF THIS SOFTWARE. ++ ++ ********************************************************/ ++/* $XFree86: xc/lib/xkbfile/xkbmisc.c,v 1.7 2003/07/16 02:31:10 dawes Exp $ */ ++ ++#ifdef HAVE_DIX_CONFIG_H ++#include <dix-config.h> ++#endif ++ ++#include <ctype.h> ++#include "dix.h" ++ ++#ifdef NEED_STRCASECMP ++int ++xstrcasecmp(char *str1,char *str2) ++{ ++ const u_char *us1 = (const u_char *)str1, *us2 = (const u_char *)str2; ++ ++ while (tolower(*us1) == tolower(*us2)) { ++ if (*us1++ == '\0') ++ return (0); ++ us2++; ++ } ++ ++ return (tolower(*us1) - tolower(*us2)); ++} ++#endif diff --git a/x11-base/xorg-server/files/1.1.1-fix_acpi_tokenize.patch b/x11-base/xorg-server/files/1.1.1-fix_acpi_tokenize.patch new file mode 100644 index 0000000..407617f --- /dev/null +++ b/x11-base/xorg-server/files/1.1.1-fix_acpi_tokenize.patch @@ -0,0 +1,21 @@ +commit 0567a6337b84fa045b5732e98203f488274aa2a2 +Author: Bram Verweij <amverweij@gmail.com> +Date: Wed Nov 8 18:00:52 2006 +0200 + + xfree86/linux acpi: fix tokenising + Split on a space, rather on the 'video' string, as strtok takes a char, + not a string. + +diff --git a/hw/xfree86/os-support/linux/lnx_acpi.c b/hw/xfree86/os-support/linux/lnx_acpi.c +index aa30e72..024e6ef 100644 +--- a/hw/xfree86/os-support/linux/lnx_acpi.c ++++ b/hw/xfree86/os-support/linux/lnx_acpi.c +@@ -78,7 +78,7 @@ lnxACPIGetEventFromOs(int fd, pmEvent *e + char *data = NULL; /* doesn't appear to be used in the kernel */ + unsigned long int notify_l, data_l; + +- video = strtok(ev, "video"); ++ video = strtok(ev, " "); + + GFX = strtok(NULL, " "); + #if 0 diff --git a/x11-base/xorg-server/files/1.1.1-fix_big_endian_glx.patch b/x11-base/xorg-server/files/1.1.1-fix_big_endian_glx.patch new file mode 100644 index 0000000..5bc902b --- /dev/null +++ b/x11-base/xorg-server/files/1.1.1-fix_big_endian_glx.patch @@ -0,0 +1,24 @@ +commit 3ad1642f1bbaa5f96558cdf3384b40f7122f8781 +Author: Michel Dänzer <michel@tungstengraphics.com> +Date: Sun Oct 15 16:57:09 2006 +0200 + + Fix __glXDRIbindTexImage() for 32 bpp on big endian platforms. + +diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c +index b572304..170662c 100644 +--- a/GL/glx/glxdri.c ++++ b/GL/glx/glxdri.c +@@ -359,7 +359,12 @@ __glXDRIbindTexImage(__GLXcontext *baseC + if (pixmap->drawable.depth >= 24) { + bpp = 4; + format = GL_BGRA; +- type = GL_UNSIGNED_BYTE; ++ type = ++#if X_BYTE_ORDER == X_LITTLE_ENDIAN ++ GL_UNSIGNED_BYTE; ++#else ++ GL_UNSIGNED_INT_8_8_8_8_REV; ++#endif + } else { + bpp = 2; + format = GL_RGB; diff --git a/x11-base/xorg-server/files/1.1.1-fixdualhead.patch b/x11-base/xorg-server/files/1.1.1-fixdualhead.patch new file mode 100644 index 0000000..7b0513d --- /dev/null +++ b/x11-base/xorg-server/files/1.1.1-fixdualhead.patch @@ -0,0 +1,28 @@ +https://bugs.gentoo.org/show_bug.cgi?id=159375 + +diff --git a/GL/glx/glxdri.c b/GL/glx/glxdri.c +index 4935b0a..9c3cac0 100644 +--- a/GL/glx/glxdri.c ++++ b/GL/glx/glxdri.c +@@ -121,19 +121,13 @@ static const char CREATE_NEW_SCREEN_FUNC + static void + __glXDRIleaveServer(void) + { +- int i; +- +- for (i = 0; i < screenInfo.numScreens; i++) +- DRIDoBlockHandler(i, NULL, NULL, NULL); ++ DRIBlockHandler(NULL, NULL, NULL); + } + + static void + __glXDRIenterServer(void) + { +- int i; +- +- for (i = 0; i < screenInfo.numScreens; i++) +- DRIDoWakeupHandler(i, NULL, 0, NULL); ++ DRIWakeupHandler(NULL, 0, NULL); + } + + static void diff --git a/x11-base/xorg-server/files/1.1.1-sparc-includes.patch b/x11-base/xorg-server/files/1.1.1-sparc-includes.patch new file mode 100644 index 0000000..3408d20 --- /dev/null +++ b/x11-base/xorg-server/files/1.1.1-sparc-includes.patch @@ -0,0 +1,28 @@ +diff -Nura xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_io.c xorg-server-1.1.1.sparc/hw/xfree86/os-support/linux/lnx_io.c +--- xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_io.c 2006-07-05 15:31:41.000000000 -0300 ++++ xorg-server-1.1.1.sparc/hw/xfree86/os-support/linux/lnx_io.c 2007-01-18 14:43:53.000000000 -0300 +@@ -72,10 +72,6 @@ + + #include <linux/kd.h> + #include <linux/version.h> +-#ifdef __sparc__ +-#include <asm/param.h> +-#include <asm/kbio.h> +-#endif + + /* Deal with spurious kernel header change in struct kbd_repeat. + We undo this define after the routine using that struct is over, +diff -Nura xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_kbd.c xorg-server-1.1.1.sparc/hw/xfree86/os-support/linux/lnx_kbd.c +--- xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_kbd.c 2006-07-05 15:31:41.000000000 -0300 ++++ xorg-server-1.1.1.sparc/hw/xfree86/os-support/linux/lnx_kbd.c 2007-01-18 14:44:55.000000000 -0300 +@@ -102,10 +102,6 @@ + + #include <linux/kd.h> + #include <linux/version.h> +-#ifdef __sparc__ +-#include <asm/param.h> +-#include <asm/kbio.h> +-#endif + + /* Deal with spurious kernel header change in struct kbd_repeat. + We undo this define after the routine using that struct is over, diff --git a/x11-base/xorg-server/files/1.1.1-sparc64-ati-lockups.patch b/x11-base/xorg-server/files/1.1.1-sparc64-ati-lockups.patch new file mode 100644 index 0000000..d44d969 --- /dev/null +++ b/x11-base/xorg-server/files/1.1.1-sparc64-ati-lockups.patch @@ -0,0 +1,18 @@ +diff --git a/hw/xfree86/os-support/bus/linuxPci.c b/hw/xfree86/os-support/bus/linuxPci.c +index a3c07f3..a97e6f0 100644 +--- a/hw/xfree86/os-support/bus/linuxPci.c ++++ b/hw/xfree86/os-support/bus/linuxPci.c +@@ -83,7 +83,13 @@ #if defined(__powerpc__) + /* pciAddrBusToHost */ linuxPpcBusAddrToHostAddr, + #else + /* pciAddrHostToBus */ pciAddrNOOP, ++/* linuxTransAddrBusToHost is busted on sparc64 but the PCI rework tree ++ * makes it all moot, so we kludge it for now */ ++#if defined(__sparc__) ++/* pciAddrBusToHost */ pciAddrNOOP, ++#else + /* pciAddrBusToHost */ linuxTransAddrBusToHost, ++#endif /* __sparc64__ */ + #endif + + /* pciControlBridge */ NULL, diff --git a/x11-base/xorg-server/files/1.2.0-client-leak.patch b/x11-base/xorg-server/files/1.2.0-client-leak.patch new file mode 100644 index 0000000..02e52db --- /dev/null +++ b/x11-base/xorg-server/files/1.2.0-client-leak.patch @@ -0,0 +1,11 @@ +--- a/os/connection.c ++++ b/os/connection.c +@@ -1066,6 +1066,8 @@ CloseDownConnection(ClientPtr client) + XdmcpCloseDisplay(oc->fd); + #endif + CloseDownFileDescriptor(oc); ++ FreeOsBuffers(oc); ++ xfree(client->osPrivate); + client->osPrivate = (pointer)NULL; + if (auditTrailLevel > 1) + AuditF("client %d disconnected\n", client->index); diff --git a/x11-base/xorg-server/files/1.2.0-server-damage-version.patch b/x11-base/xorg-server/files/1.2.0-server-damage-version.patch new file mode 100644 index 0000000..e03ae0e --- /dev/null +++ b/x11-base/xorg-server/files/1.2.0-server-damage-version.patch @@ -0,0 +1,38 @@ +--- a/damageext/damageext.c ++++ b/damageext/damageext.c +@@ -35,6 +35,13 @@ int DamageClientPrivateIndex; + RESTYPE DamageExtType; + RESTYPE DamageExtWinType; + ++/* Version of the damage extension supported by the server, as opposed to the ++ * DAMAGE_* defines from damageproto for what version the proto header ++ * supports. ++ */ ++#define SERVER_DAMAGE_MAJOR 1 ++#define SERVER_DAMAGE_MINOR 0 ++ + #define prScreen screenInfo.screens[0] + + static void +@@ -143,16 +150,16 @@ ProcDamageQueryVersion(ClientPtr client) + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +- if (stuff->majorVersion < DAMAGE_MAJOR) { ++ if (stuff->majorVersion < SERVER_DAMAGE_MAJOR) { + rep.majorVersion = stuff->majorVersion; + rep.minorVersion = stuff->minorVersion; + } else { +- rep.majorVersion = DAMAGE_MAJOR; +- if (stuff->majorVersion == DAMAGE_MAJOR && +- stuff->minorVersion < DAMAGE_MINOR) ++ rep.majorVersion = SERVER_DAMAGE_MAJOR; ++ if (stuff->majorVersion == SERVER_DAMAGE_MAJOR && ++ stuff->minorVersion < SERVER_DAMAGE_MINOR) + rep.minorVersion = stuff->minorVersion; + else +- rep.minorVersion = DAMAGE_MINOR; ++ rep.minorVersion = SERVER_DAMAGE_MINOR; + } + pDamageClient->major_version = rep.majorVersion; + pDamageClient->minor_version = rep.minorVersion; diff --git a/x11-base/xorg-server/files/1.2.0-server-randr-version.patch b/x11-base/xorg-server/files/1.2.0-server-randr-version.patch new file mode 100644 index 0000000..05432b6 --- /dev/null +++ b/x11-base/xorg-server/files/1.2.0-server-randr-version.patch @@ -0,0 +1,13 @@ +--- randr/randr.c.old 2007-02-19 14:01:55.000000000 -0700 ++++ randr/randr.c 2007-02-19 14:02:12.000000000 -0700 +@@ -472,8 +472,8 @@ + rep.type = X_Reply; + rep.length = 0; + rep.sequenceNumber = client->sequence; +- rep.majorVersion = RANDR_MAJOR; +- rep.minorVersion = RANDR_MINOR; ++ rep.majorVersion = 1; ++ rep.minorVersion = 1; + if (client->swapped) { + swaps(&rep.sequenceNumber, n); + swapl(&rep.length, n); diff --git a/x11-base/xorg-server/files/1.2.99.0-fix-sysconfdir-references.patch b/x11-base/xorg-server/files/1.2.99.0-fix-sysconfdir-references.patch new file mode 100644 index 0000000..7d5b8ab --- /dev/null +++ b/x11-base/xorg-server/files/1.2.99.0-fix-sysconfdir-references.patch @@ -0,0 +1,11 @@ +--- configure.ac.old 2006-11-04 15:27:24.000000000 -0700 ++++ configure.ac 2006-11-04 15:28:32.000000000 -0700 +@@ -1342,7 +1342,7 @@ + + dnl these only go in xorg-config.h + XF86CONFIGFILE="xorg.conf" +- CONFIGFILE="$sysconfdir/$XF86CONFIGFILE" ++ CONFIGFILE="$sysconfdir/X11/$XF86CONFIGFILE" + LOGPREFIX="$logdir/Xorg." + AC_DEFINE(XORG_SERVER, 1, [Building Xorg server]) + AC_DEFINE(XORGSERVER, 1, [Building Xorg server]) diff --git a/x11-base/xorg-server/files/digest-xorg-server-1.2.0-r1 b/x11-base/xorg-server/files/digest-xorg-server-1.2.0-r1 new file mode 100644 index 0000000..a78fe15 --- /dev/null +++ b/x11-base/xorg-server/files/digest-xorg-server-1.2.0-r1 @@ -0,0 +1,6 @@ +MD5 e4d894181f1859651658b3704633e10d MesaLib-6.5.2.tar.bz2 3295166 +RMD160 9a92d69110c066ae6734bcaafb78f222ac2df6d3 MesaLib-6.5.2.tar.bz2 3295166 +SHA256 137f50a30461d51eb9af5aac737bc788d536354cf47b26129b97bde6e41fb85f MesaLib-6.5.2.tar.bz2 3295166 +MD5 ea291c89e68832d570d9d5e007218bd6 xorg-server-1.2.0.tar.bz2 6014596 +RMD160 0bbc5ccb5cbbe7627b4f09f17848b188e8be2a50 xorg-server-1.2.0.tar.bz2 6014596 +SHA256 e3e56b35ee13098f4ee79948beb20bfc9a06d1a7a35fb906405ff1531b92bb85 xorg-server-1.2.0.tar.bz2 6014596 diff --git a/x11-base/xorg-server/files/digest-xorg-server-1.2.0-r2 b/x11-base/xorg-server/files/digest-xorg-server-1.2.0-r2 new file mode 100644 index 0000000..a78fe15 --- /dev/null +++ b/x11-base/xorg-server/files/digest-xorg-server-1.2.0-r2 @@ -0,0 +1,6 @@ +MD5 e4d894181f1859651658b3704633e10d MesaLib-6.5.2.tar.bz2 3295166 +RMD160 9a92d69110c066ae6734bcaafb78f222ac2df6d3 MesaLib-6.5.2.tar.bz2 3295166 +SHA256 137f50a30461d51eb9af5aac737bc788d536354cf47b26129b97bde6e41fb85f MesaLib-6.5.2.tar.bz2 3295166 +MD5 ea291c89e68832d570d9d5e007218bd6 xorg-server-1.2.0.tar.bz2 6014596 +RMD160 0bbc5ccb5cbbe7627b4f09f17848b188e8be2a50 xorg-server-1.2.0.tar.bz2 6014596 +SHA256 e3e56b35ee13098f4ee79948beb20bfc9a06d1a7a35fb906405ff1531b92bb85 xorg-server-1.2.0.tar.bz2 6014596 diff --git a/x11-base/xorg-server/files/digest-xorg-server-1.3.0.0 b/x11-base/xorg-server/files/digest-xorg-server-1.3.0.0 new file mode 100644 index 0000000..e7c3cc0 --- /dev/null +++ b/x11-base/xorg-server/files/digest-xorg-server-1.3.0.0 @@ -0,0 +1,6 @@ +MD5 e4d894181f1859651658b3704633e10d MesaLib-6.5.2.tar.bz2 3295166 +RMD160 9a92d69110c066ae6734bcaafb78f222ac2df6d3 MesaLib-6.5.2.tar.bz2 3295166 +SHA256 137f50a30461d51eb9af5aac737bc788d536354cf47b26129b97bde6e41fb85f MesaLib-6.5.2.tar.bz2 3295166 +MD5 a51a7d482e3c689394755bb17bda8526 xorg-server-1.3.0.0.tar.bz2 5968263 +RMD160 1a4fecd73aed0d5adabe84066c24ce69dc2c2dc1 xorg-server-1.3.0.0.tar.bz2 5968263 +SHA256 93c656f142f37607c15372dd24c5de9eab82cd79c5d60449174a928d345c2975 xorg-server-1.3.0.0.tar.bz2 5968263 diff --git a/x11-base/xorg-server/files/xorg-conf-example.patch b/x11-base/xorg-server/files/xorg-conf-example.patch new file mode 100644 index 0000000..8ec7476 --- /dev/null +++ b/x11-base/xorg-server/files/xorg-conf-example.patch @@ -0,0 +1,56 @@ +--- configure.ac.old 2006-09-24 11:30:40.000000000 -0600 ++++ configure.ac 2006-09-24 11:31:11.000000000 -0600 +@@ -806,6 +806,7 @@ + + AC_DEFINE_DIR(COMPILEDDEFAULTFONTPATH, FONTPATH, [Default font path]) + AC_DEFINE_DIR(RGB_DB, RGBPATH, [Default RGB path]) ++AC_DEFINE_DIR(BASE_FONT_PATH, FONTDIR, [Default base font path]) + AC_DEFINE_DIR(DRI_DRIVER_PATH, DRI_DRIVER_PATH, [Default DRI driver path]) + AC_DEFINE_UNQUOTED(XVENDORNAME, ["$VENDOR_STRING"], [Vendor name]) + AC_DEFINE_UNQUOTED(XVENDORNAMESHORT, ["$VENDOR_STRING_SHORT"], [Short vendor name]) +--- hw/xfree86/xorgconf.cpp.old 2006-09-29 19:02:00.000000000 -0600 ++++ hw/xfree86/xorgconf.cpp 2006-09-29 19:02:07.000000000 -0600 +@@ -54,10 +54,7 @@ + + FontPath LOCALFONTPATH + FontPath MISCFONTPATH +- FontPath DPI75USFONTPATH +- FontPath DPI100USFONTPATH + FontPath T1FONTPATH +- FontPath TRUETYPEFONTPATH ++ FontPath TRUETYPEFONTPATH + FontPath CIDFONTPATH +- FontPath SPFONTPATH + FontPath DPI75FONTPATH +--- hw/xfree86/Makefile.am.old 2006-09-24 11:59:57.000000000 -0600 ++++ hw/xfree86/Makefile.am 2006-09-24 11:59:51.000000000 -0600 +@@ -1,3 +1,5 @@ ++include $(top_srcdir)/cpprules.in ++ + if DRI + DRI_SUBDIR = dri + endif +@@ -75,7 +77,23 @@ + optionsdir = $(libdir)/X11 + dist_options_DATA = Options + ++BUILT_SOURCES = xorg.conf.example ++CLEAN = xorg.conf.example xorg.conf.example.pre + EXTRA_DIST = xorgconf.cpp + ++CPP_FILES_FLAGS = \ ++ -DRGBPATH=\"$(RGB_DB)\" \ ++ -DLOCALFONTPATH="\"$(BASE_FONT_PATH)/local\"" \ ++ -DMISCFONTPATH="\"$(BASE_FONT_PATH)/misc\"" \ ++ -DT1FONTPATH="\"$(BASE_FONT_PATH)/Type1\"" \ ++ -DTRUETYPEFONTPATH="\"$(BASE_FONT_PATH)/TTF\"" \ ++ -DCIDFONTPATH="\"$(BASE_FONT_PATH)/CID\"" \ ++ -DDPI75FONTPATH="\"$(BASE_FONT_PATH)/75dpi\"" \ ++ -DDPI100FONTPATH="\"$(BASE_FONT_PATH)/100dpi\"" \ ++ -DMODULEPATH=\"$(DEFAULT_MODULE_PATH)\" ++ + relink: + rm -f Xorg && $(MAKE) Xorg ++ ++xorg.conf.example.pre: xorgconf.cpp ++ cp $< $@ diff --git a/x11-base/xorg-server/files/xorg-server-1.1.1-install-libxf86config-headers.patch b/x11-base/xorg-server/files/xorg-server-1.1.1-install-libxf86config-headers.patch new file mode 100644 index 0000000..07b5219 --- /dev/null +++ b/x11-base/xorg-server/files/xorg-server-1.1.1-install-libxf86config-headers.patch @@ -0,0 +1,19 @@ +diff --git a/hw/xfree86/parser/Makefile.am b/hw/xfree86/parser/Makefile.am +index acda83d..6b9b62a 100644 +--- a/hw/xfree86/parser/Makefile.am ++++ b/hw/xfree86/parser/Makefile.am +@@ -25,10 +25,12 @@ libxf86config_a_SOURCES = \ + + AM_CFLAGS = $(XORG_CFLAGS) + ++sdk_HEADERS = \ ++ xf86Optrec.h \ ++ xf86Parser.h ++ + EXTRA_DIST = \ + Configint.h \ + configProcs.h \ +- xf86Optrec.h \ +- xf86Parser.h \ + xf86tokens.h \ + cpconfig.c diff --git a/x11-base/xorg-server/files/xorg-server-1.2.0-loongson.patch b/x11-base/xorg-server/files/xorg-server-1.2.0-loongson.patch new file mode 100644 index 0000000..04ee66e --- /dev/null +++ b/x11-base/xorg-server/files/xorg-server-1.2.0-loongson.patch @@ -0,0 +1,51 @@ +diff -urN xorg-server-1.1.1.orig/hw/xfree86/dri/sarea.h xorg-server-1.1.1/hw/xfree86/dri/sarea.h +--- xorg-server-1.1.1.orig/hw/xfree86/dri/sarea.h 2006-07-06 02:31:40.000000000 +0800 ++++ xorg-server-1.1.1/hw/xfree86/dri/sarea.h 2007-02-01 14:23:47.000000000 +0800 +@@ -44,6 +44,8 @@ + /* SAREA area needs to be at least a page */ + #if defined(__alpha__) + #define SAREA_MAX 0x2000 ++#elif defined(__mips__) ++#define SAREA_MAX 0x4000 + #elif defined(__ia64__) + #define SAREA_MAX 0x10000 /* 64kB */ + #else +diff -urN xorg-server-1.1.1.orig/hw/xfree86/os-support/linux/lnx_video.c xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_video.c +--- xorg-server-1.1.1.orig/hw/xfree86/os-support/linux/lnx_video.c 2007-02-28 21:14:05.000000000 +0800 ++++ xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_video.c 2007-02-01 12:29:26.000000000 +0800 +@@ -540,9 +540,10 @@ + _X_EXPORT Bool + xf86EnableIO(void) + { +-#if defined(__powerpc__) ++#if defined(__powerpc__) || defined(__mips__) + int fd; + unsigned int ioBase_phys; ++ extern unsigned int IOPortBase; + #endif + + if (ExtendedEnabled) +@@ -569,7 +570,22 @@ + #endif + } + close(fd); +-#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) ++#elif defined(__mips__) ++ fd = open("/dev/mem", O_RDWR); ++ IOPortBase = (volatile unsigned char *)mmap(0, 0x20000, ++ PROT_READ | PROT_WRITE, MAP_SHARED, fd, ++ 0x1fd00000); ++ if (IOPortBase == MAP_FAILED) { ++ xf86Msg(X_WARNING, ++ "xf86EnableIOPorts: Failed to map iobase (%s)\n", ++ strerror(errno)); ++ return FALSE; ++ } ++ close(fd); ++ xf86Msg(X_WARNING, ++ "xf86EnableIOPorts: map iobase (%x)\n", ++ IOPortBase); ++#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__sh__) && !defined(__hppa__) + if (ioperm(0, 1024, 1) || iopl(3)) { + if (errno == ENODEV) + ErrorF("xf86EnableIOPorts: no I/O ports found\n"); diff --git a/x11-base/xorg-server/files/xorg-server-1.3.0.0-loongson.patch b/x11-base/xorg-server/files/xorg-server-1.3.0.0-loongson.patch new file mode 100644 index 0000000..04ee66e --- /dev/null +++ b/x11-base/xorg-server/files/xorg-server-1.3.0.0-loongson.patch @@ -0,0 +1,51 @@ +diff -urN xorg-server-1.1.1.orig/hw/xfree86/dri/sarea.h xorg-server-1.1.1/hw/xfree86/dri/sarea.h +--- xorg-server-1.1.1.orig/hw/xfree86/dri/sarea.h 2006-07-06 02:31:40.000000000 +0800 ++++ xorg-server-1.1.1/hw/xfree86/dri/sarea.h 2007-02-01 14:23:47.000000000 +0800 +@@ -44,6 +44,8 @@ + /* SAREA area needs to be at least a page */ + #if defined(__alpha__) + #define SAREA_MAX 0x2000 ++#elif defined(__mips__) ++#define SAREA_MAX 0x4000 + #elif defined(__ia64__) + #define SAREA_MAX 0x10000 /* 64kB */ + #else +diff -urN xorg-server-1.1.1.orig/hw/xfree86/os-support/linux/lnx_video.c xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_video.c +--- xorg-server-1.1.1.orig/hw/xfree86/os-support/linux/lnx_video.c 2007-02-28 21:14:05.000000000 +0800 ++++ xorg-server-1.1.1/hw/xfree86/os-support/linux/lnx_video.c 2007-02-01 12:29:26.000000000 +0800 +@@ -540,9 +540,10 @@ + _X_EXPORT Bool + xf86EnableIO(void) + { +-#if defined(__powerpc__) ++#if defined(__powerpc__) || defined(__mips__) + int fd; + unsigned int ioBase_phys; ++ extern unsigned int IOPortBase; + #endif + + if (ExtendedEnabled) +@@ -569,7 +570,22 @@ + #endif + } + close(fd); +-#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__mips__) && !defined(__sh__) && !defined(__hppa__) ++#elif defined(__mips__) ++ fd = open("/dev/mem", O_RDWR); ++ IOPortBase = (volatile unsigned char *)mmap(0, 0x20000, ++ PROT_READ | PROT_WRITE, MAP_SHARED, fd, ++ 0x1fd00000); ++ if (IOPortBase == MAP_FAILED) { ++ xf86Msg(X_WARNING, ++ "xf86EnableIOPorts: Failed to map iobase (%s)\n", ++ strerror(errno)); ++ return FALSE; ++ } ++ close(fd); ++ xf86Msg(X_WARNING, ++ "xf86EnableIOPorts: map iobase (%x)\n", ++ IOPortBase); ++#elif !defined(__mc68000__) && !defined(__sparc__) && !defined(__sh__) && !defined(__hppa__) + if (ioperm(0, 1024, 1) || iopl(3)) { + if (errno == ENODEV) + ErrorF("xf86EnableIOPorts: no I/O ports found\n"); diff --git a/x11-base/xorg-server/files/xorg-x11-server-1.1.1-mesa-6.5.1.patch b/x11-base/xorg-server/files/xorg-x11-server-1.1.1-mesa-6.5.1.patch new file mode 100644 index 0000000..48f4380 --- /dev/null +++ b/x11-base/xorg-server/files/xorg-x11-server-1.1.1-mesa-6.5.1.patch @@ -0,0 +1,54 @@ +diff --git a/GL/mesa/main/Makefile.am b/GL/mesa/main/Makefile.am +index 867fe57..4d5b0cd 100644 +--- a/GL/mesa/main/Makefile.am ++++ b/GL/mesa/main/Makefile.am +@@ -29,6 +27,7 @@ nodist_libmain_la_SOURCES = accum.c \ + api_loopback.c \ + api_noop.c \ + api_validate.c \ ++ arrayobj.c \ + attrib.c \ + blend.c \ + bufferobj.c \ +@@ -67,6 +66,7 @@ nodist_libmain_la_SOURCES = accum.c \ + points.c \ + polygon.c \ + rastpos.c \ ++ rbadaptors.c \ + renderbuffer.c \ + state.c \ + stencil.c \ +diff --git a/GL/symlink-mesa.sh b/GL/symlink-mesa.sh +index ccaa2a9..32f839a 100755 +--- a/GL/symlink-mesa.sh ++++ b/GL/symlink-mesa.sh +@@ -88,8 +88,11 @@ symlink_mesa_main() { + action api_noop.h + action api_validate.c + action api_validate.h ++ action arrayobj.c ++ action arrayobj.h + action attrib.c + action attrib.h ++ action bitset.h + action blend.c + action blend.h + action bufferobj.c +@@ -168,6 +171,8 @@ symlink_mesa_main() { + action polygon.h + action rastpos.c + action rastpos.h ++ action rbadaptors.c ++ action rbadaptors.h + action renderbuffer.c + action renderbuffer.h + action simple_list.h +@@ -468,7 +468,7 @@ symlink_mesa_shader_slang_library() { + action slang_core_gc.h + action slang_fragment_builtin_gc.h + action slang_shader_syn.h +- action slang_version_syn.h ++ action slang_pp_version_syn.h + action slang_vertex_builtin_gc.h + } + diff --git a/x11-base/xorg-server/files/xprint.init b/x11-base/xorg-server/files/xprint.init new file mode 100644 index 0000000..e5fed1b --- /dev/null +++ b/x11-base/xorg-server/files/xprint.init @@ -0,0 +1,30 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/files/xprint.init,v 1.1 2006/03/24 18:45:00 spyderous Exp $ + +opts="${opts} get_xpserverlist lsprinters" + +depend() { + use cupsd +} + +start() { + ebegin "Starting xprint" + /usr/lib/misc/xprint start > /dev/null + eend $? +} + +get_xpserverlist() { + /usr/lib/misc/xprint get_xpserverlist +} + +lsprinters() { + /usr/lib/misc/xprint lsprinters +} + +stop() { + ebegin "Stopping xprint" + /usr/lib/misc/xprint stop > /dev/null + eend $? +} diff --git a/x11-base/xorg-server/metadata.xml b/x11-base/xorg-server/metadata.xml new file mode 100644 index 0000000..01c4c00 --- /dev/null +++ b/x11-base/xorg-server/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>x11</herd> +</pkgmetadata> diff --git a/x11-base/xorg-server/xorg-server-1.2.0-r1.ebuild b/x11-base/xorg-server/xorg-server-1.2.0-r1.ebuild new file mode 100644 index 0000000..b51b108 --- /dev/null +++ b/x11-base/xorg-server/xorg-server-1.2.0-r1.ebuild @@ -0,0 +1,530 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-1.2.0-r1.ebuild,v 1.1 2007/02/19 21:34:17 joshuabaergen Exp $ + +# Must be before x-modular eclass is inherited +#SNAPSHOT="yes" + +inherit x-modular multilib + +OPENGL_DIR="xorg-x11" + +MESA_PN="Mesa" +MESA_PV="6.5.2" +MESA_P="${MESA_PN}-${MESA_PV}" +MESA_SRC_P="${MESA_PN}Lib-${MESA_PV}" + +SRC_URI="${SRC_URI} + mirror://sourceforge/mesa3d/${MESA_SRC_P}.tar.bz2 + http://xorg.freedesktop.org/releases/individual/xserver/${P}.tar.bz2" +DESCRIPTION="X.Org X servers" +# It's suid and has lazy bindings, so FEATURES="stricter" doesn't work +RESTRICT="stricter" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE_INPUT_DEVICES=" + input_devices_acecad + input_devices_aiptek + input_devices_calcomp + input_devices_citron + input_devices_digitaledge + input_devices_dmc + input_devices_dynapro + input_devices_elo2300 + input_devices_elographics + input_devices_evdev + input_devices_fpit + input_devices_hyperpen + input_devices_jamstudio + input_devices_joystick + input_devices_keyboard + input_devices_magellan + input_devices_microtouch + input_devices_mouse + input_devices_mutouch + input_devices_palmax + input_devices_penmount + input_devices_spaceorb + input_devices_summa + input_devices_tek4957 + input_devices_ur98 + input_devices_vmmouse + input_devices_void + + input_devices_synaptics + input_devices_wacom" +IUSE_VIDEO_CARDS=" + video_cards_apm + video_cards_ark + video_cards_chips + video_cards_cirrus + video_cards_cyrix + video_cards_dummy + video_cards_epson + video_cards_fbdev + video_cards_glint + video_cards_i128 + video_cards_i740 + video_cards_i810 + video_cards_impact + video_cards_imstt + video_cards_mach64 + video_cards_mga + video_cards_neomagic + video_cards_newport + video_cards_nsc + video_cards_nv + video_cards_r128 + video_cards_radeon + video_cards_rendition + video_cards_s3 + video_cards_s3virge + video_cards_savage + video_cards_siliconmotion + video_cards_sis + video_cards_sisusb + video_cards_sunbw2 + video_cards_suncg14 + video_cards_suncg3 + video_cards_suncg6 + video_cards_sunffb + video_cards_sunleo + video_cards_suntcx + video_cards_tdfx + video_cards_tga + video_cards_trident + video_cards_tseng + video_cards_v4l + video_cards_vesa + video_cards_vga + video_cards_via + video_cards_vmware + video_cards_voodoo + + video_cards_fglrx + video_cards_nvidia" +IUSE_SERVERS="dmx kdrive xorg" +IUSE="${IUSE_VIDEO_CARDS} + ${IUSE_INPUT_DEVICES} + ${IUSE_SERVERS} + 3dfx + dri ipv6 minimal nptl sdl xprint" +RDEPEND=">=x11-libs/libXfont-1.2.5 + x11-libs/xtrans + x11-libs/libXau + x11-libs/libXext + x11-libs/libX11 + x11-libs/libxkbfile + x11-libs/libXdmcp + x11-libs/libXmu + x11-libs/libXrender + x11-libs/libXi + media-libs/freetype + >=media-libs/mesa-6.5.2 + media-fonts/font-adobe-75dpi + media-fonts/font-misc-misc + media-fonts/font-cursor-misc + x11-misc/xbitmaps + || ( x11-misc/xkeyboard-config x11-misc/xkbdata ) + x11-apps/iceauth + x11-apps/rgb + x11-apps/xauth + x11-apps/xinit + app-admin/eselect-opengl + x11-libs/libXaw + x11-libs/libXpm + x11-libs/libXxf86misc + x11-libs/libXxf86vm + dmx? ( x11-libs/libdmx ) + !minimal? ( x11-libs/libXtst + x11-libs/libXres ) + >=x11-libs/libxkbui-1.0.2 + x11-libs/liblbxutil + kdrive? ( sdl? ( media-libs/libsdl ) )" + # Xres is dmx-dependent, xkbui is xorgcfg-dependent + # Xaw is dmx- and xorgcfg-dependent + # Xpm is dmx- and xorgcfg-dependent, pulls in Xt + # Xxf86misc and Xxf86vm are xorgcfg-dependent + # liblbxutil is lbx- dependent +DEPEND="${RDEPEND} + x11-proto/randrproto + x11-proto/renderproto + >=x11-proto/fixesproto-4 + x11-proto/damageproto + x11-proto/xextproto + x11-proto/xproto + x11-proto/xf86dgaproto + x11-proto/xf86miscproto + x11-proto/xf86rushproto + x11-proto/xf86vidmodeproto + x11-proto/xf86bigfontproto + >=x11-proto/compositeproto-0.3 + x11-proto/recordproto + x11-proto/resourceproto + x11-proto/videoproto + >=x11-proto/scrnsaverproto-1.1.0 + x11-proto/evieext + x11-proto/trapproto + >=x11-proto/xineramaproto-1.1-r1 + x11-proto/fontsproto + >=x11-proto/kbproto-1.0.3 + x11-proto/inputproto + x11-proto/bigreqsproto + x11-proto/xcmiscproto + >=x11-proto/glproto-1.4.8 + dmx? ( x11-proto/dmxproto ) + dri? ( x11-proto/xf86driproto + >=x11-libs/libdrm-2.3 ) + xprint? ( x11-proto/printproto + x11-apps/mkfontdir + x11-apps/mkfontscale + x11-apps/xplsprinters )" + +# Drivers +PDEPEND=" + xorg? ( + input_devices_acecad? ( >=x11-drivers/xf86-input-acecad-1.1.0 ) + input_devices_aiptek? ( >=x11-drivers/xf86-input-aiptek-1.0.1 ) + input_devices_calcomp? ( >=x11-drivers/xf86-input-calcomp-1.1.0 ) + input_devices_citron? ( >=x11-drivers/xf86-input-citron-2.2.0 ) + input_devices_digitaledge? ( >=x11-drivers/xf86-input-digitaledge-1.1.0 ) + input_devices_dmc? ( >=x11-drivers/xf86-input-dmc-1.1.0 ) + input_devices_dynapro? ( >=x11-drivers/xf86-input-dynapro-1.1.0 ) + input_devices_elo2300? ( >=x11-drivers/xf86-input-elo2300-1.1.0 ) + input_devices_elographics? ( >=x11-drivers/xf86-input-elographics-1.1.0 ) + input_devices_evdev? ( >=x11-drivers/xf86-input-evdev-1.1.1 ) + input_devices_fpit? ( >=x11-drivers/xf86-input-fpit-1.1.0 ) + input_devices_hyperpen? ( >=x11-drivers/xf86-input-hyperpen-1.1.0 ) + input_devices_jamstudio? ( >=x11-drivers/xf86-input-jamstudio-1.1.0 ) + input_devices_joystick? ( >=x11-drivers/xf86-input-joystick-1.1.0 ) + input_devices_keyboard? ( >=x11-drivers/xf86-input-keyboard-1.1.0 ) + input_devices_magellan? ( >=x11-drivers/xf86-input-magellan-1.1.0 ) + input_devices_microtouch? ( >=x11-drivers/xf86-input-microtouch-1.1.0 ) + input_devices_mouse? ( >=x11-drivers/xf86-input-mouse-1.1.0 ) + input_devices_mutouch? ( >=x11-drivers/xf86-input-mutouch-1.1.0 ) + input_devices_palmax? ( >=x11-drivers/xf86-input-palmax-1.1.0 ) + input_devices_penmount? ( >=x11-drivers/xf86-input-penmount-1.1.0 ) + input_devices_spaceorb? ( >=x11-drivers/xf86-input-spaceorb-1.1.0 ) + input_devices_summa? ( >=x11-drivers/xf86-input-summa-1.1.0 ) + input_devices_tek4957? ( >=x11-drivers/xf86-input-tek4957-1.1.0 ) + input_devices_ur98? ( >=x11-drivers/xf86-input-ur98-1.1.0 ) + input_devices_vmmouse? ( >=x11-drivers/xf86-input-vmmouse-12.4.0 ) + input_devices_void? ( >=x11-drivers/xf86-input-void-1.1.0 ) + + input_devices_synaptics? ( x11-drivers/synaptics ) + input_devices_wacom? ( x11-drivers/linuxwacom ) + + video_cards_apm? ( >=x11-drivers/xf86-video-apm-1.1.1 ) + video_cards_ark? ( >=x11-drivers/xf86-video-ark-0.6.0 ) + video_cards_chips? ( >=x11-drivers/xf86-video-chips-1.1.1 ) + video_cards_cirrus? ( >=x11-drivers/xf86-video-cirrus-1.1.0 ) + video_cards_cyrix? ( >=x11-drivers/xf86-video-cyrix-1.1.0 ) + video_cards_dummy? ( >=x11-drivers/xf86-video-dummy-0.2.0 ) + video_cards_fbdev? ( >=x11-drivers/xf86-video-fbdev-0.2.0 ) + video_cards_glint? ( >=x11-drivers/xf86-video-glint-1.1.1 ) + video_cards_i128? ( >=x11-drivers/xf86-video-i128-1.2.0 ) + video_cards_i740? ( >=x11-drivers/xf86-video-i740-1.1.0 ) + video_cards_i810? ( >=x11-drivers/xf86-video-i810-1.6.0 ) + video_cards_impact? ( >=x11-drivers/xf86-video-impact-0.2.0 ) + video_cards_imstt? ( >=x11-drivers/xf86-video-imstt-1.1.0 ) + video_cards_mach64? ( >=x11-drivers/xf86-video-ati-6.6.0 ) + video_cards_mga? ( >=x11-drivers/xf86-video-mga-1.4.1 ) + video_cards_neomagic? ( >=x11-drivers/xf86-video-neomagic-1.1.1 ) + video_cards_newport? ( >=x11-drivers/xf86-video-newport-0.2.0 ) + video_cards_nsc? ( >=x11-drivers/xf86-video-nsc-2.8.1 ) + video_cards_nv? ( >=x11-drivers/xf86-video-nv-1.1.1 ) + video_cards_r128? ( >=x11-drivers/xf86-video-ati-6.6.0 ) + video_cards_radeon? ( >=x11-drivers/xf86-video-ati-6.6.0 ) + video_cards_rendition? ( >=x11-drivers/xf86-video-rendition-4.1.0 ) + video_cards_s3? ( >=x11-drivers/xf86-video-s3-0.4.1 ) + video_cards_s3virge? ( >=x11-drivers/xf86-video-s3virge-1.9.1 ) + video_cards_savage? ( >=x11-drivers/xf86-video-savage-2.1.1 ) + video_cards_siliconmotion? ( >=x11-drivers/xf86-video-siliconmotion-1.4.1 ) + video_cards_sis? ( >=x11-drivers/xf86-video-sis-0.9.1 ) + video_cards_sisusb? ( >=x11-drivers/xf86-video-sisusb-0.8.1 ) + video_cards_sunbw2? ( >=x11-drivers/xf86-video-sunbw2-1.1.0 ) + video_cards_suncg14? ( >=x11-drivers/xf86-video-suncg14-1.1.0 ) + video_cards_suncg3? ( >=x11-drivers/xf86-video-suncg3-1.1.0 ) + video_cards_suncg6? ( >=x11-drivers/xf86-video-suncg6-1.1.0 ) + video_cards_sunffb? ( >=x11-drivers/xf86-video-sunffb-1.1.0 ) + video_cards_sunleo? ( >=x11-drivers/xf86-video-sunleo-1.1.0 ) + video_cards_suntcx? ( >=x11-drivers/xf86-video-suntcx-1.1.0 ) + video_cards_tdfx? ( >=x11-drivers/xf86-video-tdfx-1.2.1 ) + video_cards_tga? ( >=x11-drivers/xf86-video-tga-1.1.0 ) + video_cards_trident? ( >=x11-drivers/xf86-video-trident-1.2.1 ) + video_cards_tseng? ( >=x11-drivers/xf86-video-tseng-1.1.0 ) + video_cards_v4l? ( >=x11-drivers/xf86-video-v4l-0.1.1 ) + video_cards_vesa? ( >=x11-drivers/xf86-video-vesa-1.1.0 ) + video_cards_vga? ( >=x11-drivers/xf86-video-vga-4.1.0 ) + video_cards_via? ( >=x11-drivers/xf86-video-via-0.2.1 ) + video_cards_vmware? ( >=x11-drivers/xf86-video-vmware-10.13.0 ) + video_cards_voodoo? ( >=x11-drivers/xf86-video-voodoo-1.1.0 ) + + video_cards_tdfx? ( 3dfx? ( >=media-libs/glide-v3-3.10 ) ) + video_cards_fglrx? ( >=x11-drivers/ati-drivers-8.27.10 ) + video_cards_nvidia? ( || ( + >=x11-drivers/nvidia-drivers-1.0.8774 + >=x11-drivers/nvidia-legacy-drivers-1.0.7184 + ) + ) + )" +LICENSE="${LICENSE} MIT" + +PATCHES="${FILESDIR}/${PV}-server-damage-version.patch + ${FILESDIR}/${PV}-server-randr-version.patch + ${FILESDIR}/${P}-loongson.patch" + +pkg_setup() { + use minimal || ensure_a_server_is_building + + # SDL only available in kdrive build + if use kdrive && use sdl; then + conf_opts="${conf_opts} --enable-xsdl" + else + conf_opts="${conf_opts} --disable-xsdl" + fi + + # Only Xorg and Xgl support this, and we won't build Xgl + # until it merges to trunk + if use xorg; then + conf_opts="${conf_opts} --with-mesa-source=${WORKDIR}/${MESA_P}" + fi + + # localstatedir is used for the log location; we need to override the default + # from ebuild.sh + # sysconfdir is used for the xorg.conf location; same applies + # --enable-install-setuid needed because sparcs default off + CONFIGURE_OPTIONS=" + $(use_enable ipv6) + $(use_enable dmx) + $(use_enable kdrive) + $(use_enable !minimal xvfb) + $(use_enable !minimal xnest) + $(use_enable !minimal install-libxf86config) + $(use_enable dri) + $(use_enable xorg) + $(use_enable xprint) + $(use_enable nptl glx-tls) + $(use_enable !minimal xorgcfg) + --sysconfdir=/etc/X11 + --localstatedir=/var + --enable-install-setuid + --with-fontdir=/usr/share/fonts + ${conf_opts}" + + local diemsg="You must build xorg-server and mesa with the same nptl USE setting." + if built_with_use media-libs/mesa nptl; then + use nptl || die "${diemsg}" + else + use nptl && die "${diemsg}" + fi + + # (#121394) Causes window corruption + filter-flags -fweb + + # Nothing else provides new enough glxtokens.h + ewarn "Forcing on xorg-x11 for new enough glxtokens.h..." + OLD_IMPLEM="$(eselect opengl show)" + eselect opengl set --impl-headers ${OPENGL_DIR} +} + +src_unpack() { + x-modular_specs_check + x-modular_dri_check + x-modular_unpack_source + x-modular_patch_source + + # Set up kdrive servers to build + if use kdrive; then + kdrive_setup + fi + + # Make sure eautoreconf gets run if we need the autoconf/make + # changes. + if [[ ${SNAPSHOT} != "yes" ]]; then + if use kdrive; then + eautoreconf + fi + fi + x-modular_reconf_source +} + +src_install() { + x-modular_src_install + + dynamic_libgl_install + + server_based_install + + # Install video mode files for system-config-display + insinto /usr/share/xorg + doins hw/xfree86/common/{extra,vesa}modes \ + || die "couldn't install extra modes" + + # Bug #151421 - this file is not built with USE="minimal" + # Bug #151670 - this file is also not build if USE="-xorg" + if ! use minimal && use xorg; then + # Install xorg.conf.example + insinto /etc/X11 + doins hw/xfree86/xorg.conf.example \ + || die "couldn't install xorg.conf.example" + fi +} + +pkg_postinst() { + switch_opengl_implem + + # Bug #135544 + ewarn "Users of reduced blanking now need:" + ewarn " Option \"ReducedBlanking\"" + ewarn "In the relevant Monitor section(s)." + ewarn "Make sure your reduced blanking modelines are safe!" +} + +pkg_postrm() { + # Get rid of module dir to ensure opengl-update works properly + if ! has_version x11-base/xorg-server; then + if [ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]; then + rm -rf ${ROOT}/usr/$(get_libdir)/xorg/modules + fi + fi +} + +kdrive_setup() { + local card real_card disable_card kdrive_fbdev kdrive_vesa + + einfo "Removing unused kdrive drivers ..." + + # Some kdrive servers require fbdev and vesa + kdrive_fbdev="radeon neomagic sis siliconmotion" + # Some kdrive servers require just vesa + kdrive_vesa="chips mach64 mga nv glint r128 via" + + for card in ${IUSE_VIDEO_CARDS}; do + real_card=${card#video_cards_} + + # Differences between VIDEO_CARDS name and kdrive server name + real_card=${real_card/glint/pm2} + real_card=${real_card/radeon/ati} + real_card=${real_card/%nv/nvidia} + real_card=${real_card/siliconmotion/smi} + real_card=${real_card/%sis/sis300} + + disable_card=0 + + # Check whether it's a valid kdrive server before we waste time + # on the rest of this + if ! grep -q -o "\b${real_card}\b" ${S}/hw/kdrive/Makefile.am; then + continue + fi + + if ! use ${card}; then + if use x86; then + # Some kdrive servers require fbdev and vesa + for i in ${kdrive_fbdev}; do + if use video_cards_${i}; then + if [[ ${real_card} = fbdev ]] \ + || [[ ${real_card} = vesa ]]; then + continue 2 # Don't disable + fi + fi + done + + # Some kdrive servers require just vesa + for i in ${kdrive_vesa}; do + if use video_cards_${i}; then + if [[ ${real_card} = vesa ]]; then + continue 2 # Don't disable + fi + fi + done + fi + disable_card=1 + # Bug #150052 + # fbdev is the only VIDEO_CARDS setting that works on non-x86 + elif ! use x86 \ + && [[ ${real_card} != fbdev ]]; then + ewarn " $real_card does not work on your architecture; disabling." + disable_card=1 + fi + + if [[ $disable_card = 1 ]]; then + ebegin " ${real_card}" + sed -i \ + -e "s:\b${real_card}\b::g" \ + ${S}/hw/kdrive/Makefile.am \ + || die "sed of ${real_card} failed" + eend + fi + + done + + # smi and via are the only things on line 2. If line 2 ends up blank, + # we need to get rid of the backslash at the end of line 1. + if ! use video_cards_siliconmotion && ! use video_cards_via; then + sed -i \ + -e "s:^\(VESA_SUBDIRS.*\)\\\:\1:g" \ + ${S}/hw/kdrive/Makefile.am + fi +} + +dynamic_libgl_install() { + # next section is to setup the dynamic libGL stuff + ebegin "Moving GL files for dynamic switching" + dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions + local x="" + for x in ${D}/usr/$(get_libdir)/xorg/modules/extensions/libglx*; do + if [ -f ${x} -o -L ${x} ]; then + mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions + fi + done + eend 0 +} + +server_based_install() { + use xprint && xprint_src_install + + if ! use xorg; then + rm ${D}/usr/share/man/man1/Xserver.1x \ + ${D}/usr/$(get_libdir)/xserver/SecurityPolicy \ + ${D}/usr/$(get_libdir)/pkgconfig/xorg-server.pc \ + ${D}/usr/share/man/man1/Xserver.1x + fi +} + +switch_opengl_implem() { + # Switch to the xorg implementation. + # Use new opengl-update that will not reset user selected + # OpenGL interface ... + echo +# eselect opengl set --use-old ${OPENGL_DIR} + eselect opengl set ${OLD_IMPLEM} +} + +xprint_src_install() { + # RH-style init script, we provide a wrapper + exeinto /usr/$(get_libdir)/misc + doexe ${S}/hw/xprint/etc/init.d/xprint + # Install the wrapper + newinitd ${FILESDIR}/xprint.init xprint + # Install profile scripts + insinto /etc/profile.d + doins ${S}/hw/xprint/etc/profile.d/xprint* + insinto /etc/X11/xinit/xinitrc.d + doins ${S}/hw/xprint/etc/Xsession.d/92xprint-xpserverlist + # Patch profile scripts + sed -e "s:/bin/sh.*get_xpserverlist:/usr/$(get_libdir)/misc/xprint \ + get_xpserverlist:g" -i ${D}/etc/profile.d/xprint* \ + ${D}/etc/X11/xinit/xinitrc.d/92xprint-xpserverlist + # Move profile scripts, we can't touch /etc/profile.d/ in Gentoo + dodoc ${D}/etc/profile.d/xprint* + rm -f ${D}/etc/profile.d/xprint* +} + +ensure_a_server_is_building() { + for server in ${IUSE_SERVERS}; do + use ${server} && return; + done + eerror "You need to specify at least one server to build." + eerror "Valid servers are: ${IUSE_SERVERS}." + die "No servers were specified to build." +} diff --git a/x11-base/xorg-server/xorg-server-1.2.0-r2.ebuild b/x11-base/xorg-server/xorg-server-1.2.0-r2.ebuild new file mode 100644 index 0000000..a55b6bb --- /dev/null +++ b/x11-base/xorg-server/xorg-server-1.2.0-r2.ebuild @@ -0,0 +1,531 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-1.2.0-r2.ebuild,v 1.1 2007/03/17 00:04:21 joshuabaergen Exp $ + +# Must be before x-modular eclass is inherited +#SNAPSHOT="yes" + +inherit x-modular multilib + +OPENGL_DIR="xorg-x11" + +MESA_PN="Mesa" +MESA_PV="6.5.2" +MESA_P="${MESA_PN}-${MESA_PV}" +MESA_SRC_P="${MESA_PN}Lib-${MESA_PV}" + +SRC_URI="${SRC_URI} + mirror://sourceforge/mesa3d/${MESA_SRC_P}.tar.bz2 + http://xorg.freedesktop.org/releases/individual/xserver/${P}.tar.bz2" +DESCRIPTION="X.Org X servers" +# It's suid and has lazy bindings, so FEATURES="stricter" doesn't work +RESTRICT="stricter" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE_INPUT_DEVICES=" + input_devices_acecad + input_devices_aiptek + input_devices_calcomp + input_devices_citron + input_devices_digitaledge + input_devices_dmc + input_devices_dynapro + input_devices_elo2300 + input_devices_elographics + input_devices_evdev + input_devices_fpit + input_devices_hyperpen + input_devices_jamstudio + input_devices_joystick + input_devices_keyboard + input_devices_magellan + input_devices_microtouch + input_devices_mouse + input_devices_mutouch + input_devices_palmax + input_devices_penmount + input_devices_spaceorb + input_devices_summa + input_devices_tek4957 + input_devices_ur98 + input_devices_vmmouse + input_devices_void + + input_devices_synaptics + input_devices_wacom" +IUSE_VIDEO_CARDS=" + video_cards_apm + video_cards_ark + video_cards_chips + video_cards_cirrus + video_cards_cyrix + video_cards_dummy + video_cards_epson + video_cards_fbdev + video_cards_glint + video_cards_i128 + video_cards_i740 + video_cards_i810 + video_cards_impact + video_cards_imstt + video_cards_mach64 + video_cards_mga + video_cards_neomagic + video_cards_newport + video_cards_nsc + video_cards_nv + video_cards_r128 + video_cards_radeon + video_cards_rendition + video_cards_s3 + video_cards_s3virge + video_cards_savage + video_cards_siliconmotion + video_cards_sis + video_cards_sisusb + video_cards_sunbw2 + video_cards_suncg14 + video_cards_suncg3 + video_cards_suncg6 + video_cards_sunffb + video_cards_sunleo + video_cards_suntcx + video_cards_tdfx + video_cards_tga + video_cards_trident + video_cards_tseng + video_cards_v4l + video_cards_vesa + video_cards_vga + video_cards_via + video_cards_vmware + video_cards_voodoo + + video_cards_fglrx + video_cards_nvidia" +IUSE_SERVERS="dmx kdrive xorg" +IUSE="${IUSE_VIDEO_CARDS} + ${IUSE_INPUT_DEVICES} + ${IUSE_SERVERS} + 3dfx + dri ipv6 minimal nptl sdl xprint" +RDEPEND=">=x11-libs/libXfont-1.2.5 + x11-libs/xtrans + x11-libs/libXau + x11-libs/libXext + x11-libs/libX11 + x11-libs/libxkbfile + x11-libs/libXdmcp + x11-libs/libXmu + x11-libs/libXrender + x11-libs/libXi + media-libs/freetype + >=media-libs/mesa-6.5.2 + media-fonts/font-adobe-75dpi + media-fonts/font-misc-misc + media-fonts/font-cursor-misc + x11-misc/xbitmaps + || ( x11-misc/xkeyboard-config x11-misc/xkbdata ) + x11-apps/iceauth + x11-apps/rgb + x11-apps/xauth + x11-apps/xinit + app-admin/eselect-opengl + x11-libs/libXaw + x11-libs/libXpm + x11-libs/libXxf86misc + x11-libs/libXxf86vm + dmx? ( x11-libs/libdmx ) + !minimal? ( x11-libs/libXtst + x11-libs/libXres ) + >=x11-libs/libxkbui-1.0.2 + x11-libs/liblbxutil + kdrive? ( sdl? ( media-libs/libsdl ) )" + # Xres is dmx-dependent, xkbui is xorgcfg-dependent + # Xaw is dmx- and xorgcfg-dependent + # Xpm is dmx- and xorgcfg-dependent, pulls in Xt + # Xxf86misc and Xxf86vm are xorgcfg-dependent + # liblbxutil is lbx- dependent +DEPEND="${RDEPEND} + x11-proto/randrproto + x11-proto/renderproto + >=x11-proto/fixesproto-4 + x11-proto/damageproto + x11-proto/xextproto + x11-proto/xproto + x11-proto/xf86dgaproto + x11-proto/xf86miscproto + x11-proto/xf86rushproto + x11-proto/xf86vidmodeproto + x11-proto/xf86bigfontproto + >=x11-proto/compositeproto-0.3 + x11-proto/recordproto + x11-proto/resourceproto + x11-proto/videoproto + >=x11-proto/scrnsaverproto-1.1.0 + x11-proto/evieext + x11-proto/trapproto + >=x11-proto/xineramaproto-1.1-r1 + x11-proto/fontsproto + >=x11-proto/kbproto-1.0.3 + x11-proto/inputproto + x11-proto/bigreqsproto + x11-proto/xcmiscproto + >=x11-proto/glproto-1.4.8 + dmx? ( x11-proto/dmxproto ) + dri? ( x11-proto/xf86driproto + >=x11-libs/libdrm-2.3 ) + xprint? ( x11-proto/printproto + x11-apps/mkfontdir + x11-apps/mkfontscale + x11-apps/xplsprinters )" + +# Drivers +PDEPEND=" + xorg? ( + input_devices_acecad? ( >=x11-drivers/xf86-input-acecad-1.1.0 ) + input_devices_aiptek? ( >=x11-drivers/xf86-input-aiptek-1.0.1 ) + input_devices_calcomp? ( >=x11-drivers/xf86-input-calcomp-1.1.0 ) + input_devices_citron? ( >=x11-drivers/xf86-input-citron-2.2.0 ) + input_devices_digitaledge? ( >=x11-drivers/xf86-input-digitaledge-1.1.0 ) + input_devices_dmc? ( >=x11-drivers/xf86-input-dmc-1.1.0 ) + input_devices_dynapro? ( >=x11-drivers/xf86-input-dynapro-1.1.0 ) + input_devices_elo2300? ( >=x11-drivers/xf86-input-elo2300-1.1.0 ) + input_devices_elographics? ( >=x11-drivers/xf86-input-elographics-1.1.0 ) + input_devices_evdev? ( >=x11-drivers/xf86-input-evdev-1.1.1 ) + input_devices_fpit? ( >=x11-drivers/xf86-input-fpit-1.1.0 ) + input_devices_hyperpen? ( >=x11-drivers/xf86-input-hyperpen-1.1.0 ) + input_devices_jamstudio? ( >=x11-drivers/xf86-input-jamstudio-1.1.0 ) + input_devices_joystick? ( >=x11-drivers/xf86-input-joystick-1.1.0 ) + input_devices_keyboard? ( >=x11-drivers/xf86-input-keyboard-1.1.0 ) + input_devices_magellan? ( >=x11-drivers/xf86-input-magellan-1.1.0 ) + input_devices_microtouch? ( >=x11-drivers/xf86-input-microtouch-1.1.0 ) + input_devices_mouse? ( >=x11-drivers/xf86-input-mouse-1.1.0 ) + input_devices_mutouch? ( >=x11-drivers/xf86-input-mutouch-1.1.0 ) + input_devices_palmax? ( >=x11-drivers/xf86-input-palmax-1.1.0 ) + input_devices_penmount? ( >=x11-drivers/xf86-input-penmount-1.1.0 ) + input_devices_spaceorb? ( >=x11-drivers/xf86-input-spaceorb-1.1.0 ) + input_devices_summa? ( >=x11-drivers/xf86-input-summa-1.1.0 ) + input_devices_tek4957? ( >=x11-drivers/xf86-input-tek4957-1.1.0 ) + input_devices_ur98? ( >=x11-drivers/xf86-input-ur98-1.1.0 ) + input_devices_vmmouse? ( >=x11-drivers/xf86-input-vmmouse-12.4.0 ) + input_devices_void? ( >=x11-drivers/xf86-input-void-1.1.0 ) + + input_devices_synaptics? ( x11-drivers/synaptics ) + input_devices_wacom? ( x11-drivers/linuxwacom ) + + video_cards_apm? ( >=x11-drivers/xf86-video-apm-1.1.1 ) + video_cards_ark? ( >=x11-drivers/xf86-video-ark-0.6.0 ) + video_cards_chips? ( >=x11-drivers/xf86-video-chips-1.1.1 ) + video_cards_cirrus? ( >=x11-drivers/xf86-video-cirrus-1.1.0 ) + video_cards_cyrix? ( >=x11-drivers/xf86-video-cyrix-1.1.0 ) + video_cards_dummy? ( >=x11-drivers/xf86-video-dummy-0.2.0 ) + video_cards_fbdev? ( >=x11-drivers/xf86-video-fbdev-0.2.0 ) + video_cards_glint? ( >=x11-drivers/xf86-video-glint-1.1.1 ) + video_cards_i128? ( >=x11-drivers/xf86-video-i128-1.2.0 ) + video_cards_i740? ( >=x11-drivers/xf86-video-i740-1.1.0 ) + video_cards_i810? ( >=x11-drivers/xf86-video-i810-1.6.0 ) + video_cards_impact? ( >=x11-drivers/xf86-video-impact-0.2.0 ) + video_cards_imstt? ( >=x11-drivers/xf86-video-imstt-1.1.0 ) + video_cards_mach64? ( >=x11-drivers/xf86-video-ati-6.6.0 ) + video_cards_mga? ( >=x11-drivers/xf86-video-mga-1.4.1 ) + video_cards_neomagic? ( >=x11-drivers/xf86-video-neomagic-1.1.1 ) + video_cards_newport? ( >=x11-drivers/xf86-video-newport-0.2.0 ) + video_cards_nsc? ( >=x11-drivers/xf86-video-nsc-2.8.1 ) + video_cards_nv? ( >=x11-drivers/xf86-video-nv-1.1.1 ) + video_cards_r128? ( >=x11-drivers/xf86-video-ati-6.6.0 ) + video_cards_radeon? ( >=x11-drivers/xf86-video-ati-6.6.0 ) + video_cards_rendition? ( >=x11-drivers/xf86-video-rendition-4.1.0 ) + video_cards_s3? ( >=x11-drivers/xf86-video-s3-0.4.1 ) + video_cards_s3virge? ( >=x11-drivers/xf86-video-s3virge-1.9.1 ) + video_cards_savage? ( >=x11-drivers/xf86-video-savage-2.1.1 ) + video_cards_siliconmotion? ( >=x11-drivers/xf86-video-siliconmotion-1.4.1 ) + video_cards_sis? ( >=x11-drivers/xf86-video-sis-0.9.1 ) + video_cards_sisusb? ( >=x11-drivers/xf86-video-sisusb-0.8.1 ) + video_cards_sunbw2? ( >=x11-drivers/xf86-video-sunbw2-1.1.0 ) + video_cards_suncg14? ( >=x11-drivers/xf86-video-suncg14-1.1.0 ) + video_cards_suncg3? ( >=x11-drivers/xf86-video-suncg3-1.1.0 ) + video_cards_suncg6? ( >=x11-drivers/xf86-video-suncg6-1.1.0 ) + video_cards_sunffb? ( >=x11-drivers/xf86-video-sunffb-1.1.0 ) + video_cards_sunleo? ( >=x11-drivers/xf86-video-sunleo-1.1.0 ) + video_cards_suntcx? ( >=x11-drivers/xf86-video-suntcx-1.1.0 ) + video_cards_tdfx? ( >=x11-drivers/xf86-video-tdfx-1.2.1 ) + video_cards_tga? ( >=x11-drivers/xf86-video-tga-1.1.0 ) + video_cards_trident? ( >=x11-drivers/xf86-video-trident-1.2.1 ) + video_cards_tseng? ( >=x11-drivers/xf86-video-tseng-1.1.0 ) + video_cards_v4l? ( >=x11-drivers/xf86-video-v4l-0.1.1 ) + video_cards_vesa? ( >=x11-drivers/xf86-video-vesa-1.1.0 ) + video_cards_vga? ( >=x11-drivers/xf86-video-vga-4.1.0 ) + video_cards_via? ( >=x11-drivers/xf86-video-via-0.2.1 ) + video_cards_vmware? ( >=x11-drivers/xf86-video-vmware-10.13.0 ) + video_cards_voodoo? ( >=x11-drivers/xf86-video-voodoo-1.1.0 ) + + video_cards_tdfx? ( 3dfx? ( >=media-libs/glide-v3-3.10 ) ) + video_cards_fglrx? ( >=x11-drivers/ati-drivers-8.27.10 ) + video_cards_nvidia? ( || ( + >=x11-drivers/nvidia-drivers-1.0.8774 + >=x11-drivers/nvidia-legacy-drivers-1.0.7184 + ) + ) + )" +LICENSE="${LICENSE} MIT" + +PATCHES="${FILESDIR}/${PV}-server-damage-version.patch + ${FILESDIR}/${PV}-server-randr-version.patch + ${FILESDIR}/${PV}-client-leak.patch + ${FILESDIR}/${P}-loongson.patch" + +pkg_setup() { + use minimal || ensure_a_server_is_building + + # SDL only available in kdrive build + if use kdrive && use sdl; then + conf_opts="${conf_opts} --enable-xsdl" + else + conf_opts="${conf_opts} --disable-xsdl" + fi + + # Only Xorg and Xgl support this, and we won't build Xgl + # until it merges to trunk + if use xorg; then + conf_opts="${conf_opts} --with-mesa-source=${WORKDIR}/${MESA_P}" + fi + + # localstatedir is used for the log location; we need to override the default + # from ebuild.sh + # sysconfdir is used for the xorg.conf location; same applies + # --enable-install-setuid needed because sparcs default off + CONFIGURE_OPTIONS=" + $(use_enable ipv6) + $(use_enable dmx) + $(use_enable kdrive) + $(use_enable !minimal xvfb) + $(use_enable !minimal xnest) + $(use_enable !minimal install-libxf86config) + $(use_enable dri) + $(use_enable xorg) + $(use_enable xprint) + $(use_enable nptl glx-tls) + $(use_enable !minimal xorgcfg) + --sysconfdir=/etc/X11 + --localstatedir=/var + --enable-install-setuid + --with-fontdir=/usr/share/fonts + ${conf_opts}" + + local diemsg="You must build xorg-server and mesa with the same nptl USE setting." + if built_with_use media-libs/mesa nptl; then + use nptl || die "${diemsg}" + else + use nptl && die "${diemsg}" + fi + + # (#121394) Causes window corruption + filter-flags -fweb + + # Nothing else provides new enough glxtokens.h + ewarn "Forcing on xorg-x11 for new enough glxtokens.h..." + OLD_IMPLEM="$(eselect opengl show)" + eselect opengl set --impl-headers ${OPENGL_DIR} +} + +src_unpack() { + x-modular_specs_check + x-modular_dri_check + x-modular_unpack_source + x-modular_patch_source + + # Set up kdrive servers to build + if use kdrive; then + kdrive_setup + fi + + # Make sure eautoreconf gets run if we need the autoconf/make + # changes. + if [[ ${SNAPSHOT} != "yes" ]]; then + if use kdrive; then + eautoreconf + fi + fi + x-modular_reconf_source +} + +src_install() { + x-modular_src_install + + dynamic_libgl_install + + server_based_install + + # Install video mode files for system-config-display + insinto /usr/share/xorg + doins hw/xfree86/common/{extra,vesa}modes \ + || die "couldn't install extra modes" + + # Bug #151421 - this file is not built with USE="minimal" + # Bug #151670 - this file is also not build if USE="-xorg" + if ! use minimal && use xorg; then + # Install xorg.conf.example + insinto /etc/X11 + doins hw/xfree86/xorg.conf.example \ + || die "couldn't install xorg.conf.example" + fi +} + +pkg_postinst() { + switch_opengl_implem + + # Bug #135544 + ewarn "Users of reduced blanking now need:" + ewarn " Option \"ReducedBlanking\"" + ewarn "In the relevant Monitor section(s)." + ewarn "Make sure your reduced blanking modelines are safe!" +} + +pkg_postrm() { + # Get rid of module dir to ensure opengl-update works properly + if ! has_version x11-base/xorg-server; then + if [ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]; then + rm -rf ${ROOT}/usr/$(get_libdir)/xorg/modules + fi + fi +} + +kdrive_setup() { + local card real_card disable_card kdrive_fbdev kdrive_vesa + + einfo "Removing unused kdrive drivers ..." + + # Some kdrive servers require fbdev and vesa + kdrive_fbdev="radeon neomagic sis siliconmotion" + # Some kdrive servers require just vesa + kdrive_vesa="chips mach64 mga nv glint r128 via" + + for card in ${IUSE_VIDEO_CARDS}; do + real_card=${card#video_cards_} + + # Differences between VIDEO_CARDS name and kdrive server name + real_card=${real_card/glint/pm2} + real_card=${real_card/radeon/ati} + real_card=${real_card/%nv/nvidia} + real_card=${real_card/siliconmotion/smi} + real_card=${real_card/%sis/sis300} + + disable_card=0 + + # Check whether it's a valid kdrive server before we waste time + # on the rest of this + if ! grep -q -o "\b${real_card}\b" ${S}/hw/kdrive/Makefile.am; then + continue + fi + + if ! use ${card}; then + if use x86; then + # Some kdrive servers require fbdev and vesa + for i in ${kdrive_fbdev}; do + if use video_cards_${i}; then + if [[ ${real_card} = fbdev ]] \ + || [[ ${real_card} = vesa ]]; then + continue 2 # Don't disable + fi + fi + done + + # Some kdrive servers require just vesa + for i in ${kdrive_vesa}; do + if use video_cards_${i}; then + if [[ ${real_card} = vesa ]]; then + continue 2 # Don't disable + fi + fi + done + fi + disable_card=1 + # Bug #150052 + # fbdev is the only VIDEO_CARDS setting that works on non-x86 + elif ! use x86 \ + && [[ ${real_card} != fbdev ]]; then + ewarn " $real_card does not work on your architecture; disabling." + disable_card=1 + fi + + if [[ $disable_card = 1 ]]; then + ebegin " ${real_card}" + sed -i \ + -e "s:\b${real_card}\b::g" \ + ${S}/hw/kdrive/Makefile.am \ + || die "sed of ${real_card} failed" + eend + fi + + done + + # smi and via are the only things on line 2. If line 2 ends up blank, + # we need to get rid of the backslash at the end of line 1. + if ! use video_cards_siliconmotion && ! use video_cards_via; then + sed -i \ + -e "s:^\(VESA_SUBDIRS.*\)\\\:\1:g" \ + ${S}/hw/kdrive/Makefile.am + fi +} + +dynamic_libgl_install() { + # next section is to setup the dynamic libGL stuff + ebegin "Moving GL files for dynamic switching" + dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions + local x="" + for x in ${D}/usr/$(get_libdir)/xorg/modules/extensions/libglx*; do + if [ -f ${x} -o -L ${x} ]; then + mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions + fi + done + eend 0 +} + +server_based_install() { + use xprint && xprint_src_install + + if ! use xorg; then + rm ${D}/usr/share/man/man1/Xserver.1x \ + ${D}/usr/$(get_libdir)/xserver/SecurityPolicy \ + ${D}/usr/$(get_libdir)/pkgconfig/xorg-server.pc \ + ${D}/usr/share/man/man1/Xserver.1x + fi +} + +switch_opengl_implem() { + # Switch to the xorg implementation. + # Use new opengl-update that will not reset user selected + # OpenGL interface ... + echo +# eselect opengl set --use-old ${OPENGL_DIR} + eselect opengl set ${OLD_IMPLEM} +} + +xprint_src_install() { + # RH-style init script, we provide a wrapper + exeinto /usr/$(get_libdir)/misc + doexe ${S}/hw/xprint/etc/init.d/xprint + # Install the wrapper + newinitd ${FILESDIR}/xprint.init xprint + # Install profile scripts + insinto /etc/profile.d + doins ${S}/hw/xprint/etc/profile.d/xprint* + insinto /etc/X11/xinit/xinitrc.d + doins ${S}/hw/xprint/etc/Xsession.d/92xprint-xpserverlist + # Patch profile scripts + sed -e "s:/bin/sh.*get_xpserverlist:/usr/$(get_libdir)/misc/xprint \ + get_xpserverlist:g" -i ${D}/etc/profile.d/xprint* \ + ${D}/etc/X11/xinit/xinitrc.d/92xprint-xpserverlist + # Move profile scripts, we can't touch /etc/profile.d/ in Gentoo + dodoc ${D}/etc/profile.d/xprint* + rm -f ${D}/etc/profile.d/xprint* +} + +ensure_a_server_is_building() { + for server in ${IUSE_SERVERS}; do + use ${server} && return; + done + eerror "You need to specify at least one server to build." + eerror "Valid servers are: ${IUSE_SERVERS}." + die "No servers were specified to build." +} diff --git a/x11-base/xorg-server/xorg-server-1.3.0.0.ebuild b/x11-base/xorg-server/xorg-server-1.3.0.0.ebuild new file mode 100644 index 0000000..48e94c2 --- /dev/null +++ b/x11-base/xorg-server/xorg-server-1.3.0.0.ebuild @@ -0,0 +1,527 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-base/xorg-server/xorg-server-1.3.0.0.ebuild,v 1.7 2007/05/05 16:07:09 joshuabaergen Exp $ + +# Must be before x-modular eclass is inherited +#SNAPSHOT="yes" + +inherit x-modular multilib + +OPENGL_DIR="xorg-x11" + +MESA_PN="Mesa" +MESA_PV="6.5.2" +MESA_P="${MESA_PN}-${MESA_PV}" +MESA_SRC_P="${MESA_PN}Lib-${MESA_PV}" + +SRC_URI="${SRC_URI} + mirror://sourceforge/mesa3d/${MESA_SRC_P}.tar.bz2 + http://xorg.freedesktop.org/releases/individual/xserver/${P}.tar.bz2" +DESCRIPTION="X.Org X servers" +# It's suid and has lazy bindings, so FEATURES="stricter" doesn't work +RESTRICT="stricter" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd" +IUSE_INPUT_DEVICES=" + input_devices_acecad + input_devices_aiptek + input_devices_calcomp + input_devices_citron + input_devices_digitaledge + input_devices_dmc + input_devices_dynapro + input_devices_elo2300 + input_devices_elographics + input_devices_evdev + input_devices_fpit + input_devices_hyperpen + input_devices_jamstudio + input_devices_joystick + input_devices_keyboard + input_devices_magellan + input_devices_microtouch + input_devices_mouse + input_devices_mutouch + input_devices_palmax + input_devices_penmount + input_devices_spaceorb + input_devices_summa + input_devices_tek4957 + input_devices_ur98 + input_devices_vmmouse + input_devices_void + + input_devices_synaptics + input_devices_wacom" +IUSE_VIDEO_CARDS=" + video_cards_apm + video_cards_ark + video_cards_chips + video_cards_cirrus + video_cards_cyrix + video_cards_dummy + video_cards_epson + video_cards_fbdev + video_cards_glint + video_cards_i128 + video_cards_i740 + video_cards_i810 + video_cards_impact + video_cards_imstt + video_cards_mach64 + video_cards_mga + video_cards_neomagic + video_cards_newport + video_cards_nsc + video_cards_nv + video_cards_r128 + video_cards_radeon + video_cards_rendition + video_cards_s3 + video_cards_s3virge + video_cards_savage + video_cards_siliconmotion + video_cards_sis + video_cards_sisusb + video_cards_sunbw2 + video_cards_suncg14 + video_cards_suncg3 + video_cards_suncg6 + video_cards_sunffb + video_cards_sunleo + video_cards_suntcx + video_cards_tdfx + video_cards_tga + video_cards_trident + video_cards_tseng + video_cards_v4l + video_cards_vesa + video_cards_vga + video_cards_via + video_cards_vmware + video_cards_voodoo + video_cards_nvidia" +IUSE_SERVERS="dmx kdrive xorg" +IUSE="${IUSE_VIDEO_CARDS} + ${IUSE_INPUT_DEVICES} + ${IUSE_SERVERS} + 3dfx + dri ipv6 minimal nptl sdl xprint" +RDEPEND=">=x11-libs/libXfont-1.2.5 + x11-libs/xtrans + x11-libs/libXau + x11-libs/libXext + x11-libs/libX11 + x11-libs/libxkbfile + x11-libs/libXdmcp + x11-libs/libXmu + x11-libs/libXrender + x11-libs/libXi + media-libs/freetype + >=media-libs/mesa-6.5.2 + media-fonts/font-adobe-75dpi + media-fonts/font-misc-misc + media-fonts/font-cursor-misc + x11-misc/xbitmaps + || ( x11-misc/xkeyboard-config x11-misc/xkbdata ) + x11-apps/iceauth + x11-apps/rgb + x11-apps/xauth + x11-apps/xinit + app-admin/eselect-opengl + x11-libs/libXaw + x11-libs/libXpm + x11-libs/libXxf86misc + x11-libs/libXxf86vm + dmx? ( x11-libs/libdmx + x11-libs/libXfixes ) + !minimal? ( x11-libs/libXtst + x11-libs/libXres ) + >=x11-libs/libxkbui-1.0.2 + x11-libs/liblbxutil + kdrive? ( sdl? ( media-libs/libsdl ) )" + # Xres is dmx-dependent, xkbui is xorgcfg-dependent + # Xaw is dmx- and xorgcfg-dependent + # Xpm is dmx- and xorgcfg-dependent, pulls in Xt + # Xxf86misc and Xxf86vm are xorgcfg-dependent + # liblbxutil is lbx- dependent +DEPEND="${RDEPEND} + >=x11-proto/randrproto-1.2.1 + x11-proto/renderproto + >=x11-proto/fixesproto-4 + >=x11-proto/damageproto-1.1 + x11-proto/xextproto + x11-proto/xproto + x11-proto/xf86dgaproto + x11-proto/xf86miscproto + x11-proto/xf86rushproto + x11-proto/xf86vidmodeproto + x11-proto/xf86bigfontproto + >=x11-proto/compositeproto-0.3 + x11-proto/recordproto + x11-proto/resourceproto + x11-proto/videoproto + >=x11-proto/scrnsaverproto-1.1.0 + x11-proto/evieext + x11-proto/trapproto + >=x11-proto/xineramaproto-1.1-r1 + x11-proto/fontsproto + >=x11-proto/kbproto-1.0.3 + x11-proto/inputproto + x11-proto/bigreqsproto + x11-proto/xcmiscproto + >=x11-proto/glproto-1.4.8 + dmx? ( x11-proto/dmxproto ) + dri? ( x11-proto/xf86driproto + >=x11-libs/libdrm-2.3 ) + xprint? ( x11-proto/printproto + x11-apps/mkfontdir + x11-apps/mkfontscale + x11-apps/xplsprinters )" + +# Drivers +PDEPEND=" + xorg? ( + input_devices_acecad? ( >=x11-drivers/xf86-input-acecad-1.1.0 ) + input_devices_aiptek? ( >=x11-drivers/xf86-input-aiptek-1.0.1 ) + input_devices_calcomp? ( >=x11-drivers/xf86-input-calcomp-1.1.0 ) + input_devices_citron? ( >=x11-drivers/xf86-input-citron-2.2.0 ) + input_devices_digitaledge? ( >=x11-drivers/xf86-input-digitaledge-1.1.0 ) + input_devices_dmc? ( >=x11-drivers/xf86-input-dmc-1.1.0 ) + input_devices_dynapro? ( >=x11-drivers/xf86-input-dynapro-1.1.0 ) + input_devices_elo2300? ( >=x11-drivers/xf86-input-elo2300-1.1.0 ) + input_devices_elographics? ( >=x11-drivers/xf86-input-elographics-1.1.0 ) + input_devices_evdev? ( >=x11-drivers/xf86-input-evdev-1.1.1 ) + input_devices_fpit? ( >=x11-drivers/xf86-input-fpit-1.1.0 ) + input_devices_hyperpen? ( >=x11-drivers/xf86-input-hyperpen-1.1.0 ) + input_devices_jamstudio? ( >=x11-drivers/xf86-input-jamstudio-1.1.0 ) + input_devices_joystick? ( >=x11-drivers/xf86-input-joystick-1.1.0 ) + input_devices_keyboard? ( >=x11-drivers/xf86-input-keyboard-1.1.0 ) + input_devices_magellan? ( >=x11-drivers/xf86-input-magellan-1.1.0 ) + input_devices_microtouch? ( >=x11-drivers/xf86-input-microtouch-1.1.0 ) + input_devices_mouse? ( >=x11-drivers/xf86-input-mouse-1.1.0 ) + input_devices_mutouch? ( >=x11-drivers/xf86-input-mutouch-1.1.0 ) + input_devices_palmax? ( >=x11-drivers/xf86-input-palmax-1.1.0 ) + input_devices_penmount? ( >=x11-drivers/xf86-input-penmount-1.1.0 ) + input_devices_spaceorb? ( >=x11-drivers/xf86-input-spaceorb-1.1.0 ) + input_devices_summa? ( >=x11-drivers/xf86-input-summa-1.1.0 ) + input_devices_tek4957? ( >=x11-drivers/xf86-input-tek4957-1.1.0 ) + input_devices_ur98? ( >=x11-drivers/xf86-input-ur98-1.1.0 ) + input_devices_vmmouse? ( >=x11-drivers/xf86-input-vmmouse-12.4.0 ) + input_devices_void? ( >=x11-drivers/xf86-input-void-1.1.0 ) + + input_devices_synaptics? ( x11-drivers/synaptics ) + input_devices_wacom? ( x11-drivers/linuxwacom ) + + video_cards_apm? ( >=x11-drivers/xf86-video-apm-1.1.1 ) + video_cards_ark? ( >=x11-drivers/xf86-video-ark-0.6.0 ) + video_cards_chips? ( >=x11-drivers/xf86-video-chips-1.1.1 ) + video_cards_cirrus? ( >=x11-drivers/xf86-video-cirrus-1.1.0 ) + video_cards_cyrix? ( >=x11-drivers/xf86-video-cyrix-1.1.0 ) + video_cards_dummy? ( >=x11-drivers/xf86-video-dummy-0.2.0 ) + video_cards_fbdev? ( >=x11-drivers/xf86-video-fbdev-0.2.0 ) + video_cards_glint? ( >=x11-drivers/xf86-video-glint-1.1.1 ) + video_cards_i128? ( >=x11-drivers/xf86-video-i128-1.2.0 ) + video_cards_i740? ( >=x11-drivers/xf86-video-i740-1.1.0 ) + video_cards_i810? ( >=x11-drivers/xf86-video-i810-1.6.0 ) + video_cards_impact? ( >=x11-drivers/xf86-video-impact-0.2.0 ) + video_cards_imstt? ( >=x11-drivers/xf86-video-imstt-1.1.0 ) + video_cards_mach64? ( >=x11-drivers/xf86-video-ati-6.6.0 ) + video_cards_mga? ( >=x11-drivers/xf86-video-mga-1.4.1 ) + video_cards_neomagic? ( >=x11-drivers/xf86-video-neomagic-1.1.1 ) + video_cards_newport? ( >=x11-drivers/xf86-video-newport-0.2.0 ) + video_cards_nsc? ( >=x11-drivers/xf86-video-nsc-2.8.1 ) + video_cards_nv? ( >=x11-drivers/xf86-video-nv-1.1.1 ) + video_cards_r128? ( >=x11-drivers/xf86-video-ati-6.6.0 ) + video_cards_radeon? ( >=x11-drivers/xf86-video-ati-6.6.0 ) + video_cards_rendition? ( >=x11-drivers/xf86-video-rendition-4.1.0 ) + video_cards_s3? ( >=x11-drivers/xf86-video-s3-0.4.1 ) + video_cards_s3virge? ( >=x11-drivers/xf86-video-s3virge-1.9.1 ) + video_cards_savage? ( >=x11-drivers/xf86-video-savage-2.1.1 ) + video_cards_siliconmotion? ( >=x11-drivers/xf86-video-siliconmotion-1.4.1 ) + video_cards_sis? ( >=x11-drivers/xf86-video-sis-0.9.1 ) + video_cards_sisusb? ( >=x11-drivers/xf86-video-sisusb-0.8.1 ) + video_cards_sunbw2? ( >=x11-drivers/xf86-video-sunbw2-1.1.0 ) + video_cards_suncg14? ( >=x11-drivers/xf86-video-suncg14-1.1.0 ) + video_cards_suncg3? ( >=x11-drivers/xf86-video-suncg3-1.1.0 ) + video_cards_suncg6? ( >=x11-drivers/xf86-video-suncg6-1.1.0 ) + video_cards_sunffb? ( >=x11-drivers/xf86-video-sunffb-1.1.0 ) + video_cards_sunleo? ( >=x11-drivers/xf86-video-sunleo-1.1.0 ) + video_cards_suntcx? ( >=x11-drivers/xf86-video-suntcx-1.1.0 ) + video_cards_tdfx? ( >=x11-drivers/xf86-video-tdfx-1.2.1 ) + video_cards_tga? ( >=x11-drivers/xf86-video-tga-1.1.0 ) + video_cards_trident? ( >=x11-drivers/xf86-video-trident-1.2.1 ) + video_cards_tseng? ( >=x11-drivers/xf86-video-tseng-1.1.0 ) + video_cards_v4l? ( >=x11-drivers/xf86-video-v4l-0.1.1 ) + video_cards_vesa? ( >=x11-drivers/xf86-video-vesa-1.1.0 ) + video_cards_vga? ( >=x11-drivers/xf86-video-vga-4.1.0 ) + video_cards_via? ( >=x11-drivers/xf86-video-via-0.2.1 ) + video_cards_vmware? ( >=x11-drivers/xf86-video-vmware-10.13.0 ) + video_cards_voodoo? ( >=x11-drivers/xf86-video-voodoo-1.1.0 ) + + video_cards_tdfx? ( 3dfx? ( >=media-libs/glide-v3-3.10 ) ) + video_cards_nvidia? ( || ( + >=x11-drivers/nvidia-drivers-1.0.8774 + >=x11-drivers/nvidia-legacy-drivers-1.0.7184 + ) + ) + !x11-drivers/ati-drivers + )" +LICENSE="${LICENSE} MIT" + +PATCHES="${FILESDIR}/${P}-loongson.patch" + +pkg_setup() { + use minimal || ensure_a_server_is_building + + # SDL only available in kdrive build + if use kdrive && use sdl; then + conf_opts="${conf_opts} --enable-xsdl" + else + conf_opts="${conf_opts} --disable-xsdl" + fi + + # Only Xorg and Xgl support this, and we won't build Xgl + # until it merges to trunk + if use xorg; then + conf_opts="${conf_opts} --with-mesa-source=${WORKDIR}/${MESA_P}" + fi + + # localstatedir is used for the log location; we need to override the default + # from ebuild.sh + # sysconfdir is used for the xorg.conf location; same applies + # --enable-install-setuid needed because sparcs default off + CONFIGURE_OPTIONS=" + $(use_enable ipv6) + $(use_enable dmx) + $(use_enable kdrive) + $(use_enable !minimal xvfb) + $(use_enable !minimal xnest) + $(use_enable !minimal install-libxf86config) + $(use_enable dri) + $(use_enable xorg) + $(use_enable xprint) + $(use_enable nptl glx-tls) + $(use_enable !minimal xorgcfg) + --sysconfdir=/etc/X11 + --localstatedir=/var + --enable-install-setuid + --with-fontdir=/usr/share/fonts + ${conf_opts}" + + local diemsg="You must build xorg-server and mesa with the same nptl USE setting." + if built_with_use media-libs/mesa nptl; then + use nptl || die "${diemsg}" + else + use nptl && die "${diemsg}" + fi + + # (#121394) Causes window corruption + filter-flags -fweb + + # Nothing else provides new enough glxtokens.h + ewarn "Forcing on xorg-x11 for new enough glxtokens.h..." + OLD_IMPLEM="$(eselect opengl show)" + eselect opengl set --impl-headers ${OPENGL_DIR} +} + +src_unpack() { + x-modular_specs_check + x-modular_dri_check + x-modular_unpack_source + x-modular_patch_source + + # Set up kdrive servers to build + if use kdrive; then + kdrive_setup + fi + + # Make sure eautoreconf gets run if we need the autoconf/make + # changes. + if [[ ${SNAPSHOT} != "yes" ]]; then + if use kdrive; then + eautoreconf + fi + fi + x-modular_reconf_source +} + +src_install() { + x-modular_src_install + + dynamic_libgl_install + + server_based_install + + # Install video mode files for system-config-display + insinto /usr/share/xorg + doins hw/xfree86/common/{extra,vesa}modes \ + || die "couldn't install extra modes" + + # Bug #151421 - this file is not built with USE="minimal" + # Bug #151670 - this file is also not build if USE="-xorg" + if ! use minimal && use xorg; then + # Install xorg.conf.example + insinto /etc/X11 + doins hw/xfree86/xorg.conf.example \ + || die "couldn't install xorg.conf.example" + fi +} + +pkg_postinst() { + switch_opengl_implem + + # Bug #135544 + ewarn "Users of reduced blanking now need:" + ewarn " Option \"ReducedBlanking\"" + ewarn "In the relevant Monitor section(s)." + ewarn "Make sure your reduced blanking modelines are safe!" +} + +pkg_postrm() { + # Get rid of module dir to ensure opengl-update works properly + if ! has_version x11-base/xorg-server; then + if [ -e ${ROOT}/usr/$(get_libdir)/xorg/modules ]; then + rm -rf ${ROOT}/usr/$(get_libdir)/xorg/modules + fi + fi +} + +kdrive_setup() { + local card real_card disable_card kdrive_fbdev kdrive_vesa + + einfo "Removing unused kdrive drivers ..." + + # Some kdrive servers require fbdev and vesa + kdrive_fbdev="radeon neomagic sis siliconmotion" + # Some kdrive servers require just vesa + kdrive_vesa="chips mach64 mga nv glint r128 via" + + for card in ${IUSE_VIDEO_CARDS}; do + real_card=${card#video_cards_} + + # Differences between VIDEO_CARDS name and kdrive server name + real_card=${real_card/glint/pm2} + real_card=${real_card/radeon/ati} + real_card=${real_card/%nv/nvidia} + real_card=${real_card/siliconmotion/smi} + real_card=${real_card/%sis/sis300} + + disable_card=0 + + # Check whether it's a valid kdrive server before we waste time + # on the rest of this + if ! grep -q -o "\b${real_card}\b" ${S}/hw/kdrive/Makefile.am; then + continue + fi + + if ! use ${card}; then + if use x86; then + # Some kdrive servers require fbdev and vesa + for i in ${kdrive_fbdev}; do + if use video_cards_${i}; then + if [[ ${real_card} = fbdev ]] \ + || [[ ${real_card} = vesa ]]; then + continue 2 # Don't disable + fi + fi + done + + # Some kdrive servers require just vesa + for i in ${kdrive_vesa}; do + if use video_cards_${i}; then + if [[ ${real_card} = vesa ]]; then + continue 2 # Don't disable + fi + fi + done + fi + disable_card=1 + # Bug #150052 + # fbdev is the only VIDEO_CARDS setting that works on non-x86 + elif ! use x86 \ + && [[ ${real_card} != fbdev ]]; then + ewarn " $real_card does not work on your architecture; disabling." + disable_card=1 + fi + + if [[ $disable_card = 1 ]]; then + ebegin " ${real_card}" + sed -i \ + -e "s:\b${real_card}\b::g" \ + ${S}/hw/kdrive/Makefile.am \ + || die "sed of ${real_card} failed" + eend + fi + + done + + # smi and via are the only things on line 2. If line 2 ends up blank, + # we need to get rid of the backslash at the end of line 1. + if ! use video_cards_siliconmotion && ! use video_cards_via; then + sed -i \ + -e "s:^\(VESA_SUBDIRS.*\)\\\:\1:g" \ + ${S}/hw/kdrive/Makefile.am + fi +} + +dynamic_libgl_install() { + # next section is to setup the dynamic libGL stuff + ebegin "Moving GL files for dynamic switching" + dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions + local x="" + for x in ${D}/usr/$(get_libdir)/xorg/modules/extensions/libglx*; do + if [ -f ${x} -o -L ${x} ]; then + mv -f ${x} ${D}/usr/$(get_libdir)/opengl/${OPENGL_DIR}/extensions + fi + done + eend 0 +} + +server_based_install() { + use xprint && xprint_src_install + + if ! use xorg; then + rm ${D}/usr/share/man/man1/Xserver.1x \ + ${D}/usr/$(get_libdir)/xserver/SecurityPolicy \ + ${D}/usr/$(get_libdir)/pkgconfig/xorg-server.pc \ + ${D}/usr/share/man/man1/Xserver.1x + fi +} + +switch_opengl_implem() { + # Switch to the xorg implementation. + # Use new opengl-update that will not reset user selected + # OpenGL interface ... + echo +# eselect opengl set --use-old ${OPENGL_DIR} + eselect opengl set ${OLD_IMPLEM} +} + +xprint_src_install() { + # RH-style init script, we provide a wrapper + exeinto /usr/$(get_libdir)/misc + doexe ${S}/hw/xprint/etc/init.d/xprint + # Install the wrapper + newinitd ${FILESDIR}/xprint.init xprint + # Install profile scripts + insinto /etc/profile.d + doins ${S}/hw/xprint/etc/profile.d/xprint* + insinto /etc/X11/xinit/xinitrc.d + doins ${S}/hw/xprint/etc/Xsession.d/92xprint-xpserverlist + # Patch profile scripts + sed -e "s:/bin/sh.*get_xpserverlist:/usr/$(get_libdir)/misc/xprint \ + get_xpserverlist:g" -i ${D}/etc/profile.d/xprint* \ + ${D}/etc/X11/xinit/xinitrc.d/92xprint-xpserverlist + # Move profile scripts, we can't touch /etc/profile.d/ in Gentoo + dodoc ${D}/etc/profile.d/xprint* + rm -f ${D}/etc/profile.d/xprint* +} + +ensure_a_server_is_building() { + for server in ${IUSE_SERVERS}; do + use ${server} && return; + done + eerror "You need to specify at least one server to build." + eerror "Valid servers are: ${IUSE_SERVERS}." + die "No servers were specified to build." +} diff --git a/x11-drivers/xf86-video-ati/ChangeLog b/x11-drivers/xf86-video-ati/ChangeLog new file mode 100644 index 0000000..d5d361a --- /dev/null +++ b/x11-drivers/xf86-video-ati/ChangeLog @@ -0,0 +1,226 @@ +# ChangeLog for x11-drivers/xf86-video-ati +# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-ati/ChangeLog,v 1.46 2007/01/24 06:56:51 dberkholz Exp $ + + 24 Jan 2007; Donnie Berkholz <dberkholz@gentoo.org>; + -xf86-video-ati-6.5.8.0.ebuild: + Stop supporting Xorg 7.0. + + 21 Oct 2006; Emanuele Giaquinta <exg@gentoo.org> + xf86-video-ati-6.6.3.ebuild: + Stable on ppc. + + 18 Oct 2006; Aron Griffis <agriffis@gentoo.org> + xf86-video-ati-6.6.3.ebuild: + Mark 6.6.3 stable on alpha. #144549 + + 17 Oct 2006; Gustavo Zacarias <gustavoz@gentoo.org> + xf86-video-ati-6.6.3.ebuild: + Stable on sparc + + 16 Oct 2006; Markus Rothe <corsair@gentoo.org> + xf86-video-ati-6.6.3.ebuild: + Stable on ppc64 + + 14 Oct 2006; Aron Griffis <agriffis@gentoo.org> + xf86-video-ati-6.6.3.ebuild: + Mark 6.6.3 stable on ia64. #144549 + + 13 Oct 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xf86-video-ati-6.6.3.ebuild: + AMD64/x86 stable for bug #144549 (X7.1). + + 11 Oct 2006; Donnie Berkholz <dberkholz@gentoo.org>; + xf86-video-ati-6.5.8.0.ebuild, xf86-video-ati-6.6.1.ebuild, + xf86-video-ati-6.6.3.ebuild: + Update description to be less generic. + + 05 Oct 2006; Joshua Baergen <joshuabaergen@gentoo.org> + xf86-video-ati-6.5.8.0.ebuild, xf86-video-ati-6.6.1.ebuild, + xf86-video-ati-6.6.3.ebuild: + Add dependency on x11-proto/glproto when dri is enabled. (Diego Pettenò, bug + #150035) + + 04 Oct 2006; Donnie Berkholz <dberkholz@gentoo.org>; + -files/xf86-video-ati-6.5.7.3-hangup-ppc.patch, + -xf86-video-ati-6.5.7.3.ebuild, -xf86-video-ati-6.6.0.ebuild, + -xf86-video-ati-6.6.2.ebuild: + Clean up. + +*xf86-video-ati-6.6.3 (04 Oct 2006) + + 04 Oct 2006; Donnie Berkholz <dberkholz@gentoo.org>; + +xf86-video-ati-6.6.3.ebuild: + Bump, fixes rn50/M6/M7 and some other misc stuff. + + 05 Sep 2006; Donnie Berkholz <dberkholz@gentoo.org>; +files/ati.xinf, + +files/r128.xinf, +files/radeon.xinf: + Add hwdata files for system-config-display. + +*xf86-video-ati-6.6.2 (25 Aug 2006) + + 25 Aug 2006; Joshua Baergen <joshuabaergen@gentoo.org> + +xf86-video-ati-6.6.2.ebuild: + Version bump. Lots of fixes, especially for r300 stability. + + 10 Jul 2006; Aron Griffis <agriffis@gentoo.org> + xf86-video-ati-6.6.1.ebuild: + Mark 6.6.1 stable on ia64 + + 01 Jul 2006; Donnie Berkholz <spyderous@gentoo.org>; + xf86-video-ati-6.6.1.ebuild: + stable on ppc sparc alpha arm sh + + 30 Jun 2006; Markus Rothe <corsair@gentoo.org> + xf86-video-ati-6.6.1.ebuild: + Stable on ppc64 + + 30 Jun 2006; Chris Gianelloni <wolf31o2@gentoo.org> + xf86-video-ati-6.5.8.0.ebuild: + Stable on amd64. + + 30 Jun 2006; Markus Rothe <corsair@gentoo.org> + xf86-video-ati-6.5.8.0.ebuild: + Stable on ppc64 + + 30 Jun 2006; Donnie Berkholz <spyderous@gentoo.org>; + xf86-video-ati-6.5.8.0.ebuild: + x86 stable. + +*xf86-video-ati-6.6.1 (16 Jun 2006) + + 16 Jun 2006; Donnie Berkholz <spyderous@gentoo.org>; + +xf86-video-ati-6.6.1.ebuild: + Bump. Fixes PCIE suspend/resume, lots of EXA fixes, interrupt handling, and + more. + + 05 Jun 2006; Diego Pettenò <flameeyes@gentoo.org> + xf86-video-ati-6.6.0.ebuild: + Add ~x86-fbsd keyword. + +*xf86-video-ati-6.5.8.0 (29 Apr 2006) + + 29 Apr 2006; Joshua Baergen <joshuabaergen@gentoo.org> + +xf86-video-ati-6.5.8.0.ebuild: + Version bump. Includes the memory map fixes that are in the 6.6 series. + + 16 Apr 2006; Diego Pettenò <flameeyes@gentoo.org> + xf86-video-ati-6.5.7.3.ebuild: + Add ~x86-fbsd keyword. + +*xf86-video-ati-6.6.0 (14 Apr 2006) + + 14 Apr 2006; Joshua Baergen <joshuabaergen@gentoo.org> + +xf86-video-ati-6.6.0.ebuild: + Bump for 7.1 RC1. + + 21 Mar 2006; Luca Barbato <lu_zero@gentoo.org> + +files/xf86-video-ati-6.5.7.3-hangup-ppc.patch, + xf86-video-ati-6.5.7.3.ebuild: + Fixed hangup on new Apple PowerBook (rev 5,6 and 5,8), thanks to the people + in #mklinux for pointing it (and the ubuntu's mantainer) + + 23 Feb 2006; Stefaan De Roeck <stefaan@gentoo.org> + xf86-video-ati-6.5.7.3.ebuild: + Marked ~alpha (bug #122726) + + 14 Feb 2006; Markus Rothe <corsair@gentoo.org> + xf86-video-ati-6.5.7.3.ebuild: + Added ~ppc64 + + 26 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org> + -xf86-video-ati-6.5.7.1.ebuild, -xf86-video-ati-6.5.7.2.ebuild: + Pull old versions. + +*xf86-video-ati-6.5.7.3 (23 Dec 2005) + + 23 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org> + +xf86-video-ati-6.5.7.3.ebuild: + Bump for 7.0. + +*xf86-video-ati-6.5.7.2 (18 Dec 2005) + + 18 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org> + +xf86-video-ati-6.5.7.2.ebuild: + Bump for 7.0RC4. + + 09 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org> + files/digest-xf86-video-ati-6.5.7.1, Manifest: + Update digest to match patch introduced by x-modular.eclass changes. + + 09 Dec 2005; Donnie Berkholz <spyderous@gentoo.org>; + -xf86-video-ati-6.5.6.1.ebuild, -xf86-video-ati-6.5.7.ebuild: + Pull old versions. + + 04 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org> + xf86-video-ati-6.5.7.1.ebuild: + Repoman fix. + +*xf86-video-ati-6.5.7.1 (04 Dec 2005) + + 04 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org> + +xf86-video-ati-6.5.7.1.ebuild: + Bump for 7.0RC3. + +*xf86-video-ati-6.5.7 (11 Nov 2005) + + 11 Nov 2005; Joshua Baergen <joshuabaergen@gentoo.org> + +xf86-video-ati-6.5.7.ebuild: + Bump for 7.0RC2. + + 31 Oct 2005; Donnie Berkholz <spyderous@gentoo.org>; + -xf86-video-ati-6.5.6_p20050903.ebuild: + Pull old versions. + +*xf86-video-ati-6.5.6.1 (20 Oct 2005) + + 20 Oct 2005; Joshua Baergen <joshuabaergen@gentoo.org> + +xf86-video-ati-6.5.6.1.ebuild: + Bump for 7.0 RC1. + + 14 Oct 2005; <dang@gentoo.org> xf86-video-ati-6.5.6_p20050903.ebuild: + Marked ~amd64 + + 09 Sep 2005; Donnie Berkholz <spyderous@gentoo.org>; +metadata.xml: + Add metadata. + + 08 Sep 2005; Joshua Baergen <joshuabaergen@gentoo.org> ChangeLog: + Fixed changelog entry. + +*xf86-video-ati-6.5.6_p20050903 (08 Sep 2005) + + 08 Sep 2005; Joshua Baergen <joshuabaergen@gentoo.org> + -xf86-video-ati-6.5.6-r2.ebuild, +xf86-video-ati-6.5.6_p20050903.ebuild: + Fixed package name to properly reflect snapshot taken. + +*xf86-video-ati-6.5.6-r2 (03 Sep 2005) + + 03 Sep 2005; Joshua Baergen <joshuabaergen@gentoo.org> + -files/detect-dga-cpio-etc-per-platform.patch, + -xf86-video-ati-6.5.6.ebuild, -xf86-video-ati-6.5.6-r1.ebuild, + +xf86-video-ati-6.5.6-r2.ebuild: + New CVS snapshot of driver which includes previous patch. Old versions + removed. + + 20 Aug 2005; Luca Barbato <lu_zero@gentoo.org> + xf86-video-ati-6.5.6.ebuild, xf86-video-ati-6.5.6-r1.ebuild: + Marked ~ppc + +*xf86-video-ati-6.5.6-r1 (16 Aug 2005) + + 16 Aug 2005; Donnie Berkholz <spyderous@gentoo.org>; + +files/detect-dga-cpio-etc-per-platform.patch, + +xf86-video-ati-6.5.6-r1.ebuild: + Add detect-dga-cpio-etc-per-platform.patch, which should make things work + for ppc. + + 08 Aug 2005; Ferris McCormick <fmccor@gentoo.org> + xf86-video-ati-6.5.6.ebuild: + Add ~sparc keyword (X modular testing). + +*xf86-video-ati-6.5.6 (08 Aug 2005) + + 08 Aug 2005; Donnie Berkholz <spyderous@gentoo.org>; + +xf86-video-ati-6.5.6.ebuild: + Initial commit for modular X. + diff --git a/x11-drivers/xf86-video-ati/Manifest b/x11-drivers/xf86-video-ati/Manifest new file mode 100644 index 0000000..8b32bf5 --- /dev/null +++ b/x11-drivers/xf86-video-ati/Manifest @@ -0,0 +1,33 @@ +AUX ati.xinf 2028 RMD160 0f57c7452bbf9d2d8d0a96f6f480b98e8a5c6d5f SHA1 51dc48aba9d3e2613d230837d369ebcab86b4c5c SHA256 79540e91ab1baf462ded22a5ef0f3cff0d95bef22db4ec13ea7101dbff29aa74 +MD5 2f03c4efec1e15ea956f71ea176f1653 files/ati.xinf 2028 +RMD160 0f57c7452bbf9d2d8d0a96f6f480b98e8a5c6d5f files/ati.xinf 2028 +SHA256 79540e91ab1baf462ded22a5ef0f3cff0d95bef22db4ec13ea7101dbff29aa74 files/ati.xinf 2028 +AUX r128.xinf 2491 RMD160 02f5ae030596643bdc2ce4982ee47fdbdf656f95 SHA1 cee72fd687711845f4fc435cac00b715fc19b1d3 SHA256 d8f50f12b291d526353aa5d76c95137dafbff22bf47cbb751b686252d104279b +MD5 90347d243457b28896016a106075b4c8 files/r128.xinf 2491 +RMD160 02f5ae030596643bdc2ce4982ee47fdbdf656f95 files/r128.xinf 2491 +SHA256 d8f50f12b291d526353aa5d76c95137dafbff22bf47cbb751b686252d104279b files/r128.xinf 2491 +AUX radeon.xinf 12504 RMD160 48b32c2d4acc1edff0e814a173ecce1b6026ba7c SHA1 1f4d98536d013d3ac6999781578d381bbd94023f SHA256 f23555826bfce07dfaafba60957e347e36fdb694c71bc3ad39d172e3863e7c96 +MD5 c6d461a6bc57ca3b478e57e2981b22be files/radeon.xinf 12504 +RMD160 48b32c2d4acc1edff0e814a173ecce1b6026ba7c files/radeon.xinf 12504 +SHA256 f23555826bfce07dfaafba60957e347e36fdb694c71bc3ad39d172e3863e7c96 files/radeon.xinf 12504 +AUX xf86-video-ati-6.6.3-loongson.patch 135098 RMD160 c1c1b8c6550aba12c5f5a988feee1b67aa1ef213 SHA1 73e824c929c7b6dbd8677f2e55bf4cf95e524885 SHA256 ec8fe6bf23fa1b9dbd24578f535b49413bc67f9b1085998cce35598a0ffb79fb +MD5 c0acdc48ddd5e186e093562f5066ff89 files/xf86-video-ati-6.6.3-loongson.patch 135098 +RMD160 c1c1b8c6550aba12c5f5a988feee1b67aa1ef213 files/xf86-video-ati-6.6.3-loongson.patch 135098 +SHA256 ec8fe6bf23fa1b9dbd24578f535b49413bc67f9b1085998cce35598a0ffb79fb files/xf86-video-ati-6.6.3-loongson.patch 135098 +DIST x11-driver-patches-1.tar.bz2 389 RMD160 0c57d4b235d83f3d7c46691c13857fd121ddec2d SHA1 6e2ac0cd255d3c4dc97d35092fe3ef64a71d7ac5 SHA256 64787d5b57d2845c0fa9297a9d924093ba191fc3551798239d9983f0bcca9b3e +DIST xf86-video-ati-6.6.3.tar.bz2 723083 RMD160 a1c24c13ea88fa38f34e3f0540b53082ab2ae129 SHA1 b911df1f4b41ad37028c708e2c95e5a729a32ede SHA256 d08a429e1fb1620ae81839181a4dc6cd579d52fc440d44d7bba36d19be355780 +EBUILD xf86-video-ati-6.6.3.ebuild 1006 RMD160 b618894f109f7aac682534334dc97a9043158c94 SHA1 65a0803eec49f78d02c234b88140fdec7ad200e9 SHA256 392134dc74e3aa575e2af93f4003ccd9c4725ddaaa84a4a4af6ca741b1e2a48c +MD5 572193d9a7dee5151cb3f589f063048b xf86-video-ati-6.6.3.ebuild 1006 +RMD160 b618894f109f7aac682534334dc97a9043158c94 xf86-video-ati-6.6.3.ebuild 1006 +SHA256 392134dc74e3aa575e2af93f4003ccd9c4725ddaaa84a4a4af6ca741b1e2a48c xf86-video-ati-6.6.3.ebuild 1006 +MISC ChangeLog 7054 RMD160 649c4a01d9a8ad41a0e0c623f081c56cf922bf27 SHA1 71c5d66e2f7c53a6a96f1308f240ec6dce0a9d2c SHA256 e8a95443d757f21f0e62a6075ff0881d8cd9b3a7e5aaad838ae57d99e4825708 +MD5 82d03ed4cf7a8e32549dc5acb22a56be ChangeLog 7054 +RMD160 649c4a01d9a8ad41a0e0c623f081c56cf922bf27 ChangeLog 7054 +SHA256 e8a95443d757f21f0e62a6075ff0881d8cd9b3a7e5aaad838ae57d99e4825708 ChangeLog 7054 +MISC metadata.xml 156 RMD160 c1274bdccf57603d580de0075ba07a35b7509560 SHA1 6f78f604e3d079d39189b40aaaa1ddb06182ad91 SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055 +MD5 a37bab73e2f24b213932c30997d3d360 metadata.xml 156 +RMD160 c1274bdccf57603d580de0075ba07a35b7509560 metadata.xml 156 +SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055 metadata.xml 156 +MD5 369c667080f0c9a3a0e65e51ca6aa3a4 files/digest-xf86-video-ati-6.6.3 521 +RMD160 894c71494ff0f9a494ed2587db6214822a7bd70d files/digest-xf86-video-ati-6.6.3 521 +SHA256 d9617e668c1b1d805d2087ada6de81ff2379dffa9b99aa29e0458343240ce9ca files/digest-xf86-video-ati-6.6.3 521 diff --git a/x11-drivers/xf86-video-ati/files/ati.xinf b/x11-drivers/xf86-video-ati/files/ati.xinf new file mode 100644 index 0000000..b089297 --- /dev/null +++ b/x11-drivers/xf86-video-ati/files/ati.xinf @@ -0,0 +1,39 @@ +alias pcivideo:v00001002d00004158sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004354sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004358sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004554sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004654sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004742sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004744sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004747sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004749sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d0000474Csv*sd*bc*sc*i* ati +alias pcivideo:v00001002d0000474Dsv*sd*bc*sc*i* ati +alias pcivideo:v00001002d0000474Esv*sd*bc*sc*i* ati +alias pcivideo:v00001002d0000474Fsv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004750sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004751sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004752sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004753sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004754sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004755sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004756sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004757sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004758sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004759sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d0000475Asv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004C42sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004C44sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004C47sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004C49sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004C4Dsv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004C4Esv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004C50sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004C51sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004C52sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004C53sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00004C54sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00005354sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00005654sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00005655sv*sd*bc*sc*i* ati +alias pcivideo:v00001002d00005656sv*sd*bc*sc*i* ati diff --git a/x11-drivers/xf86-video-ati/files/digest-xf86-video-ati-6.6.3 b/x11-drivers/xf86-video-ati/files/digest-xf86-video-ati-6.6.3 new file mode 100644 index 0000000..4c939fc --- /dev/null +++ b/x11-drivers/xf86-video-ati/files/digest-xf86-video-ati-6.6.3 @@ -0,0 +1,6 @@ +MD5 1b8cfd2923836ee93eda69abe50dda04 x11-driver-patches-1.tar.bz2 389 +RMD160 0c57d4b235d83f3d7c46691c13857fd121ddec2d x11-driver-patches-1.tar.bz2 389 +SHA256 64787d5b57d2845c0fa9297a9d924093ba191fc3551798239d9983f0bcca9b3e x11-driver-patches-1.tar.bz2 389 +MD5 f6d559f9d20f61567d381916b376590f xf86-video-ati-6.6.3.tar.bz2 723083 +RMD160 a1c24c13ea88fa38f34e3f0540b53082ab2ae129 xf86-video-ati-6.6.3.tar.bz2 723083 +SHA256 d08a429e1fb1620ae81839181a4dc6cd579d52fc440d44d7bba36d19be355780 xf86-video-ati-6.6.3.tar.bz2 723083 diff --git a/x11-drivers/xf86-video-ati/files/r128.xinf b/x11-drivers/xf86-video-ati/files/r128.xinf new file mode 100644 index 0000000..7101783 --- /dev/null +++ b/x11-drivers/xf86-video-ati/files/r128.xinf @@ -0,0 +1,47 @@ +alias pcivideo:v00001002d00004C45sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00004C46sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00004D46sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00004D4Csv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005041sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005042sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005043sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005044sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005045sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005046sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005047sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005048sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005049sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d0000504Asv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d0000504Bsv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d0000504Csv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d0000504Dsv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d0000504Esv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d0000504Fsv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005050sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005051sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005052sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005053sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005054sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005055sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005056sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005057sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005058sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005245sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005246sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005247sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d0000524Bsv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d0000524Csv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005345sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005346sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005347sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005348sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d0000534Bsv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d0000534Csv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d0000534Dsv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d0000534Esv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005446sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d0000544Csv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005452sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005453sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005454sv*sd*bc*sc*i* r128 +alias pcivideo:v00001002d00005455sv*sd*bc*sc*i* r128 diff --git a/x11-drivers/xf86-video-ati/files/radeon.xinf b/x11-drivers/xf86-video-ati/files/radeon.xinf new file mode 100644 index 0000000..1eaf4e1 --- /dev/null +++ b/x11-drivers/xf86-video-ati/files/radeon.xinf @@ -0,0 +1,197 @@ +# Secret decoder ring: +# R100: Original radeon through 7500 (rv200 counts as R100) +# R200: 8500 through 9250 +# R300: 9500 through X600 +# R400: X700 through X850 +# R500: X1xxx +# +# TODO: add mobility series info +# +# There are lots of "secondary" PCI IDs for that other OS; we don't list +# them here and the driver ignores them anyway. + +alias pcivideo:v00001002d00003150sv*sd*bc*sc*i* radeon # M24 +alias pcivideo:v00001002d00003151sv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00003152sv*sd*bc*sc*i* radeon # M22 +alias pcivideo:v00001002d00003153sv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00003154sv*sd*bc*sc*i* radeon # M24 +alias pcivideo:v00001002d00003156sv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00003E50sv*sd*bc*sc*i* radeon # rv380 +alias pcivideo:v00001002d00003E51sv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00003E52sv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00003E53sv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00003E54sv*sd*bc*sc*i* radeon # rv380 +alias pcivideo:v00001002d00003E56sv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00004136sv*sd*bc*sc*i* radeon # IGP 320M +alias pcivideo:v00001002d00004137sv*sd*bc*sc*i* radeon # IGP 3[345]0 +alias pcivideo:v00001002d00004144sv*sd*bc*sc*i* radeon # R300 AD +alias pcivideo:v00001002d00004145sv*sd*bc*sc*i* radeon # R300 AE +alias pcivideo:v00001002d00004146sv*sd*bc*sc*i* radeon # R300 AF +alias pcivideo:v00001002d00004147sv*sd*bc*sc*i* radeon # R300 AG +alias pcivideo:v00001002d00004148sv*sd*bc*sc*i* radeon # R350 AH +alias pcivideo:v00001002d00004149sv*sd*bc*sc*i* radeon # R350 AI +alias pcivideo:v00001002d0000414Asv*sd*bc*sc*i* radeon # R350 AJ +alias pcivideo:v00001002d0000414Bsv*sd*bc*sc*i* radeon # R350 AK +alias pcivideo:v00001002d00004150sv*sd*bc*sc*i* radeon # RV350 AP +alias pcivideo:v00001002d00004151sv*sd*bc*sc*i* radeon # RV350 AQ +alias pcivideo:v00001002d00004152sv*sd*bc*sc*i* radeon # RV350 AR +alias pcivideo:v00001002d00004153sv*sd*bc*sc*i* radeon # RV350 AS +alias pcivideo:v00001002d00004154sv*sd*bc*sc*i* radeon # RV350 AT +alias pcivideo:v00001002d00004155sv*sd*bc*sc*i* radeon # RV350 AU +alias pcivideo:v00001002d00004156sv*sd*bc*sc*i* radeon # RV350 AV +alias pcivideo:v00001002d00004157sv*sd*bc*sc*i* radeon # RV350 AW +alias pcivideo:v00001002d00004237sv*sd*bc*sc*i* radeon # 7000 IGP +alias pcivideo:v00001002d00004242sv*sd*bc*sc*i* radeon # R200 BB +alias pcivideo:v00001002d00004243sv*sd*bc*sc*i* radeon # R200 DC +alias pcivideo:v00001002d00004336sv*sd*bc*sc*i* radeon # Mobility U1 +alias pcivideo:v00001002d00004337sv*sd*bc*sc*i* radeon # IGP 3[345]0M +alias pcivideo:v00001002d00004437sv*sd*bc*sc*i* radeon # Mobility 7000 IGP +alias pcivideo:v00001002d00004964sv*sd*bc*sc*i* radeon # RV250 Id +alias pcivideo:v00001002d00004965sv*sd*bc*sc*i* radeon # RV250 Ie +alias pcivideo:v00001002d00004966sv*sd*bc*sc*i* radeon # RV250 If +alias pcivideo:v00001002d00004967sv*sd*bc*sc*i* radeon # RV250 Ig +alias pcivideo:v00001002d00004A48sv*sd*bc*sc*i* radeon # R420 JH +alias pcivideo:v00001002d00004A49sv*sd*bc*sc*i* radeon # R420 JI +alias pcivideo:v00001002d00004A4Asv*sd*bc*sc*i* radeon # R420 JJ +alias pcivideo:v00001002d00004A4Bsv*sd*bc*sc*i* radeon # R420 JK +alias pcivideo:v00001002d00004A4Csv*sd*bc*sc*i* radeon # R420 JL +alias pcivideo:v00001002d00004A4Dsv*sd*bc*sc*i* radeon # R420 JM +alias pcivideo:v00001002d00004A4Esv*sd*bc*sc*i* radeon # M18 JN +alias pcivideo:v00001002d00004A50sv*sd*bc*sc*i* radeon # R420 JP +alias pcivideo:v00001002d00004A54sv*sd*bc*sc*i* radeon # R420 JT +alias pcivideo:v00001002d00004B49sv*sd*bc*sc*i* radeon # R480 +alias pcivideo:v00001002d00004B4Asv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00004B4Bsv*sd*bc*sc*i* radeon # R480 +alias pcivideo:v00001002d00004B4Csv*sd*bc*sc*i* radeon # R481 +alias pcivideo:v00001002d00004C57sv*sd*bc*sc*i* radeon # M7 LW +alias pcivideo:v00001002d00004C58sv*sd*bc*sc*i* radeon # M7 LX +alias pcivideo:v00001002d00004C59sv*sd*bc*sc*i* radeon # M6 LY +alias pcivideo:v00001002d00004C5Asv*sd*bc*sc*i* radeon # M6 LZ +alias pcivideo:v00001002d00004C64sv*sd*bc*sc*i* radeon # M9 Ld +alias pcivideo:v00001002d00004C65sv*sd*bc*sc*i* radeon # M9 Le +alias pcivideo:v00001002d00004C66sv*sd*bc*sc*i* radeon # R250 Lf +alias pcivideo:v00001002d00004C67sv*sd*bc*sc*i* radeon # R250 Lg +# alias pcivideo:v00001002d00004C6Esv*sd*bc*sc*i* radeon # secondary +alias pcivideo:v00001002d00004E44sv*sd*bc*sc*i* radeon # R300 ND +alias pcivideo:v00001002d00004E45sv*sd*bc*sc*i* radeon # R300 NE +alias pcivideo:v00001002d00004E46sv*sd*bc*sc*i* radeon # RV350 NF +alias pcivideo:v00001002d00004E47sv*sd*bc*sc*i* radeon # R300 NG +alias pcivideo:v00001002d00004E48sv*sd*bc*sc*i* radeon # R350 NH +alias pcivideo:v00001002d00004E49sv*sd*bc*sc*i* radeon # R350 NI +alias pcivideo:v00001002d00004E4Asv*sd*bc*sc*i* radeon # RV350 NJ +alias pcivideo:v00001002d00004E4Bsv*sd*bc*sc*i* radeon # R350 NK +alias pcivideo:v00001002d00004E50sv*sd*bc*sc*i* radeon # RV350 NP +alias pcivideo:v00001002d00004E51sv*sd*bc*sc*i* radeon # M10 NQ +alias pcivideo:v00001002d00004E52sv*sd*bc*sc*i* radeon # RV350 NR +alias pcivideo:v00001002d00004E53sv*sd*bc*sc*i* radeon # M10 NS +alias pcivideo:v00001002d00004E54sv*sd*bc*sc*i* radeon # M10 NT +alias pcivideo:v00001002d00004E56sv*sd*bc*sc*i* radeon # M10 NV +# 4F72? seems unlikely, in a secondary range. +alias pcivideo:v00001002d00005144sv*sd*bc*sc*i* radeon # R100 QD +alias pcivideo:v00001002d00005145sv*sd*bc*sc*i* radeon # R100 QE +alias pcivideo:v00001002d00005146sv*sd*bc*sc*i* radeon # R100 QF +alias pcivideo:v00001002d00005147sv*sd*bc*sc*i* radeon # R100 QG +# old school method of doing magic names for subdevices +# alias pcivideo:v00001002d00005148sv00001002sd0000010Abc*sc*i* radeon +# alias pcivideo:v00001002d00005148sv00001002sd00000152bc*sc*i* radeon +# alias pcivideo:v00001002d00005148sv00001002sd00000162bc*sc*i* radeon +# alias pcivideo:v00001002d00005148sv00001002sd00000172bc*sc*i* radeon +alias pcivideo:v00001002d00005148sv*sd*bc*sc*i* radeon # R200 QH +alias pcivideo:v00001002d00005149sv*sd*bc*sc*i* radeon # R200 QI +alias pcivideo:v00001002d0000514Asv*sd*bc*sc*i* radeon # R200 QJ +alias pcivideo:v00001002d0000514Bsv*sd*bc*sc*i* radeon # R200 QK +alias pcivideo:v00001002d0000514Csv*sd*bc*sc*i* radeon # R200 QL +alias pcivideo:v00001002d0000514Dsv*sd*bc*sc*i* radeon # R200 QM +alias pcivideo:v00001002d0000514Esv*sd*bc*sc*i* radeon # R200 QN +alias pcivideo:v00001002d0000514Fsv*sd*bc*sc*i* radeon # R200 QO +alias pcivideo:v00001002d00005154sv*sd*bc*sc*i* radeon # R200 QT +alias pcivideo:v00001002d00005155sv*sd*bc*sc*i* radeon # R200 QU +alias pcivideo:v00001002d00005157sv*sd*bc*sc*i* radeon # RV200 QW +alias pcivideo:v00001002d00005158sv*sd*bc*sc*i* radeon # RV200 QX +# alias pcivideo:v00001002d00005159sv00001002sd0000000Bbc*sc*i* radeon +# alias pcivideo:v00001002d00005159sv00001002sd0000013Abc*sc*i* radeon +alias pcivideo:v00001002d00005159sv*sd*bc*sc*i* radeon # RV200 QY +alias pcivideo:v00001002d0000515Asv*sd*bc*sc*i* radeon # RV200 QZ +alias pcivideo:v00001002d0000515Esv*sd*bc*sc*i* radeon # ES1000 +alias pcivideo:v00001002d0000515Fsv*sd*bc*sc*i* radeon # ES1000 (?) +alias pcivideo:v00001002d00005168sv*sd*bc*sc*i* radeon # R200 Qh +alias pcivideo:v00001002d00005169sv*sd*bc*sc*i* radeon # R200 Qi +alias pcivideo:v00001002d0000516Asv*sd*bc*sc*i* radeon # R200 Qj +alias pcivideo:v00001002d0000516Bsv*sd*bc*sc*i* radeon # R200 Qk +alias pcivideo:v00001002d0000516Csv*sd*bc*sc*i* radeon # R200 Ql +alias pcivideo:v00001002d00005460sv*sd*bc*sc*i* radeon # M22 +alias pcivideo:v00001002d00005461sv*sd*bc*sc*i* radeon # M24 +alias pcivideo:v00001002d00005462sv*sd*bc*sc*i* radeon # M22 +alias pcivideo:v00001002d00005463sv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00005464sv*sd*bc*sc*i* radeon # M22 +alias pcivideo:v00001002d00005465sv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00005466sv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00005467sv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00005548sv*sd*bc*sc*i* radeon # R423 UH +alias pcivideo:v00001002d00005549sv*sd*bc*sc*i* radeon # R423 UI +alias pcivideo:v00001002d0000554Asv*sd*bc*sc*i* radeon # R423 UJ +alias pcivideo:v00001002d0000554Bsv*sd*bc*sc*i* radeon # R423 UK +alias pcivideo:v00001002d0000554Csv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d0000554Dsv*sd*bc*sc*i* radeon # R430 UM +alias pcivideo:v00001002d0000554Esv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d0000554Fsv*sd*bc*sc*i* radeon # R430 UO +alias pcivideo:v00001002d00005550sv*sd*bc*sc*i* radeon # R423 UP +alias pcivideo:v00001002d00005551sv*sd*bc*sc*i* radeon # R423 UQ +alias pcivideo:v00001002d00005552sv*sd*bc*sc*i* radeon # R423 UR +alias pcivideo:v00001002d00005554sv*sd*bc*sc*i* radeon # R423 UT +alias pcivideo:v00001002d0000564Asv*sd*bc*sc*i* radeon # M26 +alias pcivideo:v00001002d0000564Bsv*sd*bc*sc*i* radeon # M26 +alias pcivideo:v00001002d0000564Fsv*sd*bc*sc*i* radeon # M26 +alias pcivideo:v00001002d00005652sv*sd*bc*sc*i* radeon # M26 +alias pcivideo:v00001002d00005653sv*sd*bc*sc*i* radeon # M26 +alias pcivideo:v00001002d00005834sv*sd*bc*sc*i* radeon # RS300M +alias pcivideo:v00001002d00005835sv*sd*bc*sc*i* radeon # RS300M +alias pcivideo:v00001002d00005836sv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00005837sv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00005944sv*sd*bc*sc*i* radeon # RV280 +alias pcivideo:v00001002d00005954sv*sd*bc*sc*i* radeon # RS480 +alias pcivideo:v00001002d00005955sv*sd*bc*sc*i* radeon # RS482 +alias pcivideo:v00001002d00005960sv*sd*bc*sc*i* radeon # RV280 +alias pcivideo:v00001002d00005961sv*sd*bc*sc*i* radeon # RV280 +alias pcivideo:v00001002d00005962sv*sd*bc*sc*i* radeon # RV280 +alias pcivideo:v00001002d00005964sv*sd*bc*sc*i* radeon # RV280 +alias pcivideo:v00001002d00005965sv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00005969sv*sd*bc*sc*i* radeon # ES1000 +alias pcivideo:v00001002d00005974sv*sd*bc*sc*i* radeon # RS482 +alias pcivideo:v00001002d00005975sv*sd*bc*sc*i* radeon # RS482 +alias pcivideo:v00001002d00005A41sv*sd*bc*sc*i* radeon # RS400 +alias pcivideo:v00001002d00005A42sv*sd*bc*sc*i* radeon # RS400 +alias pcivideo:v00001002d00005A61sv*sd*bc*sc*i* radeon # RC410 +alias pcivideo:v00001002d00005A62sv*sd*bc*sc*i* radeon # RC410 +alias pcivideo:v00001002d00005B60sv*sd*bc*sc*i* radeon # RV370 +alias pcivideo:v00001002d00005B61sv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00005B62sv*sd*bc*sc*i* radeon # RV380 +alias pcivideo:v00001002d00005B63sv*sd*bc*sc*i* radeon # RV370 +alias pcivideo:v00001002d00005B64sv*sd*bc*sc*i* radeon # RV370 +alias pcivideo:v00001002d00005B65sv*sd*bc*sc*i* radeon # RV370 +alias pcivideo:v00001002d00005B66sv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00005B67sv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00005B70sv*sd*bc*sc*i* radeon # RV370 +alias pcivideo:v00001002d00005B72sv*sd*bc*sc*i* radeon # RV380 +alias pcivideo:v00001002d00005C61sv*sd*bc*sc*i* radeon # M9+ +alias pcivideo:v00001002d00005C63sv*sd*bc*sc*i* radeon # M9+ +alias pcivideo:v00001002d00005D48sv*sd*bc*sc*i* radeon # M28 +alias pcivideo:v00001002d00005D49sv*sd*bc*sc*i* radeon # M28 +alias pcivideo:v00001002d00005D4Asv*sd*bc*sc*i* radeon # M28 +alias pcivideo:v00001002d00005D4Csv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00005D4Dsv*sd*bc*sc*i* radeon # R480 +alias pcivideo:v00001002d00005D4Esv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00005D4Fsv*sd*bc*sc*i* radeon # R480 +alias pcivideo:v00001002d00005D50sv*sd*bc*sc*i* radeon # XXX not in pci.ids +alias pcivideo:v00001002d00005D52sv*sd*bc*sc*i* radeon # R480 +alias pcivideo:v00001002d00005D57sv*sd*bc*sc*i* radeon # R423 +alias pcivideo:v00001002d00005E48sv*sd*bc*sc*i* radeon # RV410 +alias pcivideo:v00001002d00005E49sv*sd*bc*sc*i* radeon # RV410 +alias pcivideo:v00001002d00005E4Asv*sd*bc*sc*i* radeon # RV410 +alias pcivideo:v00001002d00005E4Bsv*sd*bc*sc*i* radeon # RV410 +alias pcivideo:v00001002d00005E4Csv*sd*bc*sc*i* radeon # RV410 +alias pcivideo:v00001002d00005E4Dsv*sd*bc*sc*i* radeon # RV410 +alias pcivideo:v00001002d00005F57sv*sd*bc*sc*i* radeon # R423 +alias pcivideo:v00001002d00007834sv*sd*bc*sc*i* radeon # 9100 IGP +alias pcivideo:v00001002d00007835sv*sd*bc*sc*i* radeon # 9200 IGP +alias pcivideo:v00001002d00007C37sv*sd*bc*sc*i* radeon # RV350 diff --git a/x11-drivers/xf86-video-ati/files/xf86-video-ati-6.6.3-loongson.patch b/x11-drivers/xf86-video-ati/files/xf86-video-ati-6.6.3-loongson.patch new file mode 100644 index 0000000..e5be904 --- /dev/null +++ b/x11-drivers/xf86-video-ati/files/xf86-video-ati-6.6.3-loongson.patch @@ -0,0 +1,4764 @@ +diff -urN -X /home/zhangle/exec/dontdiff xserver-xorg-video-ati-6.6.3.orig/README.tvout xserver-xorg-video-ati-6.6.3/README.tvout +--- xserver-xorg-video-ati-6.6.3.orig/README.tvout 1970-01-01 08:00:00.000000000 +0800 ++++ xserver-xorg-video-ati-6.6.3/README.tvout 2007-01-08 12:48:05.000000000 +0800 +@@ -0,0 +1,237 @@ ++ ++ ++ ******************************************************* ++ ** XFree86 driver for TV output on ATI Radeon cards ** ++ ******************************************************* ++ ++Copyright (c) 2003-2004, by Federico Ulivi <fulivi@lycos.com> ++Released under the GNU General Public License, version 2. ++ ++1. About this driver ++-------------------- ++ ++This driver was developped as a part of ati.2 project. Its purpose ++is to enable the TV output of ATI Radeon cards when running the ++XFree86 graphical environment. ++ ++2. Status of the driver ++----------------------- ++ ++The driver is in early development stage. It currently works with ++those cards having a Rage Theater chip for TV output or with cards ++having the tv module inside the Radeon chip (ERT, Embedded Rage ++Theater, is my name for the latter). ++The driver was successfully tested on these cards: ++- Radeon 7200 / European model (TV out hw: RT 100) ++- Radeon 9000 (TV out hw: ERT) ++- Radeon 9200SE (TV out hw: ERT) ++- Radeon 7000 (TV out hw: ERT) ++ ++3. Making it work ++----------------- ++ ++The driver is always loaded by the Radeon driver. If you need to ++disable this auto-loading mechanism, just set the "TVOutput" option ++(see below) to "NOLOAD". ++In principle the driver should coexist with video grabbing functions, ++especially on those AIW cards where TV output is done by ERT ++inside Radeon. ++ ++Principle of operation of the driver is very simple. Driver enables ++tv output whenever the current screen resolution and tv standard match ++one of a set of pre-computed combinations. In all other cases tv output ++is simply kept disabled. ++The driver currently works in the so-called "clone" mode only. This means ++that the image on the TV screen is exactly the same as the one on the ++monitor. ++ ++The driver is enabled by adding a "TVOutput" line in the "device" ++section of XF86Config-4 file (this file is usually located in /etc/X11 ++directory). Syntax of this option is very simple: ++ ++Section "Device" ++ .. ++ .. ++ Option "TVOuput" "<name of tv standard>" ++EndSection ++ ++Names of recognized TV standards are: ++"NTSC" ++"NTSC-J" ++"PAL" ++"PAL-CN" ++"PAL-M" ++"PAL-N" ++"PAL-60" ++ ++If "TVOutput" is not present or its value is invalid, TV output is kept disabled. ++ ++In the current version of the driver these are the recognized TV standard & ++resolution combinations: ++ ++PAL 800x600 ++NTSC 800x600 ++ ++More combinations will be added in future releases. ++ ++4. XV Interface ++--------------- ++ ++The driver has an external interface through some Xv attributes. ++You can change the value of these attributes by using the tvo_set utility ++(see below). ++ ++XV_TVO_STANDARD Settable/Gettable ++ This is the tv standard in use by the driver. Its value is encoded ++ according to this table: ++ ++ 0 NTSC ++ 1 PAL ++ 2 PAL-M ++ 3 PAL-60 ++ 4 NTSC-J ++ 5 PAL-CN ++ 6 PAL-N ++ 7 Keep TV off ++ ++XV_TVO_MODE_COMPAT Gettable ++ This attribute is set to 1 whenever TV output is enabled, i.e. ++ whenever the current resolution & tv standard combination is ++ recognized by the driver. ++ ++XV_TVO_HPOS Settable/Gettable ++5]. ++ This attribute defines the horizontal position of the TV image. ++ Higher values shift the image to the right, lower values to the left. ++ ++XV_TVO_VPOS Settable/Gettable ++5]. ++ This attribute defines the vertical position of the TV image. ++ Higher values shift the image upward, lower values downward. ++ ++XV_TVO_HSIZE Settable/Gettable ++5]. ++ This attribute is used to set the horizontal size of TV image. ++ Higher values enlarge TV lines, lower values reduce them. ++ ++Default value for XV_TVO_HPOS, XV_TVO_VPOS & XV_TVO_HSIZE just after ++X Window start is 0. ++ ++You might ask where a vertical size attribute has gone. It was not included ++because it's quite hard to implement (it requires changing many timings in ++the CRTC). For the moment I'm not planning to work on it. ++ ++5. tvo_set utility ++------------------ ++ ++tvo_set is a command line utility that is used to change TV output ++attributes while X Window is running. It offers a somewhat more ++friendly interface to XV_TVO_* attributes. ++ ++This is how to compile tvo_set: ++- cd to tvo_set directory ++- xmkmf ++- make ++- make install ++Last step should place the executable (tvo_set) in /usr/X11R6/bin. ++ ++This is the invocation syntax: ++tvo_set [-display host:dpy] [<cmd> <attribute> [<value>]] ++ ++tvo_set is not case sensitive for <cmd>, <attribute> & <value> ++fields. ++When no <cmd> is given, tvo_set just dumps the current state of ++TV attributes. ++ ++Recognized commands: ++set <attribute> <value> Set <attribute> to <value> ++inc <attribute> Increment <attribute> by 1 ++dec <attribute> Decrement <attribute> by 1 ++zero <attribute> Set <attribute> to 0 ++ ++Recognized values for <attribute> field: ++hpos Horizontal position ++vpos Vertical position ++hsize Horizontal size ++std TV Standard ++ ++When setting "std" attribute, both the numeric value and the name of the ++standard are valid, see following table. ++ ++Table of TV standards: ++0 NTSC ++1 PAL ++2 PAL-M ++3 PAL-60 ++4 NTSC-J ++5 PAL-CN ++6 PAL-N ++7 OFF ++ ++Examples: ++"tvo_set set std ntsc" ++ Set standard to NTSC ++ ++"tvo_set set std off" ++ Turn off TV output ++ ++"tvo_set set hsize 5" ++ Set hsize to 5 ++ ++"tvo_set inc hpos" ++ Shift image a bit to the right (increment hpos by 1) ++ ++"tvo_set zero vpos" ++ Restore default value for vpos ++ ++ ++6. WARNING ++---------- ++ ++It's important that you are aware of the fact that, when TV output is active, ++the monitor is driven at the same vertical refresh frequency as that of the ++TV output. This means 50 or 60 Hz according to the standard you're using. ++NO CHECK IS DONE IN THE DRIVER ABOUT THE CAPABILITY OF THE MONITOR TO ++SUSTAIN THESE FREQUENCIES. You should look up in the monitor manual ++and check that 50/60 Hz is within the limits. IT IS POTENTIALLY HARMFUL ++TO THE MONITOR TO BE DRIVEN AT A FREQUENCY OUTSIDE ITS OPERATING RANGE. ++ ++Note, however, that most monitors should accept a 60 Hz vertical frequency, ++since this is used in standard VGA modes. You should really check for 50 Hz ++compatibility if you are going to use any related standard (PAL mostly). ++ATI manuals recommend checking for 50 Hz compatibility (they take ++60 Hz for granted). ++ ++One last thing: I did no testing on cards having DVI/LCD outputs ++so I'm not sure about the driver behaviour with this kind of displays. ++Be warned. ++ ++6. Credits ++---------- ++ ++Vladimir Dergachev For leading the GATOS project, for all the good ++ advices he gave me about dealing with ATI and for ++ all his precious technical hints. ++ ++ATI external developer office ++ For providing me the Rage Theater documentation. ++ ++7. Revision history ++-------------------- ++ ++ ++2003-09-23 ++========== ++ ++Initial release ++ ++2003-11-26 ++========== ++ ++Support for ERT added ++ ++2004-01-27 ++========== ++ ++Support for sizing/positioning of TV image added ++ +diff -urN -X /home/zhangle/exec/dontdiff xserver-xorg-video-ati-6.6.3.orig/src/Makefile.am xserver-xorg-video-ati-6.6.3/src/Makefile.am +--- xserver-xorg-video-ati-6.6.3.orig/src/Makefile.am 2007-03-01 00:15:43.000000000 +0800 ++++ xserver-xorg-video-ati-6.6.3/src/Makefile.am 2007-01-08 12:48:05.000000000 +0800 +@@ -89,6 +89,15 @@ + theatre_detect_drv_la_SOURCES = \ + theatre_detect.c theatre_detect_module.c + ++theater_out_drv_la_LTLIBRARIES = theater_out_drv.la ++theater_out_drv_la_LDFLAGS = -module -avoid-version ++theater_out_drv_ladir = @moduledir@/multimedia ++theater_out_drv_la_CFLAGS = \ ++ $(AM_CFLAGS) -DMICROC_DIR=\"$(theater_out_drv_ladir)\" ++theater_out_drv_la_SOURCES = \ ++ theater_out.c theater_out_module.c ++ ++ + theatre_drv_la_LTLIBRARIES = theatre_drv.la + theatre_drv_la_LDFLAGS = -module -avoid-version + theatre_drv_ladir = @moduledir@/multimedia +@@ -190,6 +199,7 @@ + radeon_sarea.h \ + radeon_version.h \ + radeon_video.h \ ++ theater_out.h \ + theatre200.h \ + theatre_detect.h \ + theatre.h \ +diff -urN -X /home/zhangle/exec/dontdiff xserver-xorg-video-ati-6.6.3.orig/src/radeon_driver.c xserver-xorg-video-ati-6.6.3/src/radeon_driver.c +--- xserver-xorg-video-ati-6.6.3.orig/src/radeon_driver.c 2007-03-01 00:18:42.000000000 +0800 ++++ xserver-xorg-video-ati-6.6.3/src/radeon_driver.c 2007-01-25 15:15:22.000000000 +0800 +@@ -76,6 +76,7 @@ + #include "radeon_macros.h" + #include "radeon_probe.h" + #include "radeon_version.h" ++#include "theater_out.h" + #include "radeon_mergedfb.h" + + #ifdef XF86DRI +@@ -196,6 +197,7 @@ + { OPTION_RAGE_THEATRE_COMPOSITE_PORT, "RageTheatreCompositePort", OPTV_INTEGER, {0}, FALSE }, + { OPTION_RAGE_THEATRE_SVIDEO_PORT, "RageTheatreSVideoPort", OPTV_INTEGER, {0}, FALSE }, + { OPTION_TUNER_TYPE, "TunerType", OPTV_INTEGER, {0}, FALSE }, ++ { OPTION_TV_OUTPUT, "TVOutput", OPTV_ANYSTR, {0}, FALSE }, + { OPTION_RAGE_THEATRE_MICROC_PATH, "RageTheatreMicrocPath", OPTV_STRING, {0}, FALSE }, + { OPTION_RAGE_THEATRE_MICROC_TYPE, "RageTheatreMicrocType", OPTV_STRING, {0}, FALSE }, + #endif +@@ -5707,8 +5709,8 @@ + int hasDRI = 0; + #ifdef RENDER + int subPixelOrder = SubPixelUnknown; +- char* s; + #endif ++ char* s; + + RADEONTRACE(("RADEONScreenInit %lx %ld\n", + pScrn->memPhysBase, pScrn->fbOffset)); +@@ -5728,6 +5730,30 @@ + + info->PaletteSavedOnVT = FALSE; + ++ RADEONTRACE(("Allocating VIP interface")); ++ info->VIP = RADEONAllocateVIP(pScrn); ++ ++ if ((s = xf86GetOptValString(info->Options , OPTION_TV_OUTPUT)) != NULL && xf86NameCmp(s , "NOLOAD") != 0) ++ { ++ RADEONTRACE(("TVOutput opt = %s\n" , s)); ++ if(!xf86LoadSubModule(pScrn , "theater_out")) ++ { ++ RADEONTRACE(("Failed to find theater_out module\n")); ++ xf86DrvMsg(pScrn->scrnIndex , X_ERROR , "Unable to load TV output module\n"); ++ info->theaterOut = NULL; ++ } ++ else ++ { ++ RADEONTRACE(("Found theater_out module\n")); ++ xf86LoaderReqSymbols(THEATER_OUT_SYMBOLS , NULL); ++ ++ info->theaterOut = xf86_detectTheaterOut(pScrn , FALSE,info->VIP); ++ if (info->theaterOut != NULL) ++ xf86_initTheaterOut(info->theaterOut , s); ++ } ++ ++ } ++ + RADEONSave(pScrn); + + if ((!info->IsSecondary) && info->IsMobility) { +@@ -6168,7 +6194,8 @@ + + /* Init Xv */ + RADEONTRACE(("Initializing Xv\n")); +- RADEONInitVideo(pScreen); ++// RADEONInitVideo(pScreen); ++ RADEONInitVideo(pScreen , info->VIP , TRUE); + + if(info->MergedFB) + /* need this here to fix up sarea values */ +@@ -6408,7 +6435,10 @@ + OUTREG(RADEON_OVR_WID_TOP_BOTTOM, restore->ovr_wid_top_bottom); + OUTREG(RADEON_OV0_SCALE_CNTL, restore->ov0_scale_cntl); + OUTREG(RADEON_SUBPIC_CNTL, restore->subpic_cntl); +- OUTREG(RADEON_VIPH_CONTROL, restore->viph_control); ++// OUTREG(RADEON_VIPH_CONTROL, restore->viph_control); ++/* ++ * fulivi: removed. It messes the VIP access up ++ */ + OUTREG(RADEON_I2C_CNTL_1, restore->i2c_cntl_1); + OUTREG(RADEON_GEN_INT_CNTL, restore->gen_int_cntl); + OUTREG(RADEON_CAP0_TRIG_CNTL, restore->cap0_trig_cntl); +@@ -6494,6 +6524,7 @@ + OUTREG(RADEON_CRTC_OFFSET, restore->crtc_offset); + OUTREG(RADEON_CRTC_OFFSET_CNTL, restore->crtc_offset_cntl); + OUTREG(RADEON_CRTC_PITCH, restore->crtc_pitch); ++ OUTREG(RADEON_DISP_OUTPUT_CNTL, restore->disp_output_cntl), + OUTREG(RADEON_DISP_MERGE_CNTL, restore->disp_merge_cntl); + OUTREG(RADEON_CRTC_MORE_CNTL, restore->crtc_more_cntl); + +@@ -6676,12 +6707,42 @@ + ~(RADEON_P2PLL_ATOMIC_UPDATE_W)); + } + ++static CARD8 RADEONComputePLLGain(CARD16 reference_freq, ++ CARD16 ref_div, ++ CARD16 fb_div) ++{ ++ unsigned vcoFreq; ++ ++ vcoFreq = ((unsigned)reference_freq * fb_div) / ref_div; ++ ++ /* ++ * This is orribly crude: the VCO frequency range is divided into ++ * 3 parts, each part having a fixed PLL gain value. ++ */ ++ if (vcoFreq >= 30000) ++ /* ++ * [300..max] MHz : 7 ++ */ ++ return 7; ++ else if (vcoFreq >= 18000) ++ /* ++ * [180..300) MHz : 4 ++ */ ++ return 4; ++ else ++ /* ++ * [0..180) MHz : 1 ++ */ ++ return 1; ++} ++ + /* Write PLL registers */ + static void RADEONRestorePLLRegisters(ScrnInfoPtr pScrn, + RADEONSavePtr restore) + { + RADEONInfoPtr info = RADEONPTR(pScrn); + unsigned char *RADEONMMIO = info->MMIO; ++ CARD8 pllGain; + + if (info->IsMobility) { + /* A temporal workaround for the occational blanking on certain laptop panels. +@@ -6704,15 +6765,20 @@ + OUTPLLP(pScrn, RADEON_VCLK_ECP_CNTL, + RADEON_VCLK_SRC_SEL_CPUCLK, + ~(RADEON_VCLK_SRC_SEL_MASK)); ++ pllGain = RADEONComputePLLGain(info->pll.reference_freq, ++ restore->ppll_ref_div & RADEON_PPLL_REF_DIV_MASK, ++ restore->ppll_div_3 & RADEON_PPLL_FB3_DIV_MASK); + + OUTPLLP(pScrn, + RADEON_PPLL_CNTL, + RADEON_PPLL_RESET + | RADEON_PPLL_ATOMIC_UPDATE_EN +- | RADEON_PPLL_VGA_ATOMIC_UPDATE_EN, ++ | RADEON_PPLL_VGA_ATOMIC_UPDATE_EN ++ | ((CARD32)pllGain << RADEON_PPLL_PVG_SHIFT), + ~(RADEON_PPLL_RESET + | RADEON_PPLL_ATOMIC_UPDATE_EN +- | RADEON_PPLL_VGA_ATOMIC_UPDATE_EN)); ++ | RADEON_PPLL_VGA_ATOMIC_UPDATE_EN ++ | RADEON_PPLL_PVG_MASK)); + + OUTREGP(RADEON_CLOCK_CNTL_INDEX, + RADEON_PLL_DIV_SEL, +@@ -6772,9 +6838,8 @@ + + usleep(50000); /* Let the clock to lock */ + +- OUTPLLP(pScrn, RADEON_VCLK_ECP_CNTL, +- RADEON_VCLK_SRC_SEL_PPLLCLK, +- ~(RADEON_VCLK_SRC_SEL_MASK)); ++ OUTPLL(pScrn, RADEON_VCLK_ECP_CNTL , restore->vclk_ecp_cntl); ++ RADEONTRACE(("VCLK_ECP_CNTL = %08X\n" , restore->vclk_ecp_cntl)); + } + + +@@ -7197,6 +7262,7 @@ + save->crtc_offset = INREG(RADEON_CRTC_OFFSET); + save->crtc_offset_cntl = INREG(RADEON_CRTC_OFFSET_CNTL); + save->crtc_pitch = INREG(RADEON_CRTC_PITCH); ++ save->disp_output_cntl = INREG(RADEON_DISP_OUTPUT_CNTL); + save->disp_merge_cntl = INREG(RADEON_DISP_MERGE_CNTL); + save->crtc_more_cntl = INREG(RADEON_CRTC_MORE_CNTL); + +@@ -7266,6 +7332,7 @@ + save->ppll_ref_div = INPLL(pScrn, RADEON_PPLL_REF_DIV); + save->ppll_div_3 = INPLL(pScrn, RADEON_PPLL_DIV_3); + save->htotal_cntl = INPLL(pScrn, RADEON_HTOTAL_CNTL); ++ save->vclk_ecp_cntl= INPLL(pScrn, RADEON_VCLK_ECP_CNTL); + + RADEONTRACE(("Read: 0x%08x 0x%08x 0x%08lx\n", + save->ppll_ref_div, +@@ -7275,6 +7342,7 @@ + save->ppll_ref_div & RADEON_PPLL_REF_DIV_MASK, + save->ppll_div_3 & RADEON_PPLL_FB3_DIV_MASK, + (save->ppll_div_3 & RADEON_PPLL_POST3_DIV_MASK) >> 16)); ++ RADEONTRACE(("Read VCLK_ECP_CNTL = %08x\n" , save->vclk_ecp_cntl)); + } + + /* Read PLL registers */ +@@ -7383,6 +7451,12 @@ + RADEONSaveMode(pScrn, save); + if (!info->IsSecondary) + RADEONSaveSurfaces(pScrn, save); ++ ++ /* ++ * Save initial RT state ++ */ ++ if(info->theaterOut != NULL) ++ xf86_theaterOutSave(info->theaterOut , pScrn); + } + + /* Restore the original (text) mode */ +@@ -7424,7 +7498,11 @@ + RADEONRestoreMode(pScrn, restore); + if (!info->IsSecondary) + RADEONRestoreSurfaces(pScrn, restore); +- ++ /* ++ * Restore RT state ++ */ ++ if (info->theaterOut != NULL) ++ xf86_theaterOutRestore(info->theaterOut , pScrn); + #if 0 + /* Temp fix to "solve" VT switch problems. When switching VTs on + * some systems, the console can either hang or the fonts can be +@@ -8175,7 +8253,9 @@ + save->crtc2_gen_cntl = (RADEON_CRTC2_EN | (format << 8)); + save->fp2_h_sync_strt_wid = save->crtc2_h_sync_strt_wid; + save->fp2_v_sync_strt_wid = save->crtc2_v_sync_strt_wid; +- save->fp2_gen_cntl = info->SavedReg.fp2_gen_cntl | RADEON_FP2_ON; ++ save->fp2_gen_cntl = info->SavedReg.fp2_gen_cntl ++ | RADEON_FP2_SRC_SEL_CRTC2 ++ | RADEON_FP2_ON; + save->fp2_gen_cntl &= ~(RADEON_FP2_BLANK_EN); + + if ((info->ChipFamily == CHIP_FAMILY_R200) || +@@ -8521,15 +8601,17 @@ + pll->reference_freq); + save->post_div = post_div->divider; + +- RADEONTRACE(("dc=%ld, of=%ld, fd=%d, pd=%d\n", ++/* RADEONTRACE(("dc=%ld, of=%ld, fd=%d, pd=%d\n", + save->dot_clock_freq, + save->pll_output_freq, + save->feedback_div, + save->post_div)); ++*/ + + save->ppll_ref_div = pll->reference_div; + save->ppll_div_3 = (save->feedback_div | (post_div->bitvalue << 16)); + save->htotal_cntl = 0; ++ save->vclk_ecp_cntl = (save->vclk_ecp_cntl & ~RADEON_VCLK_SRC_SEL_MASK) | RADEON_VCLK_SRC_SEL_PPLLCLK; + } + + /* Define PLL2 registers for requested video mode */ +@@ -8583,11 +8665,12 @@ + pll->reference_freq); + save->post_div_2 = post_div->divider; + +- RADEONTRACE(("dc=%ld, of=%ld, fd=%d, pd=%d\n", ++/* RADEONTRACE(("dc=%ld, of=%ld, fd=%d, pd=%d\n", + save->dot_clock_freq_2, + save->pll_output_freq_2, + save->feedback_div_2, + save->post_div_2)); ++*/ + + save->p2pll_ref_div = pll->reference_div; + save->p2pll_div_0 = (save->feedback_div_2 | +@@ -8663,6 +8746,12 @@ + + info->Flags = mode->Flags; + ++ /* ++ * Some registers are initialized from text mode state ++ */ ++ save->disp_output_cntl = RADEONPTR(pScrn)->SavedReg.disp_output_cntl; ++ save->vclk_ecp_cntl = RADEONPTR(pScrn)->SavedReg.vclk_ecp_cntl; ++ + RADEONInitMemMapRegisters(pScrn, save, info); + RADEONInitCommonRegisters(save, info); + if (info->IsSecondary) { +@@ -8730,9 +8819,25 @@ + + if (!RADEONInit(pScrn, mode, &info->ModeReg)) return FALSE; + ++ /* ++ * Define RT state ++ */ ++ if (info->theaterOut != NULL) ++ { ++ Bool res = xf86_theaterOutInit(info->theaterOut , mode , &info->ModeReg); ++ RADEONTRACE(("theaterOutInit returns %d\n" , res)); ++ } ++ + pScrn->vtSema = TRUE; + RADEONBlank(pScrn); + RADEONRestoreMode(pScrn, &info->ModeReg); ++ ++ /* ++ * Set RT to new mode ++ */ ++ if (info->theaterOut != NULL) ++ xf86_theaterOutRestoreMode(info->theaterOut , pScrn); ++ + RADEONUnblank(pScrn); + + info->CurrentLayout.mode = mode; +@@ -10126,3 +10231,80 @@ + pScrn->FreeScreen = RADEONFreeScreen; + pScrn->ValidMode = RADEONValidMode; + } ++ ++/* ++ * fulivi: interface functions between RADEONSet/GetPortAttribute (in radeon_video.c) and ++ * theater_out module. ++ */ ++static void RADEONRedoSwitchMode(ScrnInfoPtr pScrn) ++{ ++ int scrnIndex = pScrn->scrnIndex; ++ ++ /* ++ * It seems that last parameter (flags) is not used ++ */ ++ RADEONSwitchMode(scrnIndex , pScrn->currentMode , 0); ++} ++ ++void RADEONTheaterOutSetStandard(ScrnInfoPtr pScrn, ++ TVStd std) ++{ ++ RADEONInfoPtr info = RADEONPTR(pScrn); ++ ++ RADEONTRACE(("RADEONTheaterOutSetStandard std = %d" , std)); ++ ++ if (info->theaterOut != NULL && xf86_theaterOutSetStandard(info->theaterOut , std)) ++ RADEONRedoSwitchMode(pScrn); ++} ++ ++TVStd RADEONTheaterOutGetStandard(ScrnInfoPtr pScrn) ++{ ++ RADEONInfoPtr info = RADEONPTR(pScrn); ++ ++ if (info->theaterOut != NULL) ++ return xf86_theaterOutGetStandard(info->theaterOut); ++ else ++ return TV_STD_KEEP_OFF; ++} ++ ++Bool RADEONTheaterOutGetCompatMode(ScrnInfoPtr pScrn) ++{ ++ RADEONInfoPtr info = RADEONPTR(pScrn); ++ ++ if (info->theaterOut != NULL) ++ return xf86_theaterOutGetCompatMode(info->theaterOut); ++ else ++ return FALSE; ++} ++ ++void RADEONTheaterOutSetAttr(ScrnInfoPtr pScrn, ++ TheaterOutAttr attr, ++ int value) ++{ ++ RADEONInfoPtr info = RADEONPTR(pScrn); ++ ++ if (info->theaterOut != NULL) ++ xf86_theaterOutSetAttr(info->theaterOut , attr , value); ++} ++ ++int RADEONTheaterOutGetAttr(ScrnInfoPtr pScrn, ++ TheaterOutAttr attr) ++{ ++ RADEONInfoPtr info = RADEONPTR(pScrn); ++ ++ if (info->theaterOut != NULL) ++ return xf86_theaterOutGetAttr(info->theaterOut , attr); ++ else ++ return 0; ++} ++ ++void RADEONTheaterOutGetAttrLimits(ScrnInfoPtr pScrn, ++ TheaterOutAttr attr, ++ int *maxValue, ++ int *minValue) ++{ ++ RADEONInfoPtr info = RADEONPTR(pScrn); ++ ++ if (info->theaterOut != NULL) ++ xf86_theaterOutGetAttrLimits(info->theaterOut , attr , maxValue , minValue); ++} +diff -urN -X /home/zhangle/exec/dontdiff xserver-xorg-video-ati-6.6.3.orig/src/radeon.h xserver-xorg-video-ati-6.6.3/src/radeon.h +--- xserver-xorg-video-ati-6.6.3.orig/src/radeon.h 2007-03-01 00:15:31.000000000 +0800 ++++ xserver-xorg-video-ati-6.6.3/src/radeon.h 2007-01-08 12:48:04.000000000 +0800 +@@ -41,10 +41,12 @@ + #include <stdlib.h> /* For abs() */ + #include <unistd.h> /* For usleep() */ + ++#include "radeon_version.h" + #include "xf86str.h" + #include "compiler.h" + #include "xf86fbman.h" + ++#include "generic_bus.h" + /* PCI support */ + #include "xf86Pci.h" + +@@ -130,6 +132,7 @@ + OPTION_RAGE_THEATRE_COMPOSITE_PORT, + OPTION_RAGE_THEATRE_SVIDEO_PORT, + OPTION_TUNER_TYPE, ++ OPTION_TV_OUTPUT, + OPTION_RAGE_THEATRE_MICROC_PATH, + OPTION_RAGE_THEATRE_MICROC_TYPE, + #endif +@@ -292,6 +295,8 @@ + unsigned ppll_div_3; + CARD32 htotal_cntl; + ++ CARD32 vclk_ecp_cntl; ++ + /* Computed values for PLL2 */ + CARD32 dot_clock_freq_2; + CARD32 pll_output_freq_2; +@@ -710,6 +715,8 @@ + char* RageTheatreMicrocPath; + char* RageTheatreMicrocType; + Bool MM_TABLE_valid; ++ GENERIC_BUS_Ptr VIP; ++ struct TheaterOut *theaterOut; + struct { + CARD8 table_revision; + CARD8 table_size; +@@ -806,6 +813,8 @@ + info->fifo_slots -= entries; \ + } while (0) + ++#include "theater_out.h" ++ + extern RADEONEntPtr RADEONEntPriv(ScrnInfoPtr pScrn); + extern void RADEONWaitForFifoFunction(ScrnInfoPtr pScrn, int entries); + extern void RADEONWaitForIdleMMIO(ScrnInfoPtr pScrn); +@@ -816,6 +825,13 @@ + extern void RADEONDoAdjustFrame(ScrnInfoPtr pScrn, int x, int y, + int clone); + ++extern void RADEONTheaterOutSetStandard(ScrnInfoPtr, TVStd); ++extern TVStd RADEONTheaterOutGetStandard(ScrnInfoPtr); ++extern Bool RADEONTheaterOutGetCompatMode(ScrnInfoPtr); ++extern void RADEONTheaterOutSetAttr(ScrnInfoPtr, TheaterOutAttr, int); ++extern int RADEONTheaterOutGetAttr(ScrnInfoPtr, TheaterOutAttr); ++extern void RADEONTheaterOutGetAttrLimits(ScrnInfoPtr, TheaterOutAttr, int *, int *); ++ + extern void RADEONEngineReset(ScrnInfoPtr pScrn); + extern void RADEONEngineFlush(ScrnInfoPtr pScrn); + extern void RADEONEngineRestore(ScrnInfoPtr pScrn); +@@ -847,7 +863,10 @@ + + extern int RADEONMinBits(int val); + +-extern void RADEONInitVideo(ScreenPtr pScreen); ++extern GENERIC_BUS_Ptr RADEONAllocateVIP(ScrnInfoPtr pScrn); ++ ++extern void RADEONInitVideo(ScreenPtr pScreen , GENERIC_BUS_Ptr VIP , Bool loadTheatre); ++ + extern void RADEONResetVideo(ScrnInfoPtr pScrn); + extern void R300CGWorkaround(ScrnInfoPtr pScrn); + +diff -urN -X /home/zhangle/exec/dontdiff xserver-xorg-video-ati-6.6.3.orig/src/radeon_reg.h xserver-xorg-video-ati-6.6.3/src/radeon_reg.h +--- xserver-xorg-video-ati-6.6.3.orig/src/radeon_reg.h 2007-03-01 00:15:33.000000000 +0800 ++++ xserver-xorg-video-ati-6.6.3/src/radeon_reg.h 2007-01-08 12:48:05.000000000 +0800 +@@ -1223,6 +1223,9 @@ + # define RADEON_PPLL_SLEEP (1 << 1) + # define RADEON_PPLL_ATOMIC_UPDATE_EN (1 << 16) + # define RADEON_PPLL_VGA_ATOMIC_UPDATE_EN (1 << 17) ++# define RADEON_PPLL_PVG_MASK (7 << 11) ++# define RADEON_PPLL_PVG_SHIFT 11 ++ + # define RADEON_PPLL_ATOMIC_UPDATE_VSYNC (1 << 18) + #define RADEON_PPLL_DIV_0 0x0004 /* PLL */ + #define RADEON_PPLL_DIV_1 0x0005 /* PLL */ +diff -urN -X /home/zhangle/exec/dontdiff xserver-xorg-video-ati-6.6.3.orig/src/radeon_video.c xserver-xorg-video-ati-6.6.3/src/radeon_video.c +--- xserver-xorg-video-ati-6.6.3.orig/src/radeon_video.c 2007-03-01 00:15:41.000000000 +0800 ++++ xserver-xorg-video-ati-6.6.3/src/radeon_video.c 2007-01-08 12:48:05.000000000 +0800 +@@ -75,7 +75,7 @@ + + static void RADEONInitOffscreenImages(ScreenPtr); + +-static XF86VideoAdaptorPtr RADEONSetupImageVideo(ScreenPtr); ++static XF86VideoAdaptorPtr RADEONSetupImageVideo(ScreenPtr , GENERIC_BUS_Ptr , Bool); + static int RADEONSetPortAttribute(ScrnInfoPtr, Atom, INT32, pointer); + static int RADEONGetPortAttribute(ScrnInfoPtr, Atom ,INT32 *, pointer); + static void RADEONStopVideo(ScrnInfoPtr, pointer, Bool); +@@ -117,6 +117,23 @@ + + static Atom xvOvAlpha, xvGrAlpha, xvAlphaMode; + ++static Atom xvTvoStandard , xvTvoModeCompat; ++ ++typedef struct ++{ ++ char *name; ++ TheaterOutAttr attr; ++ Atom atom; ++} TVOAttr; ++ ++static ++TVOAttr theaterOutAttrs[] = ++{ ++ {"XV_TVO_HPOS" , THEATER_OUT_HPOS , 0 }, ++ {"XV_TVO_VPOS" , THEATER_OUT_VPOS , 0 }, ++ {"XV_TVO_HSIZE" , THEATER_OUT_HSIZE , 0 } ++}; ++#define N_TVO_ATTRS (sizeof(theaterOutAttrs) / sizeof(theaterOutAttrs[ 0 ])) + + #define GET_PORT_PRIVATE(pScrn) \ + (RADEONPortPrivPtr)((RADEONPTR(pScrn))->adaptor->pPortPrivates[0].ptr) +@@ -135,14 +152,14 @@ + } + #endif /* USE_EXA */ + +-void RADEONInitVideo(ScreenPtr pScreen) ++void RADEONInitVideo(ScreenPtr pScreen , GENERIC_BUS_Ptr VIP , Bool loadTheatre) + { + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + XF86VideoAdaptorPtr *adaptors, *newAdaptors = NULL; + XF86VideoAdaptorPtr newAdaptor = NULL; + int num_adaptors; + +- newAdaptor = RADEONSetupImageVideo(pScreen); ++ newAdaptor = RADEONSetupImageVideo(pScreen , VIP , loadTheatre); + RADEONInitOffscreenImages(pScreen); + num_adaptors = xf86XVListGenericAdaptors(pScrn, &adaptors); + +@@ -235,7 +252,8 @@ + + #endif + +-#define NUM_ATTRIBUTES 22 ++//#define NUM_ATTRIBUTES 22 ++#define NUM_ATTRIBUTES 22+5 + #define NUM_DEC_ATTRIBUTES (NUM_ATTRIBUTES+12) + + static XF86AttributeRec Attributes[NUM_DEC_ATTRIBUTES+1] = +@@ -251,6 +269,13 @@ + {XvSettable | XvGettable, 0, 255, "XV_OVERLAY_ALPHA"}, + {XvSettable | XvGettable, 0, 255, "XV_GRAPHICS_ALPHA"}, + {XvSettable | XvGettable, 0, 1, "XV_ALPHA_MODE"}, ++ ++ {XvSettable | XvGettable, 0, TV_STD_N_STANDARDS-1, "XV_TVO_STANDARD"}, ++ { XvGettable, 0, ~0, "XV_TVO_MODE_COMPAT"}, ++ {XvSettable | XvGettable, -1000, 1000, "XV_TVO_HPOS"}, ++ {XvSettable | XvGettable, -1000, 1000, "XV_TVO_VPOS"}, ++ {XvSettable | XvGettable, -1000, 1000, "XV_TVO_HSIZE"}, ++ + {XvSettable | XvGettable, -1000, 1000, "XV_BRIGHTNESS"}, + {XvSettable | XvGettable, -1000, 1000, "XV_CONTRAST"}, + {XvSettable | XvGettable, -1000, 1000, "XV_SATURATION"}, +@@ -1056,6 +1081,7 @@ + RADEONPortPrivPtr pPriv = info->adaptor->pPortPrivates[0].ptr; + char tmp[200]; + ++ unsigned i; + /* this function is called from ScreenInit. pScreen is used + by XAA internally, but not valid until ScreenInit finishs. + */ +@@ -1068,6 +1094,18 @@ + xvDeviceID = MAKE_ATOM("XV_DEVICE_ID"); + xvLocationID = MAKE_ATOM("XV_LOCATION_ID"); + xvDumpStatus = MAKE_ATOM("XV_DUMP_STATUS"); ++ ++ xvTvoStandard = MAKE_ATOM("XV_TVO_STANDARD"); ++ xvTvoModeCompat = MAKE_ATOM("XV_TVO_MODE_COMPAT"); ++ ++ for (i = 0; i < N_TVO_ATTRS; i++) ++ { ++ char *name; ++ name = theaterOutAttrs[ i ].name; ++ theaterOutAttrs[ i ].atom = MakeAtom(name, strlen(name), TRUE); ++ ++ RADEONTRACE(("RADEONResetVideo,name=%s,atom=%d\n",name,theaterOutAttrs[ i ].atom)); ++ } + + xvBrightness = MAKE_ATOM("XV_BRIGHTNESS"); + xvSaturation = MAKE_ATOM("XV_SATURATION"); +@@ -1270,7 +1308,7 @@ + } + + static XF86VideoAdaptorPtr +-RADEONAllocAdaptor(ScrnInfoPtr pScrn) ++RADEONAllocAdaptor(ScrnInfoPtr pScrn, GENERIC_BUS_Ptr VIP) + { + XF86VideoAdaptorPtr adapt; + RADEONInfoPtr info = RADEONPTR(pScrn); +@@ -1396,7 +1434,9 @@ + #endif + + /* Initialize VIP bus */ +- RADEONVIP_init(pScrn, pPriv); ++// RADEONVIP_init(pScrn, pPriv); ++ pPriv->VIP = VIP; ++ + info->adaptor = adapt; + + if(!xf86LoadSubModule(pScrn,"theatre_detect")) +@@ -1478,13 +1518,14 @@ + } + + static XF86VideoAdaptorPtr +-RADEONSetupImageVideo(ScreenPtr pScreen) ++RADEONSetupImageVideo(ScreenPtr pScreen , GENERIC_BUS_Ptr VIP , Bool loadTheatre) + { + ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum]; + RADEONPortPrivPtr pPriv; + XF86VideoAdaptorPtr adapt; ++ unsigned i; + +- if(!(adapt = RADEONAllocAdaptor(pScrn))) ++ if(!(adapt = RADEONAllocAdaptor(pScrn, VIP))) + return NULL; + + adapt->type = XvWindowMask | XvInputMask | XvImageMask; +@@ -1510,6 +1551,26 @@ + adapt->PutImage = RADEONPutImage; + adapt->QueryImageAttributes = RADEONQueryImageAttributes; + ++ /* ++ * fulivi: set limits of theater_out attributes ++ */ ++ for (i = 0; i < N_TVO_ATTRS; i++) ++ { ++ int maxValue; ++ int minValue; ++ unsigned j; ++ ++ RADEONTheaterOutGetAttrLimits(pScrn , theaterOutAttrs[ i ].attr , &maxValue , &minValue); ++ ++ for (j = 0; i < NUM_DEC_ATTRIBUTES; j++) ++ if (strcmp(theaterOutAttrs[ i ].name , Attributes[ j ].name) == 0) ++ { ++ Attributes[ j ].min_value = minValue; ++ Attributes[ j ].max_value = maxValue; ++ break; ++ } ++ } ++ + pPriv = (RADEONPortPrivPtr)(adapt->pPortPrivates[0].ptr); + REGION_NULL(pScreen, &(pPriv->clip)); + +@@ -1812,8 +1873,24 @@ + RADEON_TDA9885_SetEncoding(pPriv); + } + } +- else +- return BadMatch; ++ else if (attribute == xvTvoStandard) ++ { ++ value = ClipValue(value , 0 , TV_STD_N_STANDARDS-1); ++ RADEONTheaterOutSetStandard(pScrn , (TVStd)value); ++ } ++ else ++ { ++ unsigned i; ++ ++ for (i = 0; i < N_TVO_ATTRS; i++) ++ if (theaterOutAttrs[ i ].atom == attribute) ++ { ++ RADEONTheaterOutSetAttr(pScrn , theaterOutAttrs[ i ].attr , value); ++ break; ++ } ++ if (i == N_TVO_ATTRS) ++ return BadMatch; ++ } + + if (setTransform) + { +@@ -1917,8 +1994,22 @@ + *value = pPriv->instance_id; + else if(attribute == xvAdjustment) + *value = pPriv->adjustment; +- else +- return BadMatch; ++ else if(attribute == xvTvoStandard) ++ *value = (INT32)RADEONTheaterOutGetStandard(pScrn); ++ else if(attribute == xvTvoModeCompat) ++ *value = (INT32)RADEONTheaterOutGetCompatMode(pScrn); ++ else { ++ unsigned i; ++ ++ for (i = 0; i < N_TVO_ATTRS; i++) { ++ if (theaterOutAttrs[ i ].atom == attribute) { ++ *value = (INT32)RADEONTheaterOutGetAttr(pScrn , theaterOutAttrs[ i].attr); ++ break; ++ } ++ } ++ if (i == N_TVO_ATTRS) ++ return BadMatch; ++ } + + return Success; + } +diff -urN -X /home/zhangle/exec/dontdiff xserver-xorg-video-ati-6.6.3.orig/src/radeon_video.h xserver-xorg-video-ati-6.6.3/src/radeon_video.h +--- xserver-xorg-video-ati-6.6.3.orig/src/radeon_video.h 2007-03-01 00:15:27.000000000 +0800 ++++ xserver-xorg-video-ati-6.6.3/src/radeon_video.h 2007-01-08 12:48:05.000000000 +0800 +@@ -47,6 +47,8 @@ + GENERIC_BUS_Ptr VIP; + TheatrePtr theatre; + ++/* TheaterOutPtr theaterOut; */ ++ + Bool video_stream_active; + int encoding; + CARD32 frequency; +diff -urN -X /home/zhangle/exec/dontdiff xserver-xorg-video-ati-6.6.3.orig/src/radeon_vip.c xserver-xorg-video-ati-6.6.3/src/radeon_vip.c +--- xserver-xorg-video-ati-6.6.3.orig/src/radeon_vip.c 2007-03-01 00:15:29.000000000 +0800 ++++ xserver-xorg-video-ati-6.6.3/src/radeon_vip.c 2007-01-08 12:48:05.000000000 +0800 +@@ -342,6 +342,7 @@ + + void RADEONVIP_init(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv) + { ++/* + pPriv->VIP=xcalloc(1,sizeof(GENERIC_BUS_Rec)); + pPriv->VIP->scrnIndex=pScrn->scrnIndex; + pPriv->VIP->DriverPrivate.ptr=pPriv; +@@ -352,4 +353,31 @@ + pPriv->VIP->fifo_write=RADEONVIP_fifo_write; + + RADEONVIP_reset(pScrn, pPriv); ++*/ + } ++ ++/* ++ * fulivi: This new function was created because I needed VIP access from radeon_driver module ++ * (where port private data doesn't exist) ++ */ ++GENERIC_BUS_Ptr ++RADEONAllocateVIP( ++ ScrnInfoPtr pScrn ++ ) ++{ ++ GENERIC_BUS_Ptr VIP=NULL; ++ ++ VIP = xcalloc(1 , sizeof(GENERIC_BUS_Rec)); ++ VIP->DriverPrivate.ptr = NULL; /* Nobody seems to use this */ ++ VIP->scrnIndex = pScrn->scrnIndex; ++ VIP->ioctl = RADEONVIP_ioctl; ++ VIP->read = RADEONVIP_read; ++ VIP->write = RADEONVIP_write; ++ VIP->fifo_read=RADEONVIP_fifo_read; ++ VIP->fifo_write=RADEONVIP_fifo_write; ++ ++ RADEONVIP_reset(pScrn,NULL); ++ ++ return VIP; ++} ++ +diff -urN -X /home/zhangle/exec/dontdiff xserver-xorg-video-ati-6.6.3.orig/src/theater_out.c xserver-xorg-video-ati-6.6.3/src/theater_out.c +--- xserver-xorg-video-ati-6.6.3.orig/src/theater_out.c 1970-01-01 08:00:00.000000000 +0800 ++++ xserver-xorg-video-ati-6.6.3/src/theater_out.c 2007-01-08 12:48:05.000000000 +0800 +@@ -0,0 +1,2804 @@ ++/********************************************************************* ++ * ++ * $Id: theater_out.c,v 1.1.2.3 2004/01/27 22:50:35 fulivi Exp $ ++ * ++ * Main file for tv output handling of ATI Rage Theater chip ++ * ++ * Copyright (C) 2003 Federico Ulivi ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * AUTHORS: F.Ulivi ++ * NOTES: ++ * $Log: theater_out.c,v $ ++ * Revision 1.1.2.3 2004/01/27 22:50:35 fulivi ++ * Support for positioning/sizing of image added ++ * ++ * Revision 1.1.1.1.2.12 2004/01/18 22:59:29 fede ++ * hSize handling added ++ * Functions for get/setting h/v pos/size replaced by ++ * theaterOutSetAttr/theaterOutGetAttr/theaterOutGetAttrLimits ++ * ++ * Revision 1.1.1.1.2.11 2004/01/11 21:29:04 fede ++ * Fixes in H/V position handling ++ * ++ * Revision 1.1.1.1.2.10 2004/01/05 00:08:16 fede ++ * Functions for setting H/V position added ++ * Functions for setting/getting on/off attribute removed ++ * ++ * Revision 1.1.2.2 2003/11/26 19:50:10 fulivi ++ * Support for ERT added ++ * ++ * Revision 1.1.1.1.2.9 2003/11/25 20:46:44 fede ++ * "enabled" state removed ++ * Handling of disabled tv output fixed ++ * ++ * Revision 1.1.1.1.2.8 2003/11/23 00:47:28 fede ++ * Major cleanup of #define names ++ * ++ * Revision 1.1.1.1.2.7 2003/11/17 22:26:12 fede ++ * Support for tv standards added ++ * Support for NTSC added ++ * ++ * Revision 1.1.1.1.2.6 2003/10/14 18:40:34 fede ++ * Autodetection of ERT moved to front ++ * Some minor cleanups ++ * ++ * Revision 1.1.1.1.2.5 2003/10/11 12:29:50 fede ++ * Support for ERT added ++ * ++ * Revision 1.1 2003/09/28 21:42:37 fulivi ++ * Theater_out module added ++ * ++ * Revision 1.1.1.1.2.4 2003/09/28 15:11:57 fede ++ * Some minor aesthetic changes ++ * ++ * Revision 1.1.1.1.2.2 2003/08/31 13:35:58 fede ++ * Adapted for XFree86 ++ * ++ * Revision 1.1.1.1.2.1 2003/08/09 23:20:46 fede ++ * Switched to memory mapped IO ++ * Some magic numbers turned into named constants ++ * ++ * Revision 1.1.1.1 2003/07/24 15:37:27 fede ++ * Initial version ++ * ++ * ++ *********************************************************************/ ++ ++#include "xf86.h" ++#include "generic_bus.h" ++#include "theatre_reg.h" ++#include "radeon_reg.h" ++#include "radeon_macros.h" ++#include "theater_out.h" ++#define RADEON_NAME "RADEON" ++ ++#undef read ++#undef write ++#undef ioctl ++ ++#if RADEON_DEBUG ++#define RTTRACE(x) \ ++do { \ ++ ErrorF("(**) %s(%d): ", RADEON_NAME, 0); \ ++ ErrorF x; \ ++} while (0); ++#else ++#define RTTRACE(x) ++#endif ++ ++/********************************************************************** ++ * ++ * MASK_N_BIT ++ * ++ **********************************************************************/ ++ ++#define MASK_N_BIT(n) (1UL << (n)) ++ ++/********************************************************************** ++ * ++ * Constants ++ * ++ **********************************************************************/ ++ ++/* ++ * Reference frequency ++ * FIXME: This should be extracted from BIOS data ++ */ ++#define REF_FREQUENCY 27000 ++ ++#define TV_PLL_FINE_INI 0X10000000 ++ ++/* ++ * VIP_TV_PLL_CNTL ++ */ ++#define VIP_TV_PLL_CNTL_M_SHIFT 0 ++#define VIP_TV_PLL_CNTL_NLO 0x1ff ++#define VIP_TV_PLL_CNTL_NLO_SHIFT 8 ++#define VIP_TV_PLL_CNTL_NHI 0x600 ++#define VIP_TV_PLL_CNTL_NHI_SHIFT (21-9) ++#define VIP_TV_PLL_CNTL_P_SHIFT 24 ++ ++/* ++ * VIP_CRT_PLL_CNTL ++ */ ++#define VIP_CRT_PLL_CNTL_M 0xff ++#define VIP_CRT_PLL_CNTL_M_SHIFT 0 ++#define VIP_CRT_PLL_CNTL_NLO 0x1ff ++#define VIP_CRT_PLL_CNTL_NLO_SHIFT 8 ++#define VIP_CRT_PLL_CNTL_NHI 0x600 ++#define VIP_CRT_PLL_CNTL_NHI_SHIFT (21-9) ++#define VIP_CRT_PLL_CNTL_CLKBY2 MASK_N_BIT(25) ++ ++/* ++ * Value for VIP_PLL_CNTL0 ++ */ ++#define VIP_PLL_CNTL0_INI 0x00acac18 ++#define VIP_PLL_CNTL0_TVSLEEPB MASK_N_BIT(3) ++#define VIP_PLL_CNTL0_CRTSLEEPB MASK_N_BIT(4) ++ ++/* ++ * Value for VIP_PLL_TEST_CNTL ++ */ ++#define VIP_PLL_TEST_CNTL_INI 0 ++ ++/* ++ * VIP_CLOCK_SEL_CNTL ++ */ ++#define VIP_CLOCK_SEL_CNTL_INI 0x33 ++#define VIP_CLOCK_SEL_CNTL_BYTCLK_SHIFT 2 ++#define VIP_CLOCK_SEL_CNTL_BYTCLK 0xc ++#define VIP_CLOCK_SEL_CNTL_REGCLK MASK_N_BIT(5) ++#define VIP_CLOCK_SEL_CNTL_BYTCLKD_SHIFT 8 ++ ++/* ++ * Value for VIP_CLKOUT_CNTL ++ */ ++#define VIP_CLKOUT_CNTL_INI 0x29 ++ ++/* ++ * Value for VIP_SYNC_LOCK_CNTL ++ */ ++#define VIP_SYNC_LOCK_CNTL_INI 0x01000000 ++ ++/* ++ * Value for VIP_TVO_SYNC_PAT_EXPECT ++ */ ++#define VIP_TVO_SYNC_PAT_EXPECT_INI 0x00000001 ++ ++/* ++ * VIP_RGB_CNTL ++ */ ++#define VIP_RGB_CNTL_RGB_IS_888_PACK MASK_N_BIT(0) ++ ++/* ++ * Value for VIP_VSCALER_CNTL2 ++ */ ++#define VIP_VSCALER_CNTL2_INI 0x10000000 ++ ++/* ++ * Value for VIP_Y_FALL_CNTL ++ */ ++/* #define VIP_Y_FALL_CNTL_INI 0x00010200 */ ++#define VIP_Y_FALL_CNTL_INI 0x80030400 ++ ++/* ++ * VIP_UV_ADR ++ */ ++#define VIP_UV_ADR_INI 0xc8 ++#define VIP_UV_ADR_HCODE_TABLE_SEL 0x06000000 ++#define VIP_UV_ADR_HCODE_TABLE_SEL_SHIFT 25 ++#define VIP_UV_ADR_VCODE_TABLE_SEL 0x18000000 ++#define VIP_UV_ADR_VCODE_TABLE_SEL_SHIFT 27 ++#define VIP_UV_ADR_MAX_UV_ADR 0x000000ff ++#define VIP_UV_ADR_MAX_UV_ADR_SHIFT 0 ++#define VIP_UV_ADR_TABLE1_BOT_ADR 0x0000ff00 ++#define VIP_UV_ADR_TABLE1_BOT_ADR_SHIFT 8 ++#define VIP_UV_ADR_TABLE3_TOP_ADR 0x00ff0000 ++#define VIP_UV_ADR_TABLE3_TOP_ADR_SHIFT 16 ++#define MAX_FIFO_ADDR_RT 0x1a7 ++#define MAX_FIFO_ADDR_ERT 0x1ff ++ ++/* ++ * VIP_HOST_RD_WT_CNTL ++ */ ++#define VIP_HOST_RD_WT_CNTL_RD MASK_N_BIT(12) ++#define VIP_HOST_RD_WT_CNTL_RD_ACK MASK_N_BIT(13) ++#define VIP_HOST_RD_WT_CNTL_WT MASK_N_BIT(14) ++#define VIP_HOST_RD_WT_CNTL_WT_ACK MASK_N_BIT(15) ++ ++/* ++ * Value for VIP_SYNC_CNTL ++ */ ++#define VIP_SYNC_CNTL_INI 0x28 ++ ++/* ++ * VIP_VSCALER_CNTL1 ++ */ ++#define VIP_VSCALER_CNTL1_UV_INC 0xffff ++#define VIP_VSCALER_CNTL1_UV_INC_SHIFT 0 ++ ++/* ++ * VIP_TIMING_CNTL ++ */ ++#define VIP_TIMING_CNTL_UV_OUT_POST_SCALE_SHIFT 24 ++#define VIP_TIMING_CNTL_INI 0x000b0000 ++#define VIP_TIMING_CNTL_H_INC_SHIFT 0 ++#define VIP_TIMING_CNTL_H_INC 0xfff ++ ++/* ++ * Value for VIP_PRE_DAC_MUX_CNTL ++ */ ++#define VIP_PRE_DAC_MUX_CNTL_INI 0x0000000f ++ ++/* ++ * VIP_TV_DAC_CNTL ++ */ ++#define VIP_TV_DAC_CNTL_NBLANK MASK_N_BIT(0) ++#define VIP_TV_DAC_CNTL_DASLEEP MASK_N_BIT(3) ++#define VIP_TV_DAC_CNTL_BGSLEEP MASK_N_BIT(6) ++ ++/* ++ * Value for VIP_FRAME_LOCK_CNTL ++ */ ++#define VIP_FRAME_LOCK_CNTL_INI 0x0000000f ++ ++/* ++ * Value for VIP_HW_DEBUG ++ */ ++#define VIP_HW_DEBUG_INI 0x00000200 ++ ++/* ++ * VIP_MASTER_CNTL ++ */ ++#define VIP_MASTER_CNTL_TV_ASYNC_RST MASK_N_BIT(0) ++#define VIP_MASTER_CNTL_CRT_ASYNC_RST MASK_N_BIT(1) ++#define VIP_MASTER_CNTL_RESTART_PHASE_FIX MASK_N_BIT(3) ++#define VIP_MASTER_CNTL_TV_FIFO_ASYNC_RST MASK_N_BIT(4) ++#define VIP_MASTER_CNTL_VIN_ASYNC_RST MASK_N_BIT(5) ++#define VIP_MASTER_CNTL_AUD_ASYNC_RST MASK_N_BIT(6) ++#define VIP_MASTER_CNTL_DVS_ASYNC_RST MASK_N_BIT(7) ++#define VIP_MASTER_CNTL_CRT_FIFO_CE_EN MASK_N_BIT(9) ++#define VIP_MASTER_CNTL_TV_FIFO_CE_EN MASK_N_BIT(10) ++#define VIP_MASTER_CNTL_ON_INI (VIP_MASTER_CNTL_RESTART_PHASE_FIX | \ ++ VIP_MASTER_CNTL_VIN_ASYNC_RST | \ ++ VIP_MASTER_CNTL_AUD_ASYNC_RST | \ ++ VIP_MASTER_CNTL_DVS_ASYNC_RST | \ ++ VIP_MASTER_CNTL_CRT_FIFO_CE_EN | \ ++ VIP_MASTER_CNTL_TV_FIFO_CE_EN) ++#define VIP_MASTER_CNTL_OFF_INI (VIP_MASTER_CNTL_TV_ASYNC_RST | \ ++ VIP_MASTER_CNTL_CRT_ASYNC_RST | \ ++ VIP_MASTER_CNTL_RESTART_PHASE_FIX | \ ++ VIP_MASTER_CNTL_TV_FIFO_ASYNC_RST | \ ++ VIP_MASTER_CNTL_VIN_ASYNC_RST | \ ++ VIP_MASTER_CNTL_AUD_ASYNC_RST | \ ++ VIP_MASTER_CNTL_DVS_ASYNC_RST | \ ++ VIP_MASTER_CNTL_CRT_FIFO_CE_EN | \ ++ VIP_MASTER_CNTL_TV_FIFO_CE_EN) ++ ++/* ++ * Value for VIP_LINEAR_GAIN_SETTINGS ++ */ ++#define VIP_LINEAR_GAIN_SETTINGS_INI 0x01000100 ++ ++/* ++ * Value for VIP_GAIN_LIMIT_SETTINGS_INI ++ */ ++#define VIP_GAIN_LIMIT_SETTINGS_INI 0x017f05ff ++ ++/* ++ * Value for VIP_UPSAMP_AND_GAIN_CNTL ++ */ ++#define VIP_UPSAMP_AND_GAIN_CNTL_INI 0x00000005 ++ ++/* ++ * RADEON_VCLK_ECP_CNTL ++ */ ++#define RADEON_VCLK_ECP_CNTL_BYTECLK_POSTDIV 0x00030000 ++#define RADEON_VCLK_ECP_CNTL_BYTECLK_NODIV 0x00000000 ++ ++/* ++ * RADEON_PLL_TEST_CNTL ++ */ ++#define RADEON_PLL_TEST_CNTL_PLL_MASK_READ_B MASK_N_BIT(9) ++ ++/* ++ * RADEON_DAC_CNTL ++ */ ++#define RADEON_DAC_CNTL_DAC_TVO_EN MASK_N_BIT(10) ++ ++#define RADEON_PPLL_POST3_DIV_BY_2 0x10000 ++#define RADEON_PPLL_POST3_DIV_BY_3 0x40000 ++#define RADEON_PPLL_FB3_DIV_SHIFT 0 ++#define RADEON_PPLL_POST3_DIV_SHIFT 16 ++ ++/* ++ * RADEON_DISP_MERGE_CNTL ++ */ ++//#define RADEON_DISP_MERGE_CNTL 0xd60 ++#define RADEON_DISP_MERGE_CNTL_INI 0xffff0000 ++ ++/* ++ * RADEON_HTOTAL_CNTL ++ */ ++#define RADEON_HTOTAL_CNTL_HTOT_PIX_SLIP_SHIFT 0 ++#define RADEON_HTOTAL_CNTL_HTOT_CNTL_VGA_EN MASK_N_BIT(28) ++ ++/* ++ * RADEON_DISP_OUTPUT_CNTL ++ */ ++#define RADEON_DISP_TV_SOURCE MASK_N_BIT(16) ++#define RADEON_DISP_TV_MODE_MASK (3 << 17) ++#define RADEON_DISP_TV_MODE_888 (0 << 17) ++#define RADEON_DISP_TV_MODE_565 (1 << 17) ++#define RADEON_DISP_TV_YG_DITH_EN MASK_N_BIT(19) ++#define RADEON_DISP_TV_CBB_CRR_DITH_EN MASK_N_BIT(20) ++#define RADEON_DISP_TV_BIT_WIDTH MASK_N_BIT(21) ++#define RADEON_DISP_TV_SYNC_MODE_MASK (3 << 22) ++#define RADEON_DISP_TV_SYNC_COLOR_MASK (3 << 25) ++ ++/* ++ * ERT registers ++ */ ++#define TV_MASTER_CNTL 0x0800 ++#define TV_MASTER_CNTL_TVCLK_ALWAYS_ON MASK_N_BIT(30) ++#define TV_MASTER_CNTL_TV_ON MASK_N_BIT(31) ++#define TV_MASTER_CNTL_ON_INI (VIP_MASTER_CNTL_VIN_ASYNC_RST | \ ++ VIP_MASTER_CNTL_CRT_FIFO_CE_EN | \ ++ VIP_MASTER_CNTL_TV_FIFO_CE_EN | \ ++ TV_MASTER_CNTL_TVCLK_ALWAYS_ON | \ ++ TV_MASTER_CNTL_TV_ON) ++#define TV_MASTER_CNTL_OFF_INI (VIP_MASTER_CNTL_TV_ASYNC_RST | \ ++ VIP_MASTER_CNTL_CRT_ASYNC_RST | \ ++ VIP_MASTER_CNTL_TV_FIFO_ASYNC_RST | \ ++ VIP_MASTER_CNTL_CRT_FIFO_CE_EN | \ ++ VIP_MASTER_CNTL_TV_FIFO_CE_EN | \ ++ TV_MASTER_CNTL_TVCLK_ALWAYS_ON) ++#define TV_RGB_CNTL 0x0804 ++#define TV_RGB_CNTL_INI 0x007b0004 ++#define TV_SYNC_CNTL 0x0808 ++#define TV_HTOTAL 0x080c ++#define TV_HDISP 0x0810 ++#define TV_HSTART 0x0818 ++#define TV_HCOUNT 0x081c ++#define TV_VTOTAL 0x0820 ++#define TV_VDISP 0x0824 ++#define TV_VCOUNT 0x0828 ++#define TV_FTOTAL 0x082c ++#define TV_FCOUNT 0x0830 ++#define TV_FRESTART 0x0834 ++#define TV_HRESTART 0x0838 ++#define TV_VRESTART 0x083c ++#define TV_HOST_READ_DATA 0x0840 ++#define TV_HOST_WRITE_DATA 0x0844 ++#define TV_HOST_RD_WT_CNTL 0x0848 ++#define TV_VSCALER_CNTL1 0x084c ++#define TV_VSCALER_CNTL1_RESTART_FIELD MASK_N_BIT(29) ++#define TV_TIMING_CNTL 0x0850 ++#define TV_VSCALER_CNTL2 0x0854 ++#define TV_Y_FALL_CNTL 0x0858 ++#define TV_Y_RISE_CNTL 0x085c ++#define TV_Y_SAWTOOTH_CNTL 0x0860 ++#define TV_UPSAMP_AND_GAIN_CNTL 0x0864 ++#define TV_GAIN_LIMIT_SETTINGS 0x0868 ++#define TV_LINEAR_GAIN_SETTINGS 0x086c ++#define TV_MODULATOR_CNTL1 0x0870 ++#define TV_MODULATOR_CNTL2 0x0874 ++#define TV_PRE_DAC_MUX_CNTL 0x0888 ++#define TV_DAC_CNTL 0x088c ++#define TV_DAC_CNTL_NBLANK MASK_N_BIT(0) ++#define TV_DAC_CNTL_NHOLD MASK_N_BIT(1) ++#define TV_DAC_CNTL_BGSLEEP MASK_N_BIT(6) ++#define TV_DAC_CNTL_RDACPD MASK_N_BIT(24) ++#define TV_DAC_CNTL_GDACPD MASK_N_BIT(25) ++#define TV_DAC_CNTL_BDACPD MASK_N_BIT(26) ++#define TV_CRC_CNTL 0x0890 ++#define TV_UV_ADR 0x08ac ++ ++/* ++ * ERT PLL registers ++ */ ++#define TV_PLL_CNTL 0x21 ++#define TV_PLL_CNTL1 0x22 ++#define TV_PLL_CNTL1_TVPLL_RESET MASK_N_BIT(1) ++#define TV_PLL_CNTL1_TVPLL_SLEEP MASK_N_BIT(3) ++#define TV_PLL_CNTL1_TVPDC_SHIFT 14 ++#define TV_PLL_CNTL1_TVPDC_MASK (3 << 14) ++#define TV_PLL_CNTL1_TVCLK_SRC_SEL MASK_N_BIT(30) ++ ++/* ++ * Constant upsampler coefficients ++ */ ++static ++const ++CARD32 upsamplerCoeffs[] = ++{ ++ 0x3f010000, ++ 0x7b008002, ++ 0x00003f01, ++ 0x341b7405, ++ 0x7f3a7617, ++ 0x00003d04, ++ 0x2d296c0a, ++ 0x0e316c2c, ++ 0x00003e7d, ++ 0x2d1f7503, ++ 0x2927643b, ++ 0x0000056f, ++ 0x29257205, ++ 0x25295050, ++ 0x00000572 ++}; ++#define N_UPSAMPLER_COEFFS (sizeof(upsamplerCoeffs) / sizeof(upsamplerCoeffs[ 0 ])) ++ ++/* ++ * Maximum length of horizontal/vertical code timing tables for state storage ++ */ ++#define MAX_H_CODE_TIMING_LEN 32 ++#define MAX_V_CODE_TIMING_LEN 32 ++ ++/* ++ * Type of VIP bus ++ */ ++#define VIP_TYPE "ATI VIP BUS" ++ ++/* ++ * Limits of h/v positions (hPos & vPos in TheaterOutRec) ++ */ ++#define MAX_H_POSITION 5 /* Range: [-5..5], negative is on the left, 0 is default, positive is on the right */ ++#define MAX_V_POSITION 5 /* Range: [-5..5], negative is up, 0 is default, positive is down */ ++ ++/* ++ * Unit for hPos (in TV clock periods) ++ */ ++#define H_POS_UNIT 10 ++ ++/* ++ * Indexes in h. code timing table for horizontal line position adjustment ++ */ ++#define H_TABLE_POS1 6 ++#define H_TABLE_POS2 8 ++ ++/* ++ * Limits of hor. size (hSize in TheaterOutRec) ++ */ ++#define MAX_H_SIZE 5 /* Range: [-5..5], negative is smaller, positive is larger */ ++ ++/********************************************************************** ++ * ++ * TimingTableEl ++ * ++ * Elements of H/V code timing tables ++ * ++ **********************************************************************/ ++ ++typedef CARD16 TimingTableEl; /* Bits 0 to 13 only are actually used */ ++ ++/********************************************************************** ++ * ++ * ModeConstants ++ * ++ * Storage of constants related to a single video mode ++ * ++ **********************************************************************/ ++ ++typedef struct ++{ ++ CARD16 horResolution; ++ CARD16 verResolution; ++ TVStd standard; ++ CARD16 horTotal; ++ CARD16 verTotal; ++ CARD16 horStart; ++ CARD16 horSyncStart; ++ CARD16 verSyncStart; ++ unsigned defRestart; ++ CARD32 vScalerCntl1; ++ CARD32 yRiseCntl; ++ CARD32 ySawtoothCntl; ++ CARD16 crtcPLL_N; ++ CARD8 crtcPLL_M; ++ Bool crtcPLL_divBy2; ++ CARD8 crtcPLL_byteClkDiv; ++ CARD8 crtcPLL_postDiv; ++ Bool use888RGB; /* False: RGB data is 565 packed (2 bytes/pixel) */ ++ /* True : RGB data is 888 packed (3 bytes/pixel) */ ++ unsigned pixToTV; ++ CARD8 byteClkDelay; ++ CARD32 tvoDataDelayA; ++ CARD32 tvoDataDelayB; ++ const TimingTableEl *horTimingTable; ++ const TimingTableEl *verTimingTable; ++} ModeConstants; ++ ++/********************************************************************** ++ * ++ * TheaterState ++ * ++ * Storage of RT state ++ * ++ **********************************************************************/ ++ ++typedef struct ++{ ++ CARD32 clkout_cntl; ++ CARD32 clock_sel_cntl; ++ CARD32 crc_cntl; ++ CARD32 crt_pll_cntl; ++ CARD32 dfrestart; ++ CARD32 dhrestart; ++ CARD32 dvrestart; ++ CARD32 frame_lock_cntl; ++ CARD32 gain_limit_settings; ++ CARD32 hdisp; ++ CARD32 hstart; ++ CARD32 htotal; ++ CARD32 hw_debug; ++ CARD32 linear_gain_settings; ++ CARD32 master_cntl; ++ CARD32 modulator_cntl1; ++ CARD32 modulator_cntl2; ++ CARD32 pll_cntl0; ++ CARD32 pll_test_cntl; ++ CARD32 pre_dac_mux_cntl; ++ CARD32 rgb_cntl; ++ CARD32 sync_cntl; ++ CARD32 sync_lock_cntl; ++ CARD32 sync_size; ++ CARD32 timing_cntl; ++ CARD32 tvo_data_delay_a; ++ CARD32 tvo_data_delay_b; ++ CARD32 tvo_sync_pat_expect; ++ CARD32 tvo_sync_threshold; ++ CARD32 tv_dac_cntl; ++ CARD32 tv_pll_cntl; ++ CARD32 tv_pll_fine_cntl; ++ CARD32 upsamp_and_gain_cntl; ++ CARD32 upsamp_coeffs[ N_UPSAMPLER_COEFFS ]; ++ CARD32 uv_adr; ++ CARD32 vdisp; ++ CARD32 vftotal; ++ CARD32 vscaler_cntl1; ++ CARD32 vscaler_cntl2; ++ CARD32 vtotal; ++ CARD32 y_fall_cntl; ++ CARD32 y_rise_cntl; ++ CARD32 y_saw_tooth_cntl; ++ CARD32 disp_merge_cntl; ++ ++ TimingTableEl h_code_timing[ MAX_H_CODE_TIMING_LEN ]; ++ TimingTableEl v_code_timing[ MAX_V_CODE_TIMING_LEN ]; ++} TheaterState , *TheaterStatePtr; ++ ++/********************************************************************** ++ * ++ * TheaterOutRec , TheaterOutPtr ++ * ++ * Global state of module ++ * ++ **********************************************************************/ ++ ++typedef struct TheaterOut ++{ ++ GENERIC_BUS_Ptr VIP; ++ unsigned char *MMIO; ++ ++ int theatre_num; /* Negative when driving an ERT */ ++ /* Positive or null: index of RT on VIP bus */ ++ ++ TVStd standard; ++ Bool compatibleMode; ++ ++ const ModeConstants *currentMode; ++ ++ int hPos; ++ int vPos; ++ int hSize; ++ ++ TheaterState savedState; ++ TheaterState modeState; ++} TheaterOutRec; ++ ++/********************************************************************** ++ * ++ * TVConstants ++ * ++ * Constants that depend on tv standard only ++ * ++ **********************************************************************/ ++ ++typedef struct ++{ ++ CARD8 tvPLL_M; ++ CARD16 tvPLL_N; ++ CARD8 tvPLL_postDiv; ++ CARD32 tvClockT; /* Period of TV clock (unit = 100 psec) */ ++ CARD32 modulatorCntl1; ++ CARD32 modulatorCntl2; ++ CARD32 vip_tvDAC_Cntl; ++ CARD32 ert_tvDAC_Cntl; ++ CARD32 vftotal; ++ unsigned linesFrame; ++ unsigned zeroHSize; /* Length of the picture part of a hor. line for hSize = 0 (unit = 100 psec) */ ++ unsigned hSizeUnit; /* Value of hSize = 1 (unit = 100 psec) */ ++} TVConstants; ++ ++/********************************************************************** ++ * ++ * tvStdConsts ++ * ++ * Table of constants for tv standards (index is a TVStd) ++ * ++ **********************************************************************/ ++ ++static ++const ++TVConstants tvStdConsts[] = ++ { ++ /* ++ * NTSC ++ */ ++ { ++ 22, /* tvPLL_M */ ++ 175, /* tvPLL_N */ ++ 5, /* tvPLL_postDiv */ ++ 233, /* tvClockT */ ++ 0x60bb468c, /* modulatorCntl1 */ ++ 0x00000191, /* modulatorCntl2 */ ++ 0x00000113, /* vip_tvDAC_Cntl */ ++ 0x00680113, /* ert_tvDAC_Cntl */ ++ 1, /* vftotal */ ++ 525, /* linesFrame */ ++ 479166, /* zeroHSize */ ++ 9478 /* hSizeUnit */ ++ }, ++ /* ++ * PAL ++ */ ++ { ++ 113, /* tvPLL_M */ ++ 668, /* tvPLL_N */ ++ 3, /* tvPLL_postDiv */ ++ 188, /* tvClockT */ ++ 0x60bb3bcc, /* modulatorCntl1 */ ++ 0x003e01b2, /* modulatorCntl2 */ ++ 0x00000013, /* vip_tvDAC_Cntl */ ++ 0x00680013, /* ert_tvDAC_Cntl */ ++ 3, /* vftotal */ ++ 625, /* linesFrame */ ++ 473200, /* zeroHSize */ ++ 9360 /* hSizeUnit */ ++ } ++ }; ++ ++/********************************************************************** ++ * ++ * availableModes ++ * ++ * Table of all allowed modes for tv output ++ * ++ **********************************************************************/ ++ ++static ++const ++TimingTableEl horTimingNTSC_BIOS[] = ++ { ++ 0x0007, ++ 0x003f, ++ 0x0263, ++ 0x0a24, ++ 0x2a6b, ++ 0x0a36, ++ 0x126d, /* H_TABLE_POS1 */ ++ 0x1bfe, ++ 0x1a8f, /* H_TABLE_POS2 */ ++ 0x1ec7, ++ 0x3863, ++ 0x1bfe, ++ 0x1bfe, ++ 0x1a2a, ++ 0x1e95, ++ 0x0e31, ++ 0x201b, ++ 0 ++ }; ++ ++static ++const ++TimingTableEl verTimingNTSC_BIOS[] = ++ { ++ 0x2001, ++ 0x200d, ++ 0x1006, ++ 0x0c06, ++ 0x1006, ++ 0x1818, ++ 0x21e3, ++ 0x1006, ++ 0x0c06, ++ 0x1006, ++ 0x1817, ++ 0x21d4, ++ 0x0002, ++ 0 ++ }; ++ ++static ++const ++TimingTableEl horTimingPAL_BIOS[] = ++ { ++ 0x0007, ++ 0x0058, ++ 0x027c, ++ 0x0a31, ++ 0x2a77, ++ 0x0a95, ++ 0x124f, /* H_TABLE_POS1 */ ++ 0x1bfe, ++ 0x1b22, /* H_TABLE_POS2 */ ++ 0x1ef9, ++ 0x387c, ++ 0x1bfe, ++ 0x1bfe, ++ 0x1b31, ++ 0x1eb5, ++ 0x0e43, ++ 0x201b, ++ 0 ++ }; ++ ++static ++const ++TimingTableEl verTimingPAL_BIOS[] = ++ { ++ 0x2001, ++ 0x200c, ++ 0x1005, ++ 0x0c05, ++ 0x1005, ++ 0x1401, ++ 0x1821, ++ 0x2240, ++ 0x1005, ++ 0x0c05, ++ 0x1005, ++ 0x1401, ++ 0x1822, ++ 0x2230, ++ 0x0002, ++ 0 ++ }; ++ ++static ++const ++ModeConstants availableModes[] = ++ { ++ { ++ 800, /* horResolution */ ++ 600, /* verResolution */ ++ TV_STD_NTSC, /* standard */ ++ 990, /* horTotal */ ++ 740, /* verTotal */ ++ 813, /* horStart */ ++ 824, /* horSyncStart */ ++ 632, /* verSyncStart */ ++ 625592, /* defRestart */ ++ 0x0900b46b, /* vScalerCntl1 */ ++ 0x00012c00, /* yRiseCntl */ ++ 0x10002d1a, /* ySawtoothCntl */ ++ 592, /* crtcPLL_N */ ++ 91, /* crtcPLL_M */ ++ TRUE, /* crtcPLL_divBy2 */ ++ 0, /* crtcPLL_byteClkDiv */ ++ 4, /* crtcPLL_postDiv */ ++ FALSE, /* use888RGB */ ++ 1022, /* pixToTV */ ++ 1, /* byteClkDelay */ ++ 0x0a0b0907, /* tvoDataDelayA */ ++ 0x060a090a, /* tvoDataDelayB */ ++ horTimingNTSC_BIOS,/* horTimingTable */ ++ verTimingNTSC_BIOS/* verTimingTable */ ++ }, ++ { ++ 800, /* horResolution */ ++ 600, /* verResolution */ ++ TV_STD_PAL, /* standard */ ++ 1144, /* horTotal */ ++ 706, /* verTotal */ ++ 812, /* horStart */ ++ 824, /* horSyncStart */ ++ 669, /* verSyncStart */ ++ 696700, /* defRestart */ ++ 0x09009097, /* vScalerCntl1 */ ++ 0x000007da, /* yRiseCntl */ ++ 0x10002426, /* ySawtoothCntl */ ++ 1382, /* crtcPLL_N */ ++ 231, /* crtcPLL_M */ ++ TRUE, /* crtcPLL_divBy2 */ ++ 0, /* crtcPLL_byteClkDiv */ ++ 4, /* crtcPLL_postDiv */ ++ FALSE, /* use888RGB */ ++ 759, /* pixToTV */ ++ 1, /* byteClkDelay */ ++ 0x0a0b0907, /* tvoDataDelayA */ ++ 0x060a090a, /* tvoDataDelayB */ ++ horTimingPAL_BIOS,/* horTimingTable */ ++ verTimingPAL_BIOS /* verTimingTable */ ++ } ++ }; ++ ++#define N_AVAILABLE_MODES (sizeof(availableModes) / sizeof(availableModes[ 0 ])) ++ ++/********************************************************************** ++ * ++ * theatre_read ++ * ++ * Read from a RT register ++ * ++ **********************************************************************/ ++ ++static ++Bool ++theatre_read( ++ TheaterOutPtr t, ++ CARD32 reg, ++ CARD32 *data ++ ) ++{ ++ if (t->theatre_num < 0) ++ return FALSE; ++ ++ return t->VIP->read(t->VIP, ((t->theatre_num & 0x3) << 14) | reg , 4 , (CARD8*)data); ++} ++ ++/********************************************************************** ++ * ++ * theatre_write ++ * ++ * Write to a RT register ++ * ++ **********************************************************************/ ++ ++static ++Bool ++theatre_write( ++ TheaterOutPtr t, ++ CARD32 reg, ++ CARD32 data ++ ) ++{ ++ if (t->theatre_num < 0) ++ return FALSE; ++ ++ return t->VIP->write(t->VIP , ((t->theatre_num & 0x03) << 14) | reg , 4 , (CARD8*)&data); ++} ++ ++/********************************************************************** ++ * ++ * ert_read ++ * ++ * Read from an ERT register ++ * ++ **********************************************************************/ ++ ++static ++void ++ert_read( ++ TheaterOutPtr t, ++ CARD32 reg, ++ CARD32 *data ++ ) ++{ ++ unsigned char *RADEONMMIO = t->MMIO; ++ ++ if (t->theatre_num < 0) ++ *data = INREG(reg); ++} ++ ++/********************************************************************** ++ * ++ * ert_write ++ * ++ * Write to an ERT register ++ * ++ **********************************************************************/ ++static ++void ++ert_write( ++ TheaterOutPtr t, ++ CARD32 reg, ++ CARD32 data ++ ) ++{ ++ unsigned char *RADEONMMIO = t->MMIO; ++ ++ if (t->theatre_num < 0) ++ OUTREG(reg , data); ++} ++ ++/********************************************************************** ++ * ++ * waitPLL_lock ++ * ++ * Wait for PLLs to lock ++ * ++ **********************************************************************/ ++ ++static ++void ++waitPLL_lock( ++ TheaterOutPtr t, ++ ScrnInfoPtr pScrn, ++ unsigned nTests, ++ unsigned nWaitLoops, ++ unsigned cntThreshold ++ ) ++{ ++ unsigned char *RADEONMMIO = t->MMIO; ++ CARD32 savePLLTest; ++ unsigned i; ++ unsigned j; ++ ++ OUTREG(RADEON_TEST_DEBUG_MUX , (INREG(RADEON_TEST_DEBUG_MUX) & 0xffff60ff) | 0x100); ++ ++ savePLLTest = INPLL(pScrn , RADEON_PLL_TEST_CNTL); ++ ++ OUTPLL(pScrn , RADEON_PLL_TEST_CNTL , savePLLTest & ~RADEON_PLL_TEST_CNTL_PLL_MASK_READ_B); ++ ++ OUTREG8(RADEON_CLOCK_CNTL_INDEX , RADEON_PLL_TEST_CNTL); ++ ++ for (i = 0; i < nTests; i++) ++ { ++ OUTREG8(RADEON_CLOCK_CNTL_DATA + 3 , 0); ++ ++ for (j = 0; j < nWaitLoops; j++) ++ if (INREG8(RADEON_CLOCK_CNTL_DATA + 3) >= cntThreshold) ++ break; ++ } ++ ++ OUTPLL(pScrn , RADEON_PLL_TEST_CNTL , savePLLTest); ++ ++ OUTREG(RADEON_TEST_DEBUG_MUX , INREG(RADEON_TEST_DEBUG_MUX) & 0xffffe0ff); ++} ++ ++/********************************************************************** ++ * ++ * restorePLL ++ * ++ * Set PLLs for CRTC pixel clock & TV color burst generation ++ * ++ **********************************************************************/ ++ ++static ++void ++restorePLL( ++ TheaterOutPtr t, ++ ScrnInfoPtr pScrn, ++ TheaterStatePtr restore ++ ) ++{ ++ unsigned i; ++ ++ /* ++ * Set TV PLL ++ */ ++ RTTRACE(("restorePLL: TV_PLL_CNTL = %08x\n" , restore->tv_pll_cntl)); ++ theatre_write(t , VIP_TV_PLL_CNTL , restore->tv_pll_cntl); ++ theatre_write(t , VIP_TV_PLL_FINE_CNTL , restore->tv_pll_fine_cntl); ++ ++ /* ++ * Set CRT PLL (for byte and pixel clock generation) ++ */ ++ RTTRACE(("restorePLL: CRT_PLL_CNTL = %08x\n" , restore->crt_pll_cntl)); ++ theatre_write(t , VIP_CRT_PLL_CNTL , restore->crt_pll_cntl); ++ ++ theatre_write(t , VIP_PLL_CNTL0 , restore->pll_cntl0); ++ ++ theatre_write(t , VIP_PLL_TEST_CNTL , restore->pll_test_cntl); ++ ++ /* ++ * Set coefficients for upsampler ++ */ ++ for (i = 0; i < N_UPSAMPLER_COEFFS; i++) ++ theatre_write(t , VIP_UPSAMP_COEFF0_0 + i * 4 , restore->upsamp_coeffs[ i ]); ++ ++ /* ++ * Waiting for PLLs to settle is skipped when restoring a state with stopped PLLs ++ */ ++ if ((~restore->pll_cntl0 & (VIP_PLL_CNTL0_TVSLEEPB | VIP_PLL_CNTL0_CRTSLEEPB)) == 0) ++ { ++ waitPLL_lock(t , pScrn , 3000 , 160 , 27); ++ ++ theatre_write(t , VIP_CLOCK_SEL_CNTL , restore->clock_sel_cntl & ~VIP_CLOCK_SEL_CNTL_REGCLK); ++ ++ waitPLL_lock(t , pScrn , 3000 , 160 , 27); ++ } ++ ++ RTTRACE(("restorePLL: CLOCK_SEL_CNTL = %08x\n" , restore->clock_sel_cntl)); ++ theatre_write(t , VIP_CLOCK_SEL_CNTL , restore->clock_sel_cntl); ++ ++ theatre_write(t , VIP_CLKOUT_CNTL , restore->clkout_cntl); ++} ++ ++/********************************************************************** ++ * ++ * restoreTVO_SYNC ++ * ++ * Set TVO_SYNC_* registers ++ * ++ **********************************************************************/ ++ ++static ++void ++restoreTVO_SYNC( ++ TheaterOutPtr t, ++ TheaterStatePtr restore ++ ) ++{ ++ theatre_write(t , VIP_SYNC_LOCK_CNTL , restore->sync_lock_cntl); ++ theatre_write(t , VIP_TVO_SYNC_THRESHOLD , restore->tvo_sync_threshold); ++ theatre_write(t , VIP_TVO_SYNC_PAT_EXPECT , restore->tvo_sync_pat_expect); ++} ++ ++/********************************************************************** ++ * ++ * restoreTVO_DataDelay ++ * ++ * Set TVO_DATA_DELAY_* registers ++ * ++ **********************************************************************/ ++ ++static ++void ++restoreTVO_DataDelay( ++ TheaterOutPtr t, ++ TheaterStatePtr restore ++ ) ++{ ++ theatre_write(t , VIP_TVO_DATA_DELAY_A , restore->tvo_data_delay_a); ++ theatre_write(t , VIP_TVO_DATA_DELAY_B , restore->tvo_data_delay_b); ++} ++ ++/********************************************************************** ++ * ++ * restoreRT_HV ++ * ++ * Set RT horizontal/vertical settings ++ * ++ **********************************************************************/ ++ ++static ++void ++restoreRT_HV( ++ TheaterOutPtr t, ++ TheaterStatePtr restore ++ ) ++{ ++ theatre_write(t , VIP_RGB_CNTL , restore->rgb_cntl); ++ ++ theatre_write(t , VIP_HTOTAL , restore->htotal); ++ theatre_write(t , VIP_HDISP , restore->hdisp); ++ theatre_write(t , VIP_HSTART , restore->hstart); ++ ++ theatre_write(t , VIP_VTOTAL , restore->vtotal); ++ theatre_write(t , VIP_VDISP , restore->vdisp); ++ ++ theatre_write(t , VIP_VFTOTAL , restore->vftotal); ++ ++ theatre_write(t , VIP_SYNC_SIZE , restore->sync_size); ++ ++ theatre_write(t , VIP_VSCALER_CNTL1 , restore->vscaler_cntl1); ++ theatre_write(t , VIP_VSCALER_CNTL2 , restore->vscaler_cntl2); ++ ++ theatre_write(t , VIP_Y_FALL_CNTL , restore->y_fall_cntl); ++ theatre_write(t , VIP_Y_RISE_CNTL , restore->y_rise_cntl); ++ theatre_write(t , VIP_Y_SAW_TOOTH_CNTL , restore->y_saw_tooth_cntl); ++} ++ ++/********************************************************************** ++ * ++ * restoreRestarts ++ * ++ * Set RT D*RESTART registers ++ * ++ **********************************************************************/ ++ ++static ++void ++restoreRestarts( ++ TheaterOutPtr t, ++ TheaterStatePtr restore ++ ) ++{ ++ theatre_write(t , VIP_DFRESTART , restore->dfrestart); ++ theatre_write(t , VIP_DHRESTART , restore->dhrestart); ++ theatre_write(t , VIP_DVRESTART , restore->dvrestart); ++} ++ ++/********************************************************************** ++ * ++ * writeFIFO ++ * ++ * Write to RT FIFO RAM ++ * ++ **********************************************************************/ ++ ++static ++void ++writeFIFO( ++ TheaterOutPtr t, ++ CARD16 addr, ++ CARD32 value ++ ) ++{ ++ CARD32 tmp; ++ ++ if (t->theatre_num >= 0) ++ { ++ theatre_write(t , VIP_HOST_WRITE_DATA , value); ++ ++ theatre_write(t , VIP_HOST_RD_WT_CNTL , addr | VIP_HOST_RD_WT_CNTL_WT); ++ ++ do ++ { ++ if (!theatre_read(t , VIP_HOST_RD_WT_CNTL , &tmp)) ++ break; ++ } ++ while ((tmp & VIP_HOST_RD_WT_CNTL_WT_ACK) == 0); ++ ++ theatre_write(t , VIP_HOST_RD_WT_CNTL , 0); ++ } ++ else ++ { ++ ert_write(t , TV_HOST_WRITE_DATA , value); ++ ++ ert_write(t , TV_HOST_RD_WT_CNTL , addr | VIP_HOST_RD_WT_CNTL_WT); ++ ++ do ++ { ++ ert_read(t , TV_HOST_RD_WT_CNTL , &tmp); ++ } ++ while ((tmp & VIP_HOST_RD_WT_CNTL_WT_ACK) == 0); ++ ++ ert_write(t , TV_HOST_RD_WT_CNTL , 0); ++ } ++} ++ ++/********************************************************************** ++ * ++ * readFIFO ++ * ++ * Read from RT FIFO RAM ++ * ++ **********************************************************************/ ++ ++static ++void ++readFIFO( ++ TheaterOutPtr t, ++ CARD16 addr, ++ CARD32 *value ++ ) ++{ ++ CARD32 tmp; ++ ++ if (t->theatre_num >= 0) ++ { ++ theatre_write(t , VIP_HOST_RD_WT_CNTL , addr | VIP_HOST_RD_WT_CNTL_RD); ++ ++ do ++ { ++ if (!theatre_read(t , VIP_HOST_RD_WT_CNTL , &tmp)) ++ break; ++ } ++ while ((tmp & VIP_HOST_RD_WT_CNTL_RD_ACK) == 0); ++ ++ theatre_write(t , VIP_HOST_RD_WT_CNTL , 0); ++ ++ theatre_read(t , VIP_HOST_READ_DATA , value); ++ } ++ else ++ { ++ ert_write(t , TV_HOST_RD_WT_CNTL , addr | VIP_HOST_RD_WT_CNTL_RD); ++ ++ do ++ { ++ ert_read(t , TV_HOST_RD_WT_CNTL , &tmp); ++ } ++ while ((tmp & VIP_HOST_RD_WT_CNTL_RD_ACK) == 0); ++ ++ ert_write(t , TV_HOST_RD_WT_CNTL , 0); ++ ++ ert_read(t , TV_HOST_READ_DATA , value); ++ } ++} ++ ++/********************************************************************** ++ * ++ * getTimingTablesAddr ++ * ++ * Get FIFO addresses of horizontal & vertical code timing tables from ++ * settings of uv_adr register. ++ * ++ **********************************************************************/ ++ ++static ++void ++getTimingTablesAddr( ++ CARD32 uv_adr, ++ Bool isERT, ++ CARD16 *hTable, ++ CARD16 *vTable ++ ) ++{ ++ switch ((uv_adr & VIP_UV_ADR_HCODE_TABLE_SEL) >> VIP_UV_ADR_HCODE_TABLE_SEL_SHIFT) ++ { ++ case 0: ++ *hTable = isERT ? MAX_FIFO_ADDR_ERT : MAX_FIFO_ADDR_RT; ++ break; ++ ++ case 1: ++ *hTable = ((uv_adr & VIP_UV_ADR_TABLE1_BOT_ADR) >> VIP_UV_ADR_TABLE1_BOT_ADR_SHIFT) * 2; ++ break; ++ ++ case 2: ++ *hTable = ((uv_adr & VIP_UV_ADR_TABLE3_TOP_ADR) >> VIP_UV_ADR_TABLE3_TOP_ADR_SHIFT) * 2; ++ break; ++ ++ default: ++ /* ++ * Of course, this should never happen ++ */ ++ *hTable = 0; ++ break; ++ } ++ ++ switch ((uv_adr & VIP_UV_ADR_VCODE_TABLE_SEL) >> VIP_UV_ADR_VCODE_TABLE_SEL_SHIFT) ++ { ++ case 0: ++ *vTable = ((uv_adr & VIP_UV_ADR_MAX_UV_ADR) >> VIP_UV_ADR_MAX_UV_ADR_SHIFT) * 2 + 1; ++ break; ++ ++ case 1: ++ *vTable = ((uv_adr & VIP_UV_ADR_TABLE1_BOT_ADR) >> VIP_UV_ADR_TABLE1_BOT_ADR_SHIFT) * 2 + 1; ++ break; ++ ++ case 2: ++ *vTable = ((uv_adr & VIP_UV_ADR_TABLE3_TOP_ADR) >> VIP_UV_ADR_TABLE3_TOP_ADR_SHIFT) * 2 + 1; ++ break; ++ ++ default: ++ /* ++ * Of course, this should never happen ++ */ ++ *vTable = 0; ++ break; ++ } ++} ++ ++/********************************************************************** ++ * ++ * saveTimingTables ++ * ++ * Save horizontal/vertical timing code tables ++ * ++ **********************************************************************/ ++static ++void ++saveTimingTables( ++ TheaterOutPtr t, ++ TheaterStatePtr save ++ ) ++{ ++ CARD16 hTable; ++ CARD16 vTable; ++ CARD32 tmp; ++ unsigned i; ++ ++ if (t->theatre_num >= 0) ++ { ++ theatre_read(t , VIP_UV_ADR , &save->uv_adr); ++ getTimingTablesAddr(save->uv_adr , FALSE , &hTable , &vTable); ++ } ++ else ++ { ++ ert_read(t , TV_UV_ADR , &save->uv_adr); ++ getTimingTablesAddr(save->uv_adr , TRUE , &hTable , &vTable); ++ } ++ ++ /* ++ * Reset FIFO arbiter in order to be able to access FIFO RAM ++ */ ++ if (t->theatre_num >= 0) ++ { ++ theatre_write(t , ++ VIP_MASTER_CNTL , ++ save->master_cntl | ++ VIP_MASTER_CNTL_CRT_ASYNC_RST | ++ VIP_MASTER_CNTL_TV_FIFO_ASYNC_RST | ++ VIP_MASTER_CNTL_TV_ASYNC_RST); ++ theatre_write(t , ++ VIP_MASTER_CNTL , ++ save->master_cntl | ++ VIP_MASTER_CNTL_TV_ASYNC_RST | ++ VIP_MASTER_CNTL_CRT_ASYNC_RST); ++ } ++ else ++ { ++ ert_write(t , ++ TV_MASTER_CNTL , ++ save->master_cntl | TV_MASTER_CNTL_TV_ON); ++ } ++ ++ RTTRACE(("saveTimingTables: reading timing tables\n")); ++ ++ for (i = 0; i < MAX_H_CODE_TIMING_LEN; i += 2) ++ { ++ readFIFO(t , hTable-- , &tmp); ++ save->h_code_timing[ i ] = (CARD16)((tmp >> 14) & 0x3fff); ++ save->h_code_timing[ i + 1 ] = (CARD16)(tmp & 0x3fff); ++ ++ if (save->h_code_timing[ i ] == 0 || save->h_code_timing[ i + 1 ] == 0) ++ break; ++ } ++ ++ for (i = 0; i < MAX_V_CODE_TIMING_LEN; i += 2) ++ { ++ readFIFO(t , vTable++ , &tmp); ++ save->v_code_timing[ i ] = (CARD16)(tmp & 0x3fff); ++ save->v_code_timing[ i + 1 ] = (CARD16)((tmp >> 14) & 0x3fff); ++ ++ if (save->v_code_timing[ i ] == 0 || save->v_code_timing[ i + 1 ] == 0) ++ break; ++ } ++} ++ ++/********************************************************************** ++ * ++ * restoreTimingTables ++ * ++ * Load horizontal/vertical timing code tables ++ * ++ **********************************************************************/ ++ ++static ++void ++restoreTimingTables( ++ TheaterOutPtr t, ++ TheaterStatePtr restore ++ ) ++{ ++ CARD16 hTable; ++ CARD16 vTable; ++ CARD32 tmp; ++ unsigned i; ++ ++ if (t->theatre_num >= 0) ++ { ++ theatre_write(t , VIP_UV_ADR , restore->uv_adr); ++ getTimingTablesAddr(restore->uv_adr , FALSE , &hTable , &vTable); ++ } ++ else ++ { ++ ert_write(t , TV_UV_ADR , restore->uv_adr); ++ getTimingTablesAddr(restore->uv_adr , TRUE , &hTable , &vTable); ++ } ++ ++ for (i = 0; i < MAX_H_CODE_TIMING_LEN; i += 2 , hTable--) ++ { ++ tmp = ((CARD32)restore->h_code_timing[ i ] << 14) | ((CARD32)restore->h_code_timing[ i + 1 ]); ++ writeFIFO(t , hTable , tmp); ++ if (restore->h_code_timing[ i ] == 0 || restore->h_code_timing[ i + 1 ] == 0) ++ break; ++ } ++ ++ for (i = 0; i < MAX_V_CODE_TIMING_LEN; i += 2 , vTable++) ++ { ++ tmp = ((CARD32)restore->v_code_timing[ i + 1 ] << 14) | ((CARD32)restore->v_code_timing[ i ]); ++ writeFIFO(t , vTable , tmp); ++ if (restore->v_code_timing[ i ] == 0 || restore->v_code_timing[ i + 1 ] == 0) ++ break; ++ } ++} ++ ++/********************************************************************** ++ * ++ * restoreOutputStd ++ * ++ * Set tv standard & output muxes ++ * ++ **********************************************************************/ ++ ++static ++void ++restoreOutputStd( ++ TheaterOutPtr t, ++ TheaterStatePtr restore ++ ) ++{ ++ theatre_write(t , VIP_SYNC_CNTL , restore->sync_cntl); ++ ++ theatre_write(t , VIP_TIMING_CNTL , restore->timing_cntl); ++ ++ theatre_write(t , VIP_MODULATOR_CNTL1 , restore->modulator_cntl1); ++ theatre_write(t , VIP_MODULATOR_CNTL2 , restore->modulator_cntl2); ++ ++ theatre_write(t , VIP_PRE_DAC_MUX_CNTL , restore->pre_dac_mux_cntl); ++ ++ theatre_write(t , VIP_CRC_CNTL , restore->crc_cntl); ++ ++ theatre_write(t , VIP_FRAME_LOCK_CNTL , restore->frame_lock_cntl); ++ ++ theatre_write(t , VIP_HW_DEBUG , restore->hw_debug); ++} ++ ++/********************************************************************** ++ * ++ * enableTV_DAC ++ * ++ * Enable/disable tv output DAC ++ * ++ **********************************************************************/ ++ ++static ++void ++enableTV_DAC( ++ TheaterOutPtr t, ++ Bool enable ++ ) ++{ ++ CARD32 tmp; ++ ++ theatre_read(t , VIP_TV_DAC_CNTL , &tmp); ++ ++ if (enable) ++ { ++ tmp |= VIP_TV_DAC_CNTL_NBLANK; ++ tmp &= ~VIP_TV_DAC_CNTL_DASLEEP; ++ tmp &= ~VIP_TV_DAC_CNTL_BGSLEEP; ++ } ++ else ++ { ++ tmp &= ~VIP_TV_DAC_CNTL_NBLANK; ++ tmp |= VIP_TV_DAC_CNTL_DASLEEP; ++ tmp |= VIP_TV_DAC_CNTL_BGSLEEP; ++ } ++ ++ theatre_write(t , VIP_TV_DAC_CNTL , tmp); ++} ++ ++/********************************************************************** ++ * ++ * ERT_RestorePLL ++ * ++ * Set ERT PLLs ++ * ++ **********************************************************************/ ++static ++void ++ERT_RestorePLL( ++ TheaterOutPtr t, ++ ScrnInfoPtr pScrn, ++ TheaterStatePtr restore ++ ) ++{ ++ unsigned char *RADEONMMIO = t->MMIO; ++ ++ OUTPLLP(pScrn , TV_PLL_CNTL1 , 0 , ~TV_PLL_CNTL1_TVCLK_SRC_SEL); ++ OUTPLL(pScrn , TV_PLL_CNTL , restore->tv_pll_cntl); ++ OUTPLLP(pScrn , TV_PLL_CNTL1 , TV_PLL_CNTL1_TVPLL_RESET , ~TV_PLL_CNTL1_TVPLL_RESET); ++ ++ waitPLL_lock(t , pScrn , 200 , 800 , 135); ++ ++ OUTPLLP(pScrn , TV_PLL_CNTL1 , 0 , ~TV_PLL_CNTL1_TVPLL_RESET); ++ ++ waitPLL_lock(t , pScrn , 300 , 160 , 27); ++ waitPLL_lock(t , pScrn , 200 , 800 , 135); ++ ++ OUTPLLP(pScrn , TV_PLL_CNTL1 , 0 , ~0xf); ++ OUTPLLP(pScrn , TV_PLL_CNTL1 , TV_PLL_CNTL1_TVCLK_SRC_SEL , ~TV_PLL_CNTL1_TVCLK_SRC_SEL); ++ ++ OUTPLLP(pScrn , TV_PLL_CNTL1 , (1 << TV_PLL_CNTL1_TVPDC_SHIFT) , ~TV_PLL_CNTL1_TVPDC_MASK); ++ OUTPLLP(pScrn , TV_PLL_CNTL1 , 0 , ~TV_PLL_CNTL1_TVPLL_SLEEP); ++} ++ ++/********************************************************************** ++ * ++ * ERT_RestoreHV ++ * ++ * Set ERT horizontal/vertical settings ++ * ++ **********************************************************************/ ++ ++static ++void ++ERT_RestoreHV( ++ TheaterOutPtr t, ++ TheaterStatePtr restore ++ ) ++{ ++ ert_write(t , TV_RGB_CNTL , restore->rgb_cntl); ++ ++ ert_write(t , TV_HTOTAL , restore->htotal); ++ ert_write(t , TV_HDISP , restore->hdisp); ++ ert_write(t , TV_HSTART , restore->hstart); ++ ++ ert_write(t , TV_VTOTAL , restore->vtotal); ++ ert_write(t , TV_VDISP , restore->vdisp); ++ ++ ert_write(t , TV_FTOTAL , restore->vftotal); ++ ++ ert_write(t , TV_VSCALER_CNTL1 , restore->vscaler_cntl1); ++ ert_write(t , TV_VSCALER_CNTL2 , restore->vscaler_cntl2); ++ ++ ert_write(t , TV_Y_FALL_CNTL , restore->y_fall_cntl); ++ ert_write(t , TV_Y_RISE_CNTL , restore->y_rise_cntl); ++ ert_write(t , TV_Y_SAWTOOTH_CNTL , restore->y_saw_tooth_cntl); ++} ++ ++/********************************************************************** ++ * ++ * ERT_RestoreRestarts ++ * ++ * Set ERT TV_*RESTART registers ++ * ++ **********************************************************************/ ++ ++static ++void ++ERT_RestoreRestarts( ++ TheaterOutPtr t, ++ TheaterStatePtr restore ++ ) ++{ ++ ert_write(t , TV_FRESTART , restore->dfrestart); ++ ert_write(t , TV_HRESTART , restore->dhrestart); ++ ert_write(t , TV_VRESTART , restore->dvrestart); ++} ++ ++/********************************************************************** ++ * ++ * ERT_RestoreOutputStd ++ * ++ * Set tv standard & output muxes ++ * ++ **********************************************************************/ ++static ++void ++ERT_RestoreOutputStd( ++ TheaterOutPtr t, ++ TheaterStatePtr restore ++ ) ++{ ++ ert_write(t , TV_SYNC_CNTL , restore->sync_cntl); ++ ++ ert_write(t , TV_TIMING_CNTL , restore->timing_cntl); ++ ++ ert_write(t , TV_MODULATOR_CNTL1 , restore->modulator_cntl1); ++ ert_write(t , TV_MODULATOR_CNTL2 , restore->modulator_cntl2); ++ ++ ert_write(t , TV_PRE_DAC_MUX_CNTL , restore->pre_dac_mux_cntl); ++ ++ ert_write(t , TV_CRC_CNTL , restore->crc_cntl); ++} ++ ++/********************************************************************** ++ * ++ * ERT_IsOn ++ * ++ * Test if tv output would be enabled with a given value in TV_DAC_CNTL ++ * ++ **********************************************************************/ ++static ++Bool ++ERT_IsOn( ++ CARD32 tv_dac_cntl ++ ) ++{ ++ if (tv_dac_cntl & TV_DAC_CNTL_BGSLEEP) ++ return FALSE; ++ else if ((tv_dac_cntl & (TV_DAC_CNTL_RDACPD | TV_DAC_CNTL_GDACPD | TV_DAC_CNTL_BDACPD)) == ++ (TV_DAC_CNTL_RDACPD | TV_DAC_CNTL_GDACPD | TV_DAC_CNTL_BDACPD)) ++ return FALSE; ++ else ++ return TRUE; ++} ++ ++/********************************************************************** ++ * ++ * ERT_Restore ++ * ++ * Restore state of ERT ++ * ++ **********************************************************************/ ++static ++void ++ERT_Restore( ++ TheaterOutPtr t, ++ ScrnInfoPtr pScrn, ++ TheaterStatePtr restore ++ ) ++{ ++ RTTRACE(("Entering ERT_Restore\n")); ++ ++ ert_write(t , ++ TV_MASTER_CNTL , ++ restore->master_cntl | TV_MASTER_CNTL_TV_ON); ++ ++ ert_write(t, ++ TV_MASTER_CNTL , ++ restore->master_cntl | ++ VIP_MASTER_CNTL_TV_ASYNC_RST | ++ VIP_MASTER_CNTL_CRT_ASYNC_RST | ++ VIP_MASTER_CNTL_RESTART_PHASE_FIX | ++ VIP_MASTER_CNTL_TV_FIFO_ASYNC_RST); ++ ++ /* ++ * Temporarily turn the TV DAC off ++ */ ++ ert_write(t , ++ TV_DAC_CNTL , ++ (restore->tv_dac_cntl & ~TV_DAC_CNTL_NBLANK) | ++ TV_DAC_CNTL_BGSLEEP | ++ TV_DAC_CNTL_RDACPD | ++ TV_DAC_CNTL_GDACPD | ++ TV_DAC_CNTL_BDACPD); ++ ++ RTTRACE(("ERT_Restore: checkpoint 1\n")); ++ ERT_RestorePLL(t , pScrn , restore); ++ ++ RTTRACE(("ERT_Restore: checkpoint 2\n")); ++ ERT_RestoreHV(t , restore); ++ ++ ert_write(t, ++ TV_MASTER_CNTL , ++ restore->master_cntl | ++ VIP_MASTER_CNTL_TV_ASYNC_RST | ++ VIP_MASTER_CNTL_CRT_ASYNC_RST | ++ VIP_MASTER_CNTL_RESTART_PHASE_FIX); ++ ++ RTTRACE(("ERT_Restore: checkpoint 3\n")); ++ ERT_RestoreRestarts(t , restore); ++ ++ RTTRACE(("ERT_Restore: checkpoint 4\n")); ++ ++ /* ++ * Timing tables are only restored when tv output is active ++ */ ++ if (ERT_IsOn(restore->tv_dac_cntl)) ++ restoreTimingTables(t , restore); ++ ++ ert_write(t, ++ TV_MASTER_CNTL , ++ restore->master_cntl | ++ VIP_MASTER_CNTL_TV_ASYNC_RST | ++ VIP_MASTER_CNTL_RESTART_PHASE_FIX); ++ ++ RTTRACE(("ERT_Restore: checkpoint 5\n")); ++ ERT_RestoreOutputStd(t , restore); ++ ++ ert_write(t , ++ TV_MASTER_CNTL , ++ restore->master_cntl); ++ ++ ert_write(t , RADEON_DISP_MERGE_CNTL , restore->disp_merge_cntl); ++ ++ ert_write(t , TV_GAIN_LIMIT_SETTINGS , restore->gain_limit_settings); ++ ert_write(t , TV_LINEAR_GAIN_SETTINGS , restore->linear_gain_settings); ++ ++ ert_write(t , TV_DAC_CNTL , restore->tv_dac_cntl); ++ ++ RTTRACE(("Leaving ERT_Restore\n")); ++} ++ ++/********************************************************************** ++ * ++ * RT_Restore ++ * ++ * Restore state of RT ++ * ++ **********************************************************************/ ++ ++static ++void ++RT_Restore( ++ TheaterOutPtr t, ++ ScrnInfoPtr pScrn, ++ TheaterStatePtr restore ++ ) ++{ ++ if (t->theatre_num < 0) ++ { ++ ERT_Restore(t , pScrn , restore); ++ return; ++ } ++ ++ RTTRACE(("Entering RT_Restore\n")); ++ ++ theatre_write(t , ++ VIP_MASTER_CNTL , ++ restore->master_cntl | ++ VIP_MASTER_CNTL_TV_ASYNC_RST | ++ VIP_MASTER_CNTL_CRT_ASYNC_RST | ++ VIP_MASTER_CNTL_TV_FIFO_ASYNC_RST); ++ ++ /* ++ * Temporarily turn the TV DAC off ++ */ ++ theatre_write(t , ++ VIP_TV_DAC_CNTL , ++ (restore->tv_dac_cntl & ~VIP_TV_DAC_CNTL_NBLANK) | ++ VIP_TV_DAC_CNTL_DASLEEP | ++ VIP_TV_DAC_CNTL_BGSLEEP); ++ ++ RTTRACE(("RT_Restore: checkpoint 1\n")); ++ restoreTVO_SYNC(t , restore); ++ ++ RTTRACE(("RT_Restore: checkpoint 2\n")); ++ restorePLL(t , pScrn , restore); ++ ++ RTTRACE(("RT_Restore: checkpoint 3\n")); ++ restoreTVO_DataDelay(t , restore); ++ ++ RTTRACE(("RT_Restore: checkpoint 4\n")); ++ restoreRT_HV(t , restore); ++ ++ theatre_write(t , ++ VIP_MASTER_CNTL , ++ restore->master_cntl | ++ VIP_MASTER_CNTL_TV_ASYNC_RST | ++ VIP_MASTER_CNTL_CRT_ASYNC_RST); ++ ++ RTTRACE(("RT_Restore: checkpoint 5\n")); ++ restoreRestarts(t , restore); ++ ++ RTTRACE(("RT_Restore: checkpoint 6\n")); ++ ++ /* ++ * Timing tables are restored when tv output is active ++ */ ++ if ((restore->tv_dac_cntl & (VIP_TV_DAC_CNTL_DASLEEP | VIP_TV_DAC_CNTL_BGSLEEP)) == 0) ++ restoreTimingTables(t , restore); ++ ++ theatre_write(t , ++ VIP_MASTER_CNTL , ++ restore->master_cntl | ++ VIP_MASTER_CNTL_TV_ASYNC_RST); ++ ++ RTTRACE(("RT_Restore: checkpoint 7\n")); ++ restoreOutputStd(t , restore); ++ ++ theatre_write(t , ++ VIP_MASTER_CNTL , ++ restore->master_cntl); ++ ++ theatre_write(t , VIP_GAIN_LIMIT_SETTINGS , restore->gain_limit_settings); ++ theatre_write(t , VIP_LINEAR_GAIN_SETTINGS , restore->linear_gain_settings); ++ ++ theatre_write(t , VIP_TV_DAC_CNTL , restore->tv_dac_cntl); ++ ++ RTTRACE(("Leaving RT_Restore\n")); ++} ++ ++/********************************************************************** ++ * ++ * RT_Save ++ * ++ * Save state of RT ++ * ++ **********************************************************************/ ++ ++static ++void ++RT_Save( ++ TheaterOutPtr t, ++ ScrnInfoPtr pScrn, ++ TheaterStatePtr save ++ ) ++{ ++ unsigned i; ++ ++ RTTRACE(("Entering RT_Save\n")); ++ ++ if (t->theatre_num >= 0) ++ { ++ theatre_read(t , VIP_CLKOUT_CNTL , &save->clkout_cntl); ++ theatre_read(t , VIP_CLOCK_SEL_CNTL , &save->clock_sel_cntl); ++ theatre_read(t , VIP_CRC_CNTL , &save->crc_cntl); ++ theatre_read(t , VIP_CRT_PLL_CNTL , &save->crt_pll_cntl); ++ theatre_read(t , VIP_DFRESTART , &save->dfrestart); ++ theatre_read(t , VIP_DHRESTART , &save->dhrestart); ++ theatre_read(t , VIP_DVRESTART , &save->dvrestart); ++ theatre_read(t , VIP_FRAME_LOCK_CNTL , &save->frame_lock_cntl); ++ theatre_read(t , VIP_GAIN_LIMIT_SETTINGS , &save->gain_limit_settings); ++ theatre_read(t , VIP_HDISP , &save->hdisp); ++ theatre_read(t , VIP_HSTART , &save->hstart); ++ theatre_read(t , VIP_HTOTAL , &save->htotal); ++ theatre_read(t , VIP_HW_DEBUG , &save->hw_debug); ++ theatre_read(t , VIP_LINEAR_GAIN_SETTINGS, &save->linear_gain_settings); ++ theatre_read(t , VIP_MASTER_CNTL , &save->master_cntl); ++ theatre_read(t , VIP_MODULATOR_CNTL1 , &save->modulator_cntl1); ++ theatre_read(t , VIP_MODULATOR_CNTL2 , &save->modulator_cntl2); ++ theatre_read(t , VIP_PLL_CNTL0 , &save->pll_cntl0); ++ theatre_read(t , VIP_PLL_TEST_CNTL , &save->pll_test_cntl); ++ theatre_read(t , VIP_PRE_DAC_MUX_CNTL , &save->pre_dac_mux_cntl); ++ theatre_read(t , VIP_RGB_CNTL , &save->rgb_cntl); ++ theatre_read(t , VIP_SYNC_CNTL , &save->sync_cntl); ++ theatre_read(t , VIP_SYNC_LOCK_CNTL , &save->sync_lock_cntl); ++ theatre_read(t , VIP_SYNC_SIZE , &save->sync_size); ++ theatre_read(t , VIP_TIMING_CNTL , &save->timing_cntl); ++ theatre_read(t , VIP_TVO_DATA_DELAY_A , &save->tvo_data_delay_a); ++ theatre_read(t , VIP_TVO_DATA_DELAY_B , &save->tvo_data_delay_b); ++ theatre_read(t , VIP_TVO_SYNC_PAT_EXPECT , &save->tvo_sync_pat_expect); ++ theatre_read(t , VIP_TVO_SYNC_THRESHOLD , &save->tvo_sync_threshold); ++ theatre_read(t , VIP_TV_DAC_CNTL , &save->tv_dac_cntl); ++ theatre_read(t , VIP_TV_PLL_CNTL , &save->tv_pll_cntl); ++ theatre_read(t , VIP_TV_PLL_FINE_CNTL , &save->tv_pll_fine_cntl); ++ theatre_read(t , VIP_UPSAMP_AND_GAIN_CNTL, &save->upsamp_and_gain_cntl); ++ theatre_read(t , VIP_VDISP , &save->vdisp); ++ theatre_read(t , VIP_VFTOTAL , &save->vftotal); ++ theatre_read(t , VIP_VSCALER_CNTL1 , &save->vscaler_cntl1); ++ theatre_read(t , VIP_VSCALER_CNTL2 , &save->vscaler_cntl2); ++ theatre_read(t , VIP_VTOTAL , &save->vtotal); ++ theatre_read(t , VIP_Y_FALL_CNTL , &save->y_fall_cntl); ++ theatre_read(t , VIP_Y_RISE_CNTL , &save->y_rise_cntl); ++ theatre_read(t , VIP_Y_SAW_TOOTH_CNTL , &save->y_saw_tooth_cntl); ++ ++ for (i = 0; i < N_UPSAMPLER_COEFFS; i++) ++ theatre_read(t , VIP_UPSAMP_COEFF0_0 + i * 4 , &save->upsamp_coeffs[ i ]); ++ ++ /* ++ * Read H/V code timing tables (current tables only are saved) ++ * This step is skipped when tv output is disabled in current RT state ++ * (see RT_Restore) ++ */ ++ if ((save->tv_dac_cntl & (VIP_TV_DAC_CNTL_DASLEEP | VIP_TV_DAC_CNTL_BGSLEEP)) == 0) ++ saveTimingTables(t , save); ++ } ++ else ++ { ++ /* ++ * ERT ++ */ ++ ert_read(t , TV_CRC_CNTL , &save->crc_cntl); ++ ert_read(t , TV_FRESTART , &save->dfrestart); ++ ert_read(t , TV_HRESTART , &save->dhrestart); ++ ert_read(t , TV_VRESTART , &save->dvrestart); ++ ert_read(t , TV_GAIN_LIMIT_SETTINGS , &save->gain_limit_settings); ++ ert_read(t , TV_HDISP , &save->hdisp); ++ ert_read(t , TV_HSTART , &save->hstart); ++ ert_read(t , TV_HTOTAL , &save->htotal); ++ ert_read(t , TV_LINEAR_GAIN_SETTINGS , &save->linear_gain_settings); ++ ert_read(t , TV_MASTER_CNTL , &save->master_cntl); ++ ert_read(t , TV_RGB_CNTL , &save->rgb_cntl); ++ ert_read(t , TV_MODULATOR_CNTL1 , &save->modulator_cntl1); ++ ert_read(t , TV_MODULATOR_CNTL2 , &save->modulator_cntl2); ++ ert_read(t , TV_PRE_DAC_MUX_CNTL , &save->pre_dac_mux_cntl); ++ ert_read(t , TV_SYNC_CNTL , &save->sync_cntl); ++ ert_read(t , TV_TIMING_CNTL , &save->timing_cntl); ++ ert_read(t , TV_DAC_CNTL , &save->tv_dac_cntl); ++ ert_read(t , TV_UPSAMP_AND_GAIN_CNTL , &save->upsamp_and_gain_cntl); ++ ert_read(t , TV_VDISP , &save->vdisp); ++ ert_read(t , TV_FTOTAL , &save->vftotal); ++ ert_read(t , TV_VSCALER_CNTL1 , &save->vscaler_cntl1); ++ ert_read(t , TV_VSCALER_CNTL2 , &save->vscaler_cntl2); ++ ert_read(t , TV_VTOTAL , &save->vtotal); ++ ert_read(t , TV_Y_FALL_CNTL , &save->y_fall_cntl); ++ ert_read(t , TV_Y_RISE_CNTL , &save->y_rise_cntl); ++ ert_read(t , TV_Y_SAWTOOTH_CNTL , &save->y_saw_tooth_cntl); ++ ++ ert_read(t , RADEON_DISP_MERGE_CNTL , &save->disp_merge_cntl); ++ ++ save->tv_pll_cntl = INPLL(pScrn , TV_PLL_CNTL); ++ ++ /* ++ * Read H/V code timing tables (current tables only are saved) ++ * This step is skipped when tv output is disabled in current RT state ++ * (see RT_Restore) ++ */ ++ if (ERT_IsOn(save->tv_dac_cntl)) ++ saveTimingTables(t , save); ++ } ++ ++ ++ RTTRACE(("RT_Save returning\n")); ++} ++ ++/********************************************************************** ++ * ++ * computeRestarts ++ * ++ * Compute F,V,H restarts from default restart position and ++ * hPos & vPos ++ * Return TRUE when code timing table was changed ++ * ++ **********************************************************************/ ++ ++static ++Bool ++computeRestarts( ++ const ModeConstants *constPtr, ++ TVStd tvStd, ++ int hPos, ++ int vPos, ++ int hSize, ++ TheaterStatePtr save ++ ) ++{ ++ int restart; ++ const TVConstants *pTvStd = &tvStdConsts[ tvStd ]; ++ unsigned hTotal; ++ unsigned vTotal; ++ unsigned fTotal; ++ int vOffset; ++ int hOffset; ++ TimingTableEl p1; ++ TimingTableEl p2; ++ Bool hChanged; ++ CARD16 hInc; ++ ++ hTotal = constPtr->horTotal; ++ vTotal = constPtr->verTotal; ++ fTotal = pTvStd->vftotal + 1; ++ ++ /* ++ * Adjust positions 1&2 in hor. code timing table ++ */ ++ hOffset = hPos * H_POS_UNIT; ++ ++ p1 = constPtr->horTimingTable[ H_TABLE_POS1 ]; ++ p2 = constPtr->horTimingTable[ H_TABLE_POS2 ]; ++ ++ p1 = (TimingTableEl)((int)p1 + hOffset); ++ p2 = (TimingTableEl)((int)p2 - hOffset); ++ ++ hChanged = (p1 != save->h_code_timing[ H_TABLE_POS1 ] || ++ p2 != save->h_code_timing[ H_TABLE_POS2 ]); ++ ++ save->h_code_timing[ H_TABLE_POS1 ] = p1; ++ save->h_code_timing[ H_TABLE_POS2 ] = p2; ++ ++ /* ++ * Convert hOffset from n. of TV clock periods to n. of CRTC clock periods (CRTC pixels) ++ */ ++ hOffset = (hOffset * (int)(constPtr->pixToTV)) / 1000; ++ ++ /* ++ * Adjust restart ++ */ ++ restart = constPtr->defRestart; ++ ++ /* ++ * Convert vPos TV lines to n. of CRTC pixels ++ * Be verrrrry careful when mixing signed & unsigned values in C.. ++ */ ++ vOffset = ((int)(vTotal * hTotal) * 2 * vPos) / (int)(pTvStd->linesFrame); ++ ++ restart -= vOffset + hOffset; ++ ++ RTTRACE(("computeRestarts: def = %u, h = %d , v = %d , p1=%04x , p2=%04x , restart = %d\n" , constPtr->defRestart , hPos , vPos , p1 , p2 , restart)); ++ ++ save->dhrestart = restart % hTotal; ++ restart /= hTotal; ++ save->dvrestart = restart % vTotal; ++ restart /= vTotal; ++ save->dfrestart = restart % fTotal; ++ ++ RTTRACE(("computeRestarts: F/H/V=%u,%u,%u\n" , save->dfrestart , save->dvrestart , save->dhrestart)); ++ ++ /* ++ * Compute H_INC from hSize ++ */ ++ hInc = (CARD16)((int)(constPtr->horResolution * 4096 * pTvStd->tvClockT) / ++ (hSize * (int)(pTvStd->hSizeUnit) + (int)(pTvStd->zeroHSize))); ++ save->timing_cntl = (save->timing_cntl & ~VIP_TIMING_CNTL_H_INC) | ++ ((CARD32)hInc << VIP_TIMING_CNTL_H_INC_SHIFT); ++ ++ RTTRACE(("computeRestarts: hSize=%d,hInc=%u\n" , hSize , hInc)); ++ ++ return hChanged; ++} ++ ++/********************************************************************** ++ * ++ * RT_Init ++ * ++ * Define RT state for a given standard/resolution combination ++ * ++ **********************************************************************/ ++ ++static ++void ++RT_Init( ++ const ModeConstants *constPtr, ++ TVStd tvStd, ++ Bool isErt, ++ Bool enable, ++ int hPos, ++ int vPos, ++ int hSize, ++ TheaterStatePtr save ++ ) ++{ ++ unsigned i; ++ CARD32 tmp; ++ const TVConstants *pTvStd = &tvStdConsts[ tvStd ]; ++ ++ save->clkout_cntl = VIP_CLKOUT_CNTL_INI; ++ ++ save->clock_sel_cntl = VIP_CLOCK_SEL_CNTL_INI | ++ (constPtr->crtcPLL_byteClkDiv << VIP_CLOCK_SEL_CNTL_BYTCLK_SHIFT) | ++ (constPtr->byteClkDelay << VIP_CLOCK_SEL_CNTL_BYTCLKD_SHIFT); ++ ++ save->crc_cntl = 0; ++ ++ tmp = ((CARD32)constPtr->crtcPLL_M << VIP_CRT_PLL_CNTL_M_SHIFT) | ++ (((CARD32)constPtr->crtcPLL_N & VIP_CRT_PLL_CNTL_NLO) << VIP_CRT_PLL_CNTL_NLO_SHIFT) | ++ (((CARD32)constPtr->crtcPLL_N & VIP_CRT_PLL_CNTL_NHI) << VIP_CRT_PLL_CNTL_NHI_SHIFT); ++ if (constPtr->crtcPLL_divBy2) ++ tmp |= VIP_CRT_PLL_CNTL_CLKBY2; ++ save->crt_pll_cntl = tmp; ++ ++ save->frame_lock_cntl = VIP_FRAME_LOCK_CNTL_INI; ++ ++ save->gain_limit_settings = VIP_GAIN_LIMIT_SETTINGS_INI; ++ ++ save->hdisp = constPtr->horResolution - 1; ++ save->hstart = constPtr->horStart; ++ save->htotal = constPtr->horTotal - 1; ++ ++ save->hw_debug = VIP_HW_DEBUG_INI; ++ ++ save->linear_gain_settings = VIP_LINEAR_GAIN_SETTINGS_INI; ++ ++ /* ++ * TEST TEST TEST TEST TEST TEST TEST TEST TEST ++ */ ++ if (isErt) ++ save->master_cntl = enable ? TV_MASTER_CNTL_ON_INI : TV_MASTER_CNTL_OFF_INI; ++ else ++ save->master_cntl = enable ? VIP_MASTER_CNTL_ON_INI : VIP_MASTER_CNTL_OFF_INI; ++ ++ save->modulator_cntl1 = pTvStd->modulatorCntl1; ++ save->modulator_cntl2 = pTvStd->modulatorCntl2; ++ ++ save->pll_cntl0 = VIP_PLL_CNTL0_INI; ++ save->pll_test_cntl = VIP_PLL_TEST_CNTL_INI; ++ ++ save->pre_dac_mux_cntl = VIP_PRE_DAC_MUX_CNTL_INI; ++ ++ if (isErt) ++ save->rgb_cntl = TV_RGB_CNTL_INI; ++ else ++ /* ++ * Instruct RT to accept either 565 or 888 packed pixels ++ */ ++ save->rgb_cntl = constPtr->use888RGB ? VIP_RGB_CNTL_RGB_IS_888_PACK : 0; ++ ++ save->sync_cntl = VIP_SYNC_CNTL_INI; ++ ++ save->sync_lock_cntl = VIP_SYNC_LOCK_CNTL_INI; ++ ++ save->sync_size = constPtr->horResolution + 8; ++ ++ tmp = (constPtr->vScalerCntl1 >> VIP_VSCALER_CNTL1_UV_INC_SHIFT) & VIP_VSCALER_CNTL1_UV_INC; ++ tmp = ((16384 * 256 * 10) / tmp + 5) / 10; ++ tmp = (tmp << VIP_TIMING_CNTL_UV_OUT_POST_SCALE_SHIFT) | ++ VIP_TIMING_CNTL_INI; ++ save->timing_cntl = tmp; ++ ++ save->tvo_data_delay_a = constPtr->tvoDataDelayA; ++ save->tvo_data_delay_b = constPtr->tvoDataDelayB; ++ ++ save->tvo_sync_pat_expect = VIP_TVO_SYNC_PAT_EXPECT_INI; ++ ++ if (constPtr->use888RGB) ++ save->tvo_sync_threshold = constPtr->horResolution + constPtr->horResolution / 2; ++ else ++ save->tvo_sync_threshold = constPtr->horResolution; ++ ++ if (isErt) ++ { ++ if (enable) ++ save->tv_dac_cntl = pTvStd->ert_tvDAC_Cntl; ++ else ++ save->tv_dac_cntl = (pTvStd->ert_tvDAC_Cntl & ~(TV_DAC_CNTL_NBLANK | TV_DAC_CNTL_NHOLD)) | ++ (TV_DAC_CNTL_BGSLEEP | TV_DAC_CNTL_RDACPD | TV_DAC_CNTL_GDACPD | TV_DAC_CNTL_BDACPD); ++ } ++ else ++ { ++ if (enable) ++ save->tv_dac_cntl = pTvStd->vip_tvDAC_Cntl; ++ else ++ save->tv_dac_cntl = (pTvStd->vip_tvDAC_Cntl & ~VIP_TV_DAC_CNTL_NBLANK) | ++ (VIP_TV_DAC_CNTL_DASLEEP | VIP_TV_DAC_CNTL_BGSLEEP); ++ } ++ ++ tmp = ((CARD32)(pTvStd->tvPLL_M) << VIP_TV_PLL_CNTL_M_SHIFT) | ++ (((CARD32)(pTvStd->tvPLL_N) & VIP_TV_PLL_CNTL_NLO) << VIP_TV_PLL_CNTL_NLO_SHIFT) | ++ (((CARD32)(pTvStd->tvPLL_N) & VIP_TV_PLL_CNTL_NHI) << VIP_TV_PLL_CNTL_NHI_SHIFT) | ++ ((CARD32)(pTvStd->tvPLL_postDiv) << VIP_TV_PLL_CNTL_P_SHIFT); ++ save->tv_pll_cntl = tmp; ++ save->tv_pll_fine_cntl = TV_PLL_FINE_INI; ++ ++ save->upsamp_and_gain_cntl = VIP_UPSAMP_AND_GAIN_CNTL_INI; ++ ++ memcpy(&save->upsamp_coeffs[ 0 ] , upsamplerCoeffs , sizeof(save->upsamp_coeffs)); ++ ++ save->uv_adr = VIP_UV_ADR_INI; ++ ++ save->vdisp = constPtr->verResolution - 1; ++ save->vftotal = pTvStd->vftotal; ++ ++ save->vscaler_cntl1 = constPtr->vScalerCntl1; ++ if (isErt) ++ save->vscaler_cntl1 |= TV_VSCALER_CNTL1_RESTART_FIELD; ++ save->vscaler_cntl2 = VIP_VSCALER_CNTL2_INI; ++ ++ save->vtotal = constPtr->verTotal - 1; ++ ++ save->y_fall_cntl = VIP_Y_FALL_CNTL_INI; ++ save->y_rise_cntl = constPtr->yRiseCntl; ++ save->y_saw_tooth_cntl = constPtr->ySawtoothCntl; ++ ++ save->disp_merge_cntl = RADEON_DISP_MERGE_CNTL_INI; ++ ++ for (i = 0; i < MAX_H_CODE_TIMING_LEN; i++) ++ { ++ if ((save->h_code_timing[ i ] = constPtr->horTimingTable[ i ]) == 0) ++ break; ++ } ++ ++ for (i = 0; i < MAX_V_CODE_TIMING_LEN; i++) ++ { ++ if ((save->v_code_timing[ i ] = constPtr->verTimingTable[ i ]) == 0) ++ break; ++ } ++ ++ /* ++ * This must be called AFTER loading timing tables as they are modified by this function ++ */ ++ computeRestarts(constPtr , tvStd , hPos , vPos , hSize , save); ++} ++ ++/********************************************************************** ++ * ++ * RT_InitCRTC ++ * ++ **********************************************************************/ ++static ++void ++RT_InitCRTC( ++ const ModeConstants *constPtr, ++ Bool isErt, ++ RADEONSavePtr save ++ ) ++{ ++ save->crtc_h_total_disp = (((constPtr->horResolution / 8) - 1) << RADEON_CRTC_H_DISP_SHIFT) | ++ (((constPtr->horTotal / 8) - 1) << RADEON_CRTC_H_TOTAL_SHIFT); ++ ++ save->crtc_h_sync_strt_wid = (save->crtc_h_sync_strt_wid & ~(RADEON_CRTC_H_SYNC_STRT_PIX | RADEON_CRTC_H_SYNC_STRT_CHAR)) | ++ (((constPtr->horSyncStart / 8) - 1) << RADEON_CRTC_H_SYNC_STRT_CHAR_SHIFT) | ++ (constPtr->horSyncStart & 7); ++ ++ save->crtc_v_total_disp = ((constPtr->verResolution - 1) << RADEON_CRTC_V_DISP_SHIFT) | ++ ((constPtr->verTotal - 1) << RADEON_CRTC_V_TOTAL_SHIFT); ++ ++ save->crtc_v_sync_strt_wid = (save->crtc_v_sync_strt_wid & ~RADEON_CRTC_V_SYNC_STRT) | ++ ((constPtr->verSyncStart - 1) << RADEON_CRTC_V_SYNC_STRT_SHIFT); ++ ++ save->htotal_cntl = ((constPtr->horTotal & 7) << RADEON_HTOTAL_CNTL_HTOT_PIX_SLIP_SHIFT) | RADEON_HTOTAL_CNTL_HTOT_CNTL_VGA_EN; ++ ++ if (isErt) ++ { ++ unsigned postDiv; ++ ++ save->ppll_ref_div = constPtr->crtcPLL_M; ++ ++ switch (constPtr->crtcPLL_postDiv) ++ { ++ case 1: ++ postDiv = 0; ++ break; ++ ++ case 2: ++ postDiv = 1; ++ break; ++ ++ case 3: ++ postDiv = 4; ++ break; ++ ++ case 4: ++ postDiv = 2; ++ break; ++ ++ case 6: ++ postDiv = 6; ++ break; ++ ++ case 8: ++ postDiv = 3; ++ break; ++ ++ case 12: ++ postDiv = 7; ++ break; ++ ++ case 16: ++ default: ++ postDiv = 5; ++ break; ++ } ++ ++ save->ppll_div_3 = (constPtr->crtcPLL_N << RADEON_PPLL_FB3_DIV_SHIFT) | ++ (postDiv << RADEON_PPLL_POST3_DIV_SHIFT); ++ ++ save->vclk_ecp_cntl &= ~RADEON_VCLK_SRC_SEL_MASK; ++ save->vclk_ecp_cntl |= RADEON_VCLK_SRC_SEL_PPLLCLK; ++ } ++ else ++ { ++ save->ppll_div_3 &= ~RADEON_PPLL_POST3_DIV_MASK; ++ save->ppll_div_3 |= (constPtr->use888RGB ? RADEON_PPLL_POST3_DIV_BY_3 : RADEON_PPLL_POST3_DIV_BY_2); ++ ++ /* ++ * Set Radeon to be clocked from RT ++ */ ++ save->vclk_ecp_cntl &= ~RADEON_VCLK_SRC_SEL_MASK; ++ save->vclk_ecp_cntl |= RADEON_VCLK_SRC_SEL_BYTECLK; ++ ++ save->vclk_ecp_cntl &= ~RADEON_VCLK_ECP_CNTL_BYTECLK_POSTDIV; ++ save->vclk_ecp_cntl |= RADEON_VCLK_ECP_CNTL_BYTECLK_NODIV; ++ ++ /* ++ * Instruct Radeon to output either 565 or 888 packed pixels ++ */ ++ save->disp_output_cntl &= ++ ~(RADEON_DISP_TV_SOURCE | ++ RADEON_DISP_TV_MODE_MASK | ++ RADEON_DISP_TV_CBB_CRR_DITH_EN | ++ RADEON_DISP_TV_BIT_WIDTH | ++ RADEON_DISP_TV_SYNC_MODE_MASK | ++ RADEON_DISP_TV_SYNC_COLOR_MASK); ++ save->disp_output_cntl |= (constPtr->use888RGB ? ++ RADEON_DISP_TV_YG_DITH_EN | RADEON_DISP_TV_MODE_888 : ++ RADEON_DISP_TV_YG_DITH_EN | RADEON_DISP_TV_MODE_565); ++ ++ save->crtc_ext_cntl |= RADEON_CRTC_VGA_XOVERSCAN; ++ save->dac_cntl |= RADEON_DAC_CNTL_DAC_TVO_EN; ++ } ++} ++ ++/********************************************************************** ++ * ++ * ERTAutoDetect ++ * ++ **********************************************************************/ ++static ++Bool ++ERTAutoDetect( ++ ScrnInfoPtr pScrn ++ ) ++{ ++ RADEONInfoPtr info = RADEONPTR(pScrn); ++ unsigned char *RADEONMMIO = info->MMIO; ++ CARD32 saveReg = INREG(TV_LINEAR_GAIN_SETTINGS); ++ Bool detected = FALSE; ++ ++ /* ++ * Ultra-dumb way of detecting an ERT: check that a register is present ++ * @ TV_LINEAR_GAIN_SETTINGS (this is probably one of the most harmless ++ * register to touch) ++ */ ++ OUTREG(TV_LINEAR_GAIN_SETTINGS , 0x15500aa); ++ ++ if (INREG(TV_LINEAR_GAIN_SETTINGS) == 0x15500aa) ++ { ++ OUTREG(TV_LINEAR_GAIN_SETTINGS , 0x0aa0155); ++ if (INREG(TV_LINEAR_GAIN_SETTINGS) == 0x0aa0155) ++ detected = TRUE; ++ } ++ ++ OUTREG(TV_LINEAR_GAIN_SETTINGS , saveReg); ++ ++ return detected; ++} ++ ++/********************************************************************** ++ * ++ * detectTheaterOut ++ * ++ * Detect presence of a RT chip ++ * ++ **********************************************************************/ ++ ++TheaterOutPtr ++detectTheaterOut( ++ ScrnInfoPtr pScrn, ++ Bool forceVIP, ++ GENERIC_BUS_Ptr b ++ ) ++{ ++ RADEONInfoPtr info = RADEONPTR(pScrn); ++ //GENERIC_BUS_Ptr b = info->VIP; ++ TheaterOutPtr t; ++ int i; ++ CARD32 val; ++ char s[20]; ++ ++ b->ioctl(b , GB_IOCTL_GET_TYPE , 20 , s); ++ ++ if (strcmp(VIP_TYPE , s)) ++ { ++ xf86DrvMsg(b->scrnIndex , X_ERROR , "detectTheaterOut must be called with bus of type \"%s\", not \"%s\"\n", ++ VIP_TYPE , s); ++ return NULL; ++ } ++ ++ t = xcalloc(1 , sizeof(TheaterOutRec)); ++ t->theatre_num = -1; ++ t->MMIO = info->MMIO; ++ t->VIP = b; ++ ++ if (!forceVIP && ERTAutoDetect(pScrn)) ++ xf86DrvMsg(b->scrnIndex , X_INFO , "Embedded Rage Theater detected\n"); ++ else ++ { ++ // ++ // Is this really needed? ++ // ++ b->read(b , VIP_VIP_VENDOR_DEVICE_ID , 4 , (CARD8*)&val); ++ ++ for (i = 0; i < 4; i++) ++ { ++ if(b->read(b , ((i & 0x03) << 14) | VIP_VIP_VENDOR_DEVICE_ID , 4 , (CARD8*)&val)) ++ { ++ if (val) ++ xf86DrvMsg(b->scrnIndex , X_INFO , "Device %d on VIP bus ids as 0x%08x\n" , i , (int)val); ++ if (t->theatre_num >= 0) ++ continue; // already found one instance ++ if (val == RT100_ATI_ID) ++ t->theatre_num = i; ++ } ++ else ++ { ++ xf86DrvMsg(b->scrnIndex , X_INFO , "No response from device %d on VIP bus\n" , i); ++ } ++ } ++ if (t->theatre_num >= 0) ++ { ++ xf86DrvMsg(b->scrnIndex , X_INFO , ++ "Detected Rage Theatre as device %d on VIP bus\n" , t->theatre_num); ++ theatre_read(t , VIP_VIP_REVISION_ID , &val); ++ xf86DrvMsg(b->scrnIndex , X_INFO , "Detected Rage Theatre revision %8.8X\n" , (int)val); ++ } ++ else ++ { ++ xfree(t); ++ return NULL; ++ } ++ } ++ ++ return t; ++} ++ ++/********************************************************************** ++ * ++ * initTheaterOut ++ * ++ * Initialization of module ++ * ++ * 's' should be the value of TV_Output option (i.e. the initial TV ++ * standard) ++ * ++ **********************************************************************/ ++ ++void ++initTheaterOut( ++ TheaterOutPtr t, ++ const char *s ++ ) ++{ ++ RTTRACE(("Entering initTheaterOut, s = %s\n" , s)); ++ /* ++ * TEST TEST TEST TEST TEST TEST TEST TEST TEST ++ */ ++ if (xf86NameCmp(s , "NTSC") == 0) ++ t->standard = TV_STD_NTSC; ++ else if (xf86NameCmp(s , "PAL") == 0) ++ t->standard = TV_STD_PAL; ++ else if (xf86NameCmp(s , "PAL-M") == 0) ++ t->standard = TV_STD_PAL_M; ++ else if (xf86NameCmp(s , "PAL-60") == 0) ++ t->standard = TV_STD_PAL_60; ++ else if (xf86NameCmp(s , "NTSC-J") == 0) ++ t->standard = TV_STD_NTSC_J; ++ else if (xf86NameCmp(s , "PAL-CN") == 0) ++ t->standard = TV_STD_PAL_CN; ++ else if (xf86NameCmp(s , "PAL-N") == 0) ++ t->standard = TV_STD_PAL_N; ++ else ++ { ++ xf86DrvMsg(0 , X_WARNING , "Unrecognized TV standard in TVOutput option (%s), TV output is disabled\n" , s); ++ t->standard = TV_STD_KEEP_OFF; ++ } ++ t->compatibleMode = FALSE; ++ ++ t->hPos = 0; ++ t->vPos = 0; ++ t->hSize = 0; ++} ++ ++/********************************************************************** ++ * ++ * theaterOutSave ++ * ++ * Save current state of RT as initial state (the one that is restored ++ * when switching back to text mode) ++ * ++ **********************************************************************/ ++ ++void ++theaterOutSave( ++ TheaterOutPtr t, ++ ScrnInfoPtr pScrn ++ ) ++{ ++ RTTRACE(("Entering theaterOutSave\n")); ++ RT_Save(t , pScrn , &t->savedState); ++} ++ ++/********************************************************************** ++ * ++ * theaterOutRestore ++ * ++ * Restore state of RT from initial state (the one saved through ++ * theaterOutSave) ++ * ++ **********************************************************************/ ++ ++void ++theaterOutRestore( ++ TheaterOutPtr t, ++ ScrnInfoPtr pScrn ++ ) ++{ ++ RTTRACE(("Entering theaterOutRestore\n")); ++ RT_Restore(t , pScrn , &t->savedState); ++} ++ ++/********************************************************************** ++ * ++ * theaterOutInit ++ * ++ * Define state for cloning current CRTC mode on TV output ++ * It works in this way: ++ * 1. It checks if resolution in "mode" parameter is one of those ++ * allowing tv output ++ * 2. If resolution is OK, define RT state according to resolution and ++ * and current settings (tv standard etc.) ++ * If resolution is not ok, define RT state to turn tv output off ++ * 3. If resolution is OK, modify Radeon state to make it correct for ++ * tv output (this is needed,e.g., to set vertical frequency to 50/60 Hz) ++ * ++ * Return value is TRUE when mode is OK for cloning on tv and tv output ++ * is enabled, FALSE otherwise ++ * ++ **********************************************************************/ ++ ++Bool ++theaterOutInit( ++ TheaterOutPtr t, ++ DisplayModePtr mode, ++ RADEONSavePtr save ++ ) ++{ ++ const ModeConstants *p; ++ Bool isErt = t->theatre_num < 0; ++ ++ RTTRACE(("Entering theaterOutInit: std=%u h=%u v=%u\n" , t->standard , mode->HDisplay , mode->VDisplay)); ++ ++ t->compatibleMode = FALSE; ++ ++ if (t->standard != TV_STD_KEEP_OFF) ++ { ++ /* ++ * Search mode among available ones ++ */ ++ for (p = availableModes; p < (availableModes + N_AVAILABLE_MODES); p++) ++ { ++ if (p->horResolution == mode->HDisplay && ++ p->verResolution == mode->VDisplay && ++ p->standard == t->standard) ++ { ++ /* ++ * Match found ++ */ ++ t->compatibleMode = TRUE; ++ t->currentMode = p; ++ ++ RT_Init(p , t->standard , isErt , TRUE , t->hPos , t->vPos , t->hSize , &t->modeState); ++ RT_InitCRTC(p , isErt , save); ++ ++ return TRUE; ++ } ++ } ++ } ++ ++ /* ++ * Match not found or tv output disabled ++ * First parameter is dummy when setting for no tv output, so any mode ++ * will do (here first mode in table is passed). ++ */ ++ RT_Init(availableModes , TV_STD_NTSC , isErt , FALSE , t->hPos , t->vPos , t->hSize , &t->modeState); ++ return FALSE; ++} ++ ++/********************************************************************** ++ * ++ * theaterOutRestoreMode ++ * ++ * Set state of RT to the one defined by last call to theaterOutInit ++ * ++ **********************************************************************/ ++ ++void ++theaterOutRestoreMode( ++ TheaterOutPtr t, ++ ScrnInfoPtr pScrn ++ ) ++{ ++ RTTRACE(("Entering theaterOutRestoreMode\n")); ++ RT_Restore(t , pScrn , &t->modeState); ++} ++ ++/********************************************************************** ++ * ++ * theaterOutSetStandard ++ * ++ * Set TV output standard ++ * ++ * Return value is TRUE when video mode should be set again ++ * ++ **********************************************************************/ ++Bool ++theaterOutSetStandard( ++ TheaterOutPtr t, ++ TVStd std ++ ) ++{ ++ TVStd oldStd = t->standard; ++ ++ RTTRACE(("Entering theaterOutSetStandard\n")); ++ ++ if (std >= TV_STD_N_STANDARDS) ++ std = TV_STD_KEEP_OFF; ++ ++ t->standard = std; ++ ++ if (t->compatibleMode) ++ return oldStd != std; ++ else ++ return std != TV_STD_KEEP_OFF && oldStd == TV_STD_KEEP_OFF; ++} ++ ++/********************************************************************** ++ * ++ * theaterOutGetStandard ++ * ++ * Get current TV output standard ++ * ++ **********************************************************************/ ++TVStd ++theaterOutGetStandard( ++ TheaterOutPtr t ++ ) ++{ ++ return t->standard; ++} ++ ++/********************************************************************** ++ * ++ * theaterOutGetCompatMode ++ * ++ * Return whether the current mode is compatible with tv output or not ++ * ++ **********************************************************************/ ++Bool ++theaterOutGetCompatMode( ++ TheaterOutPtr t ++ ) ++{ ++ return t->compatibleMode; ++} ++ ++/********************************************************************** ++ * ++ * updateHVPosition ++ * ++ * Set hw registers for a new h/v position & h size ++ * ++ **********************************************************************/ ++static ++void ++updateHVPosition( ++ TheaterOutPtr t ++ ) ++{ ++ Bool reloadTable; ++ ++ reloadTable = computeRestarts(t->currentMode , t->standard , t->hPos , t->vPos , t->hSize , &t->modeState); ++ ++ if (t->theatre_num < 0) ++ { ++ ERT_RestoreRestarts(t , &t->modeState); ++ ert_write(t , TV_TIMING_CNTL , t->modeState.timing_cntl); ++ ++ if (reloadTable) ++ { ++ ert_write(t, ++ TV_MASTER_CNTL , ++ t->modeState.master_cntl | ++ VIP_MASTER_CNTL_TV_ASYNC_RST | ++ VIP_MASTER_CNTL_CRT_ASYNC_RST | ++ VIP_MASTER_CNTL_RESTART_PHASE_FIX); ++ ++ restoreTimingTables(t , &t->modeState); ++ ++ ert_write(t , ++ TV_MASTER_CNTL , ++ t->modeState.master_cntl); ++ } ++ } ++ else ++ { ++ restoreRestarts(t , &t->modeState); ++ theatre_write(t , VIP_TIMING_CNTL , t->modeState.timing_cntl); ++ ++ if (reloadTable) ++ { ++ theatre_write(t , ++ VIP_MASTER_CNTL , ++ t->modeState.master_cntl | ++ VIP_MASTER_CNTL_TV_ASYNC_RST | ++ VIP_MASTER_CNTL_CRT_ASYNC_RST); ++ ++ restoreTimingTables(t , &t->modeState); ++ ++ theatre_write(t , ++ VIP_MASTER_CNTL , ++ t->modeState.master_cntl); ++ } ++ } ++} ++ ++/********************************************************************** ++ * ++ * theaterOutSetAttr ++ * ++ * Set an attribute ++ * ++ **********************************************************************/ ++void ++theaterOutSetAttr( ++ TheaterOutPtr t, ++ TheaterOutAttr attr, ++ int value ++ ) ++{ ++ switch (attr) ++ { ++ case THEATER_OUT_HPOS: ++ if (value < -MAX_H_POSITION) ++ t->hPos = -MAX_H_POSITION; ++ else if (value > MAX_H_POSITION) ++ t->hPos = MAX_H_POSITION; ++ else ++ t->hPos = value; ++ break; ++ ++ case THEATER_OUT_VPOS: ++ if (value < -MAX_V_POSITION) ++ t->vPos = -MAX_V_POSITION; ++ else if (value > MAX_V_POSITION) ++ t->vPos = MAX_V_POSITION; ++ else ++ t->vPos = value; ++ break; ++ ++ case THEATER_OUT_HSIZE: ++ if (value < -MAX_H_SIZE) ++ t->hSize = -MAX_H_SIZE; ++ else if (value > MAX_H_SIZE) ++ t->hSize = MAX_H_SIZE; ++ else ++ t->hSize = value; ++ break; ++ ++ default: ++ return; ++ } ++ ++ if (t->compatibleMode) ++ updateHVPosition(t); ++} ++ ++/********************************************************************** ++ * ++ * theaterOutGetAttr ++ * ++ * Get an attribute ++ * ++ **********************************************************************/ ++int ++theaterOutGetAttr( ++ TheaterOutPtr t, ++ TheaterOutAttr attr ++ ) ++{ ++ switch (attr) ++ { ++ case THEATER_OUT_HPOS: ++ return t->hPos; ++ ++ case THEATER_OUT_VPOS: ++ return t->vPos; ++ ++ case THEATER_OUT_HSIZE: ++ return t->hSize; ++ ++ default: ++ return 0; ++ } ++} ++ ++/********************************************************************** ++ * ++ * theaterOutGetAttrLimits ++ * ++ * Get limits for an attribute value ++ * ++ **********************************************************************/ ++void ++theaterOutGetAttrLimits( ++ TheaterOutPtr t, ++ TheaterOutAttr attr, ++ int *maxValue, ++ int *minValue ++ ) ++{ ++ switch (attr) ++ { ++ case THEATER_OUT_HPOS: ++ *maxValue = MAX_H_POSITION; ++ *minValue = -MAX_H_POSITION; ++ break; ++ ++ case THEATER_OUT_VPOS: ++ *maxValue = MAX_V_POSITION; ++ *minValue = -MAX_V_POSITION; ++ break; ++ ++ case THEATER_OUT_HSIZE: ++ *maxValue = MAX_H_SIZE; ++ *minValue = -MAX_H_SIZE; ++ break; ++ ++ default: ++ break; ++ } ++} +diff -urN -X /home/zhangle/exec/dontdiff xserver-xorg-video-ati-6.6.3.orig/src/theater_out.h xserver-xorg-video-ati-6.6.3/src/theater_out.h +--- xserver-xorg-video-ati-6.6.3.orig/src/theater_out.h 1970-01-01 08:00:00.000000000 +0800 ++++ xserver-xorg-video-ati-6.6.3/src/theater_out.h 2007-01-08 12:48:05.000000000 +0800 +@@ -0,0 +1,370 @@ ++/********************************************************************* ++ * ++ * $Id: theater_out.h,v 1.1.2.2 2004/01/27 22:50:35 fulivi Exp $ ++ * ++ * Interface file for theater_out module ++ * ++ * Copyright (C) 2003 Federico Ulivi ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * AUTHORS: F.Ulivi ++ * NOTES: ++ * $Log: theater_out.h,v $ ++ * Revision 1.1.2.2 2004/01/27 22:50:35 fulivi ++ * Support for positioning/sizing of image added ++ * ++ * Revision 1.1.2.9 2004/01/18 23:01:12 fede ++ * Functions for get/setting h/v pos/size replaced by ++ * theaterOutSetAttr/theaterOutGetAttr/theaterOutGetAttrLimits ++ * Circular inclusion with radeon.h fixed ++ * ++ * Revision 1.1.2.8 2004/01/11 21:43:32 fede ++ * Fixed problem with definition of TVStd ++ * ++ * Revision 1.1.2.7 2004/01/05 00:09:59 fede ++ * Functions for setting/getting H/V position added ++ * Functions for setting/getting on/off attribute removed ++ * ++ * Revision 1.1.2.1 2003/11/26 19:50:10 fulivi ++ * Support for ERT added ++ * ++ * Revision 1.1.2.6 2003/11/25 20:44:00 fede ++ * TV_STD_KEEP_OFF added ++ * ++ * Revision 1.1.2.5 2003/10/14 18:41:32 fede ++ * forceERT changed to forceVIP ++ * ++ * Revision 1.1.2.4 2003/10/11 12:30:30 fede ++ * Support for ERT added ++ * ++ * Revision 1.1 2003/09/28 21:42:37 fulivi ++ * Theater_out module added ++ * ++ * Revision 1.1.2.3 2003/09/28 15:26:09 fede ++ * Minor aesthetic changes ++ * ++ * Revision 1.1.2.1 2003/08/31 13:36:35 fede ++ * *** empty log message *** ++ * ++ * ++ *********************************************************************/ ++ ++#ifndef _THEATER_OUT_H ++#define _THEATER_OUT_H ++ ++/********************************************************************** ++ * ++ * TheaterOutPtr ++ * ++ * Pointer to TheaterOut struct. Actual definition is in theater_out.c ++ * ++ **********************************************************************/ ++typedef struct TheaterOut *TheaterOutPtr; ++ ++/********************************************************************** ++ * ++ * TVStd ++ * ++ * Tv standard ++ * ++ **********************************************************************/ ++typedef enum ++ { ++ TV_STD_NTSC, ++ TV_STD_PAL, ++ TV_STD_PAL_M, ++ TV_STD_PAL_60, ++ TV_STD_NTSC_J, ++ TV_STD_PAL_CN, ++ TV_STD_PAL_N, ++ TV_STD_KEEP_OFF, ++ TV_STD_N_STANDARDS /* Must be last */ ++ } TVStd; ++ ++/********************************************************************** ++ * ++ * TheaterOutAttr ++ * ++ * Integer-valued attributes of this module ++ * ++ **********************************************************************/ ++typedef enum ++ { ++ THEATER_OUT_HPOS, /* Horizontal position */ ++ THEATER_OUT_VPOS, /* Vertical position */ ++ THEATER_OUT_HSIZE /* Horizontal size */ ++ } TheaterOutAttr; ++ ++#ifndef _RADEON_H_ ++#include "radeon.h" ++#endif ++ ++/********************************************************************** ++ * ++ * detectTheaterOut ++ * ++ * Detect presence of a RT chip ++ * ++ **********************************************************************/ ++ ++extern ++TheaterOutPtr ++detectTheaterOut( ++ ScrnInfoPtr pScrn, ++ Bool forceVIP, ++GENERIC_BUS_Ptr b ++ ); ++ ++/********************************************************************** ++ * ++ * initTheaterOut ++ * ++ * Initialization of module ++ * ++ * 's' should be the value of TV_Output option (i.e. the initial TV ++ * standard) ++ * ++ **********************************************************************/ ++ ++extern ++void ++initTheaterOut( ++ TheaterOutPtr t, ++ const char *s ++ ); ++ ++/********************************************************************** ++ * ++ * theaterOutSave ++ * ++ * Save current state of RT as initial state (the one that is restored ++ * when switching back to text mode) ++ * ++ **********************************************************************/ ++ ++extern ++void ++theaterOutSave( ++ TheaterOutPtr t, ++ ScrnInfoPtr pScrn ++ ); ++ ++/********************************************************************** ++ * ++ * theaterOutRestore ++ * ++ * Restore state of RT from initial state (the one saved through ++ * theaterOutSave) ++ * ++ **********************************************************************/ ++ ++extern ++void ++theaterOutRestore( ++ TheaterOutPtr t, ++ ScrnInfoPtr pScrn ++ ); ++ ++/********************************************************************** ++ * ++ * theaterOutInit ++ * ++ * Define state for cloning current CRTC mode on TV output ++ * It works in this way: ++ * 1. It checks if resolution in "mode" parameter is one of those ++ * allowing tv output ++ * 2. If resolution is OK, define RT state according to resolution and ++ * and current settings (tv standard etc.) ++ * If resolution is not ok, define RT state to turn tv output off ++ * 3. If resolution is OK, modify Radeon state to make it correct for ++ * tv output (this is needed,e.g., to set vertical frequency to 50/60 Hz) ++ * ++ * Return value is TRUE when mode is OK for cloning on tv and tv output ++ * is enabled, FALSE otherwise ++ * ++ **********************************************************************/ ++ ++extern ++Bool ++theaterOutInit( ++ TheaterOutPtr t, ++ DisplayModePtr mode, ++ RADEONSavePtr save ++ ); ++ ++/********************************************************************** ++ * ++ * theaterOutRestoreMode ++ * ++ * Set state of RT to the one defined by last call to theaterOutInit ++ * ++ **********************************************************************/ ++ ++extern ++void ++theaterOutRestoreMode( ++ TheaterOutPtr t, ++ ScrnInfoPtr pScrn ++ ); ++ ++/********************************************************************** ++ * ++ * theaterOutSetStandard ++ * ++ * Set TV output standard ++ * ++ * Return value is TRUE when video mode should be set again ++ * ++ **********************************************************************/ ++ ++extern ++Bool ++theaterOutSetStandard( ++ TheaterOutPtr t, ++ TVStd std ++ ); ++ ++/********************************************************************** ++ * ++ * theaterOutGetStandard ++ * ++ * Get current TV output standard ++ * ++ **********************************************************************/ ++extern ++TVStd ++theaterOutGetStandard( ++ TheaterOutPtr t ++ ); ++ ++/********************************************************************** ++ * ++ * theaterOutGetCompatMode ++ * ++ * Return whether the current mode is compatible with tv output or not ++ * ++ **********************************************************************/ ++extern ++Bool ++theaterOutGetCompatMode( ++ TheaterOutPtr t ++ ); ++ ++/********************************************************************** ++ * ++ * theaterOutSetAttr ++ * ++ * Set an attribute ++ * ++ **********************************************************************/ ++extern ++void ++theaterOutSetAttr( ++ TheaterOutPtr t, ++ TheaterOutAttr attr, ++ int value ++ ); ++ ++/********************************************************************** ++ * ++ * theaterOutGetAttr ++ * ++ * Get an attribute ++ * ++ **********************************************************************/ ++extern ++int ++theaterOutGetAttr( ++ TheaterOutPtr t, ++ TheaterOutAttr attr ++ ); ++ ++/********************************************************************** ++ * ++ * theaterOutGetAttrLimits ++ * ++ * Get limits for an attribute value ++ * ++ **********************************************************************/ ++extern ++void ++theaterOutGetAttrLimits( ++ TheaterOutPtr t, ++ TheaterOutAttr attr, ++ int *maxValue, ++ int *minValue ++ ); ++ ++/********************************************************************** ++ * ++ * THEATER_OUT_SYMBOLS ++ * ++ * Symbol list for module loading ++ * ++ **********************************************************************/ ++ ++#define THEATER_OUT_SYMBOLS "detectTheaterOut", \ ++ "initTheaterOut", \ ++ "theaterOutSave", \ ++ "theaterOutRestore", \ ++ "theaterOutInit", \ ++ "theaterOutRestoreMode", \ ++ "theaterOutSetStandard", \ ++ "theaterOutGetStandard", \ ++ "theaterOutGetCompatMode", \ ++ "theaterOutSetAttr", \ ++ "theaterOutGetAttr", \ ++ "theaterOutGetAttrLimits" ++ ++/********************************************************************** ++ * ++ * External access to module functions ++ * ++ **********************************************************************/ ++ ++#ifdef XFree86LOADER ++ ++#define xf86_detectTheaterOut ((TheaterOutPtr (*)(ScrnInfoPtr , Bool,GENERIC_BUS_Ptr))LoaderSymbol("detectTheaterOut")) ++#define xf86_initTheaterOut ((void (*)(TheaterOutPtr , const char*))LoaderSymbol("initTheaterOut")) ++#define xf86_theaterOutSave ((void (*)(TheaterOutPtr , ScrnInfoPtr))LoaderSymbol("theaterOutSave")) ++#define xf86_theaterOutRestore ((void (*)(TheaterOutPtr , ScrnInfoPtr))LoaderSymbol("theaterOutRestore")) ++#define xf86_theaterOutInit ((Bool (*)(TheaterOutPtr , DisplayModePtr , RADEONSavePtr))LoaderSymbol("theaterOutInit")) ++#define xf86_theaterOutRestoreMode ((void (*)(TheaterOutPtr , ScrnInfoPtr))LoaderSymbol("theaterOutRestoreMode")) ++#define xf86_theaterOutSetStandard ((Bool (*)(TheaterOutPtr , TVStd))LoaderSymbol("theaterOutSetStandard")) ++#define xf86_theaterOutGetStandard ((TVStd (*)(TheaterOutPtr))LoaderSymbol("theaterOutGetStandard")) ++#define xf86_theaterOutGetCompatMode ((Bool (*)(TheaterOutPtr))LoaderSymbol("theaterOutGetCompatMode")) ++#define xf86_theaterOutSetAttr ((void (*)(TheaterOutPtr , TheaterOutAttr , int))LoaderSymbol("theaterOutSetAttr")) ++#define xf86_theaterOutGetAttr ((int (*)(TheaterOutPtr , TheaterOutAttr))LoaderSymbol("theaterOutGetAttr")) ++#define xf86_theaterOutGetAttrLimits ((void (*)(TheaterOutPtr , TheaterOutAttr , int * , int *))LoaderSymbol("theaterOutGetAttrLimits")) ++ ++#else ++ ++#define xf86_detectTheaterOut detectTheaterOut ++#define xf86_initTheaterOut initTheaterOut ++#define xf86_theaterOutSave theaterOutSave ++#define xf86_theaterOutRestore theaterOutRestore ++#define xf86_theaterOutInit theaterOutInit ++#define xf86_theaterOutRestoreMode theaterOutRestoreMode ++#define xf86_theaterOutSetStandard theaterOutSetStandard ++#define xf86_theaterOutGetStandard theaterOutGetStandard ++#define xf86_theaterOutGetCompatMode theaterOutGetCompatMode ++#define xf86_theaterOutSetAttr theaterOutSetAttr ++#define xf86_theaterOutGetAttr theaterOutGetAttr ++#define xf86_theaterOutGetAttrLimits theaterOutGetAttrLimits ++ ++#endif /* XFree86LOADER */ ++ ++#endif /* _THEATER_OUT_H */ +diff -urN -X /home/zhangle/exec/dontdiff xserver-xorg-video-ati-6.6.3.orig/src/theater_out_module.c xserver-xorg-video-ati-6.6.3/src/theater_out_module.c +--- xserver-xorg-video-ati-6.6.3.orig/src/theater_out_module.c 1970-01-01 08:00:00.000000000 +0800 ++++ xserver-xorg-video-ati-6.6.3/src/theater_out_module.c 2007-01-08 12:48:04.000000000 +0800 +@@ -0,0 +1,45 @@ ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif ++ ++#include "xf86Module.h" ++ ++static MODULESETUPPROTO(theaterOutSetup); ++ ++static ++XF86ModuleVersionInfo ++theaterVersRec = ++{ ++ "theater_out", /* modname */ ++ MODULEVENDORSTRING, /* vendor */ ++ MODINFOSTRING1, /* _modinfo1_ */ ++ MODINFOSTRING2, /* _modinfo2_ */ ++ XORG_VERSION_CURRENT, /* xf86version */ ++ 1, /* majorversion */ ++ 0, /* minorversion */ ++ 0, /* patchlevel */ ++ ABI_CLASS_VIDEODRV, /* abiclass */ ++ ABI_VIDEODRV_VERSION, /* abiversion */ ++ MOD_CLASS_NONE, /* moduleclass */ ++ { 0 , 0 , 0 , 0 } /* checksum */ ++}; ++ ++_X_EXPORT XF86ModuleData ++theater_outModuleData = ++ { ++ &theaterVersRec, ++ theaterOutSetup, ++ NULL ++ }; ++ ++static ++pointer ++theaterOutSetup( ++ pointer module, ++ pointer opts, ++ int *errmaj, ++ int *errmin ++ ) ++{ ++ return (pointer)1; ++} +diff -urN -X /home/zhangle/exec/dontdiff xserver-xorg-video-ati-6.6.3.orig/src/tvo_set/Imakefile xserver-xorg-video-ati-6.6.3/src/tvo_set/Imakefile +--- xserver-xorg-video-ati-6.6.3.orig/src/tvo_set/Imakefile 1970-01-01 08:00:00.000000000 +0800 ++++ xserver-xorg-video-ati-6.6.3/src/tvo_set/Imakefile 2007-01-08 12:48:04.000000000 +0800 +@@ -0,0 +1,38 @@ ++@@ -0,0 +1,37 @@ ++XCOMM $Id: Imakefile,v 1.1.2.1 2004/01/27 22:55:40 fulivi Exp $ ++XCOMM ++XCOMM Imakefile for tvo_set utility ++XCOMM ++XCOMM Copyright (C) 2004 Federico Ulivi ++XCOMM ++XCOMM This program is free software; you can redistribute it and/or modify ++XCOMM it under the terms of the GNU General Public License as published by ++XCOMM the Free Software Foundation; either version 2 of the License, or ++XCOMM (at your option) any later version. ++XCOMM ++XCOMM This program is distributed in the hope that it will be useful, ++XCOMM but WITHOUT ANY WARRANTY; without even the implied warranty of ++XCOMM MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++XCOMM GNU General Public License for more details. ++XCOMM ++XCOMM You should have received a copy of the GNU General Public License ++XCOMM along with this program; if not, write to the Free Software ++XCOMM Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++XCOMM ++XCOMM AUTHORS: F.Ulivi ++XCOMM NOTES: ++XCOMM $Log: Imakefile,v $ ++XCOMM Revision 1.1.2.1 2004/01/27 22:55:40 fulivi ++XCOMM Initial release ++XCOMM ++XCOMM Revision 1.1.2.1 2004/01/25 23:07:31 fede ++XCOMM *** empty log message *** ++XCOMM ++XCOMM ++ ++ DEPLIBS = $(DEPXVLIB) $(DEPXLIB) ++LOCAL_LIBRARIES = $(XVLIB) $(XLIB) ++ SRCS = tvo_set.c ++ OBJS = tvo_set.o ++ ++ComplexProgramTargetNoMan(tvo_set) +diff -urN -X /home/zhangle/exec/dontdiff xserver-xorg-video-ati-6.6.3.orig/src/tvo_set/tvo_set.c xserver-xorg-video-ati-6.6.3/src/tvo_set/tvo_set.c +--- xserver-xorg-video-ati-6.6.3.orig/src/tvo_set/tvo_set.c 1970-01-01 08:00:00.000000000 +0800 ++++ xserver-xorg-video-ati-6.6.3/src/tvo_set/tvo_set.c 2007-01-08 12:48:04.000000000 +0800 +@@ -0,0 +1,472 @@ ++/********************************************************************* ++ * ++ * $Id: tvo_set.c,v 1.1.2.1 2004/01/27 22:55:40 fulivi Exp $ ++ * ++ * Main (and only) module of tvo_set utility. ++ * The purpose of this utility is to set various parameters of ++ * tv output module. ++ * ++ * Copyright (C) 2004 Federico Ulivi ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 2 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA ++ * ++ * AUTHORS: F.Ulivi ++ * NOTES: ++ * $Log: tvo_set.c,v $ ++ * Revision 1.1.2.1 2004/01/27 22:55:40 fulivi ++ * Initial release ++ * ++ * Revision 1.1.2.2 2004/01/25 23:07:47 fede ++ * GPL notice added ++ * ++ * Revision 1.1.2.1 2004/01/25 15:09:42 fede ++ * First version ++ * ++ * ++ *********************************************************************/ ++ ++#include <X11/X.h> ++#include <X11/Xlib.h> ++#include <X11/extensions/Xvlib.h> ++#include <stdio.h> ++#include <stdlib.h> ++#include <errno.h> ++#include <string.h> ++ ++/********************************************************************** ++ * ++ * program_name ++ * ++ **********************************************************************/ ++static ++const char *program_name; ++ ++/********************************************************************** ++ * ++ * Action ++ * ++ **********************************************************************/ ++typedef enum ++ { ++ ACT_FULL_DUMP, ++ ACT_SET, ++ ACT_INC, ++ ACT_DEC, ++ ACT_ZERO ++ } Action; ++ ++/********************************************************************** ++ * ++ * attrNames / attrData ++ * ++ **********************************************************************/ ++typedef struct ++{ ++ Atom atom; ++ int minValue; ++ int maxValue; ++} AttrData; ++ ++typedef struct ++{ ++ char* extName; ++ char* attrName; ++ char* description; ++} AttrName; ++ ++static ++const AttrName attrNames[] = ++ { ++ { "hpos" , "XV_TVO_HPOS" , "Horizontal position" }, ++ { "vpos" , "XV_TVO_VPOS" , "Vertical position" }, ++ { "hsize" , "XV_TVO_HSIZE" , "Horizontal size" }, ++ { "std" , "XV_TVO_STANDARD" , "TV Standard" } ++ }; ++ ++#define N_ATTRS (sizeof(attrNames) / sizeof(attrNames[ 0 ])) ++/* ++ * Index of TV standard attribute ++ */ ++#define STD_ATTR 3 ++ ++static ++AttrData attrData[ N_ATTRS ]; ++ ++/********************************************************************** ++ * ++ * stdNames ++ * ++ **********************************************************************/ ++static ++const char *stdNames[] = ++ { ++ "NTSC", ++ "PAL", ++ "PAL-M", ++ "PAL-60", ++ "NTSC-J", ++ "PAL-CN", ++ "PAL-N", ++ "OFF" ++ }; ++#define N_STDS (sizeof(stdNames) / sizeof(stdNames[ 0 ])) ++ ++/********************************************************************** ++ * ++ * scanAttributes ++ * ++ **********************************************************************/ ++static ++Bool ++subScanAttributes( ++ Display *dpy, ++ XvAttribute *pAttributes, ++ int nAttributes ++ ) ++{ ++ unsigned i; ++ unsigned j; ++ Atom theAtom; ++ ++ for (i = 0; i < N_ATTRS; i++) ++ { ++ const char* name = attrNames[ i ].attrName; ++ ++ for (j = 0; j < nAttributes; j++) ++ { ++ if (strcmp(name , pAttributes[ j ].name) == 0) ++ { ++ attrData[ i ].minValue = pAttributes[ j ].min_value; ++ attrData[ i ].maxValue = pAttributes[ j ].max_value; ++ if ((pAttributes[ j ].flags & (XvGettable | XvSettable)) != (XvGettable | XvSettable)) ++ return False; ++ ++ theAtom = XInternAtom(dpy , name , True); ++ if (theAtom == None) ++ return False; ++ ++ attrData[ i ].atom = theAtom; ++ ++ break; ++ } ++ } ++ if (j == nAttributes) ++ return False; ++ } ++ ++ return True; ++} ++ ++static ++Bool ++scanAttributes( ++ Display *dpy, ++ XvPortID portID ++ ) ++{ ++ XvAttribute *pAttributes; ++ int nAttributes; ++ Bool res = False; ++ ++ if ((pAttributes = XvQueryPortAttributes(dpy , portID , &nAttributes)) == 0) ++ return False; ++ ++ if (nAttributes > 0) ++ res = subScanAttributes(dpy , pAttributes , nAttributes); ++ ++ XFree(pAttributes); ++ return res; ++} ++ ++/********************************************************************** ++ * ++ * getAttribute ++ * ++ **********************************************************************/ ++static ++void ++getAttribute( ++ Display *dpy, ++ XvPortID portID, ++ int attribute, ++ int *value ++ ) ++{ ++ if (XvGetPortAttribute(dpy , ++ portID , ++ attrData[ attribute ].atom , ++ value) == Success) ++ return; ++ ++ fprintf(stderr , "%s: Unable to get value of attribute %s\n" , program_name , attrNames[ attribute ].attrName); ++ exit(2); ++} ++ ++/********************************************************************** ++ * ++ * setAttribute ++ * ++ **********************************************************************/ ++static ++void ++setAttribute( ++ Display *dpy, ++ XvPortID portID, ++ int attribute, ++ int value ++ ) ++{ ++ int dummy; ++ ++ if (XvSetPortAttribute(dpy , portID , attrData[ attribute ].atom , value) != Success) ++ { ++ fprintf(stderr , "%s: Unable to set value of attribute %s\n" , program_name , attrNames[ attribute ].attrName); ++ exit(2); ++ } ++ ++ getAttribute(dpy , portID , attribute , &dummy); ++} ++ ++/********************************************************************** ++ * ++ * parseAttribute ++ * ++ **********************************************************************/ ++static ++int ++parseAttribute( ++ const char *name ++ ) ++{ ++ int i; ++ ++ for (i = 0; i < N_ATTRS; i++) ++ if (strcasecmp(name , attrNames[ i ].extName) == 0) ++ return i; ++ ++ return -1; ++} ++ ++/********************************************************************** ++ * ++ * parseStd ++ * ++ **********************************************************************/ ++static ++int ++parseStd( ++ const char *name ++ ) ++{ ++ int i; ++ ++ for (i = 0; i < N_STDS; i++) ++ if (strcasecmp(name , stdNames[ i ]) == 0) ++ return i; ++ ++ return -1; ++} ++ ++/********************************************************************** ++ * ++ * printUsage ++ * ++ **********************************************************************/ ++static ++void ++printUsage(void) ++{ ++ unsigned i; ++ ++ fprintf(stderr , "Usage:\n" ++ "%s [-display host:dpy] [<cmd> <attribute> [<value>]]\n\n" , program_name); ++ fprintf(stderr , "When <cmd> is absent, a dump of all attributes is done\n"); ++ fprintf(stderr , "Allowed <cmd>s:\n" ++ "set <attribute> <value> Set <attribute> to <value>\n" ++ "inc <attribute> Increment <attribute> by 1\n" ++ "dec <attribute> Decrement <attribute> by 1\n" ++ "zero <attribute> Set <attribute> to 0\n" ++ "\nAllowed <attribute>s:\n"); ++ ++ for (i = 0; i < N_ATTRS; i++) ++ fprintf(stderr , "%-6s %s\n" , attrNames[ i ].extName , attrNames[ i ].description); ++ ++ fprintf(stderr , "\nFor %s attribute, both the numeric value and the name of the standard are valid.\n" , ++ attrNames[ STD_ATTR ].extName); ++ ++ fprintf(stderr , "\nAllowed standards:\n"); ++ ++ for (i = 0; i < N_STDS; i++) ++ fprintf(stderr , "%d %s\n" , i , stdNames[ i ]); ++ ++ exit(1); ++} ++ ++/********************************************************************** ++ * ++ * main ++ * ++ **********************************************************************/ ++int ++main( ++ int argc, ++ char *argv[] ++ ) ++{ ++ Action action; ++ Display *dpy; ++ char *disname = NULL; ++ unsigned argIdx = 1; ++ int attribute; ++ int value; ++ unsigned ver, rev, eventB, reqB, errorB; ++ XvAdaptorInfo *ainfo; ++ unsigned nadaptors; ++ unsigned i; ++ XvPortID portID; ++ ++ program_name = argv[ 0 ]; ++ ++ if (argc >= 3 && ++ strcmp(argv[ argIdx ] , "-display") == 0) ++ { ++ argIdx++; ++ disname = argv[ argIdx++ ]; ++ } ++ ++ if (argIdx < argc) ++ { ++ if (strcasecmp(argv[ argIdx ] , "set") == 0) ++ action = ACT_SET; ++ else if (strcasecmp(argv[ argIdx ] , "inc") == 0) ++ action = ACT_INC; ++ else if (strcasecmp(argv[ argIdx ] , "dec") == 0) ++ action = ACT_DEC; ++ else if (strcasecmp(argv[ argIdx ] , "zero") == 0) ++ action = ACT_ZERO; ++ else ++ printUsage(); ++ ++ argIdx++; ++ if (argIdx >= argc) ++ printUsage(); ++ ++ if ((attribute = parseAttribute(argv[ argIdx ])) < 0) ++ { ++ fprintf(stderr , "%s: Unrecognized attribute name (%s)\n" , program_name , argv[ argIdx ]); ++ printUsage(); ++ } ++ argIdx++; ++ ++ if (action == ACT_SET) ++ { ++ if (argIdx >= argc) ++ printUsage(); ++ if (sscanf(argv[ argIdx ] , "%d" , &value) != 1 && ++ (attribute != STD_ATTR || (value = parseStd(argv[ argIdx ])) < 0)) ++ printUsage(); ++ } ++ } ++ else ++ action = ACT_FULL_DUMP; ++ ++ /* ++ * Open display ++ */ ++ if (!(dpy = XOpenDisplay(disname))) ++ { ++ fprintf(stderr , "%s: Unable to open display %s\n" , program_name , ++ (disname != NULL) ? disname : XDisplayName(NULL)); ++ return -1; ++ } ++ ++ if (XvQueryExtension(dpy, &ver, &rev, &reqB, &eventB, &errorB) != Success) ++ { ++ fprintf(stderr , "%s: No XV Extension on %s\n" , program_name , ++ (disname != NULL) ? disname : XDisplayName(NULL)); ++ return 0; ++ } ++ ++ /* ++ * Use screen #0 ++ */ ++ XvQueryAdaptors(dpy , RootWindow(dpy , 0) , &nadaptors , &ainfo); ++ ++ if (!nadaptors) ++ { ++ fprintf(stderr , "%s: No adaptors present\n" , program_name); ++ return 0; ++ } ++ ++ /* ++ * Use adaptor #0 ++ */ ++ portID = ainfo[ 0 ].base_id; ++ if (!scanAttributes(dpy , portID)) ++ { ++ fprintf(stderr , "%s: Invalid attributes in XV adaptor\n" , program_name); ++ return 0; ++ } ++ ++ switch (action) ++ { ++ case ACT_FULL_DUMP: ++ for(i = 0; i < nadaptors; i++) ++ { ++ printf("Adaptor #%d: \"%s\"\n" , i , ainfo[ i ].name); ++ printf(" number of ports : %d\n" , ainfo[ i ].num_ports); ++ printf(" port base : %d\n" , ainfo[ i ].base_id); ++ printf(" number of adaptors: %u\n" , ainfo[ i ].num_adaptors); ++ } ++ for (i = 0; i < N_ATTRS; i++) ++ { ++ getAttribute(dpy , portID , i , &value); ++ if (i == STD_ATTR) ++ if (value < 0 || value >= N_STDS) ++ printf ("%s = ??? (%d)\n" , attrNames[ i ].extName , value); ++ else ++ printf ("%s = %s (%d)\n" , attrNames[ i ].extName , stdNames[ value ] , value); ++ else ++ printf("%s = %d\n" , attrNames[ i ].extName , value); ++ } ++ break; ++ ++ case ACT_SET: ++ setAttribute(dpy , portID , attribute , value); ++ break; ++ ++ case ACT_INC: ++ getAttribute(dpy , portID , attribute , &value); ++ value++; ++ if (value > attrData[ attribute ].maxValue) ++ value = attrData[ attribute ].minValue; ++ setAttribute(dpy , portID , attribute , value); ++ break; ++ ++ case ACT_DEC: ++ getAttribute(dpy , portID , attribute , &value); ++ value--; ++ if (value < attrData[ attribute ].minValue) ++ value = attrData[ attribute ].maxValue; ++ setAttribute(dpy , portID , attribute , value); ++ break; ++ ++ case ACT_ZERO: ++ setAttribute(dpy , portID , attribute , 0); ++ break; ++ } ++ ++ return 0; ++} diff --git a/x11-drivers/xf86-video-ati/metadata.xml b/x11-drivers/xf86-video-ati/metadata.xml new file mode 100644 index 0000000..01c4c00 --- /dev/null +++ b/x11-drivers/xf86-video-ati/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>x11</herd> +</pkgmetadata> diff --git a/x11-drivers/xf86-video-ati/xf86-video-ati-6.6.3.ebuild b/x11-drivers/xf86-video-ati/xf86-video-ati-6.6.3.ebuild new file mode 100644 index 0000000..5fa3bb0 --- /dev/null +++ b/x11-drivers/xf86-video-ati/xf86-video-ati-6.6.3.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-ati/xf86-video-ati-6.6.3.ebuild,v 1.10 2006/10/21 14:42:41 exg Exp $ + +# Must be before x-modular eclass is inherited +#SNAPSHOT="yes" + +inherit x-modular + +DESCRIPTION="ATI video driver" + +KEYWORDS="alpha amd64 arm ia64 ppc ppc64 sh sparc x86 ~x86-fbsd ~mips" +IUSE="dri" + +RDEPEND=">=x11-base/xorg-server-1.0.99" +DEPEND="${RDEPEND} + x11-proto/fontsproto + x11-proto/randrproto + x11-proto/videoproto + x11-proto/xextproto + x11-proto/xineramaproto + x11-proto/xf86miscproto + x11-proto/xproto + dri? ( x11-proto/glproto + x11-proto/xf86driproto + >=x11-libs/libdrm-2 )" + +CONFIGURE_OPTIONS="$(use_enable dri)" + +PATCHES="${FILESDIR}/${P}-loongson.patch" + +src_unpack() { + x-modular_src_unpack + eautoreconf + elibtoolize +} + +pkg_setup() { + if use dri && ! built_with_use x11-base/xorg-server dri; then + die "Build x11-base/xorg-server with USE=dri." + fi +} diff --git a/x11-libs/libdrm/ChangeLog b/x11-libs/libdrm/ChangeLog new file mode 100644 index 0000000..3b69bd9 --- /dev/null +++ b/x11-libs/libdrm/ChangeLog @@ -0,0 +1,154 @@ +# ChangeLog for x11-libs/libdrm +# Copyright 1999-2007 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/libdrm/ChangeLog,v 1.40 2007/01/06 01:03:50 kloeri Exp $ + + 06 Jan 2007; Bryan Østergaard <kloeri@gentoo.org> libdrm-2.0.2.ebuild: + Stable on Alpha. + +*libdrm-2.3.0 (10 Nov 2006) + + 10 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org> + -libdrm-2.2.0.ebuild, +libdrm-2.3.0.ebuild: + Version bump for 7.2RC2 with support for upcoming X servers. Adds drmOpenOnce + and drmCloseOnce and support for the server to use the system libdrm, instead + of the (now) removed internal one. These changes are only important for GIT + head or >=1.2.99.0 servers. + +*libdrm-2.2.0 (02 Nov 2006) + + 02 Nov 2006; Joshua Baergen <joshuabaergen@gentoo.org> + +libdrm-2.2.0.ebuild: + Version bump with a large amount of changes. Notables: Mach64 work and + support for the new memory manager. + + 14 Oct 2006; Bryan Østergaard <kloeri@gentoo.org> libdrm-2.0.2.ebuild: + Stable on ia64. + + 13 Oct 2006; Joshua Baergen <joshuabaergen@gentoo.org> + libdrm-2.0.2.ebuild: + AMD64/x86 stable for bug #144549 (X7.1). + + 12 Sep 2006; Gustavo Zacarias <gustavoz@gentoo.org> libdrm-2.0.2.ebuild: + Stable on hppa + + 04 Sep 2006; Joshua Kinard <kumba@gentoo.org> libdrm-2.0.2.ebuild: + Marked stable on mips. + + 24 Aug 2006; Markus Rothe <corsair@gentoo.org> libdrm-2.0.2.ebuild: + Stable on ppc64 + + 23 Aug 2006; Ferris McCormick <fmccor@gentoo.org> libdrm-2.0.2.ebuild: + Stable on sparc (part of general bookkeeping to sync sparc to a known state + now that xorg-x11-7.1 is stable on sparc). + + 20 Aug 2006; Donnie Berkholz <dberkholz@gentoo.org>; libdrm-2.0.2.ebuild: + Stable on x86/ppc. + + 19 Jul 2006; Guy Martin <gmsoft@gentoo.org> libdrm-2.0.1.ebuild: + Stable on hppa. + +*libdrm-2.0.2 (14 Jul 2006) + + 14 Jul 2006; Donnie Berkholz <dberkholz@gentoo.org>; +libdrm-2.0.2.ebuild: + Bump, change ewarn to elog. + + 10 Jul 2006; Aron Griffis <agriffis@gentoo.org> libdrm-2.0.1.ebuild: + Mark 2.0.1 stable on ia64 + + 30 Jun 2006; Donnie Berkholz <spyderous@gentoo.org>; libdrm-2.0.1.ebuild: + ppc/sparc/mips/alpha/arm/sh stable + + 30 Jun 2006; Donnie Berkholz <spyderous@gentoo.org>; +libdrm-2.0.1.ebuild: + Restore mistakenly removed ebuild. + + 30 Jun 2006; Donnie Berkholz <spyderous@gentoo.org>; -libdrm-2.0.ebuild, + -libdrm-2.0.1.ebuild: + Pull old versions. + + 30 Jun 2006; Chris Gianelloni <wolf31o2@gentoo.org> libdrm-2.0.1.ebuild: + Stable on amd64. + + 30 Jun 2006; Markus Rothe <corsair@gentoo.org> libdrm-2.0.1.ebuild: + Stable on ppc64 + + 30 Jun 2006; Donnie Berkholz <spyderous@gentoo.org>; libdrm-2.0.1.ebuild: + x86 stable. + +*libdrm-2.0.1 (01 Apr 2006) + + 01 Apr 2006; Joshua Baergen <joshuabaergen@gentoo.org> + +libdrm-2.0.1.ebuild: + Bump from upstream. Includes some new defines required by Mesa 6.5/HEAD. + + 31 Mar 2006; Diego Pettenò <flameeyes@gentoo.org> libdrm-2.0.ebuild: + Add ~x86-fbsd keyword. + + 10 Mar 2006; Donnie Berkholz <spyderous@gentoo.org>; libdrm-2.0.ebuild: + (#125506) Use --library for revdep-rebuild, not --soname. + + 09 Mar 2006; Aron Griffis <agriffis@gentoo.org> libdrm-2.0.ebuild: + Mark 2.0 ~ia64 + + 14 Feb 2006; Markus Rothe <corsair@gentoo.org> libdrm-2.0.ebuild: + Added ~ppc64 + + 31 Jan 2006; Rene Nussbaumer <killerfox@gentoo.org> libdrm-2.0.ebuild: + Unstable on hppa. + + 26 Dec 2005; Stefaan De Roeck <stefaan@gentoo.org> libdrm-2.0.ebuild: + Marked ~alpha + + 17 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org> ChangeLog: + Bump for 7.0RC4. + + 09 Dec 2005; Donnie Berkholz <spyderous@gentoo.org>; -libdrm-1.0.1.ebuild, + -libdrm-1.0.3.ebuild, -libdrm-1.0.4.ebuild, -libdrm-1.0.5.ebuild: + Pull old versions. + + 05 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org> libdrm-2.0.ebuild: + Doh, now libdrm stays... + + 04 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org> libdrm-2.0.ebuild: + Keep the old libdrm.so.1 around so things don't break horribly on upgrade. + +*libdrm-2.0 (04 Dec 2005) + + 04 Dec 2005; Joshua Baergen <joshuabaergen@gentoo.org> +libdrm-2.0.ebuild: + Version bump. + +*libdrm-1.0.5 (31 Oct 2005) + + 31 Oct 2005; Donnie Berkholz <spyderous@gentoo.org>; +libdrm-1.0.5.ebuild: + Bump with via fixes. + +*libdrm-1.0.4 (20 Oct 2005) + + 20 Oct 2005; Donnie Berkholz <spyderous@gentoo.org>; +libdrm-1.0.4.ebuild: + Bump to remove libX11 dependency. + + 09 Sep 2005; Donnie Berkholz <spyderous@gentoo.org>; +metadata.xml: + Add metadata. + + 28 Aug 2005; MATSUU Takuto <matsuu@gentoo.org> libdrm-1.0.3.ebuild: + Marked ~sh + + 20 Aug 2005; Luca Barbato <lu_zero@gentoo.org> libdrm-1.0.1.ebuild, + libdrm-1.0.3.ebuild: + Marked ~ppc + +*libdrm-1.0.3 (20 Aug 2005) + + 20 Aug 2005; Donnie Berkholz <spyderous@gentoo.org>; +libdrm-1.0.3.ebuild: + Bump. + + 15 Aug 2005; Herbie Hopkins <herbs@gentoo.org> libdrm-1.0.1.ebuild: + Marked ~amd64 + + 09 Aug 2005; Ferris McCormick <fmccor@gentoo.org> libdrm-1.0.1.ebuild: + Add ~sparc keyword (X modular testing). + +*libdrm-1.0.1 (08 Aug 2005) + + 08 Aug 2005; Donnie Berkholz <spyderous@gentoo.org>; +libdrm-1.0.1.ebuild: + Initial commit for modular X. + diff --git a/x11-libs/libdrm/Manifest b/x11-libs/libdrm/Manifest new file mode 100644 index 0000000..9fb5195 --- /dev/null +++ b/x11-libs/libdrm/Manifest @@ -0,0 +1,20 @@ +AUX libdrm-loongson.patch 2196 RMD160 a1c39f37c019296513dace34f82793fa6322b750 SHA1 15f736fba60ab5ec56b6b64508cbe6c868fe6d08 SHA256 5348f74d784e8f16f996571656377d8b85473a88ab5df202267e6ffcfa6fa7e4 +MD5 1685c2a276f8c1d4cc6e236bee62ede2 files/libdrm-loongson.patch 2196 +RMD160 a1c39f37c019296513dace34f82793fa6322b750 files/libdrm-loongson.patch 2196 +SHA256 5348f74d784e8f16f996571656377d8b85473a88ab5df202267e6ffcfa6fa7e4 files/libdrm-loongson.patch 2196 +DIST libdrm-2.3.0.tar.gz 391509 RMD160 2ca594cf17fc074b1addd1f370dd3409b5a03dd7 SHA1 fd62459b11c39a58e5b45b8af30a8217d5ce0e1b SHA256 76f90a22e141832bccea3fabf14e2b2a53e1ff72fe8414e2836ea8ac7e2e3dab +EBUILD libdrm-2.3.0.ebuild 1247 RMD160 39b4260b84811f5566f8b1e0d71e23b3d753b83c SHA1 d84aabc763ec62b41235775b86774813b2c66d32 SHA256 d7ff70ce16c12378f998a4aa2e809c7bb8d44828ee7236d1bce001f66897a30c +MD5 e3c3b7fde50a87aac1dd42f77b68516f libdrm-2.3.0.ebuild 1247 +RMD160 39b4260b84811f5566f8b1e0d71e23b3d753b83c libdrm-2.3.0.ebuild 1247 +SHA256 d7ff70ce16c12378f998a4aa2e809c7bb8d44828ee7236d1bce001f66897a30c libdrm-2.3.0.ebuild 1247 +MISC ChangeLog 5078 RMD160 82343b31fe834c7f30e822c79e368de8d9e7e84b SHA1 5a7569a17d67ec633a0ada4bfca8bd869abc59fd SHA256 fb3712816e68f0327cf8ed8e070844a425c68fdcefad986ff749aa187926941a +MD5 1cb96ef63ded9593e726a0a14e46e722 ChangeLog 5078 +RMD160 82343b31fe834c7f30e822c79e368de8d9e7e84b ChangeLog 5078 +SHA256 fb3712816e68f0327cf8ed8e070844a425c68fdcefad986ff749aa187926941a ChangeLog 5078 +MISC metadata.xml 156 RMD160 c1274bdccf57603d580de0075ba07a35b7509560 SHA1 6f78f604e3d079d39189b40aaaa1ddb06182ad91 SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055 +MD5 a37bab73e2f24b213932c30997d3d360 metadata.xml 156 +RMD160 c1274bdccf57603d580de0075ba07a35b7509560 metadata.xml 156 +SHA256 5101ab0d4cc8c7125eea733c44e86962769bd77acaf53b69223b9cadcdd29055 metadata.xml 156 +MD5 52cd3fd1604c435de6151f308336d76c files/digest-libdrm-2.3.0 238 +RMD160 c99257ce7b06b2114070bd2687cf2715f1bd110b files/digest-libdrm-2.3.0 238 +SHA256 92b955d0d9ce84e83e0d3bc97e755f32c838929215ab60ce3eabc1c38a2eb052 files/digest-libdrm-2.3.0 238 diff --git a/x11-libs/libdrm/files/digest-libdrm-2.3.0 b/x11-libs/libdrm/files/digest-libdrm-2.3.0 new file mode 100644 index 0000000..6644017 --- /dev/null +++ b/x11-libs/libdrm/files/digest-libdrm-2.3.0 @@ -0,0 +1,3 @@ +MD5 f2f5d3186bee51be49e1389bed39a7ed libdrm-2.3.0.tar.gz 391509 +RMD160 2ca594cf17fc074b1addd1f370dd3409b5a03dd7 libdrm-2.3.0.tar.gz 391509 +SHA256 76f90a22e141832bccea3fabf14e2b2a53e1ff72fe8414e2836ea8ac7e2e3dab libdrm-2.3.0.tar.gz 391509 diff --git a/x11-libs/libdrm/files/libdrm-loongson.patch b/x11-libs/libdrm/files/libdrm-loongson.patch new file mode 100644 index 0000000..c067c9d --- /dev/null +++ b/x11-libs/libdrm/files/libdrm-loongson.patch @@ -0,0 +1,54 @@ +diff -urN libdrm-2.3.0/libdrm/xf86drm.h libdrm-2.3.0.new/libdrm/xf86drm.h +--- libdrm-2.3.0/libdrm/xf86drm.h 2006-11-09 05:55:14.000000000 +0800 ++++ libdrm-2.3.0.new/libdrm/xf86drm.h 2007-03-01 05:29:41.000000000 +0800 +@@ -346,6 +346,29 @@ + "r" (new)); \ + } while(0) + ++#elif defined(__mips__) ++ ++#define DRM_CAS(lock, old, new, ret) \ ++ do { \ ++ __asm__ __volatile__( \ ++ " .set mips3;.set noreorder;\n" \ ++ " sync; \n" \ ++ " ll %1, %0;\n" \ ++ " bne %1, %2, 1f;\n" \ ++ " li %1, 1; \n" \ ++ " move %1, %3; \n" \ ++ " sc %1, %0;\n" \ ++ " xori %1, %1, 1\n" \ ++ "1: \n" \ ++ " .set mips0; .set reorder;\n" \ ++ : "=m" (__drm_dummy_lock(lock)),\ ++ "=&r" (ret) \ ++ : "r" (old), \ ++ "r" (new) \ ++ :"memory","$8" \ ++ ); \ ++ } while(0) ++ + #elif defined(__sparc__) + + #define DRM_CAS(lock,old,new,__ret) \ +@@ -427,7 +450,7 @@ + #define DRM_CAS(lock,old,new,ret) do { ret=1; } while (0) /* FAST LOCK FAILS */ + #endif + +-#if defined(__alpha__) || defined(__powerpc__) ++#if defined(__alpha__) || defined(__powerpc__) || defined(__mips__) + #define DRM_CAS_RESULT(_result) int _result + #else + #define DRM_CAS_RESULT(_result) char _result +diff -urN libdrm-2.3.0/shared-core/drm_sarea.h libdrm-2.3.0.new/shared-core/drm_sarea.h +--- libdrm-2.3.0/shared-core/drm_sarea.h 2006-11-08 12:03:26.000000000 +0800 ++++ libdrm-2.3.0.new/shared-core/drm_sarea.h 2007-03-01 05:31:34.000000000 +0800 +@@ -37,6 +37,8 @@ + /* SAREA area needs to be at least a page */ + #if defined(__alpha__) + #define SAREA_MAX 0x2000 ++#elif defined(__mips__) ++#define SAREA_MAX 0x4000 + #elif defined(__ia64__) + #define SAREA_MAX 0x10000 /* 64kB */ + #else diff --git a/x11-libs/libdrm/libdrm-2.3.0.ebuild b/x11-libs/libdrm/libdrm-2.3.0.ebuild new file mode 100644 index 0000000..aa30d01 --- /dev/null +++ b/x11-libs/libdrm/libdrm-2.3.0.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/libdrm/libdrm-2.3.0.ebuild,v 1.1 2006/11/10 03:48:39 joshuabaergen Exp $ + +# Must be before x-modular eclass is inherited +#SNAPSHOT="yes" + +inherit x-modular + +DESCRIPTION="X.Org libdrm library" +HOMEPAGE="http://dri.freedesktop.org/" +SRC_URI="http://dri.freedesktop.org/libdrm/${P}.tar.gz" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd" +RDEPEND="" +DEPEND="${RDEPEND}" + +src_unpack() { + unpack "${A}" + cd "${S}" + epatch "${FILESDIR}/${PN}-loongson.patch" +} + +pkg_preinst() { + x-modular_pkg_preinst + + if [[ -e ${ROOT}/usr/$(get_libdir)/libdrm.so.1 ]] ; then + cp -pPR "${ROOT}"/usr/$(get_libdir)/libdrm.so.{1,1.0.0} "${IMAGE}"/usr/$(get_libdir)/ + fi +} + +pkg_postinst() { + x-modular_pkg_postinst + + if [[ -e ${ROOT}/usr/$(get_libdir)/libdrm.so.1 ]] ; then + elog "You must re-compile all packages that are linked against" + elog "libdrm 1 by using revdep-rebuild from gentoolkit:" + elog "# revdep-rebuild --library libdrm.so.1" + elog "After this, you can delete /usr/$(get_libdir)/libdrm.so.1" + elog "and /usr/$(get_libdir)/libdrm.so.1.0.0 ." + epause + fi +} diff --git a/x11-libs/libdrm/metadata.xml b/x11-libs/libdrm/metadata.xml new file mode 100644 index 0000000..01c4c00 --- /dev/null +++ b/x11-libs/libdrm/metadata.xml @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> +<herd>x11</herd> +</pkgmetadata> |