diff options
Diffstat (limited to 'libre-multilib')
-rw-r--r-- | libre-multilib/lib32-clang/PKGBUILD | 98 | ||||
-rw-r--r-- | libre-multilib/lib32-libclc-svn/PKGBUILD | 41 | ||||
-rw-r--r-- | libre-multilib/lib32-libvdpau/PKGBUILD | 36 | ||||
-rw-r--r-- | libre-multilib/lib32-mesa-demos-libre/PKGBUILD | 46 | ||||
-rw-r--r-- | libre-multilib/lib32-mesa-demos-libre/mesa-demos-libre.patch | 114 | ||||
-rw-r--r-- | libre-multilib/lib32-mesa-libcl/PKGBUILD | 60 | ||||
-rw-r--r-- | libre-multilib/lib32-sdl-libre/PKGBUILD | 57 | ||||
-rw-r--r-- | libre-multilib/lib32-sdl-libre/fix_joystick_misc_axes.diff | 13 | ||||
-rw-r--r-- | libre-multilib/lib32-sdl-libre/libre.patch | 578 | ||||
-rw-r--r-- | libre-multilib/lib32-sdl-libre/libsdl-1.2.15-resizing.patch | 63 | ||||
-rw-r--r-- | libre-multilib/lib32-sdl-libre/sdl-1.2.14-disable-mmx.patch | 13 | ||||
-rw-r--r-- | libre-multilib/lib32-sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch | 23 | ||||
-rw-r--r-- | libre-multilib/pcsx2-libre/PKGBUILD | 63 | ||||
-rw-r--r-- | libre-multilib/wine-libre/30-win32-aliases.conf | 20 | ||||
-rw-r--r-- | libre-multilib/wine-libre/PKGBUILD | 182 | ||||
-rw-r--r-- | libre-multilib/wine-libre/wine.install | 12 |
16 files changed, 1419 insertions, 0 deletions
diff --git a/libre-multilib/lib32-clang/PKGBUILD b/libre-multilib/lib32-clang/PKGBUILD new file mode 100644 index 000000000..aaa9bd91e --- /dev/null +++ b/libre-multilib/lib32-clang/PKGBUILD @@ -0,0 +1,98 @@ +# Maintainer: PitBall + +pkgname=lib32-clang +pkgver=3.4 +pkgrel=2 +arch=('x86_64') +url="http://llvm.org/" +license=('custom:University of Illinois/NCSA Open Source License') +makedepends=('lib32-libffi' 'lib32-zlib' 'python2' 'gcc-multilib' 'clang' 'lib32-llvm' 'bc') +source=(http://llvm.org/releases/$pkgver/llvm-$pkgver.src.tar.gz + http://llvm.org/releases/$pkgver/clang-$pkgver.src.tar.gz + http://llvm.org/releases/$pkgver/compiler-rt-$pkgver.src.tar.gz) +sha256sums=('25a5612d692c48481b9b397e2b55f4870e447966d66c96d655241702d44a2628' + '22a9780db3b85a7f2eb9ea1f7f6e00da0249e3d12851e8dea0f62f1783242b1b' + 'f37c89b1383ce462d47537a0245ac798600887a9be9f63073e16b79ed536ab5c') +options=('staticlibs') + +prepare() { + cd "$srcdir/llvm-$pkgver" + + rm -rf projects/compiler-rt + mv "$srcdir/clang-$pkgver" tools/clang + + rm -rf projects/compiler-rt + mv "$srcdir/compiler-rt-$pkgver" projects/compiler-rt + + # Fix installation directories, ./configure doesn't seem to set them right + sed -i -e 's:\$(PROJ_prefix)/lib:$(PROJ_prefix)/lib32:' \ + -e 's:\$(PROJ_prefix)/docs/llvm:$(PROJ_prefix)/share/doc/llvm:' \ + Makefile.config.in + sed -i '/ActiveLibDir = ActivePrefix/s:lib:lib32:' \ + tools/llvm-config/llvm-config.cpp + sed -i 's:LLVM_LIBDIR="${prefix}/lib":LLVM_LIBDIR="${prefix}/lib32":' \ + autoconf/configure.ac \ + configure + + # Fix insecure rpath (http://bugs.archlinux.org/task/14017) + sed -i 's:$(RPATH) -Wl,$(\(ToolDir\|LibDir\|ExmplDir\))::g' Makefile.rules + + # Use system lib32-llvm + install -d $srcdir/llvm-$pkgver/Release/lib + for file in ` pacman -Ql lib32-llvm |grep /lib32/ |awk '{print $2}' |sed '/\/$/d'`; do + ln -sf $file $srcdir/llvm-$pkgver/Release/lib/ + done +} + +build() { + cd "$srcdir/llvm-$pkgver" + export CC="gcc -m32" + export CXX="g++ -m32" + export CLANG="clang -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + export LLVM_CONFIG=/usr/bin/llvm-config32 + + # Include location of libffi headers in CPPFLAGS + CPPFLAGS+=" $(pkg-config --cflags libffi)" + + ./configure \ + --prefix=/usr \ + --libdir=/usr/lib32 \ + --sysconfdir=/etc \ + --enable-shared \ + --enable-libffi \ + --enable-targets=x86 \ + --enable-experimental-targets=R600 \ + --enable-bindings=none \ + --disable-expensive-checks \ + --disable-debug-runtime \ + --disable-assertions \ + --with-binutils-include=/usr/include \ + --with-python=/usr/bin/python2 \ + --host=i686-pc-linux-gnu \ + --target=i686-pc-linux-gnu \ + --enable-optimized + +# --disable-clang-static-analyzer \ + +# make + make -C projects/compiler-rt clang_linux + make -C tools/clang/utils/TableGen + make -C tools/clang/lib +} + +package_lib32-clang() { + pkgdesc="C language family frontend for LLVM (32-bit)" + url="http://clang.llvm.org/" + depends=('clang' 'lib32-llvm' 'gcc-multilib') + + install -d $pkgdir/usr/lib32/clang/$pkgver + ln -s lib32 $pkgdir/usr/lib + + cd "$srcdir/llvm-$pkgver/tools/clang" + make -C lib DESTDIR="$pkgdir" install + # Fix permissions of static libs + chmod -x "$pkgdir"/usr/lib32/*.a + mv $pkgdir/usr/lib32/clang{,/$pkgver}/include + rm -rf $pkgdir/usr/lib +} diff --git a/libre-multilib/lib32-libclc-svn/PKGBUILD b/libre-multilib/lib32-libclc-svn/PKGBUILD new file mode 100644 index 000000000..c1c7e021c --- /dev/null +++ b/libre-multilib/lib32-libclc-svn/PKGBUILD @@ -0,0 +1,41 @@ +# Maintainer: Márcio Silva <coadde@lavabit.com> + +_pkgname=libclc +pkgname=lib32-$_pkgname-svn +pkgver=$(LC_ALL=C date -u +%Y%m%d) +pkgrel=2 +arch=x86_64 +pkgdesc='Library requirements of the OpenCL C programming language (32-bit)' +url=http://libclc.llvm.org/ +license=MIT +depends=(lib32-llvm-libs libclc-svn) +makedepends=(clang lib32-llvm python2 svn) +provides=(lib32-$_pkgname) +conflicts=lib32-$_pkgname +source=$_pkgname::svn+http://llvm.org/svn/llvm-project/libclc/trunk +sha512sums=SKIP + +prepare() { + sed -i 's|/usr/bin/python|/usr/bin/python2|g; + ' $srcdir/$_pkgname/{configure,build/ninja_syntax}.py +} + +build() { + export CC="gcc -m32" + export CXX="g++ -m32" + + cd $srcdir/$_pkgname + ./configure.py --prefix=/usr\ + --libexecdir=/usr/lib32/clc\ + --pkgconfigdir=/usr/lib32/pkgconfig\ + --with-llvm-config=/usr/bin/llvm-config32 + make +} + +package() { + cd $srcdir/$_pkgname + make DESTDIR=$pkgdir install + install -vDm644 LICENSE.TXT $pkgdir/usr/share/licenses/$pkgname/LICENSE + msg 'remove useless include dir' + rm -vrf $pkgdir/usr/include +} diff --git a/libre-multilib/lib32-libvdpau/PKGBUILD b/libre-multilib/lib32-libvdpau/PKGBUILD new file mode 100644 index 000000000..0e776abcb --- /dev/null +++ b/libre-multilib/lib32-libvdpau/PKGBUILD @@ -0,0 +1,36 @@ +# Maintainer: Lara Maia <lara@craft.net.br> +# Contributor: josephgbr <rafael.f.f1@gmail.com> +# Contributor: TryA <tryagainprod {at} gmail.com> +# Contributor: Ionut Biru <ibiru@archlinux.org> + +_pkgbase=libvdpau +pkgname=lib32-libvdpau +pkgver=0.7 +pkgrel=1 +pkgdesc="Nvidia VDPAU library (32-bit)" +arch=('x86_64') +url=http://cgit.freedesktop.org/~aplattner/libvdpau +license=('custom') +depends=('lib32-gcc-libs' 'lib32-libxext' "${_pkgbase}") #libx11 +makedepends=('gcc-multilib' 'dri2proto' ) +options=('!libtool') +source=(http://people.freedesktop.org/~aplattner/vdpau/${_pkgbase}-${pkgver}.tar.gz) +sha256sums=('24dc08467ce8c59d6cfbf0d34d2dd1f86b4ff62e90777e0a8f513c5c9de9bce0') + +build() { + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + cd ${_pkgbase}-${pkgver} + ./configure --prefix=/usr --libdir=/usr/lib32 --sysconfdir=/etc + make +} + +package() { + make -C ${_pkgbase}-${pkgver} DESTDIR="${pkgdir}" install + rm -rf "${pkgdir}"/{etc,usr/include} + + install -dm755 "$pkgdir"/usr/share/licenses + ln -s $_pkgbase "$pkgdir"/usr/share/licenses/$pkgname +} diff --git a/libre-multilib/lib32-mesa-demos-libre/PKGBUILD b/libre-multilib/lib32-mesa-demos-libre/PKGBUILD new file mode 100644 index 000000000..83557c0a9 --- /dev/null +++ b/libre-multilib/lib32-mesa-demos-libre/PKGBUILD @@ -0,0 +1,46 @@ +# $Id: PKGBUILD 94584 2013-07-27 15:01:38Z lcarlier $ +# Maintainer: Jan de Groot <jgc@archlinux.org> +# Maintainer: Andreas Radke <andyrtr@archlinux.org> +# Maintainer (Parabola): André Silva <emulatorman@parabola.nu> + +_pkgbasename=mesa-demos-libre +pkgname=lib32-$_pkgbasename +pkgver=8.1.0 +pkgrel=3 +arch=(x86_64) +pkgdesc="Mesa demos and tools (32-bit), without nonfree demos" +url="http://mesa3d.sourceforge.net" +license=('custom') +provides=("lib32-mesa-demos=$pkgver") +replaces=('lib32-mesa-demos') +conflicts=('lib32-mesa-demos') +makedepends=(gcc-multilib 'lib32-mesa' 'lib32-glew') +source=(https://repo.parabolagnulinux.org/other/mesa-demos-libre/mesa-demos-libre-${pkgver}.tar.bz2) +md5sums=('18225619a97e6900afd2b48a89dcbd4e') + +build() { + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + + cd "${srcdir}/mesa-demos-${pkgver}" + ./configure --prefix=/usr + + make +} + +package() { + depends=('lib32-glew' mesa-demos-libre) + + cd "${srcdir}/mesa-demos-${pkgver}" + make DESTDIR="${pkgdir}" install + + for i in "$pkgdir/usr/bin/"*; do + mv "$i" "$i"32 + done + + rm -r "$pkgdir/usr/share/mesa-demos" + + mkdir -p "$pkgdir/usr/share/licenses" + ln -s mesa-demos "$pkgdir/usr/share/licenses/lib32-mesa-demos" +} diff --git a/libre-multilib/lib32-mesa-demos-libre/mesa-demos-libre.patch b/libre-multilib/lib32-mesa-demos-libre/mesa-demos-libre.patch new file mode 100644 index 000000000..d630f373c --- /dev/null +++ b/libre-multilib/lib32-mesa-demos-libre/mesa-demos-libre.patch @@ -0,0 +1,114 @@ +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 \ +@@ -74,7 +73,6 @@ + shadowtex \ + singlebuffer \ + spectex \ +- spriteblast \ + stex3d \ + teapot \ + terrain \ +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@ 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 +@@ -246,9 +243,6 @@ + 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) +@@ -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) $(EXTRA_projtex_DEPENDENCIES) + @rm -f projtex$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(projtex_OBJECTS) $(projtex_LDADD) $(LIBS) +@@ -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) $(EXTRA_spriteblast_DEPENDENCIES) +- @rm -f spriteblast$(EXEEXT) +- $(AM_V_CCLD)$(LINK) $(spriteblast_OBJECTS) $(spriteblast_LDADD) $(LIBS) + stex3d$(EXEEXT): $(stex3d_OBJECTS) $(stex3d_DEPENDENCIES) $(EXTRA_stex3d_DEPENDENCIES) + @rm -f stex3d$(EXEEXT) + $(AM_V_CCLD)$(LINK) $(stex3d_OBJECTS) $(stex3d_LDADD) $(LIBS) +@@ -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@ +@@ -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@ +-@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 --git a/libre-multilib/lib32-mesa-libcl/PKGBUILD b/libre-multilib/lib32-mesa-libcl/PKGBUILD new file mode 100644 index 000000000..b42ffa874 --- /dev/null +++ b/libre-multilib/lib32-mesa-libcl/PKGBUILD @@ -0,0 +1,60 @@ +# Maintainer: André Silva <emulatorman@parabola.nu> +# Contributor: Márcio Silva <coadde@parabola.nu> + +pkgbase=mesa +_pkgname=libcl +pkgname=lib32-$pkgbase-$_pkgname +_pkgflag=libre +pkgver=10.0.3 +pkgrel=1 +pkgdesc='Mesa 3-D OpenCL library (32-bit)' +url=http://${pkgbase}3d.sourceforge.net +license=(MIT Khronos LGPL) +arch=(x86_64) +depends=( + lib32-libclc + lib32-$pkgbase +) +optdepends='opencl-headers: headers necessary for OpenCL development' +makedepends=( + gcc-multilib + lib32-clang + dri2proto + glproto + imake + lib32-libxml2 + python2 + lib32-libvdpau +) +provides=(lib32-$_pkgname-$_pkgflag lib32-$_pkgname lib32-opencl-nvidia lib32-opencl-nvidia-304xx) +conflicts=(lib32-$_pkgname-$_pkgflag lib32-$_pkgname lib32-opencl-nvidia lib32-opencl-nvidia-304xx) +replaces=(lib32-$_pkgname-$_pkgflag lib32-$_pkgname lib32-opencl-nvidia lib32-opencl-nvidia-304xx) +source=ftp://ftp.freedesktop.org/pub/$pkgbase/${pkgver%.0}/${pkgbase^}Lib-$pkgver.tar.bz2 +sha512sums=e864c4d63336977b2917d83926331163198d47023228cc71f47c67251f675102dbab4551e032aa1dfcb4cbda1f98f15ff4565acef54a33ed8c50af32f52a52da + +build() { + cd $srcdir/${pkgbase^}-$pkgver + export CC="gcc -m32" + export CXX="g++ -m32" + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + export LLVM_CONFIG=/usr/bin/llvm-config32 + autoreconf -vfi + ./configure --enable-32-bit\ + --libdir=/usr/lib32\ + --prefix=/usr\ + --enable-opencl\ + --enable-gallium-llvm\ + --enable-r600-llvm-compiler\ + --with-clang-libdir=/usr/lib\ + --with-llvm-shared-libs\ + --with-gallium-drivers=i915,nouveau,r300,r600,radeonsi,svga,swrast + make V=0 +} + +package() { + cd $srcdir/${pkgbase^}-$pkgver + make -C src/gallium/targets/opencl DESTDIR=$pkgdir install + install -vdm755 $pkgdir/usr/share/licenses/$pkgname + install -vm644 docs/COPYING $pkgdir/usr/share/licenses/$pkgname + install -vm644 docs/license.html $pkgdir/usr/share/licenses/$pkgname/LICENSE +} diff --git a/libre-multilib/lib32-sdl-libre/PKGBUILD b/libre-multilib/lib32-sdl-libre/PKGBUILD new file mode 100644 index 000000000..0488381ea --- /dev/null +++ b/libre-multilib/lib32-sdl-libre/PKGBUILD @@ -0,0 +1,57 @@ +# $Id: PKGBUILD 78820 2012-10-25 06:47:28Z foutrelis $ +# Maintainer: Jan Alexander Steffens (heftig) <jan.steffens@gmail.com> +# Contributor: Allan McRae <allan@archlinux.org> +# Contributor: dorphell <dorphell@archlinux.org> +# Maintainer (Parabola): André Silva <emulatorman@parabola.nu> + +_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), without nonfree riva_mmio.h file" +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=(https://repo.parabolagnulinux.org/other/$pkgname/SDL-libre-${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) +md5sums=('c6e53ef16fa347ed066c3d68fe93c378' + '04d8c179f125e04bcd4c9d60e013c2d7' + 'e5c16b7611f62c7cb25f0534eff68852' + '687586a108b597a2a6b73070c1d37e51' + '3dd50347d8856160a9cbd7f80383a1f8') + +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 + ./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-multilib/lib32-sdl-libre/fix_joystick_misc_axes.diff b/libre-multilib/lib32-sdl-libre/fix_joystick_misc_axes.diff new file mode 100644 index 000000000..75e3755c9 --- /dev/null +++ b/libre-multilib/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; i<ABS_MISC; ++i ) { ++ for ( i=0; i<ABS_MAX; ++i ) { + /* Skip hats */ + if ( i == ABS_HAT0X ) { + i = ABS_HAT3Y; diff --git a/libre-multilib/lib32-sdl-libre/libre.patch b/libre-multilib/lib32-sdl-libre/libre.patch new file mode 100644 index 000000000..72f7da56a --- /dev/null +++ b/libre-multilib/lib32-sdl-libre/libre.patch @@ -0,0 +1,578 @@ +--- src/video/fbcon/riva_mmio.h 2012-01-19 04:30:06.000000000 -0200 ++++ /dev/null 2012-04-01 13:58:27.776718756 -0300 +@@ -1,449 +0,0 @@ +-/***************************************************************************\ +-|* *| +-|* Copyright 1993-1999 NVIDIA, Corporation. All rights reserved. *| +-|* *| +-|* NOTICE TO USER: The source code is copyrighted under U.S. and *| +-|* international laws. Users and possessors of this source code are *| +-|* hereby granted a nonexclusive, royalty-free copyright license to *| +-|* use this code in individual and commercial software. *| +-|* *| +-|* Any use of this source code must include, in the user documenta- *| +-|* tion and internal comments to the code, notices to the end user *| +-|* as follows: *| +-|* *| +-|* Copyright 1993-1999 NVIDIA, Corporation. All rights reserved. *| +-|* *| +-|* NVIDIA, CORPORATION MAKES NO REPRESENTATION ABOUT THE SUITABILITY *| +-|* OF THIS SOURCE CODE FOR ANY PURPOSE. IT IS PROVIDED "AS IS" *| +-|* WITHOUT EXPRESS OR IMPLIED WARRANTY OF ANY KIND. NVIDIA, CORPOR- *| +-|* ATION DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOURCE CODE, *| +-|* INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY, NONINFRINGE- *| +-|* MENT, AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL *| +-|* NVIDIA, CORPORATION BE LIABLE FOR ANY SPECIAL, INDIRECT, INCI- *| +-|* DENTAL, OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RE- *| +-|* SULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION *| +-|* OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF *| +-|* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOURCE CODE. *| +-|* *| +-|* U.S. Government End Users. This source code is a "commercial *| +-|* item," as that term is defined at 48 C.F.R. 2.101 (OCT 1995), *| +-|* consisting of "commercial computer software" and "commercial *| +-|* computer software documentation," as such terms are used in *| +-|* 48 C.F.R. 12.212 (SEPT 1995) and is provided to the U.S. Govern- *| +-|* ment only as a commercial end item. Consistent with 48 C.F.R. *| +-|* 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (JUNE 1995), *| +-|* all U.S. Government End Users acquire the source code with only *| +-|* those rights set forth herein. *| +-|* *| +-\***************************************************************************/ +- +-#ifndef __RIVA_HW_H__ +-#define __RIVA_HW_H__ +-#define RIVA_SW_VERSION 0x00010003 +- +-/* +- * Typedefs to force certain sized values. +- */ +-typedef Uint8 U008; +-typedef Uint16 U016; +-typedef Uint32 U032; +- +-/* +- * HW access macros. +- */ +-#define NV_WR08(p,i,d) (((U008 *)(p))[i]=(d)) +-#define NV_RD08(p,i) (((U008 *)(p))[i]) +-#define NV_WR16(p,i,d) (((U016 *)(p))[(i)/2]=(d)) +-#define NV_RD16(p,i) (((U016 *)(p))[(i)/2]) +-#define NV_WR32(p,i,d) (((U032 *)(p))[(i)/4]=(d)) +-#define NV_RD32(p,i) (((U032 *)(p))[(i)/4]) +-#define VGA_WR08(p,i,d) NV_WR08(p,i,d) +-#define VGA_RD08(p,i) NV_RD08(p,i) +- +-/* +- * Define supported architectures. +- */ +-#define NV_ARCH_03 0x03 +-#define NV_ARCH_04 0x04 +-#define NV_ARCH_10 0x10 +-/***************************************************************************\ +-* * +-* FIFO registers. * +-* * +-\***************************************************************************/ +- +-/* +- * Raster OPeration. Windows style ROP3. +- */ +-typedef volatile struct +-{ +- U032 reserved00[4]; +- U016 FifoFree; +- U016 Nop; +- U032 reserved01[0x0BB]; +- U032 Rop3; +-} RivaRop; +-/* +- * 8X8 Monochrome pattern. +- */ +-typedef volatile struct +-{ +- U032 reserved00[4]; +- U016 FifoFree; +- U016 Nop; +- U032 reserved01[0x0BD]; +- U032 Shape; +- U032 reserved03[0x001]; +- U032 Color0; +- U032 Color1; +- U032 Monochrome[2]; +-} RivaPattern; +-/* +- * Scissor clip rectangle. +- */ +-typedef volatile struct +-{ +- U032 reserved00[4]; +- U016 FifoFree; +- U016 Nop; +- U032 reserved01[0x0BB]; +- U032 TopLeft; +- U032 WidthHeight; +-} RivaClip; +-/* +- * 2D filled rectangle. +- */ +-typedef volatile struct +-{ +- U032 reserved00[4]; +- U016 FifoFree; +- U016 Nop[1]; +- U032 reserved01[0x0BC]; +- U032 Color; +- U032 reserved03[0x03E]; +- U032 TopLeft; +- U032 WidthHeight; +-} RivaRectangle; +-/* +- * 2D screen-screen BLT. +- */ +-typedef volatile struct +-{ +- U032 reserved00[4]; +- U016 FifoFree; +- U016 Nop; +- U032 reserved01[0x0BB]; +- U032 TopLeftSrc; +- U032 TopLeftDst; +- U032 WidthHeight; +-} RivaScreenBlt; +-/* +- * 2D pixel BLT. +- */ +-typedef volatile struct +-{ +- U032 reserved00[4]; +- U016 FifoFree; +- U016 Nop[1]; +- U032 reserved01[0x0BC]; +- U032 TopLeft; +- U032 WidthHeight; +- U032 WidthHeightIn; +- U032 reserved02[0x03C]; +- U032 Pixels; +-} RivaPixmap; +-/* +- * Filled rectangle combined with monochrome expand. Useful for glyphs. +- */ +-typedef volatile struct +-{ +- U032 reserved00[4]; +- U016 FifoFree; +- U016 Nop; +- U032 reserved01[0x0BB]; +- U032 reserved03[(0x040)-1]; +- U032 Color1A; +- struct +- { +- U032 TopLeft; +- U032 WidthHeight; +- } UnclippedRectangle[64]; +- U032 reserved04[(0x080)-3]; +- struct +- { +- U032 TopLeft; +- U032 BottomRight; +- } ClipB; +- U032 Color1B; +- struct +- { +- U032 TopLeft; +- U032 BottomRight; +- } ClippedRectangle[64]; +- U032 reserved05[(0x080)-5]; +- struct +- { +- U032 TopLeft; +- U032 BottomRight; +- } ClipC; +- U032 Color1C; +- U032 WidthHeightC; +- U032 PointC; +- U032 MonochromeData1C; +- U032 reserved06[(0x080)+121]; +- struct +- { +- U032 TopLeft; +- U032 BottomRight; +- } ClipD; +- U032 Color1D; +- U032 WidthHeightInD; +- U032 WidthHeightOutD; +- U032 PointD; +- U032 MonochromeData1D; +- U032 reserved07[(0x080)+120]; +- struct +- { +- U032 TopLeft; +- U032 BottomRight; +- } ClipE; +- U032 Color0E; +- U032 Color1E; +- U032 WidthHeightInE; +- U032 WidthHeightOutE; +- U032 PointE; +- U032 MonochromeData01E; +-} RivaBitmap; +-/* +- * 3D textured, Z buffered triangle. +- */ +-typedef volatile struct +-{ +- U032 reserved00[4]; +- U016 FifoFree; +- U016 Nop; +- U032 reserved01[0x0BC]; +- U032 TextureOffset; +- U032 TextureFormat; +- U032 TextureFilter; +- U032 FogColor; +-/* This is a problem on LynxOS */ +-#ifdef Control +-#undef Control +-#endif +- U032 Control; +- U032 AlphaTest; +- U032 reserved02[0x339]; +- U032 FogAndIndex; +- U032 Color; +- float ScreenX; +- float ScreenY; +- float ScreenZ; +- float EyeM; +- float TextureS; +- float TextureT; +-} RivaTexturedTriangle03; +-typedef volatile struct +-{ +- U032 reserved00[4]; +- U016 FifoFree; +- U016 Nop; +- U032 reserved01[0x0BB]; +- U032 ColorKey; +- U032 TextureOffset; +- U032 TextureFormat; +- U032 TextureFilter; +- U032 Blend; +-/* This is a problem on LynxOS */ +-#ifdef Control +-#undef Control +-#endif +- U032 Control; +- U032 FogColor; +- U032 reserved02[0x39]; +- struct +- { +- float ScreenX; +- float ScreenY; +- float ScreenZ; +- float EyeM; +- U032 Color; +- U032 Specular; +- float TextureS; +- float TextureT; +- } Vertex[16]; +- U032 DrawTriangle3D; +-} RivaTexturedTriangle05; +-/* +- * 2D line. +- */ +-typedef volatile struct +-{ +- U032 reserved00[4]; +- U016 FifoFree; +- U016 Nop[1]; +- U032 reserved01[0x0BC]; +- U032 Color; /* source color 0304-0307*/ +- U032 Reserved02[0x03e]; +- struct { /* start aliased methods in array 0400- */ +- U032 point0; /* y_x S16_S16 in pixels 0- 3*/ +- U032 point1; /* y_x S16_S16 in pixels 4- 7*/ +- } Lin[16]; /* end of aliased methods in array -047f*/ +- struct { /* start aliased methods in array 0480- */ +- U032 point0X; /* in pixels, 0 at left 0- 3*/ +- U032 point0Y; /* in pixels, 0 at top 4- 7*/ +- U032 point1X; /* in pixels, 0 at left 8- b*/ +- U032 point1Y; /* in pixels, 0 at top c- f*/ +- } Lin32[8]; /* end of aliased methods in array -04ff*/ +- U032 PolyLin[32]; /* y_x S16_S16 in pixels 0500-057f*/ +- struct { /* start aliased methods in array 0580- */ +- U032 x; /* in pixels, 0 at left 0- 3*/ +- U032 y; /* in pixels, 0 at top 4- 7*/ +- } PolyLin32[16]; /* end of aliased methods in array -05ff*/ +- struct { /* start aliased methods in array 0600- */ +- U032 color; /* source color 0- 3*/ +- U032 point; /* y_x S16_S16 in pixels 4- 7*/ +- } ColorPolyLin[16]; /* end of aliased methods in array -067f*/ +-} RivaLine; +-/* +- * 2D/3D surfaces +- */ +-typedef volatile struct +-{ +- U032 reserved00[4]; +- U016 FifoFree; +- U016 Nop; +- U032 reserved01[0x0BE]; +- U032 Offset; +-} RivaSurface; +-typedef volatile struct +-{ +- U032 reserved00[4]; +- U016 FifoFree; +- U016 Nop; +- U032 reserved01[0x0BD]; +- U032 Pitch; +- U032 RenderBufferOffset; +- U032 ZBufferOffset; +-} RivaSurface3D; +- +-/***************************************************************************\ +-* * +-* Virtualized RIVA H/W interface. * +-* * +-\***************************************************************************/ +- +-struct _riva_hw_inst; +-struct _riva_hw_state; +-/* +- * Virtialized chip interface. Makes RIVA 128 and TNT look alike. +- */ +-typedef struct _riva_hw_inst +-{ +- /* +- * Chip specific settings. +- */ +- U032 Architecture; +- U032 Version; +- U032 CrystalFreqKHz; +- U032 RamAmountKBytes; +- U032 MaxVClockFreqKHz; +- U032 RamBandwidthKBytesPerSec; +- U032 EnableIRQ; +- U032 IO; +- U032 VBlankBit; +- U032 FifoFreeCount; +- U032 FifoEmptyCount; +- /* +- * Non-FIFO registers. +- */ +- volatile U032 *PCRTC; +- volatile U032 *PRAMDAC; +- volatile U032 *PFB; +- volatile U032 *PFIFO; +- volatile U032 *PGRAPH; +- volatile U032 *PEXTDEV; +- volatile U032 *PTIMER; +- volatile U032 *PMC; +- volatile U032 *PRAMIN; +- volatile U032 *FIFO; +- volatile U032 *CURSOR; +- volatile U032 *CURSORPOS; +- volatile U032 *VBLANKENABLE; +- volatile U032 *VBLANK; +- volatile U008 *PCIO; +- volatile U008 *PVIO; +- volatile U008 *PDIO; +- /* +- * Common chip functions. +- */ +- int (*Busy)(struct _riva_hw_inst *); +- void (*CalcStateExt)(struct _riva_hw_inst *,struct _riva_hw_state *,int,int,int,int,int,int,int,int,int,int,int,int,int); +- void (*LoadStateExt)(struct _riva_hw_inst *,struct _riva_hw_state *); +- void (*UnloadStateExt)(struct _riva_hw_inst *,struct _riva_hw_state *); +- void (*SetStartAddress)(struct _riva_hw_inst *,U032); +- void (*SetSurfaces2D)(struct _riva_hw_inst *,U032,U032); +- void (*SetSurfaces3D)(struct _riva_hw_inst *,U032,U032); +- int (*ShowHideCursor)(struct _riva_hw_inst *,int); +- void (*LockUnlock)(struct _riva_hw_inst *, int); +- /* +- * Current extended mode settings. +- */ +- struct _riva_hw_state *CurrentState; +- /* +- * FIFO registers. +- */ +- RivaRop *Rop; +- RivaPattern *Patt; +- RivaClip *Clip; +- RivaPixmap *Pixmap; +- RivaScreenBlt *Blt; +- RivaBitmap *Bitmap; +- RivaLine *Line; +- RivaTexturedTriangle03 *Tri03; +- RivaTexturedTriangle05 *Tri05; +-} RIVA_HW_INST; +-/* +- * Extended mode state information. +- */ +-typedef struct _riva_hw_state +-{ +- U032 bpp; +- U032 width; +- U032 height; +- U032 repaint0; +- U032 repaint1; +- U032 screen; +- U032 pixel; +- U032 horiz; +- U032 arbitration0; +- U032 arbitration1; +- U032 vpll; +- U032 pllsel; +- U032 general; +- U032 config; +- U032 cursor0; +- U032 cursor1; +- U032 cursor2; +- U032 offset0; +- U032 offset1; +- U032 offset2; +- U032 offset3; +- U032 pitch0; +- U032 pitch1; +- U032 pitch2; +- U032 pitch3; +-} RIVA_HW_STATE; +- +-/* +- * FIFO Free Count. Should attempt to yield processor if RIVA is busy. +- */ +- +-#define RIVA_FIFO_FREE(hwptr,cnt) \ +-{ \ +- while (FifoFreeCount < (cnt)) \ +- FifoFreeCount = hwptr->FifoFree >> 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-multilib/lib32-sdl-libre/libsdl-1.2.15-resizing.patch b/libre-multilib/lib32-sdl-libre/libsdl-1.2.15-resizing.patch new file mode 100644 index 000000000..0655a13e1 --- /dev/null +++ b/libre-multilib/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 <acaudwell@gmail.com> +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-multilib/lib32-sdl-libre/sdl-1.2.14-disable-mmx.patch b/libre-multilib/lib32-sdl-libre/sdl-1.2.14-disable-mmx.patch new file mode 100644 index 000000000..1bb6e0e47 --- /dev/null +++ b/libre-multilib/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-multilib/lib32-sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch b/libre-multilib/lib32-sdl-libre/sdl-1.2.14-fix-mouse-clicking.patch new file mode 100644 index 000000000..7d3e5acfc --- /dev/null +++ b/libre-multilib/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-multilib/pcsx2-libre/PKGBUILD b/libre-multilib/pcsx2-libre/PKGBUILD new file mode 100644 index 000000000..1be2e2cb6 --- /dev/null +++ b/libre-multilib/pcsx2-libre/PKGBUILD @@ -0,0 +1,63 @@ +# $Id: PKGBUILD 105845 2014-02-16 10:30:11Z alucryd $ +# Maintainer: Maxime Gauduin <alucryd@gmail.com> +# Contributor: josephgbr <rafael.f.f1@gmail.com> +# Contributor: vEX <vex@niechift.com> + +_pkgname=pcsx2 +pkgname=$_pkgname-libre +pkgver=1.2.2 +pkgrel=1 +pkgdesc='A Sony PlayStation 2 emulator, without nonfree nvidia-cg-toolkit support' +arch=('i686' 'x86_64') +url='http://www.pcsx2.net' +license=('GPL2' 'GPL3' 'LGPL2.1' 'LGPL3') +makedepends=('cmake' 'sparsehash') +if [[ $CARCH == "i686" ]]; then + depends=('glew' 'libaio' 'libcanberra' 'libjpeg-turbo' 'portaudio' 'sdl2' 'soundtouch' 'wxgtk2.8') +elif [[ $CARCH == "x86_64" ]]; then + makedepends+=('gcc-multilib' 'lib32-glew' 'lib32-libaio' 'lib32-libcanberra' 'lib32-libjpeg-turbo' 'lib32-mesa-libgl' 'lib32-portaudio' 'lib32-sdl2' 'lib32-soundtouch' 'lib32-wxgtk2.8') +fi +provides=("$_pkgname=$pkgver") +conflicts=("$_pkgname") +replaces=("$_pkgname") +options=('!emptydirs') +source=("https://github.com/PCSX2/pcsx2/archive/v${pkgver}.tar.gz") +sha256sums=('4fccef58098d099ffe955fadd5ceee78ed063ab585b8772f4242fd6dc5fd2d23') + +prepare() { + cd ${_pkgname}-${pkgver} + # remove Cg shader on ZZogl plugin + sed -i '\|zzogl-pg-cg| s|^|#|' plugins/CMakeLists.txt +} + +build() { + cd ${_pkgname}-${pkgver} + + if [[ -d build ]]; then + rm -rf build + fi + mkdir build && cd build + + if [[ $CARCH == "i686" ]]; then + cmake .. -DCMAKE_INSTALL_PREFIX='/usr' -DCMAKE_BUILD_TYPE='Release' -D{GLSL_API,PACKAGE_MODE,REBUILD_SHADER,SDL2_API,XDG_STD}=TRUE -DPLUGIN_DIR='/usr/lib/pcsx2' -DGAMEINDEX_DIR='/usr/share/pcsx2' -DwxWidgets_CONFIG_EXECUTABLE='/usr/bin/wx-config-2.8' -DwxWidgets_wxrc_EXECUTABLE='/usr/bin/wxrc-2.8' + elif [[ $CARCH == "x86_64" ]]; then + export CC='gcc -m32' + export CXX='g++ -m32' + export PKG_CONFIG_PATH='/usr/lib32/pkgconfig' + cmake .. -DCMAKE_INSTALL_PREFIX='/usr' -DCMAKE_BUILD_TYPE='Release' -D{GLSL_API,PACKAGE_MODE,REBUILD_SHADER,SDL2_API,XDG_STD}=TRUE -DPLUGIN_DIR='/usr/lib32/pcsx2' -DGAMEINDEX_DIR='/usr/share/pcsx2' -DwxWidgets_CONFIG_EXECUTABLE='/usr/bin/wx-config32-2.8' -DwxWidgets_wxrc_EXECUTABLE='/usr/bin/wxrc32-2.8' -DCMAKE_LIBRARY_PATH='/usr/lib32' + fi + + make +} + +package() { + cd ${_pkgname}-${pkgver}/build + + if [[ $CARCH == "x86_64" ]]; then + depends=('lib32-glew' 'lib32-libaio' 'lib32-libcanberra' 'lib32-libjpeg-turbo' 'lib32-portaudio' 'lib32-sdl2' 'lib32-soundtouch' 'lib32-wxgtk2.8') + fi + + make DESTDIR="${pkgdir}" install +} + +# vim: ts=2 sw=2 et: diff --git a/libre-multilib/wine-libre/30-win32-aliases.conf b/libre-multilib/wine-libre/30-win32-aliases.conf new file mode 100644 index 000000000..99ae1f7b8 --- /dev/null +++ b/libre-multilib/wine-libre/30-win32-aliases.conf @@ -0,0 +1,20 @@ +<?xml version="1.0"?> +<!DOCTYPE fontconfig SYSTEM "fonts.dtd"> +<fontconfig> + <alias binding="same"> + <family>MS Shell Dlg</family> + <accept><family>Microsoft Sans Serif</family></accept> + <default><family>sans-serif</family></default> + </alias> + <alias binding="same"> + <family>MS Shell Dlg 2</family> + <accept><family>Tahoma</family></accept> + <default><family>sans-serif</family></default> + </alias> + + <alias binding="same"> + <family>MS Sans Serif</family> + <prefer><family>Microsoft Sans Serif</family></prefer> + <default><family>sans-serif</family></default> + </alias> +</fontconfig> diff --git a/libre-multilib/wine-libre/PKGBUILD b/libre-multilib/wine-libre/PKGBUILD new file mode 100644 index 000000000..89c5d4d14 --- /dev/null +++ b/libre-multilib/wine-libre/PKGBUILD @@ -0,0 +1,182 @@ +# $Id: PKGBUILD 105618 2014-02-12 02:15:42Z svenstaro $ +# Maintainer: Sven-Hendrik Haase <sh@lutzhaase.com> +# Contributor: Jan "heftig" Steffens <jan.steffens@gmail.com> +# Contributor: Eduardo Romero <eduardo@archlinux.org> +# Contributor: Giovanni Scafora <giovanni@archlinux.org> +# Maintainer (Parabola): André Silva <emulatorman@parabola.nu> + +_pkgname=wine +pkgname=wine-libre +pkgver=1.7.12 +pkgrel=2 + +_pkgbasever=${pkgver/rc/-rc} + +source=(http://prdownloads.sourceforge.net/$_pkgname/$_pkgname-$_pkgbasever.tar.bz2{,.sign} + 30-win32-aliases.conf) +md5sums=('ce32c886af1c8a4e824e8dc1a01c5703' + 'SKIP' + '1ff4e467f59409272088d92173a0f801') + +pkgdesc="A compatibility layer for running Windows programs, with mesa-libcl support" +url="http://www.winehq.com" +arch=(i686 x86_64) +options=(staticlibs) +license=(LGPL) +install=wine.install +provides=$_pkgname=$pkgver +conflicts=$_pkgname +replaces=$_pkgname + +_depends=( + fontconfig lib32-fontconfig + libxcursor lib32-libxcursor + libxrandr lib32-libxrandr + libxdamage lib32-libxdamage + libxi lib32-libxi + gettext lib32-gettext + freetype2 lib32-freetype2 + glu lib32-glu + libsm lib32-libsm + gcc-libs lib32-gcc-libs + desktop-file-utils +) + +makedepends=(autoconf ncurses bison perl fontforge flex prelink + 'gcc>=4.5.0-2' 'gcc-multilib>=4.5.0-2' + giflib lib32-giflib + libpng lib32-libpng + gnutls lib32-gnutls + libxinerama lib32-libxinerama + libxcomposite lib32-libxcomposite + libxmu lib32-libxmu + libxxf86vm lib32-libxxf86vm + libxml2 lib32-libxml2 + libldap lib32-libldap + lcms2 lib32-lcms2 + mpg123 lib32-mpg123 + openal lib32-openal + v4l-utils lib32-v4l-utils + alsa-lib lib32-alsa-lib + libxcomposite lib32-libxcomposite + mesa lib32-mesa + mesa-libgl lib32-mesa-libgl + mesa-libcl lib32-mesa-libcl + samba + opencl-headers +) + +optdepends=( + giflib lib32-giflib + libpng lib32-libpng + libldap lib32-libldap + gnutls lib32-gnutls + lcms2 lib32-lcms2 + libxml2 lib32-libxml2 + mpg123 lib32-mpg123 + openal lib32-openal + v4l-utils lib32-v4l-utils + libpulse lib32-libpulse + alsa-plugins lib32-alsa-plugins + alsa-lib lib32-alsa-lib + libjpeg-turbo lib32-libjpeg-turbo + libxcomposite lib32-libxcomposite + libxinerama lib32-libxinerama + ncurses lib32-ncurses + mesa-libcl lib32-mesa-libcl + cups + samba dosbox +) + +if [[ $CARCH == i686 ]]; then + # Strip lib32 etc. on i686 + _depends=(${_depends[@]/*32-*/}) + makedepends=(${makedepends[@]/*32-*/} ${_depends[@]}) + makedepends=(${makedepends[@]/*-multilib*/}) + optdepends=(${optdepends[@]/*32-*/}) +else + makedepends=(${makedepends[@]} ${_depends[@]}) + provides+=("bin32-wine=$pkgver" "wine-wow64=$pkgver") + conflicts+=('bin32-wine' 'wine-wow64') + replaces+=('bin32-wine') +fi + +depends=(${_depends[@]}) + +build() { + cd "$srcdir" + + # Allow ccache to work + mv $_pkgname-$_pkgbasever $_pkgname + + # ncurses fix + sed -i 's|libncurses|libncursesw|g' "$srcdir/$_pkgname/configure" + sed -i 's|lncurses|lncursesw|g' "$srcdir/$_pkgname/configure" + + # Get rid of old build dirs + rm -rf $_pkgname-{32,64}-build + mkdir $_pkgname-32-build + + # These additional CPPFLAGS solve FS#27662 and FS#34195 + export CPPFLAGS="${CPPFLAGS/-D_FORTIFY_SOURCE=2/} -D_FORTIFY_SOURCE=0" + + if [[ $CARCH == x86_64 ]]; then + msg2 "Building Wine-64..." + + mkdir $_pkgname-64-build + cd "$srcdir/$_pkgname-64-build" + ../$_pkgname/configure \ + --prefix=/usr \ + --libdir=/usr/lib \ + --with-x \ + --without-gstreamer \ + --enable-win64 + # Gstreamer was disabled for FS#33655 + + make + + _wine32opts=( + --libdir=/usr/lib32 + --with-wine64="$srcdir/$_pkgname-64-build" + ) + + export PKG_CONFIG_PATH="/usr/lib32/pkgconfig" + fi + + msg2 "Building Wine-32..." + cd "$srcdir/$_pkgname-32-build" + ../$_pkgname/configure \ + --prefix=/usr \ + --with-x \ + --without-gstreamer \ + "${_wine32opts[@]}" + + # These additional flags solve FS#23277 + make CFLAGS+="-mstackrealign -mincoming-stack-boundary=2" CXXFLAGS+="-mstackrealign -mincoming-stack-boundary=2" +} + +package() { + msg2 "Packaging Wine-32..." + cd "$srcdir/$_pkgname-32-build" + + if [[ $CARCH == i686 ]]; then + make prefix="$pkgdir/usr" install + else + make prefix="$pkgdir/usr" \ + libdir="$pkgdir/usr/lib32" \ + dlldir="$pkgdir/usr/lib32/wine" install + + msg2 "Packaging Wine-64..." + cd "$srcdir/$_pkgname-64-build" + make prefix="$pkgdir/usr" \ + libdir="$pkgdir/usr/lib" \ + dlldir="$pkgdir/usr/lib/wine" install + fi + + # Font aliasing settings for Win32 applications + install -d "$pkgdir"/etc/fonts/conf.{avail,d} + install -m644 "$srcdir/30-win32-aliases.conf" "$pkgdir/etc/fonts/conf.avail" + ln -s ../conf.avail/30-win32-aliases.conf "$pkgdir/etc/fonts/conf.d/30-win32-aliases.conf" +} + +# vim:set ts=8 sts=2 sw=2 et: diff --git a/libre-multilib/wine-libre/wine.install b/libre-multilib/wine-libre/wine.install new file mode 100644 index 000000000..21dda162b --- /dev/null +++ b/libre-multilib/wine-libre/wine.install @@ -0,0 +1,12 @@ +post_install() { + update-desktop-database -q + #echo "This wine package is wow64 enabled. This means it can run 32bit/64bit Windows apps on x86_64." + #echo "If you are on x86_64, the default WINEARCH will be win64." + #echo "This will cause a lot of Windows applications to malfunction even if they usually work in wine." + #echo "Please create your ~/.wine with 'WINEARCH=win32 winecfg' if you are unsure and on x86_64." + #echo "See the Parabola wiki on wine for more information." +} + +post_remove() { + update-desktop-database -q +} |