diff options
author | Nicolás Reynolds <fauno@parabola.nu> | 2013-02-27 11:41:09 -0300 |
---|---|---|
committer | Nicolás Reynolds <fauno@parabola.nu> | 2013-02-27 11:41:09 -0300 |
commit | 5d736d1341e23e62a115ff985eed7dc506642cb7 (patch) | |
tree | c223cd26e699b134c6ee397bf6d0730560bb9b68 | |
parent | 08ad6a1796e89e23792e2ca4cc760d8dd432884c (diff) | |
parent | c12c4a04a2df7565aaaf8e195ab8cc971f9bbd0c (diff) | |
download | abslibre-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.patch | 35 | ||||
-rw-r--r-- | kernels/linux-libre-pae/PKGBUILD | 16 | ||||
-rw-r--r-- | kernels/linux-libre-pae/linux-libre-pae.install | 2 | ||||
-rw-r--r-- | kernels/linux-libre-xen/CVE-2013-1763.patch | 35 | ||||
-rw-r--r-- | kernels/linux-libre-xen/PKGBUILD | 16 | ||||
-rw-r--r-- | kernels/linux-libre-xen/linux-libre-xen.install | 2 | ||||
-rw-r--r-- | libre/blender-libre/PKGBUILD | 77 | ||||
-rw-r--r-- | libre/lib32-mesa-demos-libre/PKGBUILD | 26 | ||||
-rw-r--r-- | libre/lib32-mesa-demos-libre/mesa-demos-libre.patch | 1198 | ||||
-rw-r--r-- | libre/linux-libre-kmod-alx/PKGBUILD | 4 | ||||
-rw-r--r-- | libre/linux-libre/CVE-2013-1763.patch | 35 | ||||
-rw-r--r-- | libre/linux-libre/PKGBUILD | 20 | ||||
-rw-r--r-- | libre/linux-libre/config.i686 | 2 | ||||
-rw-r--r-- | libre/linux-libre/config.x86_64 | 2 | ||||
-rw-r--r-- | libre/linux-libre/linux-libre.install | 2 | ||||
-rw-r--r-- | libre/luxblend25/PKGBUILD | 2 | ||||
-rw-r--r-- | libre/mesa-demos-libre/PKGBUILD | 26 | ||||
-rw-r--r-- | libre/mesa-demos-libre/mesa-demos-libre.patch | 1198 | ||||
-rw-r--r-- | pcr/nexuiz-data/PKGBUILD | 4 | ||||
-rw-r--r-- | pcr/nexuiz/PKGBUILD | 4 | ||||
-rw-r--r-- | pcr/skanlite/PKGBUILD | 30 |
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 +} |