summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@parabola.nu>2013-02-27 11:41:09 -0300
committerNicolás Reynolds <fauno@parabola.nu>2013-02-27 11:41:09 -0300
commit5d736d1341e23e62a115ff985eed7dc506642cb7 (patch)
treec223cd26e699b134c6ee397bf6d0730560bb9b68
parent08ad6a1796e89e23792e2ca4cc760d8dd432884c (diff)
parentc12c4a04a2df7565aaaf8e195ab8cc971f9bbd0c (diff)
downloadabslibre-5d736d1341e23e62a115ff985eed7dc506642cb7.tar.gz
abslibre-5d736d1341e23e62a115ff985eed7dc506642cb7.tar.bz2
abslibre-5d736d1341e23e62a115ff985eed7dc506642cb7.zip
Merge branch 'master' of ssh://gparabola/srv/git/abslibre
-rw-r--r--kernels/linux-libre-pae/CVE-2013-1763.patch35
-rw-r--r--kernels/linux-libre-pae/PKGBUILD16
-rw-r--r--kernels/linux-libre-pae/linux-libre-pae.install2
-rw-r--r--kernels/linux-libre-xen/CVE-2013-1763.patch35
-rw-r--r--kernels/linux-libre-xen/PKGBUILD16
-rw-r--r--kernels/linux-libre-xen/linux-libre-xen.install2
-rw-r--r--libre/blender-libre/PKGBUILD77
-rw-r--r--libre/lib32-mesa-demos-libre/PKGBUILD26
-rw-r--r--libre/lib32-mesa-demos-libre/mesa-demos-libre.patch1198
-rw-r--r--libre/linux-libre-kmod-alx/PKGBUILD4
-rw-r--r--libre/linux-libre/CVE-2013-1763.patch35
-rw-r--r--libre/linux-libre/PKGBUILD20
-rw-r--r--libre/linux-libre/config.i6862
-rw-r--r--libre/linux-libre/config.x86_642
-rw-r--r--libre/linux-libre/linux-libre.install2
-rw-r--r--libre/luxblend25/PKGBUILD2
-rw-r--r--libre/mesa-demos-libre/PKGBUILD26
-rw-r--r--libre/mesa-demos-libre/mesa-demos-libre.patch1198
-rw-r--r--pcr/nexuiz-data/PKGBUILD4
-rw-r--r--pcr/nexuiz/PKGBUILD4
-rw-r--r--pcr/skanlite/PKGBUILD30
21 files changed, 341 insertions, 2395 deletions
diff --git a/kernels/linux-libre-pae/CVE-2013-1763.patch b/kernels/linux-libre-pae/CVE-2013-1763.patch
new file mode 100644
index 000000000..82b59a6dc
--- /dev/null
+++ b/kernels/linux-libre-pae/CVE-2013-1763.patch
@@ -0,0 +1,35 @@
+From 6e601a53566d84e1ffd25e7b6fe0b6894ffd79c0 Mon Sep 17 00:00:00 2001
+From: Mathias Krause <minipli@googlemail.com>
+Date: Sat, 23 Feb 2013 01:13:47 +0000
+Subject: [PATCH] sock_diag: Fix out-of-bounds access to sock_diag_handlers[]
+
+Userland can send a netlink message requesting SOCK_DIAG_BY_FAMILY
+with a family greater or equal then AF_MAX -- the array size of
+sock_diag_handlers[]. The current code does not test for this
+condition therefore is vulnerable to an out-of-bound access opening
+doors for a privilege escalation.
+
+Signed-off-by: Mathias Krause <minipli@googlemail.com>
+Acked-by: Eric Dumazet <edumazet@google.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ net/core/sock_diag.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/net/core/sock_diag.c b/net/core/sock_diag.c
+index 602cd63..750f44f 100644
+--- a/net/core/sock_diag.c
++++ b/net/core/sock_diag.c
+@@ -121,6 +121,9 @@ static int __sock_diag_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
+ if (nlmsg_len(nlh) < sizeof(*req))
+ return -EINVAL;
+
++ if (req->sdiag_family >= AF_MAX)
++ return -EINVAL;
++
+ hndl = sock_diag_lock_handler(req->sdiag_family);
+ if (hndl == NULL)
+ err = -ENOENT;
+--
+1.7.6.5
+
diff --git a/kernels/linux-libre-pae/PKGBUILD b/kernels/linux-libre-pae/PKGBUILD
index b5fa1ce58..6f0c91586 100644
--- a/kernels/linux-libre-pae/PKGBUILD
+++ b/kernels/linux-libre-pae/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 178342 2013-02-20 12:32:29Z tpowa $
+# $Id: PKGBUILD 178533 2013-02-25 11:02:32Z tpowa $
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Thomas Baechler <thomas@archlinux.org>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
@@ -8,7 +8,7 @@ pkgbase=linux-libre-pae # Build stock -LIBRE-PAE kernel
_basekernel=3.8
#pkgver=${_basekernel}.9
pkgver=${_basekernel}
-pkgrel=1
+pkgrel=2
arch=('i686')
url="http://linux-libre.fsfla.org/"
license=('GPL2')
@@ -21,12 +21,14 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
# standard config files for mkinitcpio ramdisk
"${pkgbase}.preset"
'boot-logo.patch'
- 'change-default-console-loglevel.patch')
+ 'change-default-console-loglevel.patch'
+ 'CVE-2013-1763.patch')
md5sums=('84c2a77910932ffc7d958744ac9cf2f5'
'01e97ae92b25fa9d004ff589c7f56703'
'f302c931bd85309da9d9792b4cc96467'
'04b21c79df0a952c22d681dd4f4562df'
- '9d3c56a4b999c8bfbd4018089a62f662')
+ '9d3c56a4b999c8bfbd4018089a62f662'
+ '420991808fe4cba143013427c0737aa9')
_kernelname=${pkgbase#linux-libre}
_localversionname=-LIBRE-PAE
@@ -41,6 +43,10 @@ build() {
# Add freedo as boot logo
patch -Np1 -i "${srcdir}/boot-logo.patch"
+ # Fix security vulnetability CVE-2013-1763.patch
+ # https://bugs.archlinux.org/task/34005
+ patch -Np1 -i "${srcdir}/CVE-2013-1763.patch"
+
# set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
# remove this when a Kconfig knob is made available by upstream
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
@@ -168,7 +174,7 @@ _package-headers() {
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include"
- for i in acpi asm-generic config crypto drm generated linux math-emu \
+ for i in acpi asm-generic config crypto drm generated keys linux math-emu \
media net pcmcia scsi sound trace uapi video xen; do
cp -a include/${i} "${pkgdir}/usr/src/linux-${_kernver}/include/"
done
diff --git a/kernels/linux-libre-pae/linux-libre-pae.install b/kernels/linux-libre-pae/linux-libre-pae.install
index 8810c28e5..4a41ea6bb 100644
--- a/kernels/linux-libre-pae/linux-libre-pae.install
+++ b/kernels/linux-libre-pae/linux-libre-pae.install
@@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=-pae
-KERNEL_VERSION=3.8.0-1-LIBRE-PAE
+KERNEL_VERSION=3.8.0-2-LIBRE-PAE
# set a sane PATH to ensure that critical utils like depmod will be found
export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
diff --git a/kernels/linux-libre-xen/CVE-2013-1763.patch b/kernels/linux-libre-xen/CVE-2013-1763.patch
new file mode 100644
index 000000000..82b59a6dc
--- /dev/null
+++ b/kernels/linux-libre-xen/CVE-2013-1763.patch
@@ -0,0 +1,35 @@
+From 6e601a53566d84e1ffd25e7b6fe0b6894ffd79c0 Mon Sep 17 00:00:00 2001
+From: Mathias Krause <minipli@googlemail.com>
+Date: Sat, 23 Feb 2013 01:13:47 +0000
+Subject: [PATCH] sock_diag: Fix out-of-bounds access to sock_diag_handlers[]
+
+Userland can send a netlink message requesting SOCK_DIAG_BY_FAMILY
+with a family greater or equal then AF_MAX -- the array size of
+sock_diag_handlers[]. The current code does not test for this
+condition therefore is vulnerable to an out-of-bound access opening
+doors for a privilege escalation.
+
+Signed-off-by: Mathias Krause <minipli@googlemail.com>
+Acked-by: Eric Dumazet <edumazet@google.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ net/core/sock_diag.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/net/core/sock_diag.c b/net/core/sock_diag.c
+index 602cd63..750f44f 100644
+--- a/net/core/sock_diag.c
++++ b/net/core/sock_diag.c
+@@ -121,6 +121,9 @@ static int __sock_diag_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
+ if (nlmsg_len(nlh) < sizeof(*req))
+ return -EINVAL;
+
++ if (req->sdiag_family >= AF_MAX)
++ return -EINVAL;
++
+ hndl = sock_diag_lock_handler(req->sdiag_family);
+ if (hndl == NULL)
+ err = -ENOENT;
+--
+1.7.6.5
+
diff --git a/kernels/linux-libre-xen/PKGBUILD b/kernels/linux-libre-xen/PKGBUILD
index 0501e7d67..4d398b5f2 100644
--- a/kernels/linux-libre-xen/PKGBUILD
+++ b/kernels/linux-libre-xen/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 178342 2013-02-20 12:32:29Z tpowa $
+# $Id: PKGBUILD 178533 2013-02-25 11:02:32Z tpowa $
# Contributor: Tobias Powalowski <tpowa@archlinux.org>
# Contributor: Thomas Baechler <thomas@archlinux.org>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
@@ -8,7 +8,7 @@ pkgbase=linux-libre-xen # Build stock -LIBRE-XEN kernel
_basekernel=3.8
#pkgver=${_basekernel}.9
pkgver=${_basekernel}
-pkgrel=1
+pkgrel=2
arch=('i686')
url="http://linux-libre.fsfla.org/"
license=('GPL2')
@@ -21,12 +21,14 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
# standard config files for mkinitcpio ramdisk
"${pkgbase}.preset"
'boot-logo.patch'
- 'change-default-console-loglevel.patch')
+ 'change-default-console-loglevel.patch'
+ 'CVE-2013-1763.patch')
md5sums=('84c2a77910932ffc7d958744ac9cf2f5'
'208b90a9f3ccbaf2064f05163985bd46'
'b7c2805bb287a644c0a303bf7721e534'
'04b21c79df0a952c22d681dd4f4562df'
- '9d3c56a4b999c8bfbd4018089a62f662')
+ '9d3c56a4b999c8bfbd4018089a62f662'
+ '420991808fe4cba143013427c0737aa9')
_kernelname=${pkgbase#linux-libre}
_localversionname=-LIBRE-XEN
@@ -41,6 +43,10 @@ build() {
# Add freedo as boot logo
patch -Np1 -i "${srcdir}/boot-logo.patch"
+ # Fix security vulnetability CVE-2013-1763.patch
+ # https://bugs.archlinux.org/task/34005
+ patch -Np1 -i "${srcdir}/CVE-2013-1763.patch"
+
# set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
# remove this when a Kconfig knob is made available by upstream
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
@@ -168,7 +174,7 @@ _package-headers() {
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include"
- for i in acpi asm-generic config crypto drm generated linux math-emu \
+ for i in acpi asm-generic config crypto drm generated keys linux math-emu \
media net pcmcia scsi sound trace uapi video xen; do
cp -a include/${i} "${pkgdir}/usr/src/linux-${_kernver}/include/"
done
diff --git a/kernels/linux-libre-xen/linux-libre-xen.install b/kernels/linux-libre-xen/linux-libre-xen.install
index 27176044a..8ea666d23 100644
--- a/kernels/linux-libre-xen/linux-libre-xen.install
+++ b/kernels/linux-libre-xen/linux-libre-xen.install
@@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=-xen
-KERNEL_VERSION=3.8.0-1-LIBRE-XEN
+KERNEL_VERSION=3.8.0-2-LIBRE-XEN
# set a sane PATH to ensure that critical utils like depmod will be found
export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
diff --git a/libre/blender-libre/PKGBUILD b/libre/blender-libre/PKGBUILD
index 83cd9437c..94e5b00cb 100644
--- a/libre/blender-libre/PKGBUILD
+++ b/libre/blender-libre/PKGBUILD
@@ -17,8 +17,8 @@ else
fi
pkgdesc="Fully integrated 3D graphics creation suite, without nonfree cuda-toolkit and redcode image format support$spndesc"
pkgver=2.66
-pkgrel=1
-pkgaev=7
+pkgrel=2
+pkgaev=6
arch=(
i686
x86_64
@@ -29,83 +29,21 @@ license=(
)
url="http://www.${pkgbase%$pkgflag}.org"
depends=(
- # used by ldd software "glibc package software"
- # dependencies tree of binaries software (root) #
+ desktop-file-utils
ffmpeg
fftw
freetype2
+ hicolor-icon-theme
jack
libpng
libtiff
openal
openimageio
- opencolorio
- # external softwares dependencies #
opencollada
- # softwares dependencies for desktop files and mime types #
- desktop-file-utils
- hicolor-icon-theme
+ opencolorio
+ openshadinglanguage
shared-mime-info
xdg-utils
- # dependencies tree of binaries software (child) #
- #alsa-lib
- #boost-libs
- #bzip2
- #celt
- #dbus-core
- #flac
- #gcc-libs
- #glew
- #glibc
- #glu
- #gsm
- #icu
- #ilmbase
- #json-c
- #lame
- #libasyncns
- #libdrm
- #libgl
- #libglapi
- #libice
- #libjpeg-turbo
- #libogg
- #libpulse
- #libsndfile
- #libsm
- #libtheora
- #libva
- #libvorbis
- #libvpx
- #libx11
- #libxau
- #libxcb
- #libxdamage
- #libxdmcp
- #libxext
- #libxfixes
- #libxi
- #libxml2
- #libxmu
- #libxt
- #libxxf86vm
- #ocr
- #openexr
- #opencore-amr
- #openjpeg
- #openssl
- #pcre
- #python
- #rtmpdump
- #sdl-libre
- #schroedinger
- #speex
- #util-linux
- #x264
- #xvidcore
- #xz
- #v4l-utils
- #zlib
)
if [ $spacenav == true ]; then
depends+=(
@@ -161,6 +99,7 @@ build() {
-DWITH_CODEC_SNDFILE=ON\
-DWITH_CYCLES=ON\
-DWITH_CYCLES_CUDA_BINARIES=OFF\
+ -DWITH_CYCLES_OSL=ON\
-DWITH_FFTW3=ON\
-DWITH_GAMEENGINE=ON\
-DWITH_IMAGE_REDCODE=OFF\
@@ -171,9 +110,7 @@ build() {
-DWITH_PLAYER=ON\
-DWITH_PYTHON_INSTALL=OFF\
-DWITH_SYSTEM_GLEW=ON
-
setarch $CARCH make $MAKEFLAGS
-
setarch $CARCH make
}
diff --git a/libre/lib32-mesa-demos-libre/PKGBUILD b/libre/lib32-mesa-demos-libre/PKGBUILD
index 1719f138d..aa9fde2c3 100644
--- a/libre/lib32-mesa-demos-libre/PKGBUILD
+++ b/libre/lib32-mesa-demos-libre/PKGBUILD
@@ -1,25 +1,24 @@
-# $Id: PKGBUILD 94667 2010-10-09 11:21:35Z andyrtr $
+# $Id: PKGBUILD 178740 2013-02-26 16:15:13Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
# Maintainer (Parabola): André Silva <emulatorman@lavabit.com>
_pkgbasename=mesa-demos-libre
pkgname=lib32-$_pkgbasename
-pkgver=8.0.1
-pkgrel=2
+pkgver=8.1.0
+pkgrel=1
arch=(x86_64)
-pkgdesc="Mesa demos and tools (32-bit), libre"
+pkgdesc="Mesa demos and tools (32-bit), without nonfree demos"
url="http://mesa3d.sourceforge.net"
license=('custom')
-depends=('lib32-glew>=1.5.6' mesa-demos-libre)
provides=("lib32-mesa-demos=$pkgver")
replaces=('lib32-mesa-demos')
conflicts=('lib32-mesa-demos')
-makedepends=(gcc-multilib)
+makedepends=(gcc-multilib 'lib32-mesa-libgl>=9.1' 'lib32-glew' 'libgl>=9.1')
source=(ftp://ftp.freedesktop.org/pub/mesa/demos/${pkgver}/mesa-demos-${pkgver}.tar.bz2
mesa-demos-libre.patch)
-md5sums=('320c2a4b6edc6faba35d9cb1e2a30bf4'
- '1858e95d40ac9e5e0b59753ce9e673e3')
+md5sums=('9df33ba69a26bbfbc7c8148602e59542'
+ '5ce0660b46beb1230194fbd852d33ab0')
build() {
export CC="gcc -m32"
@@ -27,12 +26,21 @@ build() {
export PKG_CONFIG_PATH="/usr/lib32/pkgconfig"
cd "${srcdir}/mesa-demos-${pkgver}"
+
+ # Remove nonfree demos (pointblast and spriteblast)
+ rm -v src/demos/{pointblast,spriteblast}.c
patch -Np1 -i "${srcdir}/mesa-demos-libre.patch"
- ./configure --prefix=/usr
+
+ ./configure --prefix=/usr \
+ --enable-gles1 \
+ --enable-gles2
+
make
}
package() {
+ depends=('lib32-glew' mesa-demos-libre)
+
cd "${srcdir}/mesa-demos-${pkgver}"
make DESTDIR="${pkgdir}" install
diff --git a/libre/lib32-mesa-demos-libre/mesa-demos-libre.patch b/libre/lib32-mesa-demos-libre/mesa-demos-libre.patch
index c5261f8e9..d630f373c 100644
--- a/libre/lib32-mesa-demos-libre/mesa-demos-libre.patch
+++ b/libre/lib32-mesa-demos-libre/mesa-demos-libre.patch
@@ -1,15 +1,15 @@
-diff -rauNp Desktop/mesa-demos-8.0.1//src/demos/Makefile.am mesa-demos-8.0.1//src/demos/Makefile.am
---- Desktop/mesa-demos-8.0.1//src/demos/Makefile.am 2010-07-13 14:46:40.000000000 -0400
-+++ mesa-demos-8.0.1/src/demos/Makefile.am 2011-06-04 15:34:18.000000000 -0400
-@@ -62,7 +62,6 @@ bin_PROGRAMS = \
- morph3d \
+diff -Nur mesa-demos-8.1.0.orig/src/demos/Makefile.am mesa-demos-8.1.0/src/demos/Makefile.am
+--- mesa-demos-8.1.0.orig/src/demos/Makefile.am 2012-12-15 05:17:06.000000000 -0200
++++ mesa-demos-8.1.0/src/demos/Makefile.am 2013-02-26 17:22:04.845832793 -0200
+@@ -65,7 +65,6 @@
multiarb \
paltex \
+ pixeltest \
- pointblast \
projtex \
ray \
readpix \
-@@ -71,7 +70,6 @@ bin_PROGRAMS = \
+@@ -74,7 +73,6 @@
shadowtex \
singlebuffer \
spectex \
@@ -17,36 +17,34 @@ diff -rauNp Desktop/mesa-demos-8.0.1//src/demos/Makefile.am mesa-demos-8.0.1//sr
stex3d \
teapot \
terrain \
-diff -rauNp Desktop/mesa-demos-8.0.1//src/demos/Makefile.in mesa-demos-8.0.1//src/demos/Makefile.in
---- Desktop/mesa-demos-8.0.1//src/demos/Makefile.in 2010-07-13 14:53:23.000000000 -0400
-+++ mesa-demos-8.0.1/src/demos/Makefile.in 2011-06-04 15:35:32.000000000 -0400
-@@ -73,11 +73,10 @@ host_triplet = @host@
+diff -Nur mesa-demos-8.1.0.orig/src/demos/Makefile.in mesa-demos-8.1.0/src/demos/Makefile.in
+--- mesa-demos-8.1.0.orig/src/demos/Makefile.in 2013-02-24 09:12:04.000000000 -0200
++++ mesa-demos-8.1.0/src/demos/Makefile.in 2013-02-26 17:48:36.711995049 -0200
+@@ -90,11 +90,11 @@
@HAVE_GLUT_TRUE@ ipers$(EXEEXT) isosurf$(EXEEXT) \
@HAVE_GLUT_TRUE@ lodbias$(EXEEXT) morph3d$(EXEEXT) \
@HAVE_GLUT_TRUE@ multiarb$(EXEEXT) paltex$(EXEEXT) \
--@HAVE_GLUT_TRUE@ pointblast$(EXEEXT) projtex$(EXEEXT) \
--@HAVE_GLUT_TRUE@ ray$(EXEEXT) readpix$(EXEEXT) reflect$(EXEEXT) \
--@HAVE_GLUT_TRUE@ renormal$(EXEEXT) shadowtex$(EXEEXT) \
--@HAVE_GLUT_TRUE@ singlebuffer$(EXEEXT) spectex$(EXEEXT) \
--@HAVE_GLUT_TRUE@ spriteblast$(EXEEXT) stex3d$(EXEEXT) \
-+@HAVE_GLUT_TRUE@ projtex$(EXEEXT) ray$(EXEEXT) readpix$(EXEEXT) \
-+@HAVE_GLUT_TRUE@ reflect$(EXEEXT) renormal$(EXEEXT) \
-+@HAVE_GLUT_TRUE@ shadowtex$(EXEEXT) singlebuffer$(EXEEXT) \
-+@HAVE_GLUT_TRUE@ spectex$(EXEEXT) stex3d$(EXEEXT) \
- @HAVE_GLUT_TRUE@ teapot$(EXEEXT) terrain$(EXEEXT) \
- @HAVE_GLUT_TRUE@ tessdemo$(EXEEXT) texcyl$(EXEEXT) \
- @HAVE_GLUT_TRUE@ texenv$(EXEEXT) textures$(EXEEXT) \
-@@ -188,9 +187,6 @@ multiarb_DEPENDENCIES = ../util/libutil.
- paltex_SOURCES = paltex.c
- paltex_OBJECTS = paltex.$(OBJEXT)
- paltex_LDADD = $(LDADD)
+-@HAVE_GLUT_TRUE@ pixeltest$(EXEEXT) pointblast$(EXEEXT) \
++@HAVE_GLUT_TRUE@ pixeltest$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ projtex$(EXEEXT) ray$(EXEEXT) readpix$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ reflect$(EXEEXT) renormal$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ shadowtex$(EXEEXT) singlebuffer$(EXEEXT) \
+-@HAVE_GLUT_TRUE@ spectex$(EXEEXT) spriteblast$(EXEEXT) \
++@HAVE_GLUT_TRUE@ spectex$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ stex3d$(EXEEXT) teapot$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ terrain$(EXEEXT) tessdemo$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ texcyl$(EXEEXT) texenv$(EXEEXT) \
+@@ -219,9 +219,6 @@
+ pixeltest_SOURCES = pixeltest.c
+ pixeltest_OBJECTS = pixeltest.$(OBJEXT)
+ pixeltest_LDADD = $(LDADD)
-pointblast_SOURCES = pointblast.c
-pointblast_OBJECTS = pointblast.$(OBJEXT)
-pointblast_LDADD = $(LDADD)
projtex_SOURCES = projtex.c
projtex_OBJECTS = projtex.$(OBJEXT)
projtex_DEPENDENCIES = ../util/libutil.la
-@@ -215,9 +211,6 @@ singlebuffer_LDADD = $(LDADD)
+@@ -246,9 +243,6 @@
spectex_SOURCES = spectex.c
spectex_OBJECTS = spectex.$(OBJEXT)
spectex_LDADD = $(LDADD)
@@ -56,66 +54,57 @@ diff -rauNp Desktop/mesa-demos-8.0.1//src/demos/Makefile.in mesa-demos-8.0.1//sr
stex3d_SOURCES = stex3d.c
stex3d_OBJECTS = stex3d.$(OBJEXT)
stex3d_LDADD = $(LDADD)
-@@ -285,21 +278,20 @@ SOURCES = arbfplight.c arbfslight.c arbo
- fbo_firecube.c fbotexture.c fire.c fogcoord.c fplight.c \
- fslight.c gamma.c gearbox.c gears.c geartrain.c glinfo.c \
- gloss.c gltestperf.c ipers.c isosurf.c lodbias.c morph3d.c \
-- multiarb.c paltex.c pointblast.c projtex.c ray.c readpix.c \
-- reflect.c renormal.c shadowtex.c singlebuffer.c spectex.c \
-- spriteblast.c stex3d.c teapot.c terrain.c tessdemo.c texcyl.c \
-- texenv.c textures.c trispd.c $(tunnel_SOURCES) tunnel2.c \
-- vao_demo.c winpos.c
-+ multiarb.c paltex.c projtex.c ray.c readpix.c reflect.c \
-+ renormal.c shadowtex.c singlebuffer.c spectex.c stex3d.c \
-+ teapot.c terrain.c tessdemo.c texcyl.c texenv.c textures.c \
-+ trispd.c $(tunnel_SOURCES) tunnel2.c vao_demo.c winpos.c
- DIST_SOURCES = arbfplight.c arbfslight.c arbocclude.c bounce.c \
- clearspd.c copypix.c cubemap.c dinoshade.c dissolve.c \
- drawpix.c engine.c fbo_firecube.c fbotexture.c fire.c \
- fogcoord.c fplight.c fslight.c gamma.c gearbox.c gears.c \
- geartrain.c glinfo.c gloss.c gltestperf.c ipers.c isosurf.c \
-- lodbias.c morph3d.c multiarb.c paltex.c pointblast.c projtex.c \
-- ray.c readpix.c reflect.c renormal.c shadowtex.c \
-- singlebuffer.c spectex.c spriteblast.c stex3d.c teapot.c \
-- terrain.c tessdemo.c texcyl.c texenv.c textures.c trispd.c \
-- $(tunnel_SOURCES) tunnel2.c vao_demo.c winpos.c
-+ lodbias.c morph3d.c multiarb.c paltex.c projtex.c ray.c \
-+ readpix.c reflect.c renormal.c shadowtex.c singlebuffer.c \
-+ spectex.c stex3d.c teapot.c terrain.c tessdemo.c texcyl.c \
-+ texenv.c textures.c trispd.c $(tunnel_SOURCES) tunnel2.c \
-+ vao_demo.c winpos.c
- ETAGS = etags
- CTAGS = ctags
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-@@ -653,9 +645,6 @@ multiarb$(EXEEXT): $(multiarb_OBJECTS) $
- paltex$(EXEEXT): $(paltex_OBJECTS) $(paltex_DEPENDENCIES)
- @rm -f paltex$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(paltex_OBJECTS) $(paltex_LDADD) $(LIBS)
--pointblast$(EXEEXT): $(pointblast_OBJECTS) $(pointblast_DEPENDENCIES)
+@@ -325,8 +319,8 @@
+ fbotexture.c fire.c fogcoord.c fplight.c fslight.c gamma.c \
+ gearbox.c gears.c geartrain.c glinfo.c gloss.c gltestperf.c \
+ ipers.c isosurf.c lodbias.c morph3d.c multiarb.c paltex.c \
+- pixeltest.c pointblast.c projtex.c ray.c readpix.c reflect.c \
+- renormal.c shadowtex.c singlebuffer.c spectex.c spriteblast.c \
++ pixeltest.c projtex.c ray.c readpix.c reflect.c \
++ renormal.c shadowtex.c singlebuffer.c spectex.c \
+ stex3d.c teapot.c terrain.c tessdemo.c texcyl.c texenv.c \
+ textures.c trispd.c $(tunnel_SOURCES) tunnel2.c vao_demo.c \
+ winpos.c
+@@ -336,8 +330,8 @@
+ fbotexture.c fire.c fogcoord.c fplight.c fslight.c gamma.c \
+ gearbox.c gears.c geartrain.c glinfo.c gloss.c gltestperf.c \
+ ipers.c isosurf.c lodbias.c morph3d.c multiarb.c paltex.c \
+- pixeltest.c pointblast.c projtex.c ray.c readpix.c reflect.c \
+- renormal.c shadowtex.c singlebuffer.c spectex.c spriteblast.c \
++ pixeltest.c projtex.c ray.c readpix.c reflect.c \
++ renormal.c shadowtex.c singlebuffer.c spectex.c \
+ stex3d.c teapot.c terrain.c tessdemo.c texcyl.c texenv.c \
+ textures.c trispd.c $(tunnel_SOURCES) tunnel2.c vao_demo.c \
+ winpos.c
+@@ -722,9 +716,6 @@
+ pixeltest$(EXEEXT): $(pixeltest_OBJECTS) $(pixeltest_DEPENDENCIES) $(EXTRA_pixeltest_DEPENDENCIES)
+ @rm -f pixeltest$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(pixeltest_OBJECTS) $(pixeltest_LDADD) $(LIBS)
+-pointblast$(EXEEXT): $(pointblast_OBJECTS) $(pointblast_DEPENDENCIES) $(EXTRA_pointblast_DEPENDENCIES)
- @rm -f pointblast$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pointblast_OBJECTS) $(pointblast_LDADD) $(LIBS)
- projtex$(EXEEXT): $(projtex_OBJECTS) $(projtex_DEPENDENCIES)
+ projtex$(EXEEXT): $(projtex_OBJECTS) $(projtex_DEPENDENCIES) $(EXTRA_projtex_DEPENDENCIES)
@rm -f projtex$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(projtex_OBJECTS) $(projtex_LDADD) $(LIBS)
-@@ -680,9 +669,6 @@ singlebuffer$(EXEEXT): $(singlebuffer_OB
- spectex$(EXEEXT): $(spectex_OBJECTS) $(spectex_DEPENDENCIES)
+@@ -749,9 +740,6 @@
+ spectex$(EXEEXT): $(spectex_OBJECTS) $(spectex_DEPENDENCIES) $(EXTRA_spectex_DEPENDENCIES)
@rm -f spectex$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(spectex_OBJECTS) $(spectex_LDADD) $(LIBS)
--spriteblast$(EXEEXT): $(spriteblast_OBJECTS) $(spriteblast_DEPENDENCIES)
+-spriteblast$(EXEEXT): $(spriteblast_OBJECTS) $(spriteblast_DEPENDENCIES) $(EXTRA_spriteblast_DEPENDENCIES)
- @rm -f spriteblast$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(spriteblast_OBJECTS) $(spriteblast_LDADD) $(LIBS)
- stex3d$(EXEEXT): $(stex3d_OBJECTS) $(stex3d_DEPENDENCIES)
+ stex3d$(EXEEXT): $(stex3d_OBJECTS) $(stex3d_DEPENDENCIES) $(EXTRA_stex3d_DEPENDENCIES)
@rm -f stex3d$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(stex3d_OBJECTS) $(stex3d_LDADD) $(LIBS)
-@@ -756,7 +742,6 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/morph3d.Po@am__quote@
+@@ -828,7 +816,6 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multiarb.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paltex.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pixeltest.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pointblast.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/projtex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ray.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readpix.Po@am__quote@
-@@ -765,7 +750,6 @@ distclean-compile:
+@@ -837,7 +824,6 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shadowtex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/singlebuffer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spectex.Po@am__quote@
@@ -123,1070 +112,3 @@ diff -rauNp Desktop/mesa-demos-8.0.1//src/demos/Makefile.in mesa-demos-8.0.1//sr
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stex3d.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/teapot.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/terrain.Po@am__quote@
-diff -rauNp Desktop/mesa-demos-8.0.1//src/demos/pointblast.c mesa-demos-8.0.1//src/demos/pointblast.c
---- Desktop/mesa-demos-8.0.1//src/demos/pointblast.c 2010-07-07 13:57:15.000000000 -0400
-+++ mesa-demos-8.0.1/src/demos/pointblast.c 1969-12-31 19:00:00.000000000 -0500
-@@ -1,504 +0,0 @@
--
--/* Copyright (c) Mark J. Kilgard, 1997. */
--
--/* This program is freely distributable without licensing fees
-- and is provided without guarantee or warrantee expressed or
-- implied. This program is -not- in the public domain. */
--
--/* This example demonstrates how to render particle effects
-- with OpenGL. A cloud of pinkish/orange particles explodes with the
-- particles bouncing off the ground. When the EXT_point_parameters
-- is present , the particle size is attenuated based on eye distance. */
--
--
--#include <stdio.h>
--#include <stdlib.h>
--#include <string.h>
--#include <math.h> /* for cos(), sin(), and sqrt() */
--#ifdef _WIN32
--#include <windows.h>
--#endif
--#include <GL/glew.h>
--#include <GL/glut.h>
--
--/* Some <math.h> files do not define M_PI... */
--#ifndef M_PI
--#define M_PI 3.14159265
--#endif
--
--#if 0 /* For debugging. */
--#undef GL_EXT_point_parameters
--#endif
--
--static GLfloat angle = -150; /* in degrees */
--static int spin = 0;
--static int moving, begin;
--static int newModel = 1;
--static float theTime;
--static int repeat = 1;
--static int blend = 1;
--int useMipmaps = 1;
--int linearFiltering = 1;
--
--static GLfloat constant[3] = { 1/5.0, 0.0, 0.0 };
--static GLfloat linear[3] = { 0.0, 1/5.0, 0.0 };
--static GLfloat theQuad[3] = { 0.25, 0.0, 1/60.0 };
--
--#define MAX_POINTS 2000
--
--static int numPoints = 200;
--
--static GLfloat pointList[MAX_POINTS][3];
--static GLfloat pointTime[MAX_POINTS];
--static GLfloat pointVelocity[MAX_POINTS][2];
--static GLfloat pointDirection[MAX_POINTS][2];
--static int colorList[MAX_POINTS];
--static int animate = 1, motion = 0;
--
--static GLfloat colorSet[][4] = {
-- /* Shades of red. */
-- { 0.7, 0.2, 0.4, 0.5 },
-- { 0.8, 0.0, 0.7, 0.5 },
-- { 1.0, 0.0, 0.0, 0.5 },
-- { 0.9, 0.3, 0.6, 0.5 },
-- { 1.0, 0.4, 0.0, 0.5 },
-- { 1.0, 0.0, 0.5, 0.5 },
--};
--
--#define NUM_COLORS (sizeof(colorSet)/sizeof(colorSet[0]))
--
--#define DEAD (NUM_COLORS+1)
--
--
--#if 0 /* drand48 might be better on Unix machines */
--#define RANDOM_RANGE(lo, hi) ((lo) + (hi - lo) * drand48())
--#else
--static float float_rand(void) { return rand() / (float) RAND_MAX; }
--#define RANDOM_RANGE(lo, hi) ((lo) + (hi - lo) * float_rand())
--#endif
--
--#define MEAN_VELOCITY 3.0
--#define GRAVITY 2.0
--
--/* Modeling units of ground extent in each X and Z direction. */
--#define EDGE 12
--
--static void
--makePointList(void)
--{
-- float angle, velocity, direction;
-- int i;
--
-- motion = 1;
-- for (i=0; i<numPoints; i++) {
-- pointList[i][0] = 0.0;
-- pointList[i][1] = 0.0;
-- pointList[i][2] = 0.0;
-- pointTime[i] = 0.0;
-- angle = (RANDOM_RANGE(60.0, 70.0)) * M_PI/180.0;
-- direction = RANDOM_RANGE(0.0, 360.0) * M_PI/180.0;
-- pointDirection[i][0] = cos(direction);
-- pointDirection[i][1] = sin(direction);
-- velocity = MEAN_VELOCITY + RANDOM_RANGE(-0.8, 1.0);
-- pointVelocity[i][0] = velocity * cos(angle);
-- pointVelocity[i][1] = velocity * sin(angle);
-- colorList[i] = rand() % NUM_COLORS;
-- }
-- theTime = 0.0;
--}
--
--static void
--updatePointList(void)
--{
-- float distance;
-- int i;
--
-- static double t0 = -1.;
-- double dt, t = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
-- if (t0 < 0.0)
-- t0 = t;
-- dt = t - t0;
-- t0 = t;
--
-- motion = 0;
-- for (i=0; i<numPoints; i++) {
-- distance = pointVelocity[i][0] * theTime;
--
-- /* X and Z */
-- pointList[i][0] = pointDirection[i][0] * distance;
-- pointList[i][2] = pointDirection[i][1] * distance;
--
-- /* Z */
-- pointList[i][1] =
-- (pointVelocity[i][1] - 0.5 * GRAVITY * pointTime[i])*pointTime[i];
--
-- /* If we hit the ground, bounce the point upward again. */
-- if (pointList[i][1] <= 0.0) {
-- if (distance > EDGE) {
-- /* Particle has hit ground past the distance duration of
-- the particles. Mark particle as dead. */
-- colorList[i] = NUM_COLORS; /* Not moving. */
-- continue;
-- }
--
-- pointVelocity[i][1] *= 0.8; /* 80% of previous up velocity. */
-- pointTime[i] = 0.0; /* Reset the particles sense of up time. */
-- }
-- motion = 1;
-- pointTime[i] += dt;
-- }
-- theTime += dt;
-- if (!motion && !spin) {
-- if (repeat) {
-- makePointList();
-- } else {
-- glutIdleFunc(NULL);
-- }
-- }
--}
--
--static void
--idle(void)
--{
-- updatePointList();
-- if (spin) {
-- angle += 0.3;
-- newModel = 1;
-- }
-- glutPostRedisplay();
--}
--
--static void
--visible(int vis)
--{
-- if (vis == GLUT_VISIBLE) {
-- if (animate && (motion || spin)) {
-- glutIdleFunc(idle);
-- }
-- } else {
-- glutIdleFunc(NULL);
-- }
--}
--
--static void
--recalcModelView(void)
--{
-- glPopMatrix();
-- glPushMatrix();
-- glRotatef(angle, 0.0, 1.0, 0.0);
-- newModel = 0;
--}
--
--static void
--redraw(void)
--{
-- int i;
--
-- glDepthMask(GL_TRUE);
-- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-- if (newModel)
-- recalcModelView();
--
--
-- /* Draw the floor. */
--/* glEnable(GL_TEXTURE_2D);*/
-- glColor3f(0.5, 1.0, 0.5);
-- glBegin(GL_QUADS);
-- glTexCoord2f(0.0, 0.0);
-- glVertex3f(-EDGE, -0.05, -EDGE);
-- glTexCoord2f(20.0, 0.0);
-- glVertex3f(EDGE, -0.05, -EDGE);
-- glTexCoord2f(20.0, 20.0);
-- glVertex3f(EDGE, -0.05, EDGE);
-- glTexCoord2f(0.0, 20.0);
-- glVertex3f(-EDGE, -0.05, EDGE);
-- glEnd();
--
-- /* Allow particles to blend with each other. */
-- glDepthMask(GL_FALSE);
--
-- if (blend)
-- glEnable(GL_BLEND);
--
-- glDisable(GL_TEXTURE_2D);
-- glBegin(GL_POINTS);
-- for (i=0; i<numPoints; i++) {
-- /* Draw alive particles. */
-- if (colorList[i] != DEAD) {
-- glColor4fv(colorSet[colorList[i]]);
-- glVertex3fv(pointList[i]);
-- }
-- }
-- glEnd();
--
-- glDisable(GL_BLEND);
--
-- glutSwapBuffers();
--}
--
--/* ARGSUSED2 */
--static void
--mouse(int button, int state, int x, int y)
--{
-- /* Scene can be spun around Y axis using left
-- mouse button movement. */
-- if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN) {
-- moving = 1;
-- begin = x;
-- }
-- if (button == GLUT_LEFT_BUTTON && state == GLUT_UP) {
-- moving = 0;
-- }
--}
--
--/* ARGSUSED1 */
--static void
--mouseMotion(int x, int y)
--{
-- if (moving) {
-- angle = angle + (x - begin);
-- begin = x;
-- newModel = 1;
-- glutPostRedisplay();
-- }
--}
--
--static void
--menu(int option)
--{
-- switch (option) {
-- case 0:
-- makePointList();
-- break;
--#ifdef GL_ARB_point_parameters
-- case 1:
-- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, constant);
-- break;
-- case 2:
-- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, linear);
-- break;
-- case 3:
-- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, theQuad);
-- break;
--#endif
-- case 4:
-- blend = 1;
-- break;
-- case 5:
-- blend = 0;
-- break;
--#ifdef GL_ARB_point_parameters
-- case 6:
-- glPointParameterfARB(GL_POINT_FADE_THRESHOLD_SIZE_ARB, 1.0);
-- break;
-- case 7:
-- glPointParameterfARB(GL_POINT_FADE_THRESHOLD_SIZE_ARB, 10.0);
-- break;
--#endif
-- case 8:
-- glEnable(GL_POINT_SMOOTH);
-- break;
-- case 9:
-- glDisable(GL_POINT_SMOOTH);
-- break;
-- case 10:
-- glPointSize(2.0);
-- break;
-- case 11:
-- glPointSize(4.0);
-- break;
-- case 12:
-- glPointSize(8.0);
-- break;
-- case 13:
-- spin = 1 - spin;
-- if (animate && (spin || motion)) {
-- glutIdleFunc(idle);
-- } else {
-- glutIdleFunc(NULL);
-- }
-- break;
-- case 14:
-- numPoints = 200;
-- break;
-- case 15:
-- numPoints = 500;
-- break;
-- case 16:
-- numPoints = 1000;
-- break;
-- case 17:
-- numPoints = 2000;
-- break;
-- case 666:
-- exit(0);
-- }
-- glutPostRedisplay();
--}
--
--/* ARGSUSED1 */
--static void
--key(unsigned char c, int x, int y)
--{
-- switch (c) {
-- case 13:
-- animate = 1 - animate; /* toggle. */
-- if (animate && (motion || spin)) {
-- glutIdleFunc(idle);
-- } else {
-- glutIdleFunc(NULL);
-- }
-- break;
-- case ' ':
-- animate = 1;
-- makePointList();
-- glutIdleFunc(idle);
-- break;
-- case 27:
-- exit(0);
-- }
--}
--
--/* Nice floor texture tiling pattern. */
--static char *circles[] = {
-- "....xxxx........",
-- "..xxxxxxxx......",
-- ".xxxxxxxxxx.....",
-- ".xxx....xxx.....",
-- "xxx......xxx....",
-- "xxx......xxx....",
-- "xxx......xxx....",
-- "xxx......xxx....",
-- ".xxx....xxx.....",
-- ".xxxxxxxxxx.....",
-- "..xxxxxxxx......",
-- "....xxxx........",
-- "................",
-- "................",
-- "................",
-- "................",
--};
--
--static void
--makeFloorTexture(void)
--{
-- GLubyte floorTexture[16][16][3];
-- GLubyte *loc;
-- int s, t;
--
-- /* Setup RGB image for the texture. */
-- loc = (GLubyte*) floorTexture;
-- for (t = 0; t < 16; t++) {
-- for (s = 0; s < 16; s++) {
-- if (circles[t][s] == 'x') {
-- /* Nice blue. */
-- loc[0] = 0x1f;
-- loc[1] = 0x1f;
-- loc[2] = 0x8f;
-- } else {
-- /* Light gray. */
-- loc[0] = 0xca;
-- loc[1] = 0xca;
-- loc[2] = 0xca;
-- }
-- loc += 3;
-- }
-- }
--
-- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
--
-- if (useMipmaps) {
-- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
-- GL_LINEAR_MIPMAP_LINEAR);
-- gluBuild2DMipmaps(GL_TEXTURE_2D, 3, 16, 16,
-- GL_RGB, GL_UNSIGNED_BYTE, floorTexture);
-- } else {
-- if (linearFiltering) {
-- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-- } else {
-- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
-- }
-- glTexImage2D(GL_TEXTURE_2D, 0, 3, 16, 16, 0,
-- GL_RGB, GL_UNSIGNED_BYTE, floorTexture);
-- }
--}
--
--int
--main(int argc, char **argv)
--{
-- int i;
--
-- glutInitWindowSize(300, 300);
-- glutInit(&argc, argv);
-- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_MULTISAMPLE);
--
-- for (i=1; i<argc; i++) {
-- if(!strcmp("-noms", argv[i])) {
-- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
-- printf("forcing no multisampling\n");
-- } else if(!strcmp("-nomipmaps", argv[i])) {
-- useMipmaps = 0;
-- } else if(!strcmp("-nearest", argv[i])) {
-- linearFiltering = 0;
-- }
-- }
--
-- glutCreateWindow("point burst");
-- glewInit();
-- glutDisplayFunc(redraw);
-- glutMouseFunc(mouse);
-- glutMotionFunc(mouseMotion);
-- glutVisibilityFunc(visible);
-- glutKeyboardFunc(key);
-- glutCreateMenu(menu);
-- glutAddMenuEntry("Reset time", 0);
-- glutAddMenuEntry("Constant", 1);
-- glutAddMenuEntry("Linear", 2);
-- glutAddMenuEntry("Quadratic", 3);
-- glutAddMenuEntry("Blend on", 4);
-- glutAddMenuEntry("Blend off", 5);
-- glutAddMenuEntry("Threshold 1", 6);
-- glutAddMenuEntry("Threshold 10", 7);
-- glutAddMenuEntry("Point smooth on", 8);
-- glutAddMenuEntry("Point smooth off", 9);
-- glutAddMenuEntry("Point size 2", 10);
-- glutAddMenuEntry("Point size 4", 11);
-- glutAddMenuEntry("Point size 8", 12);
-- glutAddMenuEntry("Toggle spin", 13);
-- glutAddMenuEntry("200 points ", 14);
-- glutAddMenuEntry("500 points ", 15);
-- glutAddMenuEntry("1000 points ", 16);
-- glutAddMenuEntry("2000 points ", 17);
-- glutAddMenuEntry("Quit", 666);
-- glutAttachMenu(GLUT_RIGHT_BUTTON);
--
-- if (!glutExtensionSupported("GL_ARB_point_parameters")) {
-- fprintf(stderr, "Sorry, GL_ARB_point_parameters is not supported.\n");
-- return -1;
-- }
--
-- glShadeModel(GL_FLAT);
-- glEnable(GL_DEPTH_TEST);
-- glEnable(GL_POINT_SMOOTH);
-- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-- glPointSize(8.0);
--#if GL_ARB_point_parameters
-- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, theQuad);
--#endif
-- glMatrixMode(GL_PROJECTION);
-- gluPerspective( /* field of view in degree */ 40.0,
-- /* aspect ratio */ 1.0,
-- /* Z near */ 0.5, /* Z far */ 40.0);
-- glMatrixMode(GL_MODELVIEW);
-- gluLookAt(0.0, 1.0, 8.0, /* eye location */
-- 0.0, 1.0, 0.0, /* center is at (0,0,0) */
-- 0.0, 1.0, 0.); /* up is in postivie Y direction */
-- glPushMatrix(); /* dummy push so we can pop on model
-- recalc */
--
-- makePointList();
-- makeFloorTexture();
--
-- glutMainLoop();
-- return 0; /* ANSI C requires main to return int. */
--}
-diff -rauNp Desktop/mesa-demos-8.0.1//src/demos/spriteblast.c mesa-demos-8.0.1//src/demos/spriteblast.c
---- Desktop/mesa-demos-8.0.1//src/demos/spriteblast.c 2010-07-07 13:57:15.000000000 -0400
-+++ mesa-demos-8.0.1/src/demos/spriteblast.c 1969-12-31 19:00:00.000000000 -0500
-@@ -1,555 +0,0 @@
--
--/* Copyright (c) Mark J. Kilgard, 1997. */
--
--/* This program is freely distributable without licensing fees
-- and is provided without guarantee or warrantee expressed or
-- implied. This program is -not- in the public domain. */
--
--/* This example demonstrates how to render particle effects
-- with OpenGL. A cloud of pinkish/orange particles explodes with the
-- particles bouncing off the ground. When the EXT_point_parameters
-- is present , the particle size is attenuated based on eye distance. */
--
--
--/* Modified by Brian Paul to test GL_ARB_point_sprite */
--
--
--#include <stdio.h>
--#include <stdlib.h>
--#include <string.h>
--#include <math.h> /* for cos(), sin(), and sqrt() */
--#ifdef _WIN32
--#include <windows.h>
--#endif
--#include <GL/glew.h>
--#include <GL/glut.h>
--
--/* Some <math.h> files do not define M_PI... */
--#ifndef M_PI
--#define M_PI 3.14159265
--#endif
--
--#if 0 /* For debugging. */
--#undef GL_EXT_point_parameters
--#endif
--
--static GLfloat angle = -150; /* in degrees */
--static int spin = 0;
--static int moving, begin;
--static float theTime;
--static int repeat = 1;
--static int blend = 1;
--int useMipmaps = 1;
--int linearFiltering = 1;
--
--static GLfloat constant[3] = { .2, 0.0, 0.0 };
--static GLfloat linear[3] = { .0, .1, 0.0 };
--static GLfloat theQuad[3] = { .005, 0.1, 1/600.0 };
--
--#define MAX_POINTS 2000
--
--static int numPoints = 200;
--
--static GLfloat pointList[MAX_POINTS][3];
--static GLfloat pointTime[MAX_POINTS];
--static GLfloat pointVelocity[MAX_POINTS][2];
--static GLfloat pointDirection[MAX_POINTS][2];
--static int colorList[MAX_POINTS];
--static int animate = 1, motion = 0, org = 0, sprite = 1, smooth = 1;
--
--static GLfloat colorSet[][4] = {
-- /* Shades of red. */
-- { 0.7, 0.2, 0.4, 0.5 },
-- { 0.8, 0.0, 0.7, 0.5 },
-- { 1.0, 0.0, 0.0, 0.5 },
-- { 0.9, 0.3, 0.6, 0.5 },
-- { 1.0, 0.4, 0.0, 0.5 },
-- { 1.0, 0.0, 0.5, 0.5 },
--};
--
--#define NUM_COLORS (sizeof(colorSet)/sizeof(colorSet[0]))
--
--#define DEAD (NUM_COLORS+1)
--
--
--/* GL */
--static GLint spritePattern[16][16] = {
-- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
-- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
-- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
-- { 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
-- { 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
-- { 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0 },
-- { 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
-- { 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
-- { 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0 },
-- { 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0 },
-- { 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0 },
-- { 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0 },
-- { 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0 },
-- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
-- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
-- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
--};
--
--
--
--
--#if 0 /* drand48 might be better on Unix machines */
--#define RANDOM_RANGE(lo, hi) ((lo) + (hi - lo) * drand48())
--#else
--static float float_rand(void) { return rand() / (float) RAND_MAX; }
--#define RANDOM_RANGE(lo, hi) ((lo) + (hi - lo) * float_rand())
--#endif
--
--#define MEAN_VELOCITY 3.0
--#define GRAVITY 2.0
--
--/* Modeling units of ground extent in each X and Z direction. */
--#define EDGE 12
--
--static void
--makePointList(void)
--{
-- float angle, velocity, direction;
-- int i;
--
-- motion = 1;
-- for (i=0; i<numPoints; i++) {
-- pointList[i][0] = 0.0;
-- pointList[i][1] = 0.0;
-- pointList[i][2] = 0.0;
-- pointTime[i] = 0.0;
-- angle = (RANDOM_RANGE(60.0, 70.0)) * M_PI/180.0;
-- direction = RANDOM_RANGE(0.0, 360.0) * M_PI/180.0;
-- pointDirection[i][0] = cos(direction);
-- pointDirection[i][1] = sin(direction);
-- velocity = MEAN_VELOCITY + RANDOM_RANGE(-0.8, 1.0);
-- pointVelocity[i][0] = velocity * cos(angle);
-- pointVelocity[i][1] = velocity * sin(angle);
-- colorList[i] = rand() % NUM_COLORS;
-- }
-- theTime = 0.0;
--}
--
--static void
--updatePointList(void)
--{
-- float distance;
-- int i;
--
-- static double t0 = -1.;
-- double dt, t = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
-- if (t0 < 0.0)
-- t0 = t;
-- dt = t - t0;
-- t0 = t;
--
-- motion = 0;
-- for (i=0; i<numPoints; i++) {
-- distance = pointVelocity[i][0] * theTime;
--
-- /* X and Z */
-- pointList[i][0] = pointDirection[i][0] * distance;
-- pointList[i][2] = pointDirection[i][1] * distance;
--
-- /* Z */
-- pointList[i][1] =
-- (pointVelocity[i][1] - 0.5 * GRAVITY * pointTime[i])*pointTime[i];
--
-- /* If we hit the ground, bounce the point upward again. */
-- if (pointList[i][1] <= 0.0) {
-- if (distance > EDGE) {
-- /* Particle has hit ground past the distance duration of
-- the particles. Mark particle as dead. */
-- colorList[i] = NUM_COLORS; /* Not moving. */
-- continue;
-- }
--
-- pointVelocity[i][1] *= 0.8; /* 80% of previous up velocity. */
-- pointTime[i] = 0.0; /* Reset the particles sense of up time. */
-- }
-- motion = 1;
-- pointTime[i] += dt;
-- }
-- theTime += dt;
-- if (!motion && !spin) {
-- if (repeat) {
-- makePointList();
-- } else {
-- glutIdleFunc(NULL);
-- }
-- }
--}
--
--static void
--idle(void)
--{
-- updatePointList();
-- if (spin) {
-- angle += 0.3;
-- }
-- glutPostRedisplay();
--}
--
--static void
--visible(int vis)
--{
-- if (vis == GLUT_VISIBLE) {
-- if (animate && (motion || spin)) {
-- glutIdleFunc(idle);
-- }
-- } else {
-- glutIdleFunc(NULL);
-- }
--}
--
--static void
--redraw(void)
--{
-- int i;
--
-- glDepthMask(GL_TRUE);
-- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
--
-- glPushMatrix();
-- glRotatef(15.0, 1.0, 0.0, 0.0);
-- glRotatef(angle, 0.0, 1.0, 0.0);
--
--
-- /* Draw the floor. */
--/* glEnable(GL_TEXTURE_2D);*/
-- glColor3f(0.1, 0.5, 1.0);
-- glBegin(GL_QUADS);
-- glTexCoord2f(0.0, 0.0);
-- glVertex3f(-EDGE, -0.05, -EDGE);
-- glTexCoord2f(20.0, 0.0);
-- glVertex3f(EDGE, -0.05, -EDGE);
-- glTexCoord2f(20.0, 20.0);
-- glVertex3f(EDGE, -0.05, EDGE);
-- glTexCoord2f(0.0, 20.0);
-- glVertex3f(-EDGE, -0.05, EDGE);
-- glEnd();
--
-- /* Allow particles to blend with each other. */
-- glDepthMask(GL_FALSE);
--
-- if (blend)
-- glEnable(GL_BLEND);
--
-- if (sprite) {
-- glEnable(GL_TEXTURE_2D);
--#ifdef GL_ARB_point_sprite
-- glEnable(GL_POINT_SPRITE_ARB);
--#endif
-- }
--
-- glColor3f(1,1,1);
-- glBegin(GL_POINTS);
-- for (i=0; i<numPoints; i++) {
-- /* Draw alive particles. */
-- if (colorList[i] != DEAD) {
-- if (!sprite) glColor4fv(colorSet[colorList[i]]);
-- glVertex3fv(pointList[i]);
-- }
-- }
-- glEnd();
--
-- glDisable(GL_TEXTURE_2D);
--#ifdef GL_ARB_point_sprite
-- glDisable(GL_POINT_SPRITE_ARB);
--#endif
-- glDisable(GL_BLEND);
--
-- glPopMatrix();
--
-- glutSwapBuffers();
--}
--
--/* ARGSUSED2 */
--static void
--mouse(int button, int state, int x, int y)
--{
-- /* Scene can be spun around Y axis using left
-- mouse button movement. */
-- if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN) {
-- moving = 1;
-- begin = x;
-- }
-- if (button == GLUT_LEFT_BUTTON && state == GLUT_UP) {
-- moving = 0;
-- }
--}
--
--/* ARGSUSED1 */
--static void
--mouseMotion(int x, int y)
--{
-- if (moving) {
-- angle = angle + (x - begin);
-- begin = x;
-- glutPostRedisplay();
-- }
--}
--
--static void
--menu(int option)
--{
-- switch (option) {
-- case 0:
-- makePointList();
-- break;
--#ifdef GL_ARB_point_parameters
-- case 1:
-- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, constant);
-- break;
-- case 2:
-- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, linear);
-- break;
-- case 3:
-- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, theQuad);
-- break;
--#endif
-- case 4:
-- blend = 1;
-- break;
-- case 5:
-- blend = 0;
-- break;
--#ifdef GL_ARB_point_parameters
-- case 6:
-- glPointParameterfARB(GL_POINT_FADE_THRESHOLD_SIZE_ARB, 1.0);
-- break;
-- case 7:
-- glPointParameterfARB(GL_POINT_FADE_THRESHOLD_SIZE_ARB, 10.0);
-- break;
--#endif
-- case 8:
-- glEnable(GL_POINT_SMOOTH);
-- smooth = 1;
-- break;
-- case 9:
-- glDisable(GL_POINT_SMOOTH);
-- smooth = 0;
-- break;
-- case 10:
-- glPointSize(16.0);
-- break;
-- case 11:
-- glPointSize(32.0);
-- break;
-- case 12:
-- glPointSize(64.0);
-- break;
-- case 13:
-- spin = 1 - spin;
-- if (animate && (spin || motion)) {
-- glutIdleFunc(idle);
-- } else {
-- glutIdleFunc(NULL);
-- }
-- break;
-- case 14:
-- numPoints = 200;
-- break;
-- case 15:
-- numPoints = 500;
-- break;
-- case 16:
-- numPoints = 1000;
-- break;
-- case 17:
-- numPoints = 2000;
-- break;
-- case 666:
-- exit(0);
-- }
-- glutPostRedisplay();
--}
--
--/* ARGSUSED1 */
--static void
--key(unsigned char c, int x, int y)
--{
-- switch (c) {
-- case 13:
-- animate = 1 - animate; /* toggle. */
-- if (animate && (motion || spin)) {
-- glutIdleFunc(idle);
-- } else {
-- glutIdleFunc(NULL);
-- }
-- break;
-- case ' ':
-- animate = 1;
-- makePointList();
-- glutIdleFunc(idle);
-- break;
-- case 'o':
-- case 'O':
-- org ^= 1;
--#ifdef GL_VERSION_2_0
--#ifdef GL_ARB_point_parameters
-- glPointParameteri(GL_POINT_SPRITE_COORD_ORIGIN,
-- org ? GL_LOWER_LEFT : GL_UPPER_LEFT);
--#endif
--#endif
-- glutPostRedisplay();
-- break;
-- case 't':
-- case 'T':
-- sprite ^= 1;
-- glutPostRedisplay();
-- break;
-- case 's':
-- case 'S':
-- (smooth ^= 1) ? glEnable(GL_POINT_SMOOTH) : glDisable(GL_POINT_SMOOTH);
-- glutPostRedisplay();
-- break;
-- case '0':
-- glPointSize(1.0);
-- glutPostRedisplay();
-- break;
-- case '1':
-- glPointSize(16.0);
-- glutPostRedisplay();
-- break;
-- case '2':
-- glPointSize(32.0);
-- glutPostRedisplay();
-- break;
-- case '3':
-- glPointSize(64.0);
-- glutPostRedisplay();
-- break;
-- case '4':
-- glPointSize(128.0);
-- glutPostRedisplay();
-- break;
-- case 27:
-- exit(0);
-- }
--}
--
--
--
--static void
--makeSprite(void)
--{
-- GLubyte texture[16][16][4];
-- int i, j;
--
-- if (!glutExtensionSupported("GL_ARB_point_sprite")) {
-- printf("Sorry, this demo requires GL_ARB_point_sprite.\n");
-- exit(0);
-- }
-- if (!glutExtensionSupported("GL_ARB_point_parameters")) {
-- printf("Sorry, this demo requires GL_ARB_point_parameters.\n");
-- exit(0);
-- }
--
-- for (i = 0; i < 16; i++) {
-- for (j = 0; j < 16; j++) {
-- if (spritePattern[i][j]) {
-- texture[i][j][0] = 255;
-- texture[i][j][1] = 255;
-- texture[i][j][2] = 255;
-- texture[i][j][3] = 255;
-- }
-- else {
-- texture[i][j][0] = 255;
-- texture[i][j][1] = 0;
-- texture[i][j][2] = 0;
-- texture[i][j][3] = 0;
-- }
-- }
-- }
--
-- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0, GL_RGBA, GL_UNSIGNED_BYTE,
-- texture);
-- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
--#ifdef GL_ARB_point_sprite
-- glTexEnvi(GL_POINT_SPRITE_ARB, GL_COORD_REPLACE_ARB, GL_TRUE);
--#endif
--}
--
--
--static void
--reshape(int width, int height)
--{
-- GLfloat h = (GLfloat) height / (GLfloat) width;
--
-- glViewport(0, 0, (GLint) width, (GLint) height);
-- glMatrixMode(GL_PROJECTION);
-- glLoadIdentity();
-- glFrustum(-1.0, 1.0, -h, h, 2.0, 30.0);
-- glMatrixMode(GL_MODELVIEW);
-- glLoadIdentity();
-- glTranslatef(0.0, 0.0, -10.0);
--}
--
--int
--main(int argc, char **argv)
--{
-- int i;
--
-- glutInitWindowSize(600,300);
-- glutInit(&argc, argv);
-- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_MULTISAMPLE);
--
-- for (i=1; i<argc; i++) {
-- if(!strcmp("-noms", argv[i])) {
-- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
-- printf("forcing no multisampling\n");
-- } else if(!strcmp("-nomipmaps", argv[i])) {
-- useMipmaps = 0;
-- } else if(!strcmp("-nearest", argv[i])) {
-- linearFiltering = 0;
-- }
-- }
-- glutCreateWindow("sprite blast");
-- glewInit();
-- glutReshapeFunc(reshape);
-- glutDisplayFunc(redraw);
-- glutMouseFunc(mouse);
-- glutMotionFunc(mouseMotion);
-- glutVisibilityFunc(visible);
-- glutKeyboardFunc(key);
-- glutCreateMenu(menu);
-- glutAddMenuEntry("Reset time", 0);
-- glutAddMenuEntry("Constant", 1);
-- glutAddMenuEntry("Linear", 2);
-- glutAddMenuEntry("Quadratic", 3);
-- glutAddMenuEntry("Blend on", 4);
-- glutAddMenuEntry("Blend off", 5);
-- glutAddMenuEntry("Threshold 1", 6);
-- glutAddMenuEntry("Threshold 10", 7);
-- glutAddMenuEntry("Point smooth on", 8);
-- glutAddMenuEntry("Point smooth off", 9);
-- glutAddMenuEntry("Point size 16", 10);
-- glutAddMenuEntry("Point size 32", 11);
-- glutAddMenuEntry("Point size 64", 12);
-- glutAddMenuEntry("Toggle spin", 13);
-- glutAddMenuEntry("200 points ", 14);
-- glutAddMenuEntry("500 points ", 15);
-- glutAddMenuEntry("1000 points ", 16);
-- glutAddMenuEntry("2000 points ", 17);
-- glutAddMenuEntry("Quit", 666);
-- glutAttachMenu(GLUT_RIGHT_BUTTON);
--
-- makePointList();
-- makeSprite();
--
-- glShadeModel(GL_FLAT);
-- glEnable(GL_DEPTH_TEST);
-- glEnable(GL_POINT_SMOOTH);
-- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-- glPointSize(32.0);
--#ifdef GL_ARB_point_parameters
-- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, theQuad);
--#endif
--
-- glutMainLoop();
-- return 0; /* ANSI C requires main to return int. */
--}
diff --git a/libre/linux-libre-kmod-alx/PKGBUILD b/libre/linux-libre-kmod-alx/PKGBUILD
index d64060918..33220b55a 100644
--- a/libre/linux-libre-kmod-alx/PKGBUILD
+++ b/libre/linux-libre-kmod-alx/PKGBUILD
@@ -1,12 +1,12 @@
# Maintainer: André Silva <emulatorman@lavabit.com>
_kernver=3.8
-_kernrel=1
+_kernrel=2
pkgname=('linux-libre-kmod-alx')
_version=v3.8-rc7
_pkgver=3.8-rc7-1-u
pkgver=3.8rc7.1
-pkgrel=4
+pkgrel=5
pkgdesc='Atheros alx ethernet device driver for linux-libre kernel'
arch=('i686' 'x86_64')
url='http://www.linuxfoundation.org/collaborate/workgroups/networking/alx'
diff --git a/libre/linux-libre/CVE-2013-1763.patch b/libre/linux-libre/CVE-2013-1763.patch
new file mode 100644
index 000000000..82b59a6dc
--- /dev/null
+++ b/libre/linux-libre/CVE-2013-1763.patch
@@ -0,0 +1,35 @@
+From 6e601a53566d84e1ffd25e7b6fe0b6894ffd79c0 Mon Sep 17 00:00:00 2001
+From: Mathias Krause <minipli@googlemail.com>
+Date: Sat, 23 Feb 2013 01:13:47 +0000
+Subject: [PATCH] sock_diag: Fix out-of-bounds access to sock_diag_handlers[]
+
+Userland can send a netlink message requesting SOCK_DIAG_BY_FAMILY
+with a family greater or equal then AF_MAX -- the array size of
+sock_diag_handlers[]. The current code does not test for this
+condition therefore is vulnerable to an out-of-bound access opening
+doors for a privilege escalation.
+
+Signed-off-by: Mathias Krause <minipli@googlemail.com>
+Acked-by: Eric Dumazet <edumazet@google.com>
+Signed-off-by: David S. Miller <davem@davemloft.net>
+---
+ net/core/sock_diag.c | 3 +++
+ 1 files changed, 3 insertions(+), 0 deletions(-)
+
+diff --git a/net/core/sock_diag.c b/net/core/sock_diag.c
+index 602cd63..750f44f 100644
+--- a/net/core/sock_diag.c
++++ b/net/core/sock_diag.c
+@@ -121,6 +121,9 @@ static int __sock_diag_rcv_msg(struct sk_buff *skb, struct nlmsghdr *nlh)
+ if (nlmsg_len(nlh) < sizeof(*req))
+ return -EINVAL;
+
++ if (req->sdiag_family >= AF_MAX)
++ return -EINVAL;
++
+ hndl = sock_diag_lock_handler(req->sdiag_family);
+ if (hndl == NULL)
+ err = -ENOENT;
+--
+1.7.6.5
+
diff --git a/libre/linux-libre/PKGBUILD b/libre/linux-libre/PKGBUILD
index 6842b2712..15bb939d0 100644
--- a/libre/linux-libre/PKGBUILD
+++ b/libre/linux-libre/PKGBUILD
@@ -1,4 +1,4 @@
-# $Id: PKGBUILD 178342 2013-02-20 12:32:29Z tpowa $
+# $Id: PKGBUILD 178533 2013-02-25 11:02:32Z tpowa $
# Maintainer: Tobias Powalowski <tpowa@archlinux.org>
# Maintainer: Thomas Baechler <thomas@archlinux.org>
# Maintainer (Parabola): Nicolás Reynolds <fauno@kiwwwi.com.ar>
@@ -13,7 +13,7 @@ _basekernel=3.8
#_sublevel=9
#pkgver=${_basekernel}.${_sublevel}
pkgver=${_basekernel}
-pkgrel=1
+pkgrel=2
#_lxopkgver=${_basekernel}.8 # nearly always the same as pkgver
arch=('i686' 'x86_64' 'mips64el')
url="http://linux-libre.fsfla.org/"
@@ -29,16 +29,18 @@ source=("http://linux-libre.fsfla.org/pub/linux-libre/releases/${_basekernel}-gn
'Kbuild'
'Kbuild.platforms'
'boot-logo.patch'
- 'change-default-console-loglevel.patch')
+ 'change-default-console-loglevel.patch'
+ 'CVE-2013-1763.patch')
#"http://www.linux-libre.fsfla.org/pub/linux-libre/lemote/gnewsense/pool/debuginfo/linux-patches-${_lxopkgver}-gnu_0loongsonlibre_mipsel.tar.bz2")
md5sums=('84c2a77910932ffc7d958744ac9cf2f5'
- 'd0ceaebf20b53184c50e7f4980ed45d1'
- '0b483b23413dbc451f2b041b9a475c03'
+ '101e798e00fd9b66a4c86cd30d28b844'
+ '5f3338af83af116b99746eb8a3ca65e4'
'e49ac236dfeef709f91a3d993ea7b62c'
'2967cecc3af9f954ccc822fd63dca6ff'
'8267264d9a8966e57fdacd1fa1fc65c4'
'04b21c79df0a952c22d681dd4f4562df'
- '9d3c56a4b999c8bfbd4018089a62f662')
+ '9d3c56a4b999c8bfbd4018089a62f662'
+ '420991808fe4cba143013427c0737aa9')
#if [ "$CARCH" != "mips64el" ]; then
# # Don't use the Loongson-specific patches on non-mips64el arches.
# unset source[${#source[@]}-1]
@@ -58,6 +60,10 @@ build() {
# Add freedo as boot logo
patch -Np1 -i "${srcdir}/boot-logo.patch"
+ # Fix security vulnetability CVE-2013-1763.patch
+ # https://bugs.archlinux.org/task/34005
+ patch -Np1 -i "${srcdir}/CVE-2013-1763.patch"
+
# set DEFAULT_CONSOLE_LOGLEVEL to 4 (same value as the 'quiet' kernel param)
# remove this when a Kconfig knob is made available by upstream
# (relevant patch sent upstream: https://lkml.org/lkml/2011/7/26/227)
@@ -246,7 +252,7 @@ _package-headers() {
mkdir -p "${pkgdir}/usr/src/linux-${_kernver}/include"
- for i in acpi asm-generic config crypto drm generated linux math-emu \
+ for i in acpi asm-generic config crypto drm generated keys linux math-emu \
media net pcmcia scsi sound trace uapi video xen; do
cp -a include/${i} "${pkgdir}/usr/src/linux-${_kernver}/include/"
done
diff --git a/libre/linux-libre/config.i686 b/libre/linux-libre/config.i686
index 1491a2ff6..f6af7876a 100644
--- a/libre/linux-libre/config.i686
+++ b/libre/linux-libre/config.i686
@@ -5866,7 +5866,7 @@ CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set
CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init"
-CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init"
+CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/usr/lib/systemd/systemd"
CONFIG_SECURITY_APPARMOR=y
CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=0
# CONFIG_SECURITY_YAMA is not set
diff --git a/libre/linux-libre/config.x86_64 b/libre/linux-libre/config.x86_64
index dcf662c3c..5818aa984 100644
--- a/libre/linux-libre/config.x86_64
+++ b/libre/linux-libre/config.x86_64
@@ -5639,7 +5639,7 @@ CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048
CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024
# CONFIG_SECURITY_TOMOYO_OMIT_USERSPACE_LOADER is not set
CONFIG_SECURITY_TOMOYO_POLICY_LOADER="/sbin/tomoyo-init"
-CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/sbin/init"
+CONFIG_SECURITY_TOMOYO_ACTIVATION_TRIGGER="/usr/lib/systemd/systemd"
CONFIG_SECURITY_APPARMOR=y
CONFIG_SECURITY_APPARMOR_BOOTPARAM_VALUE=0
# CONFIG_SECURITY_YAMA is not set
diff --git a/libre/linux-libre/linux-libre.install b/libre/linux-libre/linux-libre.install
index c94a54bcc..fb7fa81c2 100644
--- a/libre/linux-libre/linux-libre.install
+++ b/libre/linux-libre/linux-libre.install
@@ -2,7 +2,7 @@
# arg 2: the old package version
KERNEL_NAME=
-KERNEL_VERSION=3.8.0-1-LIBRE
+KERNEL_VERSION=3.8.0-2-LIBRE
# set a sane PATH to ensure that critical utils like depmod will be found
export PATH='/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'
diff --git a/libre/luxblend25/PKGBUILD b/libre/luxblend25/PKGBUILD
index 6d249b329..44ef6a542 100644
--- a/libre/luxblend25/PKGBUILD
+++ b/libre/luxblend25/PKGBUILD
@@ -32,7 +32,7 @@ replaces=(
$pkgname
)
source=(
- "https://src.$pkgbase.net/$pkgname/archive/$srcver.tar.bz2"
+ "http://src.$pkgbase.net/$pkgname/archive/$srcver.tar.bz2"
)
sha512sums=(
f5aadc77e699f6b7259ece271b0c50ca7be5858bb628b99aedbb23b64e5587ac59cc3d1c52e063ba89c9d340f915727046e4d3017b26238425d43d3bba14f017
diff --git a/libre/mesa-demos-libre/PKGBUILD b/libre/mesa-demos-libre/PKGBUILD
index 31170b19f..46f2b42b4 100644
--- a/libre/mesa-demos-libre/PKGBUILD
+++ b/libre/mesa-demos-libre/PKGBUILD
@@ -1,29 +1,33 @@
-# $Id: PKGBUILD 151279 2012-02-25 12:34:03Z pierre $
+# $Id: PKGBUILD 178740 2013-02-26 16:15:13Z andyrtr $
# Maintainer: Jan de Groot <jgc@archlinux.org>
# Maintainer: Andreas Radke <andyrtr@archlinux.org>
-# Contributor (Parabola): <andre.paulista@adinet.com.uy>
+# Maintainer (Parabola): <emulatorman@lavabit.com>
pkgname='mesa-demos-libre'
-pkgver=8.0.1
-pkgrel=2
+pkgver=8.1.0
+pkgrel=1
arch=('i686' 'x86_64')
-pkgdesc="Mesa demos and tools, libre"
+pkgdesc="Mesa demos and tools, without nonfree demos"
url="http://mesa3d.sourceforge.net"
license=('custom')
-depends=('glew')
+depends=('libgl' 'glew')
provides=("mesa-demos=$pkgver")
replaces=('mesa-demos')
conflicts=('mesa-demos')
source=("ftp://ftp.freedesktop.org/pub/mesa/demos/${pkgver}/mesa-demos-${pkgver}.tar.bz2"
- mesa-demos-libre.patch
- LICENSE)
-md5sums=('320c2a4b6edc6faba35d9cb1e2a30bf4'
- '1858e95d40ac9e5e0b59753ce9e673e3'
- '5c65a0fe315dd347e09b1f2826a1df5a')
+ 'LICENSE'
+ 'mesa-demos-libre.patch')
+sha256sums=('9703fa0646b32a1e68d2abf5628f936f77bf97c69ffcaac90de380820a87a828'
+ '7fdc119cf53c8ca65396ea73f6d10af641ba41ea1dd2bd44a824726e01c8b3f2'
+ '476f58fc62e9074936643b0d61165c5160a6d5aed082e60c10b39d219f56913f')
build() {
cd "${srcdir}/mesa-demos-${pkgver}"
+
+ # Remove nonfree demos (pointblast and spriteblast)
+ rm -v src/demos/{pointblast,spriteblast}.c
patch -Np1 -i "${srcdir}/mesa-demos-libre.patch"
+
./configure --prefix=/usr
make
}
diff --git a/libre/mesa-demos-libre/mesa-demos-libre.patch b/libre/mesa-demos-libre/mesa-demos-libre.patch
index c5261f8e9..d630f373c 100644
--- a/libre/mesa-demos-libre/mesa-demos-libre.patch
+++ b/libre/mesa-demos-libre/mesa-demos-libre.patch
@@ -1,15 +1,15 @@
-diff -rauNp Desktop/mesa-demos-8.0.1//src/demos/Makefile.am mesa-demos-8.0.1//src/demos/Makefile.am
---- Desktop/mesa-demos-8.0.1//src/demos/Makefile.am 2010-07-13 14:46:40.000000000 -0400
-+++ mesa-demos-8.0.1/src/demos/Makefile.am 2011-06-04 15:34:18.000000000 -0400
-@@ -62,7 +62,6 @@ bin_PROGRAMS = \
- morph3d \
+diff -Nur mesa-demos-8.1.0.orig/src/demos/Makefile.am mesa-demos-8.1.0/src/demos/Makefile.am
+--- mesa-demos-8.1.0.orig/src/demos/Makefile.am 2012-12-15 05:17:06.000000000 -0200
++++ mesa-demos-8.1.0/src/demos/Makefile.am 2013-02-26 17:22:04.845832793 -0200
+@@ -65,7 +65,6 @@
multiarb \
paltex \
+ pixeltest \
- pointblast \
projtex \
ray \
readpix \
-@@ -71,7 +70,6 @@ bin_PROGRAMS = \
+@@ -74,7 +73,6 @@
shadowtex \
singlebuffer \
spectex \
@@ -17,36 +17,34 @@ diff -rauNp Desktop/mesa-demos-8.0.1//src/demos/Makefile.am mesa-demos-8.0.1//sr
stex3d \
teapot \
terrain \
-diff -rauNp Desktop/mesa-demos-8.0.1//src/demos/Makefile.in mesa-demos-8.0.1//src/demos/Makefile.in
---- Desktop/mesa-demos-8.0.1//src/demos/Makefile.in 2010-07-13 14:53:23.000000000 -0400
-+++ mesa-demos-8.0.1/src/demos/Makefile.in 2011-06-04 15:35:32.000000000 -0400
-@@ -73,11 +73,10 @@ host_triplet = @host@
+diff -Nur mesa-demos-8.1.0.orig/src/demos/Makefile.in mesa-demos-8.1.0/src/demos/Makefile.in
+--- mesa-demos-8.1.0.orig/src/demos/Makefile.in 2013-02-24 09:12:04.000000000 -0200
++++ mesa-demos-8.1.0/src/demos/Makefile.in 2013-02-26 17:48:36.711995049 -0200
+@@ -90,11 +90,11 @@
@HAVE_GLUT_TRUE@ ipers$(EXEEXT) isosurf$(EXEEXT) \
@HAVE_GLUT_TRUE@ lodbias$(EXEEXT) morph3d$(EXEEXT) \
@HAVE_GLUT_TRUE@ multiarb$(EXEEXT) paltex$(EXEEXT) \
--@HAVE_GLUT_TRUE@ pointblast$(EXEEXT) projtex$(EXEEXT) \
--@HAVE_GLUT_TRUE@ ray$(EXEEXT) readpix$(EXEEXT) reflect$(EXEEXT) \
--@HAVE_GLUT_TRUE@ renormal$(EXEEXT) shadowtex$(EXEEXT) \
--@HAVE_GLUT_TRUE@ singlebuffer$(EXEEXT) spectex$(EXEEXT) \
--@HAVE_GLUT_TRUE@ spriteblast$(EXEEXT) stex3d$(EXEEXT) \
-+@HAVE_GLUT_TRUE@ projtex$(EXEEXT) ray$(EXEEXT) readpix$(EXEEXT) \
-+@HAVE_GLUT_TRUE@ reflect$(EXEEXT) renormal$(EXEEXT) \
-+@HAVE_GLUT_TRUE@ shadowtex$(EXEEXT) singlebuffer$(EXEEXT) \
-+@HAVE_GLUT_TRUE@ spectex$(EXEEXT) stex3d$(EXEEXT) \
- @HAVE_GLUT_TRUE@ teapot$(EXEEXT) terrain$(EXEEXT) \
- @HAVE_GLUT_TRUE@ tessdemo$(EXEEXT) texcyl$(EXEEXT) \
- @HAVE_GLUT_TRUE@ texenv$(EXEEXT) textures$(EXEEXT) \
-@@ -188,9 +187,6 @@ multiarb_DEPENDENCIES = ../util/libutil.
- paltex_SOURCES = paltex.c
- paltex_OBJECTS = paltex.$(OBJEXT)
- paltex_LDADD = $(LDADD)
+-@HAVE_GLUT_TRUE@ pixeltest$(EXEEXT) pointblast$(EXEEXT) \
++@HAVE_GLUT_TRUE@ pixeltest$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ projtex$(EXEEXT) ray$(EXEEXT) readpix$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ reflect$(EXEEXT) renormal$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ shadowtex$(EXEEXT) singlebuffer$(EXEEXT) \
+-@HAVE_GLUT_TRUE@ spectex$(EXEEXT) spriteblast$(EXEEXT) \
++@HAVE_GLUT_TRUE@ spectex$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ stex3d$(EXEEXT) teapot$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ terrain$(EXEEXT) tessdemo$(EXEEXT) \
+ @HAVE_GLUT_TRUE@ texcyl$(EXEEXT) texenv$(EXEEXT) \
+@@ -219,9 +219,6 @@
+ pixeltest_SOURCES = pixeltest.c
+ pixeltest_OBJECTS = pixeltest.$(OBJEXT)
+ pixeltest_LDADD = $(LDADD)
-pointblast_SOURCES = pointblast.c
-pointblast_OBJECTS = pointblast.$(OBJEXT)
-pointblast_LDADD = $(LDADD)
projtex_SOURCES = projtex.c
projtex_OBJECTS = projtex.$(OBJEXT)
projtex_DEPENDENCIES = ../util/libutil.la
-@@ -215,9 +211,6 @@ singlebuffer_LDADD = $(LDADD)
+@@ -246,9 +243,6 @@
spectex_SOURCES = spectex.c
spectex_OBJECTS = spectex.$(OBJEXT)
spectex_LDADD = $(LDADD)
@@ -56,66 +54,57 @@ diff -rauNp Desktop/mesa-demos-8.0.1//src/demos/Makefile.in mesa-demos-8.0.1//sr
stex3d_SOURCES = stex3d.c
stex3d_OBJECTS = stex3d.$(OBJEXT)
stex3d_LDADD = $(LDADD)
-@@ -285,21 +278,20 @@ SOURCES = arbfplight.c arbfslight.c arbo
- fbo_firecube.c fbotexture.c fire.c fogcoord.c fplight.c \
- fslight.c gamma.c gearbox.c gears.c geartrain.c glinfo.c \
- gloss.c gltestperf.c ipers.c isosurf.c lodbias.c morph3d.c \
-- multiarb.c paltex.c pointblast.c projtex.c ray.c readpix.c \
-- reflect.c renormal.c shadowtex.c singlebuffer.c spectex.c \
-- spriteblast.c stex3d.c teapot.c terrain.c tessdemo.c texcyl.c \
-- texenv.c textures.c trispd.c $(tunnel_SOURCES) tunnel2.c \
-- vao_demo.c winpos.c
-+ multiarb.c paltex.c projtex.c ray.c readpix.c reflect.c \
-+ renormal.c shadowtex.c singlebuffer.c spectex.c stex3d.c \
-+ teapot.c terrain.c tessdemo.c texcyl.c texenv.c textures.c \
-+ trispd.c $(tunnel_SOURCES) tunnel2.c vao_demo.c winpos.c
- DIST_SOURCES = arbfplight.c arbfslight.c arbocclude.c bounce.c \
- clearspd.c copypix.c cubemap.c dinoshade.c dissolve.c \
- drawpix.c engine.c fbo_firecube.c fbotexture.c fire.c \
- fogcoord.c fplight.c fslight.c gamma.c gearbox.c gears.c \
- geartrain.c glinfo.c gloss.c gltestperf.c ipers.c isosurf.c \
-- lodbias.c morph3d.c multiarb.c paltex.c pointblast.c projtex.c \
-- ray.c readpix.c reflect.c renormal.c shadowtex.c \
-- singlebuffer.c spectex.c spriteblast.c stex3d.c teapot.c \
-- terrain.c tessdemo.c texcyl.c texenv.c textures.c trispd.c \
-- $(tunnel_SOURCES) tunnel2.c vao_demo.c winpos.c
-+ lodbias.c morph3d.c multiarb.c paltex.c projtex.c ray.c \
-+ readpix.c reflect.c renormal.c shadowtex.c singlebuffer.c \
-+ spectex.c stex3d.c teapot.c terrain.c tessdemo.c texcyl.c \
-+ texenv.c textures.c trispd.c $(tunnel_SOURCES) tunnel2.c \
-+ vao_demo.c winpos.c
- ETAGS = etags
- CTAGS = ctags
- DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
-@@ -653,9 +645,6 @@ multiarb$(EXEEXT): $(multiarb_OBJECTS) $
- paltex$(EXEEXT): $(paltex_OBJECTS) $(paltex_DEPENDENCIES)
- @rm -f paltex$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(paltex_OBJECTS) $(paltex_LDADD) $(LIBS)
--pointblast$(EXEEXT): $(pointblast_OBJECTS) $(pointblast_DEPENDENCIES)
+@@ -325,8 +319,8 @@
+ fbotexture.c fire.c fogcoord.c fplight.c fslight.c gamma.c \
+ gearbox.c gears.c geartrain.c glinfo.c gloss.c gltestperf.c \
+ ipers.c isosurf.c lodbias.c morph3d.c multiarb.c paltex.c \
+- pixeltest.c pointblast.c projtex.c ray.c readpix.c reflect.c \
+- renormal.c shadowtex.c singlebuffer.c spectex.c spriteblast.c \
++ pixeltest.c projtex.c ray.c readpix.c reflect.c \
++ renormal.c shadowtex.c singlebuffer.c spectex.c \
+ stex3d.c teapot.c terrain.c tessdemo.c texcyl.c texenv.c \
+ textures.c trispd.c $(tunnel_SOURCES) tunnel2.c vao_demo.c \
+ winpos.c
+@@ -336,8 +330,8 @@
+ fbotexture.c fire.c fogcoord.c fplight.c fslight.c gamma.c \
+ gearbox.c gears.c geartrain.c glinfo.c gloss.c gltestperf.c \
+ ipers.c isosurf.c lodbias.c morph3d.c multiarb.c paltex.c \
+- pixeltest.c pointblast.c projtex.c ray.c readpix.c reflect.c \
+- renormal.c shadowtex.c singlebuffer.c spectex.c spriteblast.c \
++ pixeltest.c projtex.c ray.c readpix.c reflect.c \
++ renormal.c shadowtex.c singlebuffer.c spectex.c \
+ stex3d.c teapot.c terrain.c tessdemo.c texcyl.c texenv.c \
+ textures.c trispd.c $(tunnel_SOURCES) tunnel2.c vao_demo.c \
+ winpos.c
+@@ -722,9 +716,6 @@
+ pixeltest$(EXEEXT): $(pixeltest_OBJECTS) $(pixeltest_DEPENDENCIES) $(EXTRA_pixeltest_DEPENDENCIES)
+ @rm -f pixeltest$(EXEEXT)
+ $(AM_V_CCLD)$(LINK) $(pixeltest_OBJECTS) $(pixeltest_LDADD) $(LIBS)
+-pointblast$(EXEEXT): $(pointblast_OBJECTS) $(pointblast_DEPENDENCIES) $(EXTRA_pointblast_DEPENDENCIES)
- @rm -f pointblast$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(pointblast_OBJECTS) $(pointblast_LDADD) $(LIBS)
- projtex$(EXEEXT): $(projtex_OBJECTS) $(projtex_DEPENDENCIES)
+ projtex$(EXEEXT): $(projtex_OBJECTS) $(projtex_DEPENDENCIES) $(EXTRA_projtex_DEPENDENCIES)
@rm -f projtex$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(projtex_OBJECTS) $(projtex_LDADD) $(LIBS)
-@@ -680,9 +669,6 @@ singlebuffer$(EXEEXT): $(singlebuffer_OB
- spectex$(EXEEXT): $(spectex_OBJECTS) $(spectex_DEPENDENCIES)
+@@ -749,9 +740,6 @@
+ spectex$(EXEEXT): $(spectex_OBJECTS) $(spectex_DEPENDENCIES) $(EXTRA_spectex_DEPENDENCIES)
@rm -f spectex$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(spectex_OBJECTS) $(spectex_LDADD) $(LIBS)
--spriteblast$(EXEEXT): $(spriteblast_OBJECTS) $(spriteblast_DEPENDENCIES)
+-spriteblast$(EXEEXT): $(spriteblast_OBJECTS) $(spriteblast_DEPENDENCIES) $(EXTRA_spriteblast_DEPENDENCIES)
- @rm -f spriteblast$(EXEEXT)
- $(AM_V_CCLD)$(LINK) $(spriteblast_OBJECTS) $(spriteblast_LDADD) $(LIBS)
- stex3d$(EXEEXT): $(stex3d_OBJECTS) $(stex3d_DEPENDENCIES)
+ stex3d$(EXEEXT): $(stex3d_OBJECTS) $(stex3d_DEPENDENCIES) $(EXTRA_stex3d_DEPENDENCIES)
@rm -f stex3d$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(stex3d_OBJECTS) $(stex3d_LDADD) $(LIBS)
-@@ -756,7 +742,6 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/morph3d.Po@am__quote@
+@@ -828,7 +816,6 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/multiarb.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/paltex.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pixeltest.Po@am__quote@
-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pointblast.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/projtex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/ray.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/readpix.Po@am__quote@
-@@ -765,7 +750,6 @@ distclean-compile:
+@@ -837,7 +824,6 @@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shadowtex.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/singlebuffer.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spectex.Po@am__quote@
@@ -123,1070 +112,3 @@ diff -rauNp Desktop/mesa-demos-8.0.1//src/demos/Makefile.in mesa-demos-8.0.1//sr
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stex3d.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/teapot.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/terrain.Po@am__quote@
-diff -rauNp Desktop/mesa-demos-8.0.1//src/demos/pointblast.c mesa-demos-8.0.1//src/demos/pointblast.c
---- Desktop/mesa-demos-8.0.1//src/demos/pointblast.c 2010-07-07 13:57:15.000000000 -0400
-+++ mesa-demos-8.0.1/src/demos/pointblast.c 1969-12-31 19:00:00.000000000 -0500
-@@ -1,504 +0,0 @@
--
--/* Copyright (c) Mark J. Kilgard, 1997. */
--
--/* This program is freely distributable without licensing fees
-- and is provided without guarantee or warrantee expressed or
-- implied. This program is -not- in the public domain. */
--
--/* This example demonstrates how to render particle effects
-- with OpenGL. A cloud of pinkish/orange particles explodes with the
-- particles bouncing off the ground. When the EXT_point_parameters
-- is present , the particle size is attenuated based on eye distance. */
--
--
--#include <stdio.h>
--#include <stdlib.h>
--#include <string.h>
--#include <math.h> /* for cos(), sin(), and sqrt() */
--#ifdef _WIN32
--#include <windows.h>
--#endif
--#include <GL/glew.h>
--#include <GL/glut.h>
--
--/* Some <math.h> files do not define M_PI... */
--#ifndef M_PI
--#define M_PI 3.14159265
--#endif
--
--#if 0 /* For debugging. */
--#undef GL_EXT_point_parameters
--#endif
--
--static GLfloat angle = -150; /* in degrees */
--static int spin = 0;
--static int moving, begin;
--static int newModel = 1;
--static float theTime;
--static int repeat = 1;
--static int blend = 1;
--int useMipmaps = 1;
--int linearFiltering = 1;
--
--static GLfloat constant[3] = { 1/5.0, 0.0, 0.0 };
--static GLfloat linear[3] = { 0.0, 1/5.0, 0.0 };
--static GLfloat theQuad[3] = { 0.25, 0.0, 1/60.0 };
--
--#define MAX_POINTS 2000
--
--static int numPoints = 200;
--
--static GLfloat pointList[MAX_POINTS][3];
--static GLfloat pointTime[MAX_POINTS];
--static GLfloat pointVelocity[MAX_POINTS][2];
--static GLfloat pointDirection[MAX_POINTS][2];
--static int colorList[MAX_POINTS];
--static int animate = 1, motion = 0;
--
--static GLfloat colorSet[][4] = {
-- /* Shades of red. */
-- { 0.7, 0.2, 0.4, 0.5 },
-- { 0.8, 0.0, 0.7, 0.5 },
-- { 1.0, 0.0, 0.0, 0.5 },
-- { 0.9, 0.3, 0.6, 0.5 },
-- { 1.0, 0.4, 0.0, 0.5 },
-- { 1.0, 0.0, 0.5, 0.5 },
--};
--
--#define NUM_COLORS (sizeof(colorSet)/sizeof(colorSet[0]))
--
--#define DEAD (NUM_COLORS+1)
--
--
--#if 0 /* drand48 might be better on Unix machines */
--#define RANDOM_RANGE(lo, hi) ((lo) + (hi - lo) * drand48())
--#else
--static float float_rand(void) { return rand() / (float) RAND_MAX; }
--#define RANDOM_RANGE(lo, hi) ((lo) + (hi - lo) * float_rand())
--#endif
--
--#define MEAN_VELOCITY 3.0
--#define GRAVITY 2.0
--
--/* Modeling units of ground extent in each X and Z direction. */
--#define EDGE 12
--
--static void
--makePointList(void)
--{
-- float angle, velocity, direction;
-- int i;
--
-- motion = 1;
-- for (i=0; i<numPoints; i++) {
-- pointList[i][0] = 0.0;
-- pointList[i][1] = 0.0;
-- pointList[i][2] = 0.0;
-- pointTime[i] = 0.0;
-- angle = (RANDOM_RANGE(60.0, 70.0)) * M_PI/180.0;
-- direction = RANDOM_RANGE(0.0, 360.0) * M_PI/180.0;
-- pointDirection[i][0] = cos(direction);
-- pointDirection[i][1] = sin(direction);
-- velocity = MEAN_VELOCITY + RANDOM_RANGE(-0.8, 1.0);
-- pointVelocity[i][0] = velocity * cos(angle);
-- pointVelocity[i][1] = velocity * sin(angle);
-- colorList[i] = rand() % NUM_COLORS;
-- }
-- theTime = 0.0;
--}
--
--static void
--updatePointList(void)
--{
-- float distance;
-- int i;
--
-- static double t0 = -1.;
-- double dt, t = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
-- if (t0 < 0.0)
-- t0 = t;
-- dt = t - t0;
-- t0 = t;
--
-- motion = 0;
-- for (i=0; i<numPoints; i++) {
-- distance = pointVelocity[i][0] * theTime;
--
-- /* X and Z */
-- pointList[i][0] = pointDirection[i][0] * distance;
-- pointList[i][2] = pointDirection[i][1] * distance;
--
-- /* Z */
-- pointList[i][1] =
-- (pointVelocity[i][1] - 0.5 * GRAVITY * pointTime[i])*pointTime[i];
--
-- /* If we hit the ground, bounce the point upward again. */
-- if (pointList[i][1] <= 0.0) {
-- if (distance > EDGE) {
-- /* Particle has hit ground past the distance duration of
-- the particles. Mark particle as dead. */
-- colorList[i] = NUM_COLORS; /* Not moving. */
-- continue;
-- }
--
-- pointVelocity[i][1] *= 0.8; /* 80% of previous up velocity. */
-- pointTime[i] = 0.0; /* Reset the particles sense of up time. */
-- }
-- motion = 1;
-- pointTime[i] += dt;
-- }
-- theTime += dt;
-- if (!motion && !spin) {
-- if (repeat) {
-- makePointList();
-- } else {
-- glutIdleFunc(NULL);
-- }
-- }
--}
--
--static void
--idle(void)
--{
-- updatePointList();
-- if (spin) {
-- angle += 0.3;
-- newModel = 1;
-- }
-- glutPostRedisplay();
--}
--
--static void
--visible(int vis)
--{
-- if (vis == GLUT_VISIBLE) {
-- if (animate && (motion || spin)) {
-- glutIdleFunc(idle);
-- }
-- } else {
-- glutIdleFunc(NULL);
-- }
--}
--
--static void
--recalcModelView(void)
--{
-- glPopMatrix();
-- glPushMatrix();
-- glRotatef(angle, 0.0, 1.0, 0.0);
-- newModel = 0;
--}
--
--static void
--redraw(void)
--{
-- int i;
--
-- glDepthMask(GL_TRUE);
-- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
-- if (newModel)
-- recalcModelView();
--
--
-- /* Draw the floor. */
--/* glEnable(GL_TEXTURE_2D);*/
-- glColor3f(0.5, 1.0, 0.5);
-- glBegin(GL_QUADS);
-- glTexCoord2f(0.0, 0.0);
-- glVertex3f(-EDGE, -0.05, -EDGE);
-- glTexCoord2f(20.0, 0.0);
-- glVertex3f(EDGE, -0.05, -EDGE);
-- glTexCoord2f(20.0, 20.0);
-- glVertex3f(EDGE, -0.05, EDGE);
-- glTexCoord2f(0.0, 20.0);
-- glVertex3f(-EDGE, -0.05, EDGE);
-- glEnd();
--
-- /* Allow particles to blend with each other. */
-- glDepthMask(GL_FALSE);
--
-- if (blend)
-- glEnable(GL_BLEND);
--
-- glDisable(GL_TEXTURE_2D);
-- glBegin(GL_POINTS);
-- for (i=0; i<numPoints; i++) {
-- /* Draw alive particles. */
-- if (colorList[i] != DEAD) {
-- glColor4fv(colorSet[colorList[i]]);
-- glVertex3fv(pointList[i]);
-- }
-- }
-- glEnd();
--
-- glDisable(GL_BLEND);
--
-- glutSwapBuffers();
--}
--
--/* ARGSUSED2 */
--static void
--mouse(int button, int state, int x, int y)
--{
-- /* Scene can be spun around Y axis using left
-- mouse button movement. */
-- if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN) {
-- moving = 1;
-- begin = x;
-- }
-- if (button == GLUT_LEFT_BUTTON && state == GLUT_UP) {
-- moving = 0;
-- }
--}
--
--/* ARGSUSED1 */
--static void
--mouseMotion(int x, int y)
--{
-- if (moving) {
-- angle = angle + (x - begin);
-- begin = x;
-- newModel = 1;
-- glutPostRedisplay();
-- }
--}
--
--static void
--menu(int option)
--{
-- switch (option) {
-- case 0:
-- makePointList();
-- break;
--#ifdef GL_ARB_point_parameters
-- case 1:
-- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, constant);
-- break;
-- case 2:
-- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, linear);
-- break;
-- case 3:
-- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, theQuad);
-- break;
--#endif
-- case 4:
-- blend = 1;
-- break;
-- case 5:
-- blend = 0;
-- break;
--#ifdef GL_ARB_point_parameters
-- case 6:
-- glPointParameterfARB(GL_POINT_FADE_THRESHOLD_SIZE_ARB, 1.0);
-- break;
-- case 7:
-- glPointParameterfARB(GL_POINT_FADE_THRESHOLD_SIZE_ARB, 10.0);
-- break;
--#endif
-- case 8:
-- glEnable(GL_POINT_SMOOTH);
-- break;
-- case 9:
-- glDisable(GL_POINT_SMOOTH);
-- break;
-- case 10:
-- glPointSize(2.0);
-- break;
-- case 11:
-- glPointSize(4.0);
-- break;
-- case 12:
-- glPointSize(8.0);
-- break;
-- case 13:
-- spin = 1 - spin;
-- if (animate && (spin || motion)) {
-- glutIdleFunc(idle);
-- } else {
-- glutIdleFunc(NULL);
-- }
-- break;
-- case 14:
-- numPoints = 200;
-- break;
-- case 15:
-- numPoints = 500;
-- break;
-- case 16:
-- numPoints = 1000;
-- break;
-- case 17:
-- numPoints = 2000;
-- break;
-- case 666:
-- exit(0);
-- }
-- glutPostRedisplay();
--}
--
--/* ARGSUSED1 */
--static void
--key(unsigned char c, int x, int y)
--{
-- switch (c) {
-- case 13:
-- animate = 1 - animate; /* toggle. */
-- if (animate && (motion || spin)) {
-- glutIdleFunc(idle);
-- } else {
-- glutIdleFunc(NULL);
-- }
-- break;
-- case ' ':
-- animate = 1;
-- makePointList();
-- glutIdleFunc(idle);
-- break;
-- case 27:
-- exit(0);
-- }
--}
--
--/* Nice floor texture tiling pattern. */
--static char *circles[] = {
-- "....xxxx........",
-- "..xxxxxxxx......",
-- ".xxxxxxxxxx.....",
-- ".xxx....xxx.....",
-- "xxx......xxx....",
-- "xxx......xxx....",
-- "xxx......xxx....",
-- "xxx......xxx....",
-- ".xxx....xxx.....",
-- ".xxxxxxxxxx.....",
-- "..xxxxxxxx......",
-- "....xxxx........",
-- "................",
-- "................",
-- "................",
-- "................",
--};
--
--static void
--makeFloorTexture(void)
--{
-- GLubyte floorTexture[16][16][3];
-- GLubyte *loc;
-- int s, t;
--
-- /* Setup RGB image for the texture. */
-- loc = (GLubyte*) floorTexture;
-- for (t = 0; t < 16; t++) {
-- for (s = 0; s < 16; s++) {
-- if (circles[t][s] == 'x') {
-- /* Nice blue. */
-- loc[0] = 0x1f;
-- loc[1] = 0x1f;
-- loc[2] = 0x8f;
-- } else {
-- /* Light gray. */
-- loc[0] = 0xca;
-- loc[1] = 0xca;
-- loc[2] = 0xca;
-- }
-- loc += 3;
-- }
-- }
--
-- glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
--
-- if (useMipmaps) {
-- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER,
-- GL_LINEAR_MIPMAP_LINEAR);
-- gluBuild2DMipmaps(GL_TEXTURE_2D, 3, 16, 16,
-- GL_RGB, GL_UNSIGNED_BYTE, floorTexture);
-- } else {
-- if (linearFiltering) {
-- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-- } else {
-- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
-- }
-- glTexImage2D(GL_TEXTURE_2D, 0, 3, 16, 16, 0,
-- GL_RGB, GL_UNSIGNED_BYTE, floorTexture);
-- }
--}
--
--int
--main(int argc, char **argv)
--{
-- int i;
--
-- glutInitWindowSize(300, 300);
-- glutInit(&argc, argv);
-- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_MULTISAMPLE);
--
-- for (i=1; i<argc; i++) {
-- if(!strcmp("-noms", argv[i])) {
-- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
-- printf("forcing no multisampling\n");
-- } else if(!strcmp("-nomipmaps", argv[i])) {
-- useMipmaps = 0;
-- } else if(!strcmp("-nearest", argv[i])) {
-- linearFiltering = 0;
-- }
-- }
--
-- glutCreateWindow("point burst");
-- glewInit();
-- glutDisplayFunc(redraw);
-- glutMouseFunc(mouse);
-- glutMotionFunc(mouseMotion);
-- glutVisibilityFunc(visible);
-- glutKeyboardFunc(key);
-- glutCreateMenu(menu);
-- glutAddMenuEntry("Reset time", 0);
-- glutAddMenuEntry("Constant", 1);
-- glutAddMenuEntry("Linear", 2);
-- glutAddMenuEntry("Quadratic", 3);
-- glutAddMenuEntry("Blend on", 4);
-- glutAddMenuEntry("Blend off", 5);
-- glutAddMenuEntry("Threshold 1", 6);
-- glutAddMenuEntry("Threshold 10", 7);
-- glutAddMenuEntry("Point smooth on", 8);
-- glutAddMenuEntry("Point smooth off", 9);
-- glutAddMenuEntry("Point size 2", 10);
-- glutAddMenuEntry("Point size 4", 11);
-- glutAddMenuEntry("Point size 8", 12);
-- glutAddMenuEntry("Toggle spin", 13);
-- glutAddMenuEntry("200 points ", 14);
-- glutAddMenuEntry("500 points ", 15);
-- glutAddMenuEntry("1000 points ", 16);
-- glutAddMenuEntry("2000 points ", 17);
-- glutAddMenuEntry("Quit", 666);
-- glutAttachMenu(GLUT_RIGHT_BUTTON);
--
-- if (!glutExtensionSupported("GL_ARB_point_parameters")) {
-- fprintf(stderr, "Sorry, GL_ARB_point_parameters is not supported.\n");
-- return -1;
-- }
--
-- glShadeModel(GL_FLAT);
-- glEnable(GL_DEPTH_TEST);
-- glEnable(GL_POINT_SMOOTH);
-- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-- glPointSize(8.0);
--#if GL_ARB_point_parameters
-- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, theQuad);
--#endif
-- glMatrixMode(GL_PROJECTION);
-- gluPerspective( /* field of view in degree */ 40.0,
-- /* aspect ratio */ 1.0,
-- /* Z near */ 0.5, /* Z far */ 40.0);
-- glMatrixMode(GL_MODELVIEW);
-- gluLookAt(0.0, 1.0, 8.0, /* eye location */
-- 0.0, 1.0, 0.0, /* center is at (0,0,0) */
-- 0.0, 1.0, 0.); /* up is in postivie Y direction */
-- glPushMatrix(); /* dummy push so we can pop on model
-- recalc */
--
-- makePointList();
-- makeFloorTexture();
--
-- glutMainLoop();
-- return 0; /* ANSI C requires main to return int. */
--}
-diff -rauNp Desktop/mesa-demos-8.0.1//src/demos/spriteblast.c mesa-demos-8.0.1//src/demos/spriteblast.c
---- Desktop/mesa-demos-8.0.1//src/demos/spriteblast.c 2010-07-07 13:57:15.000000000 -0400
-+++ mesa-demos-8.0.1/src/demos/spriteblast.c 1969-12-31 19:00:00.000000000 -0500
-@@ -1,555 +0,0 @@
--
--/* Copyright (c) Mark J. Kilgard, 1997. */
--
--/* This program is freely distributable without licensing fees
-- and is provided without guarantee or warrantee expressed or
-- implied. This program is -not- in the public domain. */
--
--/* This example demonstrates how to render particle effects
-- with OpenGL. A cloud of pinkish/orange particles explodes with the
-- particles bouncing off the ground. When the EXT_point_parameters
-- is present , the particle size is attenuated based on eye distance. */
--
--
--/* Modified by Brian Paul to test GL_ARB_point_sprite */
--
--
--#include <stdio.h>
--#include <stdlib.h>
--#include <string.h>
--#include <math.h> /* for cos(), sin(), and sqrt() */
--#ifdef _WIN32
--#include <windows.h>
--#endif
--#include <GL/glew.h>
--#include <GL/glut.h>
--
--/* Some <math.h> files do not define M_PI... */
--#ifndef M_PI
--#define M_PI 3.14159265
--#endif
--
--#if 0 /* For debugging. */
--#undef GL_EXT_point_parameters
--#endif
--
--static GLfloat angle = -150; /* in degrees */
--static int spin = 0;
--static int moving, begin;
--static float theTime;
--static int repeat = 1;
--static int blend = 1;
--int useMipmaps = 1;
--int linearFiltering = 1;
--
--static GLfloat constant[3] = { .2, 0.0, 0.0 };
--static GLfloat linear[3] = { .0, .1, 0.0 };
--static GLfloat theQuad[3] = { .005, 0.1, 1/600.0 };
--
--#define MAX_POINTS 2000
--
--static int numPoints = 200;
--
--static GLfloat pointList[MAX_POINTS][3];
--static GLfloat pointTime[MAX_POINTS];
--static GLfloat pointVelocity[MAX_POINTS][2];
--static GLfloat pointDirection[MAX_POINTS][2];
--static int colorList[MAX_POINTS];
--static int animate = 1, motion = 0, org = 0, sprite = 1, smooth = 1;
--
--static GLfloat colorSet[][4] = {
-- /* Shades of red. */
-- { 0.7, 0.2, 0.4, 0.5 },
-- { 0.8, 0.0, 0.7, 0.5 },
-- { 1.0, 0.0, 0.0, 0.5 },
-- { 0.9, 0.3, 0.6, 0.5 },
-- { 1.0, 0.4, 0.0, 0.5 },
-- { 1.0, 0.0, 0.5, 0.5 },
--};
--
--#define NUM_COLORS (sizeof(colorSet)/sizeof(colorSet[0]))
--
--#define DEAD (NUM_COLORS+1)
--
--
--/* GL */
--static GLint spritePattern[16][16] = {
-- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
-- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
-- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
-- { 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
-- { 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
-- { 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0 },
-- { 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
-- { 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0 },
-- { 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0 },
-- { 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0 },
-- { 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0 },
-- { 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0 },
-- { 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0 },
-- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
-- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },
-- { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
--};
--
--
--
--
--#if 0 /* drand48 might be better on Unix machines */
--#define RANDOM_RANGE(lo, hi) ((lo) + (hi - lo) * drand48())
--#else
--static float float_rand(void) { return rand() / (float) RAND_MAX; }
--#define RANDOM_RANGE(lo, hi) ((lo) + (hi - lo) * float_rand())
--#endif
--
--#define MEAN_VELOCITY 3.0
--#define GRAVITY 2.0
--
--/* Modeling units of ground extent in each X and Z direction. */
--#define EDGE 12
--
--static void
--makePointList(void)
--{
-- float angle, velocity, direction;
-- int i;
--
-- motion = 1;
-- for (i=0; i<numPoints; i++) {
-- pointList[i][0] = 0.0;
-- pointList[i][1] = 0.0;
-- pointList[i][2] = 0.0;
-- pointTime[i] = 0.0;
-- angle = (RANDOM_RANGE(60.0, 70.0)) * M_PI/180.0;
-- direction = RANDOM_RANGE(0.0, 360.0) * M_PI/180.0;
-- pointDirection[i][0] = cos(direction);
-- pointDirection[i][1] = sin(direction);
-- velocity = MEAN_VELOCITY + RANDOM_RANGE(-0.8, 1.0);
-- pointVelocity[i][0] = velocity * cos(angle);
-- pointVelocity[i][1] = velocity * sin(angle);
-- colorList[i] = rand() % NUM_COLORS;
-- }
-- theTime = 0.0;
--}
--
--static void
--updatePointList(void)
--{
-- float distance;
-- int i;
--
-- static double t0 = -1.;
-- double dt, t = glutGet(GLUT_ELAPSED_TIME) / 1000.0;
-- if (t0 < 0.0)
-- t0 = t;
-- dt = t - t0;
-- t0 = t;
--
-- motion = 0;
-- for (i=0; i<numPoints; i++) {
-- distance = pointVelocity[i][0] * theTime;
--
-- /* X and Z */
-- pointList[i][0] = pointDirection[i][0] * distance;
-- pointList[i][2] = pointDirection[i][1] * distance;
--
-- /* Z */
-- pointList[i][1] =
-- (pointVelocity[i][1] - 0.5 * GRAVITY * pointTime[i])*pointTime[i];
--
-- /* If we hit the ground, bounce the point upward again. */
-- if (pointList[i][1] <= 0.0) {
-- if (distance > EDGE) {
-- /* Particle has hit ground past the distance duration of
-- the particles. Mark particle as dead. */
-- colorList[i] = NUM_COLORS; /* Not moving. */
-- continue;
-- }
--
-- pointVelocity[i][1] *= 0.8; /* 80% of previous up velocity. */
-- pointTime[i] = 0.0; /* Reset the particles sense of up time. */
-- }
-- motion = 1;
-- pointTime[i] += dt;
-- }
-- theTime += dt;
-- if (!motion && !spin) {
-- if (repeat) {
-- makePointList();
-- } else {
-- glutIdleFunc(NULL);
-- }
-- }
--}
--
--static void
--idle(void)
--{
-- updatePointList();
-- if (spin) {
-- angle += 0.3;
-- }
-- glutPostRedisplay();
--}
--
--static void
--visible(int vis)
--{
-- if (vis == GLUT_VISIBLE) {
-- if (animate && (motion || spin)) {
-- glutIdleFunc(idle);
-- }
-- } else {
-- glutIdleFunc(NULL);
-- }
--}
--
--static void
--redraw(void)
--{
-- int i;
--
-- glDepthMask(GL_TRUE);
-- glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
--
-- glPushMatrix();
-- glRotatef(15.0, 1.0, 0.0, 0.0);
-- glRotatef(angle, 0.0, 1.0, 0.0);
--
--
-- /* Draw the floor. */
--/* glEnable(GL_TEXTURE_2D);*/
-- glColor3f(0.1, 0.5, 1.0);
-- glBegin(GL_QUADS);
-- glTexCoord2f(0.0, 0.0);
-- glVertex3f(-EDGE, -0.05, -EDGE);
-- glTexCoord2f(20.0, 0.0);
-- glVertex3f(EDGE, -0.05, -EDGE);
-- glTexCoord2f(20.0, 20.0);
-- glVertex3f(EDGE, -0.05, EDGE);
-- glTexCoord2f(0.0, 20.0);
-- glVertex3f(-EDGE, -0.05, EDGE);
-- glEnd();
--
-- /* Allow particles to blend with each other. */
-- glDepthMask(GL_FALSE);
--
-- if (blend)
-- glEnable(GL_BLEND);
--
-- if (sprite) {
-- glEnable(GL_TEXTURE_2D);
--#ifdef GL_ARB_point_sprite
-- glEnable(GL_POINT_SPRITE_ARB);
--#endif
-- }
--
-- glColor3f(1,1,1);
-- glBegin(GL_POINTS);
-- for (i=0; i<numPoints; i++) {
-- /* Draw alive particles. */
-- if (colorList[i] != DEAD) {
-- if (!sprite) glColor4fv(colorSet[colorList[i]]);
-- glVertex3fv(pointList[i]);
-- }
-- }
-- glEnd();
--
-- glDisable(GL_TEXTURE_2D);
--#ifdef GL_ARB_point_sprite
-- glDisable(GL_POINT_SPRITE_ARB);
--#endif
-- glDisable(GL_BLEND);
--
-- glPopMatrix();
--
-- glutSwapBuffers();
--}
--
--/* ARGSUSED2 */
--static void
--mouse(int button, int state, int x, int y)
--{
-- /* Scene can be spun around Y axis using left
-- mouse button movement. */
-- if (button == GLUT_LEFT_BUTTON && state == GLUT_DOWN) {
-- moving = 1;
-- begin = x;
-- }
-- if (button == GLUT_LEFT_BUTTON && state == GLUT_UP) {
-- moving = 0;
-- }
--}
--
--/* ARGSUSED1 */
--static void
--mouseMotion(int x, int y)
--{
-- if (moving) {
-- angle = angle + (x - begin);
-- begin = x;
-- glutPostRedisplay();
-- }
--}
--
--static void
--menu(int option)
--{
-- switch (option) {
-- case 0:
-- makePointList();
-- break;
--#ifdef GL_ARB_point_parameters
-- case 1:
-- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, constant);
-- break;
-- case 2:
-- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, linear);
-- break;
-- case 3:
-- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, theQuad);
-- break;
--#endif
-- case 4:
-- blend = 1;
-- break;
-- case 5:
-- blend = 0;
-- break;
--#ifdef GL_ARB_point_parameters
-- case 6:
-- glPointParameterfARB(GL_POINT_FADE_THRESHOLD_SIZE_ARB, 1.0);
-- break;
-- case 7:
-- glPointParameterfARB(GL_POINT_FADE_THRESHOLD_SIZE_ARB, 10.0);
-- break;
--#endif
-- case 8:
-- glEnable(GL_POINT_SMOOTH);
-- smooth = 1;
-- break;
-- case 9:
-- glDisable(GL_POINT_SMOOTH);
-- smooth = 0;
-- break;
-- case 10:
-- glPointSize(16.0);
-- break;
-- case 11:
-- glPointSize(32.0);
-- break;
-- case 12:
-- glPointSize(64.0);
-- break;
-- case 13:
-- spin = 1 - spin;
-- if (animate && (spin || motion)) {
-- glutIdleFunc(idle);
-- } else {
-- glutIdleFunc(NULL);
-- }
-- break;
-- case 14:
-- numPoints = 200;
-- break;
-- case 15:
-- numPoints = 500;
-- break;
-- case 16:
-- numPoints = 1000;
-- break;
-- case 17:
-- numPoints = 2000;
-- break;
-- case 666:
-- exit(0);
-- }
-- glutPostRedisplay();
--}
--
--/* ARGSUSED1 */
--static void
--key(unsigned char c, int x, int y)
--{
-- switch (c) {
-- case 13:
-- animate = 1 - animate; /* toggle. */
-- if (animate && (motion || spin)) {
-- glutIdleFunc(idle);
-- } else {
-- glutIdleFunc(NULL);
-- }
-- break;
-- case ' ':
-- animate = 1;
-- makePointList();
-- glutIdleFunc(idle);
-- break;
-- case 'o':
-- case 'O':
-- org ^= 1;
--#ifdef GL_VERSION_2_0
--#ifdef GL_ARB_point_parameters
-- glPointParameteri(GL_POINT_SPRITE_COORD_ORIGIN,
-- org ? GL_LOWER_LEFT : GL_UPPER_LEFT);
--#endif
--#endif
-- glutPostRedisplay();
-- break;
-- case 't':
-- case 'T':
-- sprite ^= 1;
-- glutPostRedisplay();
-- break;
-- case 's':
-- case 'S':
-- (smooth ^= 1) ? glEnable(GL_POINT_SMOOTH) : glDisable(GL_POINT_SMOOTH);
-- glutPostRedisplay();
-- break;
-- case '0':
-- glPointSize(1.0);
-- glutPostRedisplay();
-- break;
-- case '1':
-- glPointSize(16.0);
-- glutPostRedisplay();
-- break;
-- case '2':
-- glPointSize(32.0);
-- glutPostRedisplay();
-- break;
-- case '3':
-- glPointSize(64.0);
-- glutPostRedisplay();
-- break;
-- case '4':
-- glPointSize(128.0);
-- glutPostRedisplay();
-- break;
-- case 27:
-- exit(0);
-- }
--}
--
--
--
--static void
--makeSprite(void)
--{
-- GLubyte texture[16][16][4];
-- int i, j;
--
-- if (!glutExtensionSupported("GL_ARB_point_sprite")) {
-- printf("Sorry, this demo requires GL_ARB_point_sprite.\n");
-- exit(0);
-- }
-- if (!glutExtensionSupported("GL_ARB_point_parameters")) {
-- printf("Sorry, this demo requires GL_ARB_point_parameters.\n");
-- exit(0);
-- }
--
-- for (i = 0; i < 16; i++) {
-- for (j = 0; j < 16; j++) {
-- if (spritePattern[i][j]) {
-- texture[i][j][0] = 255;
-- texture[i][j][1] = 255;
-- texture[i][j][2] = 255;
-- texture[i][j][3] = 255;
-- }
-- else {
-- texture[i][j][0] = 255;
-- texture[i][j][1] = 0;
-- texture[i][j][2] = 0;
-- texture[i][j][3] = 0;
-- }
-- }
-- }
--
-- glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, 16, 16, 0, GL_RGBA, GL_UNSIGNED_BYTE,
-- texture);
-- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
-- glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
--#ifdef GL_ARB_point_sprite
-- glTexEnvi(GL_POINT_SPRITE_ARB, GL_COORD_REPLACE_ARB, GL_TRUE);
--#endif
--}
--
--
--static void
--reshape(int width, int height)
--{
-- GLfloat h = (GLfloat) height / (GLfloat) width;
--
-- glViewport(0, 0, (GLint) width, (GLint) height);
-- glMatrixMode(GL_PROJECTION);
-- glLoadIdentity();
-- glFrustum(-1.0, 1.0, -h, h, 2.0, 30.0);
-- glMatrixMode(GL_MODELVIEW);
-- glLoadIdentity();
-- glTranslatef(0.0, 0.0, -10.0);
--}
--
--int
--main(int argc, char **argv)
--{
-- int i;
--
-- glutInitWindowSize(600,300);
-- glutInit(&argc, argv);
-- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH | GLUT_MULTISAMPLE);
--
-- for (i=1; i<argc; i++) {
-- if(!strcmp("-noms", argv[i])) {
-- glutInitDisplayMode(GLUT_RGB | GLUT_DOUBLE | GLUT_DEPTH);
-- printf("forcing no multisampling\n");
-- } else if(!strcmp("-nomipmaps", argv[i])) {
-- useMipmaps = 0;
-- } else if(!strcmp("-nearest", argv[i])) {
-- linearFiltering = 0;
-- }
-- }
-- glutCreateWindow("sprite blast");
-- glewInit();
-- glutReshapeFunc(reshape);
-- glutDisplayFunc(redraw);
-- glutMouseFunc(mouse);
-- glutMotionFunc(mouseMotion);
-- glutVisibilityFunc(visible);
-- glutKeyboardFunc(key);
-- glutCreateMenu(menu);
-- glutAddMenuEntry("Reset time", 0);
-- glutAddMenuEntry("Constant", 1);
-- glutAddMenuEntry("Linear", 2);
-- glutAddMenuEntry("Quadratic", 3);
-- glutAddMenuEntry("Blend on", 4);
-- glutAddMenuEntry("Blend off", 5);
-- glutAddMenuEntry("Threshold 1", 6);
-- glutAddMenuEntry("Threshold 10", 7);
-- glutAddMenuEntry("Point smooth on", 8);
-- glutAddMenuEntry("Point smooth off", 9);
-- glutAddMenuEntry("Point size 16", 10);
-- glutAddMenuEntry("Point size 32", 11);
-- glutAddMenuEntry("Point size 64", 12);
-- glutAddMenuEntry("Toggle spin", 13);
-- glutAddMenuEntry("200 points ", 14);
-- glutAddMenuEntry("500 points ", 15);
-- glutAddMenuEntry("1000 points ", 16);
-- glutAddMenuEntry("2000 points ", 17);
-- glutAddMenuEntry("Quit", 666);
-- glutAttachMenu(GLUT_RIGHT_BUTTON);
--
-- makePointList();
-- makeSprite();
--
-- glShadeModel(GL_FLAT);
-- glEnable(GL_DEPTH_TEST);
-- glEnable(GL_POINT_SMOOTH);
-- glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
-- glPointSize(32.0);
--#ifdef GL_ARB_point_parameters
-- glPointParameterfvARB(GL_POINT_DISTANCE_ATTENUATION_ARB, theQuad);
--#endif
--
-- glutMainLoop();
-- return 0; /* ANSI C requires main to return int. */
--}
diff --git a/pcr/nexuiz-data/PKGBUILD b/pcr/nexuiz-data/PKGBUILD
index edd338097..f6d3ba62c 100644
--- a/pcr/nexuiz-data/PKGBUILD
+++ b/pcr/nexuiz-data/PKGBUILD
@@ -9,11 +9,11 @@ pkgname=nexuiz-data
_pkgsourcename=nexuiz
pkgver=2.5.2
_zipver=252
-pkgrel=1
+pkgrel=3
arch=('any')
pkgdesc="Nexuiz game data"
conflicts=('nexuiz<2.5.1-3')
-url="http://www.nexuiz.com/"
+url="http://www.alientrap.org/games/nexuiz"
license=("GPL")
source=(http://downloads.sourceforge.net/${_pkgsourcename}/${_pkgsourcename}-${_zipver}.zip)
md5sums=('d750bc328e58df8492f8d88bdcf818cb')
diff --git a/pcr/nexuiz/PKGBUILD b/pcr/nexuiz/PKGBUILD
index 5c3b50899..1e3fdfbeb 100644
--- a/pcr/nexuiz/PKGBUILD
+++ b/pcr/nexuiz/PKGBUILD
@@ -8,10 +8,10 @@
pkgname=nexuiz
pkgver=2.5.2
_zipver=252
-pkgrel=2.2
+pkgrel=3
arch=('i686' 'x86_64')
pkgdesc="A free software first person shooter"
-url="http://www.alientrap.org/games/nexuiz/"
+url="http://www.alientrap.org/games/nexuiz"
license=("GPL")
depends=('alsa-lib' 'curl' 'libjpeg>=8' 'libmodplug' 'libvorbis' 'libxpm' 'libxxf86dga' 'libxxf86vm' 'sdl' 'nexuiz-data' 'libpng>=1.4.0')
makedepends=('mesa')
diff --git a/pcr/skanlite/PKGBUILD b/pcr/skanlite/PKGBUILD
new file mode 100644
index 000000000..42a164785
--- /dev/null
+++ b/pcr/skanlite/PKGBUILD
@@ -0,0 +1,30 @@
+# Maintainer: birdflesh <antkoul at gmail dot com>
+# Contributor: Andrea Scarpino <andrea@archlinux.org>
+# Contributor: Pierre Schmitz <pierre@archlinux.de>
+
+pkgname=skanlite
+pkgver=1.0
+pkgrel=1
+pkgdesc="Image Scanning Application for KDE"
+arch=('i686' 'x86_64')
+url='http://www.kde.org/applications/graphics/skanlite'
+license=('GPL')
+depends=('kdebase-runtime' 'libksane')
+makedepends=('cmake' 'automoc4')
+source=("http://download.kde.org/stable/$pkgname/$pkgver/src/$pkgname-$pkgver.tar.bz2")
+md5sums=('e22b2719f134d2483591082026961bf5')
+
+build() {
+ cd "$srcdir"
+ mkdir build
+ cd build
+ cmake ../$pkgname-$pkgver \
+ -DCMAKE_BUILD_TYPE=Release \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ make
+}
+
+package() {
+ cd "$srcdir/build"
+ make DESTDIR="$pkgdir" install
+}