From 483f8b3ac46ac2d40e8cc2f9c25365741bebc791 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 26 Sep 2012 00:54:07 -0700 Subject: Wed Sep 26 00:54:06 PDT 2012 --- libre/lib32-mesa-demos-libre/PKGBUILD | 45 + .../lib32-mesa-demos-libre/mesa-demos-libre.patch | 1192 ++++++++++++++++++++ libre/lib32-sdl-libre/PKGBUILD | 60 + libre/lib32-sdl-libre/fix_joystick_misc_axes.diff | 13 + libre/lib32-sdl-libre/libre.patch | 578 ++++++++++ libre/lib32-sdl-libre/libsdl-1.2.15-resizing.patch | 63 ++ libre/lib32-sdl-libre/sdl-1.2.14-disable-mmx.patch | 13 + .../sdl-1.2.14-fix-mouse-clicking.patch | 23 + libre/sdl-libre/PKGBUILD | 11 +- libre/sdl-libre/libsdl-1.2.15-resizing.patch | 63 ++ 10 files changed, 2058 insertions(+), 3 deletions(-) create mode 100644 libre/lib32-mesa-demos-libre/PKGBUILD create mode 100755 libre/lib32-mesa-demos-libre/mesa-demos-libre.patch create mode 100644 libre/lib32-sdl-libre/PKGBUILD create mode 100644 libre/lib32-sdl-libre/fix_joystick_misc_axes.diff create mode 100644 libre/lib32-sdl-libre/libre.patch create mode 100644 libre/lib32-sdl-libre/libsdl-1.2.15-resizing.patch create mode 100644 libre/lib32-sdl-libre/sdl-1.2.14-disable-mmx.patch create mode 100644 libre/lib32-sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch create mode 100644 libre/sdl-libre/libsdl-1.2.15-resizing.patch (limited to 'libre') diff --git a/libre/lib32-mesa-demos-libre/PKGBUILD b/libre/lib32-mesa-demos-libre/PKGBUILD new file mode 100644 index 000000000..1719f138d --- /dev/null +++ b/libre/lib32-mesa-demos-libre/PKGBUILD @@ -0,0 +1,45 @@ +# $Id: PKGBUILD 94667 2010-10-09 11:21:35Z andyrtr $ +# Maintainer: Jan de Groot +# Maintainer: Andreas Radke +# Maintainer (Parabola): André Silva + +_pkgbasename=mesa-demos-libre +pkgname=lib32-$_pkgbasename +pkgver=8.0.1 +pkgrel=2 +arch=(x86_64) +pkgdesc="Mesa demos and tools (32-bit), libre" +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) +source=(ftp://ftp.freedesktop.org/pub/mesa/demos/${pkgver}/mesa-demos-${pkgver}.tar.bz2 + mesa-demos-libre.patch) +md5sums=('320c2a4b6edc6faba35d9cb1e2a30bf4' + '1858e95d40ac9e5e0b59753ce9e673e3') + +build() { + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + cd "${srcdir}/mesa-demos-${pkgver}" + patch -Np1 -i "${srcdir}/mesa-demos-libre.patch" + ./configure --prefix=/usr + make +} + +package() { + cd "${srcdir}/mesa-demos-${pkgver}" + make DESTDIR="${pkgdir}" install + + for i in "$pkgdir/usr/bin/"*; do + mv "$i" "$i"32 + done + + mkdir -p "$pkgdir/usr/share/licenses" + ln -s mesa-demos "$pkgdir/usr/share/licenses/lib32-mesa-demos" +} diff --git a/libre/lib32-mesa-demos-libre/mesa-demos-libre.patch b/libre/lib32-mesa-demos-libre/mesa-demos-libre.patch new file mode 100755 index 000000000..c5261f8e9 --- /dev/null +++ b/libre/lib32-mesa-demos-libre/mesa-demos-libre.patch @@ -0,0 +1,1192 @@ +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 \ + multiarb \ + paltex \ +- pointblast \ + projtex \ + ray \ + readpix \ +@@ -71,7 +70,6 @@ bin_PROGRAMS = \ + shadowtex \ + singlebuffer \ + spectex \ +- spriteblast \ + 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@ + @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) +-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) + spectex_SOURCES = spectex.c + spectex_OBJECTS = spectex.$(OBJEXT) + spectex_LDADD = $(LDADD) +-spriteblast_SOURCES = spriteblast.c +-spriteblast_OBJECTS = spriteblast.$(OBJEXT) +-spriteblast_LDADD = $(LDADD) + 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) +- @rm -f pointblast$(EXEEXT) +- $(AM_V_CCLD)$(LINK) $(pointblast_OBJECTS) $(pointblast_LDADD) $(LIBS) + projtex$(EXEEXT): $(projtex_OBJECTS) $(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) + @rm -f spectex$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(spectex_OBJECTS) $(spectex_LDADD) $(LIBS) +-spriteblast$(EXEEXT): $(spriteblast_OBJECTS) $(spriteblast_DEPENDENCIES) +- @rm -f spriteblast$(EXEEXT) +- $(AM_V_CCLD)$(LINK) $(spriteblast_OBJECTS) $(spriteblast_LDADD) $(LIBS) + stex3d$(EXEEXT): $(stex3d_OBJECTS) $(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@ + @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)/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: + @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@ +-@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/spriteblast.Po@am__quote@ + @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 +-#include +-#include +-#include /* for cos(), sin(), and sqrt() */ +-#ifdef _WIN32 +-#include +-#endif +-#include +-#include +- +-/* Some 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 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 +-#include +-#include +-#include /* for cos(), sin(), and sqrt() */ +-#ifdef _WIN32 +-#include +-#endif +-#include +-#include +- +-/* Some 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 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 +# Contributor: Allan McRae +# Contributor: dorphell +# Maintainer (Parabola): André Silva + +_pkgbasename=sdl-libre +pkgname=lib32-$_pkgbasename +pkgver=1.2.15 +pkgrel=3 +pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard (32-bit)" +arch=('x86_64') +url="http://www.libsdl.org" +license=('LGPL') +provides=("lib32-sdl=${pkgver}") +conflicts=('lib32-sdl') +replaces=('lib32-sdl') +depends=('lib32-libxext' 'lib32-libxrender' 'lib32-libx11' $_pkgbasename) +makedepends=('lib32-alsa-lib' 'lib32-mesa' 'lib32-libpulse' gcc-multilib) +optdepends=('lib32-alsa-lib: ALSA audio driver' + 'lib32-libpulse: PulseAudio audio driver') +options=('!libtool') +source=(http://www.libsdl.org/release/SDL-${pkgver}.tar.gz + sdl-1.2.14-fix-mouse-clicking.patch + sdl-1.2.14-disable-mmx.patch + fix_joystick_misc_axes.diff + libsdl-1.2.15-resizing.patch + libre.patch) +md5sums=('9d96df8417572a2afb781a7c4c811a85' + '04d8c179f125e04bcd4c9d60e013c2d7' + 'e5c16b7611f62c7cb25f0534eff68852' + '687586a108b597a2a6b73070c1d37e51' + '3dd50347d8856160a9cbd7f80383a1f8' + '5c665f72b8a2adc97a91f6db6f2da79a') + +build() { + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + cd SDL-$pkgver + patch -Np1 -i ../sdl-1.2.14-fix-mouse-clicking.patch + patch -Np1 -i ../sdl-1.2.14-disable-mmx.patch + patch -Np1 -i ../fix_joystick_misc_axes.diff + patch -Np1 -i ../libsdl-1.2.15-resizing.patch + patch -Np0 -i ../libre.patch + ./configure --prefix=/usr --disable-nasm --enable-alsa \ + --with-x --disable-rpath --disable-static --libdir=/usr/lib32 + make +} + +package() { + cd SDL-$pkgver + make DESTDIR="$pkgdir" install + + rm -rf "$pkgdir"/usr/{include,share} + + cd "$pkgdir/usr/bin" + mv sdl-config sdl-config-32 +} diff --git a/libre/lib32-sdl-libre/fix_joystick_misc_axes.diff b/libre/lib32-sdl-libre/fix_joystick_misc_axes.diff new file mode 100644 index 000000000..75e3755c9 --- /dev/null +++ b/libre/lib32-sdl-libre/fix_joystick_misc_axes.diff @@ -0,0 +1,13 @@ +diff --git a/src/joystick/linux/SDL_sysjoystick.c b/src/joystick/linux/SDL_sysjoystick.c +index ee43974..80e46e4 100644 +--- a/src/joystick/linux/SDL_sysjoystick.c ++++ b/src/joystick/linux/SDL_sysjoystick.c +@@ -702,7 +702,7 @@ static SDL_bool EV_ConfigJoystick(SDL_Joystick *joystick, int fd) + ++joystick->nbuttons; + } + } +- for ( i=0; iFifoFree >> 2; \ +- FifoFreeCount -= (cnt); \ +-} +-#endif /* __RIVA_HW_H__ */ +- +--- src/video/fbcon/SDL_fbriva.c 2012-01-19 04:30:06.000000000 -0200 ++++ src/video/fbcon/SDL_fbriva.c 2012-04-01 15:10:10.108451467 -0300 +@@ -24,12 +24,10 @@ + #include "SDL_video.h" + #include "../SDL_blit.h" + #include "SDL_fbriva.h" +-#include "riva_mmio.h" + #include "riva_regs.h" + + + static int FifoEmptyCount = 0; +-static int FifoFreeCount = 0; + + /* Wait for vertical retrace */ + static void WaitVBL(_THIS) +@@ -41,20 +39,6 @@ + while ( !(*port & 0x08) ) + ; + } +-static void NV3WaitIdle(_THIS) +-{ +- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET); +- while ( (Rop->FifoFree < FifoEmptyCount) || +- (*(mapped_io + PGRAPH_OFFSET + 0x000006B0) & 0x01) ) +- ; +-} +-static void NV4WaitIdle(_THIS) +-{ +- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET); +- while ( (Rop->FifoFree < FifoEmptyCount) || +- (*(mapped_io + PGRAPH_OFFSET + 0x00000700) & 0x01) ) +- ; +-} + + #if 0 /* Not yet implemented? */ + /* Sets video mem colorkey and accelerated blit function */ +@@ -74,7 +58,6 @@ + { + int dstX, dstY; + int dstW, dstH; +- RivaBitmap *Bitmap = (RivaBitmap *)(mapped_io + BITMAP_OFFSET); + + /* Don't blit to the display surface when switched away */ + if ( switched_away ) { +@@ -93,13 +76,6 @@ + dstX += rect->x; + dstY += rect->y; + +- RIVA_FIFO_FREE(Bitmap, 1); +- Bitmap->Color1A = color; +- +- RIVA_FIFO_FREE(Bitmap, 2); +- Bitmap->UnclippedRectangle[0].TopLeft = (dstX << 16) | dstY; +- Bitmap->UnclippedRectangle[0].WidthHeight = (dstW << 16) | dstH; +- + FB_AddBusySurface(dst); + + if ( dst == this->screen ) { +@@ -115,7 +91,6 @@ + int srcX, srcY; + int dstX, dstY; + int dstW, dstH; +- RivaScreenBlt *Blt = (RivaScreenBlt *)(mapped_io + BLT_OFFSET); + + /* FIXME: For now, only blit to display surface */ + if ( dst->pitch != SDL_VideoSurface->pitch ) { +@@ -142,11 +117,6 @@ + dstX += dstrect->x; + dstY += dstrect->y; + +- RIVA_FIFO_FREE(Blt, 3); +- Blt->TopLeftSrc = (srcY << 16) | srcX; +- Blt->TopLeftDst = (dstY << 16) | dstX; +- Blt->WidthHeight = (dstH << 16) | dstW; +- + FB_AddBusySurface(src); + FB_AddBusySurface(dst); + +@@ -185,23 +155,15 @@ + + void FB_RivaAccel(_THIS, __u32 card) + { +- RivaRop *Rop = (RivaRop *)(mapped_io + ROP_OFFSET); + + /* We have hardware accelerated surface functions */ + this->CheckHWBlit = CheckHWBlit; + wait_vbl = WaitVBL; + switch (card) { +- case FB_ACCEL_NV3: +- wait_idle = NV3WaitIdle; +- break; +- case FB_ACCEL_NV4: +- wait_idle = NV4WaitIdle; +- break; + default: + /* Hmm... FIXME */ + break; + } +- FifoEmptyCount = Rop->FifoFree; + + /* The Riva has an accelerated color fill */ + this->info.blit_fill = 1; +--- src/video/fbcon/SDL_fbvideo.c.orig 2011-09-08 17:30:03.670583685 +0200 ++++ src/video/fbcon/SDL_fbvideo.c 2011-09-08 17:30:24.230582737 +0200 +@@ -46,7 +46,6 @@ + #include "SDL_fbevents_c.h" + #include "SDL_fb3dfx.h" + #include "SDL_fbmatrox.h" +-#include "SDL_fbriva.h" + + /*#define FBCON_DEBUG*/ + +@@ -769,13 +768,6 @@ + #endif + FB_3DfxAccel(this, finfo.accel); + break; +- case FB_ACCEL_NV3: +- case FB_ACCEL_NV4: +-#ifdef FBACCEL_DEBUG +- printf("NVidia hardware accelerator!\n"); +-#endif +- FB_RivaAccel(this, finfo.accel); +- break; + default: + #ifdef FBACCEL_DEBUG + printf("Unknown hardware accelerator.\n"); diff --git a/libre/lib32-sdl-libre/libsdl-1.2.15-resizing.patch b/libre/lib32-sdl-libre/libsdl-1.2.15-resizing.patch new file mode 100644 index 000000000..0655a13e1 --- /dev/null +++ b/libre/lib32-sdl-libre/libsdl-1.2.15-resizing.patch @@ -0,0 +1,63 @@ +Description: Revert change that breaks window corner resizing + http://bugzilla.libsdl.org/show_bug.cgi?id=1430 +Author: Andrew Caudwell +Last-Update: 2012-04-10 +Bug-Debian: http://bugs.debian.org/665779 + +diff -r c787fb1b5699 src/video/x11/SDL_x11events.c +--- a/src/video/x11/SDL_x11events.c Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11events.c Mon Mar 26 12:26:52 2012 +1300 +@@ -57,12 +57,6 @@ + static SDLKey MISC_keymap[256]; + SDLKey X11_TranslateKeycode(Display *display, KeyCode kc); + +-/* +- Pending resize target for ConfigureNotify (so outdated events don't +- cause inappropriate resize events) +-*/ +-int X11_PendingConfigureNotifyWidth = -1; +-int X11_PendingConfigureNotifyHeight = -1; + + #ifdef X_HAVE_UTF8_STRING + Uint32 Utf8ToUcs4(const Uint8 *utf8) +@@ -825,16 +819,6 @@ + #ifdef DEBUG_XEVENTS + printf("ConfigureNotify! (resize: %dx%d)\n", xevent.xconfigure.width, xevent.xconfigure.height); + #endif +- if ((X11_PendingConfigureNotifyWidth != -1) && +- (X11_PendingConfigureNotifyHeight != -1)) { +- if ((xevent.xconfigure.width != X11_PendingConfigureNotifyWidth) && +- (xevent.xconfigure.height != X11_PendingConfigureNotifyHeight)) { +- /* Event is from before the resize, so ignore. */ +- break; +- } +- X11_PendingConfigureNotifyWidth = -1; +- X11_PendingConfigureNotifyHeight = -1; +- } + if ( SDL_VideoSurface ) { + if ((xevent.xconfigure.width != SDL_VideoSurface->w) || + (xevent.xconfigure.height != SDL_VideoSurface->h)) { +diff -r c787fb1b5699 src/video/x11/SDL_x11events_c.h +--- a/src/video/x11/SDL_x11events_c.h Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11events_c.h Mon Mar 26 12:26:52 2012 +1300 +@@ -27,8 +27,3 @@ + extern void X11_InitOSKeymap(_THIS); + extern void X11_PumpEvents(_THIS); + extern void X11_SetKeyboardState(Display *display, const char *key_vec); +- +-/* Variables to be exported */ +-extern int X11_PendingConfigureNotifyWidth; +-extern int X11_PendingConfigureNotifyHeight; +- +diff -r c787fb1b5699 src/video/x11/SDL_x11video.c +--- a/src/video/x11/SDL_x11video.c Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11video.c Mon Mar 26 12:26:52 2012 +1300 +@@ -1182,8 +1182,6 @@ + current = NULL; + goto done; + } +- X11_PendingConfigureNotifyWidth = width; +- X11_PendingConfigureNotifyHeight = height; + } else { + if (X11_CreateWindow(this,current,width,height,bpp,flags) < 0) { + current = NULL; diff --git a/libre/lib32-sdl-libre/sdl-1.2.14-disable-mmx.patch b/libre/lib32-sdl-libre/sdl-1.2.14-disable-mmx.patch new file mode 100644 index 000000000..1bb6e0e47 --- /dev/null +++ b/libre/lib32-sdl-libre/sdl-1.2.14-disable-mmx.patch @@ -0,0 +1,13 @@ +# and another one from FS#26020 + +--- a/src/video/SDL_yuv_sw.c 2009-10-13 06:07:15.000000000 +0700 ++++ b/src/video/SDL_yuv_sw.c 2011-09-20 19:26:30.247742620 +0700 +@@ -89,6 +89,8 @@ + #include "SDL_yuvfuncs.h" + #include "SDL_yuv_sw_c.h" + ++#undef __OPTIMIZE__ ++ + /* The functions used to manipulate software video overlays */ + static struct private_yuvhwfuncs sw_yuvfuncs = { + SDL_LockYUV_SW, diff --git a/libre/lib32-sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch b/libre/lib32-sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch new file mode 100644 index 000000000..7d3e5acfc --- /dev/null +++ b/libre/lib32-sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch @@ -0,0 +1,23 @@ +--- SDL-1.2.14/src/video/x11/SDL_x11events.c.orig 2010-04-08 11:57:05.003169834 -0700 ++++ SDL-1.2.14/src/video/x11/SDL_x11events.c 2010-04-08 12:33:51.690926340 -0700 +@@ -423,12 +423,15 @@ + if ( xevent.xcrossing.mode == NotifyUngrab ) + printf("Mode: NotifyUngrab\n"); + #endif +- if ( this->input_grab == SDL_GRAB_OFF ) { +- posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS); ++ if ( (xevent.xcrossing.mode != NotifyGrab) && ++ (xevent.xcrossing.mode != NotifyUngrab) ) { ++ if ( this->input_grab == SDL_GRAB_OFF ) { ++ posted = SDL_PrivateAppActive(1, SDL_APPMOUSEFOCUS); ++ } ++ posted = SDL_PrivateMouseMotion(0, 0, ++ xevent.xcrossing.x, ++ xevent.xcrossing.y); + } +- posted = SDL_PrivateMouseMotion(0, 0, +- xevent.xcrossing.x, +- xevent.xcrossing.y); + } + break; + diff --git a/libre/sdl-libre/PKGBUILD b/libre/sdl-libre/PKGBUILD index c4eabb9db..9822d5df7 100644 --- a/libre/sdl-libre/PKGBUILD +++ b/libre/sdl-libre/PKGBUILD @@ -1,4 +1,4 @@ -# $Id: PKGBUILD 165847 2012-09-01 12:22:15Z heftig $ +# $Id: PKGBUILD 166672 2012-09-15 09:39:11Z heftig $ # Maintainer: Jan Alexander Steffens (heftig) # Contributor: Allan McRae # Contributor: dorphell @@ -8,7 +8,7 @@ pkgname=sdl-libre pkgver=1.2.15 -pkgrel=2 +pkgrel=3 pkgdesc="A library for portable low-level access to a video framebuffer, audio output, mouse, and keyboard" arch=('i686' 'x86_64') url="http://www.libsdl.org" @@ -18,16 +18,20 @@ conflicts=('sdl') replaces=('sdl') depends=('glibc' 'libxext' 'libxrender' 'libx11') makedepends=('alsa-lib' 'mesa' 'libpulse') +optdepends=('alsa-lib: ALSA audio driver' + 'libpulse: PulseAudio audio driver') options=('!libtool') source=(http://www.libsdl.org/release/SDL-${pkgver}.tar.gz sdl-1.2.14-fix-mouse-clicking.patch sdl-1.2.14-disable-mmx.patch fix_joystick_misc_axes.diff + libsdl-1.2.15-resizing.patch libre.patch) md5sums=('9d96df8417572a2afb781a7c4c811a85' '04d8c179f125e04bcd4c9d60e013c2d7' 'e5c16b7611f62c7cb25f0534eff68852' '687586a108b597a2a6b73070c1d37e51' + '3dd50347d8856160a9cbd7f80383a1f8' '5c665f72b8a2adc97a91f6db6f2da79a') build() { @@ -35,8 +39,9 @@ build() { patch -Np1 -i ../sdl-1.2.14-fix-mouse-clicking.patch patch -Np1 -i ../sdl-1.2.14-disable-mmx.patch patch -Np1 -i ../fix_joystick_misc_axes.diff + patch -Np1 -i ../libsdl-1.2.15-resizing.patch patch -Np0 -i ../libre.patch - ./configure --prefix=/usr --disable-nasm --enable-alsa --enable-esd \ + ./configure --prefix=/usr --disable-nasm --enable-alsa \ --with-x --disable-rpath --disable-static make } diff --git a/libre/sdl-libre/libsdl-1.2.15-resizing.patch b/libre/sdl-libre/libsdl-1.2.15-resizing.patch new file mode 100644 index 000000000..0655a13e1 --- /dev/null +++ b/libre/sdl-libre/libsdl-1.2.15-resizing.patch @@ -0,0 +1,63 @@ +Description: Revert change that breaks window corner resizing + http://bugzilla.libsdl.org/show_bug.cgi?id=1430 +Author: Andrew Caudwell +Last-Update: 2012-04-10 +Bug-Debian: http://bugs.debian.org/665779 + +diff -r c787fb1b5699 src/video/x11/SDL_x11events.c +--- a/src/video/x11/SDL_x11events.c Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11events.c Mon Mar 26 12:26:52 2012 +1300 +@@ -57,12 +57,6 @@ + static SDLKey MISC_keymap[256]; + SDLKey X11_TranslateKeycode(Display *display, KeyCode kc); + +-/* +- Pending resize target for ConfigureNotify (so outdated events don't +- cause inappropriate resize events) +-*/ +-int X11_PendingConfigureNotifyWidth = -1; +-int X11_PendingConfigureNotifyHeight = -1; + + #ifdef X_HAVE_UTF8_STRING + Uint32 Utf8ToUcs4(const Uint8 *utf8) +@@ -825,16 +819,6 @@ + #ifdef DEBUG_XEVENTS + printf("ConfigureNotify! (resize: %dx%d)\n", xevent.xconfigure.width, xevent.xconfigure.height); + #endif +- if ((X11_PendingConfigureNotifyWidth != -1) && +- (X11_PendingConfigureNotifyHeight != -1)) { +- if ((xevent.xconfigure.width != X11_PendingConfigureNotifyWidth) && +- (xevent.xconfigure.height != X11_PendingConfigureNotifyHeight)) { +- /* Event is from before the resize, so ignore. */ +- break; +- } +- X11_PendingConfigureNotifyWidth = -1; +- X11_PendingConfigureNotifyHeight = -1; +- } + if ( SDL_VideoSurface ) { + if ((xevent.xconfigure.width != SDL_VideoSurface->w) || + (xevent.xconfigure.height != SDL_VideoSurface->h)) { +diff -r c787fb1b5699 src/video/x11/SDL_x11events_c.h +--- a/src/video/x11/SDL_x11events_c.h Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11events_c.h Mon Mar 26 12:26:52 2012 +1300 +@@ -27,8 +27,3 @@ + extern void X11_InitOSKeymap(_THIS); + extern void X11_PumpEvents(_THIS); + extern void X11_SetKeyboardState(Display *display, const char *key_vec); +- +-/* Variables to be exported */ +-extern int X11_PendingConfigureNotifyWidth; +-extern int X11_PendingConfigureNotifyHeight; +- +diff -r c787fb1b5699 src/video/x11/SDL_x11video.c +--- a/src/video/x11/SDL_x11video.c Mon Feb 20 23:51:08 2012 -0500 ++++ b/src/video/x11/SDL_x11video.c Mon Mar 26 12:26:52 2012 +1300 +@@ -1182,8 +1182,6 @@ + current = NULL; + goto done; + } +- X11_PendingConfigureNotifyWidth = width; +- X11_PendingConfigureNotifyHeight = height; + } else { + if (X11_CreateWindow(this,current,width,height,bpp,flags) < 0) { + current = NULL; -- cgit v1.2.3-54-g00ecf